These are most of the changes made to the original v2600 source code necessary to compile on Amiga using SAS/C. I don't like warnings... Version 0.5: config.h: #define inline SAS/C optimization automatically inlines #define TIME_WITH_SYS_TIME doesn't exist with SAS/C #define Verbose 0 I don't want debugging info... #define WORDS_BIGENDIAN 1 Amiga runs on Motorola 68000 #define HAVE_ATEXIT 1 all other defines set to 0 I don't have these things... types.h: #include Amiga type declarations deleted BYTE typedef That BYTE definition should be UBYTE, i.e. typedef unsigned char UBYTE; vmachine.h: all BYTEs changed to UBYTEs see types.h collision.h: all BYTEs changed to UBYTEs see types.h display.h: all BYTEs changed to UBYTEs see types.h exmacro.h: all BYTEs changed to UBYTEs see types.h extern.h: all BYTEs changed to UBYTEs see types.h memory.h: all BYTEs changed to UBYTEs see types.h misc.h: all BYTEs changed to UBYTEs see types.h sound.h: all BYTEs changed to UBYTEs see types.h raster.c: #include prototype for memcpy() all BYTEs changed to UBYTEs see types.h misc.c: all BYTEs changed to UBYTEs see types.h files.c: #include prototype for exit() all BYTEs changed to UBYTEs see types.h added "return 1" to loadc26 I just don't like warnings... vmachine.c: #include prototype for memcpy() all BYTEs changed to UBYTEs see types.h memory.c: #include so we can undefine inline #include prototype for memcpy() all BYTEs changed to UBYTEs see types.h cpu.c: all BYTEs changed to UBYTEs see types.h changed #include to #include "types.h" so types match all other modules exmacro.c: all BYTEs changed to UBYTEs see types.h type-cast ADDRESS in load_abs_addr warnings again... keyboard.c: #include protoype for exit() all BYTEs changed to UBYTEs see types.h collision.c: all BYTEs changed to UBYTEs see types.h options.c: This was the messy one... added /n's to copyright and usage SAS/C didn't like the other way added -k to choose keyboard It wasn't there eliminiated X11 stuff from usage I had to put /n's in there anyway... wrote a generic command parser I don't have getopt() made real joystick default Most Amigans have them made no sound default Haven't implemented sound yet... made no debug default Personal preference removed base_usage function I don't know why it's there removed -t option Don't need it main.c: moved the atexit stuff to top memory wasted when ROM wouldn't load I added a no_limiter.c. The Amiga graphics driver I'm using automatically syncs up to the vertical blank, so no fancy timing tricks are necessary. It would be impossible to go faster than the vertical blank, which will be 60 Hz on NTSC Amigas and 50Hz on PAL Amigas. I wrote a v2600.readme to replace the v2600.man. Not many Amiga users have man. I also wrote a README.Amiga which adds some Amiga details. Version 0.6: Almost completely rewrote config.c. Renamed to amiga_config.c. Added some options, took away many that didn't apply to Amiga. Changed quite a bit of raster.c. Renamed to amiga_raster.c. Took all debug stuff out of cpu.c. Removed references to base_opts.magstep from several modules. Slimmed down cpu.c. Renamed to amiga_cpu.c. Took out all cases for illegal opcode and made illegal opcode the default. Took out some X64 stuff. Remarked out the printf in the RSYNC case in memory.c. It happens a lot... Made the printf in vmachine about ROM size dependent on Verbose define. Moved Amiga mouse routines to amiga_disp.c for OS-proper window relative stuff.