Releases with ports for two or more operating systems.
- Details
- Category: Multiple Platform
What's New:
Fix an issue where controller wouldn't respond after being disconnected and reconnected
- Details
- Category: Multiple Platform
What's New:
MAME Testers bugs fixed
-----------------------
- 06797: [Core] (trs/coco3.cpp) MC6809 handles invalid instruction $10 $4F incorrectly. (Tim Lindner)
- 07146: [Crash/Freeze] (atari/atarigt.cpp) tmek20: Emulator hangs after some time at the title screen. (Angelo Salese)
- 07261: [Crash/Freeze] (nec/pce.cpp) tg16 [addfam]: Emulated system freezes shortly after starting a game. (Angelo Salese)
- 07384: [Gameplay] (nec/pce.cpp) pce [xwiber]: Second stage boss never appears. (Angelo Salese)
- 07727: [Graphics] (nec/pce.cpp) pce [ppersia]: Bad graphics are displayed at the top of the status area. (Angelo Salese)
- 07892: [Gameplay] (namco/galaga.cpp) sxeviousj: Inserting a coin immediately starts a game with stuck controls. (hackbar)
- 08327: [Sound] (namco/galaga.cpp) bosco: Certain DIP switch settings cause issues with the enemy base explosion sound. (hackbar)
- 08511: [Core] (trs/trs80.cpp) trs80l2: SuperUtility 3 fails to boot due to false sync detection. (Tim Lindner)
- 08585: [Gameplay] (nec/pce.cpp) pce [tblade]: Game freezes after transition from chase view to overhead view. (Angelo Salese)
- 08593: [Graphics] (taito/taito_f3.cpp) landmakr and clones: Ending slides are offset vertically. (ywy)
- 08601: [Crash/Freeze] (tangerine/oric.cpp) oric1 [zorgons]: Attempting to start the game crashes the emulator. (O. Galibert)
- 08602: [Graphics] (konami/ultraman.cpp) ultraman: All sprites appear as shadows. (Ivan Vangelista)
- Details
- Category: Multiple Platform
What's New:
- Added a cache file (xmlcache.dat) that is written to the pfeMAME folder after a full database refresh. This is essentially a copy of the output from the mame.exe -list xml command. Then on the next database refresh I read that file and compare its MAME version info with the MAME version info currently running. If they match, then I use that data. If not then I have to perform the full -listxml which takes longer. This has reduced a full database refresh on my machine from 36 to 24 seconds.
- Fixed a but that stopped the visual pinball roms from working. I hadn’t updated that code in quite a long time and found that the list format was no longer correct. I need to find a better way of doing this moving forward.
- Removed the right click context menu items for playing ROMs with different emulation engines.
- Removed enginetouse.dat file and related code.
- Added a new non_mame_exulators.xml file.
- Rewrote the playgame code to allow for reading different emulator engine options from the XML file.
- Added additional code to the database build to support the new alternate emulation engine process.
- Added a new menu item under the Edit Menu -> Setup Alternate Emulators.
- Added a new module -> Alternate Emulators
- Fixed a bug that caused the filepaths buttons to be greyed out on first-time-run even though they were enabled. Just needed a refresh after the first time run popup message.
- Removed any code and manual references relating to the psutil and keyboard imports and ability to shut down MAME by holding a key. This never worked properly as various platforms think you are trying to run a key logger and block it or require admin rights which is bonkers.
- Added a button hover highlight effect
- Added a bold font and underline to the slot headings
- Other graphical improvements to the slot controls page
- Additional changes to controls in preferences window to support color modes
- Improved the refresh of the quantities section of the statusbar when searching. Still not perfect but at least better.
- Added a startup window to select the application language
- Added application language selection to the preferences window and command line
- Added a framework for the application languages (still needs a lot of work)
- More changes to preferences window layout to sizer better for different languages
- Moved logging to functions.py module and got rid of write_log_remote. Any module that now needs to write to the log file can set up local logging or receive the logging object through init.
- Added line number and module name to the logger to assist with debug
- Fixed setup.py to handle multiple folder imports with setuptools
- Updated build_source_distribution.py so that for folder creation with all sub folders and files you just have to include the top level folder and refer to it as ‘folder_all’
- Updated the manual to include language selection and the new alternate emulation engine support.
- Command line errors will now generate a message but not then start the pfeMAME application. This way you can see they you had an error.
- Updated the search box so that when it looses focus, the search text gets cleared. Fixes an issue where the box locks up when it looses focus after some text is entered.
- Updated the setup.py file for building distributions. Under macOS you need to put the ‘locales’ language folder within the ‘Resources’ folder. To do this just define a second insertion point for the data_files setup variable.
- Details
- Category: Multiple Platform
What's New:
Emulation fixes
- GBA Audio: Fix improperly deserializing GB audio registers (fixes mgba.io/i/2793)
- GBA Audio: Clear GB audio state when disabled
- GBA Memory: Make VRAM access stalls only apply to BG RAM
- GBA Overrides: Fix saving in PMD:RRT (JP) (fixes mgba.io/i/2862)
- GBA SIO: Fix SIOCNT SI pin value after attaching player 2 (fixes mgba.io/i/2805)
- GBA SIO: Fix unconnected normal mode SIOCNT SI bit (fixes mgba.io/i/2810)
- GBA SIO: Normal mode transfers with no clock should not finish (fixes mgba.io/i/2811)
- GBA Timers: Cascading timers don't tick when disabled (fixes mgba.io/i/2812)
- GBA Video: Fix interpolation issues with OpenGL renderer
Other fixes
- Core: Allow sending thread requests to a crashed core (fixes mgba.io/i/2784)
- FFmpeg: Force lower sample rate for codecs not supporting high rates (fixes mgba.io/i/2869)
- Qt: Fix crash when attempting to use OpenGL 2.1 to 3.1 (fixes mgba.io/i/2794)
- Qt: Disable sync while running scripts from main thread (fixes mgba.io/i/2738)
- Qt: Properly cap number of attached players by platform (fixes mgba.io/i/2807)
- Qt: Disable attempted linking betwen incompatible platforms (fixes mgba.io/i/2702)
- Qt: Fix modifier key names in shortcut editor (fixes mgba.io/i/2817)
- Qt: Fix a handful of edge cases with graphics viewers (fixes mgba.io/i/2827)
- Qt: Fix full-buffer rewind
- Qt: Fix crash if loading a shader fails
- Qt: Fix black screen when starting with a game (fixes mgba.io/i/2781)
- Qt: Fix OSD on modern macOS (fixes mgba.io/i/2736)
- Qt: Fix checked state of mute menu option at load (fixes mgba.io/i/2701)
- Qt: Remove OpenGL proxy thread and override SwapInterval directly instead
- Scripting: Fix receiving packets for client sockets
- Scripting: Fix empty receive calls returning unknown error on Windows
- Scripting: Return proper callback ID from socket.add
- Vita: Work around broken mktime implementation in Vita SDK (fixes mgba.io/i/2876)
Misc
- Qt: Include wayland QPA in AppImage (fixes mgba.io/i/2796)
- Qt: Stop eating boolean action key events (fixes mgba.io/i/2636)
- Qt: Automatically change video file extension as appropriate
- Qt: Swap P1 and other player's save if P1 loaded it first (closes mgba.io/i/2750)
- Details
- Category: Multiple Platform
What's New:
Changes
- Added an experimental theme downloader
- Added a setting to set the user theme directory to an arbitrary location (not configurable via the GUI)
- Added scrollable text container support to the system view
- Added six new theme properties for sizing and placement of the helpsystem when a menu is open
- Added a scaleInwards property to the grid element to contain scaling within the element boundaries
- Added a new gameOverridePath property to the image element to enable per-game static image overrides
- Added support for using the systemNameSuffix property together with scrollable text containers
- Added support for the Sinclair ZX Spectrum Next (zxnext) game system
- Added support for the Sinclair Spectrum ZX emulator ZEsarUX
- Added support for the Sinclair Spectrum ZX Next emulator #CSpect on Linux and Windows
- Added the PicoDrive RetroArch core as an alternative emulator for the gamegear system
- Added the LRPS2 RetroArch core as the default emulator for the ps2 system on Linux and Windows
- (macOS) Added the Mupen64Plus-Next RetroArch core as the default emulator for the n64 and n64dd systems
- Set the Neko Project II RetroArch core to start in the game directory as it created a config file in the ES-DE binary directory
- Added "Shortcut or script" as an alternative emulator for the arcade and mame systems
- (Unix) Added the .desktop and .sh file extensions to the arcade and mame systems
- (macOS) Added the .app and .sh file extensions to the arcade and mame systems
- (Windows) Added the .bat and .lnk file extensions to the arcade and mame systems
- Added the .app file extensions to the nds system
- Added the .7z and .zip file extensions to the 3do system
- Changed the platform from pc to pcwindows for the desktop and kodi systems
- (Linux) Dropped support for prebuilt RPM packages
- Changed the color scheme names for the bundled Slate and Modern themes from "Dark mode" and "Light mode" to "Dark" and "Light"
- Any theme directories with names ending with "disabled" (regardless of case) are now ignored
- Updated SDL to 2.26.5 on Windows, macOS and the Linux AppImage builds
- Added the libgit2 library as a dependency
- Added support for changing the BusyComponent text dynamically
- Added proper helpsystem handling to ComponentGrid for some previously unhandled horizontal grid layouts
Bug fixes
- (Windows) Fixed a regression that made .bat and .lnk files with some special characters in the filename impossible to launch
- Clearing or deleting a game could hang the application if the media files could not be deleted due to insufficient permissions
- Using the cropSize property could lead to a crash under very rare circumstances
- Multi-row text with blank lines that was not displayed in a scrollable container was sometimes not wrapped correctly
- Fixed several potential container overflows in GuiTextEditKeyboardPopup that could lead to rare crashes when running on an ARM processor
- Fixed a potential container overflow in ViewController that could lead to rare crashes when running on an ARM processor
- (macOS) When opening the main menu an error message was logged about accessing a nonexistent ShowQuitMenu setting
- The scissor box size in ScrollableContainer was sometimes not calculated correctly
- FileSystemUtil::renameFile() did sometimes not provide a return value for whether it succeeded or not
- Details
- Category: Multiple Platform
What's New:
add Amiga emulation
- A1000 (OSC/ICS), A500 (Full OCS), A500 (ECS Agnus, OCS Denise)
- RGB or S-Video with PAL/NTSC color encoding, border cropping
- support all global features like: runAhead, savestates, G-Sync, configs, Warp, JIT polling, shader
- up to 4 disk drives with acceleration option
- Chipram, Slowram, Fastram
- list disk content in UI
- AROS firmware is preinstalled
- motor controlled auto warp
- drive sounds
- support custom frequencies like B.C. Kid (56.4 Hz)
- if you only want to use one of the two emulators, Amiga or C64 core can be hidden
emulator now boots automatically after power on
- Splash screen can be disabled
- emulator remembers which core was used last
disk swapper can be filled faster due to multiple selection of files
- files from archives can also be added quickly
- if requested disk swap position is not prepared, emulator guesses the disk based on requested position and the currently inserted disk
windows: prevent App minification when focus loss in fullscreen
C64: add option to combine Virtual Device Traps (instant load first file) with floppy speeder
C64: improve drive motor controlled auto warp
- add option to stop auto warp when software requests input, because
- some games stop drive motor too late and warp runs too long, what could lead to the loss of a life
C64: support magicdesk CRT's with broken header
C64: fix runahead slowdown with REU/GeoRAM when using a lot of memory, e.g. REU 16 MB
Mice and other mouse-controlled devices, such as Lightguns, can now be configured with one click
- Details
- Category: Multiple Platform
What's New:
General
- New keyboard layout handling: now it is possible to use a more natural layout assigning different host keys to the same emulated key. The layout configuration is stored inside a configuration file, depending on the emulated machine. Each configuration file can contain different layout for different operating system. See Wiki for details.
- New virtual keyboard and keyboard editor: it's possible to enter key using a virtual keyboard. It's possible to edit the keyboard configuration or create a new one from scratch.
- New look and feel Flatlaf (thanks to https://www.formdev.com/flatlaf/)
- Added support for palette configuration loading from file (vpl) for both VIC (I,II) and VDC
- Fixed disk issues when user change disk
C128
- Improvements for 2Mhz emulation
- Improved MMU (https://sourceforge.net/p/vice-emu/bugs/1835/?page=1)
- Minimal modifications to D030 registry: still partially supported
- Added ASCII/DIN handling for multilingual char rom set. Fixed 128/64 char rom reloading
C64/C128
- Added Super Explode cartridge
- Added RAM Cart cartridge
- Added Isepic cartridge
VIC20
- Addes support for WiC64
- Details
- Category: Multiple Platform
What's New:
- Changed Σ+/Σ- so that, in NSTK mode, they will accept a single real argument, assuming Y=0 in that case.
- Tuned TONE frequencies to A440 scale.
- Details
- Category: Multiple Platform
What's New:
- Fixed crash when loading state, when the current program is an equation that is only referenced by SOLVE/INTEG internal variables.
- Changed Σ+/Σ- so that, in NSTK mode, they will accept a single real argument, assuming Y=0 in that case.
- Added STOP() function for equation debugging.
- In the equation editor, the named-equation catalog could select items from the wrong row.
- Fixed handling of LCLV of indexed matrix. It used to leave any pushed indexed matrix in limbo until RTN. With this change, the pushed indexed matrix is popped immediately.
- Tuned TONE frequencies to A440 scale.
- Details
- Category: Multiple Platform
What's New:
UniPCemu
- Fixed second COM port detection.
- Implemented a special COM0COM detection override flag.
- Added support for overriding the used COM port to force COM0COM driver support on it.
- Implemented a ::COM0COM:: suffix on the direct serial ports to enforce COM0COM driver to be detected if it isn't.
- Improved packets to the subnet zero broadcast to be counted accordingly.
- Added support for filtering multicast addresses on the client.
- Filter multicast addresses on the packet server host.
- Implemented some basic multicast local routing.
- Just broadcast all network multicast packets.
- Fixed Inboard PS/2 data port conflict on AT machines.
- Implemented Inboard reserved RAM.
- Implemented Inboard reserved RAM/ROM memory mapping and memory area.
- Fixed Inboard reserved RAM area mapping.
- Implemented support for unmapping video and BIOS ROMs on the Inboard chipset.
- Improved Inboard speed setting to be more as documented.
- Improved Inboard AT waitstates.
- Fixed memory dumping.
- Details
- Category: Multiple Platform
What's New:
v0.5.31
- Updater (Windows): Download & Switch Versions
v0.5.30
- Updater (Windows): Add Stable & Preview Channels
v0.5.29
- Fix game speed from Test Game Menu launch
- Details
- Category: Multiple Platform
What's New:
New cores
- MAME (Arcade only)
- Ares64
- VirtualJaguar
- TIC-80
- SubBSNESv115+
Lots of updates and fixes to existing cores and to EmuHawk.
- Details
- Category: Multiple Platform
What's New:
- Fix "Don't check for updates again" checkbox appearing when requesting an update check through Help -> Check For Updates
- Add game format, file name, file extension, file size, game I.D. and game region columns to the list view of the ROM browser which can be toggled in the "Show/Hide Columns" menu of the context menu in the list view of the ROM browser (thank you @RetraCarteR)
- Add "Reset Column Sizes" to context menu of the list view of the ROM browser (thank you @RetraCarteR)
- Add "Analog Stick Sensitivity" setting to RMG-Input (thank you @JaxonWasTaken)
- Add "Save Filename Format" setting to the Core tab of the settings dialog (see mupen64plus/mupen64plus-core#998)
- Add "Edit Game Input Settings" to the context menu of the ROM browser
- Add support for 7z files
- Add progress status to the loading screen in the ROM browser when loading takes more than 5 seconds
- Details
- Category: Multiple Platform
What's New:
- Fixed crash in RTNERR when switching back to NSTK mode after FUNC/L4STK.
- Fixed ASSIGN "" in programs.
- Added PRREG to the PRINT menu.
- NN→S now ignores the display mode and always acts like ALL mode is active.
The idea being that if you care about the display mode, you'll probably be using N→S, and you only need NN→S if you specifically want to see full internal precision.