• Print

ZEsarUX 5.0

Description

It's 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

 

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 Spectrum models: 16k, 48k, Inves Spectrum +, Spectrum 128k (English and Spanish), Spectrum +2 (English, Spanish and French), Spectrum +2A (English and Spanish), Microdigital TK90X (Portuguese and Spanish), TK95
  • Emulates ZX-Uno
  • Emulates Sinclair ZX80
  • Emulates Sinclair ZX81
  • Emulates Cambridge Z88
  • Emulates Jupiter Ace
  • Emulates Chloe 140 SE, Chloe 280 SE
  • Emulates Prism
  • Emulates Timex TS 2068
  • Emulates Amstrad CPC 464
  • Almost perfect emulation of timing of all machine models
  • Supports undocumented Z80 flags, features, and MEMPTR register
  • Supports idle bus port, contended memory, ULA early/late timings
  • Supports Pentagon timing
  • Supports ULAPlus: Standard 64 colour palette, linear modes with 16 colours per pixel: Radastan Mode: 128x96, mode 5: 256x96, mode 7: 128x192, mode 9: 256x192
  • Supports Chroma81 ZX81 Colour mode
  • Supports Spectra Video Modes
  • Supports Timex Video modes (Mode 0 standard, 1 dual screen, 2 hires colour 8x1, 6 512x192 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)
  • 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) on standard BASIC ROM routines for ZX Spectrum, ZX80, ZX81
  • Handles real audio loading (RWA, SMP, WAV) on standard BASIC ROM routines for ZX Spectrum, ZX80, ZX81
  • Simulates real tape loading on standard BASIC ROM routines for ZX Spectrum, ZX80, ZX81
  • Handles snapshot format: ZX, Z80, SP, SNA (loading only), P, O, Z81 (loading only), ACE
  • Handles DCK Timex dock cartridges
  • Emulates ZX Spectrum MMC Interfaces: ZXMMC, DivMMC
  • Emulates ZX81 ZXPand MMC Interface
  • Handles RAM, EPROM and Intel Flash cards on Z88
  • Handles compressed formats zip, tar, rar, gz through external utilities
  • Supports Quicksilva, ZON-X81, and VSYNC-based sound on ZX80/81
  • Supports Speaker and Soundbox sound on Jupiter Ace
  • 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. Autofire function also
  • 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
  • Debug functions: Registers, Dissassemble, Breakpoints (PC, Conditional, Peek), Step-to-step, Hexadecimal Dump, View Sprites, Find byte (useful to find POKEs), CPU Transaction log, View BASIC
  • 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
  • Other features not enabled by default on compile process: MEMPTR emulation, Visualmem menu, CPU Statistics

Changelog

Version 5.0. 21 April 2017 - Chase H.Q. edition

 

Finally I have succeded emulating Sinclair QL. I dedicated a lot of hours trying to guess how the keyboard work.
There is little documentation and I had to do lots of dissassemblies of the ROM and testing keyboard to know how it work...

 

So, hard work, this is a Quantum Leap, so this is a new major version, 5.0!

 

Complete changelog:

  • Added Sinclair QL emulation
  • Added remote command protocol. You can do enhanced debugging on ZEsarUX by using a telnet client.
  • There are a lot of commands, even many commands exclusive to this protocol and not found on the GUI, like:
    • load-source-code
    • hexdump-internal
    • set-register
  • Added Easter Egg ;)
  • Added Specdrum emulation
  • Added RZX playback support
  • Added Multiface One, 128 and Three emulation
  • Added setting to write configuration file
  • Added menu item to reload IDE and MMC contents from file. You can now modify a used file outside the emulator and reload its contents
  • Added autosave snapshot at fixed interval
  • Added hardware debug port to output ascii characters or numbers directly on host console
  • Added two unused ports from the ZXI pool for some internal ZEsarUX features. See docs/zesarux_zxi_registers.txt
  • Added Hotswap from 128k to +2A, and +2A to 128k
  • Added File Viewer
  • Added support for drag&drop on Mac OS X, SDL2
  • Added support for OpenGL rendering on Mac OS X Cocoa driver
  • Added drawn piano for AY Piano menu setting (on all video drivers except text drivers)
  • Added Man Software GUI Style
  • Added setting to change DivIDE/DivMMC eprom firmware file
  • Added setting to allow writing to DivIDE/DivMMC eprom firmware
  • Added setting to disable autoframeskip
  • Added setting to set breakpoints from command line
  • Added setting to deny changing turbo mode when booting ZX-Uno and on bios
  • Added setting to disable beeper
  • Improved Debug CPU Window: now you can switch between different views:
    • 1) 1 opcode, cpu registers, other internal registers
    • 2) 9 opcodes, other internal registers
    • 3) 15 opcodes
    • 4) 9 hexdump lines, other internal registers
    • 5) 15 hexdump lines
  • Fixed text to speech routine when sending non-ascii character
  • Fixed bug reading ULAplus register 64
  • Fixed bugs paging DivIDE/DivMMC
  • Fixed starting display row on ZX80/81/ACE, with border disabled and realvideo mode (was broken since 4.0)
  • Fixed reading from paging port on 128k and +2 machines: in this case, the same value read from the idle bus port is sent to the paging port
  • Fixed setting timings changing from Pentagon to non Pentagon machine
  • Fixed bug mapping real joystick buttons and axes with same number
  • Fixed bug when Jupiter Ace machine and border disabled
  • Updated Z88 OZ V4.7
  • Some other minor bugfixes and improvements

Links

ZEsarUX download | SourceForge.net

Downloads

Gallery


 
 

Comments

blog comments powered by Disqus