EightyOne to jeden ze starszych projektów emulatorów maszynek z Z80 na pokładzie i całkiem przypadkowo z tęczą w logo - potrafi nie tylko udawać konstrukcję od Sinclair ZX80, do Amstradowego ZX Spectrum +3 lecz także nieobce mu są Timexy, czy też bardziej egzotyczne klony ZX81 - Ringo i Lambda. D
Version 1.9 - 17/02/2018 (by Paul Farrow)
Bug fixes:
- Wav Loader window did not contain all of the waveform after saving.
- Saving of wav files for the ZX80 now works.
- The T-states breakpoint counter no longer wraps back to 0 after 65535 but continues until 999999, making it easier to see if a ZX80 frame is taking too long.
- Changed the default value present on the data bus for the ZX80.
- The 'ROM file not found' dialog would appear after selecting a ROM file from a folder outside the default ROM folder.
- Read breakpoint conditions were not working correctly.
- Corrected disassembly display of SBC instructions.
- Fixed Spectrum border corruption when Spectra mode enabled and full frame displayed.
- Fixed Spectrum border during vsync period when full frame displayed.
Enhancements:
- Wav Loader now shows the end of the waveform after saving from a ZX80 or ZX81 when auto stop/start is enabled (previously it would show beyond the end of the waveform).
- Wav Loader now displays the waveform while saving (previously it was always showing beyond the end of the waveform).
- When saving to the Wav Loader from a ZX80, ZX81 or TS1500, the output now drops back to the zero level when there is no activity to better represent the waveform that would get saved to a cassette.
- Support for ZXC ROM cartridges provided by the Chroma 80 interface.
- Added a 'range' option to breakpoints (by SirMorris).
- Added a 'mask' option to breakpoints.
- Added a 'not equal' condition to breakpoints.
- Added support for binary input for memory edits.
- Removed support for octal entry on memory edit and breakpoint dialogs.
- TV emulation display artifacts are now disabled by default.
- Added Keyboard layout image for the Spectrum 128.
- All windows gathered at start up to ensure they are visible if an existing ini file could not be found.
- Added recursive support for the Step Over debugging facility.
→ NOWSZY [MULTI] EightyOne 1.40 7/02/2024
EightOne Version 1.40 - 07/02/2024 (by Paul Farrow)
Bug fixes:
- The Enabled setting for a breakpoint in the 'Configure Breakpoint' window would allow a value to be typed in instead of just selecting from the drop down list.
- The labels in the 'Configure breakpoint' window were not correctly being updated when the breakpoint type was set to 'T-Cycles'.
- The 'Convert Next Block to TZX' facility in the Wave Manager could crash when converting a ZX80 program.
Enhancements:
- The BASIC Listing window now refreshes automatically when adding or removing BASIC lines for the ZX80 running the 8K ROM.
→ NOWSZY [MULTI] EightyOne 1.39 10/06/2023
EightyOne Version 1.39 - 10/06/2023 (by Paul Farrow)
Bug fixes:
- Hard reset was not disabling the ZX Printer motor.
- The ZX Printer emulation was not signalling when the stylus was off the paper.
- The ZX Printer window was compressing the width of the paper by 2 pixels.
- The wrong folder was being searched for the ZX Interface 1 ROM.
- The BASIC Listing import facility was incorrectly interpreting BIN values for the Spectrum.
- Changed addresses location contents were not being shown correctly in the Memory window when
- it was displaying Hex Words.
Enhancements:
- Added emulation of Quicksilva Hi-Res Board.
- Added a Feed button to the ZX Printer.
- Added documentation on the use of various hardware interfaces to the Help menu, based on original instruction manuals where available.
- Added shortcuts to the various example programs for the ZX81 to the Help menu, based on examples given in the original instruction manuals or books where available.
- The Memotech Memopak HRG Reset button now only operates when in SLOW mode the match the behaviour stated in the interface's instruction manual.
- Added the 'Chrs Demo' utility by Quicksilva for the QS Character Board.
- Added the 'UDG' utility by dk'tronics for the dk'tronics 4K Graphics ROM.
- The BASIC Listing window now refreshes automatically when adding or removing BASIC lines for the ZX80, ZX81, TS1000, TS1500, TK85, 16K Spectrum (English), 48K Spectrum (English) Spectrum+ (English, Spanish), Spectrum 128 (English, Spanish), Spectrum+2 (English, French, Spanish), Spectrum+2A (English, Spanish) and Spectrum+3 (English, Spanish).
- Added an option to the Memory window's context menu to dehighlight changed values.
→ NOWSZY [MULTI] EightyOne 1.38 17/05/2023
EightONE Version 1.38 - 17/05/2023 (by Paul Farrow)
Bug fixes:
- ROM based graphic interfaces were not loading the ROMs from the correct subfolder.
- Memotech HRG could crash when running at 60Hz.
- Memotech HRG hi-res option required the 8K-16K RAM option enabled but the internal 1K RAM is now automatically mapped.
- G007 hi-res option required the 8K-16K RAM option enabled but the internal 1K RAM is now automatically mapped.
- Since v0.52 it hasn't been possible to select a USB disk for IDE drive HD0 or HD1.
Changes:
- QS Character Board switch now defaults to off.
Enhancements:
- Example programs included from the Memotech HRG manual.
- Example programs included from the G007 manual.
- Example programs included from the dk'tronics Graphics ROM manual.
- Example programs included from the ZON X-81 manual.
- Example programs included from the Quicksilva catalogue for the QS Sound Board.
- Example program created and added to demonstrate the QS Character board.
→ NOWSZY [MULTI] EightyOne 1.37 01/05/2023
Version 1.37 - 01/05/2023 (by Paul Farrow and Marc Kloosterman)
Bug fixes:
- The ROMs selected for use with the Spectrum 16K, Spectrum+, Spectrum+2A, Spectrum+3, TS1000, TC2048 and TS2068 were not being saved correctly to the EightyOne.ini file.
- Not all keyboard layout images were changing size when double clicked.
- A breakpoint at $0066 on the Spectrum would never be hit.
- The emulator no longer crashes when attempting to load an invalid TS2068 ROM cartridge file.
- The beeper sound option was not always being configured correctly after selecting to load a configuration from the Options menu.
Changes:
- Renamed the various ROMs for improved clarity and consistency.
- Created subfolders to separate the various types of ROMs for improved clarity.
- Removed the non-functioning homebrew 'Spectrum emulator' ROM for the ZX81.
- Removed the homebew 'Shoulders of Giants' ZX81 ROM.
- Renamed IDE option 'divIDE V1' to divIDE 57 (R Gal)' and reduced the two option settings checkboxes to a single one to reflect the behaviour of the real device.
- Removed IDE option 'divIDE V2' which did not reflect a real world divIDE device.
- Renamed the several of the display options for the debugger's Memory Window.
- Removed the RAM pack wobble facility.
- Moved selection of TS2068 ROM cartridges from the File menu to the Hardware dialog.
Enhancements:
- Added support for 16K and 24K TS1510 ROM cartridges.
- Added the TS1510 ROM cartridge 'Flight Simulation'.
- Added the ZX Interface 2 ROM cartridge 'Sinclair ZX Spectrum System Test'.
- Added the 7 released TS2068 ROM cartridges.
- Added the Kayde Graphics ROM for the ZX81.
- Added the ASZMIC ROM version E07 and renamed the existing one as ASZMIC version E04.
- Updated TR-DOS to version 5.03.
- updated 'Simple +3e 8-Bit' IDE ROM to version 1.43.
- Made corrections and improvements to various keyboard layout images.
- Made improvements to the splash screen image.
- Added support for the divIDE 'AllRAM' mode (R'' Gal).
- Added the Nordic ROM for the 48K Spectrum.
- Added the Arabic ROM for the Spectrum+ and Spectrum 128.
- Added the Arabic ROM for the Spectrum+2.
- Added the Arabic ROM for the Spectrum+2A.
- Added the Arabic ROM for the Spectrum+3, along with support for its ROM selection daughterboard.
- Added Arabic keyboard layouts for the Spectrum+, Spectrum 128, Spectrum+2, Spectrum+2A and Spectrum+3.
- Added emulation of the TC2068.
- Added the 2 released TC2068 ROM cartridges.
- Added an entry under the Help menu to access the EightyOne release website.
- Added a facility to write protect RAM in the 8K-16K area (if enabled).
- Added an option to delete the EightyOne.ini file and reset to default settings.
→ NOWSZY [MULTI] EightyOne 1.36 15/04/2023
Version 1.36 - 15/04/2023 (by Paul Farrow)
Bug fixes:
- Attempting to load a ZX81 snapshot was throwing an exception.
- The file handle used to read the ROM symbol file was not being released and after severa hardware changes the error message "ROM load failed" could occur, which was caused by too many files having been left open.
- RAM pack list could show incorrect entries.
- Loading a ZX80/ZX81 snapshot did not always restore the hardware settings.
- Loading a .ace snapshot now automatically selects the Jupiter Ace.
- Jupiter Ace snapshots were not being saved out correctly.
- ZX80/ZX81 snapshots now support spaces in ROM file names.
- ZX80/ZX81 snapshots now support spaces in ROM cartridge file names.
- Loading a snapshot while the Debugger window was open could result in the Stop/Run button state being shown incorrectly.
Enhancements:
- Added a keyboard layout image for the Spanish Spectrum+.
- Added a keyboard layout image for the Spanish Spectrum+2.
- Added a keyboard layout image for the Spanish Spectrum+2A/Spectrum+3.
- Added the Spanish Spectrum+ ROM.
- Drive settings are now saved in snapshots for the ZX80/ZX81 models.
EightyOne Version 1.35 - 13/04/2023 (by Paul Farrow)
Bug fixes:
- Right clicking on a breakpoint would not bring up the menu if the debug window was on a monitor to the left of the primary monitor.
- The Debugger facility Step Over became broken due to changes made in the previous release.
- Temporary breakpoints can now not be edited.
Changes:
- Increased the default threshold level in the Wave Manager.
Enhancements:
- Added a 50ms auto refresh facility to the debugger's memory window.
- Added a keyboard layout image for the Spanish Spectrum 128.
→ NOWSZY [MULTI] EightyOne 1.34 31/03/2023
EightyOne Version 1.34 - 31/03/2023 (by Paul Farrow)
Bug fixes:
- The printer output was not displaying correctly at the default carriage speed when the style was set to Plain Paper.
- A ZxToken character was not being recognised by the BASIC Listing import facility for the ZX81.
- The BASIC Listing window did not support ZXpand keywords within a REM statement for the ZX80.
- The BASIC Listing window swapped ZXpand tokens CONFIG and DELETE for the ZX80.
- The BASIC Listing impact facility swapped ZXpand tokens CONFIG and DELETE for the ZX80.
- Jupiter Ace snapshots always saved 19K of RAM irrespective of the active RAM pack size.
- Tape Manager right click context menu was not always appearing.
Changes:
- Amended ZX81 symbol names to match those in The Complete Timex TS1000/Sinclair ZX81 ROM
- Disassembly by Dr Ian Logan and Dr Frank O'Hara.
- Changed display of RAM sizes from 'k' to 'K'.
- Removed Settings button on the Hardware dialog.
- Continuous step debug mode is now disabled by default.
- Renamed the 'Clock' breakpoint type to 'T-Cycles'.
Enhancements:
- Double clicking an existing breakpoint now opens it for editing.
- The configure breakpoint dialog now has an option to enable/disable the selected breakpoint.
- The configure breakpoint dialog now has an option to set a hit count for the selected breakpoint.
- Right clicking an existing breakpoint allows it to be disabled/enabled.
- Right clicking an existing breakpoint that has a hit count defined allows the number of hits to be viewed and to be reset.
- Added a button to allow the number of hits to be reset for all breakpoints.
- Added a facility to delete all saved configurations.
- Added a facility to delete selected saved configurations.
- Added support for saving ZX80 and ZX81 BASIC listings to a text file in ZxToken format.
- Added Currah uSource ROM support.
→ NOWSZY [MULTI] EightyOne 1.33 22/03/2023
EightyOne Version 1.33 - 22/03/2023 (by Paul Farrow)
Bug fixes:
- A crash would occur at start up if no card sound was found. An error message is now displayed instead.
Enhancements:
- Added Timex Sinclair TS1510 ROM cartridge support, with 3 of the 4 released ROM cartridges.
- The RAM pack option in the Hardware dialog now adds to the base level RAM applicable to the selected computer. A new display shows the total amount of RAM (excluding any RAM present in the 8k-16k region).
- Mirroring of the ROM in the memory map no longer occurs for the TS1500.
Version 1.32 - 13/02/2023 (by Paul Farrow)
Bug fixes:
- The Debugger facilities Step Over and Step Out now work when Continuous mode is active.
- It was not possible to edit an existing 'Clock' or 'Flag' breakpoint.
- The 'Range' option was incorrectly being made available as a Breakpoint value condition.
- Adding a Read Memory or Write Memory breakpoint via the right click context menu would set up the breakpoint incorrectly.
- The ZX Printer was not functioning for a ZX80 configured to use the 8K ROM.
Enhancements:
- The ZX80 icon in the Hardware dialog now indicates whether the computer is configured to use the 4K ROM or the 8K ROM.
- Added support for ZX80 files to the Wav Loader facility 'Convert Next Block to TZX'.
- Wav Loader and Tape Manager buttons now get disabled if their functions are not supported in the current mode of operation.
- Added a 'Bring Windows to Front' option to View menu to position all dialogs above the main emulation window.
- Added a right click context menu to the I/O entries in the Debugger window to set breakpoints.
- Added a drop down selection list to the Hardware dialog of the Interface 2 ROM cartridge titles released by Sinclair Research, along with the unreleased prototypes produced by Parker Brothers.
→ NOWSZY [MULTI] EightyOne 1.31 2/02/2023
Version 1.31 - 02/02/2023 (by Paul Farrow)
Bug fixes:
- Some ZxToken characters were still not being recognised by the BASIC Listing import facility.
- Some graphic character encodings were not being recognised by the BASIC Listing import facility when loading a program into the Spectrum.
- Duplicate IN and OUT breakpoints could be added
- IN and OUT breakpoints could be edited to become duplicates of existing breakpoints.
- The Options menu was still showing the Keyboard dialog as selected even after it had been closed.
- Keyboard dialog was not correctly selecting between displaying the Symbol Shift key checkbox applicable to all Spectrum models / Jupiter Ace and the CTRL key selection suitable for all ZX80 / ZX81 models.
Enhancements:
- Added support for IN and OUT breakpoints to the Jupiter Ace.
- Selecting ZXpand+ in the Hardware dialog now prompts whether to automatically select all facilities provided by the ZXpand+.
- Added ZXpand+ support to the TS1500.
- The Hardware dialog now provides a selection list of the officially released ROMs for the chosen computer.
Version 1.30 - 22/01/2023 (by Paul Farrow)
Bug fixes:
- The BASIC Listing import facility did not handle numeric values consisting of just a decimal point.
- ZXpand support was not being enabled for the TS1000.
- The BASIC Listing window was not nicely handling invalid embedded Spectrum colour control codes.
- The BASIC Listing window was not suppressing a surplus space between keywords if there was also an embedded number or embedded control code between the keywords.
- Some ZxToken characters were not being recognised by the BASIC Listing import facility.
→ NOWSZY [MULTI] EightyOne 1.29 3(10?)/06/2022
Version 1.29 - 03/06/2022 (by Paul Farrow)
Bug fixes:
- The Jupiter Ace beeper port now partially decoded.
- The Jupiter Ace ROM can now be overwritten if the 'Protect ROM from Writes' option is not selected.
- Beeper sound setting now restored from the .ini file.
- Beeper sound for ZX81 models now includes rendering of HSync pulses.
- Now insensitive to the case of the ROM file name.
Changes:
- Retired support for the homebrew Spectrum SE.
Enhancements:
- Clock accurate emulation of the display mechanism of the ZX81 family of models.
- Accurate emulation of the display mechanism of the ZX80.
- Annotation facility of display elements for ZX80 and ZX81 family of models.
Version 1.28 - 31/03/2022 (by Paul Farrow)
Bug fixes:
- Resolved issue where black bars could appear in the top and bottom border areas, and a white bar at the end of the VSync pulse.
Version 1.27 - 23/03/2022 (by Paul Farrow and SirMorris)
Bug fixes:
- An ampersand within a label in a ROM symbol file was not being shown in the debugger's disassembler window as it was being treated as signifying an underlined accelerator key.
- Joypad button mapping was causing an issue with third party controllers. All buttons are now treated as the fire button so that all controllers work without the need for configuration.
- Support added for Chroma 80 and Chroma 81 sound output.
- Various windows, e.g. Tape Manager, were being opened twice.
Enhancements:
- Improved display accuracy of HSync and back porch signals.
- Ability added to deselect display of back porch signals.
Version 1.26 - 03/02/2022 (by Mike Wynne, SirMorris and Paul Farrow)
Bug fixes:
- Integrated Mike's sound changes which now use DirectSound to deliver the audio and timing for AY emulation. This fixes the significant audio glitching that used to be present in playback.
- The ZX80 display now aligns properly with the ZX81 and Spectrum for all border size options.
Changes:
- Re-ordered items in the Options menu. F-key assignments have been changed for items: Sound,
- Speed and TV Emulation.
- Moved ZX97 advanced config to Hardware->Homebrew->ZX97->Advanced Settings tab->More button.
- Button is only present when ZX97 Lite is selected system.
Enhancements:
- Stereo (ACB) mixing and mono output (default) for the AY emulation are now selectable from the Options->Sound menu.
Version 1.25 - 16/01/2022 (by Paul Farrow)
- Bug fixes:
- Resolved an issue affecting specific pseudo hi-res display driver implementations that would cause the first line to mis-aligned.
Version 1.24 - 05/01/2022 (by Paul Farrow and SirMorris)
Bug fixes:
- Loading a snapshot that has Chroma colour enabled was not re-enabling the colour mode.
- The RAM provided by the Chroma 80 interface was being incorrectly mirrored in the memory map.
- Changed the default values of bits 6 and 7 when reading port $FE for a Jupiter Ace.
- Changed the default value of the data bus on the Jupiter Ace from 0xFF to 0x20.
- Microdrive .MDR files were saved with an incorrect size.
- Memory window View Words option could lock up for the Spectrum and Jupiter Ace.
- Memory window View Traditional option defaults to the character set for the selected computer model if the default ROM is changed and no corresponding character set bitmap exists.
- "Access Denied" error dialog no longer gets displayed after taking the PC out of hibernation.
- The BASIC listing import facility was not detecting Spectrum 128 specific keywords unless the 'Accept alternate keyword spellings' option was selected.
- The BASIC listing import facility was not allowing a line number of 0.
- Unused bits of ZX Printer input port $FB now return the idle status of the data bus.
- COPYing a collapsed display on a ZX81 no longer results in corrupt printer output.
- Resolved issue introduced in version 1.18 that broke support for some custom display drivers, i.e. Invaders (Odyssey Computing), HiRes Pacman (Brian Lewis), HiRes Invaders (Brian Lewis) and the ASZMIC ROM (Comprocsys).
Enhancements:
- Updated ZXpand+ firmware to 't0mte'.
- Facility to create a blank microdrive file.
- The BASIC listing import facility now sets a non-zero value for system variable SEED.
- The BASIC listing import facility now tolerates a wider range of formatting if the 'Accept alternate keyword spellings' option is selected.
→ NOWSZY [MULTI] EightyOne 1.23 19/05/2021
Version 1.23 - 19/05/2021 (by Paul Farrow)
Bug fixes:
- A JR instruction offset to below $0000 or above $FFFF was being displayed incorrectly by the disassembler.
Enhancements:
- Added support for the 3rd variant of the ZX81 ROM.
- The BASIC Listing import facility was not trapping lines with identical line numbers.
- Improved supported for Windows systems configured with larger font sizes.