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)
New emulator of the Soviet computer Vector-06C.
Features: - Cross-platform (Windows, Ubuntu (Debian family)) CMake x32 build - Added the Screen Keyboard Window - CLI loading file command support - Remapped Restart to F12 - Refactored project structure - The main loop, event handling, and the graphics context setup transferred from FLSW to SDL3/GLAD - Native window loading/saving dialog windows replaced with a cross-platform solution - Updated hints Bug Fixes: - Fixed key handling during HW running - Fixed Piral game (avoided touching unused flags) - Fixed an issue of not loading fonts at startup - Fixed minor bugs (part of SDL/ImGui/loop refactor) - Fixed small bugs in Windows build
The stable version of the 86Box emulator has been updated to 4.2.1
Changelog Emulator - Fixed keyboard shortcuts for full screen mode when the Keyboard requires capture option is set Machines - Added video overscan delta option to the IBM PCjr (fixing the game on the screenshot above) - Fixed some copy protected games on the IBM PCjr - Fixed CMOS password and other boot issues on the Radisys EPC-2102 - Fixed PCI device IRQs on the A-Trend ATC6310BXII - Fixed on-board S3 ViRGE video on the Intel AP440FX - Fixed incorrect CPU speed reporting on the HP Vectra VL 5 Series 4 - Fixed missing CPU selections on the DataExpert SX495 - Fixed Genoa Unknown 486 extended memory support - Fixed Acer A1G hanging during POST with some CPUs - Fixed Olivetti M19 display corruption in high resolution mode - Fixed IBM PCjr / Tandy 1000 family display corruption with some games - Fixed Tandy 1000 display corruption on soft reboot - Fixed IBM PCjr not rebooting on cartridge removal - Fixed IBM PCjr video type selection not working - Changed minimum RAM on the Tandy 1000 to 384 KB and on the Tandy 1000 HX to 256 KB - Changed Phoenix XT clone BIOS revision to a newer one - Renamed Tandy 1000 to the SX variant to better reflect its hardware and firmware Hardware Core - Fixed 8087 FPU inaccuracy causing diagnostic test failures Display - Improved emulation performance of ATI Mach64 and S3 ViRGE cards - Added miroCRYSTAL 3D (S3 ViRGE) PCI video card - Fixed hard reset crashes with more video cards - Fixed Voodoo Banshee/3 crashing the emulator with banshee_do_screen_to_screen_blt: unknown srcFormat message on more full motion video applications - Fixed rendering issues with some drivers on S3 ViRGE and Trident TGUI cards - Fixed Diamond Stealth VRAM (S3 86C911) slowing emulation performance - Fixed hangs or display corruption with S3 cards on soft reboot - Fixed Compaq EGA display corruption in high resolution mode - Fixed Compaq EGA compatibility with non-Compaq machines - Fixed VGA color accuracy issue with some DOS games - Changed Diamond Stealth 3D 4000 (S3 ViRGE/GX2) video BIOS to a newer version Input - Added more model options to the 3M MicroTouch - Added crosshair cursor hiding option to the 3M MicroTouch - Fixed 3M MicroTouch not working with some drivers - Fixed keyboard controller inaccuracy causing keyboard lock-ups with some DOS applications - Fixed serial mouse crashing the emulator if attached to a non-existent serial port Sound - Fixed Aztech Sound Galaxy Pro 16 AB not working with some drivers - Fixed IBM PCjr / Tandy 1000 / TNDY sound issues with some games - Fixed MPU-401 playback issues with some games, particularly in intelligent mode - Renamed SB MIDI input option on Sound Blaster cards to DSP MIDI Network - Fixed modem crashing the emulator with Assertion failed! message under heavy Telnet traffic - Fixed modem autodetection taking too long on Windows 9x - Fixed modem SLIP not being reachable on some Windows configurations - Fixed loss of received packets on DEC and NE2000-based cards - Changed PLIP to require SLiRP mode like the modem Storage - Added generic AMD 53C974 card based on the PCscsi controller - Fixed dynamic VHD corruption with MFM/RLL controllers in specific cases - Fixed hanging issues with the Pro Audio Spectrum 16 SCSI controller - Fixed Tekram DC-390 not working with some drivers - Fixed WD MFM/RLL controllers not booting from hard disk when set to IRQ
The Game Boy / Color emulator has been updated - BGB.
- Fixed many bugs and problems - Accuracy improvements - Emulating GDMA conflict and improved inaccessible VRAM break for this - Speed optimizations - GBC reality colors: cyan was a bit too dark - Recovery save state can now also be saved if another ROM is loaded or BGB is closed
New emulator of the Soviet computer Vector-06C.
New Features and Enhancements - Enhanced StepOver Functionality: Now takes the opcode into account—steps over the address for JMP, the return address for RET, the HL address for SPHL, and other similar operations - Scrolling Timing Fixes: Addressed issues with scrolling timing for smoother operation - 512 Display Mode Color Fixes: Corrected color rendering in 512 display mode - Color Commit Timing Adjustments: Fine-tuned the timing for color commits - Display Mode Switching: Adjusted the timing for switching between 512 and 256 display modes - Exposed Debug Settings: Users can now adjust hardware timings through newly exposed debug settings - Rasterized Line and Pixel Highlight: Added highlighting for a currently rasterized line and a pixel - New Hardware Stats: Introduced added statistics for the display mode and the amount CPU cycles spent since the start of the current frame