Skip to content

@TomHarte TomHarte released this Sep 29, 2019 · 2 commits to master since this release

This release corrects:

  • a timing miscalculation in the TMS9918 (and derivatives) which affected Master System After Burner;
  • an error in Apple II card state management which could cause cards to acquire an extra clock cycle from the aether (and, in practice, thereby broke Disk II writing); and
  • a more generic error in time counting in drives with a fixed rotation speed that crept in when variable-speed drive support was added for the benefit of the Macintosh and potentially affected all other emulated machines in fairly subtle ways.
Assets 3

@TomHarte TomHarte released this Sep 22, 2019 · 16 commits to master since this release

  • adds emulation of a 4mb Macintosh Plus, with its SCSI interface and corresponding support for hard disk images;
  • adds optional fast-boot support for the Macintoshes, in which the emulator forces their boot-up memory test to be skipped;
  • I've switched to a different model of Macintosh RAM timing: I now believe that for the models I emulate the proper behaviour is alternating four-cycle access and non-access windows while pixels are being output, and offering full bandwidth RAM access the rest of the time; and
  • on a Mac host, ensures better routing of the command key into the emulator — it now won't trigger normal app-level host shortcuts while the mouse is captured. So e.g. command+q will be signalled to the emulated Macintosh, causing the application it is running to exit, rather than causing the emulator to exit.
Assets 3

@TomHarte TomHarte released this Aug 5, 2019 · 110 commits to master since this release

On Macintosh accuracy:

  • introduces video-motivated memory access delays, improving speed accuracy;
  • makes the IWM's windowing logic much more like that described in its patent;
  • reworks address decoding logic, yielding a small speed improvement and eliminating a small number of address space mapping errors; and
  • improves 68000 behaviour re: interrupt acknowledgement, timing of interrupt decisions, and DIVS timing.

On usability:

  • introduces activity indicators for the Mac floppy drives;
  • provides on-screen exposition as to how to release your mouse cursor; and
  • following user feedback, the Cocoa version of Clock Signal now shows the File -> Open... dialogue at launch.
Assets 3

@TomHarte TomHarte released this Aug 2, 2019 · 140 commits to master since this release

Corrects a bug that could cause a crash at startup on the Mac if starting a Macintosh via File -> Open... without having first provided a system ROM.

Assets 3

@TomHarte TomHarte released this Jul 28, 2019 · 163 commits to master since this release

Quick fixes:

  • corrects a misassumption about Macintosh video address latching, that led to graphical glitches in MacMan, Skyfox and elsewhere; and
  • eliminates support for PlusToo-style BIN disk images, thereby resolving ambiguity over cartridge-image .bin files.

The latter was preventing use of a variety of ColecoVision and Atari 2600 titles.

Assets 3

@TomHarte TomHarte released this Jul 27, 2019 · 167 commits to master since this release

  • adds a preliminary emulation of the Macintosh 512ke;
  • extends information provided for ROM identification in SDL;
  • corrects a potential VIC-20 crash at startup;
  • ensures the Swedish VIC-20 uses the correct ROM;
  • corrects a potential crash at startup for the Apple II if Apple II ROMs have been supplied but Disk II ROMs are missing;
  • improves Pravetz missing ROM announcements; and
  • disables under sampling for any display type that is "precise" — RGB outputs in particular.

I'm planning to iterate on the Macintosh; it's very provisional. Amongst the known defects out of the gate:

  • the 68000 executes DIVS too quickly and checks interrupt status at the wrong time;
  • no costs accrue from memory contention;
  • incomplete IWM/drive emulation currently prevents support for emulation of the original 128k Macintosh and the 512k Macintosh;
  • insufficient user feedback is given when trying to insert new disks, or switch the system off.

So lots to work on.

Assets 3

@TomHarte TomHarte released this Mar 10, 2019 · 785 commits to master since this release

This release:

  • adopts an adaptive output quality aimed at improving the frame rate, especially on HiDPI(/'Retina') displays;
  • adds temporary mouse hiding to the Mac port; and
  • improves the emulation accuracy of AY IO ports.
Assets 3

@TomHarte TomHarte released this Mar 3, 2019 · 804 commits to master since this release

Corrects a bug that could cause the Mac version to crash when starting a machine, and improves Nvidia compatibility.

(Note: an earlier version of this release did not include the Nvidia fixes)

Assets 3

@TomHarte TomHarte released this Mar 3, 2019 · 811 commits to master since this release

This release:

  • introduces a significant re-engineering of the video-handling pipeline in order to:
    • remove luminance aliasing errors; this should be particularly obvious on systems like the NTSC Master System and MSX when smooth scrolling horizontally;
    • add a monochrome composite path, now exploited by the Apple II; and
    • make it absolutely impossible for machines to leave noise at the edges of the display;
  • fixes two timing errors in the ColecoVision emulation: adds an M1 delay and makes the SN76489 access delay the proper length;
  • introduces European and Japanese operation modes for the MSX (with the former being in compressed 50Hz PAL-o-vision, naturally — though to me it looks a lot nicer without the NTSC TMS rainbow effect);
  • corrects a bug that would cause screenshots to be written incorrectly if not a multiple of 4 pixels wide;
  • resolves timing issues in Apple II video generation that were causing a sync fault that would curve the first line of the display;
  • resolves errors in MSX tape handling, specifically of the CAS file format and a bug according to which the fast tape routines could get confused and intercede during user program execution; and
  • causes the the Electron to handle output-buffer-full events properly so that the display doesn't jump if processing falls behind.

The following are known regressions, relating to the same issue:

  • the Oric is temporarily not using its original colour ROM for video output; and
  • that's to do with the way that chroma sampling is phase aligned and my belief that what I was doing before for the Oric probably wasn't sufficiently rigorous, a side effect of which is also that chroma crawl isn't always presented correctly.
Assets 3

@TomHarte TomHarte released this Oct 30, 2018 · 1049 commits to master since this release

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

Assets 3
You can’t perform that action at this time.