RetroArch Disc Project – Alpha testing has begun! Details inside

Ever since the announcement earlier on June 30th, we have been working hard on the RetroArch Disc Project, and we are now getting to the stage where we want users to start alpha testing the latest code.

We invite you to come over to our Discord channel (also linked to on the RetroArch website – click on the tab ‘Discord’)- and join the channel #discordproject.

How to apply for alpha testing

For the purpose of this alpha test, we need you to meet the following requirements:

  • You are using the latest nightly versions of RetroArch (available here).
  • You are using RetroArch on PC, and are running either Linux or Windows with the CDROM support included.
  • Make sure the cores you are going to be testing are the latest up-to-date versions. Update them daily from the Core Updater if unsure – the cores should have physical CDROM support, otherwise the testing won’t work.
  • You have an optical disc drive (either USB or internal, any CD-ROM/DVD-ROM/BD-ROM drive should do).

Report issues you’re having with physical CDROM playback. Be as detailed as possible in your feedback – we are especially interested in which optical disc drive you’re using.

Be prepared that you might be asked by a moderator to run ‘retroarch_debug.exe’ and return a log message back to us in order to learn more about the issues you’re having. ‘retroarch_debug.exe’ is a debug executable that should be shipped with every RetroArch nightly version for Windows. For Linux users, we assume that they can build from source and compile with CDROM_DEBUG=1 manually in order to run these more detailed debug tests.

Compatible cores

Listed below are some of the cores that we added physical CD-ROM support to, and the ones that we would like you to test –

  • Beetle PSX (HW and non-HW)
  • Beetle Saturn
  • Genesis Plus GX
  • 4DO
  • Redbook Audio Player (Audio CD core)

We have also added support to more cores, but for now we want to go with these cores as they have been most extensively tested.

A couple of known edge cases:

  • Beetle PSX HW: The ‘vulkan’ renderer can exhibit issues where either the CD will not work, or some other corruption issue will manifest itself. We recommend you use ‘opengl’ or ‘software’ for now while you test CDROM.
  • Beetle PSX HW: Make sure the core option ‘CD Access Method’ is not set to ‘precache’. If you do, real discs won’t work.

How to load discs

1.You need to first start up the core itself (there is no automatic system detection yet when you insert a disc).
Go to Load Core, and select the core you want to use.

2. Once the core is loaded, select ‘Load Disc’.
3. It will now list all optical drives. Make sure the disc you want to use has been inserted into the optical drive tray and make sure the tray is closed. Then select the drive. The core will now start with your CDROM as input.

How to dump discs

RetroArch can dump discs to internal storage in bin/cue format. The video above will show you how.

  1. Select ‘Dump Disc’.
  2. It will now list all optical drives. Make sure the disc you want to use has been inserted into the optical drive tray and make sure the tray is closed. Then select the drive.

The disc will now be dumped to the ‘Downloads’ directory. It will continue showing the progress bar until the operation has finished. In the meantime, you can play any core/game (as long as it doesn’t involve real CD playback) until the dumping has finished.

Redbook Audio Player – Libretro core for music CD playback!

As a testbed for the Disc Project, we made a redbook audio CD player Libretro core!

You can grab this core for Windows and/or Linux by going to Online Updater, and downloading it from the list (Redbook Audio Player).

Known potential issues

  • Right now, CDROM works better on Linux vs. Windows.
  • FMV playback with Beetle PSX HW has the potential to be slow on some optical disc drives on Windows. Cause yet unconfirmed.
  • There is a known issue with redbook audio – the redbook audio track begins a few seconds later from its starting period.
  • Libcrypt copy-protected PlayStation1 games will not work right now, but any other copy-protected PlayStation1 disc should.
    Here is a listing of some Libcrypt-protected games from Europe: https://hastebin.com/ruyacahuba.http . You can generally assume these won’t work.

RetroArch 1.6.9 -Released!

RetroArch 1.6.9 has just been released! Grab it here.

This latest version has also been uploaded to the Google Play Store.

General changelog

– Audio: Fix the Audio DSP picker
– CHEEVOS: Add support for Atari Lynx cheevos.
– CHEEVOS: Add support for RetroAchievements Leaderboards.
– GUI: (MaterialUI) Fix crash that happened on context reset with Vulkan.
– GUI: (MaterialUI) Skip querying and drawing items that are not visible; Cache content height and bbox calculation.
– GUI: (MaterialUI) Fix entry box highlight calculation.
– GUI: (XMB) Skip drawing the fading list when it is already transparent. Optimization.
– GUI: (XMB) Comment out visible item calculation in xmb_draw_items().
– GUI: (RGUI) Prevent crashes when using a non-English language reliant on UTF8.
– GUI: Add menu option for OSD background color.
– GUI: Add menu option for OSD text color.
– GUI: Add menu option to remove frame count from OSD.
– GUI: Allow wraparound of int/float settings when pressing the left key
– INPUT/LIBRETRO: Add support for more mouse buttons (buttons 4/5)
– INPUT/LIBRETRO: Add support for analog buttons
– INPUT: Always show the controls menu even if descriptors are not set
– INPUT: Fix input descriptors not being set on cores that don’t implement the controllers interface
– INPUT: Apply descriptors only for the amount of cores the core supports
– INPUT: Implement keyboard to gamepad input remapping (limited to one gamepad device for now)
– INPUT: Fix absolute mouse move handling on the winraw driver
– INPUT: Ignore keyboard input if window is not active on udev driver
– INPUT: Sanitize the filenames of autoconfig profiles before saving
– LOBBIES: Fix crash on navigating left / right from the lobby menu
– LOCALIZATION: Update Dutch translation
– LOCALIZATION: Update Italian translation.
– LOCALIZATION: Update Japanese translation.
– LOCALIZATION: Update Portuguese-Brazilian translation.
– LOCALIZATION: Update Russian translation.
– LINUX/ARMHF: Set buildbot updater URL to armhf location instead of blank string
– LINUX/PI: Broadcom VC4: Add Videocore config option
– LINUX/UDEV: Fix – RetroArch reads keyboard input when not focused with the udev input driver.
– NETPLAY: Fix disconnection not fully deinitializing Netplay.
– NETPLAY: Fix lan rooms when there is more than one room
– NETPLAY: Fix lan rooms on systems where all addresses are treated as IPv6
– COMMON: Fix clear/free loop conditionals in playlists.
– WINDOWS/GDI: Fix flickering of text.
– WINDOWS/GDI: Fix graphics corruption on Windows 98
– WINDOWS/GDI: Allow compiling without DirectInput8 for NT support
– WINDOWS/WGL: Try to use wglSwapLayerBuffers instead of SwapBuffers if possible (for more optimal performance).
– WINDOWS: Fix menubar text corruption on Japanese locale systems
– WINDOWS: Support Unicode file I/O (can now display CJK characters in file browser for example).
– WINDOWS: Support Windows 95, NT3.51, NT4
– WINDOWS: add Makefile.griffin targets for msvc6,2003,2005,2010,2012,2013
– WII: Use custom, embedded libogc SDK.
– WIIU: Initial touchscreen support for WiiU gamepad.
– WIIU: Add Cheevos support.
– SCANNER: Fix archive scanning.
– SCANNER: Support CHD files.
– SCANNER: Support Gamecube ISO scanning.
– SCANNER: Use primary data track of disc images for CRC lookups rather than cue files. This is slower but finds matches more reliably, and is necessary for CHD files to work at all. Update your databases!
– SCANNER: Fall back on looking inside archives when matching MAME/FBA content (most recent cores only). If you had difficulty with content being detected before, you may have better luck now. Update your databases and core info!

Highlights

Scanner system supports more formats

CHD and Gamecube ISO files can now be scanned. A lot of libretro cores have gained the ability to use CHD image files, some of them being all the Mednafen-derived cores (also known as Beetle cores). There is also a new fallback used for scanning MAME/FBA content which looks inside an archive for matching files. If you had trouble having the scanner detect your content before, you might be more usccessful now.

Retro Achievements – Leaderboard support

Unicode support for Windows users

Unicode is now supported for file I/O (Input/Output). What this means, is that game content that uses CJK characters and/or other non-ASCII characters can now be read by RetroArch. These files will also show up from within the filebrowser. Useful for our Japanese users.

NOTE: MaterialUI (the default UI on Android) might still exhibit issues displaying Japanese on Android. This is due to a font renderer that will need to be improved in a future version in order to display these extra characters properly.

Kiosk Mode and more


You can now tailor RetroArch’s UI even more to your own personal preferences. You can choose which submenus to hide, and which to show.

There’s also a special mode called ‘Kiosk Mode’. When enabled, you won’t be able to access any settings, and/or install/upgrade any cores. The guy who implemented this feature likely intended it as a parental control feature to make sure that kids don’t get to mess with any of the internal settings by accident that could end up breaking something. There’s also a password lock you can enable so that any access to settings can still be curtailed.

See the PDF article here for a more detailed breakdown of Kiosk Mode –

https://github.com/libretro/RetroArch/files/1320429/RetroArch.Kiosk.Mode.v4.pdf

Input enhancements


The libretro API has been enhanced by David Walters in the following ways:

  • Button input was previously all-digital, now button input can be analog as well. As a proof of concept, this has already been implemented for the Beetle Saturn core. Analog triggers now work as expected. This feature will be necessary for future systems like PlayStation2, where each face button on the gamepad was an analogue button.
  • Mouse buttons 4 and 5 were added. A proof of concept has already been implemented for Beetle Saturn. The mouse on the Sega Saturn had at least 5 buttons instead of the PlayStation mouse’s 2.


Mouse support and lightgun support has also been added to Beetle PSX, a much-requested feature. There are also some proposals on how to improve lightgun support in libretro so that it is more conducive to non-mouse based lightgun solutions. As ever, additions to the libretro API have to be backwards compatible and they should not break ABI, so that existing frontends will not be adversely affected but at the same time new frontends can reap the benefits of these new features all the same.

What’s coming next for RetroArch

We will have a separate blog post on this soon.

In the meantime, check out the addendum to this post –

https://www.libretro.com/index.php/core-updates-since-last-release/

This details all of the changes to the cores that have happened since the last release.