Releases with ports for two or more operating systems.
- Details
- Category: Multiple Platform
What's New:
- Additional mappers implemented:
* BNROM (iNES mapper 34)
* NINA-001 (also iNES mapper 34)
* GxROM (iNES mapper 66)
* Jaleco JF-11 / JF-14 (iNES mapper 140)
* Bandai FCG-1 / FCG-2 (iNES mapper 16, submapper 4)
* Bandai LZ93D50 w/ X24C01 EEPROM chip (iNES mapper 159)
* Bandai LZ93D50 w/ X24C02 EEPROM chip or no writable memory (iNES mapper 16, submapper 5)
* Bandai LZ93D50 w/ 8KB SRAM (iNES mapper 153)
- Additional mapper features implemented:
* Konami VRC6 expansion audio is now slightly amplified linearly; before this change, audio output from this mapper was very quiet compared to the builtin APU audio and other boards with expansion audio
- Web frontend made much more featureful:
* Allow loading different ROM files without needing to refresh the page
* Add a reset button
* Add aspect ratio (NTSC / Square pixels) and image filtering options (Nearest neighbor / Linear 1x/2x/3x); the linear 2x/3x options are implemented using CPU scaling because WebGL does not support GPU compute shaders
* Implement audio using the AudioWorklet API
* Implement audio sync to prevent the emulator from running too fast on high refresh rate displays
* Implement persistent save files using local storage, and add a button to download the save file for the currently running game
* Fix window scaling so that the window size accounts for DPI scale factor
* Disallow opposing directional inputs to be pressed simultaneously (left+right or up+down); allowing these can cause severe glitches in some games (e.g. Zelda 2 and Battletoads). If opposing inputs are pressed simultaneously, left/up will be sent to the emulated NES rather than right or down
* Add a .nes file filter to the file picker dialog (previously there was no filter at all)
* When the page is loaded, hide the UI and display "Loading..." until the WASM is loaded and all event listeners are added
- Add an option to all frontends to allow silencing the triangle wave audio channel when it is outputting waves at ultrasonic frequencies, which can reduce audio popping in some games (e.g. Mega Man 2)
- Enable link-time optimizations for published release builds to significantly reduce executable binary sizes
- Implement a hack to fix the GUI scaling factor from defaulting to 4.5 on the Steam Deck, which made the GUI completely unusable
- A few minor performance improvements:
* Refactor audio downsampling code to avoid needing to do floating point multiplications and divisions on every emulated CPU cycle
* In the PPU code, add a bit set storing which pixels contain any sprites to avoid needing to loop over all sprites on the scanline on pixels that don't contain any sprites
* Change the square wave channel sweep units to only recompute the target period when one of their inputs changes, either the sweep config or the phase timer period
- Details
- Category: Multiple Platform
A cross-platform NES emulator. Has a native frontend built using SDL2 as well as a web frontend that compiles to WASM and runs in the browser.
- Details
- Category: Multiple Platform
What's New:
- Controls: SOCD Resolution Options
- Diagonal Correction: SOCD Defaults to Last Input for X & Y
- GGPO: Increase Protocol Version
* Prevents players from connecting if they are on different versions. Prevents desyncs.
- Remove Diagonal Correction as Default, Keep as Toggle
- Fixed Frequency: Demolish Fist, Force Audio Sync
- Linux: Copy arcade flash memory from shared dir if available
- Linux: Prepare for Linux packing, distinct binary name
* In preparation for Arch Linux build scripts. Cleanly compiles and does not conflict with flycast package in AUR.
- Details
- Category: Multiple Platform
What's New:
- updated Nintendo Switch database includes Legend of Zelda: Tears of the Kingdom!
- Details
- Category: Multiple Platform
What's New:
- PPU: disallow out-of-bounds BG VRAM tile fetches and return open bus (fixes #298)
- Core: do not skip to the next event if the CPU woke up during a DMA (fixes #297)
- KeyPad: always request IRQs from the emulator (not the calling) thread (fixes #290)
- GameDB: fix entries for a bunch of Classic NES and Famicom Mini titles (fixes #302)
- IO: do not enter STOP mode when it is not implemented
- mGBA log: clear the message buffer after printing the message
- mGBA log: flush STDOUT after each message
- Catch fmt::system_error when fmt::print() fails to write to STDOUT (fixes #301)
- Details
- Category: Multiple Platform
What's New:
Enable "fat" link-time optimizations in the release builds to dramatically reduce executable binary sizes:
- Details
- Category: Multiple Platform
What's New:
- adds MSX-MUSIC (i.e. OPLL) support for the MSX 2;
- introduces missing MSX configuration options for the Qt build; and
- adds a file association for .mx2 files.
- Details
- Category: Multiple Platform
What's New:
There are lots of changes in this version, but some of them are remarkable:
Added machines Amstrad PCW 8256, PCW 8512, CPC 6128, CPC 664
Fixed 3" CF2 floppy disk emulation (used on +3, CPC, PCW): the floppy disk emulation has been rewritten from scratch and now is near perfect
Lots of improvements on Debug CPU window
Fixed almost all annoying audio clicks on Windows version (and on SDL audio driver on Linux)
The full changelog for this version 10.3 is:
New things added:
Added Machine Amstrad PCW 8256
Added Machine Amstrad PCW 8512
Added Machine Amstrad CPC 6128
Added Machine Amstrad CPC 664
Added Visual Floppy to see floppy disk (+3, CPC, PCW, Betadisk) activity
Added DSK disk info menu: to get tracks and sectors of a disk
Added F-Functions: Poke, Visual Real Tape, Settings, Switch footer
Added Process Switcher window, which is like a "Taskbar" on the ZX Desktop
Added ZRCP command: "close-all-menus"
Added icon/F-key to open any window identified by its name
Allow F-keys to assign extra info for actions (like window name on openwindow action, or snapshot name on linktosnapshot action)
Added more Hotswap combinations
Added Advanced menu items: now by default, advanced menu items are hidden, you should enable them on Settings->Advanced menu items
Added command line setting --machinelist to get machines list names whitespace separated
Added .POK file Smartloading
Added XEyes "Toy" to follow mouse
Added Sierpinsky Meter Type to View Sensors
Improvements:
Improved Debug CPU:
switched function keys "m" and "o": now "x" change mode, and "m" change memptr (to be coherent with other similar windows)
added (hl), (de), (bc)
added (nn) when selecting an opcode like: ld reg,(nn) and ld (nn),reg
added (ix+d), (iy+d) when selecting an opcode like: ld reg,(IX+d), etc
added continuos speed 4 (run 10 opcodes every time, with no pause)
show last memory pointer when changing it
show B register on satisfy condition for DJNZ
added new functions OPMRV(e), OPMWV(e), OPMRA(e), OPMWA(e): these return 1 if the last opcode has set any of these variables to e.
added pseudoregister EPC to parser to match memory bank and offset for PC register
allow holding keys for quick cursor move, etc
watches now show numbers in hexadecimal format
Improved Debug Console: better refresh, dynamic width
Improved Debug Messages: allow to filter by message class (DSK, PD765, etc...)
Improved Debug I/O ports window: autoresize content height when do not fit in window
Improved Configuration:
better parsing: warning when ZEsarUX has been downgraded
if unknown parameter on configuration file, warn the user but start anyway
moved showing Configuration file from Running info menu to Settings-> Configuration file
Improved DSK viewer:
better filesystem detection
show hidden and read only files
show disk specification format
show where files are located on Visual Floppy
Improved View Sprites:
sprite is no longer disabled when changing memory pointer
you can view sprites up to 1024x1024
show PCW common format screen
Improved ZX Desktop:
dynamic icons (Trash, My Machine, ...) assigned on top buttons now show dynamic state (trash empty/full, current machine image, etc)
show icon indicators for open apps on ZX Desktop
added setting to empty Trash on exit
fixed icons zoom level when selecting some machines that use menu gui zoom = 2 (Next, CPC, QL, etc)
ZX Desktop size now is multiplied by GUI Zoom (Zoom 2 on machines like Next, CPC, QL, etc)
CF2 Floppy icon (+3, CPC, PCW) now is animated when motor is on
Improved ZX Vision:
added windows-style TaskBar called "Process Switcher"
added Process ID (PID) for all windows
text input fields now handle repeated keys
some text input fields now have history of last items, and history is saved on configuration file
added function to maximize all windows
allow reducing character height
improved window list showing spent time on each window and pid of each window/process
improved rendering background windows
yes/no confirmation dialogs are translated to si/no in Spanish and Catalan
added more menu translations to Spanish and Catalan
Improved DSK extractor: better filesystem detection
Improved ZSF Snapshots: allow to save ROM contents, useful when running custom roms
Improved File selector: can show recent folders (press space on recent files)
Improved changing pointer on some windows: can use an expression when changing memory pointer on Debug CPU, View Sprites, Hexdump, Disassemble, Poke
Improved changing to machines with big displays (Next, QL, CPC...): zoom is autochanged to 1
Improved joystick type selection
Improved Raspberry Pi emulation: performance parameters are not changed by default anymore, you must use "--changeslowparameters" on slow Rpi like Rpi1 or 2
Fixes:
Fixed Spectrum +3 disk emulation: the disk emulation layer has been rewritten from scratch and now is near perfect.
Just some statistics from testing 943 total Spectrum +3 disks:
-Unprotected games: 98.3 % working
-Paul Owens protected games: 85.7 % working
-Speedlock protected games: 54.2 % working
-Alkatraz protected games: 0 % working
-Unknown method protected games: 0 % working (a total of 15 disks that seem to be protected but don't know the method)
Fixed almost all annoying audio clicks on Windows version (and on SDL audio driver on Linux)
Fixed empty results when querying some games on Speccy online browser
Fixed random crash on startup on Linux when executing some network operations (check updates, check last users, send updates)
Fixed segfaults when exiting using CTRL-C
Fixed autoload on Spectrum +3
Fixed bug that may crash ZEsarUX when changing to a machine with bigger resolution. It seems to affect Linux and Windows but not Mac. This is a bug that has always existed (a "long life bug" XD)
Fixed showing creator on DSK file viewer
Fixed pause: can now return when pressing mouse button too
Fixed assembler parsing expressions (NN) and NN is an hexadecimal number
Fixed debug step over and sending keys to emulated machine
Fixed setting "set machine snap load" when loading .Z80 version 1 snapshots
Fixed real joystick menu disabled on Mac OS when switching border
Fixed putting Text Adventure Map window on background
Misc Changes:
Persistent writes on DSK files (+3/CPC/PCW disks) are now disabled by default
As always, there are some other minor bugfixes and improvements
- Details
- Category: Multiple Platform
What's New:
Fixed
- Image timeouts issue should be resolved. If it isn't resolved for you try lowering the batch size in settings.
- Duplicates being added when upgrading from 2.4.14 to 2.4.15.
Added
- Ability to set batch size for image downloads in settings
Changed
- Automatically retry image downloads up to 4 times.
- DNS resolution now happens in SRM and uses caching.