home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Amiga 5 / MA_Cover_5.iso / ppc / atari / atari800-0.8.6 / changes < prev    next >
Encoding:
Text File  |  1998-05-10  |  33.9 KB  |  840 lines

  1. Changes in 0.8.6
  2. ----------------
  3.  
  4. o improved IRQ handling in CPU (CLI instruction) - now Rescue on Fractalus
  5.   reacts on keyboard presses
  6.  
  7. o real DMA sound with interrupt driven recalculation for Falcon using Ron Fries
  8.   POKEY 2.3
  9.  
  10. o DOS keyboard fixed HASH mark (Shift-3)
  11.  
  12. o Falcon keyboard fixed joystick emulation
  13.  
  14. o DOS version starts even when sound card is not initialized (emulator is now
  15.   able to run under WindowsNT 4.0)
  16.  
  17. o Falcon detects current video mode and doesn't touch VIDEL if it's 320x240x8bp
  18.  
  19. o fixed little typo in BACK_SLASH (thanks Perry)
  20.  
  21. o improved DOS and Falcon keyboard emulation (common KEYPRESSED and SHIFT_KEY)
  22.   DOS version now recognizes extended keys properly - joystick emulation is OK
  23.   (Chimera, BruceLee and others are now playable)
  24.  
  25. o XL operating system is turned on in Coldstart routine.
  26.  
  27. o keyboard IRQ are set only if allowed by IRQEN
  28.  
  29. o DOS port emulates TAB and HELP key (HELP is mapped to F10 - not optimal,
  30.   should be changed to another key - perhaps F6, which is useless in XL mode)
  31.  
  32. o DOS port has faster screen update with dosmemputl (Perry)
  33.  
  34. o files on virtual drive are opened in binary mode (Perry)
  35.   and are listed in uppercase (Raster's suggestion)
  36.  
  37. o fixed bug in SIO_Mount causing crashes when mounting drives in Disk management
  38.  
  39. o in System menu (F1) copy font from operating system and not from shadow RAM
  40.   (another XL related bug fix)
  41.  
  42. o added support for '\\' in file paths (see #define BACK_SLASH)
  43.  
  44. Changes in 0.8.4
  45. ----------------
  46.  
  47. o fixed bug in vertical scrolling (visible for example in Archon intro) - 
  48.   thanks to Perry McFarlane
  49.  
  50.  
  51. o DMA sound for Falcon version (using POKEY 2.2). Buffer recalculation is
  52.   not interrupt driven yet.
  53.  
  54. o Error messages are buffered until the original text mode is restored
  55.   (see #define BACKUP_MSG)
  56.  
  57. o Falcon version supports up to two joysticks
  58.  
  59. o Snailmeter :-) A kind of indicator for slow machines - it shows you
  60.   how many times is the emulator slower than real Atari800. On my
  61.   Afterburner (68040 @ 40 MHz) it's about three or four times slower
  62.   than original :-( If your machine is fast enough, the snailmeter
  63.   is not visible. So watch the lower bottom of screen! :-)
  64.  
  65. Changes in 0.8.3
  66. ----------------
  67.  
  68. o Radek Sterba (raster@infos.cz) did a marvelous work on discovering
  69.   unofficial 6502 instructions. This CPU.C has implemented _all_ 256
  70.   opcodes! He added more than 70 unofficial instructions, many of them
  71.   were even unkown before. ESC code had to be changed from 0xff to 0xf2
  72.   (0xff is a kind of 'regular' instruction, while 0xf2 is the CIM).
  73.   Atari800 is the world's first 6502 emulator with full instruction set!
  74.   100% software compatibility with original 6502.
  75.  
  76. o I've integrated his code and fixed JMP (addr) for addr crossing 
  77.   page boundary (6502 was 'buggy', though 65C02 should had this fixed).
  78.  
  79. o IRQ variable has been changed from int to UBYTE (for C it shouldn't matter
  80.   and it helps in the m68k asm code).
  81.  
  82. o Disk images created by XFormer and its utilities (having extension
  83.   .XFD or .DD) may be of double density - I implemented it in sio.c
  84.   (see #ifdef ORIGINAL_XFD_CODE). Tested and works (glad to get it working,
  85.   because I have a lot of XFD images).
  86.  
  87. o In DOS/VGA version you can move the 320x200 screen around with Ctrl-Arrows
  88.   to see full 384x240 resolution of original Atari800. To restore the VGA
  89.   screen back to center press F10.
  90.  
  91. o DOS/VGA version supports one real PC joystick (emulated in port 1).
  92.   You still can use the numeric keypad as emulated joystick - by default
  93.   in port 1, or in port 2 with "-joyswap" command line switch. Joystick
  94.   doesn't have the ghost-moves (interrupts are disabled during joy reading).
  95.   Also joystick is not read whenever the Atari800 wants it, but only in the
  96.   keyboard routine (i.e. regularly 50 times per second, basically in VBL).
  97.   This was important to prevent a game reading joy port too often to hang
  98.   or slow the emulation down (reading of PC joystick takes some time).
  99.  
  100. o DOS port has finally got wonderfully clear sound, thanks to Ron Fries'
  101.   SoundBlaster Driver 1.2 and new, little/big-endian aware POKEY 2.2 routines.
  102.  
  103. o New monitor S command for searching a value in memory.
  104.  
  105. o The best news: found the reason why so many games didn't work in XL mode.
  106.   Fixed one MMU bug (XL didn't have TRIG2 and TRIG3 was connected to
  107.   cartridge) and introduced one MMU workaround (many 800-only games put
  108.   zero to PORTB. That's why Tapper and other games didn't work). Now the
  109.   compatibility ratio of Atari800 in XL/XE mode is at 97% or higher - 
  110.   definitely the most compatible Atari800/XL/XE emulator in the world.
  111.  
  112.  
  113. Changes in 0.8.2Petr
  114. ----------------
  115.  
  116. o Fixed wrong missile width (all missiles had the same width) - now River
  117.   Raid looks much better.
  118.  
  119. o Added 28 cycles in Antic after executing DLI - it was absolutely needed,
  120.   because otherwise the interrupt routine was executed too late and the
  121.   effects (color or font change) occured with another Antic line - now
  122.   Pitfall II has the score displayed in numbers and not in characters.
  123.  
  124. o Added several checks into SIO code for seeking() after end of file - 
  125.   on Falcon it caused enlarging of disk images (for example the well
  126.   known MENU.ATR has original size 1296 bytes, but after rebooting
  127.   of Atari800 the file was enlarged to 2598672 bytes). Maybe it's
  128.   a hidden endianess problem in SIO code? It happened on Amiga, too.
  129.  
  130. o Added a method of invoking Monitor - by pressing the F8 key anytime
  131.   during emulation.
  132.  
  133. o Added BREAK command into Monitor. Now it's possible to enter monitor,
  134.   use command BREAK <addr> and then CONT. The emulator then runs until
  135.   the PC (program counter) is exactly <addr>. Then the monitor is invoked
  136.   again.
  137.  
  138. o DOS version has got joystick support and also sound support using Ron
  139.   Fries Pokey Emulation 2.0. The joystick is OK, but the sound is not
  140.   clear - need to change to interrupt driven sound buffer generating.
  141.  
  142. o Atari800 has been ported to Atari Falcon (32-bit machine with MC68030
  143.   or MC68040 and flexible graphics processor). Besides the port this
  144.   Falcon version contains special CPU 6502 emulation written in pure
  145.   MC68030 assembler by Empty Head (Karel Rous), special very fast routines
  146.   for chunky2planar conversion (written by Douglas Little @ Black Scorpion)
  147.   and special code for VIDEL programming (provided by Douglas as well).
  148.   The keyboard and joystick emulation, the port itself and the fixes 
  149.   mentioned above were done by me, Petr Stehlik (stehlik@cas3.zlin.vutbr.cz).
  150.  
  151. Changes in 0.8.2David
  152. ----------------
  153.  
  154. o New Monitor READ command to load file into memory.
  155. o New Monitor COLDSTART command to perform a coldstart.
  156. o New Monitor WARMSTART command to perform a warmstart.
  157. o New Monitor F command to fill memory range with a value.
  158. o Prevention of "config.h" being included during compilation for Amiga.
  159. o Improved MS-DOS keyboard handling. The most noticable difference is
  160.   that the keypad joystick emulation now returns to centre when the
  161.   key is released.
  162. o Re-instated replacement OS - Allows Defender and Star Raider to
  163.   run without the Atari OS Roms.
  164. o Added Atari Falcon Support - Thanks to Petr Stehlik.
  165. o NAS (Network Audio System) support is now obsolete. The entries have
  166.   been removed from the makefile and the intention is to remove the
  167.   obsolete code before the next release.
  168.  
  169. Changes in 0.8.1
  170. ----------------
  171.  
  172. o Added -private_cmap flag for X11 version.
  173.  
  174. o Correction to handling of 6502 V flag during ADC and SBC operations.
  175.  
  176. Changes in 0.8.0
  177. ----------------
  178.  
  179. o Added Ron Fries Pokey Emulation routines for sound in Linux.
  180.   A million thanks to Ron for releasing these routines - I've
  181.   put off using sound for ages but it took less than an evening
  182.   to add sound using these routines :-)
  183.  
  184.   Sound is setup for Linux using /dev/dsp but it also seems to
  185.   produce something using /dev/audio, which leads me to believe
  186.   that it should work on most Unix boxes with a little work.
  187.   Patches welcomed :-)
  188.  
  189.   In order to support sound I've added a few new command line
  190.   options:-
  191.  
  192.   -sound and -nosound do what you'd expect.
  193.  
  194.   -dsp_divisor takes a decimal value which alters the quality of
  195.                the sound output. It is used to work out how much
  196.                sound should be created each time the screen is
  197.                refreshed. Ideally it should be 50 (PAL) or 60 (NTSC)
  198.                but I've found that the best value to use is about
  199.                5 less than the emulators screen refresh rate WITH
  200.                SOUND DISABLED. If the values is to high you will
  201.                get gaps in the sound. If the value is to low the
  202.                emulator will run slower than it should.
  203.  
  204.                I strongly suggest you experiment with this parameter
  205.                in order to get both the best sound and performance.
  206.  
  207. o Support for an Experimental New Cartridge Format - with the use of
  208.   OSS Super Cartridges there is no way of automatically
  209.   distinguishing standard 16K cartridges from the various Super
  210.   Cartridges. Hopefully this format will do for cartridges what ATR
  211.   files did for disk images. Feedback and view would be welcomed
  212.   especially from the other Emulator Authors.
  213.  
  214.   The current format is :-
  215.  
  216.   first 4 bytes containing 'C' 'A' 'R' 'T'.
  217.   next 4 bytes containing cartridge type in MSB format.
  218.  
  219.     Type 1 - Standard 8K Cartridge
  220.     Type 2 - Standard 16K Cartridge
  221.     Type 3 - OSS Super Cartridge (I heard rumours that there are two
  222.              different types of OSS Cartridges)
  223.     Type 4 - Atari 5200 Cartridge
  224.  
  225.     Note: There is probably a case for extra cartridge types
  226.           indicating the system that needs to be emulated.
  227.           e.g. Standard 8K Cartridge (800 Mode Only).
  228.  
  229.   next 4 bytes containing cartridge checksum in MSB format (ROM only).
  230.   next 4 bytes are currently unused.
  231.   followed immediately with the ROM data, typically 8, 16 or 32K.
  232.  
  233.   In the next version I'm intending on adding:-
  234.     32 bytes for Cartridge Name
  235.     32 bytes for Cartridge Serial Number
  236.     32 bytes for Manufacturer
  237.  
  238.   The current version of the emulator includes options in the
  239.   Cartridge Management screen to Create Cartridges in the above
  240.   format but be warned this format is likely to change.
  241.  
  242. Changes in 0.7.1
  243. ----------------
  244.  
  245. o Note: I now consider the new Menu System that runs in the Emulated
  246.         Atari's window to be the prefered User Interface. I have no
  247.         intention of doing any further development for XVIEW
  248.  
  249. o Cartridge Management added to Menu.
  250.  
  251. o Removed FFP Code.
  252.  
  253. Changes in 0.7.0
  254. ----------------
  255.  
  256. o F1 enters Menu System at any time. ESC returns you to the previous
  257.   screen. Items are lcoated using the cursor keys and selected by
  258.   either RETURN, SPACE, TAB or BACKSPACE. In most cases these keys
  259.   can be used interchangeably, the exception is in the Disk Management
  260.   Screen where RETURN is used to select a new disk and SPACE, TAB and
  261.   BACKSPACE are used to eject a disk - If there is no disk in the
  262.   virtual drive then SPACE, TAB and BACKSPACE will switch the drive
  263.   off (Useful for Shamus).
  264.  
  265. o X11, SVGALIB & DOS - F5 is now Warmstart and Shift F5 is Coldstart.
  266.  
  267. o X11 - F8 Single Shot Screen Dump, Shift F8 continuous Screen Dumps.
  268.  
  269. o MS-DOS version runs about three times quicker now that the emulator is
  270.   synchronising with a high resolution timer.
  271.  
  272. o MS-DOS version resets the screen back to text mode when finished.
  273.  
  274. Changes in 0.6.2
  275. ----------------
  276.  
  277. o Antic Modes 2, 3 and f now display the normal Atari Colour and
  278.   Luminance by default. Extended Antic Modes 2, 3 and f are enabled
  279.   by starting the emulator with the "-xcolpf1" command line option.
  280.   This allows two completely different colours to be displayed in
  281.   these modes - as previously.
  282.  
  283. o Improved Run-Time Configuration. Starting emulator with the "-configure"
  284.   command line option allows configuration of several items:-
  285.  
  286.      1. Location of OS Roms
  287.      2. Default Directory for Disk Images
  288.      3. Default Directory for ROM Images
  289.      4. Default Directory for H1, H2, H3 and H4 pseudo devices
  290.      5. Command Print File (for Printer Support)
  291.      6. Default Screen Refresh Ratio
  292.      7. Default Startup System (OS/A, OS/B, XL, XE, 5200)
  293.      8. Default TV Mode (PAL, NTSC)
  294.      9. Hold Option during Coldstart
  295.     10. Enable C000-CFFF RAM in Atari 800 mode
  296.     11. Enable SIO Patch
  297.     12. Enable FFP Patch
  298.     13. Enable Extended COLPF1 (Two true colours in Antic Modes 2, 3 & F)
  299.  
  300.   The emulator writes a file called "atari800.cfg" in your default
  301.   directory. When reading the configuration the emulator first checks
  302.   to see if you've specified a configuration on the command line with
  303.   the "-config" option otherwise it first tries to read a configuration
  304.   file from your default directory, failing this it then tries to read
  305.   a configuration file from "/etc/atari800.cfg".
  306.  
  307. o JoyMouse for Toshiba Portables running SVGALIB - Probably also
  308.   suitable for Trackball devices with minor modifications.
  309.  
  310. Changes in 0.6.1
  311. ----------------
  312.  
  313. *** IMPORTANT MESSAGE for EXISTING Users of Atari800 (Source Versions)
  314.  
  315. You will need to make some changes during the sytem configuration
  316. stage - the emulator now expects the full path to each of the system
  317. ROM images to be explicitly stated. If you don't have all the ROM
  318. images then just pretend you have!
  319.  
  320. o FPS and SIO Monitor are no longer compile time configuration options.
  321.   Enabled by "-fps" or "-sio" command line option or via an XVIEW
  322.   pulldown menu.
  323. o Motif fileselector retains state from one invocation to the next.
  324. o Configuration program detects if longwords need to be aligned.
  325. o Modification to X11 Paddle Emulation.
  326. o Removed hardcoded paths in MOTIF code.
  327. o Various fixes for curses mode.
  328. o Correction to Colours in Antic Modes 4&5 causing Incorrect colours
  329.   in Rally Speedway, Galactic Chase and Mr. DO)
  330. o Disabled DiskChange KEY (F8) in X11 version.
  331. o Added "-nobasic" command line parameter.
  332. o Added "-osa_rom", "-osb_rom", "-xlxe_rom", "-5200_rom" and "-basic_rom".
  333.   These command line options are used to specify the location of
  334.   various system ROMs on mis-configured systems or binary distributions.
  335.  
  336. Note: To prevent cluttering up the CHANGES file all credits are listed
  337.       in the CREDITS file.
  338.  
  339. Changes in 0.6.0
  340. ----------------
  341.  
  342. - Emulator can now be compiled for DOS using the DJGPP port of GCC (Thanks
  343.   to Ivo van Poorten)
  344.  
  345. Thanks to Maximum Entropy for the following Changes:-
  346. - Implementation of Disable Drive menu item for Motif.
  347. - Fixed scrolling problem for machines that can't access longwords on word
  348.   boundaries (e.g. SGI and SPARC).
  349. - Added FPS Monitor to X11 and Motif versions.
  350. - Changes to pattern matching for H: device.
  351.  
  352. Changes in 0.5.5
  353. ----------------
  354.  
  355. Thanks to Maximum Entropy for the following Changes:-
  356. - Various corrections to MOTIF code.
  357. - MOTIF callbacks for Insert Disk, Eject Disk and Insert ROM
  358. - Bug Fixes in sio.c
  359. - Bug Fix to devices.c allowing DOS 2.5 to get a directory of H:
  360. - Bug Fix to monitor.c (EOF on INPUT + Blank Lines)
  361. - Undocumented commands added to monitors HELP command.
  362.  
  363. Changes in 0.5.4
  364. ----------------
  365.  
  366. - Made Emulator C++ Friendly.
  367. - BASIC version has not been working since CPU cycles were allocated during
  368.   scanlines processing. This problem was caused because the BASIC version
  369.   doesn't generate any scanlines and therefore didn't execute any
  370.   instructions. This version fixes the problem.
  371.  
  372. Changes in 0.5.3
  373. ----------------
  374.  
  375. - Removed GetWord macro from cpu.c
  376. - Added XVIEW option to disable drive (via SIO_DisableDrive()). This
  377.   allows SHAMUS to work. The drive is automatically re-enabled next
  378.   time a disk is inserted.
  379.  
  380. Changes in 0.5.2
  381. ----------------
  382.  
  383. - Made CPU timing more accurate: It now issue 114 clock cycles per scanline
  384.   instead of 48 instructions.
  385. - Removed obsolete functions: GetBinaryWord() and BinaryLoad().
  386. - Handle PORTA Direction Control Register. Fixes Joystick problem in Caverns
  387.   of Mars 1.
  388. - The atari_basic array was incorrectly defined in pia.c as [8129]. This
  389.   has now been corrected to [8192] (Thanks to Chris Palmer).
  390.  
  391. Changes in 0.5.1
  392. ----------------
  393.  
  394. - Changed handling of CONSOL for X11 versions - previously it was hard
  395.   to start some games.
  396. - Changed address of 5200 POKEY chip. The information I have states that
  397.   it is located in page $eb, but evidence in a disassembled cart suggests
  398.   its at $e8. Of course it could appear in both pages, does anyone
  399.   know for sure?
  400. - CPU time allocation is now performed entirely within "antic.c". This is
  401.   a pre-condition for switchable PAL/NTCS modes.
  402. - Compile time configurable to either PAL [default] or NTCS system.
  403. - "-countdown" option has been removed.
  404.  
  405. Changes in 0.5.0
  406. ----------------
  407.  
  408. - Simplified interface to CPU module.
  409. - DIRECT_VIDEO now works with PMG collision detection. This option increases
  410.   performance by about 28% but can result in different colours being displayed.
  411.   This is because this option relies on COLPF0, COLPF1, COLPF2, COLPF3 and
  412.   COLBK all having different values, hence the emulator sometimes modifies
  413.   the colours :-( This option can be enabled during the configuration phase.
  414. - Correction to ANTIC Mode 5 Vertical Scrolling.
  415. - Correction to PMG DMA Code - Demon Attack now works OK.
  416. - Added code to limit the emulator to 50fps - this will not have any
  417.   effect if your machine can't run the emulator greater than 50fps.
  418.   F10 in X11, XVIEW, MOTIF and SVGALIB versions toggles the limit on/off.
  419.   When the limit is off the emulator will go as fast as it can.
  420. - Path to directory containing the OS ROM images is now defined during
  421.   the configuration phase (Declaration of ATARI_LIBRARY has been removed
  422.   from the Makefile).
  423. - Correction to handling of PMG DMA - Pitfall II now Works.
  424. - The unused bits in PMBASE are now ignored correcting errors in Atari Chess
  425.   and Frogger.
  426.  
  427. Changes in 0.4.5
  428. ----------------
  429.  
  430. - Added a compile time configuration option to control the default
  431.   screen refresh rate. In previous version of the emulator the default
  432.   rate has been 4 frame: draw 1 skip 3. From this version you will
  433.   be prompted for the default during the compile stage (except VMS and
  434.   AMIGA which still default to 4). A value of 1 is required for the
  435.   most accurate emulation. Values other than one can produce some
  436.   collision detection problems on a few programs (e.g. Burried Bucks).
  437. - Split Custom Chip code into seperate files.
  438. - Added 5200 Emulation Code - Runs program but needs modifications to
  439.   support 5200 controllers. The 2K OS ROM must be called "atari5200.rom"
  440.   and placed in the same directory as the other OS ROMS.
  441. - Linux Joystick enabled by configuration program. There are nolonger
  442.   any makefile targets containing "joystick".
  443. - Removed code relating to Emulated Operating System.
  444. - Added option that displays the number of Frames per Second. This option
  445.   is enabled within the configuration program and currently only works
  446.   with the XVIEW version.
  447.  
  448. Changes in 0.4.4
  449. ----------------
  450.  
  451. - SpartaDOS 3.2 works for both Read and Write Access.
  452. - Alternate Reality "The City" now works.
  453. - Added interrupt timings for Invalid SIO commands.
  454. - Support for Direct Serial I/O Write and Put sectors commands.
  455. - Correction for Double Density ATR files.
  456.  
  457. Changes in 0.4.3
  458. ----------------
  459.  
  460. - Corrected a Bug that prevented DOS 2.5 from copying files to/from H:
  461. - Re-instated F8 Disk Change function for non XVIEW/MOTIF/AMIGA Systems.
  462.  
  463. Changes in 0.4.2
  464. ----------------
  465.  
  466. - Test code for faster screen generation, enabled by defining DIRECT_VIDEO
  467.   within "atari_custom.c". It needs a little more thought with respect to
  468.   collision detection, hence it is disabled by default.
  469. - Better PMG Priority Handling.
  470. - Tidied up code accessing hardware registers
  471. - Changed handling of B, D and I flags.
  472. - Changed handling of NMIs.
  473.  
  474. Changes in 0.4.1
  475. ----------------
  476.  
  477. - Flashes background colour while performing direct Serial I/O
  478. - Minor optimisation to Player/Player collision detection
  479. - Minor changes in CPU emulation
  480. - Correction to new cartridge code causing it to fail under XL/XE
  481.   emulation (Thanks to Neil Shipp)
  482. - New targets in the Makefile for freebsd systems (Thanks to Ivo
  483.   van Poorten)
  484.  
  485. Changes in 0.4.0
  486. ----------------
  487.  
  488. - Added MOTIF User Interface
  489. - Support for DEC-Windows under VMS (Thanks to Chris F Chiesa)
  490. - Removed dependency on 'ncycles' global variable.
  491. - Support for direct access to serial port hardware - The emulator will
  492.   now run Alternate Reality "The Dungeon" (I haven't tried the others)
  493. - Modified handling of XL/XE memory.
  494. - Fixed the GTIA modes which broke after X Window shared memory support
  495.   was added in version 0.3.0
  496. - Correction allowing Montezumas Revenge to work again.
  497.  
  498. Changes in 0.3.3
  499. ----------------
  500.  
  501. - New System menu in XVIEW version allowing selection of operating
  502.   system etc.
  503. - Amiga: Iconify working.
  504. - Amiga: System menu contains options for Insert ROM, Remove ROM,
  505.   Enable PILL, Selection of Operating System and all previous disk
  506.   options.
  507. - Amiga: Help menu option is now working using Multiview.
  508.  
  509. Changes in 0.3.2
  510. ----------------
  511.  
  512. - Modified BRK instruction to take account of the I flag. The BRK
  513.   instruction is ignored if the I flag is set.
  514. - Added all unofficial NOP opcodes.
  515. - New cartridge handling. The XVIEW version provides menu items
  516.   enabling the insertion and removal of cartridges.
  517.  
  518. Changes in 0.3.1
  519. ----------------
  520.  
  521. - Defined PRINT_COMMAND in devices.c for Amiga
  522. - Minor optimisation to PMG handling
  523. - Modified DLI Handling and ScanLine processing
  524.  
  525. Changes in 0.3.0
  526. ----------------
  527.  
  528. - Support for Atari 130XE memory banks (Antic currently accesses the
  529.   same bank as the CPU)
  530. - XVIEW Exit item on the Disk menu.
  531. - Printer device calls tmpnam() to allocate a temporary filename for
  532.   the spool file.
  533. - XView version didn't enable HELP key for XL and XE emulation.
  534. - X11 Backspace keys works in the same ways as the Delete key.
  535.   (Thanks to Cyrus Malek)
  536. - Reset and Coldstart now work during XL and XE emulation.
  537. - Added OK button to XVIEW controller and performance dialog boxes.
  538. - Optional support for X11 Shared Memory Images resulting in a 32%
  539.   speed improvement. This option can only be used in conjunction
  540.   with the small screen display. Type make by itself to obtain
  541.   the new list of targets. "-shm" target extension enables this
  542.   option.
  543. - Simple configuration program to avoid editing the Makefile as ofter.
  544.   make will invoke it the first time and afterwards "make config" can
  545.   be used. It currently handles the directories for the H: device, the
  546.   disk image directory for the XVIEW file chooser and the command used
  547.   to send a file to the printer. The print command should contain a %s
  548.   character sequence where a filename is expected (only the first %s
  549.   is relevant).
  550.  
  551. Changes in 0.2.7
  552. ----------------
  553.  
  554. - Renamed atari_h_device.c to a more general devices.c
  555. - Emulator (private) opcode ESCRTS ($d2) added to support patching of OS.
  556. - Printer device supported via Unix lpr command.
  557. - Moved from RCS to CVS and added rcs Id keyword to all C files.
  558. - Emulated OS: Better handling of Keyboard and ATASCII to screen
  559.   code conversion. Editor uses LMARGN, RMARGN, ROWCRS and COLCRS.
  560. - Many other changes to EmuOS including implementation of SETVBV
  561.   COLDSV and WARMSV.
  562. - Detection of X11 server supporting the MIT Shared Memory Extension in
  563.   preperation for shared memory pixmaps.
  564. - Corrected bug in H: device (filename extraction routine).
  565.  
  566. Changes in 0.2.6
  567. ----------------
  568.  
  569. - Corrected calculation of number of sectors and reading of double
  570.   density ATR files (Thanks to Preston Crow)
  571. - Correction for Linux ELF systems.
  572. - XVIEW and NAS work under Linux/ELF
  573. - Default directory for XVIEW Disk File Chooser is set within the
  574.   Makefile. By default it is pointing to /usr/local/lib/atari/DISKS
  575. - Corrected bug in Missile 0 to Playfield collision detection.
  576. - Corrected WSYNC bug (multiple stores to WSYNC during one scanline).
  577.   River Raid now runs correctly.
  578. - -emuos to enable emulated operating system. Users without the
  579.   necessary atari OS ROMs can use this option to boot disk images/ROMs.
  580.   Currently this is very experimental and runs very little without
  581.   problems. Defender runs perfectly but if you haven't got the OS it's
  582.   unlikely you'll be able to get this either!
  583. - H0: device accesses the current directory on your Unix Machine.
  584. - H1: through H4: can access four directories specified either within
  585.   the Makefile or via the -H1, -H2, -H3 and -H4 command line options.
  586.   By default they are set to /usr/local/lib/atari/Hx where x is 1, 2,
  587.   3 or 4.
  588. - H5: through H9: duplicate H0 through H4 but have automatic ATASCII
  589.   to ASCII translation. They are not suitable for binary files.
  590. - All files accessed via the H: device have Unix filenames consisting
  591.   entirely of lowercase letters.
  592.  
  593. Changes in 0.2.5
  594. ----------------
  595.  
  596. - Network Audio System support on Unix Systems [incl. Linux]. Waveform
  597.   can be selected via the -sinewave or -squarewave options. At the
  598.   moment it doesn't support the Atari Distortion values and switches
  599.   channels using distortion off. This is available in XVIEW, X Window
  600.   and Linux SVGALIB versions. The Network Audio System is freely
  601.   available on the Internet - I used nas-1.2p2.tar.gz. Any Linux XVIEW
  602.   version do not work when built with the Network Audio System.
  603.   *** See BUGS file for more information ***
  604. - Support for /dev/sequencer removed since it didn't look like it
  605.   would ever produce satisfactory results.
  606. - Introduced -help option that lists all options available in the
  607.   emulator.
  608. - Added LAX unofficial opcodes
  609. - Corrected Vertical Fine scrolling in Antic Mode 7.
  610. - Enhanced DLIST command in "monitor.c" which now displays the display
  611.   list using mnemonics.
  612. - Updated VMS command file.
  613.  
  614. Changes in 0.2.4
  615. ----------------
  616.  
  617. - Corrected mask in Atari800_GetByte() and Atari800_PutByte()
  618. - In Atari800_PutByte(), only switch on cartridge type when an
  619.   access is made to page $d5
  620. - Screen generation using word access where possible.
  621. - merged main.c with atari.c
  622. - Fixed SVGALIB Escape and cursor keys.
  623. - Emulated Floating Point Library which performs floating point
  624.   arithmetic directly on your host computer - bypasses 6502 CPU
  625.   emulation. Enabled by the -ffp option.
  626.  
  627. Changes in 0.2.3
  628. ----------------
  629.  
  630. - ADC and SBC functions are nolonger implemented as functions.
  631. - 6502 PC, S, A, X, and Y register now handled using local
  632.   variables. Copied to global variables on exit from cpu and
  633.   restored on re-entry.
  634. - Took advantage of a GCC feature: goto array[opcode]. Other compilers
  635.   still use a switch statement.
  636. - Amiga: DisplayScreen() tidied up
  637. - Added DLIST command to monitor. This command shows the address of
  638.   the display list (from hardware registers).
  639. - Major recode of all Antic Graphics Modes. Now allows Horizontal and
  640.   Vertial fine scrolling.
  641. - Added an -interlace option to the SVGALIB version, giving a
  642.   performance increase of about 10%. You would use this option to
  643.   increase the speed of programs that must be run with a screen
  644.   refresh rate of 1 (e.g. Burried Bucks)
  645. - In the SVGALIB version, the F11 and F12 keys can be used to modify
  646.   the vertical positioning of the emulated screen. F11 moves the screen
  647.   down while F12 moves the screen up.
  648. - Corrected a BUG causing River Raid to have corrupt screen display.
  649.  
  650. Changes in 0.2.2
  651. ----------------
  652.  
  653. - Made GetByte, GetWord and PutByte macros local to cpu.c
  654. - Added some 386 inline asm() for some 6502 addressing modes
  655. - Simplified Keyboard Handling
  656. - Assembly routines for Amiga AGA screen handling
  657.  
  658. Changes in 0.2.1
  659. ----------------
  660.  
  661. - Created a new Makefile for Unix. The Amiga support is now in
  662.   Makefile.amiga
  663. - Sorry, but I renamed the ATARI800 environment variable to ATARI_LIBRARY
  664.   which points to /usr/local/lib/atari by default.
  665. - Control + Shift + Key combination for Linux SVGALIB implementation.
  666. - SVGALIB version can be restarted after entering the monitor.
  667. - HELP Key available in XL/XE mode
  668. - Optional XVIEW (V3) Interface for X Window version. Allows disk changes
  669.   using a file selector, controller configuration and access to performance
  670.   variables.
  671. - BREAK Key fixed
  672. - PC Joysticks can be used with Linux (svgalib, x11 and xview) through the
  673.   /dev/js0 and /dev/js1 devices. Second button activates the space bar
  674.   which is very useful in Defender :-) Build with "make <system>" where
  675.   <system> is one of:- linux-x11-joystick, linux-xview-joystick or
  676.   linux-svgalib-joystick
  677. - X11 Joystick emulation using keyboard re-implemented. Straight X11 can
  678.   use either numeric keypad or cursor keys + space. XVIEW can only use
  679.   cursor keys + space (Problem using keypad in xview!)
  680. - Disk selector for Amiga version + controller configuration menu
  681. - Started code to emulate SERIN and SEROUT registers. At the moment this
  682.   is ongoing and does not work. New startup option -nopatch disables the
  683.   SIO patch leaving the normal SIO routine in place.
  684.  
  685. Changes in 0.2.0
  686. ----------------
  687.  
  688. - Separated Playfield Scanlines from Player Missile Scanlines
  689. - Corrected playfield colour errors in Antic modes 8 & 10
  690. - Horizontal Fine Scrolling
  691. - Playfield and Player/Missile Priorities
  692. - Allow Emulator to run either as an Amiga Screen or Window
  693. - Added Paddle support for Amiga
  694.  
  695. Changes in 0.1.9
  696. ----------------
  697.  
  698. - Corrected bug in IRQST and IRQEN
  699. - Corrected minor bug in player missile collision detection
  700. - Amiga version is now full screen + Menus
  701. - Faster disk I/O
  702. - Added ATARI800 environment variable. This allows the emulator to be
  703.   run from different directories. If ATARI800 is unset it will still
  704.   try to load the OS images from object/ below the current working
  705.   directory.
  706. - colours.h replaces colours.dat
  707. - Added man page.
  708. - New way of handling Joysticks, Triggers, Paddles and Console Keys
  709. - Corrected handling of CHBASE which was causing K-RAZY ANTIKS to
  710.   display garbage.
  711. - Corrected handling of VCOUNT which was causing screen handling
  712.   errors in Star Raiders (galactic map) and Henri (game screen).
  713. - Added Sound API. A test sound implementation is available for
  714.   the Linux SVGALIB version via /dev/sequencer - It's not very good
  715.   and has only been used to test the API. It is enabled by starting
  716.   the program with the -sound option. Listen to the title screens
  717.   of Necromancer, K-Razy Antiks and Henri (these are the best
  718.   I've heard).
  719. - argc and argv are passed to the platform specific initialisation
  720.   code - Atari_Initialise(). This allows platform specific options
  721.   like -sound on the Linux SVGALIB version.
  722. - Extra Amiga options -ocs -ecs and -aga. Currently the default is
  723.   AGA. The -ocs and -ecs have been tested on an A1200 with the
  724.   OCS and ECS emulation modes enabled. At the moment it is not
  725.   guaranteed to work on real OCS or ECS equiped machines since it
  726.   has only been tested under Workbench 3.0. Hopefully someone will
  727.   provide some feedback.
  728. - Another two Amiga options -grey and -colour. The -grey option
  729.   produces a grey scale display on OCS, ECS and AGA machines. The
  730.   -colour option produces a full colour display on AGA machines and
  731.   up to 32 simultaneous colours on OCS and ECS machines.
  732. - The DOUBLE_SIZE compilation flag for the X11 version has been
  733.   replaced by a runtime options. The runtime options are -small,
  734.   -large and -huge.
  735.  
  736. Changes in 0.1.8
  737. ----------------
  738.  
  739. - Allows direct use of GRAFP0, GRAFP1, GRAFP2, GRAFP3 and GRAFM without
  740.   using DMA.
  741. - -rom16 option to load standard 16K ROMs.
  742. - -a option to load object/atariosa.rom
  743. - -b [default] option to load object/atariosb.rom
  744. - Simplified screen generation for host - Player missile graphics
  745.   collision detection has been moved into 'atari_custom.c'
  746. - Corrected read from PORTB (XL/XE emulation)
  747. - GTIA support for *all* antic modes.
  748.   i.e. GTIA can be enabled in graphics mode 0 (antic mode 2) just like
  749.        a real 800. POKE 623 with 64, 128 or 192 to test.
  750. - Amiga version can be compiled using either DICE C or GNU C - see Makefile
  751.  
  752. Changes in 0.1.7
  753. ----------------
  754.  
  755. - Issue cpu cycles during screen update (corrects VCOUNT problem)
  756.     As a result DLI are not occuring on the correct mode line.
  757. - Support for 256 bytes/sector ATR files
  758. - Handle Insert, Delete and Tab keys properly
  759. - Handle Shift + Control + A-Z properly (X11 only)
  760. - Cartridge support tidied up (Thanks to Dave Bennett)
  761.  
  762. Changes in 0.1.6
  763. ----------------
  764.  
  765. - Correct Colours (Thanks to Chris Lam)
  766. - Fetch correct number of screen bytes with horizontal scrolling enabled
  767. - Speed improvements for Antic Display Modes
  768. - Support for ATR files (128 bytes sectors only)
  769. - Support for XL/XE ROM (Reset etc. do not work???)
  770. - Corrected Bug in BCD SBC instruction.
  771. - Added X11 window Expose event (Thanks to Ivo van Poorten)
  772. - Control characters within CURSES (Thanks to Ivo van Poorten)
  773. - Improved Portability
  774. - Remove '-b' flag (Use -rom object/ataribas.rom instead)
  775. - Graphical Support for Amiga 1200
  776. - Faster 6502 Emulation
  777. - X11 Joystick emulation now uses the mouse
  778.  
  779. Changes in 0.1.5
  780. ----------------
  781.  
  782. - CURSES text only mode (Support for various terminals)
  783. - Display list jump instruction corrected.
  784. - Fixed SIO module (It didn't update DSTATS)
  785.  
  786. Changes in 0.1.4
  787. ----------------
  788.  
  789. - Changed GetByte and PutByte to macros
  790. - Added SVGALIB support for Linux which is much quicker than X11.
  791. - Added support for OSS Super Cartridges (Thanks to Dave Bennett)
  792. - -rom option to specify alternative cartridges
  793. - -oss option to specify alternative OSS Super Cartridges
  794.  
  795. Changes in 0.1.3
  796. ----------------
  797.  
  798. - Compilation option for double size screen
  799. - Trigger now initialises to not pressed
  800. - Joystick now initialises to central
  801. - Fifth Player support added
  802. - Support for Paddle 0
  803. - Preparation for changing GetByte and PutByte to macros.
  804.  
  805. Changes in 0.1.2
  806. ----------------
  807.  
  808. - Now include <stdlib.h>  in atari_custom.h
  809.  
  810. - Resets count to countdown as soon as it reaches zero. This was causing
  811.   problems with the RESET Key - count went negative.
  812.  
  813. - Removed XImage structure. I am now updating only the pixels that have
  814.   changed within a Pixmap. XCopyArea is used to move the Pixmap onto
  815.   the Window. XCopyArea is not called if no pixels are changed. As a
  816.   result I am trying a higher refresh rate.
  817.  
  818. - Correction for BASIC version - I left some X11 stuff in resulting in
  819.   unresolved sybols.
  820.  
  821. - Remove unused status variable from atari_h_device.c
  822.  
  823. - Added some test Amiga Intuition Code - not usable (No Colour or Keyboard)
  824.   It manages to get the 'READY' prompt up! Atari Basic Blue is one colour
  825.   and everything else is the other. When keyboard support is added you
  826.   will be able to use Atari Basic.
  827.  
  828. - Registers are now allocated variables within atari_custom.c. They are
  829.   nolonger stored in main memory area.
  830.  
  831. Changes in 0.1.1 
  832. ----------------
  833.  
  834. - Outputs an error message when ROM images are not available.
  835.  
  836. Version 0.1.0
  837. -------------
  838.  
  839. - Initial Release
  840.