RetroArch 1.9.14 release!
The emulating mailbox infrastructure is very hacky and needs a rethink to be able to properly support screenshots. Emulating mailbox is pretty nasty to begin with and should be considered a hack. The next version might have a setting to allow you to disable mailbox emulation entirely. Mailbox emulation as it is only takes effect in fullscreen mode.
We have been busy since 1.9.13! The following cores have been added:
Netplay has received plenty of improvements thanks to the efforts of Cthulhu. We have a lot more prepared for the next version, so consider this a prelude to the main event.
* Keyboard support has been fixed. The problem was caused by changing the driver lookup point. The deferred lookup resulted in the WIIU trying to treat the keyboard as a gamepad which didnt work. This change short-circuits at the connection event by ignoring mouse & keyboard connection events.
As mentioned before, as part of Project IO, we are going over every core and performing some basic quality control checks. This already resulted in numerous Quality of Life enhancements to cores. Not all of the improvements listed below can be attributed to Project IO, but its fair to estimate over 90% of them are.
Add automatic Crowdin synchronization Mapper 196: Support IRQ for The Ancient & Modern Heroes Mapper 319: Use hp898f.c only for the old incorrect UNIF bank order, and 319.c for all NES 2.0 ROMs. Add CNROM mode and solder pad switch to the latter. Mapper 57: Change default DIP for YH-xxx Olympic multicarts, always reset to menu Mapper 178: Always reset to menu. CNROM/UNROM: Only emulate bus conflicts when explicitly specified by NES 2.0 header Added support for mapper 383 Add UNROM modes and two-chip variant to mapper 242 Add Realtec 8099 PCB support to mapper 236
Previously, the core was susceptible to crackling audio, particularly when using low frontend audio latency settings. This is because the core was handling audio output suboptimally. At the set audio sample rate, the frontend expected between 1097 and 1098 audio samples per frame but the core was sending samples in multiples of 256. This means that the audio output becomes desynchronised with retro_run() sometimes 1024 samples will get sent to the frontend for the current frame, sometimes 1280 as the core either falls behind or overcompensates. As a result, when the frontend tries to synchronise on audio, jitter can occur and if the frontend audio buffer is small (when using low latency values), it can sometimes run dry or reach capacity, causing crackling. 1.9.14 modifies audio handling such that the correct expected number of samples is sent to the frontend in proper synchronisation with retro_run(). This greatly improves audio quality, even on the notoriously crackly Mother 3. To demonstrate the effect of this, here are a couple of figures measured from the core on a Linux desktop with an audio latency setting of 64 ms, averaged over 5k frames: Time spent close to audio buffer underrun: * Current master: 8.68 % * With this PR: 2.37 % In addition, a Miyoo port has also been added.
Caprice32: [event] changed mouse pointer to absolute position Caprice32: [event] better first the default mouse mode code. Caprice32: [KoS] little fix to avoid render problem on WiiU Caprice32: Should work now on WiiU Caprice32: [KoS] changed to RETRO_DEVICE_ID_POINTER_PRESSED Caprice32: [dsk] clean base Caprice32: [fdc,slots] new loader endian compatible WIP Caprice32: [loader] compatible wiiu basic loader. FBNeo: (libretro) xybots remapping FBNeo: (libretro) llander remapping FBNeo: megadrive update from gab75 FBNeo: nes update from gab75 FBNeo: gijoe: all clones have a 4 players mode FBNeo: gaelco: modernize driver, fix thoop stg. 4 crash FBNeo: atarivad, fix runahead w/some games using this FBNeo: tempest: add some hacks FBNeo: msx update from gab75 FBNeo: d_taitof2.cpp: add Majestic Twelve The Space Invaders Part IV (US) FBNeo: batman, more drums volume, vad offset, ssriders oops FBNeo: xmen6p, note about resetting FBNeo: In Your Face (inyourfa), fix priority FBNeo: ssriders, fix # of players FBNeo: speccy update c/o gab75 FBNeo: galaxian, update pisces date FBNeo: 7z: fix cpp ODR (second attempt) FBNeo: spectrum fix 48ks ay FBNeo: vector, underp mode change FBNeo: video, less derpy mode changes for megadrive, etc FBNeo: grdnstrm: also fix cloness dips FBNeo: grdnstrm: fix dips FBNeo: sms: update Voyage A Sorceress Vacation to 1.05 FBNeo: ssv, buffer spriteram for every game in driver FBNeo: d_namcos2.cpp: added Mirai Ninja (Japan, set 2) [Corrado Tomaselli] FBNeo: d_cps1: marked forgottnj as a prototype, its an unfinished version of the game FBNeo: d_hyperpac.cpp: added New HyperMan (3-in-1 with Cookie & Bibi & Hyper Man) (set 2) [jordigahan] FBNeo: d_cps1.cpp: Fixed 2 players mode DIP switch for sf2cejx and sf2hfj. FBNeo: spectrum update from gab75 FBNeo: williams, add Playball!, fix lottofun FBNeo: lua: fix window not opening after closing a game w/lua console opened FBNeo: cbombers, undrfire: impl. contrast/luma settings as recommended by Tatsuya79 FBNeo: ssv, experimental lag fix plus fix pastelis 2p split screen mode FBNeo: d_m107.cpp: hiscore support FBNeo: ssv, add spritebuffering to stmblade to fix lines in stage 6, cleanup a little FBNeo: experimental cheat fix for midway (mk/umk3/etc) games FBNeo: md, updates from gab75 FBNeo: megadrive palette fix (0 bit ignored) FBNeo: sys16b doesnt have highlights, only shadows. i think? revert if breaks something FBNeo: add ktiger2p [DsNo] Genesis Plus GX: Fetch translations & Recreate libretro_core_options_intl.h mGBA: Add automatic Crowdin synchronization PPSSPP: Reimplement audio Picodrive: Fix loading of SMS/GG ROMs Picodrive: sound, fix ym2612 ladder effect, add option Picodrive: 32x, fix DMA mem-2-mem copying for big endian Picodrive: sound, add ym2612 channel clipping, ladder effect Picodrive: sms, set non-TMR images to region Japan SameBoy: Update the SameBoy core with latest changes SameBoy: Add GB_is_cgb_in_cgb_mode SameBoy: Add memory write callback, optimize memory access with likely/unlikely SameBoy: Add a safe memory read API SameBoy: Initial MBC7 support SameBoy: Mouse controls for MBC7 Yabause/Kronos: Add automatic Crowdin synchronization
[ 2021-12-06 04:34:01 CET ] [ Original post ]
RetroArch 1.9.14 has just been released. If youd like to learn more about upcoming releases, please consult our roadmap here. This post is an edited version of the article on our website, and it only includes changes relevant to the Steam version (and associated DLC). If you'd like to read the complete untouched article, visit this link here.
Highlights
Vulkan Avoid hard crash when capturing screenshot in emulating mailbox
The emulating mailbox infrastructure is very hacky and needs a rethink to be able to properly support screenshots. Emulating mailbox is pretty nasty to begin with and should be considered a hack. The next version might have a setting to allow you to disable mailbox emulation entirely. Mailbox emulation as it is only takes effect in fullscreen mode.
Steam updates
We have been busy since 1.9.13! The following cores have been added:
- Caprice32
- RACE
- gpSP
- Prosystem
- Beetle PSX
- UAE
- VICE
- bsnes
Netplay improvements
Netplay has received plenty of improvements thanks to the efforts of Cthulhu. We have a lot more prepared for the next version, so consider this a prelude to the main event.
- Added setting to allow/disallow players other than the host from pausing the game.
- Added a sublabel for netplay max connections.
- Changed unknown commands to be ignored instead of forcing a disconnection.
- Fixed port override macro from not being set immediately after the port setting.
- Fixed memory leaks.
- Show passworded rooms on lobby. Small improvement to the lobby viewer it should now make a distinction between passworded rooms and non-passworded rooms.
- uPnP: Fixes more memory leaks
- uPnP: Added a task_queue_wait to prevent executing two nat tasks at once, so its also thread safe now
- uPnp: Fix UPNP port mapping failed error switch to a permanent lease time, but request it to be removed when we do netplay_free
WiiU improvements
* Keyboard support has been fixed. The problem was caused by changing the driver lookup point. The deferred lookup resulted in the WIIU trying to treat the keyboard as a gamepad which didnt work. This change short-circuits at the connection event by ignoring mouse & keyboard connection events.
Core improvements
As mentioned before, as part of Project IO, we are going over every core and performing some basic quality control checks. This already resulted in numerous Quality of Life enhancements to cores. Not all of the improvements listed below can be attributed to Project IO, but its fair to estimate over 90% of them are.
VICE
- Updated to use VFS instead of straight file I/O (ProjectIO)
- Core option sublabel adjustments
- Audio detection for AutoLoadWarp
- More moderate tape warp detection
- Press play on tape change
- Mapper additions
- Dupecheck for disk append
- More distinguishable light gun cursor
- Diskwarp audio detection correction
- Mute Datasette with Autoloadwarp
- Diskwarp audio detection improvement
- Autoloadwarp automuting fixes
- Fix sound muting on rewind
- Add Automatic Zoom Mode
- Aspect toggle correction
- Touch pointer cleanups
FCEUmm
Add automatic Crowdin synchronization Mapper 196: Support IRQ for The Ancient & Modern Heroes Mapper 319: Use hp898f.c only for the old incorrect UNIF bank order, and 319.c for all NES 2.0 ROMs. Add CNROM mode and solder pad switch to the latter. Mapper 57: Change default DIP for YH-xxx Olympic multicarts, always reset to menu Mapper 178: Always reset to menu. CNROM/UNROM: Only emulate bus conflicts when explicitly specified by NES 2.0 header Added support for mapper 383 Add UNROM modes and two-chip variant to mapper 242 Add Realtec 8099 PCB support to mapper 236
Nestopia
- Add automatic Crowdin synchronization
QuickNES
- Add automatic Crowdin synchronization
Beetle PSX
- Add core options to change crosshair color + remove light gun warnings
- Add automatic Crowdin synchronization
Prosystem
- Fix base height. This system only have one resolution depending on if it is NTSC or PAL. Before it was even worse because it was always reporting a hardcoded 320240 which is totally wrong, so better to output the correct one even if it is also hardcoded.
gpSP
Improved audio frame pacing
Previously, the core was susceptible to crackling audio, particularly when using low frontend audio latency settings. This is because the core was handling audio output suboptimally. At the set audio sample rate, the frontend expected between 1097 and 1098 audio samples per frame but the core was sending samples in multiples of 256. This means that the audio output becomes desynchronised with retro_run() sometimes 1024 samples will get sent to the frontend for the current frame, sometimes 1280 as the core either falls behind or overcompensates. As a result, when the frontend tries to synchronise on audio, jitter can occur and if the frontend audio buffer is small (when using low latency values), it can sometimes run dry or reach capacity, causing crackling. 1.9.14 modifies audio handling such that the correct expected number of samples is sent to the frontend in proper synchronisation with retro_run(). This greatly improves audio quality, even on the notoriously crackly Mother 3. To demonstrate the effect of this, here are a couple of figures measured from the core on a Linux desktop with an audio latency setting of 64 ms, averaged over 5k frames: Time spent close to audio buffer underrun: * Current master: 8.68 % * With this PR: 2.37 % In addition, a Miyoo port has also been added.
PPSSPP
- Move audio callback to the main thread (fixes the longstanding hang issues when using OpenGL)
- 64ms on desktop isnt enough due to excess buffering going on in this emulator. Set default to 128ms instead for now.
- Different audio approach is necessary due to the following: it sets a fixed framerate of 60, then sends either too many or too few audio samples per frame in order to force the frontend to run at the correct speed (.e.g. making the frontend run in slow motion for games that run at 30fps) this is undesirable for libretro, we want a consistent amount of audio samples per batch.
Miscellaneous core improvements
Caprice32: [event] changed mouse pointer to absolute position Caprice32: [event] better first the default mouse mode code. Caprice32: [KoS] little fix to avoid render problem on WiiU Caprice32: Should work now on WiiU Caprice32: [KoS] changed to RETRO_DEVICE_ID_POINTER_PRESSED Caprice32: [dsk] clean base Caprice32: [fdc,slots] new loader endian compatible WIP Caprice32: [loader] compatible wiiu basic loader. FBNeo: (libretro) xybots remapping FBNeo: (libretro) llander remapping FBNeo: megadrive update from gab75 FBNeo: nes update from gab75 FBNeo: gijoe: all clones have a 4 players mode FBNeo: gaelco: modernize driver, fix thoop stg. 4 crash FBNeo: atarivad, fix runahead w/some games using this FBNeo: tempest: add some hacks FBNeo: msx update from gab75 FBNeo: d_taitof2.cpp: add Majestic Twelve The Space Invaders Part IV (US) FBNeo: batman, more drums volume, vad offset, ssriders oops FBNeo: xmen6p, note about resetting FBNeo: In Your Face (inyourfa), fix priority FBNeo: ssriders, fix # of players FBNeo: speccy update c/o gab75 FBNeo: galaxian, update pisces date FBNeo: 7z: fix cpp ODR (second attempt) FBNeo: spectrum fix 48ks ay FBNeo: vector, underp mode change FBNeo: video, less derpy mode changes for megadrive, etc FBNeo: grdnstrm: also fix cloness dips FBNeo: grdnstrm: fix dips FBNeo: sms: update Voyage A Sorceress Vacation to 1.05 FBNeo: ssv, buffer spriteram for every game in driver FBNeo: d_namcos2.cpp: added Mirai Ninja (Japan, set 2) [Corrado Tomaselli] FBNeo: d_cps1: marked forgottnj as a prototype, its an unfinished version of the game FBNeo: d_hyperpac.cpp: added New HyperMan (3-in-1 with Cookie & Bibi & Hyper Man) (set 2) [jordigahan] FBNeo: d_cps1.cpp: Fixed 2 players mode DIP switch for sf2cejx and sf2hfj. FBNeo: spectrum update from gab75 FBNeo: williams, add Playball!, fix lottofun FBNeo: lua: fix window not opening after closing a game w/lua console opened FBNeo: cbombers, undrfire: impl. contrast/luma settings as recommended by Tatsuya79 FBNeo: ssv, experimental lag fix plus fix pastelis 2p split screen mode FBNeo: d_m107.cpp: hiscore support FBNeo: ssv, add spritebuffering to stmblade to fix lines in stage 6, cleanup a little FBNeo: experimental cheat fix for midway (mk/umk3/etc) games FBNeo: md, updates from gab75 FBNeo: megadrive palette fix (0 bit ignored) FBNeo: sys16b doesnt have highlights, only shadows. i think? revert if breaks something FBNeo: add ktiger2p [DsNo] Genesis Plus GX: Fetch translations & Recreate libretro_core_options_intl.h mGBA: Add automatic Crowdin synchronization PPSSPP: Reimplement audio Picodrive: Fix loading of SMS/GG ROMs Picodrive: sound, fix ym2612 ladder effect, add option Picodrive: 32x, fix DMA mem-2-mem copying for big endian Picodrive: sound, add ym2612 channel clipping, ladder effect Picodrive: sms, set non-TMR images to region Japan SameBoy: Update the SameBoy core with latest changes SameBoy: Add GB_is_cgb_in_cgb_mode SameBoy: Add memory write callback, optimize memory access with likely/unlikely SameBoy: Add a safe memory read API SameBoy: Initial MBC7 support SameBoy: Mouse controls for MBC7 Yabause/Kronos: Add automatic Crowdin synchronization
Changelog 1.9.14
- ANDROID/PLAYSTORE: Implement MANAGE_EXTERNAL_STORAGE permission
- ANDROID/PLAYSTORE: Bump up SDK level to 30 to comply with Play Store policies
- AUDIO/MIXER: Increase sample buffer padding
- CHEEVOS: Disallow achievements when spectating netplay
- CHEEVOS: Fix need-to-activate achievement logic for non-hardcore
- CHEEVOS: Dont queue rewind re-init if already on main thread
- CHEEVOS: Ignore unofficial achievements unless setting is enabled
- CHEEVOS: Use SSL host when available
- CHEEVOS: Validate hashes for secondary discs in multi-disc games
- CHEEVOS: Ensure placard is initialized on main thread when game has no achievements
- CHEEVOS: Audit achievement settings defaults and visibility
- CHEEVOS: Show error message when no password provided
- CHEEVOS: Use widget for game loaded achievement progress
- CONFIG: Honor config_save_on_exit when Reboot/Shutdown is called
- DISK CONTROL: Focus on current content entry in Disk Control append/insert
- FRAMEDELAY: Auto Frame Delay Improvements swap interval handling, D3DX handling, and delay target resets also on core restart. It should now work with high refresh rates and also with Direct3D 10/11/12 drivers
- INPUT/GYRO/ACCELEROMETER/ANDROID: Re-enable Gyroscope & Accelerometer when RetroArch resumes or regains focus
- INPUT/HID: Fix gamepad disconnect on unrecognized HID device
- LAKKA: Patch to fix keyboard typing
- LAKKA: CD-ROM eject menu item
- LAKKA/BLUETOOTH: Add option to remove pairing
- LAKKA/SWITCH: Disable rumble gain
- LAKKA/SWITCH: Disable cpu scaling, uses its own CPU governor
- LOGGING: Logging cleanups. A bunch of unifications and reformattings (capitalizations, dots, quotes, prefixes etc). Also added a few missing things, such as Run-Ahead error logging and LED interface init logging when it is enabled.
- NETPLAY: Networking should not print country for a local lobby
- NETPLAY: Added setting to allow/disallow players other than the host from pausing the game.
- NETPLAY: Added a sublabel for netplay max connections.
- NETPLAY: Fixed port override macro from not being set immediately after the port setting.
- NETPLAY: Show passworded rooms on lobby
- NETWORK: Make HTTP header parsing case insensitive
- NETWORK/UPNP: Fixed memory leaks
- NETWORK/UPNP: Added a task_queue_wait to prevent executing two nat tasks at once, so its also thread safe now
- NETWORK/UPNP: Switch to a permanent lease time, but request it to be removed when we do netplay_free. Switch to a permanent lease time, but request it to be removed when we do netplay_free.
- NETWORK/UPNP: Only use a single interface for UPnP, return on the first one found instead of iterating over all of them and opening them one by one
- OVERLAYS: Revert changes
- RETROFW: Add OSS audio
- VIDEO/ROTATION: Always return false if rotation cant occur. RETRO_ENVIRONMENT_SET_ROTATION should return false when rotation has been forcefully disabled in frontend, that way the core can decide if aspect ratio should be rotated or not for vertical games. Useful for FBNeo for instance.
- VULKAN: Avoid hard crash when capturing screenshot in emulating mailbox.
- WIIU: Make wiiu_gfx_load_texture code safer
- WIIU: Fix keyboard support.
RetroArch
Libretro
Libretro
TBD
Singleplayer Multiplayer Coop
Game News Posts 84
🎹🖱️Keyboard + Mouse
🎮 Full Controller Support
Very Positive
(6993 reviews)
https://www.retroarch.com
https://store.steampowered.com/app/1118310 
RetroArch Linux [466.28 M]Mesen (1205330) Depot [4.85 M]Mesen S (1222634) Depot [3.98 M]mGBA (1227448) Depot [1.09 M]PCSX ReArmed Linux [1.29 M]Mesen Linux Depot [4.4 M]Sameboy Linux [264.61 K]FinalBurn Neo Linux [55.73 M]Mesen S Linux [2.98 M]Mupen64Plus Next Linux Depot [6.93 M]Kronos Linux Depot [9.48 M]Stella Linux Depot [5.79 M]mGBA Linux 1656170 [1.31 M]Genesis Plus GX Linux [12.06 M]
RetroArch is an open source and cross platform frontend/framework for emulators, game engines, video games, media players and other applications.
While it can do many things besides this, it is most widely known for enabling you to run classic games on a wide range of computers and consoles through a slick graphical interface. Settings are also unified so configuration is done once and for all.
In addition to this, you will soon be able to run original game discs (CDs) from RetroArch. We take videogame preservation seriously and want to ensure you can run your originally bought content on modern day PCs.
RetroArch has advanced features like shaders, netplay, rewinding, next-frame response times, runahead, and more!
Maybe there is no rewind in real life, but there is a rewind in RetroArch! You can go back in time and correct your mistakes!
Seeing things as we remembered was our first priority, so with our Shading feature, you can change colors, smooth pixels or recreate your bedroom TV from 1995!
You think the excitement of playing elbow-to-elbow with friends is a bygone memory? No! With our rollback-based, latency-hiding Netplay, your Player 2 is beside you again! Fight the competition not the lag!
MINIMAL SETUP
- OS: Linux Ubuntu 12.04
- Processor: Intel Pentium 4 and up (CPU with SSE2 instructions required)Memory: 32 MB RAM
- Memory: 32 MB RAM
- Graphics: Any compliant OpenGL 2.x or Direct3D11 GPU. For shaders to work properly. should support at least Shader Model 2.0.
- Storage: 500 MB available space
- OS: Linux Ubuntu 12.04
- Processor: Intel Core series or AMD equivalentMemory: 512 MB RAM
- Memory: 512 MB RAM
- Graphics: Intel: At least Intel HD 4K required for OpenGL. any compliant D3D11 GPU for Direct3D 11. Should support at least Shader Model 3.0 and/or 4.0.
- Storage: 500 MB available space
GAMEBILLET
[ 5949 ]
GAMERSGATE
[ 1903 ]
FANATICAL BUNDLES
HUMBLE BUNDLES
by buying games/dlcs from affiliate links you are supporting tuxDB