ZEsarUX v8.1 beta 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: 128x96, ZEsarUX modes: 256x96, 128x192, 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)
* Supports reducing the screen to 192x144 (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:
Added 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

Added Pentagon 16C colour mode emulation
Added 1024 KB RAM emulation for Spectrum & Pentagon
Added support for .scl files: can be converted from file selector menu pressing space
Added SNA saving support
Added PZX tape file support
Added ZX81 online game browser
Added Spectrum online game browser
Added total run time statistics
Added checking for updates
Added sending anonymous statistics use
Added setting --disablemenuandexit: it closes the emulator when the menu is going to be opened.
It's the same behaviour as previous --disablemenu. Now --disablemenu only disables the menu but does not close the emulator

Added Borland Gui Style

Added ZRCP commands:
-cpu-code-coverage: working with code coverage
-cpu-history: working with cpu history
-get-ui-io-ports: to get keyboard state and joystick
-get-snapshot: get a ZSF snapshot from ZRCP
-print-footer: print message on footer
-put-snapshot: put a ZSF snapshot from ZRCP
-send-keys-event: simulates key press/release
-set-ui-io-ports: to change keyboard state and joystick
-write-port: write value to a port

Added internal zip decompressor: no more need to use external unzip program
Added setting to reset configuration file to default values

Improved Debugging:
-added setting to dump .zsf snapshot when a cpu panic is fired
-debug CPU window: can now resize height and have more debug lines
-cpu transaction log: faster when opening transaction log file
-added key 'n' for "run" on debug cpu. Does the same as closing all menus and returning back to emulation

Improved TBBlue emulation:
-added scroll x,y on ula layer
-optimized ula,lores render routines: 2% less cpu on my computer
-added 1-bit tile mode

Improved Hex editor: can now copy to a different memory zone
Improved menu:
-can now use PgUp,PgDn to jump menu pages
-added setting to disable File Utilities menu
Improved assembler: added defs command
Improved AY Sheet: now you can select which AY Chip to show
Improved file selector: when asking for a directory, only shows directories, not files
Improved curses driver: symbol @ simulates ESC on menu
Improved snapshot loading: now setting "--sna-no-change-machine" becomes "--snap-no-change-machine" and applies to .sna and .z80
Improved curses driver: now can use utf "blocky" characters and have 64x48 resolution
Improved accurate Z80 timing: IM mode 0 is 1 t-state shorter than IM mode 1
Improved real tape loading: acceleration is disabled by default, added setting to save configuration

Fixed Pentagon border: now ukflag demo is perfect
Fixed Spectrum 128k machines border: now ula128, scroll2017 demos are perfect
Fixed f_seek call on esxdos handler
Fixed segfault error when using breakpoints like peek/opcode in config file
Fixed bug on zxuno changing video ram 5/7 when paging was disabled by bit DI7FFD
Fixed average cpu statistics when footer is not enabled
Fixed kempston mouse emulation on Next machine: wheel bits always return 0
Fixed bug extracting PAWS words when a word is a pronoun
Fixed undocumented opcode ED76: I had IM0 but it's IM1
Fixed loading and saving +3 .z80 snapshots
Fixed placing menu windows when using zx desktop and machines TSConf, TBBlue, CPC and QL
Fixed bug loading .sna files when rom 1 paged in
Fixed very-old bug when loading Rocman game. This bug existed even on ZXSpectr. It fixes return flags when using tape traps.
Rocman loading screen was shown wrong (having the "any flag loading setting" disabled), but loaded. Enabling that setting crashed the game

Improved breakpoint parser:
-full expression parser: parenthesis, functions, sums, multiplications, etc. Can be used as a full calculator!
-now it's a lot more faster. Up to 7 times faster, so it uses 7 times less cpu than the old version

Improved watches:
-using new expression parser
-up to 10 watches on screen
-watches are saved on configuration file

Improved tbblue emulation:
-updated to the last Next Version files
-can load .nex snapshot files from the command line or the ZEsarUX menus, without having to boot NextOS
-added UART Bridge emulation
-increased maximum sprites per line to 100
-increased total sprites to 128
-fixed full ink mode border colour
-fallback (transparency) colour is now a 9-bit value

Improved Adventure Text Extractor: now it supports Daad games too. So it supports Daad, Paws, Quill and Gac
Improved Visualmem: now you can see all 3 different access (write, read, opcode) at once, generating a RGB color
Improved Waveform window: now the wave adjusts automatically to the zxwindow size
Improved Hexadecimal editor: now it resizes view to zxwindow height
Improved TSConf layers menu: Added "reveal" setting to view which pixels are used by a layer
Improved Scale 0.75 function: now it has antialias
Improved Cpu Transaction Log: now logfiles can be rotated automatically
Improved debugging: added a breakpoint action "putv" to write values on a Debug Memory Zone

Fixed Pentagon interrupt handling: now effects on border and hi-res work almost perfect!
Fixed interrupt bug behaviour where last opcode lasts >=32 t-states and interrupt in the middle
Fixed "Jeff Braine" manufacturer to "New Horizons". Changed Prism machine name to "Prism 512"
Fixed bug having more than 256 text to adventure keyboard words
Fixed bug on CPC vertical scrolling
Fixed segmentation fault bug when drawing CPC machine
Fixed segmentation fault bug when displaying first aid messages
Fixed bug redrawing zx80/81 display, with realvideo disabled, and menu char width less than 8
Fixed bug drawing menu window boxes when char width less than 8
Fixed zxvision left button handling: no longer sends enter when the user is dragging the window
Fixed machine names to be completely right: for example, "Spectrum 48k" becomes "ZX Spectrum 48k", etc
Fixed saving sprites when memory zone is not default zone
Fixed bug when writing divmmv memory on Chloe machine and underlying RAM in space 0000-3fffh become overwritten
Fixed bug crash when a message error was generated from ZRCP and menu had a tooltip open

https://github.com/chernandezba/zesarux

http://www.emucr.com/2019/11/zesarux-v81-beta.html