@TomHarte TomHarte released this Oct 30, 2018

Assets 3

Corrects a bug that gave the ColecoVision, MSX and Master System a moderate chance of crashing upon startup.

@TomHarte TomHarte released this Oct 27, 2018 · 2 commits to master since this release

Assets 3

This release:

  • adds provisional support for the Sega Master System and its most immediate predecessor, the SG-1000;
  • corrects a keypad reading error affecting the ColecoVision, thereby correcting those games that were blocked at their title screen; and
  • introduces even more accurate VRAM access timing for both of the TMS machines — the ColecoVision and the MSX.

@TomHarte TomHarte released this Sep 13, 2018 · 158 commits to master since this release

Assets 3
  • corrects an over-brightness issue affecting the MSX, CPC, ColecoVision, 2600 and Vic-20 that on some machines made some colours indistinguishable;
  • ensures that 'double' Apple IIe modes (80-column text, double high resolution and double low resolution) no longer output four pixels of old data on the right edge of the display;
  • corrects MSX pasting behaviour — previously only short strings would work;
  • eliminates potential near-pixel-boundary output errors on the Electron; and
  • ensures that window resizing can't leave a stray column of pixels on the left.

@TomHarte TomHarte released this Sep 9, 2018 · 183 commits to master since this release

Assets 3

Primarily Apple II fixes:

  • selecting the alternate character set no longer leads to a corrupted display;
  • DSK files are now converted to disks with track skew;
  • decoding of the keyboard and audio ports is less specific;
  • an error in 40/80-column text selection in mixed mode is corrected; and
  • the two undocumented graphics modes are now implemented.

On the Mac, the Info.plist has also been corrected (thanks to @MaddTheSane !) so that the app no longer incorrectly claims its icons apply to all possible file formats which share extensions with those that it recognises.

@TomHarte TomHarte released this Aug 26, 2018 · 202 commits to master since this release

Assets 3

This release:

  • expands the 6502 emulation to include, in reverse order of sophistication:
    • the WDC 65C02, and the Rockwell and Synertek 65C02 subsets of it;
    • the original NMOS 6502, as it has to date; and
    • the NES 6502, for completeness, while I'm in the area.
  • uses its new 65C02 support to offer the Enhanced Apple IIe;
  • improves Apple II video emulation further:
    • IIe double-width video is shifted 1.75 colour cycles to the left; and
    • soft switches that affect graphics mode now take two cycles to come into effect.
  • adds a direct 'Insert Media...' option into the macOS File menu, to make the route for changing disks, etc, explicit. You can still drag and drop directly onto the window in both macOS and SDL.

@TomHarte TomHarte released this Aug 5, 2018 · 267 commits to master since this release

Assets 3

This release makes big strides in its Apple II emulation:

  • Apple IIe emulation is added, enabling use of such noteworthy titles as Prince of Persia and Airheart;
  • an issue with joystick emulation is fixed, making it work correctly with a much wider array of titles; and
  • a spin-down error with the Disk II is fixed, which was causing large quantities of software to load a lot more slowly in the emulator than in real life.

It also:

  • adds built-in screenshot grabbing for both the SDL (ctrl+shift+d) and macOS (command+shift+d) targets; and
  • eliminates a ColecoVision cartridge size sanity check that was found to be inappropriate for large quantities of homebrew software.

@TomHarte TomHarte released this Jul 22, 2018 · 328 commits to master since this release

Assets 3
  • corrects a potential TMS (i.e. MSX and ColecoVision) output error that could lead to 8 pixels of garbage next to 8px-wide sprites;
  • resolves a long-standing error whereby fullscreen-mode use could leave accumulated drawing errors on the right edge of the display on machines with less-predictable sync (so: primarily the Amstrad CPC and ZX80/81);
  • adds joystick input support to the MSX for both SDL and macOS; and
  • adds support for real joysticks under macOS. Without any configuration options for now.

@TomHarte TomHarte released this Jul 12, 2018 · 352 commits to master since this release

Assets 3

Observing that the rule of thumb for a new release is improved functionality, not quantity of changes:

  • corrects a regression that had prevented UEFs from launching an Electron;
  • corrects a TZX parsing error that inhibited usage of many files from the MSX Files Repository at http://tsx.eslamejor.com (or anything else with a custom info block); and
  • most strongly affecting the SDL version, ensures that only ROMs a machine actually needs are sought.

That final bullet point actually encompasses a significant simplification of machine startup conventions, supposing you're watching the source.

@TomHarte TomHarte released this Jul 6, 2018 · 365 commits to master since this release

Assets 3

Contains a substantial alteration of the data structure used to hold [arbitrarily multi-rate] modified diskettes, leading to much more predictable behaviour for certain combinations of clock rate — in particular the Disk II when written to from either the Apple II or the Oric.


  • tweaks the CPC's visible area again, better to match the CTM monitor;
  • corrects an AY reading bug whereby values loaded onto the data bus remained visible for all time, even when the bus was ostensibly running in the other direction;
  • implements open collector logic for reading from an AY IO register that is ostensibly in output mode; and
  • takes yet another crack at trying to rationalise Apple II .NIB handling with emulating a real disk drive.

@TomHarte TomHarte released this Jun 24, 2018 · 391 commits to master since this release

Assets 3

For the Apple II:

  • adds joystick emulation, completing the set of base II+ hardware;
  • introduces an optional attempt to accelerate DOS 3.3 loading; and
  • attempts to improve NIB support. But that might be a losing battle. It's an emulator fiction format, for inaccurate emulators; very hard to reconcile with real hardware (or emulated real hardware).

For the Amstrad CPC:

  • properly models the Gate Array's handling of the CRTC's HSYNC period to include blank and a colour burst;
  • thereby adds support for composite video output;
  • adds joystick emulation; and
  • tweaks the Z80 very slightly to pass the WinAPE Z80 timing tests.

For the SDL version:

  • real joysticks are now properly transcribed to emulated machines; and
  • the ROM path can be specified on the command line, supposing you don't want it to be system-wide.

For the Mac version:

  • your real keyboard can now be toggled between being a keyboard and pretending to be a joystick; and
  • activity indicators are now available: disk is the main thing exposed.

For all machines and versions:

  • I've tightened up the inter-frame blending a little; the display should be less soft.