ZEsarUX - ZX Second-Emulator And Released for UniX
Created by Cesar Hernandez Bano
https://github.com/chernandezba/zesarux
It's a ZX Machines Emulator for UNIX based operating systems (and Windows), including all the Sinclair computers:
And also:
ZEsarUX source code and binaries are distributed under GNU GPL license. ZEsarUX also includes a folder, "my_soft", which has some programs and data made by me. The entire folder is also covered by the GNU GPL license.
ZEsarUX also includes third-party roms, media, programs and games NOT covered by this license.
This is my second ZX Spectrum emulator after ZXSpectr https://github.com/chernandezba/zxspectr
I recommend you to read FEATURES, INSTALL and HISTORY files, as well as other documents in this emulator. You can open them from the help menu or from an external viewer.
ZEsarUX distributed under GNU GENERAL PUBLIC LICENSE v3. You may read it on the LICENSE file.
Please read the other licenses used in ZEsarUX, from the menu Help->Licenses or just open files from folder licenses/
Available versions for download here:
Other by 3rd party:
ZEsarUX has won the "Best Emulator" award from Retrogaming Total blog on 2015 and 2017
DONATE
ZEsarUX is free software and you don't need to pay to use it. ZEsarUX will always cost you nothing to use, but that doesn't mean it costs me nothing to make. So if you want to demonstrate your appreciation to it, you can donate using Paypal. Just click:
All donors will appear in the acknowledgements file
Thanks!
FEATURES
Runs on any Unix system and Windows: tested on GNU/Linux x86, GNU/Linux x86_64, GNU/Linux Raspbian, GNU/Linux RetroPie, FreeBSD x86_64, Haiku, Mac OS X, Windows native, Windows + Cygwin
Emulates:
Is the only emulator for machines: Chloe 140/280, Prism and Chrome
Almost perfect emulation of timing of all Spectrum machines
Emulates undocumented Z80 flags, features, and MEMPTR register
Emulates idle bus port, contended memory, ULA early/late timings
Emulates Motorola CPU 68008 (Sinclair QL)
Emulates SC/MP CPU - INS8060 (MK14)
Emulates perfect ZX Spectrum 16k/48k colour palette
Emulates ULAplus: Standard 64 colour palette, linear modes with 16 colours per pixel: Radastan Mode: 128x96, ZEsarUX modes: 256x96, 128x192, 256x192
Emulates Chroma81 ZX81 Colour mode
Emulates Spectra Video Modes
Emulates Timex Video modes (Mode 0 standard, 1 dual screen, 2 hires colour 8x1, 6 512x192 monochrome)
Emulates Pentagon 16C mode
Emulates All Video modes from Prism machine
Emulates ZGX Sprite Chip
Emulates snow effect on Spectrum models
Emulates interlaced, scanlines and Gigascreen effects
Emulates 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 192x144 (0.75 scale)
Uses its own powerful window environment (ZX Vision) inside the program application window, having the same GUI style on all plattforms. Allows to have an extended display to hold menus and multitask windows in the GUI (ZX Desktop)
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), PC Speaker, CoreAudio (Mac OS X).
Supports dumping audio & video to file
Supports real tape loading of file formats: RWA, SMP, WAV, TZX, PZX, 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, CAS) on standard BASIC ROM routines for ZX Spectrum, ZX80, ZX81, Amstrad CPC, Jupiter Ace, MSX, Spectravideo
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 formats: ZSF, ZX, Z80, SP, SPG, NEX, SNA, P, O, Z81, ACE
Handles cartridge formats: DCK, ROM, COL, SG
Handles RZX playback
Emulates Multiface One, 128 and Three
Emulates Datagear/MB02 DMA, ZX-Uno DMA
Emulates +3 Disk
Emulates Betadisk/TR-DOS. Direct support for .trd files. scl files can be converted from file selector pressing space
Emulates ZX Spectrum MMC Interfaces: ZXMMC, DivMMC. Support for raw (.mmc) files and hdf files
Emulates ZX Spectrum IDE Interface: DivIDE, 8-bit simple
Emulates ZX Spectrum ESXDOS file access using files from your computer
Emulates Sam Coupe IDE Interface: Atom Lite
Emulates ZXPand MMC Interface on ZX80 and ZX81
Emulates ZX Dandanator! Mini, CPC Dandanator! Mini
Emulates Speccy Superupgrade
Emulates Kartusho,iFrom interfaces by Antonio Villena
Emulates SamRam interface by Gerton Lunter (author of famous Z80 emulator)
Emulates DataDrive HiLow (beta)
Handles RAM, EPROM, Intel Flash and Hybrid (RAM+EPROM) cards on Z88
Handles QL microdrive/floppy file access using files from your computer. Allows reading Q-emuLator file headers. Allows EXECuting files without headers
Handles compressed formats zip (with internal decompressor), and tar, rar, gz through external utilities
Emulates AY Audio Chip, Turbosound (2 AY Channels), 3 AY Channels, MIDI channels, different DAC: Specdrum, Covox, ACB/ABC/BAC Stereo
Emulates General Sound
Emulates SN76489AN Audio Chip
Real time playback from AY Chip sound to external MIDI device
Emulates Quicksilva, ZON-X81, and VSYNC-based sound on ZX80/81
Emulates Speaker and Soundbox sound on Jupiter Ace
Experimental simulation of the Sam Coupe Audio Chip (SAA1099)
Emulates i8049 QL sound
Supports RAM size up to 1024 KB on Spectrum and Pentagon
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 GNU/Linux and Windows) and keyboard cursors: Kempston, Sinclair 1&2, Cursor Joystick, Cursor & Shift, OPQA, Fuller, Zebra, Mikro-Gen, ZXPand, SAM Coupe Cursors. Autofire function too
On Screen keyboard useful when playing with joystick, two types: one with keyboard letters, and another with words, useful for playing Text Adventures. Also a tool to extract words from text adventures (Daad, Paws, Quill and Gac) and configure this on screen text keyboard
Emulates Spectrum keyboard ghosting error feature
ZX Spectrum Recreated keyboard support
Emulates native turbo modes on ZX-Uno, Chloe, Prism and ZX Spectrum Next, 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 Network gaming using its own protocol (ZEsarUX Network Gaming protocol - ZENG), which allows you to play to any emulated game, using two ZEsarUX instances, located each one on any part of the world or in a local network. Games doesn't have to be modified, you can use any existing game
Uart bridge emulation: allows you to use a real uart-wifi connected to your computer, on GNU/Linux only (Windows, Mac can simulate it)
Can browse online ZX81 games
Can browse online Spectrum games
Supports Input spool text file to simulate keyboard press
Supports reading Pokes from .POK files
AY Chip Tools: AY Player, AY Sheet, AY Piano, AY Registers, export AY music to midi (.mid) files, AY Mixer
Supports ZEsarUX remote command protocol (ZRCP). You can do enhanced debugging on ZEsarUX from Visual Studio Code (see https://github.com/maziac/DeZog) or just by using a telnet client.
Can use a reduced Spectrum core, with some features disabled, useful on slow devices, like Raspberry Pi 1/Zero
Powerful debug features: Assembler, Registers, Dissassemble, Conditional Breakpoints using text expressions, Watches, Step-to-step, Step-over, Runto, Show TV electron position, Load source code, Hexadecimal Editor, View Sprites, Find byte (useful to find POKEs), CPU Transaction log, View BASIC, verbose messages on console, DAAD/PAWS/Quill Debugger
File utilities menu: Allowing to view, expand and convert some common file formats: tap, tzx, trd, dsk, mdv, hdf, etc
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 routines. 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 also be 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? :)
Some screenshots
ZX Desktop, running multitask windows, on Solarized Dark GUI Style, running ZX Spectrum OverScan demo
ZX Desktop, running demo ny17 from TSConf, showing new direct access buttons starting from ZEsarUX version 9.1
ZX Spectrum Overscan demo
ZX-81 Mazogs
Sinclair QL
Cambridge Z88
ZX Spectrum Sir Fred running on curses (text) driver
ZX-Uno
ZX-Evolution TSConf
ZX Spectrum Next
Prism 512
Chloe 280SE
CPC 464
MSX
Colecovision
Sega SG-1000
Do you want to know how ZEsarUX looked like in the past? See this: PREVIOUS_SCREENSHOTS
You can find some ZEsarUX videos on my Youtube channel