RetroArch 1.8.4 released! (Plus – new Lakka updated to 1.8.4 imminent!)


RetroArch 1.8.4 has just been released.

Grab it here.

Remember that this project exists for the benefit of our users, and that we wouldn’t keep doing this were it not for spreading the love with our users. This project exists because of your support and belief in us to keep going doing great things. If you’d like to show your support, consider donating to us. Check here in order to learn more. In addition to being able to support us on Patreon, there is now also the option to sponsor us on Github Sponsors! You can also help us out by buying some of our merch on our Teespring store!

New Lakka release soon with version 1.8.4


Shortly following the release of RetroArch 1.8.4, you should expect a new version of Lakka for Tier 1 systems with this brand new version of RetroArch! We will update this post when the release happens.

Important bugfixes/crashes

Several important bugfixes/crashes have been fixed. See the Changelog below for more details.

Disk Control Improvements

Written by jdgleaver
While the current disk control interface is somewhat adequate for changing PlayStation1 CDs halfway through a 60 hour RPG, it provides a very miserable experience when running content with high numbers of disks that require frequent swapping (e.g. Amiga floppy games). This version addresses the issue with the following QoL (Quality of Life) improvements:

  • The Disk Control menu is now context aware, and only shows appropriate entries. i.e.
    • Cycle Disk Tray now becomes Eject Disk or Insert Disk depending upon current drive state
    • Current Disk Index is only shown when the current disk has been ejected
    • The old Insert Disk entry has been changed to Load New Disk, and is only shown when a disk is currently inserted (this is because loading a new disk from the filesystem – i.e. bypassing the m3u playlist disk index interface – automatically ejects and inserts disks, and so cannot be done while the virtual drive is empty)
  • The Current Disk Index may now be set more easily via a drop-down list.
  • Selecting Eject Disk automatically moves the menu selection to the Current Disk Index entry
  • Selecting an index via the Current Disk Index drop-down list automatically moves the menu selection back to Insert Disk
  • The Disk Control entry sublabels have been changed for greater clarity
  • All of the horrendous notification spam has been removed. Notifications are now only shown in the event of an error, or when the menu itself does not provide sufficient visual feedback (note that using hotkeys to swap disks still produces the old style notifications, since this is typically only done while content is running – i.e. no menu). The duration of disk-related info notifications has also been reduced to a more sane level.
  • A new Resume content after changing disks option has been added under Settings > User Interface. When enabled (default setting), content is resumed automatically after selecting either Insert Disk or Load New Disk (when disabled, the menu remains open, obviously…)
  • Bug fix: The Disk Control menu now has the correct title (!)
  • Bug fix: Selecting a disk via the Load New Disk file browser no longer flushes the user back to the top level menu (it now correctly returns to the Disk Control menu)

The Disk Control menu now looks something like this:

‘Clean Playlist’ option

Written by jdgleaver
Problem: If you add a bunch of games to your playlists, and then remove some individual games from the file system, you’ll end up with outdated playlists. There will be games that are listed in the playlist, but the file is no longer there.

Solution: We have added new Clean Playlist option to the Playlist Management menu. When selected, this does the following:

  • Removes any entries corresponding to content that no longer exists on the filesystem
  • Validates core associations:
    • If a core is no longer installed, the core association is reset
    • If the core_name/core_path are incomplete or incorrectly formatted, the core association is reset
    • If the core association is valid, the core_name is updated to the latest core info file display name, if required
  • Removes any duplicate entries

Note that this process can be slow for very large playlists (the duplicate checking is quite intensive…)

Changelog

1.8.4

  • ANDROID/BUGFIX: Prevent crash when Android device is minimized and you go back to the app
  • CAMERA/BUGFIX: Fix crash when a core requires the camera driver and the platform only has a null driver. This would crash mgba on Wii for example
  • DISK CONTROL: Cycle Disk Tray now becomes Eject Disk or Insert Disk depending upon current drive state
  • DISK CONTROL: Current Disk Index is only shown when the current disk has been ejected
  • DISK CONTROL: The old Insert Disk entry has been changed to Load New Disk, and is only shown when a disk is currently inserted (this is because loading a new disk from the filesystem – i.e. bypassing the m3u playlist disk index interface – automatically ejects and inserts disks, and so cannot be done while the virtual drive is empty)
  • DISK CONTROL: The Current Disk Index may now be set more easily via a drop-down list
  • DISK CONTROL: Selecting Eject Disk automatically moves the menu selection to the Current Disk Index entry
  • DISK CONTROL: Selecting an index via the Current Disk Index drop-down list automatically moves the menu selection back to Insert Disk
  • DISK CONTROL: The Disk Control entry sublabels have been changed for greater clarity
  • DISK CONTROL: All of the horrendous notification spam has been removed. Notifications are now only shown in the event of an error, or when the menu itself does not provide sufficient visual feedback (note that using hotkeys to swap disks still produces the old style notifications, since this is typically only done while content is running – i.e. no menu). The duration of disk-related info notifications has also been reduced to a more sane level
  • DISK CONTROL: A new Resume content after changing disks option has been added under Settings > User Interface. When enabled (default setting), content is resumed automatically after selecting either Insert Disk or Load New Disk (when disabled, the menu remains open, obviously…)
  • DISK CONTROL/BUGFIX: The Disk Control menu now has the correct title
  • DISK CONTROL/BUGFIX: Selecting a disk via the Load New Disk file browser no longer flushes the user back to the top level menu (it now correctly returns to the Disk Control menu)
  • LIBNX/SWITCH: Updated libnx integration to v3.0.0. This also cherry-picks libnx commit 583d6bb92dcbb33b6bb4a0fa1a9df6e3725d6ef6, which should fix the requirement having to turn rumble off and on in the system settings once per reboot
  • PLAYLISTS: Add ‘Clean Playlist’ option

bsnes HD beta core – Pushing the limits of the SNES! Widescreen and Ultrawide support!

DerKoun shares with us a special new core called bsnes HD beta. This is a cutting edge version of bsnes that is jam packed with enhancement features! Note that many of these enhancement features, such as the widescreen features, might require specific tweaking and finetuning in order for specific games to display right, and some games might just not display right at all with these enabled, so experiment at your own risk.

With this emulator core, emulator developers are moving far beyond the limitations of original hardware and FPGA clones, putting the extra horsepower of modern PCs and cellphones to judicious use.

This core is already available on our buildbot for Windows, Linux and Android, and should be coming to Switch (libnx) soon as well! Note that all these enhancement features operate on the CPU, so the faster your CPU is, the better the results will be.

Changelog (beta 10)

  • Based on latest bsnes (114, 2020-01-09)
  • Experimental libretro core
  • Changed Show Overscan setting, replacing Soft Crop. Changed widescreen values accordingly
  • Corrected widescreen object wrap-around point to 352
  • Changed storage paths from “bsnes” to “bsnes-hd beta”
  • Automated Linux build is now CPU neutral
  • Various minor bsnes-hd specific modifications to GUI
  • Fixed setting Ignore Window Fallback X-Coordinate via settings dialog

Core Options

Let’s explain some of the core options this core provides:

HD Mode 7 Scale

Perform Mode 7 transformations (incl. HDMA) at up to x times the horizontal and vertical resolution.

TIP: HD Mode 7 can be set to 1x scaling aka original resolution, with any combination of perspective correction, widescreen and supersampling.

HD Mode 7 Perspective Correction

Optionally, for games with pseudo 3D perspectives, some limitations of the integer math used by the SNES can be avoided by more aggressive averaging.

This setting also allows you to set the width for the perspective correction.

Auto – Auto detection for perspective correction. Quite primitive implementation, but worked out surprisingly well. Covers “Super Castlevania IV” (tube), “Terranigma” (underworld) and “Final Fantasy III” (credits), but not the “Mohawk & Headphone Jack” title screen (levels are fine).

[On / Auto] Narrow – Fixes black flicker in “Tales of Phantasia” Mode 7

[On / Auto] Wide – Use “wide” when there is no issue.

HD Mode 7 Supersampling

Super sampling can be combined with higher scale factors as a sort of anti-aliasing. Please remember that the CPU load is the product of the two factors.

HD Widescreen

Mode 7 – Disables widescreen for non-Mode 7 scenes (default now), fixing menus and widescreen-incompatible 2D levels with no setting switching during gameplay. The widescreen areas in that case can either be black or adopt the background color.
All – Enables widescreen for both Mode 7 and non-Mode 7 scenes.
None – Disables widescreen for all modes.

HD Mode 7 HD -> SD Mosaic

1x scale : Mosaic mode for HD Mode 7, using 1x scale, providing a good compromise between SD Mode 7 and no Mosaic at all, and also allowing widescreen, e.g. for the “Terranigma” underworld.

Ignore: – This setting disables mosaic effects for mode 7 scan lines. See top part of screen in the Terranigma safe state. When not checked (i.e. mosaic enabled) lines that have mosaic enabled do not use the HD mode (as the intentional pixelation that is mosaic would negate it anyway), but others still do.

WideScreen Background 1 to 4

To avoid HUDs repeating and other unwanted effects, this setting allows you to disable widescreen for the separate background layers and even just the top or bottom of a layer.

The default for all 4 is “auto horz and vert”, which is a simple auto detection based on the sizes and positions of the backgrounds. This works e.g. for the HUD in “F-Zero” or “Super Mario Kart”. You can also force each one “on” or “off”.

Some games require more complex settings, e.g. “HyperZone”: BG2: “>80”
You can also “disable” any of the 4 background layers entirely.

WideScreen Sprites

Unsafe – This allow sprites to enter widescreen areas further if the game keeps updating them. This will however cause significant artifacts in many games. If ROM-hackers want to discuss optimizing games for this, feel free to contact DerKoun.

Disable entirely – option to sprites, e.g. for screenshots for wallpapers (also see “Ignore Window”)

WideScreen Aspect Ratio

Ability to set the widescreen aspect ratio to a variety of different ratios (16:10, 2:1, 21:9, 16:9, 4:3)

WideScreen Ignore Window

Setting to ignore outside window, allowing for widescreen in Terranigma and Final Fantasy III/VI. Please test any other games that had no widescreen for no obvious reason in the previous beta. This fixes Mode 7 widescreen specifically in the mentioned games and results may vary in other ones for Mode 7, other backgrounds and objects.

Some settings allow for more widescreen e.g. in “Final Fantasy III” (no good results) and ability to disable some shadows or similar effects (for use with layer disable feature below, e.g. for “F-Zero”).

WideScreen Marker

Line – optional markers for the widescreen areas, in the form of lines at configurable translucency. Also sprites can now be clipped at the edges of the widescreen areas.
Darkening – optional markers for the widescreen areas, in the form of darkening at configurable translucency. Also sprites can now be clipped at the edges of the widescreen areas.

HD Background Color Radius

Smooth (true color, high resolution) gradients for color math from fixed color, e.g. for pseudo perspectives. This combines the new true color support and high resolution smoothing of HDMA effects to turn approximations of gradients into real ones. This is noticeable in many games with Mode 7 perspectives, often in the top/distant part, which often fades to black or another color. Enabled by default, on medium setting “4”. (see image: left side before vs. right one with this improvement)

HD Windowing (Experimental)

Smooth (high resolution) Window effects, like shadows or spells. This is considered a preview, as the top and bottom edges of such effects still look SD and therefore stand out. It is disabled (“0”) by default. You can set “1” or higher values to give it a try.

Widescreen patches

No matter the amount of options available, some games will likely require manual patches for the best possible widescreen experience. Fortunately, already talented modders are hard at work at tackling some of the games out there that could really benefit from widescreen resolutions.

If you want to discuss widescreen ROM-hacking please join #widescreen-hacks at the bsnes-hd Discord.

What’s Next

DerKoun says:

Primarily I’m looking into optimizations.

There also some fixes and improvements I want to include, like better HD Window effects.

I’ll also work with the libretro team to improve the libretro core.

SIDENOTE: RetroArch 1.8.4 will be coming out soon. Unlike 1.8.3, it will resemble somewhat more of a maintenance release.

RetroArch 1.8.3 released!


RetroArch 1.8.3 has just been released.

Grab it here.

Remember that this project exists for the benefit of our users, and that we wouldn’t keep doing this were it not for spreading the love with our users. This project exists because of your support and belief in us to keep going doing great things. If you’d like to show your support, consider donating to us. Check here in order to learn more. In addition to being able to support us on Patreon, there is now also the option to sponsor us on Github Sponsors! You can also help us out by buying some of our merch on our Teespring store!

Big features

ANGLE brings OpenGL ES support to Xbox One and generic Direct3D 11 video cards!

We wanted to bring this feature to you as early as version 1.8.2, but due to time constraints we couldn’t make it in time. You can read our older article about it here.

Now, with version 1.8.3, we’re finally ready to deliver on the ANGLE promise. We’re rolling out ANGLE support for two platforms:

  • Windows (64bit version)
  • UWP version (64bit x64 version)

ANGLE is middleware developed by Google that serves as an OpenGL compatibility layer on systems where OpenGL support is either spotty or missing entirely. It converts OpenGL calls to Direct3D 9/11.

In this video, you will see ANGLE being used on RetroArch UWP. In specific, it allows us to run OpenGL cores now on the Xbox One, where only Direct3D 11/12 are available as graphics APIs. Mupen64plus Next is shown running in this video on an Xbox One S with fairly acceptable results.

RetroArch debuts with ANGLE support for the first time since version 1.8.3.

  • For the regular Windows version, there are two binaries from now on – one with ANGLE (retroarch_angle.exe), one without (retroarch.exe). The non-ANGLE version will use your system-provided OpenGL driver, while the ANGLE version will use the ANGLE version of the OpenGL dynamic libraries.
  • ANGLE works over OpenGL ES. This means that ANGLE requires separately compiled cores targeting OpenGL ES 2/3 instead of desktop OpenGL. What this means is that 1) you need separate cores for every Libretro OpenGL core you want to run, since the current OpenGL cores available for Windows assume that desktop OpenGL will be targeted, and 2) a libretro core has to have a working OpenGL ES 2 or 3 implementation in order for it to work. This will mean that currently, cores like Quake 2/3/Doom 3 won’t work since there are no working OpenGL ES 2 codepaths in those cores. However, Mupen64plus Next and Flycast do have OpenGLES 2 codepaths.

What usecases are there for using ANGLE instead of regular OpenGL?

There are several scenarios imaginable where you would want to use ANGLE. Here are some of them –

  • UWP (shorthand for Universal Windows Platform) allows you to make one binary that will work on Windows Mobile 10, Windows 10 and Xbox One. The only graphics API available for UWP programs is Direct3D 11 or 12. So for OpenGL cores to work, a middleware layer like ANGLE which converts OpenGL to Direct3D is our only option. Therefore, ANGLE allows us to run OpenGL ES 2 cores on the Xbox One.
  • Certain graphics cards might have nonexistent OpenGL support on Windows 10 and therefore fall back to Microsoft’s reference OpenGL 1.1 drivers. This is pretty much the worst case imaginable and really limits what you can do with OpenGL on such graphics cards. Intel HD 2000/3000 series integrated GPUs are pretty much in this position. For such GPUs, ANGLE might be your only option to get any kind of acceptable level of hardware accelerated graphics support with openGL-based cores.
  • OpenGL driver support might be stagnating for certain graphics cards, and therefore several bugs go unresolved in their OpenGL driver implementations. ANGLE is a good way to work around that assuming you are OK with an OpenGL ES 2/3 feature set.

Which ANGLE-specific cores are ready to go right now?

The following two cores are ready right now for the 64bit version of RetroArch Windows and the 64bit x64 UWP version (compatible with Xbox One) –

  • Flycast (GLES2)
  • Mupen64Plus Next (GLES3)

Instructions on how to use them on the desktop 64bit Windows version

NOTE: To use these, make sure you start retroarch-angle.exe instead of retroarch.exe.

Make sure you have downloaded these cores first. Go to Online Updater, and download ‘Mupen64Plus Next (GLES3)’ and ‘Flycast (GLES2)’. These are the ANGLE-specific cores.

You will now have to start your content with either one of these two cores. For example – to start Flycast with RetroArch ANGLE, you select ‘Flycast (GLES2)’ from the list as the core instead of the regular Flycast core.

WARNING – YOU CANNOT use the normal Mupen64Plus Next/Flycast cores as long as you’re running retroarch-angle.exe. Those cores are compiled against desktop OpenGL instead of OpenGL ES 2/3, so they won’t work with the ANGLE version of RetroArch. Make sure you’re aware of this before you walk away with the mistaken impression that these cores don’t work.

Instructions on how to use them on the 64bit UWP version (Xbox One and Windows 10)

Fortunately, it’s much easier to use these cores with this version. For one, typically only the ANGLE-specific cores are available for these builds, and second, thanks to the automatic driver switching feature from version 1.8.2, it will be able to switch video driver seamlessly from Direct3D 11 to OpenGL (ANGLE) depending on the requirements of the core. This way, you get the best performance possible with the native Direct3D 11 driver for every core that doesn’t require OpenGL, and for the cores that do, it will seamlessly switch to it. No manual configuration necessary.

Performance recommendations for Xbox One

You will want to tinker with the following options to get an acceptable baseline performance on Xbox One systems:

* Make sure that Core Options -> Threaded Rendering is enabled.
* You can enable Div Match which might get you an extra 5 to 10% performance gain. Be aware though that on some games this might cause compatibility issues.
* Lowering resolution might help too.

Xbox One X users should on average expect a 10fps or more performance increase over regular Xbox One/Xbox One S.

Netplay enhancements

As indicated in our earlier blog post, we have done many netplay improvements:

– We fixed a critical bug that would cause all players to be disconnected from the relay server if one player was leaving the game. That bug had been open for one year and we were finally able to fix it.

Fix the “spectator” bug when using the relay server – When a player switches into the spectator mode (pressing “i”) while using the relay server, all players will disconnect.

– Overall stability has also improved. We fixed a memory leak that would cause the relay server to become unresponsive after some time.

We also opened a new relay server in Sao Paulo, Brazil, since Brazil represents such a large part of our netplay audience.

Furthermore, in the short term we are going to be writing the netplay lobby server from scratch. It will be published under the Affero GPL license as open source code once it’s ready, and the existing lobby will be replaced. You can expect much improved code over what is currently being used.

RetroArch PSP and Vita – Massively increased core collection

Something that separates RetroArch from so many other projects is how it simultaneously caters to the extreme high-end as well as the extreme low-end with its ecosystem of software. So while on the extreme high end we have been busy adding 300fps/360fps modes for some of the impending cutting-edge 300/360Hz monitors to arrive, at the same time core developers are working on backporting optimized assembly versions of the Z80/68000 CPU cores.

The backporting of Cyclone and DrZ80 to the libretro cores has led to a dramatic increase in performance for MAME 2000, 2003, and 2003 Plus.

But that is not all. So many other cores have been effortlessly backported to PSP now that debugging is far less painful on the system. FreeIntv, MAME 2000, TGB Dual and Handy are all new cores, all running effortlessly!

RetroArch 3DS – RACE added

For RetroArch 3DS, we have added the Neo Geo Pocket Color emulator RACE.

– On o3DS you get ~45-50 FPS
– On new 3DS, you get fullspeed performance

OpenDingux now a supported platform in the future

We have recently added support for the OpenDingux family of devices. It has been tested on an RG350 and should theoretically work on the GCW Zero as well. You can expect to see a proper release of the OpenDingux version later on. For now it can be built from sourcecode.

Bugfixes

Many outstanding bugs have been fixed in this release. For the full details, see the Changes section further below.

Changes

1.8.3

  • ANDROID/BUGFIX: Fix ‘Install or Restore Core’ regression
  • BUGFIX: Ensure core info is always initialised when calling ‘drivers_init()’. This bug could prevent cores from doing content runtime logging
  • BUGFIX/MENU: History size can only be set to 1 at a minimum
  • BUGFIX/MENU: (XMB/OZONE) Fix ‘quick menu’ detection. XMB would not display savestate thumbnails in the quick menu if it was accessed via the main menu
  • BUGFIX/CRASH/CORE UPDATER: Fix potential double free error
  • BUGFIX/CRASH/OPENGL/WINDOWS: Fix regression in 1.8.2 that would cause GL-based cores to fail because it would try to erroneously load libGLESv2.dll instead of OpenGL32.dll (cores affected: VitaQuake 2/3/Dhewm3, possibly more)
  • BUGFIX/MENU/DESKTOP UI: Show desktop menu on startup does not launch Qt UI on Linux
  • CHEEVOS: Don’t disable achievement when AddAddress generates an out-of-range address
  • CHEEVOS: Don’t reset triggers/leaderboards that failed to load
  • CHEEVOS: Don’t count unsupported achievements as unlocked
  • CORE UPDATER: Display number of cores updated when updating installed cores
  • DINGUX: Initial port
  • D3D11: Block FL9_3 devices from D3D11 driver because they don’t work anyway (current D3D11 driver uses SM4.0 which requires FL10_0 and up)
  • D3D11: Fallback to GL driver when D3D11 fails
  • EMSCRIPTEN: Fix assets
  • HISTORY/FAVORITES: Bump up default to 200 entries from 100
  • FFMPEG CORE: Implement packet buffer, fixes MP4 video playback for many files
  • LOCALIZATION: Update Italian translation
  • LOCALIZATION: Update Polish translation
  • LOCALIZATION: Update Russian translation
  • LOCALIZATION: Update Spanish translation
  • MENU: Added ‘Hosting’ menu under Netplay menu
  • MENU: Added ‘Subsystems’ menu
  • MENU/FILEBROWSER: Fix file selection issues when starting from (or navigating to) the top level directory
  • MENU/WIDGETS: Prevent looping of task title text
  • RASPBERRY PI: Fix BGRA8888 color inversion issues in the menu and elsewhere with VideoCore GL drivers
  • NETPLAY/RELAY: Add Sao Paulo (Brazil) relay server
  • NETPLAY/RELAY: Fix the “spectator” bug when using the relay server – When a player switches into the spectator mode (pressing “i”) while using the relay server, all players will disconnect.
  • NETPLAY/RELAY: Overall stability has improved. Fixed a memory leak that would cause the relay server to become unresponsive after some time
  • NETPLAY/RELAY: Fixed critical bug that would cause all players to be disconnected from the relay server if one player was leaving the game. That bug had been open for one year and we were finally able to fix it
  • SWITCH/LIBNX/BUGFIX: Fix onscreen keyboard input regression
  • UWP: Add ANGLE support
  • UWP: Wire up get_metrics to the fake context of D3D9/10/11/12 driver, enabling proper scaling and mouse/touch gestures
  • VITA: Re-add Online Updater
  • VULKAN: Fix font driver ‘vulkan_get_message_width()’ function
  • VIDEO FILTERS: Only use threads when the number exceeds 1. Fixes race conditions with some CPU filters on Vita
  • WINDOWS: Add ANGLE support for x64, separate binary (for now?)

Libretro Cores Progress Report

Also check out our Libretro Cores Progress Report from today to see how the various Libretro cores have progressed since last time around.

Libretro Cores Progress Report – January 9, 2020

Our last core progress report was on December 31, 2019. Below we detail the most significant changes to all the Libretro cores we and/or upstream partners maintain.

In addition to all the changes listed below, there are also various cores that have been updated in order to fix MSVC compilation errors. This would be too exhaustive to list, so we have left that out of the progress report.

Also important to mention – pretty soon DerKoun, the author of all the HD enhancements in bsnes, will grace us with an extra bsnes core with experimental HD features, called bsnes HD! More on that later as this new core surfaces.

bsnes

Description: Super Nintendo emulator core

Disclaimer: Comments below are from byuu’s commits. All changes courtesy of byuu

  • Updated to version 114
    • Added fast PPU override for Marvelous (fixes text rendering)
    • Fixed disassembly of SNES CPU opcodes 0x74-0x76 [invertego]
  • The input workaround for Taikyoku Igo benefits: Williams Arcade’s Greatest Hits and World Masters Golf, in very subtle ways, so enable it for those two titles as well.
  • Updated to version v113.5 – It seems auto-joypad poll timing is needed for most games. So that’s back in as before. Instead, I added an override for Taikyoku Igo – Goliath specifically, until auto-joypad emulation can be improved further.

Dhewm3

Description: Doom 3 game engine core

  • Add 300fps/360fps modes

FB Neo

Description: Successor project to Final Burn Alpha, multiple arcade emulator

  • CPS3: Set refresh rate to exact 59.59949 Hz [barbudreadmon]
  • add GunNail location-test to nmk16 [Bill D – The Dumping Union, dink]
  • aud_dsound3.cpp, hacky work-around for crashy midway (mk2, etc) via kaillera. todo: figure out real cause of the problem, think it has something to do with refresh rate as force60hz solves the problem
  • d_flstory.cpp: added MCU location (nw)
  • d_flstory.cpp: added dip-switch locations [Guru]
  • d_slapshot.cpp: added Operation Wolf 3 (Japan) [ShouTime, The Dumping Union]
  • d_flstory.cpp: updated dips for victnine, taken from manual [Guru]
  • d_kaneko16.cpp: Make it explicit that gtmr parent is a Taiwanese set (nw)
  • d_mcr.cpp: added Tron (5/12) [cdjump @ klov]
  • d_metro.cpp: added Poitto! (revision C) [hammy, The Dumping Union]
  • d_dec8.cpp: added Gondomania (World) [Corrado Tomaselli, The Dumping Union]
  • (nw) d_karnov.cpp: Verified label for karnov (US) i8751
  • d_yunsun16.cpp: added Magic Bubble (Adult version, YS1302 PCB, set 2)[Hammy, The Dumping Union]
  • d_dkong: Remove diag.bin, it did not ship with the boards (nw)
  • d_tumbleb.cpp: decapped chokchock MCU [Team Caps0ff, Guru]
  • d_dreamwld.cpp: decapped dreamwld MCU [Team Caps0ff, Guru]
  • b_time.cpp: added Minky Monkey (Japan) [ShouTime]
  • d_hangon.cpp: added Enduro Racer (YM2151, FD1089B 317-0013A) [Brian Troha, Philip Bennett, The Dumping Union]
  • (nw) minor cosmetic changes
  • add nes_apu wip [dinkc64]

FreeIntv

Description: Intellivision emulator

  • Ported to PSP, running at fullspeed! [fjtrujy]

Flycast

Description: Dreamcast/NAOMI/Atomiswave emulator

Disclaimer: All changes below unless expressly stated otherwise were done by flyinghead

  • Reduce savestates size by 20MB
  • (ARM64) Fix xtrct dynarec implementation – fixes Speed Devils issues
  • (CUE) Set proper CTRL value – fixes Windows CE games hanging at startup
  • (NAOMI) EEPROM for Spawn [barbudreadmon]
  • (AICA) Generate samples when ARM is disabled (dynarec) – fixes Twinkle Star Sprites sound
  • (GL/GL4) Recreate VMU and crosshair textures at context reset – Fix all lightguns using player #1 texture – Fix broken alpha blending
  • (GL4) OIT/Per-pixel alpha sort:  only use OIT pass in autosort mode
  • Use regular color pass in manual sort mode. Fixes issues with Psyvariar 2 and HeadHunter radar/map.
  • (Fix) Crash on successive load content – VMEM – unmap all reserved vmem space on unload
  • (Vulkan) VMU screens and lightgun crosshairs support
  • (Vulkan)  Only use OIT pass in autosort mode – fix glitches when switching per-triangle to/from per-strip
  • (Arcade/Atomiswave) Use light guns for Ranger Mission

Genesis Plus GX

Description: Sega Genesis/Mega Drive/Game Gear/Master System/Sega CD emulator core

  • Allow full access to Sega CD’s PRG RAM using retro_memory_map [negativeExponent]
  • Add 68000 RAM to memory maps [negativeExponent]
  • (MSVC 2017) Build fix

Kronos

Description: Sega Saturn/Arcade Sega S-TV emulator

  • (S-TV) Added S-TV game – Fantasy Zone (J 990202 V1.000)
  • (S-TV) Fix controls for most ST-V games
  • (SCSP) SoundRam is 4MB max – Fixing Memory access [FCare]
  • (SCSP) Do not sync when the access does not come for xSH2 [FCare]
  • (SCSP) Do not divide the panning value [FCare]

LRMAME

Description: MAME mainline emulator core

  • Updated to version 0.217 [tcamargo]

LRMAME 2000

Description: MAME 0.37b5 emulator core, aims to be mostly adherent to mainline 0.37b5 with selective backports 

  • (MSVC 2017) Buildfix
  • Ported to PSP, running at fullspeed! Using Cyclone/DrZ80 [fjtrujy]
  • Cyclone and DrZ80 support – Enabled for Vita – major performance improvements for 68K/Z80 based games [Frangarcj]
  • (Cyclone) Fix for speedups on Altered Beast [Frangarcj]
  • (Emscripten) Buildfix [ToadKing]

LRMAME 2003

Description: MAME 0.78 emulator core, aims to be mostly adherent to mainline 0.78 with selective backports

  • (MSVC) Buildfix
  • Cyclone and DrZ80 support – Enabled for Vita – major performance improvements for 68K/Z80 based games [Frangarcj]
  • (Cyclone) Fix for speedups on Altered Beast [Frangarcj]
  • (Emscripten) Buildfix [ToadKing]

LRMAME 2003 Plus

Description: MAME 0.78 emulator core with significant additions

  • Operation Wolf C-Chip Simulation [Arcadez]
  • GunNail graphics improvements [Arcadez]
  • U.N. Defense Force – Earth Joker fix rowscroll on final level [Arcadez]
  • Cyclone and DrZ80 support – Enabled for Vita – major performance improvements for 68K/Z80 based games [Frangarcj]
  • (Cyclone) Fix for speedups on Altered Beast [Frangarcj]
  • (Emscripten) Buildfix [ToadKing]
  • (MSVC 2017) Buildfix

Mr.Boom

Description: Bomberman-like game engine clone core

  • Updated to version 4.9 – performance improvements (standalone can now run on an Atari Falcon as a result) [franck]

NX Engine

Description: Cave Story game engine core

  • Adding diacritics support – support non-English translations with the bitmap font [leomontenegro6 ]

OpenLara

Description: Tomb Raider 1/2/3/4/5 game engine core

  • Add 300fps/360fps modes

Picodrive

Description: Sega Genesis/Mega Drive/Game Gear/Master System/Sega CD/32X emulator core

  • (MSVC) Buildfix

Play!

Description: PlayStation2 emulator core

  • Latest updates from Github upstream repository [Zer0xFF]

P-UAE

Description: Commodore Amiga emulator

  • Add support for auto-generated save disks in M3U playlists [jdgleaver]
  • LHA + MDS support [sonninnos ]
  • FastRAM option for CD32 [sonninnos ]
  • WHDLoad.hdf compatibility updates [sonninnos ]
    • Hold down fire button at boot for .info selector
    • Hold down spacebar at boot for Readme and MkCustom
  • Added long press sticky keys for VKBD + renovations [sonninnos ]
  • Fixed a human rounding error in analog stick mouse [sonninnos ]
  • Statusbar automatic recoloring [sonninnos ]
  • Add compression for savestates [sonninnos ]
  • Analog stick mouse fix [sonninnos ]
  • Default blitter wait changed back to automatic + savestate cleanups [sonninnos ]
  • Horizontal centering fix for hires-singleline [sonninnos ]

PX68K Libretro

Description: NEC X68000 home computer emulator

  • Add input bitmask support [negativeExponent]
  • Add core option to enable or disable saving disk path [negativeExponent]
  • Move menu items to core options [negativeExponent]
    • move Frame Skip to core options [negativeExponent]
    • remove Sound Rate – fixed to 44100 [negativeExponent]
    • removeVKey Size – we dont use virtual keys [negativeExponent]
    • remove HwJoy Setting [negativeExponent]
    • move Joy/Mouse to core options [negativeExponent]
    • move Vbtn Swap to core options [negativeExponent]
    • move No Wait Mode to core options [negativeExponent]
    • remove JoyKey, which is suppose to allow controlling gamepad buttons using a keyboard. Its not necessary in a libretro port due to how keyboard and joypad inputs already works [negativeExponent]

Prboom

Description: Doom 1/2 game engine core

  • Add 300fps/360fps modes
  • (MSVC) Buildfix
  • (Emscripten) Buildfix [ToadKing]

RACE

Description: Neo Geo Pocket / Neo Geo Pocket Color emulator core

  • Add optional dark filter [jdgleaver]
  • Add input bitmask support [negativeExponent]
  • Fix incorrect palette [negativeExponent]
  • Remove serialization quirks [negativeExponent]
  • Fix runtime error: misaligned reads [negativeExponent]

Snes9x 2002

Description: Super Nintendo emulator core

  • Added frameskip for GCW Zero/Dingux
  • (MSVC 2017) Buildfix
  • (Emscripten) Buildfix [ToadKing]

Snes9x 2005

Description: Super Nintendo emulator core

  • (Emscripten) Buildfix [ToadKing]

Stella

Description: Atari 2600 emulator core

  • Latest updates from Github upstream repository

Theodore

Description: Thomson MO/TO emulation emulator core

  • Latest updates from Github upstream repository

Tyrquake

Description: Quake 1 game engine core

  • Add 300fps/360fps modes

VitaQuake 2

Description: Quake 2 game engine core

  • Add 300fps/360fps modes
  • Prevent reduction in texture quality [leilei-]

VitaQuake 3

Description: Quake 3 game engine core

  • Add 300fps/360fps modes
  • Prevent reduction in texture quality [leilei-]
  • Hor+ Widescreen option [leilei-]
  • Overbrights option [leilei-]
  • A bunch more video resolutions including 4:3 resolutions; 640×480 new default (native UI res) [leilei-]

VitaVoyager

Description: Star Trek: Elite Voyager game engine core

  • Add 300fps/360fps modes
  • Prevent reduction in texture quality [leilei-]
  • Hor+ Widescreen option [leilei-]
  • Overbrights option [leilei-]
  • A bunch more video resolutions including 4:3 resolutions; 640×480 new default (native UI res) [leilei-]
  • Flares implemented by traces (not accurate, but works) [leilei-]
  • Environment maps on view weapons now reflect from the light [leilei-]
  • Specular on view weapons (not perfected yet) [leilei-]

RetroArch – Netplay Relay server updates

We are going to release a new hotfix update soon, probably called RetroArch 1.8.3. This will not be a spectacular new release but a necessary patch/bugfix release.

We will also be releasing more information soon about many exciting Libretro core developments that have happened recently.

Netplay Relay server updates

– We fixed a critical bug that would cause all players to be disconnected from the relay server if one player was leaving the game. That bug had been open for one year and we were finally able to fix it.

Fix the “spectator” bug when using the relay server – When a player switches into the spectator mode (pressing “i”) while using the relay server, all players will disconnect.

– Overall stability has also improved. We fixed a memory leak that would cause the relay server to become unresponsive after some time.

We also updated our relay server infrastructure so that we can roll out new server locations easier should the need arise. This also enables us to roll out server fixes faster.

Roadmap

There is one on our roadmap that we are going to address soon:

  • Fix the “header bug” when using the relay server –
    Currently some client combination can’t play together using the relay server, since they get a “invalid header” error message when joining the netplay session . For example, some Android devices can suffer from this with a netplay session hosted by a PC user.

You don’t need to upgrade your current RetroArch version to benefit from these improvements. It’s all server-bound.