Libretro Core Updates/Progress Report – April/May 2021

PCSX2

* Added widescreen, speedhacks options and some userhacks, some code refactoring and cleanup
* Added core option to force widescreen
* Refactoring of core options based on libretro standard
Added option to set pcsx2 Accurancy/Speed presets
* Added bios list at runtime to libretro options
* Fixed speedhacks presets option
Added fallback to default safe preset if speedhack option is disabled
Code cleanup
* Added userhack options: Align Sprite and Merge Sprite
* Fixed a problem which prevented to select the correct HW renderer
Fixed null renderer problem that, if selected, freezed the frontend
* Fixed the rumble issue where it doesn’t stop when triggered
* Add CHD support
* Added option to disable gamepad rumble
* Added option to set rumble intensity
* Replace “Force Widescreen” option with “Aspect Ratio” option
* Add ‘Enable Widescreen Patches’ option
* Added option to set System Language per game
* Added support for scph39001 bios
* Added function for sending message notifications to frontend
* Added notification to frontent about widescreen patches found or not found for the loaded content
* Improved reliability of BIOS detection for language injection
* Added language support for all EU and NA BIOS
* Fixed a memory access violation during init
* CDVD: Adjust read speed depending on if in inner/outer edge. This fixes a number of CDVD timing issues, e.g. the missing sound in Klonoa 2.
* GameDB: Remove SkipmMPEG patch for Arctic Thunder. Removes a GameDB hack for Arctic Thunder as it’s no longer needed thanks to the above CDVD improvement.
* IPU: Return contents of the bottom of the FIFO in CMD except FDEC/VDEC. Fixes the FMVs in Shox.

Update policy for this core
This core is maintained by libretro.

DuckStation core

The DuckStation core is back! This is the upstream version authored by Stenzek.
DuckStation is a PlayStation1 emulator core.

Update policy for this core
This core is maintained by upstream.

SwanStation core

This is a fork of DuckStation maintained by others. It is based on slightly older code. Libretro is not directly involved in this as an entity.
SwanStation is a PlayStation1 emulator core.

Some things that were added recently to this include software rendering upscaling support.

Update policy for this core
Up to the authors of this core, Libretro does not have an official policy on this core.

FCEUmm

FCEUmm is a Nintendo Entertainment System / Famicom emulator core.

Some update notes (from NewRisingSun):

A number of submappers have been assigned to mapper 176 (https://wiki.nesdev.com/w/index.php/INES_Mapper_176) based on real-hardware tests. This update rewrites the mapper 176 emulation accordingly and adds all affected ROM images knownst to me to the ines-correct.h database. I made sure that I have every mapper 176 ROM file that previously was in ines-correct.h.

UNIF files remain a problem, since the UNIF file loader does not use that database, and the four UNIF MAPRs (BMC-FK23C, BMC-FK23CA, BMC-Super24in1SC03, WAIXING-FS005) do not neatly correspond to the actual hardware variants. For example, several BMC-FK23C(A) are actually FS005. The heuristic that I used works for all UNIF files that I had in my possession.

Another issue is the DIP switch. Some carts act quite erratically when the address mask changes on every soft reset, and the old code to decide that did not work well for .NES files. (And “BMC-FK23CA”, previously described as explicitly denoting a DIP switch, is used for a few carts that do not like DIP switch changes between resets at all.) I introduced a new heuristic that worked for all files in the database. The problem remains that the code does not know up to which value the address mask should shift, so that “76 in 1 CHEER – TECH” acts strangely from the fourth to the eighth reset. I see no way of solving this short of creating a database of valid DIP switch positions for every known file hash. (I have done such a thing for NintendulatorNRS.)

Finally, a small number (I counted two) homebrew multicarts from nesbbs no longer work with the newer, more hardware-accurate emulation. “Homebrew multicarts” here refers existing multicart ROMs modified to replace one or two games, and make make changes to the menu code to work better in some other emulators.

* A Pixel Perfect (PAR 1:1, DAR 16:15) option was added.

* Should now handle paths with special characters when using Windows.

FreeIntv

FreeIntv is an Mattel Intellivision emulator core.

Several major improvements have been made to this core recently thanks to nanochess.

* Corrected bug in Overflow flag for SUB/CMP.
* Corrected scrolling visuals for several games (adding timing count for STIC).
* Corrected several instruction timings and interruption timing.
* Now the following games look and/or scroll correctly:
– Cloudy Mountain
– Tower of Doom
– Mountain Madness Skiing
– Super Pro Decathlon
– Stadium Mud Buggies
– Hover Force
* Solved bug in border color. Implemented STIC screen disable.
* Shows explanation if GROM and EXEC are missing.
* HALT and undefined instructions shows a message instead of exiting.
* Corrected position of messages for cartridge load.
* Solved bug in STIC border collision and optimized it

Update policy for this core
This core is maintained by libretro.

prboom

prboom is a Doom 1/2 game engine core.

* PS2 support has been added.

Update policy for this core
This core is maintained by libretro.

FUSE

FUSE is a ZX Spectrum Emulator core.

* Fix ‘Some +3 .dsk don’t load if they use more than 40 tracks’ issue – fixes Sword of Ianna.
* Do not autoload tapes on Scorpion – fix for the issue of autoloading tapes freezing the Scorpion 256 machine type.

It basically disables autoload when loading a tape image (TAP or TZX) with a Scorpion machine. The tape has to be loaded manually by entering the BASIC interpreter and typing load “”

Update policy for this core
This core is maintained by libretro.

Beetle PSX

Beetle PSX is a PlayStation1 emulator core.

* Dynarec updates

Update policy for this core
This core is maintained by libretro.

O2EM

O2EM is a Magnavox Odyssey 2 emulator core.

Standalone O2EM can emulate The Voice expansion module using wav sound samples that the user must place in a specific folder, similarly to what happens with the bios. The libretro port, however, didn’t include The Voice support, as the corresponding code was simply disabled.

The Voice emulation has now been ported to work in a libretro context, using libretro-common’s own audio mixer to load and play the sound samples, which should be placed in a voice folder under the usual System folder.

NOTE: This feature has not been enabled for every platform, but most non-memory constrained platforms should incorporate it now.

External RAM is now exposed through RETRO_MEMORY_SYSTEM_RAM, right after the internal RAM. This memory map is virtual, as the console itself accesses the two RAMs using specific instructions instead of mapping them to a single address space.

Update policy for this core
This core is maintained by libretro.

PokeMini

Before, the core has a Turbo A button with a fixed rate of four presses per second. Now, the turbo period is configurable via a new Turbo Button Period core option. Increasing the period to 0.5-0.75 seconds makes it much easier to speed through rounds of Pokémon Zany Cards without accidentally triggering unwanted input.

Update policy for this core
This core is maintained by libretro.

DOSbox Pure

DOSbox Pure is an MS-DOS/Windows 9x emulator core.

General updates along with a PS Vita port now.

Dolphin

Dolphin is a GameCube/Wii emulator core.

* Add Fast Depth Calculation option

This option is useful for certain games for which having Fast Depth Calculation enabled causes texture issues. For example, disabling Fast Depth Calculation restores the missing text in Def Jam: Fight for NY.

Update policy for this core
This core is maintained by libretro.

gpSP

gpSP is a Game Boy Advance emulator core.

Tons of updates:

* Fix palette writes in MIPS –

Was not writing to the right address (but decoded memory was working).
Most game worked well except those that depend on modifying the existing
palette bits (instead of copying from ROM/RAM). Fixes several games.

* Fix RTC support for MIPS

* Fix Vita port and likely some Linux/Android hidden issues –

Using an invalid SP makes Vita crash (for an unkown reason) and makes
things like C signal handlers crash (luckily Retroarch doesn’t use
them). It is also a violation of the ABI and not a great idea.
Recycled some little used registers to free SP. Perf should be roughly
the same.

* Fix invalid memory map entries

* Adding Code Breaker cheat support –

This works on both interpreter and dynarec.
Tested in MIPS, ARM and x86, still needs some more testing, some edge
cases can be buggy.

* Fix aligned32 reads in interpreter mode –

An address check was missing to read aligned 32 (stm/ldm) data from
high mem areas (0xX0000000). This fixes SM4 EU that for some reason has
some weird memory access (perhaps a bug?)

* Small optimization (~2-4%) and whitespace cleanup! –

Cleans up a ton of whitespace in cpu.c (like 100KB!) and improves
readability of some massive decode statements.

Added an optimization for PC-relative loads (pool load) in ROM (since
it’s read only and cannot possibily change) that directly emits an
immediate load. This is way faster, specially in MIPS/x86, ARM can be
even faster if we rewrite the immediate load macros to also use a pool.

* Add dedicated RetroPad fast-forward button

* Fix ARM dynarec unaligned 32 bit loads –

This might make a handful games slightly slower (but on the upper side
they work now instead of crashing or restarting).
Also while at it, fix some minor stuff in arm stubs for speed.

* Add ROM mirroring and fix mult. cycle count –

This should correct some minor issues in some games.

* Add turbo A/B buttons

Update policy for this core
This core is maintained by libretro.

Beetle Saturn

Beetle Saturn is a Sega Saturn emulator core.

* Backport VDP2 render thread ‘busy wait’ performance fix
* Fix hang on boot when rewind or runahead is enabled
* Prevent hang when launching Blast Wind

Update policy for this core
This core is maintained by libretro.

bsnes

bsnes is a Super Nintendo/Super Famicom emulator core.

* Refactor and upgrade Core Options (version 1.3) with sublabels and translation support

Update policy for this core
This core is maintained by libretro.

SMS Plus GX

SMSPlus GX is a Sega Master System/Game Gear emulator core.

* SMS: Center the image when remove border option is enabled
* Merge recent changes from upstream

Update policy for this core
This core is maintained by libretro.

LRMAME 2000

LRMAME2000 is an arcade emulator based on an old version of MAME circa 2000.

* Changed /samples dir to be in the system directory (parity with other MAME cores)

LRMAME 2003

LRMAME2003 is an arcade emulator core based on the original MAME 0.78 source code base .

Contra protection improvements –

furrtek Added Konami 007452 multiplier/divider fixes rolling mines trajectories in contra

Rather than add a whole new device im just hooking it directly into the Contra driver for this core. Combat School Flak Attack and WACLeMans also use this but for now im focusing on Contra as the game improvements are known

Whereas with the others the benefits over the original simulations are not as yet known if indeed there are any.

Update policy for this core
This core is maintained by the LRMAME2003 Plus team.

Mesen

Mesen is a Nintendo Entertainment System/Famicom emulator core.

* Fix Twin Dragons support. Also fixes Mystic Origins.

Update policy for this core
This core is maintained by the Libretro team.

Stella 2014

Stella is an Atari 2600 emulator core.

Before, the core supported analog paddle input when using gamepads (#71), with relative paddle motion corresponding to analog stick displacement.

Unfortunately, this is incompatible with real, physical paddles (Stelladaptor, iCode, etc.) , which require absolute positioning to function correctly.

Now, it enables support for these devices by adding a new virtual controller type. In Quick Menu > Controls > Port x Controls, Device Type can be set to Gamepad for regular input, or Paddles (Stelladaptor) for real paddle input.

When Paddles (Stelladaptor) is selected, inputs are mapped as follows (this is the normal convention for Atari controller adaptors):

Port 1:

P1 Fire: RetroPad A
P1 Wheel: RetroPad Left Analog X
P2 Fire: RetroPad B
P2 Wheel: RetroPad Left Analog Y
Port 2:

P3 Fire: RetroPad A
P3 Wheel: RetroPad Left Analog X
P4 Fire: RetroPad B
P4 Wheel: RetroPad Left Analog Y

Note that 4-player games are now supported.

Update policy for this core
This core is maintained by the Libretro team.

FBAlpha 2012 CPS3

This is a cut-down version of FBAlpha 2012. Only CPS3 emulation support has been kept in this core. It is mainly meant to be used with Capcom Play System III games.

* (3DS) Use custom memory allocator

Re-implement custom memory allocator initially from FBAlpha 2012 Neogeo.

Update policy for this core
This core is maintained by the Libretro team.

Other updates

* Atari800 (Update strategy: Maintained by Libretro)
* bsnes HD (Update strategy: Upstream)
* DOSbox Core (Update strategy: Maintained by RealNC)
* EasyRPG (Update strategy: Upstream)
* FBNeo (Update strategy: Upstream)
* LRMAME (Update strategy: Maintained by Libretro – updated to 0.330)
* LRMAME2003 Plus (Update Strategy: Maintained by LRMAME2003 Plus team)
* Mupen64Plus Next (Update Strategy: Maintained by m4xw)
* Picodrive (Update strategy: Maintained by Libretro)
* PPSSPP (Update strategy: Upstream)
* PX68K (Update strategy: Maintained by Libretro/NegativeExponent)
* Kronos (Update strategy: Upstream)
* Stella (Update strategy: Upstream)
* UAE (Update strategy: Maintained by Libretro)
* VICE
* VBA-M (Update Strategy: Maintained by Libretro/NegativeExponent)

If we forgot any updates to any core during this period, let us know and we will update this article. Thanks.

Libretro Cores Updates – PCSX2 Alpha release for Windows and more!

PCSX2 Alpha core available for Windows now!

Today we’re releasing an alpha version of the PCSX2 libretro core on the buildbot. It’s available for Windows only right now, but the same core has been tested to work on Xbox One/Series systems as well.

Important things to know

  • Create the following directory in your system directory – “pcsx2”. You can put all the asset files there from your regular PCSX2 install. See pic below for an example.

    You need a working BIOS inside /pcsx2/bios. PCSX2, unlike Play!, will not work without a real BIOS.

  • It’s still an alpha version. Things are rough around the edges. Expect bugs and things to be incomplete.
  • There’s a working OpenGL renderer and a Direct3D11 renderer option. Direct3D 11 renderer can be faster than OpenGL but also has less features. Pick whichever works best for you. On Xbox you will only be able to use Direct3D11 anyways.
  • This core uses the x86_64 dynarec which was added to PCSX2 a year ago. It is still less compatible than the 32bit x86 dynarec in PCSX2, so keep that in mind. It’s for similar reasons that the software renderer right now won’t work (it’s not compatible yet with x86_64, not in upstream either).
  • There’s a bug that can happen right now upon closing content or exiting RetroArch with the PCSX2 core on Windows – the RetroArch process might not completely cleanly shut itself off and you might still be able to see a 0% CPU process remaining in the Task Manager. We have not been able to figure out how to fix that yet as the PCSX2 codebase is a definite case of ‘here be dragons’, but for now when this happens, you can just bring up the Task Manager and close it manually. It shouldn’t have a real detriment on performance but it is of course far from ideal and hopefully something we can fix soon with the help of some contributors. We have found this happens the most with the Direct3D 11 renderers.
  • Switching resolution at runtime right now can be a bit unstable, so does switching fullscreen resolution. We might just make resolution switching require a restart since this tends to be too unstable for now.

Update policy for this core
Hard-forked core for now. Govanify is going through many (necessary) refactors in PCSX2 upstream to make the code more portable, and he has also expressed his interest in an upstreamable libretro core somewhere down the line when the final refactoring of the GUI is complete. So either of two things can happen when that happens, if this is more closely aligned to upstream core is better in every way including performance, this will be replaced. If not, we will likely have two cores, one being the upstream-friendly core and this being the hard-forked one. As of this moment a lot of work remains to be done on PCSX2 to sort out all the internals that are chockful of nonportable code. Therefore, for now, the experimental PCSX2 core kinda is doing its own thing. PCSX2 still has a lot of inherently nonportable code in it, from WxWidgets to libglib. It’s for that reason that we don’t have a Linux core yet on our buildbot. We hope that we will be able to figure out a proper portable core for Linux users soon.

Expect a lot of Quality of Life enhancements to this core soon. We wanted to share this with you now rather than sit on it for even longer, now that it’s on the buildbot we can at least push regular updates to it, people can report issues and developers can contribute. Everyone wins.

Play! (experimental PlayStation2 emulator) is back on the buildbot!

The Play! libretro core is back on our buildbot! It took some time for this to be readded to our modern new buildbot but here it is!

Available right now for: Android (AArch64/ARMv7/x86), macOS (Intel), Linux (32bit/64bit), and Windows (32bit/64bit).

Update policy for this core
Upstream. Updates are pulled straight from the upstream repository.

DuckStation/SwanStation core updated

The DuckStation/SwanStation core has been updated to a build from a week ago.

Update policy for this core
This will remain a shallow fork and attempts are being made to make the surface area for patches small so that we can easily pull in updates. Some new contributors have jumped onboard and they want to ensure this core remains updated.

Mainline MAME available for iOS11 and up/tvOS !

The mainline MAME core is now available for iOS and tvOS users! It is also available for Mac Intel x64 users, and we hope that we can make it available for ARM Mac users soon as well.

Also important to note we will be updating to version 0.330 soon.

Update policy for this core
This is pretty much a shallow fork. It just attempts to pull in the latest changes from upstream without making many changes.

gpSP (Game Boy Advance emulator)

Many changes have been made under the hood to significantly increase performance of gpSP. One of the big changes that led to at least a 5-6% performance improvement was the removal of libco (a library used for cooperative threading). 3DS users especially should be in for a treat with gpSP, but realistically everyone benefits across the board, whether you’re on an ARM or x86 system. We can quite comfortably state you will be hard pressed to find a better and more well performing version of this emulator anywhere else right now.

* Support for generic MIPS (including Dingux)
* Built-in BIOS that ships internally and requires no external files/dependencies
* Removal of libco (5-6% perf or so) and some performance fixes for x86/arm/mips (for perf)
* Fixed the x86 dynarec and the ARM dynarec, that were pretty much broken. Good speedups (or power savings on portable devices)

Immediate roadmap for gpSP: PS2 support (coming soon (TM)), rumble and tilt sensor support, AARch64 dynarec (mid-term goal)

One caveat right now is that these changes have unfortunately caused it to no longer work on PS Vita. However, the plan is to fix this soon, and for this to be only a temporary thing.

Update policy for this core
Hard fork, self-maintained.

Picodrive (Sega Mega Drive/Master System/Sega CD/32X emulator)

This has received many speed improvements and enhancements courtesy of irixx, 32X support has seen plenty of improvements, and the results speak for themselves. Works wonderfully on OpenDingux-based devices and PS Vita, some of the lower end systems out there.

A separate blog article might be written about all the changes soon.

Update policy for this core

Hard fork, self-maintained

FCEUmm (Nintendo Entertainment System emulator)

Some important new updates from New Rising Sun that adds more mapper support (PR notes are his):

Add features to mapper 332/BMC-WS:

  • implement additional outer bank bit to support multicarts twice as large as WS-1001 (“Super 40-in-1”)
  • implement CNROM-128/-256 mode using two or four inner banks switched via CNROM-like latch at CPU $8000-$FFFF
  • implement solder pad/DIP switch change via soft-reset, resulting in different multicart menus
  • soft-resetting resets to menu as on real hardware, not just the currently-selected game.
    Tested with the HH-xxx series of multicarts, some of which available on LIBG, as well as the previously-supported WS-1001.
  • I wanted to add a couple of multicart mappers that use the J.Y. Company ASIC and fix a few bugs while doing so. I ended up rewriting the whole thing by porting the code from NintendulatorNRS. This improves the modularity of the code by wrapping the PRG and CHR sync functions with mapper-specific ANDs and ORs, which is necessary for multicart use, and hopefully improves the readability (though I understand that’s a matter of taste). Previous save states had to be invalidated in any case since the previous code only saved four of the eight CHR LSB registers.

    Source organization changes:

    Combine duplicate code from 90.c, bmc13in1jy110.c and sc-127.c into one new file jyasic.c.
    Features/corrections:

    Window text not shown at the beginning of Tiny Toon Adventures 6 (“Baabs is dreaming about becoming an actress”).
    Bad cursor sprite on “Mighty Morphin’ Power Rangers III”‘s title screen.
    Some mapper 295 multicarts not working, such as SC-126.
    Added Adder to ALU (not used by any game).
    Add IRQ mode 3 (writes to CPU address space).
    Save all eight CHR LSB registers (previous code only saved the first four).
    Ignore writes to x800-xFFF except 5800 and C800, needed for Final Fight 3 on SC-128.
    Allow DIP setting to be read from all possible locations: 5000, 5400, 5C00, necessary for a few multicarts.
    Adds the following mappers: 282, 358, 386, 387, 388, 397, 421.

    Remaining issues:

    IRQ timing is not as perfect as the NintendulatorNRS code from which it was taken, which had been verified against real hardware. This is due to there not being a true “PPU Read Handler” in the mapper interface (as far as I can see), and PA12 timing in the core PPU emulation being not accurate enough to replace the “clock IRQ eight times per horizontal blanking” solution that I kept from the previous code.
    There remains one J.Y. ASIC-using mapper: 394, which mounts both the J.Y. ASIC and an MMC3 clone and uses extra register bits to switch between the two. That is a bit difficult to code and will be for another day.
    Successfully tested with:
    Mapper 35:
    Warioland II (JY039)

    Mapper 281:
    (晶太 JY-052) 1996 Super HiK 4-in-1 – 新系列阿拉丁雙Ⅲ组合卡
    (晶太 JY-052) 1997 Super HiK 4-in-1 – 新系列叢林泰山組合卡
    (晶太 JY-053) 1996 Super HiK 4-in-1 – 新系列獅子王超强组合卡
    (晶太 JY-054) 1996 Super HiK 4-in-1 – 新系列快打旋風Ⅱ组合卡
    (晶太 JY-054) 1997 Super HiK 4-in-1 – 超級新系列大金鋼4代組合卡
    (晶太 JY-055) 1996 Super HiK 4-in-1 – 新系列阿拉丁Ⅲ.致命武器組合卡
    (晶太 JY-066) 1996 Power Rangers HiK 4-in-1 – 新系列金鋼戰士專輯組合卡
    (晶太 JY-066) 1997 Power Rangers HiK 4-in-1 – 新系列金鋼戰士專輯組合卡
    (晶太 JY-068) 1996 Super HiK 3-in-1 – 新系列阿拉丁Ⅲ.激龜Ⅲ組合強卡
    (晶太 JY-080) 1996 Super HiK 3-in-1 – 新系列中國兔寶寶全輯組合卡
    (晶太 JY-088) 1996 Super HiK 5-in-1

    Mapper 282:
    (晶太 JY-062) 1996 Super Mortal Kombat Ⅲ Series – 新系列真人快打三代組合卡 18-in-1
    (晶太 JY-064) 1996 新超強 18-in-1 阿拉丁組合系列卡 – Super Aladdin Ⅲ Series Card
    (晶太 JY-069) 1996 Super HiK 4-in-1 – 新系列忍Ⅲ.沼澤怪獸組合卡
    (晶太 JY-070) 1996 Super HiK 3-in-1 – 新系列眞人Ⅲ.兔寶寶組合強卡
    (晶太 JY-071) 1996 Super HiK 3-in-1 – 新系列眞人Ⅲ.小新2.明王組合卡
    (晶太 JY-079) 1996 Super HiK 3-in-1 – 新系列眞人Ⅲ.金鋼4.蜜蜂組合卡
    (晶太 JY-084) 1996 Photo Gun 9-in-1
    (晶太 JY-098) 1997 Super HiK 6-in-1
    (晶太 JY-101) 1997 Super HiK 18-in-1
    (晶太 JY-105) 1997 Super HiK 21-in-1
    (晶太 JY-114) 1998 Super HiK 5-in-1
    (晶太 SC-128) Super 25-in-1 Final Fight
    (晶太 SC-130) Super Photo-Gun 13-in-1

    Mapper 295:
    (晶太 JY-010) Super Ball Series 18-in-1
    (晶太 JY-014B) 1996 Soccer 7-in-1 – 足球專輯 (rev0)
    (晶太 JY-014B) 1996 Soccer 7-in-1 – 足球專輯 (rev1)
    (晶太 JY-050) 1997 Super HiK 8-in-1 (rev1)
    (晶太 JY-095) 1997 Super HiK 4-in-1
    (晶太 JY-096) 1997 Super HiK 7-in-1
    (晶太 JY-097) 1997 Super HiK 8-in-1
    (晶太 JY-099) 1997 Super HiK 4-in-1
    (晶太 JY-100) 1997 Super HiK 5-in-1
    (晶太 JY-109) 1997 Super 9-in-1
    (晶太 JY-110) 1997 Super 13-in-1
    (晶太 SC-126) 方塊專集 HiK Block 14-in-1

    Mappers 90/209/211:
    (晶太 CK-124) Super HiK 8-in-1
    (晶太 JY-118) 1998 Super 3-in-1
    (晶太 JY-120A) 1998 Super 45-in-1
    (晶太 JY-122) 115 超強合卡
    Aladdin – 阿拉丁
    Aladdin III, Popeye II꞉ Travels in Persia
    Contra Spirits (1995)
    Donkey Kong Country 4
    Final Fight 3
    Mickey Mania 7
    Mighty Morphin’ Power Rangers III
    Mighty Morphin’ Power Rangers IV꞉ The Movie
    Mike Tyson’s Punch-Out!! (JY021)
    MK3 – Special 56 Peoples
    Mortal Kombat 2-in-1
    Mortal Kombat II Special
    Super Aladdin꞉ The Return of Jafar
    Super Mario & Sonik 2 (rev1)
    Super Mario World
    Super Mortal Kombat 2-in-1
    Tiny Toon Adventures 6
    中國兔寶寶 Rabbit
    真 Samurai Spirits 2꞉ 覇王丸地獄変
    鉄拳 – Tekken 2

    mappers 358/386/387/388/397/421:
    (晶太 JY-016) 1997 Super Game 7-in-1
    (晶太 JY-056) 1996 Super HiK 4-in-1 – 新系列真人快打Ⅱ特別版 (rev0)
    (晶太 JY-056) 1996 Super HiK 5-in-1 – 新系列眞人快打Ⅲ56人特別版 (rev1)
    (晶太 JY-082) 1996 Soccer 6-in-1
    (晶太 JY-087) 1996 Super HiK 4-in-1
    (晶太 JY-089) 1996 Super HiK 4-in-1
    (晶太 JY-090) 1996 Super HiK 5-in-1
    (晶太 JY-093) 1996 Super HiK 4-in-1
    (晶太 JY-094) 1996 Super HiK 4-in-1
    (晶太 JY-113) 1998 Super HiK 5-in-1
    (晶太 JY-117) 1998 Super HiK 6-in-1
    (晶太 SC-129) 98 街頭快打格鬥 15-in-1

    bSNES HD Beta/bsnes mainline available for iOS/tvOS/ARM64 Mac

    Widescreen SNES emulation on your iDevice and ARM Mac is now available!

    Update policy for this core
    Upstream, gets built straight from DerKoun’s upstream repository.

    Genesis Plus GX Wide available for iOS/tvoS/ARM64 Mac

    Another welcome addition to the Apple fold – the widescreen-enhanced version of Genesis Plus GX! For more on that, read this article here.

    Update policy for this core
    Hard fork, as it makes many sweeping changes to Genesis Plus GX to achieve widescreen support, which would make resyncing with upstream very hard to do.

    Other cores which have received updates

    Here is a list of other cores that have received updates, but for which we cannot post any changelogs due to lack of time. We might go into some more of the changes here later on.

    Beetle PSX
    FB Neo
    MAME 2003 Plus
    VICE
    P-UAE (Amiga emulator)