EightyOne

What's New:

Bug fixes
- If a hardware generated ZX81 HSync pulse is output part way through a scanline then it is no
longer interpreted as starting a new scanline.
- The ZX Printer name and type conflicted with names in the VCL libraries.
- The Lambda character generator was not correctly being selected via the Hardware dialog.
- The BASIC Listing loader facility did not handle spaces within variable names or spaces
within numeric values.
- Fixed inability to change Profiler entry labels.
- Handle potential for a NULL path in ZXpand internal calls.
- Removed unused labels in Debug DFM file.
- Fixed drive mapping bug for ZX Interface 1 Microdrives.
- Fixed case that showed duplicate filenames in a ZIP file when opening a tape file from the
main window.
- Improved support for retrieving from structured ZIP files.
- Fixed debug window stalling when 'Skip NMI' or 'Skip INT' were enabled in Continuous mode.
- History window cleared after loading a snapshot.
- In the Spectrum+2A/+3, switching back from special memory map mode to normal memory map mode
was not switching to banks 5 and 2 in memory ranges $4000-$7FFF and $8000-$BFFF respectively.
- Spelling corrections to various documentation files.
- Bug fix to the Basic Loader mechanism.
- Corrected ROM path for the MWCFIde IDE drive.
- The BASIC Listing loader was not tokenising "" within REM statements on the ZX81 when
tokenisation of REM contents was enabled.
- The BASIC Listing loader was not tokenising keywords that were followed by a colon on the
Spectrum even though the Accept Alternate Keyword Spellings option was selected.
- Fixed AY sound implementation to align with hardware behaviour.
- Fixed AY sound controls.
- Fixed ACP stereo mode operation and beeper feedback.


- Fixed beeper volume control and addressed noise spikes at low volumes.
- Memotech hi-res didn't support a pixel byte of $76 within the hi-res display file.
- Fixed support for Chroma 81 on TS1000 and TS1500.
- The Microdrive LED would be left on if the Spectrum was hard reset whilst a Microdrive
was running.
- Fixed illegal memory access errors in Spectrum floppy drive subsystem.
- Fixed intermittent issue opening Spectrum floppy data files.
- Fixed interactions in floppy drive image file selections between the Spectrum+3 and other
machines.
- Fixed support for TR-DOS on Beta floppy drives, allowing reading of TRD image files.
- Corrected the title and file types of the open dialog when selecting a replacement ROM
from the Hardware dialog.
- The non-volatile memory for the ZXCF interface has been blank since EightyOne version 0.43!
- Attempting to load a program via the BASIC Listing loader that did not have a line number
defined for the first line would result in all automatically generated line numbers being
out of step.
- Z80 instructions OUTI, OTIR, OUTD, and OTDR operational execution sequences were corrected.
- Fixed layout issues with the Edit Data Block window.

Changes
- Renamed the 'Discard Redundant Spaces' option of the BASIC Listing loader to be 'Discard
Surplus Spaces'.
- Improved speech emulation accuracy using code obtained from:
https://github.com/GmEsoft/SP0256_CTS256A-AL2
- Speech interface selection now made via a new combobox on the hardware dialog.
- Removed unused non-functioning QL emulation.
- The Sound dropdown in the Hardware dialog now presents options applicable to the selected
computer.
- Switched from 8-bit to 16-bit sound generation.
- Added support for MIDI output to Spectrum 128 and Spectrum+2.
- Default sound volume settings are in the middle of the range.
- Added ability to cancel changes on the hardware configuration dialog.
- Default cursor keys are selected based on the chosen machine unless custom keys are defined.
- Support Spectrum floppy drive write protection.
- Implemented the correct auto-boot operation of the Beta Disk interface depending on the
Spectrum model.
- Added option under the View->Zoom menu to select full screen mode.
- Added the 3rd party TS2068 command cartridges to the Hardware dialog ROM cartridge dropdown
list.
- Added the unreleased ZX Interface 2 ROM cartridges by Parker Brothers to the Hardware dialog
ROM cartridge dropdown list.
- Added the PC8300 Timex ROM to the Hardware dialog ROM dropdown list on the Advanced tab
for the Lambda 8300.
- Added the +3e ROMs to the Hardware dialog ROM dropdown list on the Advanced tab for the
Spectrum+2A and Spectrum+3.
- Added the ASZMIC and FORTH ROMs to the Hardware dialog ROM dropdown list on the Advanced tab
for the ZX81, TS1000 and TS1500.
- All dialogs windows are now set to be top most so that they always appear in front of the
main window.

Enhancements
- Separated and updated the documentation for CHR$128 mode and the ARX true high resolution
display mechanism.
- 'Skip NMI' and 'Skip INT' debug screen controls also provide a filter for the history buffer.
- Added emulation of The Parrot speech interface by R.I.S.T. Inc for the ZX80 and ZX81.
- Added emulation of the Sweet Talker interface by Cheetah Marketing Ltd for the ZX81 and
ZX Spectrum.
- Added emulation of the Voice Synthesiser speech interface by Mageco Electronic for the ZX81.
- Added emulation of Fuller Orator speech interface by Fuller Micro Systems for the ZX Spectrum.
- Support for execution breakpoints on addresses above RAMTOP.
- Added example programs for ZX Spectrum specific interfaces.
- Added the manual for the Multiface 3.
- Added volume controls for speech interface and SpecDrum sounds.
- Sound output window is resizable.
- Added documentation for various ZX Spectrum IDE and FDC interfaces.
- Added emulation of 3-Channel Sound Unit by dk'tronics Ltd for the ZX Spectrum.
- Added emulation of the ZON X sound interface by Bi-Pak for the ZX Spectrum.
- Added emulation of the SpecDrum by Cheetah Marketing Ltd for the ZX Spectrum.
- Added support for CAPS LOCK key and US keyboards on all ZX Spectrum models, TS2068, TC2048,
TC2068, and Jupiter Ace.
- Added emulation of S-Pack speech interface by DCP Microdevelopments Ltd for the ZX81 and
ZX Spectrum.
- Added joystick support for: Kempston, Fuller, Sinclair 1, Sinclair 2, Cursor and Boldfield.
- Two joysticks supported for TS2068 and TC2068.
- Two joysticks supported when Sinclair 1 joystick or Sinclair 2 joystick is selected.
- Auto-fire support for joysticks.
- Added a Defaults button to the Hardware dialog.
- The BASIC Listing window now refreshes automatically after loading a program from cassette
via the ZX80, ZX81 and ZX Spectrum ROMs.
- Added utility programs for +D and DISCiPLE floppy drives.
- Added ability to create new image files for Spectrum floppy drives.
- Added support for floppy DOS-based formatting on Spectrum floppy drives.
- Added support for Microdrive cartridge write protection.
- Added +3e ROMs for the ZXCF, divIDE 57 (R Gal), divIDE 57 (R" Gal), Simple IDE 8-Bit,
Simple IDE 16-Bit and Simple IDE CF interfaces.
- Enabled support for writing and formatting floppy disks on Spectrum+3 disk drives.
- Added support for the Spectrum 128 Keypad.
- Added an option in the Keyboard dialog to specify whether the keyboard's numeric keypad (when
Num Lock is on) replicates the normal number and symbol keys or is used to simulate joystick
input.
- Added the ability to select via the UI an alternative ROM for the Simple IDE 8-bit,
Simple IDE 16-bit, Simple IDE CF and MWCFIde IDE interfaces.
- Added the ability to select via the UI an alternative ROM for the Beta Disk, Opus Discovery,
DISCiPLE and +D FDC interfaces.
- Enhanced .Z80 snapshot to support more hardware options.
- Add emulation of the Memotech Z80 Assembler and Memocalc interfaces.