The Game Boy Advance console emulator has been updated - mGBA.
Emulation fixes: - GB Audio: Fix audio envelope timing resetting too often - GB I/O: Fix STAT writing IRQ trigger conditions - GBA GPIO: Fix gyro read-out start - GBA I/O: Fix HALTCNT access behavior - GBA I/O: Fix audio register 8-bit write behavior - GBA Serialize: Properly restore GPIO register state - GBA SIO: Fix MULTI mode SIOCNT bit 7 writes on secondary GBAs Other fixes: - Core: Fix patch autoloading leaking the file handle - GB: Fix uninitialized save data when loading undersized temporary saves - GB, GBA Core: Fix memory leak if reloading debug symbols - GB Serialize: Prevent loading invalid states where LY >= 144 in modes other than 1 - GBA Audio: Fix crash if audio FIFOs and timers get out of sync - GBA Audio: Fix crash in audio subsampling if timing lockstep breaks - GBA Core: Fix loading symbols from ELF files if the file doesn’t end with .elf - GBA Memory: Let raw access read high MMIO addresses - Qt: Fix crash when applying changes to GB I/O registers in I/O view - Qt: Fix LCDC background priority/enable bit being mis-mapped in I/O view - Qt: Fix saving named states breaking when screenshot states disabled - Qt: Fix potential crash on Wayland with OpenGL - Qt: Fix installer updates if a version number is in the filename - Updater: Fix updating appimage across filesystems Miscellaneous: - Qt: Make window corners square on Windows 11 - Switch: Add bilinear filtering option - Vita: Add imc0 and xmc0 mount point support
The PlayStation2 console emulator has been updated - Play!.
- Implemented missing instruction, fixing rendering in some visual novel games - Fixed regression in JIT that was causing rendering issues in Free Running - Fixed hanging when skipping intro video in Viewtiful Joe - Added missing HLE function needed for Mojib-Ribbon - (Desktop) Changed bootable filtering mechanism - (Windows) Fixed issue preventing Black Hawk Down from saving properly
The Atari Jaguar console emulator has been updated - BigPEmu.
- Added a script for Raiden touch control. Ship automatically travels to the touch point and auto-fires when held, with a 2-finger tap to trigger bombs - Added a script for Vid Grid touch control. Drag and drop - Added a script for Towers II touch control. (with an option to uncap the framerate) In-game menu cursor is touch-driven, 2-finger tap exits the menu - Added a script for Myst touch control. Hold to drag the cursor, tap to activate - Added some scripting functionality to allow setting custom read/write handlers for non-RAM/ROM memory regions - The iOS port now prompts the user to determine their battery/heat versus performance preference on first run. (since we can't just be energy-efficient without the iOS scheduler punishing us, and I'm not having any luck getting anyone to read the FAQ/user manual) - The iOS port now has a separate "Connected Idle Time" setting, which defaults to 3.0 and is used instead of "Overlay Idle Time" when at least one external device is connected. (workaround for the same FAQ/user manual problem above) - Added lots of random new scripting functionality - Fixed game thumbnails rendering at the incorrect scale in portrait mode
The Sega Saturn emulator has been updated - YabaSanshiro.
Changes in 1.16.6 - simplify fullscreen mode - Fix: Crash when start fullscreen mode Changes in 1.16.5 - Auto update function - Fix: Crash when setting menu is changed - Fix: Polygons are broekn when restart Changes in 1.16.4 - Improve the stability issue of Vulkan - Support 8bitDoM30 and retro-bit SEGA Saturn gamepad - Reflect device pixel ratio
The PlayStation Portable console emulator has been updated - PPSSPP.
What's new in 1.18 Platform support - Improved iOS/Mac support, Game Mode support - IR Interpreter: work on correctness and optimizations - Interpreted Vertex Decoder optimizations - SDL fixes - Legacy Edition for old Android TV devices - Android and Windows shortcuts - add icons and bugfixes - Improve performance of CHD loading UI - Many crash, hang and performance fixes around the UI - New post proc filter "Sharp bilinear" - Misc UI fixes - 3 new themes - Game info in-game - New remote iso UI - Install save games from ZIP file - More input-mappable actions like Reset, allow mapping Alt key - Homebrew Store: Added website links, license info - RetroAchievements: Can now hash homebrew apps - Fix regression of the AxisSwap feature Emulation - Misc crash fixes - Vulkan barrier fixes - Misc compatibility fixes - Misc filesystem fixes (FDs, date/time) - Workaround for The Warriors video playback - Expose GPI switches and GPO leds, accessible in developer settings - Fix regression caused by the fix for UFC Undisputed - Broke out the Atrac3+ code from ffmpeg for easier debugging and maintenance - implement sysclib_sprintf Rendering fixes - Socom FB3 depth buffer problem in menu - Platypus: Glitchy transparency with OpenGL - Syphon Filter: Logan's Shadow: Dark lighting in OpenGL - MGS2 Acid errors on AMD GPUs - Fix regression in Genshou Suikoden - Fix HUD glitch in GTA LCS by emulating "provoking vertex" correctly Debugging improvements - MIPSTracer - a new (rough) debugging tool by Nemoumbra VR - New immersive mode (makes better use of reprojection by extending the rendered area) - A lot of fixes by Lubos Misc - The CHD file format is better supported and performance has been drastically improved
shadPS4 is an early PlayStation 4 emulator for Windows, Linux and macOS written in C++.
This update improves compatibility with games. Fixed some problems with shader recompiler, which interfered with the emulator. Added frame graph and accurate synchronization with 60 FPS. Implemented IME and Videodec2, which improves text and video handling, as well as some network library fixes.
shader recompiler fixes Emulated support for cpus that doesn't have SSE4.2a (intel cpus) Frame graph + Precise 60 fps timing Save data: fix nullptr & concurrent file write Auto Update Error dialog implementation Swapchain recreation and window resizing Add playback of background/title music in game list kernel: Quiet sceKernelWaitEventFlag error log on timeout Improve keyboard navigation in game list core/memory: Pooled memory implementation Fix PKG loading replace trophy xml assert with error Refactor audio handling with range checks, buffer threshold, and lock audio_core: Fix return value types and shift some error handling to library Devtools: PM4 Explorer Initial support of Geometry shaders Working touchpad support net: Stub sceNetErrnoLoc Add support to click touchpad using back button on non PS4/5 controllers Multiple Install Folders Using a more standard data directory for linux video_core: Implement sceGnmInsertPushColorMarker ime_dialog: Initial implementation Network libs fixes Use GetSystemTimePreciseAsFileTime to fix fps timing issues Added adaptive mutex initializer Small Np + trophy fixes Separate Updates from Game Folder Minor Fixes for Separate Update Folder AvPlayer: Do not align w/h to 16 with vdec2 Improve sceSystemServiceReceiveEvent stub renderer_vulkan: Commize and adjust buffer bindings Add poll interval to libScePad Add more surface format mappings. vulkan: Report only missing format feature flags. IME implementation Videodec2 implementation path_util: Make sure macOS has current directory set and clean up path code. Load LLE modules from sys_modules/GAMEID folder
The DOS - DOSBox Staging emulator has been updated.
Summary - Pentium MMX emulation - ESS Enhanced FM Audio - numerous audio-related enhancements - a large number of game compatibility fixes - improved Windows 3.1x compatibility - supercharged 3dfx Voodoo emulation performance - experimental Windows ARM64 support Game compatibility fixes - Fix regression in Command & Conquer: Red Alert where the emulator crashed after playing the game for a while - Fix regression in The Magic Candle 2: The Four and Forty where the second MIDI sequence did not play - Fix regression in Soltys where the Gravis UltraSound was not starting up after the game auto-detected it - Fix regression that prevented audio playing in HELL: A Cyberpunk Thriller on the Gravis Ultrasound - Fix Dunkle Schatten 2 freezing after startup - Fix distorted HUD issue in the 3dfx Voodoo version of Archimedean Dynasty - Fix the odd horizontal black lines appearing in the following Synthetic Dimensions games: - Chronicles of the Sword - Druid: Daemons of the Mind - Perfect Assassin - 1942: The Pacific Air War can now be played with sound when using the JEMM memory manager - Generically fix all Windows 3.1x games that complain about enabling file sharing, asking the user to run SHARE.EXE. This fixes at least the following games: - Comix Zone - Garfield Caught in the Act - Microsoft Flight Simulator (v5.0, ATC Workshop) - Monopoly - Ultimate Yahtzee - Fix the intro tune in Bumpy’s Arcade Fantasy using the wrong instruments on the MT-32 - Fix the AdLib intro jingle not playing in Silmarlis games (e.g., Crystals of Arborea, Ishar 1 & 2, Storm Master, Transantartica, etc.) - Fix flipped Sound Blaster Pro 2 output filter behaviour in Doom and all games that toggle the filter programmatically Graphics - Remove the ‘openglnb’ output mode - New xBR upscaler shaders - 3dfx Voodoo improvements - 16-bit memory writes have been fixed in our Voodoo emulation; this resolves the distorted HUD issue in the 3dfx Voodoo version of Archimedean Dynasty - The voodoo_multithreading confing setting (which previously toggled three extra worker threads) has been replaced with voodoo_threads, which uses up to eight threads based on the number of available physical CPU cores. This is enabled by default (auto setting), but you can override it by setting the number of threads manually from 1 to 16 - The multithreading performance of the Voodoo emulation has been generally improved—at the cost of higher overall CPU usage. Set voodoo_threads to 3 or less to conserve battery power on a laptop - Fixed a bug where the wrong shader could be picked when starting a Voodoo game with the adaptive CRT shaders enabled Other graphics improvements - Fixed the hardware cursor handling on the S3 Trio64 card; this fixes the display corruption on exit issue in the Teddybear’s Revenge demo by Eclipse - Now we use linear 128 KB video memory pages for all VESA modes. Some games exploit this low-level detail of some SVGA cards to access the video memory as a single contiguous 128 KB memory block instead of manually flipping between two 64 KB pages. This enhancement gets rid of the odd horizontal black lines in the following Synthetic Dimensions games and possibly in other games and demoscene productions too that use the same hack: - Chronicles of the Sword - Druid — Daemons of the Mind - Perfect Assassin - Fixed a regression where video captures resulted in slightly larger file sizes than previously Sound - Multi-threaded audio processing - ESS Enhanced FM Audio (ESFM) emulation - Here’s a non-exhaustive list of games that support ESFM Enhanced FM music - 11th Hour, The - Advanced Civilization - Callahan’s Crosstime Saloon - Gene Machine, The - Heaven’s Dawn - Heroes of Might and Magic II - Magic Carpet 2 - Settlers II, The - Shannara - Theme Hospital - WarCraft II - Z And a lot more
The multi-system emulator DSP Emulator has been updated.
General - Video - Fixed video freeze in Delphi 12 - Added general video reset - Enhanced a bit full screen mode - DIPs switches engine - Still migrating DIPs to new data structure - Sound - Seibu Sound: - Enhanced IRQs functions, uses new Z80 IRQ M0 functions - General cleaning - CPUs - MB88xx - Added serial functions - Fixed opcode $20 - Added opcode $2d - NEC v20-v30 - Fixed prefetch - Rewrited IRQ/NMI functions - Fixed BITOP opcodes - Z80 - Rewrited IRQ M0 and M2 callback functions - New function to call IRQ with vector (removed im0 variable) - Converted daisy chain functions to new IRQ M2 functions - Devices - SEGA 315-5195: added open bus function Coleco - Fixed support for cartridges up to 512Kb (Wizard of Wor) Outrun - Fixed end of sprite mark, fixes sprites left on screen - Added clean memory when reset Raiden - Fixed sprites - Fixed sound memory decryption, sound works now Sega System 16A - Fixed end of sprite mark, fixes sprites left on screen Sega System 16B - Fixed end of sprite mark, fixes sprites left on screen - Added FD1089 functions - Added IO and open bus functions - Added clean memory when reset - Riot City: added driver with sound - SDI: added driver with sound - Cotton: added driver with sound
The Sega Dreamcast console emulator - Flycast has been updated. There are builds for Android, Linux, iOS, Mac OS X, Nintendo Switch, Windows and Xbox One/Series.
What's Changed - RetroAchievements support - UI improvements with save state thumbnails - Force Feedback support for some arcade games (F355, 18 Wheeler, Maximum Speed, Faster Than Speed, Initial D, Club Kart, King of Route 66, Tokyo Bus Guide, Sega Driving Simulator) - Discord Rich Presence (Windows, macOS, linux) - Android: gamepad rumble, custom Adreno drivers and many bug fixes and improvements - Vulkan optimizations - Various fixes - Many upgrades Fixed Games - Beach Spikers - Capcom vs SNK 2000 Pro - Irides: Master of blocks - Mars TV - Metropolis Street Racer - Mortal Kombat - Quake III - Red Dog Superior Firepower - Shin Nihon Pro Wrestling - Soul Surfer - Virtua Cop 2
The Atari 2600 - Stella emulator has been updated.
- Enhanced ROM launcher to allow multiple images per ROM - Made heaps of additional images available for the ROM launcher - Added searching by filename for ROM launcher images - Added option to start random ROM - Added automatically enabled phosphor modes - Enhanced Game Properties dialog for multigame ROMs - Added 2nd UI theme and hotkey for toggling UI theme - Added bezel support (incl. Sinden Lightgun) - Added optional type format detection based on colors used - Added Joy2B+ controller support - Added auto detection for QuadTari attached controllers - Enhanced Kid Vid support to play tape audio - Added port selection, used for controller default mapping - Added missing PlusROM support for E7 bankswitching - Enhanced movie cart (MVC) support - Accelerated emulation up to ~15% (ARM) - Added limited GameLine Master Module bankswitching support - Added 03E0 bankswitching for Brazilian Parker Bros ROMs - Added WF8 bankswitching used by some certain Coleco white carts - Added JANE bankswitching used by Coleco's Tarzan prototype - Added ELF mapper for Mattress Monkeys - Added BUS bankswitching support for some older demos - Fixed broken 7800 pause key support - Added developer option for random hotspot peek values - Added user defined CPU cycle timers to debugger - Removed 'launcherroms' option, since it was causing some issues - Codebase now uses C++20 features, which means a minimum of gcc-11 or clang-10 for Linux/Mac, and Visual Studio 2022 for Windows
The Atari 2600 emulator is written in Go
Bug Fixes - Rewinding of ELF binaries caused visual artefacts on screen - Changes to screen rendering prevented the VideoChess bot from starting - Bug introduced in v0.31.0 - Added ELF to list of valid ROM extensions - A file with the .elf extension would not be shown by the ROM selector - Mouse wheel events could crash the emulator - This affected MacOS builds on machines where mouse-wheel style scrolling is done with a touch-pad - Replay button in tracker window could crash the emulator Changes - TIA audio sampled every colour clock - This fixes problems with ROMs where the channel volume is update more than twice per scanline - Added option to enable warning for "undefined symbols" when loading ELF ROMs - It is possible to compile an ELF binary with undefined symbols. Rather than reject the file when it is loaded, I have chosen to allow the ROM to execute and to continue until the symbol is referenced (which may never happen) - It is possible to compile an ELF binary with undefined symbols. Rather than reject the file when it is loaded, I have chosen to allow the ROM to execute and to continue until the symbol is referenced (which may never happen) - Added CARTRIDGE SETBANK command - It wasn't possible previously to set the current bank of a cartridge. I had originally chosen to avoid the problem because of the high variety of ways a mapper might implement banking (if at all) - The options to the SETBANK command vary depending on the specific mapper but generally, a mapper will expect a numeric value - Segmented mappers can take multiple numeric values. Separate values with a colon - In some instances, segments can be mapped to cartridge RAM. add an 'R' after the segment number to indicate the use of RAM. For example, the 3e mapper allows very flexible mapping of RAM CARTRIDGE SETBANK 1R:2 - Some segmented mappers only allow a predefined 'pattern' of segments. In these cases the numeric value to the SETBANK command will be a pattern number. The two mappers affected by this are Supercharger and Wickstead Design Other Changes - Added ELF support for REL32 and PREL31 relocation - Improved DWARF support for typedefs - Better decision making over whether variables are in global scope - Prevent possibility of infinite recursion in DWARF builder
MSX emulator has been updated - openMSX.
This is a major release, in which we introduce the new Graphical User Interface, replacing the OSD menu. A faster and more powerful debugger is now included in openMSX itself. Configuration for MSX joystick/JoyMega has been improved drastically using the new GUI. As of now, a system with OpenGL 2 support is required to run openMSX. MSX device support: - OPL4: fixed detail in YMF262 register mirroring - turboR PCM: - fixed sample frequency to 15700Hz (not 15750Hz as found in some documentation) - implement sample buffer (bit 0 on port 0xA5) to improve sound quality - flash ROMs: added a lot of accuracy to its emulation - WD2793 and TC8566AF FDC's: fixed several details - Konami mapper: added missing mirroring - improvements on I8254 mode 3 used in some RS-232C interfaces - added support for the concept 16-bit NEO mappers, which may be used by someone in the future. If this doesn't happen, support will be dropped again - added support for the ASCII16-X mapper which will be used by some upcoming games - fixed mapper of Mitsubishi ML-TS2 modem software - added support for Circuit Designer RD dongle - added new machines/extensions: - Hitachi MPF-310H - Hitachi MB-H70 - USA version of Yamaha CX5M - National CF-SM003 - German Spectravideo SVI-738 - French Canon V-20 - Yeno DPC-64 - Hitachi MB-H21 - Sony HB-T600 - Others: Philips VU-0040, General Paxon PCT-55, Sanyo MPC-64, OPL3 Cartridge with Moonsound compatible port mapping New or improved emulator features: - removed SDL renderer - added new GUI: - main menu bar with these menu items: - Machine - Select MSX machine - Firmware switch - Pause emulator - Reset MSX - Power on/off - Test MSX hardware (much faster than in Catapult) - Media - Cartridge slots with ROM cartridges or extensions - Disk drives - Tape deck - Hard disk - CD-ROM - Laserdisc - Connectors - joystick ports, printer ports, MIDI ports, etc - Save state - Load/Save state - Load/Save replay - Reverse/replay settings - Tools - Virtual keyboard - Copy/paste - Capture audio/video/screenshot - Disk Manipulator - Trainer - Cheat Finder - SCC viewer - Audio channel viewer - OSD Toys - Settings - Video - Sound - Speed - Input - Configure MSX joysticks - GUI - Configure GUI shortcuts - Misc - Configure OSD icons, show status bar - Debugger - Toolbar - Disassembly view - CPU registers - CPU flags - Slots - Stack - Breakpoints - Symbol Manager - Watch expressions - Bitmap viewer - Tile viewer - Sprite viewer - VDP register viewer - Palette - Hex editor - Help - Links to manuals - About - Reverse bar - OSD icons - Status bar - Console - Messages - Drag and drop - Shortcuts - Separate pop-out windows - Windows can be docked on other windows or in a tab widget - 3 styles: Dark (default), Light, Classic - configurable font and font size. Default: DejaVu - OSD menu: - removed in favour of new GUI - only warn once for unsupported size in Konami mappers - suppress warning messages during reversing - fully configurable MSX controller mapping for joysticks (msxjoystick1/2 pluggables) and JoyMega devices (joymega1/2 pluggables) - low level debugger (scripting): - added support for symbol management - allow to set a breakpoint (or any Tcl callback) when the VDP dot clock direction is written "wrongly" - added VGM recording for OPL3 - added minimal support for unplugging and replugging host controllers - added support for RS232Net: connect MSX RS-232C interfaces to the local network - removed several OSD scripts which have been replaced by the GUI, sometimes almost 1 to 1: - reverse bar - tile viewer - sprite viewer - palette editor - VDP register viewer - tabbed machine view - display_message - quit menu - OSD keyboard - load_icons - removed support for savestates with .xml.gz extension - do not save SRAM to file if unmodified - added support to run openMSX fully in headless mode - allow to specify the device name of IDE devices in their config XML file - base the Boosted MSX2 EN on the Philips NMS 8245 instead of 8250 - fixed crash when multiple debug-devices were used at once - fixed possible crash on specific combination of watchpoints and replay - fixed possible crash on no longer supported savestates: - we try to keep old savestates working. Nevertheless occasionally we do remove stuff. Loading an old savestate which contains such stuff used to crash, now we give a clean error message - fixes for load_settings command Build system, packaging, documentation: - added support for loongarch - required GNU compiler is now at least g++-11 - required clang compiler is at least clang++-16 - required Visual Studio Compiler is at least 2022 - on macOS, at least Xcode 15.4 is required - Android build is totally broken, and will require a lot of effort and help to get back up, which is not planned by us. - 3rd party updates of SDL (2.30.1), SDL2_ttf (2.22.0), GLEW (2.2.0) - added patch to add aarch64 support to libtheora 3rdparty build - fixed link error in libvorbis for Xcode 15 on macOS - avoid pkg-config build error with Clang 15 on macOS - quite a large update of the manual (mostly to include the new GUI)