Skip to content
Permalink
Browse files

Einstein now compiles and runs using VisualStudio 8 (2005). There are…

… still a lot of issues, but the basic setup seems to be working quite well. In particular, the timer issues are solved.

- screen size can be set with --width and --height
- screen can be rotated

There are a few warnings with this version:
- the debug version is very slow
- the release version is faster, but takes about 45min. to compile
- the emulator crashes when quitting
- after a crash, we must recalibrate the screen which is not possible for some reason (probably accessing hardware directly before the driver is loaded?) so we loose our flash contents!
- no sound yet
- no GUI yet
- no monitor/debugger
  • Loading branch information...
Matthias Melcher
Matthias Melcher committed Jul 13, 2007
1 parent 70e9a94 commit 19572dce7efa870270bcac52738a562e42b9a82b
Showing with 1,858 additions and 141 deletions.
  1. +6 −6 Emulator/Host/THostInfo.cp
  2. +2 −2 Emulator/Host/THostInfo.h
  3. +2 −2 Emulator/JIT/TJITCache.h
  4. +4 −4 Emulator/Log/TBufferLog.cp
  5. +6 −6 Emulator/NativeCalls/TNativeCalls.cp
  6. +4 −4 Emulator/Platform/TPlatformManager.h
  7. +5 −5 Emulator/ROM/TAIFROMImageWithREXes.cp
  8. +5 −5 Emulator/ROM/TFlatROMImage.cp
  9. +5 −5 Emulator/ROM/TFlatROMImageWithREX.cp
  10. +4 −4 Emulator/ROM/TROMImage.cp
  11. +2 −2 Emulator/ROM/TROMImage.h
  12. +375 −0 Emulator/Screen/TFLScreenManager.cp
  13. +174 −0 Emulator/Screen/TFLScreenManager.h
  14. +3 −4 Emulator/Serial/TVoyagerSerialPort.cp
  15. +2 −2 Emulator/Sound/TNullSoundManager.cp
  16. +2 −2 Emulator/Sound/TSoundManager.cp
  17. +2 −3 Emulator/TARMProcessor.cp
  18. +3 −4 Emulator/TEmulator.cp
  19. +3 −3 Emulator/THashMapCache.h
  20. +30 −10 Emulator/TInterruptManager.cp
  21. +2 −3 Emulator/TMMU.h
  22. +3 −4 Emulator/TMemory.cp
  23. +2 −3 Emulator/TMemory.h
  24. +6 −7 Emulator/TNativePrimitives.cp
  25. +5 −5 Monitor/TMonitor.cp
  26. +1 −1 Monitor/TMonitor.h
  27. +2 −2 Monitor/UDisasm.cp
  28. +25 −5 _Build_/VisualC8/Einstein/Einstein.vcproj
  29. +13 −11 _Build_/VisualC8/EinsteinTests/EinsteinTests.vcproj
  30. +12 −7 _Build_/VisualC8/README.txt
  31. +16 −4 _Build_/VisualC8/libeinstein/libeinstein.vcproj
  32. +2 −2 _Tests_/UHostInfoTests.cp
  33. +4 −5 _Tests_/UMemoryTests.cp
  34. +4 −5 _Tests_/UProcessorTests.cp
  35. +4 −4 _Tests_/UScreenTests.cp
  36. +527 −0 app/TFLApp.cp
  37. +189 −0 app/TFLApp.h
  38. +321 −0 libffi-win32/include/ffi.h
  39. +81 −0 libffi-win32/include/ffitarget.h
@@ -37,13 +37,13 @@
#include <string.h>

#if TARGET_OS_WIN32
# include <windows.h>
# include "CompatibilityWin32.h"
# include <time.h>
#include <windows.h>
#include "CompatibilityWin32.h"
#include <time.h>
#else
# include <unistd.h>
# include <sys/time.h>
# include <pwd.h>
#include <unistd.h>
#include <sys/time.h>
#include <pwd.h>
#endif

// K
@@ -32,9 +32,9 @@

// Einstein
#if TARGET_OS_WIN32
# include "UserInfoDefinitionsLF.h"
#include "UserInfoDefinitionsLF.h"
#else
# include "UserInfoDefinitions.h"
#include "UserInfoDefinitions.h"
#endif

///
@@ -35,9 +35,9 @@

// STL/GCC ext.
#if TARGET_OS_WIN32
# include <hash_map>
#include <hash_map>
#else
# include <ext/hash_map>
#include <ext/hash_map>
#endif

class TMemory;
@@ -29,11 +29,11 @@
#include <sys/types.h>

#if TARGET_OS_WIN32
# include "CompatibilityWin32.h"
# include <io.h>
#include "CompatibilityWin32.h"
#include <io.h>
#else
# include <sys/uio.h>
# include <unistd.h>
#include <sys/uio.h>
#include <unistd.h>
#endif

// -------------------------------------------------------------------------- //
@@ -32,9 +32,9 @@
#include <string.h>

#if TARGET_OS_WIN32
# include "CompatibilityWin32.h"
# include <stdlib.h>
# include <assert.h>
#include "CompatibilityWin32.h"
#include <stdlib.h>
#include <assert.h>
ffi_type ffi_type_uint8; // FIXME these shoudl be in libffi
ffi_type ffi_type_sint8;
ffi_type ffi_type_uint16;
@@ -43,9 +43,9 @@
ffi_type ffi_type_sint32;
ffi_type ffi_type_pointer;
#else
# include <dlfcn.h>
# include <libgen.h>
# include <dirent.h>
#include <dlfcn.h>
#include <libgen.h>
#include <dirent.h>
#endif

// Einstein
@@ -28,11 +28,11 @@

// Einstein
#if TARGET_OS_WIN32
# include "PlatformEventsLF.h"
# include "Emulator/Host/UserInfoDefinitionsLF.h"
#include "PlatformEventsLF.h"
#include "Emulator/Host/UserInfoDefinitionsLF.h"
#else
# include "PlatformEvents.h"
# include "Emulator/Host/UserInfoDefinitions.h"
#include "PlatformEvents.h"
#include "Emulator/Host/UserInfoDefinitions.h"
#endif

class TInterruptManager;
@@ -32,12 +32,12 @@
#include <stdlib.h>

#if TARGET_OS_WIN32
# include "CompatibilityWin32.h"
# include <io.h>
#include "CompatibilityWin32.h"
#include <io.h>
#else
# include <sys/uio.h>
# include <unistd.h>
# include <sys/param.h>
#include <sys/uio.h>
#include <unistd.h>
#include <sys/param.h>
#endif

// K
@@ -32,12 +32,12 @@
#include <stdio.h>

#if TARGET_OS_WIN32
# include "CompatibilityWin32.h"
# include <io.h>
#include "CompatibilityWin32.h"
#include <io.h>
#else
# include <sys/uio.h>
# include <unistd.h>
# include <sys/param.h>
#include <sys/uio.h>
#include <unistd.h>
#include <sys/param.h>
#endif

// ISO C++
@@ -32,12 +32,12 @@
#include <stdio.h>

#if TARGET_OS_WIN32
# include "CompatibilityWin32.h"
# include <io.h>
#include "CompatibilityWin32.h"
#include <io.h>
#else
# include <sys/uio.h>
# include <unistd.h>
# include <sys/param.h>
#include <sys/uio.h>
#include <unistd.h>
#include <sys/param.h>
#endif

// -------------------------------------------------------------------------- //
@@ -34,11 +34,11 @@
#include <string.h>

#if TARGET_OS_WIN32
# include "CompatibilityWin32.h"
# include <io.h>
#include "CompatibilityWin32.h"
#include <io.h>
#else
# include <sys/uio.h>
# include <unistd.h>
#include <sys/uio.h>
#include <unistd.h>
#endif

// K
@@ -28,9 +28,9 @@

// POSIX & ANSI C
#if TARGET_OS_WIN32
# include <time.h>
#include <time.h>
#else
# include <sys/time.h>
#include <sys/time.h>
#endif

// Einstein

0 comments on commit 19572dc

Please sign in to comment.
You can’t perform that action at this time.