Skip to content

ZEsarUX - ZX Second-Emulator And Released for UniX

Notifications You must be signed in to change notification settings

chernandezba/zesarux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZEsarUX - ZX Second-Emulator And Released for UniX

Created by Cesar Hernandez Baño

https://github.com/chernandezba/zesarux

It's a ZX Machines Emulator for UNIX based operating systems (and Windows), including all the Sinclair computers:

  • MK14
  • ZX80
  • ZX81
  • ZX Spectrum
  • QL
  • Z88

And also:

  • Microdigital TK80, TK82, TK82C, TK83, TK85, TK90X (Portuguese and Spanish), TK95 (Portuguese and Spanish)
  • Czerweny CZ 1000, CZ 1500, CZ 2000, CZ 1000 Plus, CZ 1500 Plus, CZ Spectrum, CZ Spectrum Plus
  • Timex Sinclair 1000, 1500, 2068
  • Timex Computer 2048, 2068
  • Inves Spectrum +
  • Sam Coupe
  • Pentagon
  • Chloe 140 SE, 280 SE
  • Chrome
  • Prism
  • ZX-Uno
  • ZX-Evolution BaseConf (beta)
  • ZX-Evolution TS-Conf
  • ZX Spectrum Next
  • Jupiter Ace
  • Amstrad CPC 464, CPC 4128, CPC 664, CPC 6128
  • Amstrad PCW 8256, PCW 8512
  • MSX1
  • Spectravideo 318/328
  • Colecovision
  • Sega SG1000
  • Sega Master System

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 releases for download:

  • Source code
  • Binary compiled versions:
  • GNU/Linux 32/64 Bits
  • FreeBSD 64 Bits
  • Haiku OS
  • Mac OS X
  • Windows
  • Raspberry pi (raspbian)

Other by 3rd party:

  • Arch Linux
  • Slackware
  • Retropie/EmulationStation
  • Open Pandora
  • PocketCHIP
  • MorhpOS

Also an experimental Docker image

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:

ZEsarUX donation

All donors will appear in the DONORS file

Thanks!

FEATURES

  • Runs on any UNIX based operating 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:

    • Science of Cambridge MK14
    • Sinclair ZX80
    • Sinclair ZX81
    • Sinclair ZX Spectrum models: 16k, 48k (English and Spanish), 48k+ (English and Spanish), Spectrum 128k (English and Spanish), Spectrum +2 (English, Spanish and French), Spectrum +2A (English and Spanish), Spectrum +3 (English and Spanish)
    • Sinclair QL
    • Cambridge Z88
    • Microdigital TK80, TK82, TK82C, TK83, TK85, TK90X (Portuguese and Spanish), TK95 (Portuguese and Spanish)
    • Czerweny CZ 1000, CZ 1500, CZ 1000 Plus, CZ 1500 Plus, CZ 2000, CZ Spectrum, CZ Spectrum Plus
    • Timex Sinclair 1000, 1500, 2068
    • Timex Computer 2048, 2068
    • Inves Spectrum +
    • Sam Coupe
    • Pentagon
    • Chloe 140 SE, 280 SE
    • Chrome
    • Prism
    • ZX-Uno
    • ZX-Evolution BaseConf (beta)
    • ZX-Evolution TS-Conf
    • ZX Spectrum Next
    • Jupiter Ace
    • Amstrad CPC 464, CPC 4128, CPC 664, CPC 6128
    • Amstrad PCW 8256, PCW 8512
    • MSX1
    • Spectravideo 318/328
    • Colecovision
    • Sega SG1000
    • Sega Master System
  • 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 Flash Color mode (128 color)

  • Emulates Chroma81 ZX81 Colour mode

  • Emulates Spectra Video Modes

  • Emulates Amstrad PCW Colour 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)

  • Partial support for Spanish and Catalan language on menus

  • 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), One Bit Speaker (PC Speaker and Raspberry Pi GPIO speaker, without any kind of sound card), CoreAudio (Mac OS X).

  • Supports dumping audio & video to file

  • Allows to save screen to formats: SCR, PBM, BMP, TXT, STL (3D Model)

  • Supports loading from real tape (any external audio source, like tape player, mp3 player, etc)

  • Supports real tape loading of file formats: RWA, SMP, WAV, TZX, PZX, CDT, TAP, P, P81, 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, PZX, O, P, P81, CDT, CAS) on standard ROM routines for ZX Spectrum, ZX80, ZX81, Amstrad CPC, Jupiter Ace, MSX, Spectravideo

  • Handles real audio loading (RWA, SMP, WAV) on standard ROM routines for ZX Spectrum, ZX80, ZX81, Amstrad CPC, Jupiter Ace

  • Simulates real tape loading on standard ROM routines for ZX Spectrum, ZX80, ZX81

  • Handles snapshot formats: ZSF, ZX, Z80, SP, SPG, NEX, SNA, P, P81, O, Z81, ACE

  • Handles floppy disk formats: DSK

  • Handles MMC/SD card formats: HDF, IMG, RAW (.MMC)

  • Handles IDE hard disk formats: RAW (.IDE)

  • Handles cartridge formats: DCK, ROM, COL, SG

  • Handles RZX playback

  • Emulates the following Copy Interfaces: Defcon, Dinamid3, Hilow Barbanegra, Interface007, Microhobby Pokeador Automatico, Multiface One, 128 and Three, Phoenix, Ramjet, Spec-Mate, Transtape

  • Emulates Dinamic SD1

  • Emulates Datagear/MB02 DMA, ZX-Uno DMA

  • Emulates Nec PD765 floppy disk controller, used on Spectrum +3, CPC 664, CPC 6128, PCW

  • 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

  • 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 HiLow DataDrive

  • 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/CBA Stereo

  • Emulates General Sound

  • Emulates SN76489AN Audio Chip

  • 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 51 KB

  • Joystick emulation with real joystick and keyboard cursors: Kempston, Sinclair 1&2, Cursor Joystick, Cursor & Shift, OPQA, Fuller, Zebra, Mikro-Gen, ZXPand, SAM Coupe Cursors, CPC, MSX, Spectravideo, Cascade, DKTronics. 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)

  • 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 in two different ways: using two or more (up to 16) ZEsarUX instances, located each one on any part of the world or in a local network, or with a central server (ZENG Online). Games doesn't have to be modified, you can use any existing game

  • Uart bridge emulation: allows you to use a real uart-wifi device 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

  • Audio Chip Tools: For the 3 emulated audio chips (AY-3-8912, SN76489AN, QL i8049): Sheet, Piano, Registers, export music to midi (.mid) files

  • Real Time playback from Audio Chip Sound (AY-3-8912, SN76489AN, QL i8049) to external MIDI device

  • AY Player: allowing to play music from .AY files

  • AY Mixer

  • Visual Real Tape: you have an audio render of your tape, see tape blocks and rewind or move forward the cassette player

  • Visual Floppy: allow to see floppy activity: disk movement, reads, writes, head seek, etc

  • Supports ZEsarUX remote command protocol (ZRCP). This is a powerful communications protocol between a client and ZEsarUX, using a simple telnet client. One of the things you can do it is enhanced debugging on ZEsarUX from Visual Studio Code (see https://github.com/maziac/DeZog)

  • Can use a reduced Spectrum core, with some features disabled, useful on slow devices, like Raspberry Pi 1/Zero

  • Can generate Automatic Snapshots to RAM and also do a Rewind operation

  • Powerful debug features: Reverse Debugging, CPU History, 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, View Tiles, Find bytes, Infinite lives finder, CPU Transaction log, View BASIC, View BASIC variables, verbose messages on console

  • Text adventure debugger: On a Quill/Paws/Daad/Gac text adventure you can Step to Step condact, watch flags/objects, list messages (objects, user/system messages, locations, compressed tokens, vocabulary), connections, Text Adventure Map. Can also view graphics from a Quill, Paws, Daad or Gac aventure.

  • Use artificial intelligence to get realistic images for location description on Text Adventure games

  • File utilities menu: Allowing to view, expand and convert some common file formats: tap, tzx, pzx, trd, dsk, mdv, hdf, ddh, etc. Can also browse inside file system images (.mmc, .img, 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.

  • Translation support: Can translate text from almost any program or game using external scripts

  • 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

  • Supports execution on Docker, tested on Debian, Ubuntu and Fedora containers

  • Other features: Visualmem menu, CPU Statistics, Toy ZXeyes, Toy ZXlife, Ascii Table, Sensors

  • Includes seven easter eggs. Can you find them? :)

Some screenshots

ZX Desktop, running multitask windows, on Solarized Dark GUI Style, running ZX Spectrum OverScan demo

alt text

ZEsarUX 11.0, running multitask windows, ZEsarUX Plus GUI Style, running Sound Tracker 20th anniversary demo, some Multitask windows

alt text

Default clean ZX Desktop starting from ZEsarUX version 10.2

alt text

ZX Desktop, running demo ny17 from TSConf, showing some windows opened

alt text

ZX Spectrum Overscan demo

alt text

ZX-81 Mazogs

alt text

Sinclair QL

alt text

Cambridge Z88

alt text

ZX Spectrum Sir Fred running on curses (text) driver

alt text

ZX Spectrum The Great Escape running on curses (text) driver + utf8 extensions

alt text

ZX81 Mazogs running on curses (text) driver + utf8 extensions

alt text

ZX-Uno

alt text

ZX-Evolution TSConf

alt text

ZX Spectrum Next

alt text

Prism 512

alt text

Chloe 280SE

alt text

CPC 464

alt text

MSX

alt text

Colecovision

alt text

Sega SG-1000

alt text

Sega Master System

alt text

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