ZEsarUX v11.0-Beta2 is released. ZEsarUX is a ZX Machines Emulator for Unix, including: ZX Spectrum ; ZX-Uno ; ZX80 ; ZX81 ; Z88 ; Jupiter Ace ; Chloe 140 SE, Chloe 280 SE ; Prism ; Timex TS 2068 ; Amstrad CPC 464. ZEsarUX is Open-Source and runs on Windows, Mac OS X and Linux.
ZEsarUX Features:
* Runs on any Unix system and Windows: tested on Linux x86, Linux x86_64, Linux Raspbian, Mac OS X, Windows native, Windows + Cygwin
Emulates:
* Science of Cambridge MK14
* Sinclair ZX80
* Sinclair ZX81
* Spectrum models: 16k, 48k (English and Spanish), Inves Spectrum +, Spectrum 128k (English and Spanish), Spectrum +2 (English, Spanish and French), Spectrum +2A (English and Spanish), Spectrum +3 (English and Spanish), Microdigital TK90X (Portuguese and Spanish), TK95
* Sinclair QL
* Cambridge Z88
* Timex TS 2068
* Sam Coupe
Pentagon
* Chloe 140 SE, 280 SE
Chrome
Prism
ZX-Uno
* ZX-Evolution BaseConf
* ZX-Evolution TS-Conf
* TBBlue/ZX Spectrum Next
* Jupiter Ace
* Amstrad CPC 464
* Is the only emulator for machines: ZX-Uno, Chloe 140/280, Prism, TBBlue and Chrome
* Almost perfect emulation of timing of all Spectrum machines
* Supports undocumented Z80 flags, features, and MEMPTR register
* Supports idle bus port, contended memory, ULA early/late timings
* Supports Motorola CPU 68008 (Sinclair QL)
* Supports SC/MP CPU – INS8060 (MK14)
* Supports Pentagon timing
* Supports perfect ZX Spectrum 16k/48k colour palette
* Supports ULAplus: Standard 64 colour palette, linear modes with 16 colours per pixel: Radastan Mode: 128×96, ZEsarUX modes: 256×96, 128×192, 256×192
* Supports Chroma81 ZX81 Colour mode
* Supports Spectra Video Modes
* Supports Timex Video modes (Mode 0 standard, 1 dual screen, 2 hires colour 8×1, 6 512×192 monochrome)
* Supports All Video modes from Prism machine
* Supports ZGX Sprite Chip
* Supports snow effect on Spectrum models
* Supports interlaced, scanlines and Gigascreen effects
* Supports hi-res modes on ZX Spectrum (rainbow effects and others) and ZX80/ZX81 (UDG, CHR$128, WRX, HRG and some other hi-res modes)
* Supports reducing the screen to 192×144 (0.75 scale)
* Can be used with joystick and environments without keyboard, like Raspiboy / Retropie
* Emulates all the oddities of the Inves Spectrum +: 64 KB RAM, RAM initialization with FF00H pattern, OUT ula AND RAM, EAR and MIC XOR, no contended memory, snow in border, colour ula delay, interrupt starts at end of top border (not at the beginning of the border), corrupt memory on every interrupt, no idle bus
* Uses Video drivers: X-Windows, SDL, Cocoa (Mac OS X), Framebuffer, ncurses, aalib, cacalib, stdout(console), simpletext(console)
* Uses Audio Drivers: PulseAudio, Alsa, SDL, DSP(OSS), CoreAudio (Mac OS X).
* Supports dumping audio & video to file
* Supports real tape loading of file formats: RWA, SMP, WAV, TZX, CDT, TAP, P, O. It handles loading of turbo load tapes or any type of tape loading for standard/non standard loading routines
* Handles binary tape format files (TAP, TZX, O, P, CDT) on standard BASIC ROM routines for ZX Spectrum, ZX80, ZX81, Jupiter Ace
* Handles real audio loading (RWA, SMP, WAV) on standard BASIC ROM routines for ZX Spectrum, ZX80, ZX81, Amstrad CPC, Jupiter Ace
* Simulates real tape loading on standard BASIC ROM routines for ZX Spectrum, ZX80, ZX81
* Handles snapshot format: ZSF, ZX, Z80, SP, SPG, SNA (loading only), P, O, Z81 (loading only), ACE
* Handles RZX playback
* Emulates Multiface One, 128 and Three
* Handles DCK Timex dock cartridges
* Emulates +3 Disk
* Emulates Betadisk/TR-DOS
* Emulates ZX Spectrum MMC Interfaces: ZXMMC, DivMMC
* Emulates ZX Spectrum IDE Interface: DivIDE, 8-bit simple
* Emulates Sam Coupe IDE Interface: Atom Lite
* Emulates ZXPand MMC Interface on ZX80 and ZX81
* Emulates ZX Dandanator! Mini
* Emulates Speccy Superupgrade
* Emulates Kartusho
* Handles RAM, EPROM, Intel Flash and Hybrid (RAM+EPROM) cards on Z88
* Handles compressed formats zip, tar, rar, gz through external utilities
* Supports AY Chip, Turbosound (2 AY Channels), 3 AY Channels, different DAC: Specdrum, Covox
* Supports Quicksilva, ZON-X81, and VSYNC-based sound on ZX80/81
* Supports Speaker and Soundbox sound on Jupiter Ace
* Experimental simulation of the Sam Coupe Audio Chip (SAA1099)
* Supports RAM packs on ZX80/81 up to 56 KB
* Supports RAM packs on Jupiter Ace up to 35 KB
* Joystick emulation with real joystick (on Linux) and keyboard cursors: Kempston, Sinclair 1&2, Cursor Joystick, Cursor & Shift, OPQA, Fuller, Zebra, Mikro-Gen, ZXPand. Autofire function also
* On Screen keyboard useful when playing with joystick
* Emulates Spectrum keyboard ghosting error feature
* ZX Spectrum Recreated keyboard support
* Supports native turbo modes on ZX-Uno, Chloe, Prism and TBBlue and manual for other machines
* ZX Printer emulation
* Lightgun emulation: Almost perfect emulation of Gunstick from MHT Ingenieros S.L and experimental emulation of Magnum Light Phaser
* Kempston mouse emulation
* Supports Input spool text file to simulate keyboard press
* Supports reading Pokes from .POK files
* Supports playing .AY sound files
* Supports ZEsarUX remote command protocol (ZRCP). You can do enhanced debugging on ZEsarUX by using a telnet client.
* Can use a reduced Spectrum core, with some features disables, useful on slow devices, like Raspberry Pi 1/Zero
* Powerful debug features: Registers, Dissassemble, Conditional Breakpoints using text expressions, Watches, Step-to-step, Step-over, Runto, Show TV electron position, Load source code, Hexadecimal Dump, View Sprites, Find byte (useful to find POKEs), CPU Transaction log, View BASIC, verbose messages on console
* Accessibility support: Print char traps allows to capture generated text from almost any program or game, using standard ROM calls (RST 10H) or even non standard print character rutines. Can send generated text from a game to a text-to-speech program. It’s ready for text to speech support for blind or visually impaired people. Menu emulator can be also read by a text-to-speech program.
* Simulates upper RAM memory refresh on Spectrum 48Kb, losing its contents when changing R register very quickly
* Supports command line settings, configuration file settings and per-game configuration settings
* Other features: Visualmem menu, CPU Statistics
* Includes three easter eggs: Can you find them? 🙂
ZEsarUX changelog:
New things added:
Added loading audio from external audio source, like a tape player. This also includes:
External Audio Source Window: you may see the audio wave, the signal type, and an azimuth assistant which tells you when you have to use the screwdriver 😉
Spectrum Analyzer (Audio Spectrum I mean): you may see full frequency range of the audio wave
Added ZENG Online feature, which allows you to play to any emulated game on a multiplayer way using a central server
Added ZENG support on all emulated machines
Added ZENG support on curses driver
Added save screen to .txt file
Added save screen to .stl file, useful to print on 3D Printer
Added support for ZX81 .P81 files
Added save support for ZX80 & ZX81 .Z81 snapshots
Added function to shift bits on Hex Editor
Added new compiled version: Haiku OS
Added TempleOS GUI Style
Added QNX GUI Style
Added setting to force CHR$ 128 mode on ZX81
Added search function to locate menu entries
Added .zmenu type files to generate launcher menus
Added more vintage Spectrum programs/games from me
Added Debug Sensors SPK & MIC Bit from port FEH
Added some tape copiers to Storage-> Tape menu
Added setting for fast welcome message
Added PCW Video mode 1 palette selector
Improvements:
Allow to load Next .nex/.snx/.sna snapshots with additional files without having to copy them on the mmc file (it mounts automatically the esxdos handler)
Allow to limit max cpu turbo on Next
Allow to pause playing on AY Player
Improved Keyboard Help: now you can press keys by clicking mouse
Allow to not save configuration when exiting ZEsarUX
Allow to select normal ZEsarUX logo or X Anniversary logo
Allow to send ZENG snapshots more frequently (even every 20 ms)
Allow autorewind setting for real tape too
Allow to disable Spectrum colours on real video mode too
Allow to press hotkeys at On Screen Keyboard
Remember last path used on output tape
Allow to load 48kB MSX cartridges
Allow to load MSX cartridges with memory mapper Ascii 8kb, Ascii 16kb, Konami without SCC, Konami with SCC, R-Type
Allow to set +2e/+3e rom from Custom rom menu item
Easier compilation on Haiku OS
Added setting to avoid Christmas Mode
Improve Hexadecimal editor on ZX80 and ZX81: show inverse characters
Improved ZRCP:
Added menu function to sync local snapshot to remote using ZRCP
Added ZRCP commands: open-menu, print-error, get-text-overlay, cpu-history get extended
Allow to use cpu-step-mode from ZRCP on drivers stdout and simpletext
Support MMU restore state on ZRCP command “cpu-history restore” for Spectrum 128k/+2/+2a/+3
Improved QL emulation:
Allow autoload when inserting QL mdv/flp
Show 2 microdrive and 1 floppy icon on QL, instead of just one icon
Allow to enable/disable every drive
Improved file selector:
Scrolling the current directory field if it does not fit on the window
Can change extension filter
When saving files, cursor is located at the file field, and a file name is suggested
File selection zone has a different color
Go up one directory when pressing left cursor key
Improved ZX Vision:
Changed left click mouse behaviour: when pressing left mouse button out of a window, it will close all menus.
If you need to keep menu open and set focus on emulated machine, just left click and also press shift key.
Improve window title background when not all buttons are visible
Improve clicking and drawing an always visible window
Menus can no longer be minimized or resized (that had no sense)
Process switcher: unminimize windows when selecting them and they were minimized
Process switcher: now it can be set to be always visible
Process switcher: icon names are more descriptive
Menu titles are translated to selected language (not everything yet, please be patient)
Improve perspective for 3D Particles widget on View Sensors
Improved ZX Desktop:
Allow to set parameters when redefining upper buttons, for some actions like openwindow or set machine
Allow to reconfigure upper buttons by right clicking over them
When defining upper buttons or f-functions to SetMachine, machine name parameter is set to current machine
When creating new icon, upper buttons or f-functions of type OpenWindow, a window list is displayed to select
Can now show keyboard help from right click on machine icon
Fixes:
Fixed ZX Vision:
Fixed bug when printing on footer and column was out of bounds (exactly at column 32)
Fixed splash texts when row > 23
Fixed pressing keys ‘.’ and ‘,’ on menu when machine is ZX80 or ZX81
Fixed glitch on ZX Vision BeOS style, when pressing F5, window buttons didn’t disappear or reappear
Fixed windows refresh after pressing F8 On Screen Keyboard
Fixed splash messages when background windows are enabled
Fixed initial position for many windows
Fixed http redirections when downloading using the Speccy Online Browser
Fixed bit 6 of FEH port depending on Issue2/3
Fixed Sam Coupe FEH sound port when enabling Real Beeper
Fixed segfault when trying to insert an unexistent Real Tape file
Fixed segfault inserting a ZX81 Real Tape and opening Tape Viewer
Fixed invalid Data Bus value on Jupiter Ace (it’s 20H instead of FFH)
Fixed blockage when drawing Text Adventure Map and corrupted GAC adventure
Fixed timings of opcodes CP (HL), CP (IX+d), CP (IY+d)
Fixed bug on ZRCP when handling simultaneous connections
Fixed betadisk sector rollover reading/writing (thanks Mak7ym). Fixed loading for example of: BR_DEA7H, HOMER, PARADISE
Fixed bug when saving Clip Windows info on Spectrum Next ZSF snapshots
Fixed bug loading .nex snapshots with different header letter case (for example Exploding Fist Next)
Fixed reading kempston mouse when menu is open
Fixed memory size rom zone on ZX80 and ZX81
Fixed esxdos handler was enabled when machine is not Spectrum
Fixed high cpu usage when repeated splash messages about video mode changes