- Added overlays for Blackjack and War Room. Improved War Games overlay - Added KANA lock LED indicator for Japanese MSX keyboard layouts - Correctly read-back the PPG Port B (needed to make the KANA lock work but is more accurate overall) - Improvements to various Coleco PCB types for more accurate emulation
Removed features:
- The "--bpp" command line option and related code (i.e. the renderin functions for 16 bits-per-pixel host screens) have been removed since almost all recent hardware should support 32 bpp nowadays
Configuration changes:
- In hatari.cfg, section [RS232], rename:
- sSccBOutFileName => SccBOutFileName
- bEnableSccB => EnableSccB
Emulation improvements:
- MFP:
- When IRQ is cleared on one of the 2 ACIAs, do not clear IRQ on the MFP side if the IRQ is still set on the other ACIA
- Blitter:
- Ignore byte accesses to blitter registers defined as word only
- TT/DMA:
- Update sound FIFO on each HBL (like on STE)
- CPU:
- Sync CPU core with WinUAE CPU core 5.2 beta
- Improved 68000 cycle accuracy (IPL, STOP, TRACE)
- Fix IACK timings
- Return vector=24 if a spurious interrupt happens during the IACK sequence
- 68010 DIV overflow undefined flags update
- NMI handling
- MMU/generic CPU mode autovectored interrupt support
- Fix 68060 MMU MOVEM.L (An)+,
ZIP file support - ROM Selection window can navigate into zip files ARM Additions - Profiling can now be viewed as 'cycles / call' - this shows the relative performance of a single call to the program's function - Distinguishes between memory alignment requirements for different ARM architectures - ARMv4 doesn't allow misalignment at all and will access an aligned address instead - ARMv7 does allow misalignment depending on the instruction - recent versions of Gopher2600 incorrectly assumed a ARMv7 architecture, which leads to incorrect Harmony emulation - Misaligned memory accesses optionally treated as memory faults - when enabled misalignment is reported in the memory faults window - and will cause execution to abort if Abort of Memory Fault option is enabled - Strobing of local variables in local variables window - Added COPROC MEM DUMP - also accessible through context menu in static memory window ARM Corrections / Bug Fixes - Static memory window performance improvement - ASR disassembly corrected - COPROC ID corrected - 32bit EOR (register) instruction - Allocation of instruction to source lines uses EndSequence flag in DWARF line entry - this improves startup time and removes trailing instructions from functions - Disassembly of 32bit instructions - instructions following a 32bit instruction had the wrong address - More accurate identification of VCS "kernel" in which ARM code is being executed Other Bug fixes - Fixed supercharger mutliloading for 'fastload' binaries - PlusROM network transmission - Corrected reflection of HMOVE information - a new HMOVE would be noted in the reflection overlay but it would never be cleared Other Changes - Notification icons and FPS window - ARM developer icon moved to the FPS overlay - FPS window now shows multiple icons if required - Mouse wheel works for rewinding in the debugger - moves in 10 frame increments. hold shift-key for single frame increments
- Apple2: Fixed erroneous parsing of WOZ file padding bytes and unknown chunks' data as 8-byte chunk headers. Fixed broken handling of the end-of-stream condition when reading from non-compressed files stored in ZIP archives; fixes loading of such Apple II WOZ disk images and CloneCD CD images - SS: Implemented workaround for gcc bug #113255 in the VDP1 rasterization code - Apple2: Fixed typos/brainfart that broke language card and ROM card control accesses via $C08F
- UI: implement an option to pause the emulator when the window is inactive - UI: improve lack of response to input changes in the sprite viewer when the emulator is paused - UI: replace QOpenGLWidget with QWidget - UI: fix solar sensor level menu that has been broken in 1.8.0 - GPIO: fix broken deserialization of port directions - APU: MP2K HLE: handle corrupted wave info addresses - APU: PSG L/R volume must be remapped from 0-7 to 1-8 - GameDB: Japanese Boktai releases have a solar sensor - Redirect stdout on Windows
General: - Fixed GLSL version parsing on some OpenGL ES2 platforms - Don't try to use shaders on old OpenGL implementations AGI: - Fixed Space Quest 1 version 1.0X freezing in the skimmer - Fixed Mixed-Up Mother Goose message boxes during nursery rhymes - Fixed Mixed-Up Mother Goose graphics in Amiga version - Fixed Gold Rush clock time at Fast and Fastest speeds - Fixed Atari ST version of Manhunter 1 not starting - Fixed Tandy CoCo3 version of Leisure Suit Larry 1 not starting - Fixed Tandy CoCo3 unofficial ports not starting - Fixed Amiga menus in Space Quest 1, Manhunter 1, and Manhunter 2 - Fixed Graham facing away from the king in King's Quest 1 - Fixed Alexander getting stuck on the stairs in King's Quest 3 - Fixed Larry being able to shoplift in Leisure Suit Larry 1 - Fixed ducks not jumping at the start of Donald Duck's Playground - Fixed instant death in fan game "Phil's Quest: The Search for Tolbaga" - Fixed buttons freezing in fan game "DG: The AGIMouse Adventure" - Fixed unrecognized words in fan game "V - The Graphical Adventure" - Added detection for Macintosh version of Mixed-Up Mother Goose AGS: - Updated detection tables - Simplified character import from Sierra games for QfG2 AGDI - Fixed graphical glitch affecting Unavowed and Heroine's Quest - Fixed partial outlines for some letters in Kathy Rain - Fixed crash in Alum - Added stub to prevent crash at the beginning of Falcon City Broken Sword 2: - Fixed crash when quitting the game while it was paused MM: - Enabled engine, allowing MM1 and Xeen to be compiled - Added MT32/LAPC-1 support for Xeen engine - Fixed Xeen regression which caused some sound effects to stop abruptly mTropolis: - Fixed crash in Muppet Treasure Island on some platforms - Fixed jewel puzzle in Muppet Treasure Island not being randomized NANCY: - Fixed the telephone hints in Secrets Can Kill - Fixed the crashing and drawing issues on ARM machines when playing Message in a Haunted Mansion's maze minigame - Fixed the 'M' keyboard key not working in Message in a Haunted Mansion - Allowed general keymaps to be shown in the engine Keymaps menu - Virtual keyboard now correctly triggers on/off wherever text input is needed SCUMM: - Fix screen corruption (and sometimes even crashes) in Mac Loom and Indiana Jones and the Last Crusade, most noticeably when using menu shortcut keys - Fix enabling/disabling of Open and Save in Mac Indiana Jones and the Last Crusade TWINE: - Fix ladder climbing regression - Fix scenery zoom issue - Fix animation glitches after using the holomap Ultima: - Fix Ultima VIII hidden minimap blocking keyring use - Fix Ultima VIII page breaks in books - Fix Ultima VIII text centering for plaques - Fix Ultima VIII crash on dragging items to screen edge - Fix Ultima VIII unexpected jumping on left click - Fix Ultima VIII camera during cutscenes for Shrine of the Ancient Ones - Fix Ultima VIII invalid placement of items within containers - Fix Ultima VIII never-ending lava sounds V-Cruise: - Fixed crash in Reah: Face the Unknown and Schizm: Mysterious Journey when music is muted Android port: - Fixed crash in built-in help with German language Atari port: - Fixed crash when exiting ScummVM - Fixed BBVS (and possibly others) gameplay by using more precise math model macOS port: - Fixed a problem where some Mac games would not load resources correctly - Updated application icon to conform with modern standards
User interface - Fixed exit confirmation incorrectly disabled by ACPI shutdowns - Fixed missing translations on some error messages related to hard disk images - Updated translations: Chinese (Simplified), Chinese (Taiwan), Japanese, Korean Machines - Added IBM Aptiva 510/710/Vision Socket 3 machine - Added NEC Mate NX MA23C Socket 7 machine - Added PC Chips M747 Slot 1 machine - Added AGP support to the MSI MS-5172 - Fixed BIOS error caused by serial passthrough on the IBM PS/2 Model 70 - Fixed Gigabyte GA-5SG100 filed on the wrong category (now Super Socket 7) - Changed maximum CPU speed on the Hyundai SUPER-16T to 8 MHz Hardware Core - Fixed operating system crashes related to the LOCK instruction on 386 CPUs only Display - Added Trident TVGA 8900D-R ISA video card (faster 8900D) - Added more BIOS options to the Tseng ET4000AX ISA video card - Fixed Voodoo 3D glitches in several games, especially on 64-bit builds - Fixed 1600x1200 resolution availability through DDC data on older operating systems - Fixed Tseng ET4000AX and ET4000/W32 rendering issues with specific resolutions - Fixed several rendering issues on S3 86C801 and 86C805 cards - Fixed Linux cursor issues on Matrox cards - Fixed specific video playback acceleration glitches on S3 ViRGE cards - Changed maximum video memory on the STB PowerGraph 64 Video to 2 MB to match real cards Sound - Improved OPL2 and OPL3 sound quality - Fixed base Sound Blaster AWE64 incorrectly identifying as a Value Storage - Added McIDE IDE disk controller for MCA machines - Added Vision Systems LBA Enhancer add-on ROM - Added German and newer English BIOS options to the Adaptec AHA-154xCP SCSI controller - Fixed instability issues with ESDI disk controllers, particularly MCA ones - Fixed floppy drive controller inaccuracy crashing 386BSD and FlexOS 286 Other - Added Everex Magi Magic EV-165A ISA memory expansion card
[features added] - UI: Added support for more direct file association setting on Windows 11 [bugs fixed] - Cassette: Fixed a crash that could occur when loading raw tape audio - CPU: Fixed incorrect LDA (zp) and STA (zp) execution in 65C02 mode only - Input: Fixed a crosstalk problem between ports 1/2 and 3/4 - Simulation: 5200 uses floating bus again (fixes Star Raiders) - UI: Fixed internal BASIC option not being selectable for the XEGS
GUI - Improved font rendering - More flexible font sizing - ROM selector improvements - Support for stella.pro file and libretro box art Television - PAL-M now generates NTSC colours rather than PAL - Better framing of image Other - Emulator responds to HUP signal by reloading the current cartridge - CoProcessor (ARM) Registers window now works with CDFJ and DPC+ - Global and Local variables can now be filtered - Freetype rendering is no longer used in the default builds Bug fixes - Misbehaving ARM programs could cause a crash by accessing memory addresses that aren't represented in the emulation - Requesting multiple composite screenshotting could cause deadlocks - If screen size changed between requests then the compositing process deadlocked - Paddle movement with the stelladaptor was inverted - Bug introduced in v0.28.0 - CPU in KIL state did not tick the TIA and RIOT - Moviecart - ROM would crash if moviecart volume control was increased to the maximum - Brightness control moved in incorrect increments - OSD display was affected by brightness level
- Rewritten mappers : All - Rewritten WRAM, VRAM, PRGROM, CHROM and Nametebles management - Rewritten FDS support - Furthermore, an option has been added to select the mode for write operations. Until now, all writes were stored on an external file (diff file) to preserve the integrity of the disk image, now it's possible to choose to write them directly to the FDS/QD file (making it portable to other emulators as well) - Changed the format of the diff file, now I use the IPS format (which can always be applied to the original image) - Rewritten the format and management of save states. WARNING save states of version 0.110 or earlier are no longer compatible - Rewritten the audio of the VRC7. Implemented the project "A YM2413 emulator written in C" of okaxaki - Rewritten NSF player. Added support to NSF2 format - Added the ability to configure shortcuts and the NES pad from the command line - Added support to Quick Disk format - Added an option for RAM initialization - Added a screen icon that shows when fast forward is active - Added the possibility to set default values for PPU overclocking to be applied for all roms in addition to the per-game ones already used - Added Arabic translation - Added Polish translation - Added full support for the NES 2.0 header format - Added video filter : "NTSC CRT LMP88959" and "NTSC NES LMP88959" - Added video filter : "PAL CRT LMP88959" and "PAL NES LMP88959" - Added support to mapper : 100, 122, 157, 170, 272, 291, 311, 334, 354, 362, 366, 384, 421, 446, 471, 517, 551, 552, 555, 561 - Added support to UNIF mapper : Transformer, UNROM, AMROM, AOROM, LH09, A60AS, T4A54A, FC-28-5027, 150in1A, 212-HONG-KONG, GKCXIN, 113in1JY110, 820561C, M2C52A, S-2009 - Added full support for the Detach Barcode Reader of mapper 157 - Added support for FFmpeg 6.x libraries - Added support for nes20db.xml and dip.cfg - Added full support for Vs System (UniSystem and DualSystem) - Added a screen icon that shows when Fast Forwarding is active - In Fullscreen the menu bar can be accessed by moving the mouse over the top of the screen - Updated Italian, Chinese, French, Hungarian, Portuguese and Russian translation - Changed the "Toggle menu bar" shortcut to ESC - Windows x86_64: Update to Qt5 5.15.8 - Fixed the management of keyboard input - Fixed map of one keyboard button to multiple controllers - Fixed FDS wavetable pitch - Fixed patching of IPS files - Fixed crackling sound when audio is enabled/disabled - Fixed Meta button recognition on some keyboard layouts - Fixed many many many other bugs
Nintendo - Game Boy Advance - Implement prefetch buffer reset on ROM accesses from the CPU - Implement that timer 0 count-up bit cannot be set Nintendo - Super Famicom / SNES - Fix an issue where the Super Gameboy 2 was running at the incorrect clock frequency Nintendo - Nintendo 64 - Implement newly discovered PI DMA behavior when crossing RDRAM row boundaries - Fix a corner face in FPU exception handling Sega - Mega Drive/Genesis, Mega CD, 32x - Add the Mega CD's PC RAM to the debugger memory viewer - Implement subchannel processing for Mega CD (Allows the playback of CD+G/karaoke discs provided a valid .sub file is provided) Sony - PlayStation - Improvements to the handling of the GPUSTAT register Other - Switched back to wglSwapInterval for VSync on OpenGL for Windows; the DwmFlush approach caused worse tearing for most users - Fixed an issue where the SDL input driver considered all controllers to be the same device. - Fixed an issue where rumble events could be missed causing rumble issues in many games. - Improved VSync stability with the DirectX video driver
Emulator - Fixed some very specific crashes after saving machine settings - Fixed forced 4:3 aspect ratio not always applying to a maximized window- - Fixed mouse capture on the secondary monitor window - Fixed mouse capture incorrectly available while the emulated machine is paused - Fixed ROM set detection with multiple XDG_DATA_DIRS on Linux - Removed Direct3D 9 renderer due to several issues User interface - Fixed window icon and grouping on some Linux desktop environments - Updated translations: Chinese (Simplified), Chinese (Taiwan), Russian Machines - Added GLaBIOS XT clone machine - Added Hyundai Super-286C machine - Added ECS Panda 386V 386DX motherboard - Added DataExpert EXP4349 combo 386DX + 486 motherboard - Added J-Bond PCI400C-A Socket 2 motherboard - Added Acrosser AR-B1476, Advanced Integration Research 486PI, AMI - Super Voyager PCI, Anigma BAT4IP3e, A-Trend ATC-1762, DEC Venturis 4xx, ECS AL486, Epson ActionTower 8400, ICS SB486P, Lanner Electronics AP-4100AA, MSI MS-4144 and Packard Bell PB450 Socket 3 machines - Added Lanner Electronics IAC-H488 STPC 486 machine - Added Dell Dimension XPS Pxxx (OEM version of the Intel Premiere/PCI II), FIC PT-2000, MSI MS-5109, Northgate Computer Systems Elegance Pentium 90, Shuttle HOT-539, Teknor TEK-932 and TriGem Torino Socket 5 machines - Added AMI Atlas PCI-II, ASUS SP97-XV, BCM SQ-578, Chaintech 5SBM2, Daewoo CB52X-SI, Dell Hannibal+, Gateway Tomahawk, Gigabyte GA-5SG100, Micronics Thunderbolt, MSI MS-5172, Radisys EPC-2102 and TriGem Richmond Socket 7 machines - Added Gateway Lucas Super Socket 7 machine - Added Gateway 2000 Venus (OEM version of the Intel VS440FX), AOpen AP61 and LG IBM Multinet x61 Socket 8 machines - Added Freetech/Flexus P6F99, LG IBM Multinet i x7G and NEC Mate NX MA30D/23D Slot 1 machines - Added PC Chips M773 Socket 370 motherboard - Added BIOS language selection to the IBM PS/1 Model 2011 - Fixed floppy booting on Zenith Z-series machines - Fixed timer interrupt failure error on Zenith Z-series machines - Fixed incorrect memory detection on the Olivetti M19, Packard Bell PB8810 and Sanyo SX-16 - Fixed keyboard error on the Hyundai SUPER-16T and 16TE - Fixed memory size error on the IBM PS/ValuePoint 433DX/Si - Fixed boot issues with Cyrix CPUs on some SiS 496 machines - Fixed Acer A1G integrated IDE controller issues - Fixed Packard Bell PB410A PS/2 mouse issues - Fixed ABIT AB-AH4 filed on the wrong category (now Socket 3) - Fixed Epson Action PC 2600 and PC Chips M919 integrated I/O issues - Fixed boot issues with some CPU speeds on MR BIOS machines - Fixed soft reboot issues on Amstrad PC machines, Intel Advanced/ATX with MR BIOS and Samsung SPC7700P-LW - Fixed PCI resource allocation issues for the single slot on the Compaq Presario 2240 and 4500 - Fixed ACPI shutdown hangs on several machines - Fixed inaccurate power supply type detection on several machines - Fixed incorrect parallel port mapping on the MSI MS-5124 - Fixed non-functional minimum memory amounts on the Tandy 1000 HX and ASUS P5A - Fixed boot issues and inaccurate BIOS CPU frequency read-outs on the Amstrad MegaPC - Fixed IBM 5161 expansion unit memory reporting on IBM PC and XT machines - Renamed Phoenix 286 clone to Arche AMA-2010 - Renamed MR BIOS 386SX clone to Chaintech 325AX (and added original AMI BIOS) - Renamed Micro Star 586MC1 to Gigabyte GA-586IS - Changed CPU selection on Compaq Portable and Deskpro 386 machines - Changed Intel Premiere/PCI BIOS revision to a newer one Hardware Core - Added debug register emulation for running software debuggers on 386 CPUs only - Reverted 8088 and 8086 CPU emulation to the one from v3.11 due to several issues - Fixed issues with the ADC and SBB instructions breaking specific applications on 8088/8086 CPUs - Fixed inaccurate cache reporting on Pentium Pro/II family CPUs (not that it matters) - Fixed missing model-specific registers on Pentium 1 and newer CPUs - Fixed incorrect Feature Control Register reporting on WinChip and Cyrix III CPUs - Fixed miscellaneous CPUID inconsistencies on several CPUs - Fixed some 486 instructions incorrectly available on 386 CPUs Display - Added Matrox Millennium, Mystique and Millennium II PCI video cards - Added Chips & Technologies B69000 PCI video card - Added Cardex variants of the S3 Trio64V+ PCI and VLB video card - Added Realtek RTG3105 ISA video card - Added IBM 5153 monitor color option to the CGA as a new default - Added line doubling modes to the CGA - Many fixes to EGA and VGA emulation inaccuracies in corner cases - Fixed several rendering issues on Cirrus Logic, IBM 8514/A, XGA, ATI Mach8, Mach32, S3 and Tseng cards - Fixed switching between VGA and enhanced modes on the 8514/A and clones - Fixed ATI EGA Wonder emulation inaccuracies - Fixed Windows display issues on the Cirrus Logic GD5446 and GD5480 - Fixed line drawing issues on Trident TGUI cards - Fixed squishing issue with some DOS games on the Voodoo Banshee/3 - Fixed a rare hard reset hang with Voodoo cards - Changed Realtek RTG3106 to the 8-bit ISA bus Input - Added mapping for sliders and other analog joystick controls on Windows hosts - Fixed joystick mapping issues with POV hats and high axis counts - Fixed duplicate game port detection with Plug and Play sound cards Sound - Added optional PC speaker volume control to the Sound Blaster 16 family - Fixed Gravis Ultrasound crashing the emulator when accessing RAM beyond the configured amount - Fixed Sound Blaster ViBRA 16XV 8-bit DMA playback issues - Fixed AdLib Gold PCM playback issues Network - Added Realtek RTL8139C+ PCI network card - Added DEC 21040, 21140 and 21143 PCI network cards - Added generic NE1000 and NE2000 compatible ISA network cards - Added D-Link DE-220P ISA Plug and Play network card - Added more IRQ options to PCnet ISA and VLB cards - Fixed Racal Interlan EtherBlaster detection by some drivers Ports - Fixed ESC/P printer cutting characters near a page edge - Changed ESC/P printer dot matrix font to an improved one Storage - Added ATAPI hard disk emulation (not hotpluggable yet) - Fixed SCSI hard disk detection hang on NetBSD - Fixed specific boot issues on Longshine, Rancho and Trantor SCSI controllers - Fixed Western Digital WD1002A-WX1 MFM controller BIOS - Fixed emulator crash during CD audio playback on Sony SCSI CD-ROM drives - Fixed small CD-ROM speed calculation inaccuracy - Fixed emulation inaccuracies with NEC and Toshiba SCSI CD-ROM drives - Renamed NCR 53C90 MCA SCSI card to 53C90A to match the emulated feature level
New features/updates: - MacroSystem DraCo emulation. Full emulation except V-Lab Motion video board which is totally undocumented. Amiga clone without Amiga custom chips - Picmatic Marbella Vice light gun laser disc arcade game is now fully working - American Laser Games and PicMatic statefile support - Genlock emulation display positioning/scaling updates - Retina Z2 and Z3/Altais RTG board emulation. (NCR 77C22E+ and 77C32BLT SVGA chips) - S3 Trio64 PCI RTG board - On screen led font is now configurable, settings in GUI Miscellaneous panel - A2410 updates (Latest Picasso96 driver with DMA mode enabled graphics corruption) - All emulated RTG boards now autoswitch (Automatic switch between chipset mode and RTG mode). Previously only RTG boards that have built-in switcher and PCI RTG boards autoswitched - Do not emulate special cases in native chipset screen mode last and first line(s) unless Overscan mode is Overscan+ or higher. (For example OCS Denise top and bottom line mismatched blanking start and end) - NTSC mode screen vertical positioning improved - Disk swapper insert/remove cursor position now works as expected. Same image can be inserted in multiple slots 5.1.0 Bugs fixes - Fast 68020+ mode interrupt timing fix. (Some games hung or had missing or badly playing sound) - Copper timing was unreliable in non-CE modes (Mainly affected horizontally multiplexed sprites) - Dark mode was not initialized if config file was started directly (for example from command line), without opening GUI. Some sub-dialogs didn’t support dark mode - Zero length disk DMA with enabled disk word sync never finished (some copy protections failed to work) - Game Ports panel default config overrode button 4 with on screen keyboard enable/disable option even if it was already configured in Input panel Older bug fixes - Any TV overscan option + NTSC mode: few pixel grapohics corruption was visible in right edge of screen - Many hardware emulated RTG boards had problems with horizontal panning - 68040 MMU emulation fix. (MOVEM restart didn’t work correctly in all situations and MOVES 68040-only special case bus fault behavior was wrong) - CyberVision 64/3D and Picasso IV overlay fixes. P96PipDemo is now working correctly - Ateo Pixel 64 had BGR/RGB swapped colors in most color depths - UAE AHI ignored AHI volume slider setting - Fixed mouse cursor jumping randomly when in tablet mode and clicking mouse button(s) - Game Ports panel input device type getting stuck or entering Test/Remap window crashing in some situations - Some config file and registry/ini paths were always written in absolute format even if WinUAE was configured to relative path mode - “AVI output enabled” (and few similar on/off buttons) button type changed, previously they worked unexpectedly in some situations, visible state was not always matching internal state - Some sub dialogs (for example Gameports input mapping autofire) had old style and no high DPI support - 256 color screenshot mode created wrong colors in some situations, usually when AGA and almost all palette entries were allocated - Changing some native display settings (Filter/Display panel) settings didn’t reset all required display parameters until full display reset (for example window was resized)
Graphics - Authentic adaptive CRT emulation - Accurate VGA emulation - 3dfx Voodoo 1 emulation - New integer scaling modes - Aspect ratio correct image captures - Supercharged image and video capturing - Aspect ratio and viewport enhancements - Fix “black vertical bars” video corruption issue - New deinterlacing shader for FMV games - Other graphics-related changes Sound - IBM Music Feature Card support - Roland MT-32 ROM handling improvements - FluidSynth fixes - Improved MIXER command - MIDI muting improvements - Sanitise MIDI output & Roland RA-50 compatibility - Optionally fade out hanging notes on Tandy & OPL - CD Audio support on Linux for physical CD-ROMs - Other sound-related changes Input - Virtual joystick fixes - Support for mapping mouse buttons to keys - VirtualBox mouse driver support - Multi-monitor-aware mouse capture support - Other mouse improvements
This first release provides: - A complete emulation of the Game Boy Advance (with the exception of most external devices and add-ons) - Decent accuracy - Game controller support - Keys and buttons remapping - Quick Saves (also known as Save State) - Real Time Clock (RTC) support - Color correction & LCD effects - Loading games from common archive formats (.zip, .7z, .rar, etc.)
Bug fixes: - The Enabled setting for a breakpoint in the 'Configure Breakpoint' window would allow a value to be typed in instead of just selecting from the drop down list - The labels in the 'Configure breakpoint' window were not correctly being updated when the breakpoint type was set to 'T-Cycles' - The 'Convert Next Block to TZX' facility in the Wave Manager could crash when converting a ZX80 program Enhancements: - The BASIC Listing window now refreshes automatically when adding or removing BASIC lines for the ZX80 running the 8K ROM
- Remove SDL sound driver - Fix wav audio recording - Dialog appearance improvements + link warning - build: don't fseeko64()/ftello64() on musl libc - visualboyadvance-m.metainfo.xml: add screenshots to the metainfo
- Added rewind key (default: Tab) and reverse tracing - Added support for loading and saving PNG images (windows XP and later) - GB Camera emulation (using webcam, image file, or test pattern) - Added support for x2, x3, x4 scale border images. Ability to apply doubler to x1 and SGB borders - Improved GBC color options, including "GBC reality" and custom 3d LUT support (GBI compatible PNG format) - realistic simulation of DMG and GBC LCD with new doublers (up to x4 scale) and frame blending options. new "DMG reality" colorscheme - Separate configurable border image and colors for SGB, and ability to show border image until a SGB border is set - changed default to the original, lighter, BGB 0.3 colorscheme. The darker "BGB LCD green" can still be chosen - new lock aspect ratio option, and ratio can be customized - rapid A/B speed is now configurable, and default speed now works with more games - mappable buttons can now be combinations with Ctrl, Alt, Shift. Ctrl+R is now an alternative shortcut for reset in the debugger - renamed "access breakpoints" to "watchpoints" to follow standard naming used by other gameboy debuggers - "copy code" in the debugger in a format that can be edited and pasted back in modify code - common register names such as rLCDC, rNR10 can now be input in the debugger - Ability for breakpoint or watchpoint to log a debug message instead of breaking - Xaudio2 sound output can now be automatically chosen by default - Default audio samplerate is now automatic based on OS mixer samplerate (typically 48000 or 44100) - Changed save filename handling of gzipped roms. old save files are still loaded. Setting for old behavior - Ini settings so debugger, vram viewer, and IO map windows can be visible on startup - Improved accuracy - Fixed many bugs
What's new in 1.17 Rendering performance and fixes - Fix for very old rendering issue in Tokimeki Memorial 4 - Performance improvement in Tactics Ogre by avoiding a readback - Cull small draws that are quick to check that they are offscreen - Assorted optimizations - Fix HUD in Tiger Woods 06 - AdrenoTools support added - you can now load custom Vulkan drivers on Adreno - Disabled in the Google Play builds for now - Fix rendering with bad Z parameters, fixes homebrew Zig example - Fix Z problem in Hayate no Gotoku!! Nightmare Paradise - Fix frozen pitch meters in MLB games - Enable MSAA on modern mobile devices (Vulkan-only) - Fix video flicker in Naruto: Ultimate Ninja Heroes 2 UI - Track total time played per game - When opening the pause menu, there's now an option to keep the game running behind the menu. This is enforced in multiplayer to avoid inadvertent desyncs ISO loading improvements - The CHD file format is now fully supported, including with Remote ISO and Retroachievements - Improvements to remote ISO: optional tab on home screen, can now share whole folders Controller and touchscreen fixes - More control bindings, organize into categories - Fix inverse deadzone (low end) for joystick input - Fix analog deadzones for XInput controllers - Improved tilt control further - Mouse input supported on Android - Customizable threshold for analog-trigger to button-press mapping, customizable delay for mouse-scroll key-up - Make it work better to bind an analog stick to four buttons, useful for camera control in some games - Can now unpause with the key you bound to pause Other fixes and updates - More work on the IR JITs - Moving the memstick directory on Android is now faster and safer - Workaround problems in Add Doko Demo Issho, Driver 76, Harukanaru Toki no Naka, Ace Combat by slowing down the emulated UMD drive to match reality better - VR: Quest 3 rendering issues fixed - Various bugfixes in texture replacement - RetroAchievements: Rich presence, renamed Challenge Mode back to the recommended Hardcore Mode, various error handling improvements, configure per game - HLE: Slice large-and-slow memcpy/memset operations, can help with some stalls - Other various minor fixes and optimizations - SoftGPU fixes - Fixed international fonts on Steam Deck - GoExplore (GPS app) now starts up and allows navigation - SDL: Improve input latency in Vulkan mode by running rendering on a separate thread - Assorted multiplayer fixes - Support for emulating the infrared port of the original PSP through sceSircs
User Interface - Renamed "Reload" to "Apply" in Driver Settings to clarify its function - Fixed an issue where the "Deep Black Boost" setting would not save - Rename FPS to VPS (VBlanks per second), as it represents emulation speed and not game frame rate - Fixed an issue where the Firmware Path setting would not save Debugging - It is now possible to use instruction tracing even with the recompilers in use - Fix an issue where GDB would not reconnect after a disconnection Coleco - ColecoVision - Added support for Xin1 and MegaCart mappers Nintendo - NES / Famicom / Famicom Disk System - Use HKROM for MMC6 - Improved Famicom Disk System timer interrupt generation Nintendo - Game Boy Advance - Improve unmapped I/O register behavior: passes I/O read tests in mbga suite - Improve save type detection - Improve ROM to RAM DMA timing Nintendo - Nintendo 64 / 64DD - Added the ability to disable the Memory Expansion PAK - Simulate SysAD freezes when accessing non-RDRAM areas via the cache - Improve SI emulation to approximate the correct SI Status values - Fix a bug where I/O writes to PIF ram would not trigger interrupts - Improve and extend cache coherency checks - Implement register mirroring - Improve PI latch emulation - Improve PIF HLE emulation by reducing latency - Add support for roms >= ~63.9MiB - Implement undocumented accesses in FPU half-mode Sega - Mega Drive / CD / 32X - Enabled support for the Mega Mouse for 32X and CD32X games - Improve I/O port emulation (Fixes Decap Attack + others) Sony - Playstation - Fix an issue where controller input would stop working if sideloading a PS-EXE ARM7TDMI - Improved ldmia and stmia timings in Thumb mode - Fix additional instructions that require offset when reading PC Motorola M68000 - Correct prefetch order for ASR instruction Zilog Z80 - Implement newly discovered inir/indr/otir/otdr behaviour Other - Fixed an issue where macOS builds were being optimised for the build machine rather than for distribution - Fixed an issue where the recompilers were broken on Apple Silicon - Fixed an issue where unloading systems after disc swapping could cause a crash - Fix an issue where ares could crash on startup with LTO on macOS - Added support for the SDL input driver on macOS - Fix an issue where the ares would look for resources inside the app bundle rather than alongside it on macOS
Paddles - User input handled more frequently meaning finer paddle control Moviecart - Improved behaviour of video/audio when the movie is rewound to the start/end of the video - this reflects recent changes in the real Moviecart kernel - Automatic setting of TV specification now works - Format of movie cannot be detected until after movie starts Television - Setting the TV mode also changes the underlying clock speed of the console - PAL and SECAM run at different speeds to NTSC machines - Added PAM-M - this sets the clock of the machine to PAL-M but attached to a PAL TV Bug fixes - Stepping back in the debugger - bugs introduced in v0.26.0 - stepping back by one instruction was out by one colour clock - STEP BACK SCANLINE and STEP BACK FRAME was broken - Improved detection of correct starting bank for Atari cartridges - also affects EF cartridge - the technique can be expanded to other mappers if required - Rewind/Fast-Forward icon never appeared on screen - bug introduced in v0.25.0 - ARM TIM1 enabling was not working - the enable bit was not being masked correctly - Capturing of emulation state (for the rewind system) was sometimes missed in playmode
- The default key mapping(for new configurations) to exit Mednafen is now only "F12", instead of both "ESC" and/or "F12" as before; additionally, a new mapping for "ESC" to close the netplay console/text popup has been added - Added command-line option "-ovconfig", to load global override settings from the specified file. The global override settings will override any settings loaded from "mednafen.cfg" or set via command-line arguments, but will be overridden in turn by more-specific per-module and per-game override configuration files - Fixed data alignment issue that could produce broken QuickTime videos when using the CSCD codec(the default) with certain combinations of emulation module video settings - Added setting "input.grab.strategy", default value of "full". It can be set to "auto" to enable minimalistic grabbing of the system keyboard and/or mouse, when input grabbing is toggled on, dependent on emulating a virtual keyboard and/or virtual mouse/ball device - On the Windows build, keyboard grabbing will now capture ALT+Tab and the Windows keys, and discard synthetic left CTRL keypresses generated from pressing AltGr - Restored Windows 2000 compatibility, broken in 1.21.0-UNSTABLE, for people who enjoy airgaps, firewalls, and/or insecurities - Fixed fatal startup error when running the Mednafen executable from the root directory of a drive on Windows, a regression introduced around version 1.22.0-UNSTABLE - Apple2: Added support for Apple IIe and Enhanced IIe, selectable via changing the new "apple2.model" setting, or by utilizing the new "model" directive in a MAI file - Apple2: When loading a floppy disk image from a ZIP archive without a MAI file, all other floppy disk images with the same extension in the same directory in the ZIP archive will now also be loaded automatically. If desired, this feature can be disabled by setting the new "apple2.multiload" setting to "0" - Apple2: Added setting "apple2.input.kb.ghosting", default value of "1", that can be set to "0" to disable emulation of spurious ghost keypresses - Apple2: Increased the maximum value of the "apple2.video.color_smooth" setting to "2", which will enable more-aggressive composite video color smoothing - Apple2: Added an adjustable composite color video sharpening filter, controlled by the new setting "apple2.video.postsharp" - Apple2: Reworked how HGR is handled with the "rgb_alt" and "rgb_alt_tfr" video rendering modes, for consistency with DHGR and to correct a few glitches - Apple2: Added "rgb_qd" and "rgb_qd_tfr" video rendering modes, which will render DHGR at quarter-resolution, and provide two distinct grays, but are otherwise the same as "rgb" and "rgb_tfr" - Apple2: Added "rgb_video7" video rendering mode, which supports the additional graphics modes offered by the Apple IIe Video 7 RGB interface, one of which is used by Sierra's AGI games - Apple2: Added high-level(no seek delay) ProDOS-compatible hard disk drive emulation, usable by loading a raw hard disk drive image with an "hdv" file extension, and through the "hdd" directive in a MAI file - PS1: Added support for Konami's "Pop'n Music" controller - SNES-Faust: Fixed distorted graphics in "Marvelous" and "Bishoujo Janshi Suchie-Pai" due to hires color math emulation inaccuracies - SNES-Faust: Fixed letter sprite glitches(horizontal black lines) in "Wordtris" - SNES-Faust: CPU writes to VRAM during active display are now blocked. Fixes missing dialog box and text in "Mazinger Z", title screen corruption in "NBA Pro Basketball: Bulls vs Blazers" and "Shin Nihon Pro Wrestling: Chou Senshi in Tokyo Dome", and graphical garbage during startup in "Zen-Nihon Pro Wres". May break ancient ROM hacks and fan translations - SS: Fixed hangs in "Gal Jan", "Kanzen Chuukei Pro Yakyuu Greatest Nine", the USA version of "Creature Shock: Special Edition", and the European versions of "Magic Carpet", "Manx TT SuperBike", and "Revolution X" - SS: Fixed erroneous red shadows beneath units during the final episode's first battle in "Sakura Taisen" - SS: Added support for loading bootable ROM cart images up to 48MiB in size, with a filename extension of "ss". If the ROM image is 32MiB or smaller, 512KiB of backup memory for save games will be available - SS: Added support for routing SCSP MIDI output to stdout, for debug text output, by changing the new "ss.midi" setting's value to "stdout"
- Loading symbols from .lab files generated by mads - Ability to access symbols through Lua - Added monitor window - Fixed handling of lua errors
[changes] - Command Line: Switches are no longer allowed at the end of arguments, e.g. disk.atr/f or /f/nosi. Switches must now be separate arguments - Input: Removed the extraneous hidden Button 1 input on light pen/gun controllers [features added] - Additions: Added PHLOAD.COM to trigger peripheral handler loads via type 4 polling - Cartridge: Added Williams 16K cartridge type - Cartridge: Changed existing JRC cart type to JRC6 64K without RAM and added JRC RAMBOX cartridge type - Cartridge: Added MDDOS cartridge type - Cartridge: Added COS 32K cartridge type - Cartridge: Added Pronto cartridge type - Cartridge: CAR types 76, 78-93, and 160 are now supported without advanced configuration overrides - Cassette: Load Data as Audio option now supports raw FSK and PWM data blocks in .cas files - Cassette: BASIC auto-boot can now handle BASIC program tapes that require RUN "C" instead of CLOAD - Command Line: Added /[no]casautobasicboot, /kernelref, /basicref, and /diskemu switches - Debugger: Symbols escaped with '#' prefix can now include @ in their name - Debugger: .vbxe_traceblits command now has a compact mode - Debugger: .vbxe_bl command now has a compact mode and can dump a blit list at an arbitrary address - Debugger: Added explicit option in the disassembly window for whether the current D register state affects symbol lookup for direct page addressing modes - Debugger: bta (set tracepoint on access) can now supply a default trace message - Debugger: Math pack symbols can now be unloaded independently - Debugger: Added static trace PBI (stp) command to auto-trace parallel bus interface firmware - Debugger: Memory window now accepts arbitrary address expressions - Debugger: Ctrl+F in the history view moves focus to search box - Debugger: Added c (compare memory) command - Debugger: Added a menu command to export the debugger help from the .help command in HTML form - Debugger: @hwwritereg(addr) can be used to read back write-only system hardware registers - Debugger: The debugger now additionally tries to resolve source file references against the module binary path and the paths of any open source windows - Debugger: Source windows now have context menu options to reopen the file externally - Debugger: u (unassemble) now has -m option to change CPU mode used for disassembly - Devices: 1030 now does actual pulse/tone dialing - Devices: 1030 relay sound is now heard when phone is placed on-hook - Devices: Added SIDE 3.1 (JED 1.4) support - Devices: Added CPS SuperSALT Test Assembly support - Devices: MidiMate now exposes a serial port for custom MIDI interfacing - Devices: File writer device can now also be used with serial ports - Devices: Added networked serial port device - Devices: Added copy/paste support to devices UI - Devices: Added shortcut command to rescan a virtual FAT16/FAT32 disk - Devices: Added 835, full 835, and full 1030 hardware emulation - Devices: Added SIO serial adapter device to bridge serial devices directly to the emulated SIO bus without requiring motor control activation - Display: Added support for main display pan and zoom - Disk: Improved timing compensation when burst I/O mode is enabled - Input: Added support for Chalk Board PowerPad controller - Input: Added support for Stack Lightpen controller - Input: Mouse wheel can now be bound as an input - Input: Added an option to show pointer location when driving a tablet, pad, or light pen/gun with a non-mouse input - Input: Pad input area can now be moved and resized via Configure HUD - Network: Raised max MSS in emulation TCP stack from 512 to 1460 - Network: Emulation gateway now supports ICMP echo requests (only to the gateway; not forwarded) - Network: Emulation gateway now has a more distinctive Ethernet address to avoid conflicts when bridging through a VXLAN tunnel - PerfAnalyzer: Added support for saving and loading traces - PerfAnalyzer: Added trace channel for disk sectors passing under the drive head - PerfAnalyzer: Added approximated import for Atari800WinPLus 4.0 monitor execution traces (TRON/TROFF) - Save States: Devices can now opt-in to save state support - Save States: R-Time 8, XEP80, Black Box, MIO, Ultimate1MB, SIDE/2/3, and MyIDE[-II] are now included in save states - Save States: CPU mode, 65C816 high memory, and Axlon memory are now included in save states - System: Added 1400XL and 1450XLD emulation support (currently only minimal V:/T: support) - UI: Added /registeruserfileassocs, /registersysfileassocs, and /unregisterfileassocs for silent registration/unregistration of file type associations - UI: Added support for screen readers to read out text from the emulation screen (opt-in) - VFS: Added support for reading from .zip files that use Enhanced Deflate compression - VFS: Add special:// protocol to access specific images
New games - Adibou 1 - The Dark Eye - Dark Side - Escape From Hell - Gadget: Invention Travel and Adventure - Gobliiins 5 - The Excavation of Hob's Barrow - Kingdom: The Far Reaches - Might and Magic Book One - Muppet Treasure Island - Nancy Drew: The Final Scene - Nancy Drew: Message in a Haunted Mansion - Nancy Drew: Secrets Can Kill - Nancy Drew: Stay Tuned for Danger - Nancy Drew: Treasure in the Royal Tower - Primordia - Reah: Face the Unknown - Schizm: Mysterious Journey - Shardlight - Strangeland - Syberia and Syberia II (macOS versions only) - Technobabylon - The Vampire Diaries - Whispers of a Machine - Wrath of the Gods and four other Director titles - 14 AGS titles by Stranga and Cloak and Dagger
General - added WIC64 support for C64,C128,SCPU64,VIC20 - virtual device (host directory) fixes (Scratch command correctly returns number of scratched files, Rename command produces "file exists" error if th destination file exists) - added video capture in ZMBV format. This will produce lossless videos at correct emulated FPS - the old FFMPEG support was deprecated and is disabled by default. New experimental code was added that will work with external ffmpeg executable instead - reSID: fixed a Noise Init problem - reSID: filter tweaks - reSID: The 6581 saw+pulse waveform was wrong - reSID: tweak shift register reset time for 6581 - reSID: 8580 Filter ringing fix - reSID: 6581 filters: allow negative values for kVg-Vx - made raw printer driver pass through all bytes 1:1 - Tape: changed default zero-gap delay from the rather weird (and way too large) value 20000 to the more sane 2500 which MTAP uses - RS232: handle RI line in IP232 - Add option to invert the RI line. This should help to make some more obscure BBS programs work - RS232: removed undocumented feature to use unix domain sockets when the first character of a rs232 device is a pipe character, and instead used pipes, like it will be done on windows too - Drives: fixed 1571CR emulation - Drives: allow up to 83 tracks for 3.5inch mechs - Drives: fixed clock rollover in rotation code - REU: fixed DMA access to C64 RAM at $00/$01 - Added PaperclipE, PaperclipSC, and Paperclip2 dongle support - Added woj userport joystick adapter emulation - provide fake sid hooks so hardsid can be used when fastsid is disabled - Printer: new reworked emulation handles various CBM Printers: 2022, 4023, 8023, MPS801, MPS801, MPS803 - Printer: tweaked MPS page height, now allows print shop to print a greetings card on a single page - Printer: do not produce any output for non-printable codes - Printer: when using the graphic output driver, only produce a new file when actually doing a formfeed - Build the list of available palette files at runtime, scan system path/dirs as needed. Also read extra info from the .vpl files. New palettes can now be just dropped into the data dir and they will appear in the UIs - allow color controls to be used with external palette and when no crt emulation is active - Added more realistic vicii color ram init code - CIA: shiftregister fixes - CIA: fixed ICR timing/behaviour (This fixes the dd0dtest from the testbench) - Support for ISA/PCI devices that were accessed via direct I/O was removed, since this would not work in any sane modern OS anymore. The affected devices are: parsid (windows), ssi2001 (all) - Z80: OUT, OUTD, OUTI, OTIR, OTDR instruction fixes - Fixed -initbreak reset so that the first instruction doesn't run Buildsystem - add configure switch `--enable-experimental-devices` to enable experimental emulation of some devices - changed configure switch `--with-libcurl` to `--without-libcurl` - changed configure switch `--enable-lame` to `--with-lame` - changed configure switch `--enable-libieee1284` to `--with-libieee1284` - changed configure switch `--enable-portaudio` to `--with-portaudio` - configure: change `--with-zip-bin` to `--with-unzip-bin` - remove the configure switch --with-readline/--without-readline - Do not build PDF docs unless --enable-pdf-docs - Fixed macOS bindist. Probably doesn't work without code signing, however an attempt is now made to detect and use a signing identity - when installing with x64 not enabled, install a symlink x64->x64sc instead - Add unzip.exe and its deps to Gtk3 bindist C64 fixes - Blackbox 9 garbled screen problem was fixed - added 'Hyper-Basic' cartridge support - fixed "MAX-BASIC" cartridge support in "MultiMAX" emulation - more correct memory map for the "Max Machine" - fix attaching 8k ultimax .bin cartridge images C128 fixes - Cartridge system now supports cartridges that work in both C128 and C64 mode - added "RAM-Link" support - added LTK support, as well as other kernal replacements carts - comal-80 (c128) fixed - MMU fixes - Keep currently set c128 bank when changing the c64mode mmu bit - Fix x128 c64 mode p0/p1 relocation - Added proper z80 mmu control - add a 'SCART' VDC palette, which contains 'dark yellow' instead of the (correct) brown - Fix x128 VDC mirroring - x128 properly starts with Z80 and then transfers control to 8502 - Z80: various I/O mapping fixes - use separate resources for localized chargen and c64 kernal
And this is only part of the list of all improvements and fixes.
Version 1.094 - The Checkered Flag "Uncap Framerate" option can now be switched between 30Hz and 60Hz - Added some sync code to the Checkered Flag script to fix possible flickering issues (only became noticeable at 60Hz) - Checkered Flag is generally playable at 60Hz, but you're likely to encounter more timing bugs. Native system requirements are also significantly higher, as the Jaguar is automatically overclocked in this mode Version 1.093 - Added a Checkered Flag script, which features native resolution rendering, analog controller support, framerate unlocking, and lots of tweaks/options - Added a new Tempest 2000 script to patch some of the rotary controller bugs that existed on hardware - Added support for "AUDIOWITHSUB" track types in the CUE loader - Added an "optree" debug command (only relevant for developer builds) - Added a "gfxflags" debug command (only relevant for developer builds) - Added bigpemu_jag_op_render_bitmap_object_to_buffer to the scripting API - Native CRY rendering and ADDDSEL blending is now supported through the native polygon script interface - New scripting functionality to hook into save/load state events, allowing scripts to pack custom data into saved states - Fixed a potential resource leak when associating textured native polygons with a buffer - Fixed changes to the MSAA setting sometimes not being reflected until restarting the application - Fixed potential flickering and other visual problems after re-allocating native polygon hardware buffers - Fixed the script function bigpemu_drawui_get_virtual_to_native_scales returning incorrect values - Fixed an issue with one of the terrible secrets which was making the secret slightly less terrible than designed
New features/updates: UI
- On screen keyboard. Default mapped to pad button 4
- Gamepad GUI control. Use game pad to control WinUAE GUI with some limits
- Optional dark mode (Windows 10 or newer required)
- Emulation window dragging and resize does not anymore pause emulation
New features/updates: emulation
- Built-in Munt MT-32/CM-32L emulation. Emulated devices listed in MIDI out setting. ROM images should be in
Many changes and improvements with respect to debugging and stability Known issues: - Awesome golf and Scrapyard Dog hangs - audio/video synchronization has a defect resulting in crackling - few debugging features does not behave as flawlessly as they should
- Store the PC register at the appropriate offset - Resize GameArea after MainFrame initialization - Properly hide the status bar at startup - Fix reading joystick hat config values - Link: Fix menu not refreshing correctly
- Improved the ARM Thumb driver and the CDFJ driver to squeeze out two more frames of performance - Fixed PAN UP / PAN DOWN handling on the A-button and you can now pan even if another button is pressed (useful for Turbo Arcade) - Minor cleanups as time permitted
Versioning - Window title shows the current version number - executing from the command line with "version" will display the version number - the -v flag outputs the git revision - eg gopher2600 version -v - VERSION command available in the debugger terminal Bankswitching - Implemented UA mapping scheme CRT Effects - Improved bevel effect - Improved noise implementation, which is now part of the interference effect - Added flicker effect Debugger - LAST command correctly shows partial disassembly when running in CLOCK quantum - Added CYCLE quantum 6507 Disassembly - Improved disassembly when decoding previously unseen instructions Renderer - Added simplified renderer targeting OpenGL2.1 - Executable must be compiled to use this alternative renderer - New renderer does not support CRT effects or screenshots - Principle reason for addition is to support the Raspberry Pi Bug fixes - Fixed crashes caused when the program window was resized so that it was too small - this only affected some debugging windows (eg. the disassembly window)
ui: Use only one option for settings window (#1122) * rebase code * remove unsused item * restore "system" displaying on first boot * restore popup menu functions (separate commit) * restore snapshot function in popup menu * get current index value from config file
Since v133, a total of 17 contributors have created 220 commits to the ares codebase. 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
General - Updated preview images - Uploaded samples for Bosconian and Gaplus - Devices: - Eeprom: - Mix two source files - Converted to classes - Fixed 16bits writes - Added functions to load/save content - Added E93CXX devices - Sound - OKI6295: fixed playing voices Spectrum - Changed 'fast load' button - Disabled if no tape is loaded - Set 'on' by default when 'TAP' file is loaded - Set 'off' by default when 'TXZ' and 'PZX' files are loaded Sega SG-1000 - Safari Hunting: fixed cartridge mirroring, now works Diverboy - Added driver with sound Mug Smashers - Added driver with sound Steel Force HW - Steel Force: added driver with sound - Twin Brats: added driver with sound
What's New - Naomi F355 multiboard - Sega SystemSP emulation - Virtua Fighter 4 RFID card support. VF.Net emulation server - Naomi touchscreen (Manic Panic Ghosts, Touch de Uno 1 & 2, Touch de zunou) - Hopper for Kick'4'Cash, Shootout Pool and Club Kart Prize - F355 Deluxe and Touch de Uno 1 & 2 printer - Sega Driving Simulator - Android Scoped Storage - SH4 under/overclock option - Mushiking series - Naomi Alien Front worldwide ranking server - NetDIMM 3.7 networking high-level emulation - Racing Controller, Fishing Controller, Maracas, Densha de Go controller, Pop'n'Music Controller - Real time Video Routing for streamers - SystemSP RFID chip emulation: Dinosaur King, Love & Berry - Dreamcast 32 MB RAM option What's Improved - Support for Windows CE games on 32-bit x86 arch - Hotkeys for Save and Load State - Force feedback info netcast to Boomlangnz's FFB plugin: F355, 18 Wheeler, Club Kart, King of Route 66 - Use a gamepad with arcade lightgun games - Per-game VMU A1 option - Improved detection of Windows CE games - Latin-1 and Asian fonts support in HLE BIOS - Video centering support (San Francisco Rush 2049, Street Fighter III - 3rd strike, Metropolis Street Racer) - Daytona USA networking - Eldorado Gate 4 to 7 compatibility - Implement dithering in Full Framebuffer Emulation mode - Upgrade dependencies, build improvements, and more - And many, many, many bug fixes
Emulator - Added Auto-pause on focus loss option - Added 4:3 integer scale option for full screen mode - Added -X/--clear cmos|flash|both command line option to reset the machine’s CMOS data and/or BIOS flash - Added -M/--dumpmissing command line option to output a list all machines and video cards for which ROMs are missing - Added -Y/--donothing command line option to output the initial log information then exit - Fixed Discord integration option remaining active if integration is not supported on the host platform - Changed minimum supported configuration file version (machines last used on 86Box versions older than v3.0 final must be loaded on v4.0 or v3.11 first to convert their configuration files) User interface - Moved on-board device settings from the machine’s Configure button to the devices’ respective Configure buttons - Fixed on-board sound and network incorrectly selectable as secondary devices - Fixed Softfloat FPU incorrectly available on machines with no FPU - Updated translations: Chinese (Simplified), Chinese (Taiwan), Japanese Machines - Added Intel CU430HX Socket 7 motherboard (retail version of the Toshiba Equium 5200D) - Added on-board Sound Blaster ViBRA 16 sound to the Intel Advanced/EV and Toshiba Equium 5200D - Fixed MSI MS-5119 PS/2 mouse issues by updating the BIOS - Fixed NCR PC4i memory amount selection glitches - Fixed boot issues with PCI cards on the PC Chips M579 and M729 - Fixed Microsoft Virtual PC 2007 crashing the emulator on startup - Fixed Compaq Portable series gas plasma display glitches - Fixed non-functional minimum memory amounts on the Soyo 4SAW2 and Zida Tomato 4DP - Fixed inaccurate BIOS CPU frequency read-outs on several Intel motherboards - Fixed incorrect Planar ID on the IBM PS/2 Model 60 (again) - Changed IBM PS/2 Model 70 Type 4 to require CPUs with a built-in FPU - Changed Quadtel 286 clone to require Softfloat FPU Hardware Core - Fixed constant host disk writes caused by applications which actively use the real time clock - Fixed INS and OUTS instruction behavior on the NEC V20 and V30 Display - Fixed ATI Mach32 conflicting with Voodoo cards - Fixed graphics corruption upon switching from interlaced graphics to text mode on Cirrus Logic and Paradise cards - Fixed graphics corruption with Paradise and Trident TGUI cards on specific video modes - Fixed IBM XGA not detected by the XGAKIT tool - Fixed more specific graphics corruption issues on the IBM 8514/A and XGA - Changed Image Manager 1024 to the 8-bit ISA bus (requires a V20 or V30 CPU) Sound - Added Sound Blaster ViBRA 16C, 16S and 16XV cards - Fixed Gravis Ultrasound MIDI playback issues - Fixed FM synthesis issues on cards with the Yamaha OPL4 - Changed IDE channel on Plug and Play Sound Blaster cards to quaternary - Changed ROM locations for Plug and Play and AWE32 Sound Blaster cards Network - Fixed PLIP crashing the emulator upon sending any packets Ports - Fixed serial port passthrough setting incorrect host port parameters on Linux and macOS hosts Storage - Increased the maximum CD-ROM drive count to 8 - Added IBM PS/2 SCSI Adapter (Tribble) for MCA machines - Fixed incorrectly switched resources on the tertiary and quaternary IDE controllersAdded IBM PS/2 SCSI Adapter (Tribble) for MCA machines - Fixed issues with CD audio track timing on specific cue/bin images - Fixed Adaptec AHA-154xB incorrectly working with later incompatible versions of the DOS driver