Cet émulateur multi-systèmes a été mis à jour. Les améliorations sont les suivantes: New System: Arcade - We have added support for Sega SG-1000 based arcade hardware; hopefully the first of many arcade cores within ares (well, technically second because we had the Neo Geo, but that was focused on the console variant, the AES). - Due to the nature of arcade boards, Arcade cores use MAME format roms, and a game list rather than traditional rom files. You can set a path for arcade roms in "Settings -> Paths". - Arcade games will be grouped under one "Arcade" system, regardless of what system the Arcade hardware may be based on. - Please note that ares does not currently resolve parent-child relationships, so arcade rom zip files must contain every file required for that game; in MAME terminology, this is usually referred to as a "Non-Merged" set.
User Interface
A homebrew mode has been added to the settings panel; this is intended to enable features that are useful to homebrew devs but would harm performance for general gameplay. This setting is currently only used in the Nintendo 64 core; more information on this later. - Auto save settings when closing the settings dialog. - Add hot keys for volume control and mute - Refactor the log system to allow more control over log output - Restore the ability to hide cores from the menu - Add a "Scan" button to firmware settings; this autodetects supported firmware from a configured Firmware directory Update the "Color Bleed" option to work for all non-HD cores, rather than just the SNES - Correct the description of Weave Deinterlacing (horizontal -> vertical) - Improve auto-detection of CD-ROM based games, drag/drop and command line loading are now more reliable
Debugging - Added support for debugging emulated systems via GDB, currently only the Nintendo 64 core supports this, but this will be expanded in future releases.
Atari - Atari 2600 - Improve CPU timing in relation to WSYNC - Improve TIA timing, although still far from perfect - Implement latching of the current playfield pixel - Include "current cycle on this scanline" in CPU trace output to aid debugging - Improve RESMP behaviour and implement NUSIZ for missiles - Improve HMOVE object positioning - Fix RIOT timer and timer interrupt bit - Improve detection of PAL roms by looking for the (PAL) string as well as the (Europe) string in the rom filename - Support loading .bin format roms instead of just .a26
Bandai - WonderSwan / WonderSwan Color - Properly implement INT_BASE port - Implement sound DMA hold - Fix sound DMA readout values when disabled - Fix sound DMA source/length shadowing - Fix loading of trimmed roms - Fix ENTER/PREPARE opcode implementation and timing - Fix interrupt return address on division by zero - Improve ROM/SRAM bus timings
Microsoft - MSX / MSX2 - Fix conflicts between ROM space and SCC with the KonamiSCC mapper - Allow loading of .rom format roms, rather than only .msx/.msx2
NEC - PC Engine - Add support for "color emulation" (non-linear RGB)
Nintendo - NES / Famicom - Lowered colour saturation to 1.5 to match most other emulators - Implement UNROM-512 mapper - Implement Action53 mapper - Implement mappers 31 and 218 (inl-nsf, magicfloor) - Fix MMC5 program mode 1 - Fix support for NES2.0 extended PRG/CHR size variables - Implement self-flashing support to UNROM-512 and GTROM - Remove "GAMMA" adjustment when "Color Emulation" is enabled - Implement PPU open bus behaviour - Serialize controller state in save states: fixes input glitches when using run ahead - Support more variants of the Famicom Disk System Bios - Preliminary support for the EPSM expansion module
Nintendo - Game Boy - Fix MBC3 RTC Overflow/Register handling - Fix MBC3 RAMbank register width
Nintendo - SNES / Super Famicom - Fix support for the PAL Super GameBoy - Separate black level crush from color emulation, it's now exposed as "Deep Black Boost" - Fix PLB wrapping in emulation mode (based on hardware testing, all emulators seem to have gotten this wrong)
Nintendo - Nintendo 64 / 64DD - Implement RSP VU pipeline timings - Fix some incorrect game database entries (Beetle Adventure Racing (J), Chameleon Twist 2, J.League Live 64 Quake 64, Star Fox 64) - Implement RSP duel-issue restrictions for CFC2/CTC2 - Fix RSP zero register locking - Clamp the analog stick range to an octagon shape - Implement RDP clock counter - Fix VI line interrupt to trigger post-increment - Fix an issue where instructions in icache would consume two cycles rather than one - Fix an off-by-one error in mul/div instruction timing - Preliminary implementation of FPU delays - Improve idle loop detection in the recompiler - Fix an issue where the recompiler would only advance the physical address and not the virtual address - Added support for the Nintendo 64 Transfer Pak - Fix a regression in the n64-systemtest relating to the TLB - Add support for "Homebrew Mode": this enables ISViewer debug output, and a cache coherency check to aid homebrew developers. - Add support for .D64 disk images - Add support for 64DD disk swapping - Implement the "Controller Config" portion of the Advanced Homebrew Rom Header - Clamp X/Y values from the N64 Mouse (prevents jittery input) - Fix broken RTC emulation for the 64DD - Fix broken RTC emulation for Doubutsu No Mori (Animal Forest) - Improve CIC detection algorithm to not rely on a database, allowing support for custom/homebrew IPL3
Sega - Master System / Game Gear - Added support for the Pak4 mapper - Added support for the Hicom mapper - Added support for the Hap2000 mapper - Added support for the K118in1 mapper - Rename MSX mapper to Zemina mapper to properly represent its origin/purpose - Add support for "color emulation": non-linear blue bias - Improve detection for Japanese roms (Games not containing "TMR SEGA" are only compatible with Japanese systems) - Force ".sms" extension roms to run in Master System Mode when loaded on the Game Gear core
Sega - Mega Drive / CD / 32X - Add support for runtime disc swapping, allowing multi-disc games to be played - Add support for the Mega Mouse when running Mega CD titles - Synchronize on every cycle when the 32X is not in use - Maintain 32X code cache allocation across resets - Fix audio overflow when titles restart the YM2612 (Fixes audio issues in Shining Force) - More performance tuning to the 32X core - Improve CDC emulation (ares now passes the CDC REGS test in mcd-verificator) - Fix a hang in "The Terminator (USA)" - Immediately update YM2612 key on/key-off on write, fixes Puyo Puyo Tsuu music - Update YM2612 key state on phase tick - Add 32X framebuffer mirror emulation, fixes SoulStar X - Tighten synchronisation between audio components - Improve bus-arbiter delays for z80->m68k communication (fixes audio in Overdrive 2) - Improve refresh and bus timings
SNK - Neo Geo - Use YMFM for YM2610 emulation, fixes audio issues in many titles
Sony - Playstation - Implement GTE interrupt bug (if an interrupt is triggered when a GTE instruction is next, the GTE instruction is erroneously executed), fixes spiky polygons in many titles. - Fix an issue where the CD-ROM SetLoc command was erroneously resetting the 'reading' flag - Fix an issue where the Digital Pad would not de-assert /ACK on an invalid command - Improve /ACK timing and behaviour, fixes broken input in many (but not all) games - Implement Dual Shock controllers, required for Ape Escape - Add support for runtime disc swapping, allowing multi-disc games to be played - Add support for half-speed XA-ACPDM, fixes high-pitched audio in many titles - Update ADSR envelopes immediately on write, fixes alert sounds in Metal Gear Solid - Implement muting of data tracks when played as CD-DA - Perform color modulation in RGB555 space, fixes Silent Hill's loading screen - Fix an issue where fast-load hooks would trigger at runtime, causing some games to crash at boot - Simulate an infinitely long cpu write fifo: fixes an issue where many games ran too slow. - Various timing tweaks to improve overall accuracy - Fix an issue where timers would update too slowly when using the recompiler
MOS 6502 - Implement support for more undocumented opcodes
Other - Fix system-wide installations on Linux, this fixes database and shaders not loading. - Add support for SDL2 as an input driver on all platforms. - Allocate code cache at early startup for the recompiler: boosts performance on macOS, roughly doubling performance on M1 in some cases - Added support for SDL2 as an audio driver - Use DwmFlush on Windows for vsync, bypassing OpenGL driver bugs - Fix relative time in CD-ROM pregap Q subchannel - Move CD-ROM loading to a separate thread to speed up loading CD-ROM content - Avoid allocation of code buffers in the recompiler - More robust code cache allocation in the recompiler - Added "Games" category to macOS app bundle to allow Sonoma's Game Mode to function with ares - Added support for the risc-v architecture - Added preliminary emulation of the Intel 8080 cpu: not currently used but for future expansion - Fix an issue where the WASAPI driver would cause sync issues when fast-forwarding |
|