In anticipation of RetroArch 1.6.8, let’s detail all the work that has been performed on the libretro cores since the last frontend release (1.6.7).
Themaister came out of retirement to collaborate with byuu on an upstream-friendly libretro-ization of higan. Currently, only the SNES emulator is available, but we hope to extend this to include all of his suite of emulators. Only the mainline ‘accuracy’ profile is available from the Online Updater currently, but we hope to add hex_usr’s ‘balanced’ profile soon. In the meantime, you can get it pre-compiled for Windows from his nSide github repo.
Notably, the higan core includes Super Game Boy support, including all special features, such as borders and music. Instructions for setting it up are here.
raelgc has backported many commits from upstream, including a ton of accuracy and performance improvements.
j-selby has been keeping the libretro core up-to-date with upstream’s amazing progress. The version available in the online updater is lagging behind these updates a bit, since the buildbot is having trouble building it lately, but we hope to have this resolved soon. We also hope to get the recently announced network support hooked up to the libretro core, but no promises there.
notaz provided a massive update to bring the libretro core up to date with upstream. This update included many accuracy improvements, along with some nice features like 68k overclocking.
sergiobenrocha2 did the legwork to merge/update mgba-libretro to match the upstream 0.6.1 release, including a big pile of accuracy fixes from endrift.
hunterk backported qwertymodo’s MSU1 fixes, which should alleviate the crackling that some users reported, especially on Android devices, and he also added RTC support for the recently completed Tengai Makyo Zero (Far East of Eden: Zero) translation.
In addition to this, a hack got backported from Snes9x2010 which should prevent an annoying resolution flicker which occurs when switching from field mode to battle mode in the game Chrono Trigger.
Upstream Snes9x dev OV2 provided a patch to check for invalid VRAM access, which makes Hook work without massive artifacting.
Massive amount of work from mudlord, AIO, bparker and Twinaphex to get the threaded angrylion RDP integrated. It started as a port of the angrylion-plus-rdp plugin, but the libretro version is now quite different, including being a true software renderer (that is, compatible with all video driver backends, including d3d). This plugin is very fast in Windows, reaching full speed on relatively modest CPUs, while Linux is only slightly faster than non-threaded angrylion. We hope to identify what’s holding back performance on non-MSVC compilers in the near future.
hiddenasbestos brought the libretro port up to parity with upstream
v0.9.47 v0.9.48, which gives a few ton of nice accuracy improvements and the much-awaited savestate support (savestates made with the v0.9.47 version are not compatible with the v0.9.48 update, so beware if you made a bunch of states in the short time between updates). Tatsuya79 and retro-wertz provided a number of improvements to the overscan and cropping behavior.
bkoropoff and simias did a lot of work on the CD reading code, including reduced stuttering during reading and a core option for increased CD loading speed. This *greatly* reduces the loading times on games, from the standard 15-30 seconds down to as low as 2-3 seconds. Do note that this is very much an experimental feature though, and it won’t work correctly for all games. r5 also added the ability to use unsupported BIOS files, which should make the core a little less picky about BIOSes. simias also backported new and improved triangle code from upstream, which unfortunately causes some issues with the PGXP features in some games. Zapeth also added support for CHD files.
retro-wertz aded support for cheevos/RetroAchievements.
r-type continued his fantastic stewardship of the up-to-date MAME core, keeping it in lockstep with upstream releases.
Oggom backported support for the awesome sidescrolling Cave shmup Akai Katana, support for which was just added to upstream mainline MAME.
gamez-fan has been backporting dozens of patches and drivers from later versions of MAME to make more games work (or work better) with this core. markwkidd also fixed up a lot of the core’s reporting to correctly distinguish between working and nonworking games.
gamez-fan added in some speedhacks and fixed Rampage World Tour for this low-power spinoff of mame2003.
Final Burn Alpha
barbudreadmon continued his stewardship of Final Burn Alpha, bringing in many fixes from upstream and fine-tuning controls for specific problematic games.
sergiobenrocha2 backported many fixes from the mainline FBA core for this low-power spinoff.
tschak909 added support for loading VIC-20 games. r-type improved screen resizing and handling for PAL/NTSC regions.
frranck greatly improved the AI in MrBoom, making it possibly the most advanced Bomberman AI in existence.
meepingsnesroms added disk swapping and, along with Tatsuya79, provided some nice quality of life improvements for this core, including machine auto-selection.
AZO234 added a number of improvements to this core, including support for more disk formats (floppy and SCSI HDD), sound fixes and new soundcards and better savestate support.
Genesis Plus GX
nukeykt added a fantastic, cycle-accurate sound core. The older, MAME-derived core is still available for low-power devices. bkoropoff also added support for overclocking and the ability to remove per-line sprite limits (i.e., the cause of sprite-flickering).
leiradel fixed some issues with high scores not updating properly and controller popups appearing behind game sprites.
retro-wertz continued his work on this core, providing many fixes and updates for the mapper code, as well as greatly improving the Zapper functionality.
radius worked with LIJI32 to get the libretro-ization upstreamed in this extremely accurate Game Boy emulator. radius also hooked up savestates and SRAM/in-game saves, along with a variety of options that weren’t previously exposed to the libretro port, such as audio and video tweaks and rumble, while leiradel added cheevos/RetroAchievements support.
radius worked to keep this core in lockstep with upstream. hunterk fixed an issue that was causing the red and blue color channels to be swapped and also closed a significant memory leak.
moose65468 fixed loading Dragon Quest 5.
meepingsnesroms added support for 2x overclocking, while rdanbrook added preliminary Famicom Mic support (get ready to yell at those Pols Voices) and Tatsuya79 provided some edge-case fixes for Zapper functionality.
nanoant fixed building on Android and made the core look for BIOS ROMs in the libretro ‘system’ directory, which puts this core more in-line with good libretro behavior. Meanwhile, r-type added support for more keys.
Twinaphex collaborated with hrydgard to get an updated PPSSPP core ported over and to upstream a few things that should make it easier for the libretro port to stay up-to-date.
meepingsnesroms fixed some polygon issues and radius fixed building this core for Windows. However, it’s still not something people should use on non-ARM hardware for general purposes.
Tatsuya79 fixed an annoying key-repeat bug.
Across many cores, bparker added support for Travis continuous integration, so we can better determine whether commits will break building on the many platforms we support, yoshisuga added support for arm64 builds on iOS targets and radius added support for mapping cores’ keyboard keys to the retropad, which is very useful for classic computing cores. Also, retro-wertz fixed a bug that prevented the beetle-* cores from cleaning up after themselves when loading zipped ROMs.