A new version of the Sega Saturn - Nova emulator has been released.
- SH2: Added the TOCR register of FRT - SH2: Added the REF register of BSC - SH2: Added optimization(preliminary) for idle loops - SH2: Rewrote DMAC - SH2: Rewrote INTC(After Burner 2, OutRun) - SH2: Rewrote interrupt handlings - SH2: Rewrote intructions NEGC, MAC.L and MAC.W - SH2: Rewrote Power-On precedure - SH2: Refactored Cache emulation - SH2: Refactored instruction execution - SH2: Increased throughput of instruction execution - SH2: Supported auto vector - SH2: Fixed address space check for cache area - SH2: Fixed logging - SH2: Fixed a bug of the register TIER of FRT - SH2: Fixed a bug of setting the CHCR register of DMAC - SH2.FRT: Improved performance by using shifting instead of division - SH2.FRT: Added settings of external clock - DCC: Added long word access for MINIT and SINIT - DCC: Improved Dual CPU Communications - DCC: Improved the timing of MINIT(Super Robot Taisen F) - DCC: Changed interrupts level to 0x0f, 0x0d - PLL: Fixed SCU.TIMER1 frequency - M68K: Rewrote exception handling - M68K: Rewrote NMI handling - SCU: Rewrote DMAC(Incomplete) - SCU: Rewrote INTC - SCU: Improved the timing of DMA(Gun Bird) - SCU: Fixed a timing issue of interrupt handling(Gunbird, Gundam Z) - SCU: Fixed a bug that sometimes DMA transfers are incomplete - SCU: Fixed a bug that sometimes DMA transfers may start without the enable/starting bits set - SCU: Fixed initialization of T0C, T1S - SCU: Fixed bugs of interrupt handlings(Rayman) - SCU & SH2: Fixed interrupt handlings(Rayman, Samurai Spirits - Zankurou Musouken(No cartridge warning)) - SCU.DSP: Inlined all of instructions and internal operations - SCU.DSP: Fixed timing for i_dma to pass the emulator detection of SlideHop - SCU.DMAC: Optimized by replacing divisions with shifting - SCU.DMAC: Made DMAC as an executable device for better timing - SCU.DMAC: Fixed CDB.DATATRNS transfer(Fixed regression of Steam-Heart's) - SCU.DMAC: Implemented more accurate timing for DMA transfer - SMPC: Implemented time optimization for peripheral data collection - SMPC: Added 3 undocumented commands(0x0a, 0x0b, 0xa0) - SMPC: Rewrote the INTBACK command, improved timings of the INTBACK command - SMPC: Rewrote peripheral data processing(Galaxy Fight - Universal Warriors) - SMPC: Changed sat_battery.sav to sat_battery.bin - SMPC: Fixed a bug of the INTBACK command(Canceling of the INTBACK command) - SMPC: Fixed bugs of the SF flag setting of the commands CDON/CDOFF - SMPC: Rewrote get peripheral data - SMPC: Fixed input issues(Rayman, Yoshiyuki Sadamoto Illustrations) - SMPC: Changed peripheral data collecting time to 100 scanlines(close to the SAROO fast cursor moving speed) - SMPC: Changed cbGetStatus timing of INTBACK command(SegaSaturn Electronic Book Operator) - VDP1: Added returning garbage data when reading is out of range - VDP1: Rewrote initialization of Frame Buffers - VDP1: Optimized color mode decoding - VDP1: Fixed a bug of registers mirroring(no mirror) - VDP1: Rewrote register handlings and update timings, fixed Lunar(missing trees), Tactics Ogre(menu flashing) - VDP1: Fixed a bug that some registers shouldn't be initialized when resetting or power-on (480P-Mode-Demo: Fixed color issues since v0.6.5011, and another bug that the purple polyline shouldn't be displayed) - RASTER: Refined - VDP1: Fixed manual erase/change timing(Kidou Senshi Z Gundam - Zenpen Zeta no Kodou) - VDP1: Fixed Manual Change(missing sprites of Sega Ages - OutRun) - VDP1: Fixed CMDLINK, bits 1, 0 must be ignored(Akumajou Dracula X) - VDP1: Fixed texture sampling - VDP1.ERASER: Implemented Eraser for handling Erase/Write(Fixed graphic issues of KOF95, Sonic Jam) - VDP1.ERASER: Fixed endVBE - VDP2: Added initialization for m_cpe(Cycle Pattern Error) - VDP2: Clear m_cpe(Cycle Pattern Error) at checkV - VDP2: Implemented drawing of borders - VDP2: Optimized color mode decoding for getting layer data and the sprite active table - VDP2: Fixed a bug of VCNT updating(palette error of the cartridge warnings screen of KOF95) - VDP2: Rewrote Cycle Pattern handlings - VDP2: Fixed a bug of TVSTAT register handlings - VDP2: Fixed a bug of Bitmap address wrapping(NBG0, NBG1, RBG0, SPRITE, Yoshiyuki Sadamoto Illustrations) - SCSP: Implemented full emulation of DSP - SCSP: Added more reading handlings for CCR registers - SCSP: Rewrote INTC - SCSP: Rewrote timers - SCSP: Cleaned up unused tables - SCSP: Refactored completely - SCSP: Fixed timing for M68K RAM access to pass the emulator detection of SlideHop - SCSP: Fixed a bug that Calling Address is not updated after the monitor slot is set(SRWF FMV) - SCSP: Fixed a bug of EFSDL when setting with 16-bit data - SCSP: Fixed bugs of SDIR handlings(Waku Waku 7) - SCSP: Fixed a bug of DMAC EX flag - SCSP: Passed 13 tests of celeriyacon's scsp_test - CDB: Added address mapping region for CR registers(Saturn Test menu) - CDB: Implemented handling of subcodeRW - CDB: Supported multi-session discs - CDB: Supported multi-index discs - CDB: Supported CD+G/CD+EG playbacks - CDB: Rewrote TOC handlings - CDB: Rewrote periodic response - CDB: Rewrote status transitions - CDB: Rewrote subcodeQ handlings - CDB: Rewrote Connectors handling - CDB: Rewrote position handling - CDB: Rewrote data transfer handling - CDB: Refactored commands CdPlay, CdSeek and ReadFile - CDB: Don't start periodic response after power on - CDB: Read TOC after reset - CDB: Emulated status RETRY, ERROR, FATAL - CDB: Rewrote status, periodic response, position processing - CDB: Rewrote commands CopySctData, MoveSctData - CDB: Optimized subcode R~W decoding with a circular queue - CDB: Rewrote command E2, renamed it to ReadRom - CDB: Added SH1 fake address mapping - CDB: Changed changing condition of periodic response - CDB: Merged r/datatrns read/write handlers - CDB: Implemented CdScan - CDB: Reverse scan reverses the output samples order - CDB: Rewrote CD report - CDB: Rewrote async operation - CDB: Fixed report of status FATAL/OPEN/NODISC/STANDBY - CDB: Fixed word access for the DATATRNS register(Steam Hearts) - CDB: Fixed timing of command AbortFile again - CDB: Fixed GetdelSctData, CalActSiz, DataEnd(KOF95), ReadDir/ChgDir(incorrect drend when infnum is 254) - CDB: Fixed bugs of current play position and target position - CDB: Fixed a bug that the file system can not access current/parent directorys sometimes - CDB: Fixed a bug of the CSCT flag(Should be set when a sector was discarded) - CDB: Fixed a bug that MPEG videos playing twice - CDB: Fixed a bug of EHST flag setting timing(Assault Suit Leynos 2) - SYSTEM: Implemented CAT(Cycle Adaptive Timing) - SYSTEM: Implemented FMA(Fast Memory Access) - SYSTEM: Implemented Audio Stream Buffer - SYSTEM: Implemented new mechnism for the PAL mode - SYSTEM: Implemented generic system time slices - SYSTEM: Rewrote the frame structure - SYSTEM: Rewrote handlings of the communication port - SYSTEM: Fixed a bug of address mapping(lockup area) - SYSTEM: Fixed a bug of H-BLANKs during V-BLANK - SYSTEM: Rewrote CS2 address mapping - SYSTEM: Added default BUP when no game loaded - SYSTEM: Added Open/Close Tray - SATURN: Changed name prefix of BUP - SATURN: Fixed initialization of SCSP RAM for quick starting and HLEBIOS - SATURN: Added recognization of audio CDs - SATURN: Added VDP1 frame buffer initialization for HLE_BIOS(Galaxy Fight - Universal Warriors) - TITAN: Fixed TITAN mode - TITAN: Fixed input issue of Suiko Enbu - TITAN: Changed button name from PUSHSW to SELECT - TITAN: Rewrote EEPROM and BUP loading/saving - TITAN: Added SIMM - TITAN: Passed MIDI Test - TITAN: Passed Gun Trigger Test - TITAN: Supported new formats 7Z/RAR - TITAN: Supported Multi-cartridge - TITAN: Fixed area code of Sport Fishing 2 - TITAN: Fixed a bug of EEPROM reading, passed the EEPROM Test - PROLOGUE21: Added a stub - RASTER: Rewrote raster - READER: Rewrote async operation - SCHEDULER: Refined - SCHEDULER: Fixed a bug when frame exit, the next target time could be discarded - SCHEDULER: Fixed a bug of timer repeating - SCHEDULER: Fixed a bug that an event may execute after executed - MP1D: Implemented a new mechnism(wait when buffer is full) - MP1D: Video and Audio use seperated demuxers - MP1D: Reduced memory usage - MP1DA: Fixed the sound glitches when playing opening movie of Lunar SSSC - MP1DV: Fixed a bug of empty GOP - VCDCARD: Decoupled from CDBLOCK - VCDCARD: Implemented window, zooming functions - VCDCARD: Fixed the command MpSetDec - VCDCARD: Fixed crash - VCDCARD.MPDV: Fixed display position of the frame buffer - VCDCARD.MPDV: Fixed issues of window processing - VCDCARD.MPDV: Implemented bilinear filtering - VCDCARD.MPDV: Replaced all of the floating calculations with integer calculations - ODD: Rewrote async operation - ODD: Fixed a bug that sometimes it can't stop after releasing Forward/Backward button in the BIOS CD player - DRIVE: Refactored CD drive status transitions - PAR: Fixed a bug of getting vendor id, product id - DATA: Added record data of Sega Saturn de Hakken!! Tamagotchi Park(Thanks to cafe-alpha) - PERIPHERAL: Implemented emulation of PSY-Q Target Adapter(Broken) - PERIPHERAL: Implemented emulation of Satiator(Broken) - PERIPHERAL: Implemented emulation of SAROO - PORT: Decoupled ASIC01, ASIC02 from SMPC - FDD: Changed block size to 512 bytes - BIOS: Added function S_AUTHENCD(required by SMPMPG1), bumped version number - BIOS: Fixed offset of the instruction at 0600092E - BIOS: Supported to run with SH2 cache enabled - BIOS: Added default PC and SP for SH2(S)(Doom) - BIOS: Fixed SYS_SETSCUIM for SH2(S)(Astal) - BIOS: Enabled Nova BIOS - BIOS: Supported to run executable files - BIOS: Fixed slave sh2 initialization - BIOS: Implemented SYS_CHGSYSCK, SYS_TASSEM, SYS_CLRSEM - BIOS: Rewrote the handling of SCU interrupts and the execution interface of SYS and BUP functions - BIOS: HLE BIOS version bumps to v0.94 - BIOS Rewrote SH2_INIT and interrupts initialization - BIOS: Fixed bugs of the HLE BIOS, updated version number of the HLE BIOS - BUP: Redesigned the BUP format - BUP: Fixed bugs that sometimes it can corrupt existing game records in the BUP file system - BUP: Fixed bugs of read/write game records - EXE: Supported new excutable format SRE - EXE: Improved handling for entry address COF/ELF/SRE(DUKPLAYR.COF) - CD: CD file name when there is only a dot without an extension, the dot is ommited - CD: Fixed a bug that it may exceed the size scope of a file while reading - CD: Fixed a bug that the last track can not end or loop - CDX: Rewrote handlings of physical CD Drive - CDX: Rewrote BIN/CCD/CUE/ISO/MDS parser - CDX: Refactored Sector/Index/Track/Session/CD and TOC structures - CDX: Supported multi-session and multi-index - CDX: Supported new formats CDG/CDI/CHD/CSO/DAX/NRG/TOC/ZSO - CDX: Supported automatically generating ECC/EDC code - CDX: Decoupled ISO9660 stuff from CDB - CDX: Supported PCM and WAV(roughly) formats - CDX: Fixed CD+G regressions of MDS/NRG formats(Caused by 0.6.5003 CdScan support) - CDX.CUE: Supported WAV(roughly) files - COMMON: Implemented cirque(circular queue) - UTILITY: Added Region ID - MISC: Implemented Audio Level Meter - MISC: Implemented "Rotate With Control" - MISC: Implemented Turbo Mode(Tab) - MISC: Implemented Step Forward Mode(Ctrl + ->) - MISC: Implemented per_game_bup - MISC: Improved FPS controling, frames are now more stable and smooth - MISC: Rewrote Auto Region, PAL regions have higher priorities now - MISC: Supported 64-bit architecture - MISC: Optimized INI parser file processing(Load the entire file instead of line by line) - MISC: Reduced memory usage - MISC: Added PAUSE/PLAY toggle(Spacebar) - MISC: Added colors and shadows for FPS display - MISC: Added a License button on the About Dialog - MISC: Added a new option show_log in nova.ini for showing/hiding the log console - MISC: Added a new option show_stat in nova.ini for showing/hiding FPS information - MISC: Added new options log_xxx in nova.ini for setting log levels of individual modules - MISC: Renamed stv_game to stv_slot# in nova.ini - MISC: Renamed mpeg_card to vcd_card in nova.ini - MISC: Fixed data size of Saturn Standard Pad - MISC: Fixed memory leaks - MISC: Fixed random crash - MISC: Fixed a bug of INI parser(may crash when it encounters empty lines) - MISC: Fixed a bug of the CPE format - MISC: Updated data.json - MISC: Migrated to C++17 - MISC: Show/hide output console via menu - MISC: Fixed a bug that output console can not be closed properly - MISC: Supported swapping disc - MISC: Made FPS more stable - MISC: Replaced init function with create for various machines - D3D9: Removed D3DX9 dependencies - D3D9: Changed D3DFMT_X8R8G8B8 to D3DFMT_A8R8G8B8 for compatibilities - GRAPHIC: Implemented various graphic filters - None - Bilinear - CRT (Aperture Grille Big)- - CRT (Aperture Grille Small) - CRT (Slot Mask Big) - CRT (Slot Mask Small) - Dot (Round) - Dot (Square) - LCD (Game Boy) - LCD (Game Boy Light) - Noise (Dynamic) - Noise (Static) - E Ink Color - Paperwhite - Scanline (Phosphor) - Scanline (Straight) - Monochrome - Reverse Color - GRAPHIC: Implemented Fullscreen Mode - GRAPHIC: Implemented VSync - SOUND: Improved audio streaming - SOUND: Supported Portable Sound Format - SOUND: Fixed a bug that left and right channels were reversed - GUI: Vsync is enabled by default - GUI: Redesigned file open/close logic - GUI: Show version number on the caption bar of the main window - GUI: Supported various Aspect Ratios - GUI: Supported rotations of the main window - GUI: Hide cursor in fullscreen mode - GUI: Render overlay text with freetype - GUI: Fixed a bug when restoring a minimized window - DEBUGGER: Enabled debugger - DEBUGGER: Improved the debugger - DEBUGGER: Return to RTS instead of returning from the function - DEBUGGER: Fixed a crash of quiting the program while running the debugger - DEBUGGER: Fixed bugs that the debugger crashes with low-DPI displays - DEBUGGER: Fixed a bug when clicking the PC icon - NOVA: Refactored the entire project(Uncompleted) - NOVA: Release memory of a Machine when close
The VICE v3.9 emulator Commodore 64 has been released.
General - rewritten joystick mapping and -input system. Both the SDL and GTK versions share common code now, have the same features, and can use the same mapping files. However, unfortunately we ran out of time and could not implement a related UI in the GTK port yet - which means you will have to create and/o install the required mapping file manually like this, if the (very simple) default mapping does not work for you: 1. find a matching SDL mapping file in DATA/C64. If none of the existing ones matches your controller, you may create one yourself (either manually or using the SDL port) 2. rename the mapping file to "gtk3-joymap-.vjm" - for example gtk3-joymap-C64SC.vjm 3. copy the resulting file to the (current) default location: Windows: the bin directory (where the .exe resides) Linux: $HOME/.config/vice/ - Interrupt logic fix: Only when the first IRQ source becomes active, the CPU sees the IRQ input line go active; on additional ones, no change is visible. So most of the actions that are done should only be done when the first IRQ source becomes active, and not on additional ones - added an option that allows to skip soundchip emulation in warpmode (to increase performance, at the cost of some accuracy) - reSID: scale down filtered voices on 6581 - reSID: scale and clip volume by an arbitrary factor, makes 6581/8580 nearly the same volume - reSID: implement DAC leakage - reSID: fix uninitialized var in old filter - reSID: Fixed the 8580 filter voltages, now the values really make sense - CIA: always toggle AM/PM flag when writing 12 o'clock time, no matter if this is a change to the hours register or not - cleanup of the userport system, devices that do not (and can not) work are no more available for a particular machine - Added C64/C128/SCPU64 palette file created by Kim Lemon to allow for consistency in screenshots for lemon64.com - fixed handling of warp mode while movie recording is active - improved ZMBV recording, now handles accurate fractional FPS - fixed recording with external ffmpeg executable - fixed polling POTX/POTY when no mouse is active - added Chalkboard PowerPad emulation - fixed Rushware Keypad - fixed Cardco Cardkey keypad - fixed Atari CX21 Keypad - fixed SNES pad's raw data - fixed mapping for keypads attached to joyports - fix: WOJ Adapter bits where inverted - removed support for right and middle button with Amiga and AtariST mice - These connect POT lines with GND when pressed, and are open if not, which the CBM machines can not detect (since there is no pullup resistor) - Allow CMD smartmouse time/date to be read and written even if the mouse is not grabbed - When writing .tap values, add the remainder of the current value to the next, so overall tap length will be correct - do not automatically 'press play' when attaching a t64 image, we don't do this for taps either - 'press STOP' when detaching a tap image - Fix default tape header type (t64) for vic20 and c128 (it should be type 3, ie absolute) - Fix the 'load to basic start' autostart option for tape - Reworked the log system. logging to stdout and to an actual file can coexist now, each can be selected separately - (Optional) support for colors in log messages - Made ANE/LXA logging options available in all emus, except SCPU - VICII: init color ram at powerup - fsdevice: fixed file name pattern matching - fsdevice: Directory loading of "$:" was loading the full directory but should have matched no files at all. It is actually a degenerate case where you specify an empty pattern and that matches no names - fsdevice: make the first 'line number' in the directory 1 instead of 0. This is the partition number on cmd devices, and apparently the c64os setup chokes on it being 0 - fixed DigiMAX DAC addresses to make stereo replay work correctly - RAMLINK: IO1 wouldn't bet setup properly after RAMLINK was turned back on - fixed RTC core (RTC on CMD FD/HD and RAMLink) - save 'jammed' status into snapshot for each cpu Buildsystem - make configure bail if pkg-config isn't found - generate linker map files with `--enable-debug` - configure: barf if `--enable-gtk3ui` is combined with `--without-zlib` - Added "Game" and "Emulator" categories in the .desktop file template used by the `--enable-desktop-files` configure switch. Should fix issues with desktop environments not showing the icons after a `make install` C64 fixes - extended DQBB support, support 16-256k RAM, support C128 mode - added support for UC1/UC15/UC2 cartridges - added support for BMP Data Turbo 2000 cartridge - correctly assign rr revision when mounting crt file - various WiC64 related fixes - Make possible to enable the CP/M cartridge again C128 fixes - added snapshot support for c128 cartridge system - Fixed various Z80 timing issues - Fix: Z80 can not see charrom in c128 mode, but it can in c64 mode - added WZ reg for improved bit 3 and 5 status register results. x128 Z80 now passes ZEXALL - RAMlink: also exposes open-circuit when internal function roms are off - VDC memory is now properly accessed when memory configs differ; vdcdump runs in 16KB mode VIC20 fixes - tweak ram init pattern, this makes some known cases that rely on it work (AE, Jelly Monsters) - make the 'exp' command work in the monitor - added support for 'rabbit tape' cartridge - added support for 'Super Expander' cartridge - added support for 'Mikro Assembler' cartridge - added missing 'bin save', 'crt save', 'flush image' for Final Expansion, Megacart, Ultimem, VIC Flash Plugin - added VIC20 SDL keymaps for UK(symbolic and positional) and DE (positional)
The emulator of eight-bit computers Atari - Altirra will be updated.
[changes] - Display: Due to change in bloom algorithm, bloom settings have been reset to avoid conflicting with earlier versions [features added] - Cartridge: Added support for J(atari)Cart (104-111) and DCart (112) - Cassette: Added Vorbis decoding support - Cassette: Added support for paired .data.cas+.audio.ogg files for more compact tape storage - Cassette: Added Turbo D support - Cassette: Added FSK speed compensation and crosstalk reduction options - Command Line: Added /cleardevices, /adddevice, and /removedevice switches - CPU: Added 23x multiplier option for 65C816 mode - Debugger: Added keyboard shortcuts to memory window - Debugger: Ctrl+Alt+click now reports scrolling offsets, pixel addresses, and VBXE information - Debugger: Added .vbxe_xdlhistory command - Debugger: .diskdumpsec command can now display INTERNAL text - Debugger: FDC and DISKEMU logging channels are now off by default - Devices: Added Microbits MPP-1000E modem - Devices: Added parallel-to-serial adapter device - Devices: Added 820, 825, 1020, 1025, and 1029 printers - Devices: Added Remove/Settings commands to context menu - Devices: Added 850 printer port support - Devices: Added $D600-D63F address range option for Covox - Devices: Added option for PBI-based CIO devices instead of using a hook page - Disk: Super Archiver emulation now supports slow speed - Disk: Added emulation of the BitWriter add-on for the Super Archiver - Disk: "Show disk image file" drive menu option now works for mounted images within .zip archives - Disk: ATX double density support is now enabled by default - Disk Explorer: Added MAC/65 file viewing mode - Display: Added support for deinterlacing interlaced video - Display: Added color correction support for targeting displays that use raw gamma 2.2 or 2.4 instead of sRGB - Display: Added emulation of long-persistence monochrome monitors - Display: Enhanced CIO text mode rewritten with screen editing, control character, and pass-through support - Display: Added adjustable PAL phase - Input: Light pen/gun is now insensitive to dark areas on screen - PerfAnalyzer: Added import support for Atari800 5.x monitor traces - PerfAnalyzer: Add "Go To Tape Editor" option when right-clicking on tape channel - Printer: ATASCII special characters are now converted to Unicode equivalents - Printer: Generic Printer (P:) device now supports translation modes for port output - Simulator: Added a speed option to take periodic rewind snapshots - Tape Editor: Added Select All (Ctrl+A) and Deselect (Ctrl+Shift+A) - Tape Editor: Added FSK spectrogram view option - UI: Added screen reader support for word granularity - UI: Improved screen reader support in message boxes - UI: Added option to force program to efficiency or performance cores - UI: Added tool to scan for global hotkeys that block keyboard mappings - VFS: Improved handling of Unicode filenames within .zip archives [bugs fixed] - AltirraOS: Fixed P: compatibility issues with the 1025 printer - AltirraOS: P: device IDs are supported in XL/XE/XEGS mode - AltirraOS: K: and C: now support forced read mode (ICAX1 bit 0) - AltirraOS: Modified cassette routine SKCTL usage for compatibility with PokeyMAX 4 - AltirraOS: Fixed bug where checksum errors were not consistently returned from SIO - AltirraOS: Improved compatibility of C: handler with block control bytes other than $FA/$FC/$FE - AltirraOS: Improved compatibility of RBLOKV internal vector - AltirraOS: Carry flag is now checked for error after invoking cassette boot run address - AltirraOS: Boot screen is no longer re-displayed after printing Boot Error - ANTIC: Fixed playfield data read on cycle 106 overlapped with a refresh cycle and a pulled-up data bus - ANTIC: Added emulation of abnormal DMA caused by turning off playfield DMA mid-line - ATBasic: Fixed ICAX2Z handling issue preventing printing in sideways mode - Cassette: Fixed framing errors not being reported from during unaccelerated tape reads - CPU: Fixed 65C816 BRK instruction writing to wrong addresses in native mode with stack outside of page 1 - Debugger: Register (r) command can now set S high byte in 65C816 native mode - Debugger: Fixed panes not adapting properly after debug font change if undocked - Devices: SuperSALT Test Assembly now supports External Audio test - Devices: Fixed SuperSALT Test Assembly bidirectional clock to audio input path - Devices: Fixed 8048 timer interrupt bug that prevented the 1450XLD parallel disk controller from shutting off the spindle motor - Devices: Fixed 32-in-1 handling of Select key and selection is no longer reset when bypassing menu with Esc - Devices: SIO and CIO acceleration now better supports the Break key - Display: Fixed incorrect gamma for Adobe RGB color matching mode with screen effect acceleration enabled - Disk: Adjusted ATX density detection to allow for enhanced density disks with no non-boot sectors on track 0 - Disk: Fixed handling of DRQ bit when reading double density ATX disks - HLE: Improved overflow handling accuracy of FP acceleration handlers - IDE: Read Verify command fixed - Input: Keyboard input bindings are now released on key up even if Alt is pressed down in between the key down and key up - Printer: Fixed printer output going to printer window instead of printer port with P: CIO hook enabled - Save States: Fixed issue where sometimes P/M graphics would be missing after loading a state if P/M DMA was disabled - SCSI: Accept but ignore vendor command $0C to work around MIO 1.1 firmware issue - Simulator: Fixed issue where internal BASIC could sometimes be enabled on a 1200XL - Tape Editor: Reduced CPU overhead when updating checksum status with SIO decoded data capturing enabled with large blocks - Tape Editor: Fixed Ctrl+O shortcut - Tape Editor: Improved baud rate determination when converting to standard blocks - UI: Added workaround for blank window label on Windows 11 taskbar - UI: Added extra checking for Explorer's extended archive support, which doesn't support normal drag and drop interfaces - UI: Fixed bug where changing the hardware type in Configure Settings could also switch profiles - VBXE: Overlay and attribute map addressing are no longer reset at vertical blank - VBXE: Added emulation of one-scanline vertical offset for NTSC
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