SimCoupe ChangeLog
==================

Version 1.0 (21st July 2006)
----------------------------

- Added SDL port (OpenGL and regular) for Linux, BeOS, QNX, etc.
- Added Pocket PC port for ARM, MIPS and SH3 devices
- Added Allegro port for an updated DOS version
- Added built-in GUI for all platforms without native GUI support
- Added full async real disk support for 2000/XP and Linux
- Added read-write EDSK support for copy-protected disks
- Added formatting support within limits of disk image capabilities
- Added read-only support for TD0 (TeleDisk) and SBT disk images
- Added support for 9-sector Pro-DOS disk images
- Added correct WD1772 CRCs to read address and read track data
- Added support for deleted data address marks in track reads/formats
- Added auto-boot option for disks inserted at the start-up screen
- Added delay to disk image accesses, to avoid Pro-DOS bug
- Added turbo-load support, for accelerated speed during disk accesses
- Added preliminary debugger support, with lots of future potential
- Added partial scanline support for a more natural looking display
- Added support for border pixel artefacts, as used by Fred65 menu
- Added support for incomplete frame drawing, needed by the debugger
- Added support for using real HDD devices under Win32, Linux and OS X
- Added optional automagic DOS booting of non-bootable disks
- Added internal SAMDOS 2.2 image, used by automagical DOS booting
- Added internal SAM ROM v3.0 image, used as the default
- Added support for ZX82 and gzipped external ROM images
- Added built-in support for Edwin Blink's ATOM ROM booting patches
- Added support for unresponsive ASIC during first ~49ms after power-on
- Added support for SDIDE and YAMOD.ATBUS hard disk interfaces
- Added print-to-file support for SAM printers
- Added support for swapping mouse buttons 2 and 3
- Added Alt as modifier option to function key bindings
- Added missing SAM pipe symbol to keyboard map
- Added option to swap function keys and numeric keypad operation
- Added full HPEN and LPEN support, used by Defender and BSD demo
- Added mouse-wheel support to generate cursor up/down
- Added basic Vista beta 2 support by working around OS bugs
- Added manifest for XP themed common controls [Win32]

- Fixed ADC HL,rr incorrectly setting N flag
- Fixed ADD IX/IY,rr failing to set carry for overflow, or H flag
- Fixed disassembly of IN C,(C) and display of DDCB/FDCB index offsets
- Fixed DAA to support all undocumented flags
- Fixed ROM memory accesses to be uncontended [Dave Laundon]
- Fixed contention across page boundaries [Dave Laundon]
- Fixed Atom support to work correctly with latest BDOS versions
- Fixed SAD support for sector sizes other than 512 bytes
- Fixed index pulse to be based on disk speed rather than status reads
- Fixed WD1772 sector searching so the head value is no longer compared
- Fixed formatting to preserve embedded data, for Pro-DOS [thanks Steve P-T]
- Fixed re-insert of same disk image losing old image changes
- Fixed formatting crash when no disk present [thanks Josef Prokes]
- Fixed auto-frameskip to avoid wasting time (old 25fps problem)
- Fixed key-bounce issues by deferring input until mid-frame
- Fixed digit input on Czech keyboards, which require a shift modifier
- Fixed AltGr being seen as Ctrl-Alt on some Win9x setups
- Fixed Ctrl-<digit> access to symbols [thanks Edwin Blink]
- Fixed incorrect SAM palette spread, which made dark colours too bright
- Fixed the PNG screenshot palette being too dark
- Fixed pixel format colour issues by calculating them from bit masks
- Fixed broken import/export which could crash with sizes over 16K
- Fixed MIC writes not reflected back to EAR [thanks Edwin Blink]
- Fixed reads from ports 0 to 15, which were always returning zero
- Fixed mouse read timeout (now 50us) and timer reset on each byte read
- Fixed accumulation of small mouse movements, for Legend of Eshan
- Fixed external memory ports to be write-only [thanks Jiri Veleba]
- Fixed autoboot to hold rather than tap F9, to avoid a 2nd boot attempt
- Fixed building for 64-bit platforms [thanks Stuart Brady and Terry Froy]
- Fixed disk image saving on Windows shutdown/restart [Win32]
- Fixed display of mode 3 pixels in 24-bit mode [Win32]

- Improved efficiency of contention table lookups [Dave Laundon]
- Improved fast-boot to no longer require temporary ROM patching
- Improved menu layout, adding icons and a MRU file list
- Improved some overly complicated dialogs and options screens
- Improved sensitivity and scaling of SAM mouse movements
- Improved RAM, paging, CLUT and CPU register power-on states
- Improved DAC interpolation for less harsh playback in MOD Player
- Improved altforcntrl use by disabling Windows key when active [Win32]
- Improved PNG screenshots to include 5:4 aspect, scanlines and greyscale

- Changed to use a combined 32K ROM image instead of separate 16K files
- Changed unconnected ports to return 0xff rather than 0x00
- Changed to dynamically bind to DirectX, for better error reporting
- Removed dynamic Atom HDD generated from floppy images


Version 0.81a (9th March 2001)
------------------------------
- Fixed race-condition in New Disk dialogue that could cause stack overflow.
- Fixed binary output in disassembler having bits reversed.
- Changed Win32 open file filter to include compressed archives by default.


Version 0.81 (27th February 2001)
---------------------------------
- CPU loop simplified and optimised using a new event model [Dave Laundon]
- MIDI OUT interrupt timing now perfect (fixes a demo) [Dave Laundon]
- Line interrupt now activated/deactivated on line port writes [Dave Laundon]
- Improved pause feature to halt everything, instead of executing NOPs.

- Support for background running, with optional pause when inactive.
- Selectable screen area (no borders, TV view, full picture scan, ...).
- Automatically accurate mode 3 on just the lines that need it.
- Improved screen change detection for speed-up in most situations.
- Now shows ASIC artefacts for mode 1/2 <=> 3/4 switches.
- Screenshot save in PNG format.
- Optional stretch-to-fit for better use of full-screen space.
- Smarter window resizing to keep aspect, with snap sizes when shift held.
- Improved internal screen handling, including on-screen text.
- Improved mode switching, particularly Alt-TABing from full-screen.

- Support for single file disk images, for easy use of SBT files.
- Multi-sector reads now correctly leave BUSY flag set [fixes SAM Mines].
- Implemented WRITE_TRACK floppy command for disk formatting.
- Floppy 2 LED now replaced with red hard disk LED when ATOM active.

- Mono and stereo parallel DAC sound support.
- Removed DAC optimisation option - now detected automatically.
- Parallel printer support to a windows printer (with manual flush option).
- MIDI-Out to choice of Windows device.
- Spectrum beeper implemented as DAC to sound better on slow systems.
- Fixed quirky SAA sample playback (fixes Space demo on Fred 59) [Dave Hooper]

- Clocks can now advance relative to emulated time as well as real time.
- System time changes now handled at run-time.

- Automatic support for most keyboard mappings.
- Buffered input for better key responses on slower systems.
- Redefineable function keys to assign the choice of emulator actions.
- Turbo key (5fps, no sound), for zooming through slow running programs.
- Temporary key release to avoid ")0"-type problems with key combinations.

- Simpler option presentation with Win32 property sheet.
- Main window now requires left-click before grabbing mouse control.
- Hardware cursor over main window to avoid flicker and slow-down.
- Windows cursor auto-hidden after 3 seconds.
- Windowed mode now maintains the correct aspect ratio.
- Emulator files accessed relative to the main EXE (allows shell associations).


Version 0.80 alpha test 4 (21st August 2000)
--------------------------------------------
- Two-step video mode changing, with page change 1 cell after the mode.
- Preliminary mono and stereo DAC support for parallel port 1.
- New DAC optimisation option for better sample plackback on slow machines.
- Support for reading real SAM disks under Windows NT/2000 with SAMDISK.SYS.
- Clock advancing can now be linked to emulated time.
- Improved leap-year detection, instead of just checking multiples of 4.
- AltGr now only optionally for Edit key, as some keyboards use it for symbols.
- Incomplete MIDI messages are discarded, for better resync on new playback.


Version 0.80 alpha test 3 (22nd June 2000)
------------------------------------------
- Much improved contention timing for memory and I/O accesses [Dave Laundon]
- MIDI OUT interrupt now supported [Dave Laundon]
- Interrupt active times now perfect (fixes Defender).

- Hardware overlay support for UYVY, YUY2 and RGB formats.
- Added on-screen floppy activity indicators and status/profile text.

- SAA address now masks unimportant bits before comparing (fixes MOD Player).
- SAA calls no longer cached to allow fix consecutive writes to data port 511.
- MIDI OUT support to the default Windows device.

- Disk save support enabled, as the general disk appears to be reliable.
- Floppy motor now switches off after 10 revolutions of idle.

- Input now updated half way down screen to avoid key bounce side effects.
- Run-time support for Windows keyboard mapping changes.

- Preliminary serial port support for modem use.
- Spectrum mode initialisation now sets up paging/palette as appropriate.
- Disassembler re-written for compactness and complete instruction coverage.


Version 0.80 alpha test (11th November 1999)
--------------------------------------------
- Crude instruction rounding used to implement approximate memory contention.
- Additional delay and rounding performed on I/O on ASIC-handled ports.
- Improved active duration for interrupts.
- Fixed INI/IND not setting Z flag when B reaches zero (fixes BDOS).
- True 256K base memory configuration now available in addition to 512K.
- HPEN reads now return appropriate line number.
- ATTR reads allow border area detection (on-screen value always zero for now).

- Cell-accurate display updating for much improved display of video effects.
- Screen-off support to allow display disabling through border port.
- 50Hz frame sync using multimedia timer to trigger an event.
- Added full-screen mode and run-time switching to/from windowed mode.
- Added automatic and manual frame skipping.
- Auto fallback of video support to best available mode.
- Corrected flash attribute frequency to every 16 frames (was 25).

- Full SAA/beeper sound support using Dave Hooper's SAASound library.

- Implemented READ_TRACK and READ_ADDRESS commands (fixes SAM DICE).
- Enhanced index pulse, write protect and spin-up floppy controller flags.
- All new disk imlementation for DSK/SAD files (save support disabled for now).
- New SDF image format created to handle copy protected disks.
- Support for gzipped and (read-only) zipped disk images.
- Drag and drop file support to mount disk in drive 1.

- Keyboard and mouse changed to use DirectInput, and joystick support added.
- Preliminary ATOM hard disk emulation to give basic BDOS 1.4e support.
- Fast boot option temporarily modifies the SAM ROMs for an instant boot.
- Auto-boot option to automatically press F9 on bootup.
- SAMBUS and DALLAS clocks supported.


Version 0.80 pre-pre-alpha (8th March 1999)
-------------------------------------------
- Quick and dirty port, changing as little as possible to get code to run.
- Added DirectX windowed display support for 8, 16 and 32-bit modes.
- Added basic Win32 keyboard and mouse implementation.


27th February 1999
------------------
- Started porting the X version of SimCoupe 0.72 to Win32.
