What's New in version 9.0
This version has significant enhancements to the debugger:
Add debugger projects to save and load debugger sessions (breakpoints, watches, labels, comments, bookmarks).
Significant enhancements to the breakpoints system:
Breakpoints can now be disabled and enabled without having to delete them.
Break on condition (execute, memory r/w, i/o r/w, hit count) with expressions.
Common C-like expression language for debugger expressions.
Assign labels for easy reference in the new breakpoints window.
Helpers for common i/o breakpoints such as ULA, keyboard rows, Kempston joystick, memory paging.
Watch window:
Watch memory locations based on expressions.
Convenience functions to quickly watch system variables.
Enhanced disassembly window:
Added inline assembler.
Undo/redo when editing bytes or assembling code.
IY+d/IX+d are now hyperlinked.
Ctrl-click a hyperlink to open the link in the Memory Inspector.
Context menu option to open an address in the Memory Inspector.
Added bookmarks for quick navigation.
Add comments to the disassembly.
Make selections using the mouse.
Cut, copy and paste memory blocks.
Copy to the clipboard as DEFBs for inclusion in external tools.
Memory Inspector:
Toggle between bytes, words and ASCII values.
-
Shows the call stack (stack pointer) when stepping through code.
Double-click to jump to the disassembly window at the call site.
Use Quick Peek to quickly see the code at the call site.
-
Show the active, normal or shadow screens.
Show only pixel values.
See immediate updates when stepping through code in the debugger.
Quick access to set pixel/attribute read/write breakpoints via context menu.
-
Find and show sprites, fonts and other graphical data.
Support tile sizes up to 256x256 pixels.
Set pad bytes to skip metadata.
Copy sprites and other graphical data to the clipboard.
Export sprites and other graphical data to PNG files.
-
Mouse over an address to see the disassembly, bytes and ASCII values behind it in a tool tip window.
Other debugger improvements:
Memory map added to the registers window.
Extra Run until options:
Run until a condition is true.
Run until an event (e.g. tape stops).
Added support for the inline assembler to the Find window.
Option added to Advanced Settings to pause the emulator when switching to other applications
Fix Run to start of frame and Run to end of frame not always breaking at the correct time.
Other fixes/enhancements:
Support for high DPI displays
UI elements are now scaled correctly.
Zoom options now scale correctly.
Text is now crisp and clear on high DPI displays.
Overlays scale correctly.
Improved compatibility with multi-monitor setups:
Full screen on any monitor
Prefer fullscreen, windowed mode (Desktop) in the advanced settings to avoid changing the screen mode.
Can use your entire desktop without Spectaculator minifying if you leave its monitor.
Windows will no longer snap back to the primary monitor on start up.
Fix audio output for TZX 1.20 GDB blocks in some scenarios.
Fix .tzx files only containing GDBs not being playable.
Fix AY noise period.
NMI key is now Alt+F5 to stop debug F5 triggering it by accident.
Auto load now randomises the system state.
Fixed COMCOM keyboard joystick typos in UI to COMCON.
Fixed crash when
HDMIaudio is disconnected during monitor sleep.Fixed early/late timings resetting to early.
Escape ampersands in file names and the recent files list.
Clear P/V flag on an interrupted LD A,I/R as per known Z80 bug.
Fix timing for sequences of $FD/$DD prefixes.
+2A/+3: Switch screens between pixel and attribute byte fetches. With thanks to Patrik Rak.
Fixed clipping of display on ultra-wide monitors (e.g. 32:9 aspect ratio) in full screen mode.
Interface 1 ROM is now mirrored at $2000 due to partial address decoding.
Add option to pause the emulator when Spectaculator loses the focus.
Use
UTF-8encoding for license key names to avoid problems with non-ASCII characters.GAC can now save runnable adventures to tap/tzx files.
Minimum requirements are now Windows® 7 /w SP1, all cumulative updates and hardware-accelerated Direct3D 9 graphics.
Revision History
What's new in version 8.0
Minimum requirements are now Windows XP /w SP3 and hardware-accelerated Direct3D 9 graphics. It will no longer install on older versions of Windows.
Added Dynamite Dan and Dynamite Dan 2 to the Game Pack courtesy of Rod Bowkett.
Added support for Overlay filters (RGB Triads).
Added support for Kega Fusion Render plugins. Any RPI scaler that supports 2x scaling can now be used with Spectaculator.
Added manual controls for the TV simulation (brightness, contrast, colour bleed, sharpness etc.)
The Escape key can now be configured to exit Spectaculator rather than sending CAPS+SPACE to the virtual Spectrum.
Fixed various problems with Quick Save/Quick Load:
The file name format has changed to make it easier to see which snapshots are for which games.
Choosing a snapshot to load now loads the correct snapshot.
Quick-loaded snapshots now move to the top of the list.
Deleted snapshots are automatically removed from the list.
F2 now loads the last quick-saved snapshot. Ctrl+F2 now shows the list of quick-saved snapshots.
Added support for modern game controllers such as the Xbox 360 controller.
Enter key can now be mapped to one of the joystick/game pad buttons.
Fixed AY noise generation (although you probably won't be able to tell any difference). With thanks to Patrik Rak.
Fixed crash when clicking to the right of Custom ROMs on the Advanced tab.
Fixed RZX finalisation crashing in some rare situations (thanks Pavel Plíva).
Fixed errors when writing to TRD/SCL disk images under certain situations (thanks Shadow Maker)
Fixed recording of SpecDrum output to AVI and audio files.
Fixed recording of Covox output to AVI and audio files.
Added progress indicator for RZX playback.
Added option to pause Spectaculator when the main window is minimised. This is off by default.
All binaries and the installer are now digitally signed.
Fixed selection of COM ports used by the ZX Interface 1 serial port emulation.
Various changes to resolve minor issues with Windows 8.
What's new in version 7.5
The display renderer has been completely rewritten to work better with modern graphics cards and later versions of Windows. A minimum version of DirectX 9 with a graphics card capable of hardware-accelerated Direct3D is required. This fixes the problem of blocky graphics on ATI and nVidia cards on Windows Vista and Windows 7.
Added Shay Green's NTSC Libraries to provide a more TV-like display. You can choose from the simulation of a fairly high-quality RGB display right down to a noisy RF (a.k.a. aerial) connection.
Spectrum +3 disk images in IPF format are now supported. You will need to install the IPF Support Library before IPF disk images can be used. See the installation instructions for details.
Implemented correct beeper emulation with respect to the four voltage levels produced by the ULA. The correct sound is now heard from (the few) programs using both the EAR and MIC bits to drive the speaker.
Minor improvements to the Z80 core (mostly emulation of more undocumented effects on the flags).
Fixed emulation of the unconnected upper AY registers.
Fixed reading AY control port using port $bffd on the +2A and +3 only (thanks Woody).
Added 4x zoom mode.
Fixed Interface 1 RS232 cable building instructions in the help.
Fixed problem of 48K AY mode not being restored properly from snapshots.
Updated zx-state (SZX) documentation with additions from the Fuse Team/Andrew Owen.
What's new in version 7.0.1
Fixed an oversight whereby some devices could override port reads from the ULA if a read selected both the ULA and an additional device due to partial port decoding.
If you connect all eight Microdrives to the Interface 1, the eighth Microdrive now works correctly.
Stopped an in-progess action replay (RZX) recording being finalised if the close button was clicked on the Spectaculator main window.
Fixed the 'greyed out menus can still be selected in full screen mode' bug which resulted in an immediate crash.
Fixed the Find Bytes option in the debugger which found invalid matches if uppercase hex values were used.
Fixed instruction fetch monitoring when the emulation core is in fast load mode.
What's new in version 7.00
-
User-selectable resolutions for full screen mode. Asus Eeepc users can now use 800 x 480 to avoid having to scroll.
LCD friendly refresh rates. CRT users can still use 100Hz for a more authentic display.
Support for widescreen (16:9) display modes. Spectaculator will maintain the correct aspect ratio when using these modes.
Support for 16 bit (high colour) full screen display modes.
Significantly improved performance on Windows Vista in full screen mode.
Fixed initial flicker when Spectaculator first loads and the user's display settings are applied.
-
Spectaculator now has an on-screen virtual keyboard.
The layout can be switched between the original rubber-keyed Spectrum and the Spectrum +/128K
All keys are clickable.
MGT/Datel Plus D emulation
Emulates standard G+DOS and Uni-DOS variants.
Supports two virtual disk drives.
Reads, writes and formats standard .mgt and .img disk image files. Support for extended .mgt and .img files which have 81 tracks, e.g. AlchNews 20.
Reads, writes and formats real Plus D / DISCiPLE 3½" disks (Windows XP only).
Disk drive sound effects.
Disk drives window for easy management of disk images. Disk images can be write protected, formatted, ejected, inserted and written to real floppy disks.
Capture the Plus D's printer port output to a file, the Windows clipboard or any serial or parallel port attached to your PC.
Emulation of the snapshot button to write snapshots to disk images or real floppy disks.
Added new blocks to the zx-state (.szx) format to support state loading and saving.
Support for loading and saving .z80 snapshots with Plus D information. Unfortunately the .z80 format knows nothing about the contents of the Plus D's RAM, the number of drives attached, state of the printer port, type of ROM installed etc. Use zx-state (.szx) instead.
Disk Wizard (Windows XP only)
Backs up Plus D formatted floppy disks (including Uni-DOS) to .img and .mgt disk image files.
Writes .img and .mgt Plus D disk images back to real floppy disks (including Uni-DOS disks which have a mangled Head ID field in the sector headers).
New Action Replay (RZX) features and fixes
Spectrum +2A/+3 emulation
Improved emulation of these models thanks to information gained from running Kio's hardware test program on real hardware. Thanks Kio!
Fixed crash when inserting a blank, double-sided disk image into any +3 drive.
Spectrum 48k/128k/+2 emulation
Implemented contention on refresh cycles when the I register is pointing to ULA address space. (Thanks Woody and Philip Kendall).
Added memory and I/O contention to upper RAM area on the Spectrum 128k/+2. (Thanks Patrik Rak and Philip Kendall).
A read of port $7ffd on the Spectrum 128k/+2 now correctly writes the floating bus value back to that port. (Thanks Fredrick Meunier and Marat Fayzullin).
Pentagon 128 emulation
Fixed floating bus values being returned for all unattached ports, not just $ff. (Thanks Philip Kendall).
Enhancements to the Z80 core
Added the rest of the more esoteric undocumented instructions.
Fixed a bug that could possibly crash the emulator.
Added a fast instruction fetch monitoring system for hardware that needs it (e.g. µSpeech, Interface 1, Plus D).
Fixed IM 0 interrupt acknowledge timing.
Fixed INTREQ timing for all UK models after running Woody's test program on real hardware. (Thanks Woody).
Fixed undocumented flags in BIT n,(IX+nn) instruction.
Maskable and non-maskable interrupts are now not accepted during $dd/$fd sequences.
Spectrum 128/+2/+2A/+3 communications ports
The Spectrum 128/+2/+2A/+3 communications ports output can now be redirected to a file, the Windows clipboard or any parallel or serial port attached to your computer.
Fixed deadlock when redirecting output to LPT1 when there was nothing physically connected to it.
-
Broken links can now be fixed.
The favourites list is not lost when running multiple copies of Spectaculator at the same time. You will receive a warning if you try to change the list using two or more concurrently running copies.
-
Support for v1.20 of the TZX Format (Set Signal Level and Generalized Data Blocks).
Fixed the off-by-one-byte bug in skipping unknown blocks in ZX Tape (.tzx) files.
Added support for CSW version 2 files that are not Zlib compressed.
-
Re-wrote the emulation to use memory mapped I/O ports rather than ROM traps.
Fixed the speech when in Sinclair BASIC (this was broken in 6.25).
Extracted the allophones from a real µSpeech for a more genuine sound.
Fixed intonation (broken since 5.0)
-
Removed the ROM traps as they are no longer needed. As a side-effect, games and other programs which do a crude CRC on the 48K ROM (e.g. Fairlight) now load with the Interface 1 connected. Dr. Logan's diagnostic test program now works correctly.
Fixed the Eject Microdrive Cartridge keyboard short cut (Alt+J) when using Ctrl as Symbol Shift.
Spectaculator can now use .mdr files that have the write-protect byte missing from the file.
-
Spectaculator can now load 8KB ROMs such as the Parker prototypes. The second 8KB block in the ROM space is a duplicate of the first 8KB.
-
Added emulation of the Comcon programmable joystick interface. This joystick allows mapping of the directional controls as well as the fire buttons to keys on the Spectrum keyboard. You can map all 32 buttons on your real joystick/gamepad, if you have that many.
Removed the Always return valid Kempston joystick data option. This only existed for compatibility with some old .sna snapshots that assumed a Kempston joystick would always be present.
Changed the port decoding for Kempston mode to default to $df since that's what nearly all the various Kempston clones that were made respond to. This gets the Kempston option on various games such as Nonamed and Jungle Warrior working. You can change the decoding back to Genuine Kempston ($1f) in the Advanced tab of the Options property sheet.
The joystick configuration dialog has been redesigned so it is now possible to completely disable joystick emulation, even when you have a real joystick attached.
-
Displays (IX/IY-128) correctly.
Correctly decodes redundant $dd and $fd prefixes.
Fixed display when memory is paged during single-stepping.
Changed SL1 opcode to SLL as this mnemonic is more common, if incorrect.
The decimal/hex setting is now respected by the register(s) editor.
-
Several users reported random crashes in TR-DOS when emulating the Pentagon 128 and Scorpion ZS 256. This is due to the Multiface being enabled when it is not compatible with the Beta 128 disk hardware. The Multiface is now disabled when emulating these machines.
The Multiface emulation has now been completely re-written. The Disable switch on the Tools->Multiface menu now only works for the Multiface 1 (since it was the only model which had a physical disable switch).
Triggering an NMI (Control menu->Generate NMI) when the Multiface 128 or Multiface 3 is disabled (they are both disabled at power-on) will now correctly just generate the NMI and not activate and page in the Multiface.
The Multiface red button (Tools menu->Multiface->Activate) is required to activate and page in the Multiface 128 and Multiface 3
Saved Multiface 3 snapshots will now reload.
The contents of the ROM are now saved to zx-state (.szx) snapshots if Enable writes to Multiface ROM is selected.
Miscellaneous
Spectaculator's plug-ins are no longer UPX packed since a few incompatibilities have been found which can cause crashes.
Tidied up the menus, adding access keys (mnemonics) where they were missing.
Startup error dialog boxes no longer appear behind the splash screen.
View->Border->Small now correctly sets the correct window size when the menu bar wraps.
Copying the screen image to the clipboard now works in fullscreen modes.
Saving the screen image now works if Spectaculator is in fullscreen mode.
The Quick load dialog box now lists the snapshots in the same order as described in the online help (newest at the top).
Imported machine code can now be immediately executed.
The File->New dialog box can now be navigated correctly with the keyboard.
Double-clicking the title bar now enters full screen mode, just like the maximise button.
Fixed ZX Printer listings having lines cut-off at the bottom of a page.
Tape sound is now recorded when using the audio recording.
ZS Scorpion .z80 snapshots are now saved with the correct page numbers.
I would like to personally thank Steve Parry-Thomas for the loan (and subsequent refusal to have back) a Plus D and disk drive. It was his generosity that made the Plus D emulation in this release possible.
Sincere thanks also go to Paul van der Laan of type invaders for supplying the images of the Spectrum 48K and Spectrum 128K+ used on the virtual keyboard.
What's new in version 6.30
Fixed a bug that could randomly crash the emulator on very fast hardware (e.g. Intel Core 2 Duo). Quite a few people have reported this as a Vista problem but it's actually hardware specific.
Did some compatibility testing on Windows Vista:
Spectaculator crashes at startup when hardware DEP is enabled (although it runs fine on XP SP2). The cause is the software licensing system. We're working with the vendor to get this resolved but, in the meantime, the installer will add Spectaculator to the DEP exemption list.
Microsoft have removed WinHlp32.exe from the Vista distribution. This prevents the context-senstive help on the dialog boxes from working correctly. See KB917607 for more details.
Added Windows Vista application manifests so Spectaculator runs natively, without any File/Registry virtualisation.
Fixed initial population of the favourites list.
Updated Action Replay (RZX) recording when in tournament mode for this year's Speccy Tour.
Various minor bug fixes.
What's new in version 6.25
After a long discussion in CSS, it seems all 48k and 128k+ ZX Spectrums are not made equal. At least two demos (Megalomania and MDA) display slightly differently depending on which variation of the hardware you have. A CPU option has been added to the Advanced options page which switches between these variations. By default, it's set to NEC 780-C/SCS which runs MDA and Megalomania as their authors probably intended.
Fixed Blava part 3 when run in 128k/+2 mode. It previously just used to reset the emulated Spectrum most of the time. Please let me know if you find anything else that still doesn't work like it does on real hardware.
What's new in version 6.20
Cycle-accurate emulation of the 16k, 48k, 128k and +2 ZX Spectrums. Finally worked out the last few quirks of the ULA in these models. All programs should now run on Spectaculator exactly as they do on real hardware. This includes all those demos that produce fancy multi-colour effects as well as the game Sidewize which no longer flickers during gameplay. If you find one that doesn't, please let me know.
Added support for TZX files that are polarity sensitive. This includes Basil the Great Mouse Detective, The Mask and La abadia del crimen.
Added Softlock and a couple of other custom loaders to the flash loader.
Fixed loading from CSW files. Spectaculator would previously play an extra pulse per block which resulted in playback sounding 'slower' than it should.
Fixed the Quick-load option.
What's new in version 6.10
Added the Favourites menu, which maintains a list of your favourite games and programs for easy access.
Record audio output to a wave audio (.wav) file.
Cassette recorder now displays program headers for Turbo (ID 11) blocks in TZX files.
Added more undocumented instructions to the Z80 emulation core and debugger (various Russian demos).
Significantly enhanced the Beta 128 disk emulation (Pentagon and Scorpion).
Fixed the .SCL parser when handling large images.
Stopped auto stop on the cassette recorder kicking in incorrectly when loading Thundercats 128.
Fixed shortcut keys to increase/decrease the emulation speed when using Ctrl as symbol shift. (Now correctly says Alt++/Alt+- on the menu).
Fixed problem of mouse staying hidden when pressing F5 (NMI).
Disabled Ctrl releasing mouse when using Ctrl as symbol shift.
Fixed incorrect parsing of uppercase characters in the debugger memory editor.
Fixed spurious errors when saving .scr dumps.
Removed file extension in Save As dialog so choosing a new file extension works as expected.
Advanced setting to break into the debugger when the Z80 executes an unhandled opcode.
Faster startup time than version 6.0.
Fixed the slow response when double-clicking an icon in Windows Explorer when Spectaculator is already running.
Fixed a bug (hopefully) where using the +/- keys to change the emulation speed could cause the display to stop updating.
P.H.M. Pegasus (disk version) sometimes failed to load if autoboot disk images was enabled. Fixed.
What's new in version 6.0
Emulation of the Russian Pentagon 128 and Scorpion ZS 256 machines:
Up to four virtual disk drives can be connected at any one time.
Supports the .trd, .scl, .fdi and .udi TR-DOS disk image formats (.fdi and .udi are read-only).
Autoboot facility to automatically reset the Pentagon/Scorpion and boot from a disk inserted into drive A: (including .scl files). Hold down shift to override.
Disk drives window for easy management of disk images. Disk images can be write protected, formatted, ejected and inserted.
Emulation of Covox sound system (port $fb for Pentagon and port $dd for Scorpion).
General Sound emulation (provides the Pentagon and Scorpion with 4-channel 8-bit digital stereo sound). There are a few games converted for General Sound in World of Spectrum's TR-DOS section of the archive (e.g. Renegade, Zynaps).
Simple integrated debugger/monitor:
Browser like disassembly window with colour-coding and hyper-linked addresses.
Unlimited breakpoints.
Various trace options including Step Into, Step Over, Step Out, Run to Cursor, Run until Interrupt, Run to End of Frame.
Find facility that will search for bytes, strings and words (little-endian) in main memory.
Displays can be switched between hex and decimal.
Register values can be changed using the registers window. Colour coding shows which registers have changed during single stepping.
zx-state snapshot file format has been extended to support the Timex TC2048/TC2068, the General Sound Interface, Covox sound, and the Pentagon 128 and Scorpion ZS 256 machines.
Enhanced TZX renderer:
New versions of Injectaload protected games now load correctly.
Enhanced flash loading to load many games even faster.
The Keyboard Joystick can be changed from the Control menu. There are short cut keys for most of the supported joysticks.
Added ability to use the Ctrl key for symbol shift like other emulators.
Player 1's joystick settings can be changed from the Control menu. There are short cut keys for most of the supported joysticks.
An 800 x 600 fullscreen mode can be selected which displays the entire Spectrum border.
Option to not restore joystick settings from snapshots (Advanced tab on the options page). Useful for Speccy Tour competitors that don't want to use the joystick settings from the Tour's snapshots.
Exporting of raw machine code and data from either main memory or a specific RAM page.
Fixed the instructions feature on the Help menu (this appears to have been broken for quite some time).
Quick save/load snapshot feature to get you through the hardest parts of any game.
CSW (Compressed Square Wave) version 2 support has been added to the virtual cassette recorder.
New short cut keys (Alt+F9 and Alt+F8) for AVI Movie and Action Replay (RZX) recording.
The + and - keys on the keypad can now be used to increase and decrease the emulation speed.
New zoom level: 300%.
Fixed a bug in the +3 FDC code. New Zealand Story now loads (rather than crashing after the first part).
Handling of 128k SNA snapshots has changed. They can now only be saved in Pentagon mode as the format was specifically designed for this machine. Loading a 128k SNA snapshot will automatically switch to Pentagon mode, rather than Spectrum 128 mode.
Slight change to the handling of Interface II ROM cartridges so the ZX81 emulator can be loaded and used.
Spectaculator will now play RZX Action Replay files without embedded Snapshot blocks. You will be asked to locate the snapshot file used to create the RZX file.
In addition to the APPS key, the Scroll Lock key is now also mapped to the Spectrum's EXT MODE key (IBM Thinkpad users).
Bug fix: The Pentagon border is now correctly rendered in 24-bit windowed modes.
Bug fix: The Zip dialog (which appears if there is more than one supported file in a zip file) can now be controlled using the keyboard.
Bug fix: Rockfall 2 can now be recorded to an RZX file. This used to fail randomly due to a quirk in the RZX spec.
What's new in version 5.2
Digitally-signed Action Replay (RZX) files. Spectaculator can digitally sign RZX action replays for use in tournaments such as Speccy Tour 2003.
Fixed IM 0 instruction. For some reason it was internally using an RST 00H instruction rather than an RST 38H.
Fixed a bug in the Multiface 3 code which stops Gazza II working properly.
Spectrum +2 Z80 snapshots now load properly again. Introduced a bug in 5.1 which incorrectly switched the emulation to 16k rather than +2.
Flunky's loader was incorrectly triggering the cassette recorder's auto stop feature in error. Fixed.
Spectaculator can now load +2 and +2A snapshots created by Fuse.
Fixed a couple of typos in the keyboard map.
What's new in version 5.1
Added preliminary Pentagon 128 support (no Beta 128) to run demos requiring Pentagon timing. Examples include Rage, Eye Ache 2, PSG-Wins, Tryptomine dream. Thanks to Matt Westcott for providing the demos to test :)
You can now run multiple instances of Spectaculator on the same machine at the same time. (Actually, I just removed the code which ensured only one instance ran at once).
Support for the built-in RS-232 serial port of the Spectrum 128/+2/+2A/+3. Output can be redirected to a file, a COM port or an LPT port. This means you can LLIST or LPRINT from 128 BASIC straight to a real printer.
Support for the built-in Centronics parallel port of the Spectrum +2A/+3. Output can be redirected to a file, a COM port or an LPT port. This means you can LLIST or LPRINT from +3 BASIC straight to a real printer.
Record AVI video clips at up to 50 frames per second. The video can be compressed on-the-fly, if you have a suitably fast PC.
Several silly mistakes in the +3 FDC code have been fixed:
Both sides of DSDD disks are now read and written correctly.
Minor change to the SEEK command to get Vindicators working.
Fixed the FDC FORMAT command. Forgot to set the UNIT and HEAD bits in ST0 on completion. DU54 and various other disk formatters now work.
Enhanced random sector data generation. Hopping Mad and Dixon's Premiere Collection now load.
Slight change of keyboard handling. On US keyboards, the (") key is now mapped to Symbol shift-P. This does not affect UK keyboards which have an (@) key instead.
The extra keys on the Spectrum+, 128, +2 and +3 (extend mode, graph, edit etc.) are now mapped to keys on the PC keyboard.
Added short cut keys (Ctrl++ and Ctrl+-) to toggle between normal normal and 1000% emulation speed.
Minor bug fixes and enhancements to .z80 snapshot loading / saving. Player 1's joystick preferences are now saved and restored. A small bug which could result in the R register being loaded with the wrong value has been fixed.
Added an option to turn off rounded corners in full screen mode.
Fixed 128k .POK file support.
Added saving and loading of keyboard and joystick data to .szx (zx-state) files.
Wrote up the zx-state file format specification which is available here.
The Spectrum's display can now be copied to the clipboard or saved to disk as a Windows bitmap (.bmp) file .
What's new in version 5.0
-
Full implementation of NEC µPD765A command set.
Emulates up to 2 disk drives (the maximum the +3 can take).
Automatically switches the drive emulation between a +3 3" (CF2) drive and a standard 3½" DSDD drive depending on the type of disk image inserted.
Accurate emulation to load all those disks with copy protection schemes such as Speedlock +3, Alkatraz +3, Three Inch Loader, Hexagon etc.
Fast disk access mode. Significantly reduces load and save times.
Autoboot disks feature. Inserting a bootable disk into drive A: will cause the Spectrum to automatically reset and start loading from the disk. Hold down Shift to override.
Disk drives window for easy management of disk images. Disk images can be write protected, formatted, ejected and inserted.
Disk image formatter. Allows formatting of 3½" disk images to their full capacity (720 KB) which +3DOS cannot do. Also allows 3" (CF2) disk images to be formatted with the Amstrad CPC SYSTEM and DATA formats. Amstrad CPC DATA format which can be read by +3DOS has a slightly higher formatted capacity than the standard +3 (PCW) format.
Disk images are automatically saved and restored when using zx-state (snapshot) files.
Interface 1 enhancements:
RS-232 serial port emulation. Spectaculator can use files for serial I/O or a free serial (COM) port on your computer. Using a suitable cable, it's possible to connect Spectaculator to a real Spectrum and transfer data between them quickly and easily.
Microdrives window allows opening cartridges from zip files. Previously, you needed to use Open from the File menu.
Added a toolbar to the Microdrives window to allow quick formatting of cartridges.
Added authentic generation of the Microdrive motor noise (both with and without a cartridge inserted).
Fixed a bug when restoring the Microdrive state from a zx-state file that could possibly cause a crash.
Cassette Recorder enhancements:
Improved accuracy of loading noise generation. High frequencies (especially turbo loaders) sound much nicer - no buzzing or other aliasing artifacts. Real Spectrums now like them too.
Added boost volume of loading noise option. With this enabled, it's possible to use the cassette recorder to play cassette files directly into a real Spectrum (depending on the output levels of your sound card).
Added Stop at end of tape option. This was needed to stop certain multiload games like Defenders of the Earth from trying to load the second side of the tape before you could insert the TZX of it.
New Enable writes to Multiface ROM option. Required by certain programs such as SoftCrack.
Added a Generate NMI option which triggers an NMI even if the Multiface is disabled.
Added context-sensitive help that was previously missing from some dialog boxes.
Revised the online help to include the new features in this release.
What's new in version 4.0
ZX Interface 1 emulation and up to eight Microdrives. Custom Interface 1 ROMs can be used, including Ian Collier's 16KB version.
Emulation of Spectrum +2A in addition to 16k/48k/128/+2 Spectrums.
Recording and playback of action replays (.rzx files)
Added many custom loading schemes to the flashloader. Load times of most games are now reduced to almost zero. Supported loaders include Alkatraz, Bleepload, Hewson, Haxpoc-Lock, Mikrogen, Movieload, Powerload, Novaload, Paul Owens, Players, Richlock, Speedlock (versions 1 to 7), Uniload and most generic turbo loaders.
Completely revised auto play / auto stop system for the cassette recorder. Should now never start or stop in error. If you do find a tape file where it does this, please e-mail it to me.
Fast emulation mode - up to 20x normal speed. Useful for replaying action replays quickly.
Supports the new zx-state (.szx) snapshot format for true state saving, even down to which audio cassette file is in the cassette recorder.
Added Multiface 3 support when emulating +2A/+3 Spectrums. The software lockout bit is now also emulated for the Multiface 128 and Multiface 3.
ZX Printer emulation. Output can be saved to disk, copied to the clipboard or sent to a real printer.
Play games released on Sinclair Interface II ROM cartridges.
Load and save Spectrum screenshots (.scr) files.
Choose Kempston, Cursor, Fuller, or Sinclair Interface II joysticks and use your PC game pads to play (up to two players simultaneously). Any supported joystick can be emulated through the PC keyboard's arrow, tab or Right Alt keys.
Assign the extra buttons on modern joysticks to key presses on the Spectrum keyboard (in previous versions, the button assignment was fixed).
Switchable issue 2 / issue 3 keyboard emulation.
Emulates the physical layout of the 48k keyboard on the PC keyboard to enable games like Jumping Jack to be played properly. The \| key on the UK keyboard also responds as CAPS SHIFT.
Implemented the ability to use external ROM files. You can now use national language versions of the ROMs such as Spanish and French, or ROMs from projects such as SE Basic and the Spectrum +3e.
Import raw Z80 machine code (produced via TASM's -b option).
Load programs and data from external audio sources such as Minidisc or a real cassette recorder.
Changed the contended memory model for the 128k/+2 since 3.0 Beta 1. Pages 1,3,5,7 are now contended rather than 4,5,6,7 as previously stated in the CSS FAQ. This fixes (or rather breaks) the Losing Victoria demo so that it behaves just like on a real Spectrum. However, the speech on Treasure Island Dizzy now plays properly. Info via Woody from Steve Snake. Thanks :)
Recognises XZX's extensions to the Z80 snapshot format. Issue 2 keyboard and Kempston bits are now also read and written correctly.
Black and white TV mode for all those who couldn't afford a colour TV for their Spectrums.
Cycle-accurate display renderer to get a few more demos working, including NMI3 parts 3 and 6, MDA, Shock Megademo and Hercules.
Option has been added to save Z80 snapshots uncompressed.
Most of the warning message boxes now have a Show this next time checkbox for those people who don't like being prompted all the time.
Extensions to the z80 file format to support 16k/+2/+2A snapshots and Fuller Box emulation.
Implemented alternative menu rendering under Windows XP which is more in line with Windows XP look and feel.
Bug fixes
Some code was accidently removed from 2.5 which results in the sound going out of sync on some soundcard / motherboard combinations. This has now been put back in.
Beta 1 of 3.0 would crash when encountering "Stop if 48k mode" blocks in the cassette recorder when in 128k mode.
Some users reported that analogue joysticks were too sensitive. Should be better now.
Handling of TAP files has changed slightly so that some demos don't start running too fast for a second or two after loading.
128k .pok files weren't being handled correctly in 3.0 beta 1.
Cassette recorder listview was multiselect when it should always have been single select.
Spectrum 128/+2 keyboard emulation now behaves like a real Spectrum 128/+2.
Fix to the OUT (n),A instruction which stopped Digi128.tap and a few other demos from working correctly.
Flashloading of corrupt normal blocks now correctly reports R Tape loading error.
A few other minor bugs stomped...
What's new in version 3.0 beta 1
Emulation of 16k/48/128/+2 Spectrums in addition to 48k Spectrum.
Cheetah SpecDrum emulation.
Currah µSpeech emulation.
Fuller Box emulation.
The Spectrum 128's AY sound chip is also available when emulating the 48k spectrum.
Customisable Z80 CPU speed from 3.5MHz to 100MHz.
Mono/Stereo ABC/Stereo ACB sound from the Fuller Box/Spectrum 128's AY chip.
Multiface 128 in addition to Multiface 1.
When autoload is enabled for the Spectrum 128 or +2, if you hold down the control key when opening an audio cassette file, the Spectrum autoloads in usr0 mode - useful for some demos.