RetroArch v0.9.9 has officially been rolled out on all platform targets.
The new platforms that are supported with this release of RetroArch are as follows:
- iOS (both jailbroken and non-jailbroken – non-jailbroken requires that you are a registered developer and can compile your own copy of RetroArch + cores)
- Blackberry 10
- Blackberry Playbook Tablet OS
The other platforms which are already supported by the RetroArch/libretro projects have all received updates (with some pretty extensive changes – more on that in an upcoming blog post).
WHERE TO GET IT
Windows: New users can download 32- and 64-bit flavors of RetroArch and RetroArch-Phoenix from Themaister’s site:
Existing users can/should download the new version through RetroArch-Phoenix’s built-in ‘RetroArch Updater’ utility. (this is the preferred update method for existing users to save massive bandwidth!)
Mac OS X users can download hunterk’s builds from this post on the libretro forum:
Debian/Ubuntu/Mint users can add hunterk’s Launchpad PPA repository to their Synaptic/apt sources:
iOS users can find RetroArch iOS in one of Cydia’s default repositories – ZodTTD & MacCiti.
You can also add our own Cydia repository in order to get it, located at:
Most cores will work with both tethered and untethered jailbreaks, but cores that require the use of a dynamic recompiler (dynarec; DeSmuME and PCSX-ReARMed) will require a full, untethered jailbreak to function.
Android users can get the latest version from the Google Play Store. Xperia play controls seem to be wonky, but we hope to have that fixed very soon.
Wii users should use this package:
Blackberry Playbook users should use this package:
Blackberry 10 users should use this package:
PS3 users can get the DEX and CEX versions from the usual sources.
Xbox1 and Xbox360 users can get their respective versions from the usual sources.
OpenPandora users can get builds from lifning’s repo:
It’s almost time for a new release of RetroArch, and there a number of big changes coming up. First of all, RetroArch 0.9.9 will mark the release of RetroArch on iOS and Blackberry 10/Playbook Tablet OS. These ports were made possible with the help of CatalystG and meancoot, respectively – for which many thanks. The iOS port will be released on Cydia and on our forum. It is possible to run it on a non-jailbroken device – but it will require that you are able to code-sign yourself (ie. if you are a registered Apple developer with the ability to code sign).
PCSX ReARMed on iOS
For iOS, perhaps the single biggest hurdle was getting PCSX-ReARMed working, which required notaz to rewrite much of the assembly code to work with Apple’s ancient GAS assembler version (big thanks to him for that!). With that completed, this should be the first time PCSX ReARMed will appear on iOS – through RetroArch.
Elsewhere, Themaister and Squarepusher have been toiling away at a million other features, including the promotion of RGUI to a robust and feature-filled in-game menu system for the platforms that otherwise lacked such a thing, particularly the PC platform (i.e., Windows, Mac OS X and Linux). From its humble beginnings with the Gamecube/Wii port, RGUI now provides a way to change emulation cores, swap out ROMs, configure shaders and more, all without leaving the fullscreen gaming interface:
Cave Story (NXEngine)
ToadKing and Squarepusher have also done some work on ‘uncrippling’ Cave Story (ie. NXEngine). Previously, the file I/O would make it unbearably slow on consoles. This has mostly been fixed now that everything is pre-cached into RAM at initial startup. There are still some incidental dips to 59.50fps and 59.2fps, though, which causes some sound stuttering. The cause of these dips is still unknown but we feel that–compared to before–NXEngine can be safely released on consoles now without being an utter embarrassment. “Xbox 1/360 will require some further patching up of the codebase because NX Engine did some global symbol table trickery and the MSVC linkers have the (oh so ‘smart’) tendency to ‘strip away’ unreferenced symbols as an ‘optimization feature’ with no way to stop it from doing that (even /ref:noopt doesn’t help there),” Squarepusher noted.
The port of TyrQuake will also be bundled with RetroArch 0.9.9. A lot of work went into making it work on Xbox 1 and Xbox 360 – including making the C99 codebase cross-compilable as C++98 and (for Xbox 1) resorting to a hacked-up template ‘typeof’ implementation (ye, don’t ask) for MSVC 2003. “I also threw in some additional ‘hackish’ features like ‘dither filtering’ (borrowed it from some guy that implemented it earlier) – this more or less looks like the Unreal 1 software renderer’s ‘bilinear filtering’ implementation,” Squarepusher said. “There is also a third-person chase cam view and a way to ‘lerp’ the animations (ie. add key-frame interpolation in order to make the animation of enemy models look smoother and have more frames of animation than they originally did).”
“I plan to eventually rebase the TyrQuake port and push it upstream to the original authors (ie. the maintainers of TyrQuake) – I did a lot of careless code rewriting that I’ll be sure to avoid for the rebase,” he added.
There has been a major overhaul of the way shaders are handled, which has paved the way for advanced, multipass shaders that can be easily setup by end users without needing to tinker with any code. As part of these changes, the old XML/GLSL shaders with fixed-pipeline functions have been deprecated, but will still work just fine. In the future, we ask that interested shader authors try to stick to the multiplatform Cg format when possible. The GLSL/GLES formats will still be supported for compatibility with platforms that don’t support Nvidia’s Cg Toolkit, such as Android and iOS, and Cg shaders can be converted to these legacy formats programmatically using Themaister’s cg2glsl python script.
A couple of examples of newly written shaders that utilize some of the recently added features are Themaister’s NTSC Composite shader, which should work well on any libretro core, and Harlequin’s Gameboy shader:
There is no firm release date for v0.9.9, but if you would like to try any of these features out or get involved in the development, you can grab the code from git and compile it yourself for your platform of choice. If you have any questions about these features or RetroArch/libretro in general, stop by the libretro forums or drop by #retroarch on Freenode IRC.
In many ways this is the release that the original should have been. We have been working non-stop for the past week to iron out most of the major complaints and we believe this is a much more well-rounded package now.
New key features (0.9.8.1)
- Higher-resolution overlays (old ones are still available for older devices)
- Now compatible with Android 2.3+
- Fixed Wonderswan core (Mednafen Wonderswan)
- Numerous PCSX ReARMed improvements (PAL games should be fixed and emulator should now work on devices that didn’t work before)
- Custom input mapping
- Numerous pads added to autodetection list (see below).
APK Link (r8) – https://anonfiles.com/file/0afb3a1b35c4280139a6fcb24742ecc1
r8 (Jan 30, 2013) – VERSION 0.9.8.1
* Is now compatible with Android version 2.3 and up.
* Back button issues with certain gamepads should now be fixed.
* Wonderswan core was broken (Mednafen Wonderswan) – is now fixed.
* ‘Detect’ button for manual input binding for touchless devices.
* Old overlays are back and put into a directory called ‘Low-resolution’ for devices with slower CPUs –
the higher-resolution ones are somewhat more demanding than the original 256×256 ones.
* Input autodetection expanded –
– DragonRise USB Gamepad
Test that was released on certain forums – never pushed to Play Store.
r6 (Jan 29, 2013)
* PlayStation1 [PCSX ReARMed] core fixes (from notaz)
– Fixes 50Hz PAL games (were running with sound being too fast and other irregularities before)
– Should fix emu crashing on some devices due to memory mapping issues.
* New system-specific overlays added – on new installs only these new ones will be there and the old bad ones will no longer be there. On pre-existing installs – just use the new ones – they should be much better. If you’re still unsatisfied, nothing is stopping you from editing these files yourself with a text editor and an image editor – it’s really simple to do.
* New ‘custom binding’ when you turn off ‘Configuration Autodetect Enable’ – allows you to manually put in button mapping in case we don’t support your pad. Note – it’s probably more reliable right now to select the ‘keycode’ from the dropdown list instead of pressing the button on the pad.
– Input autodetection expanded –
– Trust Raptor
– Should fix Logitech F710/Elecom/RetroUSB NES/etc
r5 (Jan 28, 2013)
* Input autodetection expanded
– Archos gamepad
– Xperia Play
– Xbox 1 (Titanium X-JoyConverter)
– Xbox 360 (wired)
– Red Samurai Bluetooth
– Another variant of Mayflash Wii Classic
– RetroUSB SNES RetroPort
– RetroUSB NES RetroPad
– Buffalo SNES Pad
– Logicool F710 (Japanese Logitech F710)
– Elecom PS1/PS2 to USB
r4 (Jan 27, 2013)
* Input autodetection expanded
– Nyko Playpad Pro
* Fixed bug where device name would not be onscreen for long enough –
useful for reporting input name
r3 (Jan 26, 2013)
* More user-friendly core selection names
* Input autodetection expanded
– Added Mayflash Super Joy Box 3 Pro
– Added JXD S5110
– Added Logitech Dual Action
– Added Snakebyte idroid
By Squarepusher – This will be more like a development diary to document the continuining development of RetroArch and all things related to libretro.
Meancoot made a libretro port of Desmume last week. There are currently some talks between me and zeromus to get this port merged into Desmume mainline. I’ll try to get this done ASAP.
Desmume is a Nintendo DS emulator.
Link to repository: https://github.com/libretro/desmume-libretro
The libretro port has recently been adopted by FCEUmm author Ca4e3.
FCEUmm is a Nintendo Entertainment System /Nintendo Famicom emulator. This fork of FCEU focuses on experimental mapper compatibility among other things.
Link to repository: http://fceumm.svn.sourceforge.net/viewvc/fceumm/.
I will continue to update both our own repo on Github as well as submit patches back to mainline whenever a change has been made to the libretro API that affects the port.
Also done by an external party, lifning (who also takes credit for the RetroArch Pandora port) spent some time making a libretro port of TGB Dual last week.
TGB Dual is a Game Boy / Game Boy Color emulator with one unique feature – it allows you to play Game Link-compatible games in two-player splitscreen mode. This works by using the Sufami Turbo API functions in libretro where two cartridges have to be loaded one after another (one each for each player with his own Gameboy).
Note that Sufami Turbo loading functionality is not yet in the RetroArch console ports and will need to be added later by me.
Link to repository: https://github.com/libretro/tgbdual-libretro