News
Wednesday 9th May 2007
There's a new OS/2 build available on the download page, thanks to Jali Heinonen.
Work continues on the next SimCoupe version, with periodic updates posted on my development blog. Version 1.0 already has good accuracy and portability, so I'm focussing on other emulator features for the next release.
Friday 21st July 2006
It has been a long wait, but it's finally here!
This major update officially adds SDL, Allegro and Pocket PC targets to the previous Win32-only release. There are improvements and additions across the board, giving the most authentic experience yet.
Changes for version 1.0:
- 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
Wednesday 4th December 2002
Other commitments and projects have kept me away from
SimCoupe for a while, but I've started to pick it up again.
The debugger core
is almost complete, though the UI needs more work (for breakpoint
editing in particular). It supports step-in/out/over, and conditional
breakpoints on execution, memory and I/O accesses. Toolkit functions
for viewing/editing data/text will be added in a future version.
Saturday 6th July 2002
The new GUI dialogs are coming along nicely, with the
file selector already in place,
and the options nearing completion.
The settings screens for sound,
system and misc.
should certainly look familiar to Win32 users, as they share the same
design!
The new dialogs will be used by the SDL and Allegro versions
- there are no plans to replace the native Win32 dialogs at this time.
Tuesday 2nd July 2002
The URL masking system used by the simcoupe.org
domain has been experiencing problems over the last week. The site
may report proxy errors or be completely unavailable - even when up
the speeds have been a bit slow, but it's being worked on so hopefully
it'll be fixed soon.
Saturday 8th June 2002
It's taken a full week to complete, but the code in
CVS is finally up-to-date. Work will now continue on creating
some real screens using the new GUI,
which will include options configuration and the debugger.
Saturday 1st June 2002
It's been quite a while since the last news update...
Happy New Year btw!
Work on the project has been slow, but I can assure you
that it's far from dead. A recent flurry of activity has completed
some outstanding items that have made regular CVS updates difficult.
Progress has also been made on a couple of side projects, aimed at
improving access to real SAM disks and the contents of disk images.
I've begun the long and arduous task of updating CVS with
all the changes that have accumulated over the past months. It's likely
to take a few days to complete, during which time you may find that
certain combinations files may not build - please bear with me.
Thursday 27th September 2001
Work continues on the SDL versions, to bring the functionality
much closer to that of the Win32 version. Full sound support has already
been added, and work on the all-new user-interface is progressing
nicely. Once the UI is complete a new version won't be too far behind.
There are plenty of other enhancements already in place
for the next version, so watch this space!
Wednesday 11th July 2001
Finally released version 0.81a to the public, after pretty
much being in private beta since March. This release features only
a Win32 binary, as the SDL version isn't yet in a conveniently useable
state yet.
Sunday 10th June 2001
The CVS respository for the SimCoupe
project at SourceForge has finally been updated. The code currently
builds for Win32 (native) and Linux/BeOS/Win32 (SDL), and provisionally
for MacOS too.
Tuesday 1st May 2001
A SimCoupe project has been set up at SourceForge,
where the source code will be uploaded in the coming weeks.
Tuesday 10th April 2001
With the simcoupe.org domain registered, SimCoupe
finally has a home again!
Friday 9th March 2001
Minor bug fixes and tweaks from previous version.
Changes in version 0.81a:
- 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.
Tuesday 27th February 2001
Changes for version 0.81:
- 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).
Monday 21st August 2000
Changes in version 0.80 alpha test 4:
- 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.
Thursday 22nd June 2000
Changes in version 0.80 alpha test 3:
- 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 buffered 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.
Thursday 11th November 1999
Changes for version 0.80 alpha test:
- 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.
Monday 8th March 1999
Changes for version 0.80 pre-pre-alpha:
- 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.
Saturday 27th February 1999
Started work porting the X version of SimCoupe
0.72 to Win32.