Changes in 0.2.7
----------------

- Renamed atari_h_device.c to a more general devices.c
- Emulator (private) opcode ESCRTS ($d2) added to support patching of OS.
- Printer device supported via Unix lpr command.
- Moved from RCS to CVS and added rcs Id keyword to all C files.
- Emulated OS: Better handling of Keyboard and ATASCII to screen
  code conversion. Editor uses LMARGN, RMARGN, ROWCRS and COLCRS.
- Many other changes to EmuOS including implementation of SETVBV
  COLDSV and WARMSV.
- Detection of X11 server supporting the MIT Shared Memory Extension in
  preperation for shared memory pixmaps.
- Corrected bug in H: device (filename extraction routine).

Changes in 0.2.6
----------------

- Corrected calculation of number of sectors and reading of double
  density ATR files (Thanks to Preston Crow)
- Correction for Linux ELF systems.
- XVIEW and NAS work under Linux/ELF
- Default directory for XVIEW Disk File Chooser is set within the
  Makefile. By default it is pointing to /usr/local/lib/atari/DISKS
- Corrected bug in Missile 0 to Playfield collision detection.
- Corrected WSYNC bug (multiple stores to WSYNC during one scanline).
  River Raid now runs correctly.
- -emuos to enable emulated operating system. Users without the
  necessary atari OS ROMs can use this option to boot disk images/ROMs.
  Currently this is very experimental and runs very little without
  problems. Defender runs perfectly but if you haven't got the OS it's
  unlikely you'll be able to get this either!
- H0: device accesses the current directory on your Unix Machine.
- H1: through H4: can access four directories specified either within
  the Makefile or via the -H1, -H2, -H3 and -H4 command line options.
  By default they are set to /usr/local/lib/atari/Hx where x is 1, 2,
  3 or 4.
- H5: through H9: duplicate H0 through H4 but have automatic ATASCII
  to ASCII translation. They are not suitable for binary files.
- All files accessed via the H: device have Unix filenames consisting
  entirely of lowercase letters.

Changes in 0.2.5
----------------

- Network Audio System support on Unix Systems [incl. Linux]. Waveform
  can be selected via the -sinewave or -squarewave options. At the
  moment it doesn't support the Atari Distortion values and switches
  channels using distortion off. This is available in XVIEW, X Window
  and Linux SVGALIB versions. The Network Audio System is freely
  available on the Internet - I used nas-1.2p2.tar.gz. Any Linux XVIEW
  version do not work when built with the Network Audio System.
  *** See BUGS file for more information ***
- Support for /dev/sequencer removed since it didn't look like it
  would ever produce satisfactory results.
- Introduced -help option that lists all options available in the
  emulator.
- Added LAX unofficial opcodes
- Corrected Vertical Fine scrolling in Antic Mode 7.
- Enhanced DLIST command in "monitor.c" which now displays the display
  list using mnemonics.
- Updated VMS command file.

Changes in 0.2.4
----------------

- Corrected mask in Atari800_GetByte() and Atari800_PutByte()
- In Atari800_PutByte(), only switch on cartridge type when an
  access is made to page $d5
- Screen generation using word access where possible.
- merged main.c with atari.c
- Fixed SVGALIB Escape and cursor keys.
- Emulated Floating Point Library which performs floating point
  arithmetic directly on your host computer - bypasses 6502 CPU
  emulation. Enabled by the -ffp option.

Changes in 0.2.3
----------------

- ADC and SBC functions are nolonger implemented as functions.
- 6502 PC, S, A, X, and Y register now handled using local
  variables. Copied to global variables on exit from cpu and
  restored on re-entry.
- Took advantage of a GCC feature: goto array[opcode]. Other compilers
  still use a switch statement.
- Amiga: DisplayScreen() tidied up
- Added DLIST command to monitor. This command shows the address of
  the display list (from hardware registers).
- Major recode of all Antic Graphics Modes. Now allows Horizontal and
  Vertial fine scrolling.
- Added an -interlace option to the SVGALIB version, giving a
  performance increase of about 10%. You would use this option to
  increase the speed of programs that must be run with a screen
  refresh rate of 1 (e.g. Burried Bucks)
- In the SVGALIB version, the F11 and F12 keys can be used to modify
  the vertical positioning of the emulated screen. F11 moves the screen
  down while F12 moves the screen up.
- Corrected a BUG causing River Raid to have corrupt screen display.

Changes in 0.2.2
----------------

- Made GetByte, GetWord and PutByte macros local to cpu.c
- Added some 386 inline asm() for some 6502 addressing modes
- Simplified Keyboard Handling
- Assembly routines for Amiga AGA screen handling

Changes in 0.2.1
----------------

- Created a new Makefile for Unix. The Amiga support is now in
  Makefile.amiga
- Sorry, but I renamed the ATARI800 environment variable to ATARI_LIBRARY
  which points to /usr/local/lib/atari by default.
- Control + Shift + Key combination for Linux SVGALIB implementation.
- SVGALIB version can be restarted after entering the monitor.
- HELP Key available in XL/XE mode
- Optional XVIEW (V3) Interface for X Window version. Allows disk changes
  using a file selector, controller configuration and access to performance
  variables.
- BREAK Key fixed
- PC Joysticks can be used with Linux (svgalib, x11 and xview) through the
  /dev/js0 and /dev/js1 devices. Second button activates the space bar
  which is very useful in Defender :-) Build with "make <system>" where
  <system> is one of:- linux-x11-joystick, linux-xview-joystick or
  linux-svgalib-joystick
- X11 Joystick emulation using keyboard re-implemented. Straight X11 can
  use either numeric keypad or cursor keys + space. XVIEW can only use
  cursor keys + space (Problem using keypad in xview!)
- Disk selector for Amiga version + controller configuration menu
- Started code to emulate SERIN and SEROUT registers. At the moment this
  is ongoing and does not work. New startup option -nopatch disables the
  SIO patch leaving the normal SIO routine in place.

Changes in 0.2.0
----------------

- Separated Playfield Scanlines from Player Missile Scanlines
- Corrected playfield colour errors in Antic modes 8 & 10
- Horizontal Fine Scrolling
- Playfield and Player/Missile Priorities
- Allow Emulator to run either as an Amiga Screen or Window
- Added Paddle support for Amiga

Changes in 0.1.9
----------------

- Corrected bug in IRQST and IRQEN
- Corrected minor bug in player missile collision detection
- Amiga version is now full screen + Menus
- Faster disk I/O
- Added ATARI800 environment variable. This allows the emulator to be
  run from different directories. If ATARI800 is unset it will still
  try to load the OS images from object/ below the current working
  directory.
- colours.h replaces colours.dat
- Added man page.
- New way of handling Joysticks, Triggers, Paddles and Console Keys
- Corrected handling of CHBASE which was causing K-RAZY ANTIKS to
  display garbage.
- Corrected handling of VCOUNT which was causing screen handling
  errors in Star Raiders (galactic map) and Henri (game screen).
- Added Sound API. A test sound implementation is available for
  the Linux SVGALIB version via /dev/sequencer - It's not very good
  and has only been used to test the API. It is enabled by starting
  the program with the -sound option. Listen to the title screens
  of Necromancer, K-Razy Antiks and Henri (these are the best
  I've heard).
- argc and argv are passed to the platform specific initialisation
  code - Atari_Initialise(). This allows platform specific options
  like -sound on the Linux SVGALIB version.
- Extra Amiga options -ocs -ecs and -aga. Currently the default is
  AGA. The -ocs and -ecs have been tested on an A1200 with the
  OCS and ECS emulation modes enabled. At the moment it is not
  guaranteed to work on real OCS or ECS equiped machines since it
  has only been tested under Workbench 3.0. Hopefully someone will
  provide some feedback.
- Another two Amiga options -grey and -colour. The -grey option
  produces a grey scale display on OCS, ECS and AGA machines. The
  -colour option produces a full colour display on AGA machines and
  up to 32 simultaneous colours on OCS and ECS machines.
- The DOUBLE_SIZE compilation flag for the X11 version has been
  replaced by a runtime options. The runtime options are -small,
  -large and -huge.

Changes in 0.1.8
----------------

- Allows direct use of GRAFP0, GRAFP1, GRAFP2, GRAFP3 and GRAFM without
  using DMA.
- -rom16 option to load standard 16K ROMs.
- -a option to load object/atariosa.rom
- -b [default] option to load object/atariosb.rom
- Simplified screen generation for host - Player missile graphics
  collision detection has been moved into 'atari_custom.c'
- Corrected read from PORTB (XL/XE emulation)
- GTIA support for *all* antic modes.
  i.e. GTIA can be enabled in graphics mode 0 (antic mode 2) just like
       a real 800. POKE 623 with 64, 128 or 192 to test.
- Amiga version can be compiled using either DICE C or GNU C - see Makefile

Changes in 0.1.7
----------------

- Issue cpu cycles during screen update (corrects VCOUNT problem)
    As a result DLI are not occuring on the correct mode line.
- Support for 256 bytes/sector ATR files
- Handle Insert, Delete and Tab keys properly
- Handle Shift + Control + A-Z properly (X11 only)
- Cartridge support tidied up (Thanks to Dave Bennett)

Changes in 0.1.6
----------------

- Correct Colours (Thanks to Chris Lam)
- Fetch correct number of screen bytes with horizontal scrolling enabled
- Speed improvements for Antic Display Modes
- Support for ATR files (128 bytes sectors only)
- Support for XL/XE ROM (Reset etc. do not work???)
- Corrected Bug in BCD SBC instruction.
- Added X11 window Expose event (Thanks to Ivo van Poorten)
- Control characters within CURSES (Thanks to Ivo van Poorten)
- Improved Portability
- Remove '-b' flag (Use -rom object/ataribas.rom instead)
- Graphical Support for Amiga 1200
- Faster 6502 Emulation
- X11 Joystick emulation now uses the mouse

Changes in 0.1.5
----------------

- CURSES text only mode (Support for various terminals)
- Display list jump instruction corrected.
- Fixed SIO module (It didn't update DSTATS)

Changes in 0.1.4
----------------

- Changed GetByte and PutByte to macros
- Added SVGALIB support for Linux which is much quicker than X11.
- Added support for OSS Super Cartridges (Thanks to Dave Bennett)
- -rom option to specify alternative cartridges
- -oss option to specify alternative OSS Super Cartridges

Changes in 0.1.3
----------------

- Compilation option for double size screen
- Trigger now initialises to not pressed
- Joystick now initialises to central
- Fifth Player support added
- Support for Paddle 0
- Preparation for changing GetByte and PutByte to macros.

Changes in 0.1.2
----------------

- Now include <stdlib.h>  in atari_custom.h

- Resets count to countdown as soon as it reaches zero. This was causing
  problems with the RESET Key - count went negative.

- Removed XImage structure. I am now updating only the pixels that have
  changed within a Pixmap. XCopyArea is used to move the Pixmap onto
  the Window. XCopyArea is not called if no pixels are changed. As a
  result I am trying a higher refresh rate.

- Correction for BASIC version - I left some X11 stuff in resulting in
  unresolved sybols.

- Remove unused status variable from atari_h_device.c

- Added some test Amiga Intuition Code - not usable (No Colour or Keyboard)
  It manages to get the 'READY' prompt up! Atari Basic Blue is one colour
  and everything else is the other. When keyboard support is added you
  will be able to use Atari Basic.

- Registers are now allocated variables within atari_custom.c. They are
  nolonger stored in main memory area.

Changes in 0.1.1 
----------------

- Outputs an error message when ROM images are not available.

Version 0.1.0
-------------

- Initial Release
