Skip to content

ZEsarUX - ZX Second-Emulator And Released for UniX

Notifications You must be signed in to change notification settings

luis-guilherme/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 Bano

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:

  • Timex TS 2068
  • Sam Coupe
  • Pentagon
  • Chloe 140 SE, 280 SE
  • Chrome
  • Prism
  • ZX-Uno
  • ZX-Evolution BaseConf
  • ZX-Evolution TS-Conf
  • ZX Spectrum Next
  • Jupiter Ace
  • Amstrad CPC 464, CPC 4128
  • 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 versions for download here:

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

Other by 3rd party:

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

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 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:

    • 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 (beta)
    • ZX-Evolution TS-Conf
    • ZX Spectrum Next
    • Jupiter Ace
    • Amstrad CPC 464, CPC 4128
    • 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 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 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, 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/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 (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)

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

  • 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 text adventure you can Step to Step condact, watch flags/objects, list messages (objects, user/system messages, locations, compressed tokens, vocabulary). Can also view graphics from a Quill, Paws, Daad or Gac aventure.

  • File utilities menu: Allowing to view, expand and convert some common file formats: tap, tzx, trd, dsk, mdv, hdf, 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

  • Other features: Visualmem menu, CPU Statistics

  • Includes five 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

ZX Desktop, running demo ny17 from TSConf, showing new direct access buttons starting from ZEsarUX version 9.1 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-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

About

ZEsarUX - ZX Second-Emulator And Released for UniX

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 97.9%
  • Assembly 1.2%
  • Objective-C 0.6%
  • Shell 0.2%
  • Smarty 0.1%
  • BASIC 0.0%