The ZX Spectrum Emulator for Macintosh
![]() |
Manual | Version History
Version 1.0.i (first public release) Compiling with Think C 6.0 under System 7.1 on my LC III Version 1.0.n Corrected loading of .z80 version 1.45 snapshots Implemented loading of .z80 version 2.01 snapshots (48k Specci only) Changed .z80 file type to " Z80" (same as MacSpecci uses) Changed .sna file type to "Snap" (same as MacSpecci uses) Version 1.0.p Helpscreen with Specci keyboard picture added Unused and DAA related flags are now preserved with push/pop af Version 1.0.r New "about" box for English and German version Version1.0.s Now compiling with Think C 7.0 under System 7.1.2 on my new PPC 6100 (Think C 7.0 still crashes under System 7.5 like version 6.0 did...) Version 1.0.t Windows menu added Select language (english/german) from menu Tape recorder window now with normal title barSupport for 8 bit indexed color displays Version 1.0.u Compiled with Think C 7.0.4 under System 7.5 Now checking for system requirements at start up Decided to remove all commercial distribution restrictions Version 1.0.v (public release)
Added preferences Windows are no longer generated from 'WIND' templates Version 1.0.w Fixed a bug in the parity calculation Added emulation of IM0 (though there seems to be no real need for this...) Fixed event response delay when z80 program crashes with interrupts off Version 1.1.0 Replaced old tape file format by .tap file format of Gerton Lunter's Z80 Replaced Specci keyboard scan with Bo Lindbergh's Specci keyboard pict Added save snapshot in .Z80 file format Version 1.1.1 Modified logic for external command calls to speed up i/o commands Implemented single step trace mode for the Z80 engine First try to check my Z80 engine against another interpreter. Version 1.1.2 Added optional code for ROM write protection Added optional code to generate debugger information for some instructions Added optional code for "used instruction" and "executed location" profiles Added code for debugger information on first use of instruction / location Shortened source of Z80 engine drastically by using a lot of macros Up to 3 missed interrupts are now delayed => better timer results Version 1.1.3 Fixed error with bit 7 of r register Fixed error with iff2 on normal interrupt processing Fixed problem with notebooks going to sleep mode (thanks to Fabrizio Oddone) Version 1.1.4 Added a lot of illegal instructions with prefix 0xED Version 1.1.5 Removed weird bug which triggered nmi after restarting halted Z80 Now suspending the Z80 while Mac Spectacle is not the frontmost application Added a lot of illegal instructions with prefix IX / IY Version 1.1.6 (public release) Removed new bugs in Z80 engine which were introduced in version 1.1.2 Removed bug in ex de,hl after ix/iy prefix Version 1.1.7 Added Apple-W to close top window Removed bug in ld sp,nn opcode -> virus.sna now o.k. Reset now releases halt instruction with interrupts off Version 1.1.8 Better random generation for r register Optional exact r register emulation in Z80 engine Optional exact T cycle timing in Z80 engine Version 1.1.9
New menu option to limit emulation speed to 100% Version 1.1.a Revised exact speed option Added display of real speed [%] in cycle counting version DAA should now work after index register operations too (ever needed?) Version 1.1.b Combined fast and exact speed Z80 engine into a single version Version 1.2.0
First version with sampled sound output! Version 1.2.1 Fixed severe bug in Do_Info() calls for illegal opcodes Version 1.3.0
Compiled successfully with MW CodeWarrior (excluding assembler coded screen update) Version 1.3.1 High speed screen update routine rewritten in C (only very slight decrease in speed) Version 1.4.0
Z80 engine rewritten in C - Jee, it works! - Now PPC native! Version 1.4.1 Now patching ExitToShell to remove ticker routine (thanks to Jose Soares) Discarding frames missed during PollEvents() Now preserving windows position after closing them Revised preferences handling Version 1.4.2 Removed bug in im2 handling in PPC version, now most games run ok Version 1.4.3 Added Do_Info() calls etc. in PPC version Added ROM write protection in PPC version (-> Starquake, Fred) Version 1.4.4 Compared Z80 engines of 68k and PPC version: 1 x bug, 1 x timing, 1 x undocumented flags Version 1.4.5 Separate preferences for PPC and 68k version New option in 68k version to use C coded Z80 engine (same as PPC version but slow!) Version 1.4.6 (public release) Improved screen refresh: test for visibility, hiding of mouse arrow Load ROM added (-> Shadow of the unicorn) tried to use offscreen bitmaps ... failed! Version 1.4.7 Display of name of loaded snapshot in windows drag bar Menu entry to select sampling rate of sound output Removed bug in saving .z80 files which didn't release temporary memory Reduced memory requirement of display driver Version 1.4.8 Load and save .scr screenshots Save .rom ROM image file Save .pict screenshot no longer separate menu item (included in standard 'save' menu item) Fixed patch for PPC version of interrupt trigger routine (thanks to Jose Soares) Version 1.4.9 Improved screen update routines, added 32 bit true color screens support "about" box now 'programmed' and no longer a simple pict, saving 24 kByte disc space ShieldCursor() now works, don't know why it didn't work prior... Custom icon for .scr files Version 1.5.0
Offscreen pixmap used to refresh partially hidden screens Fast screen update for b&w screens Version 1.5.1 Revised handling of windows menu (more conformant with Mac GUI guide lines) Now fat binary instead of two versions Version 1.5.2 Highres screen update mode Version 1.5.3 Combined ear and mic sound output Highres border update Version 1.5.4
Secondary monitors are now handled correctly The total of user and programmer friendlyness of any given OS is less or equal to 100%. The user friendlyness of Apple Macintosh computers is 95%. Unluckily i have decided to program.... Version 1.5.5 (public release) Revised keyboard handling in 'game' mode; added pict to keyboard manual Kempston joystick interface emulation in 'game' mode Version 1.5.6 - 1.5.8 A lot of improvements but i got stuck while i was implementing the paged memory model. So i reset the project to version 1.5.5 Version 1.6.0 Screen magnification 3 and 4 Improved b&w display
All opcodes decoded, no unsupported opcodes in C coded Z80 engine Version 1.6.1 Added debugging stuff (info calls and profiling) Version 1.6.2/1.6.3 Cleaned up source: preparation for paged memory model rework! Removed bug in save pict routine, which was introduced in an earlier version Version 1.6.4 Now using Infinity windoid WDEF for tape recorder window Removed bug in console which did not released memory when the console window was closed Version 1.7.0
Paged memory model implemented in C coded Z80 engine; speed decreases to 75% Version 1.8.0
AY-3-8912 sound chip emulation Version 1.8.1 Fuzzed around with the sound chip emulation - didn't improve Removed bug in quad sized 1/2/4 bit deep screen update Added INI, IND, OUTI, and OUTD to the 68k coded Z80 engine (oops!) Emulation of IN(0xFF) included -> Target Renegade Version 1.8.2 (intermediate public release) Option to switch off multi tasking and black out rest of screen Profiling and info calls re-implemented in 68k coded z80 engine Version 1.8.3 .z80 version 3.0 files now supported Version 1.8.4 replaced quick_strings by strings (you won't notice that, though) replaced console window by terminal window -> resizable Detected new introduced error in best emulation: probably s.th. with the interrupt handling Clicking in keyboard pict triggers corresponding keys Select "Load..." with "shift" or "option" pressed to open any file ignoring file type Version 1.8.5 Hunted and extinguished new error in best emulation (LD L,H garbaged... grrr!) Version 1.8.6 Hunted new error in better emulation, found one, but there is still another ... grrr! Version 1.8.7
Worked on the tape recorder: create empty tape erase blocks on tape save to arbitrary position verify block copy deck (dual tape drive) Version 1.8.8 Predictable r register guessing in not exact r register emulation -> surprisingly error in 'better emulation' no longer shows up! Version 1.9.2 (public release) Reworked from garbaged source Sound output modified to work on MacOS 8.xx Version 1.9.3
Removed bug in paged memory handling of zx 128 (yes, there really was a bug!) thanks to Jonathan! Version 1.9.4 Shortcut for keybord mode, ROM writable switch, no reset after loading buggy .scr files. Version 1.9.5 Union Jack for british language selection, +2 roms added. thanks to Andrew Owen. Version 1.9.6
finally found that bug in the 68k assembler coded z80 engine (aka 'better' emulation) which haunted Mac Spectacle since version 1.8.6. it was a bogus macro definition for BC register access which used HL instead... It seems that BC is not often used as a single 16 bit register. Version 1.9.7 Bug in LDDR emulation removed, which under very rare circumstances crashes the whole Mac.
back to top | Manual | Version History