RetroArch 1.7.4 – Released!

RetroArch 1.7.4 has just been released! Grab it here.

This latest version has also been uploaded to the Google Play Store. This is the 32bit version. We also have a brand new 64bit version for users with 64bit capable devices. You can grab that one here. More on that version later!

If you’d like to show your support, consider donating to us. Check here in order to learn more.

Highlights

64bit version of RetroArch Android

We have just uploaded a 64bit version of RetroArch for Android on the Google Play Store. You should be able to get it either from Google Play, or you can get it from our Download page, available here.

This 64bit version is intended for users with 64bit capable Android devices. Shield ATV would be one of those examples but there are doubtless many others. You can install the 32bit version and 64bit version at the same time on your device. Let us run down the list of what you need to know:

  • Certain cores are going to be exclusive to 64bit. Dolphin is one of those examples, since it lacks a 32bit dynarec entirely and Team Dolphin has no intention of supporting these devices. So for certain cores, 64bit will be the only place to go.
  • Some cores are actually significantly faster with 64bit. Beetle PSX for instance is significantly faster with the 64bit version vs. the 32bit version.
  • Some cores that only have a 32bit dynarec and/or were specifically optimized might be significantly faster on 32bit instead. Dosbox SVN is one of those examples, as is PCSX ReARMed and Picodrive. To help avoid confusion, we are going to be documenting this on our Libretro Docs site. It’s not there yet but it will be in the upcoming days/weeks.

Discord integration

RetroArch 1.7.4 now has extended Discord RPC integration! Previously before 1.7.4, RetroArch would act as any other game in Discord: as a simple “Playing” status that said you had RetroArch open. It wasn’t very descriptive or helpful other than displaying the name “RetroArch”. With the 1.7.4 update, RetroArch will display more information beyond a simple “Playing” status!

Read the blog article below for a more detailed indepth article on this feature:

https://www.libretro.com/index.php/upcoming-retroarch-1-7-4-details-on-discord-integration/

Desktop UI massively improved

NOTE: The Desktop UI is currently only available for Linux and Windows. macOS support might arrive at a later date.

Where to even begin? Let’s just have the videos do the talking –

Grid view with Thumbnails

You can now choose between List and Grid View. Grid View will show thumbnails of all your games, provided you have them installed. You can always install thumbnail packs separately by going to Online Updater and selecting Thumbnail Updater.

Create new playlists easily by drag and drop!

RetroArch 1.7.4 will make creating new playlists from scratch easy as pie! No longer will you be forced to manually select a directory and scan for games; you can now create a new playlist, and then manually drag and drop the roms you want to have in that playlist over to them, and the WIMP UI will do the manual work for you!

(Windows only for now) In-app RetroArch update!

From version 1.7.4 on, it will now be possible to update RetroArch to the latest nightly versions!

Live shader editing with the desktop UI!

Starting as of RetroArch 1.7.4, it is now possible to use the desktop UI to setup your shaders! You are able to add a shader preset and stack additional passes to your shader stack! You are also able to remove any shader passes you please, change shader parameters on the fly, and even reset shader parameters to their default values by pressing the right mouse button on a shader parameter and selecting ‘Reset Parameter’.

Download all thumbnails for a playlist with Desktop UI!

Previously, it was only possible to download complete thumbnail packs per system/game category. The most obvious complaint about this for many people was that they only needed thumbnails for specific games they actually have in their collection.

Now with RetroArch 1.7.4, from inside the Desktop UI you can right click any content from any playlist, select ‘Download thumbnails’, and it will try to fetch the thumbnails for this content from the Github thumbnail repositories.

You can now rightclick on a playlist, select ‘Download All Thumbnails’ – This Playlist, and it will attempt fetching all the thumbnails for a given playlist! You can also cancel this operation at any time by either pressing the Cancel button on the dialog box, or pressing the ‘X’ icon.

Core options in desktop UI!

When you have a core loaded, you can now change the core options inside the Desktop UI!

NOTE: If you leave the core option dialog window open and you happen to unload a core then launch a new core with game, you will have to close the dialog and then reopen it again. It won’t reload itself automatically. This might get looked at in a later version.

Sync To Exact Content Frame Rate – Ideal for G-Sync/FreeSync users!


Blog post written by Tatsuya79

RetroArch 1.7.4 has a new feature that will be especially advantageous to users of variable sync display technologies, such as G-Sync/FreeSync. We call it “Sync to Exact Content Framerate”.

Read the blog article below for a more detailed indepth article on this feature:

https://www.libretro.com/index.php/upcoming-retroarch-1-7-4-sync-to-exact-content-frame-rate-ideal-for-g-syncfreesync-users/

Cheat code searching/creation interface with rumble features


Read the blog article below for a more detailed indepth article on this feature:

https://www.libretro.com/index.php/upcoming-retroarch-1-7-4-cheat-code-searchingcreation-interface-with-rumble-features/

General changelog

– ANDROID: Add sustained performance mode, can be turned on/off in Power Management settings menu.
– ANDROID: Powerstate/battery level support.
– CHEEVOS: Fix crash when scrolling Achievement List while Unofficial Achievements enabled (#6732).
– CHEEVOS: Added hitcounts support for PauseIf/ResetIf (#6817).
– COMMON: Automatically hide “Configuration Override options” in Quick Menu.
– COMMON: Small Bugfix to not trigger savestate code when pressing Reset.
– COMMON: Added libsixel video driver.
– EMSCRIPTEN: Fix Game Focus Toggle.
– HID/OSX: Fix to set hid device registration deterministic (#6497), to address issue #6640 re-adding dynamic device registration.
– LOCALIZATION: Update Italian translation.
– LOCALIZATION: Update Japanese translation.
– LOCALIZATION: Update Polish translation.
– LOCALIZATION: Update Portuguese / Brazilian translation.
– LOCALIZATION: Update Russian translation.
– LOCALIZATION: Update Spanish translation.
– MIDI: Add MIDI support to the libretro API. Dosbox is the first proof of concept core implementing libretro MIDI.
– MIDI: Add a Windows driver for MIDI, based on winmm.
– MENU/QT/WIMP: Qt QSlider styling for Dark Theme.
– MENU/QT/WIMP: Remove button ghostly inside highlighting.
– MENU/QT/WIMP: Initial grid view.
– MENU/QT/WIMP: Drag&drop to add new playlist items, add option to add/edit/delete playlists.
– MENU/QT/WIMP: Add menu option to update RetroArch (Windows only for now).
– MENU/QT/WIMP: Add menu option to manage shaders.
– MENU/QT/WIMP: Add menu option to manage core options.
– MENU/XMB: Add new icons for the settings
– MENU/XMB: Add an option to show the desktop ui
– METAL: Initial work-in-progress video driver for Metal. macOS-only right now, and currently requires macOS 10.13.
– METAL: Supports XMB/MaterialUI, has a menu display driver. Has a font rendering driver.
– METAL/SLANG: Slang shaders should be compatible with Metal video driver.
– NETWORK: Enable SSL/TLS support by default for desktop platforms.
– QNX: Fix Game Focus Toggle.
– PS3: Add audio mixer support for FLAC and MP3.
– PSP: Use proper button labels, fix inverted R-Stick Y axis.
– REMAPS: Fix the way offsets are calculated for keyboard remapping.
– RUNAHEAD: Fix full-screen mode change breaking Secondary Core’s environment variables.
– RUNAHEAD: Deterministic input for RunAhead, guaranteed to match the last polled.
– VITA: Use proper button labels, fix inverted R-Stick Y axis.
– VITA: Add imc0: mount.
– VITA: Use sceCtrlIsMultiControllerSupported to detect.
– VULKAN: Fix two validation errors.
– VULKAN: Try to avoid creating swapchains redundantly. Should fix black screen and having to alt tab out of window again to get display working on Nvidia GPUs (Windows).
– VULKAN/OSX: Initial MoltenVK support. Not enabled yet, several MoltenVK bugs should be fixed first before we can have it fully working.
– WINDOWS/DINPUT: Add rumble support.
– WINDOWS/DINPUT: Fix Game Focus Toggle.
– WINDOWS/RAWINPUT: Fix Game Focus Toggle.
– X11: Fix Game Focus Toggle.
– WII: Change deflicker setting to work in 480p or higher, and always enables vfilter so that the user can easily change brightness.
– WIIU: Fix out-of-bounds rendering bug
– WIIU: Implement UDP broadcast network logging on Wii U.
– WIIU: Audio should no longer clip.

RetroArch 1.7.4 – Cheat code searching/creation interface with rumble features


Post written by RetroSven
RetroArch 1.7.4 has built-in cheat code searching/creating. Additional cheat system updates:

  • “Load Cheats” has been broken into two separate options. One will replace the list of cheats with what is being loaded whereas the other will append to the list of cheats with what is being loaded.
  • Cheat list is now automatically saved and loaded for each game
  • When using left/right to change the values of numbers, there is now a feature that gradually increases the step-size the longer you hold the button
  • Full cheat list management – Edit, Delete, Copy, Add, (to top of list, to bottom of list, above entry, below entry)
  • There are now two different cheat types – Emulator (handled by the emulator, the original type) and the new type – RetroArch – that is handled by RetroArch itself
  • Option to reload cheat file (if you manually edit file while RA is running)
  • Option to auto-apply cheats when loading game
  • Option to auto-apply cheats when toggling them on/off
  • Robust cheat searching interface (see instructions below) which works for just about every RA core
  • Rumble activation based on memory changing. For example, after finding the memory location for the number of lives in a game (via the cheat searching interface) you can set it up such that every time the value decreases (lose a life) the controller rumbles. Rumble tested with X360 controller, input driver dinput, joypad driver xinput. Available rumble controls:
    Rumble when memory value changes
    Rumble when memory value does not change
    Rumble when memory value decreases
    Rumble when memory value increases
    Rumble when memory value = value
    Rumble when memory value != value
    Rumble when memory value < value Rumble when memory value > value

General Guideline for Finding New Cheats:

  • Start game.
  • Go to Quick Menu -> Cheats -> Start or Continue Cheat Search.
  • Use left/right on “Start or Restart Cheat Search” to select a bit-size appropriate to the console you are using and the value your are searching.
  • For example, if you are playing Castlevania:SOTN on the PS1 and you want to search for the health value, then that’s a value that can be greater than 255 (0xFF), but it’s unlikely that the game developers anticipated a value larger than 65535 (0xFFFF) so set the search to 16-bit.
  • An alternate example – if you are playing Space Invaders on Atari 2600 and you want to search for the number of lives, then that’s a value that could possibly be stored in just 2-bits of data (max number of lives = 3) and since the Atari 2600 only has a very small memory space, it’s entirely possible that the memory location for the number of lives is only partially stored in a single byte while the rest of that same byte may store other important data that should not be touched. Set the size to 2-bit.
  • Select “Start or Restart Cheat Search” once you have selected the bit size
  • Go back to the game and lose a life
  • Go back to the quick menu and select “Search Memory For Values … Less Than Before” because when you started the search you had one more life than you do now. You could also try “Search Memory For Values … Equals To Before-1”. The number of matches should go down.
  • If the number of matches is still too great to peruse, then perform actions 5 and 6 repeatedly until the number of matches is something you feel comfortable trying (e.g. 10). If you run out of lives, just reset the game or restore a save state. Then your lives will likely be greater than the last time you checked, so select “Search Memory For Values … Greater Than Before”
  • Once you have a manageable list, select “Add the ## Matches to Your List”
  • Go back one menu to see the codes that have been added. Try turning just one on at a time to see if it has the desired effect. If not, turn it off and try the next one. One of them should be the location in memory that stores your number of lives and enabling the cheat in its default state will result in that memory location being overwritten by the cheat value continuously and voila infinite lives.
  • Alternately, you can “Search Memory For Values … Equal to ###” if you know the exact number (e.g. the number of hit points you have in an RPG).

Over 1000 new cheat and rumble codes added to the database across the following systems:

  • Atari 5200
  • Atari 7800
  • Atari 400/800/1200XL
  • ColecoVision
  • MSX/MSX2
  • NES
  • SNES
  • Sega Master System
  • Sega Genesis
  • TurboGrafx-16/PC-Engine

Incidentally, as a result of all this work, RetroSven also implemented savestate/serialization support for the mainline MAME core, and Reicast!

Many thanks to madmab, Bombbloke, Gilou9999, Bigby, Megaman_? for providing cheat and rumble codes for several different systems!