RetroArch 1.7.8 (v3) released + big core updates! (bsnes HD, Flycast, Android, etc)

RetroArch 1.7.8 was a very ambitious release, and as a result, it is taking some time to iron out some of the kinks. Instaed of leaving you waiting for a month again to fix some crucial bugs, we’d rather release these point fix releases first instead so that we leave you with a rock-solid 1.7.8 in the end while we then shift our focus and attention to 1.7.9.

In light of that, we are releasing version 3 right now, which will be especially beneficial for Mac users. The future-proof Metal Mac version should now work flawlessly on Macs with an AMD graphics card (they previously produced heavy graphics glitches inside the menu). It has just been released! Grab it here.

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

For all other details surrounding version 1.7.8, we refer you to our original article here.

Changes

  • GLCORE: Ensure correct scaling of menu texture (with RGUI)
  • IPS: Soft-Patch any IPS size
  • METAL: Fix overlay issue – setup correct viewport before rendering overlay
  • METAL/STB: Fix font driver issue with AMD GPUs on MacOS.
  • MENU/RGUI: Correctly rescale menu when resizing window if aspect ratio lock is enabled.
  • OSX: Remove OSX suffix in window title
  • PSP: Fix audio conversion code
  • REMAPS: Fix analog remapping regression -analog remapping would break controls

bsnes HD – Released for Windows/Linux/Android, and soon iOS and Mac!

bsnes HD should now be available on Linux, Windows and Android for RetroArch users! It’s based on the latest version of bsnes, and it should be significantly faster than previous bsnes versions.

In this video, we show you some of the HD Mode 7 features that are unique to this version. They make for a fairly significant difference overall as we’re sure you’ll agree!

This core is not fully complete yet and might still have some omissions. Also, the ‘bsnes HD’ name is temporary, and we will be doing some house cleaning of the various bsnes cores we are maintaining soon. The plan is to have an improved Core Updater in later RetroArch versions that allows for better categorization and filtering in the future so that users can more easily manage their cores.

On Android for the first time!

This is the first time the latest version of bsnes will appear on Android, courtesy of Libretro/RetroArch! Our core version of this is called bsnes HD, and you can grab it from the Core Updater right now! Just make sure to update the core info files first (by going to Online Updater, then selecting ‘Update Core Info Files’). bsnes HD should be a fair bit faster than the other bsnes cores already available, plus it has enhanced overclocking features and the acclaimed HD Mode 7 features.

In this video you see it running on a Samsung Galaxy S10+ (Exynos model) with 3x HD Mode 7 scaling applied, and it runs at fullspeed all the way.

User and contributor harakari has reported that he can run HD Mode 7 at 4x scaling and still have games run at fullspeed on his iPhone XS Max, so if anything, expect even better performance on high-end iDevices!

Flycast – WinCE core now 30% faster on average and sound improvements!

The FlycastWinCE version should now be 30% faster on average for non-Windows CE games! We have figured out a way to have the Windows CE code additions no longer affect the main performance of the emulator. For that reason, after we have ironed out some of the final kinks, you can expect there to be only one Flycast core moving forward. On top of that, flyinghead has really gone to town with some much needed audio improvements on the AICA and DSP side. Witness this long standing audio sample bug that is now finally fixed with the game Resident Evil: Code Veronica. This and many other sound bugs (such as the audio samples continuing to be repeated during the battle loading scenes in Soul Calibur) have been fixed now.

World-first – Windows CE Dreamcast games running on Android!

The Flycast WinCE core is now available for Android users!

  • 30% speedup in non-Windows CE games thanks to extensive optimizations made to the dynarec by flyinghead. No more performance reduction of non-Windows CE games.
  • Windows CE support further improved.

It is now possible to play Dreamcast Windows CE games on Android! Please be aware that this is very CPU intensive and that you should probably expect 15 to 25fps on high-end Android phones right now.

Note that Windows CE games could still be unstable on Android, and that you need a real BIOS for Windows CE to work. It won’t work with the HLE BIOS.

NOTE: We anticipate that after the final kinks has been ironed out, that we will merge the Windows CE parts of this core back into Flycast, and that the separate Flycast WinCE core will disappear from there on. So this separate core is only a temporary thing for now. We will let you know when this will happen. Video was recorded on a Galaxy S10+.

Mupen64 Plus Next – No more 10 second startup times on Windows!

Thanks to an important bug fixed by mudlord, Mupen64 Plus Next should no longer take up to 10 seconds to start up any game on Windows.

Mupen64 Plus Next is an up to date version of Mupen 64 Plus with the latest GlideN64 renderer.

More progress reports on other cores soon

Cores are often updated on a daily basis, and a lot of the times, all the amazing enhancements and improvements they receive go underreported because we’re so busy with development. We feel it is time to shine more of a light on these changes, so we will be doing more periodic updates on core updates as they come along.

Flycast – Progress Report -HLE BIOS – no longer requires external BIOS!

New version will be available later today on the Buildbot!

Flyinghead has significantly improved HLE BIOS support to the point where 90% of Dreamcast games (both regualr and Windows CE-based games) should now be supported! Previously, compatibility with the HLE BIOS was quite abysmal, to the point where we couldn’t justify enabling it by default. So this marks an important point where users are no longer required to go seek out an external Dreamcast BIOS and can just run a Dreamcast game out of the box without needing to setup a specific BIOS!

A couple of notes:

  • ‘HLE BIOS’ is now enabled by default. If you wish to disable it and rely on a real external BIOS, you go to Quick Menu -> Options, and disable ‘HLE BIOS’ there.
  • The ‘Fast GD-ROM Loading’ option right now doesn’t work with the HLE BIOS. Disable ‘HLE BIOS’ if you want to make use of this feature.
  • Previous savestates are no longer compatible with this current version. Later on, compatibility with these older savestates will be restored. We will let you know when that happens. Until then, we recommend making new savestates.

When do I get to use this?

Today! Updated versions of both Flycast cores (regular and Windows CE versions) are being uploaded to the buildbot as we speak, so you’ll be able to play with this later today if all goes well.

More progress

  • Flyinghead intends to merge the regular and Windows CE versions into one version come September. The inclusion of Windows CE/MMU codepaths should no longer slow down regular non-Windows CE games. On the contrary, SSA and lots of optimizations done for Windows CE will benefit the non-Windows CE games as well, so you can expect this universal version later on to be a bit faster.
  • This closed source emulator recently added support for this – flyinghead has already been able to match this in his branch. Like the other emulator, it should result in Street Fighter III 3rd Strike being rendered correctly, along with in-game screen adjustment being possible. It should be noted though that more regression testing is needed first because changes like these can have an adverse effect on other games that are currently being rendered fine, like Metropolis Street Racer. We rather suspect not enough testing was done to check for regressions in this other emulator since flyinghead was able to see a bunch of regressions as part of this feature being added, so we’d rather not jump the gun.

Open source Dreamcast emulation has seen a tremendous boost ever since flyinghead appeared on the scene. Whereas open source Dreamcast emulators seemed previously hopelessly behind something like Demul from a compatibility and accuracy perspective, right now it seems we are well on track to matching it save for Flycast not being able to emulate certain specialized arcade systems like Naomi 2, which are technically not really Dreamcast/Naomi 1 anyway but its successor.

So, right now, Flycast is in a very good spot:

  • It allows you to run Sega Naomi games. Only other emulators that support this are DEmul and Makaron (both closed-source).
  • It allows you to run Windows CE games. Only other emulator that supports this is DEmul (closed-source).
  • There are no limitations on savestates and internal resolutions, there is no paywall to speak of. Savestate support was added years ago.
  • Modem support. DEmul only supports Broadband Adapter support, but Flycast supports actual modem support (32K/64K models).
  • There is built-in zero configuration online multiplayer support, that works cross-platform with real Dreamcasts as well. Flycast is currently the only Dreamcast emulator available so far that supports this.
  • You can enable VMU support and configure where the VMU screen gets displayed onscreen. Up to 4 VMUs at a time can be displayed onscreen.
  • It has a work-in-progress HLE BIOS implementation that has about a 90% compatibility rate. It even works with Windows CE games.
  • It runs on 32bit systems as well as 64bit systems, and is available for x86 and ARM.
  • It has been available on Android and iOS for years now.

We might even add real CD-ROM support soon to it, so that it can run CD-R based backup discs!

 

 

Online support for Dreamcast Windows CE games coming soon in Flycast!

Online support for Dreamcast Windows CE games coming soon in Flycast!

Courtesy of flyinghead (the brains behind the last two years of Reicast development) – online support for Windows CE… coming soon in Flycast! Available as standalone and available as a Libretro core for use in RetroArch!

The screenshot you see above comes from 4×4 Evolution, a racing game that uses Windows CE on the Dreamcast.

Opensource Dreamcast emulation keeps going strong!

Also, flyinghead has recently fixed a bug on the Naomi side that prevented Gun Survivor 2 from working properly. Expect to see a video on that soon!

Flycast WinCE Libretro – Experimental core released!

Courtesy of flyinghead, today we’re releasing a special version of Flycast with Windows CE support enabled! Our reason for releasing this is that we want users to report back as many issues as possible so the kinks can be ironed out.

What’s this about?
Windows CE was an option available to Dreamcast developers that made it much easier to port their game from PC to Dreamcast. Windows CE is/was a subset of Win32, stripped down so that it could be used on low-powered embedded devices instead of expensive desktop computers. PC developers that were used to dealing with DirectX on Windows PC could easily convert their game over to Dreamcast using Windows CE. Hence why you saw a lot of ports at the time from PC-centric western developers that would normally not touch game consoles.

Windows CE emulation (or rather, full MMU support) has been one of the biggest things missing from open source Dreamcast emulation up until now. It is often not enabled in main builds because emulating it requires emulating the MMU (Memory Management Unit) of the Dreamcast, which makes emulation much slower. So far, only Demul (a closed-source Dreamcast emulator) has something resembling full MMU support.

Now finally, open source is beginning to catch up. About time. Dreamcast is over 20 years old at this point, the people that grew up with it are all getting older as time goes on, and it shouldn’t taken another 10 years for all of this stuff to be properly preserved and documented. Flyinghead has done an absolutely incredible job over the past year or so in singlehandedly turning Flycast from something that was worse than nullDC in compatibility and graphics accuracy into the closest we have to an actual competitor to Demul, and we couldn’t be more happy with that. He spent a lot of time in making sure this release was ready today, and we hope you will put it through its paces.

How to get it

1) First, make sure that you have all core information files installed. Go to RetroArch’s main menu, select ‘Online Updater’, and select ‘Update Core Info Files’.

2) Go to ‘Online Updater’ -> ‘Update Cores’. Scroll down the list until you reach ‘Sega Dreamcast/NAOMI (Flycast WinCE)’. Install it.

System requirements

Flycast WinCE has higher system requirements than the regular version. The most important things you need to know:

  1. You can only expect borderline acceptable performance right now on PC x64 systems. ARM64 and ARM 32bit will likely be too slow at Flycast WinCE to be playable.
  2. The Linux x64 version right now is the fastest of them all. The macOS x64 version should also be comparable in performance.
  3. The Windows x64 version is currently much slower than the Linux/Mac versions.

Consider this core a work-in-progress. Bugs are to be expected, fairly demanding requirementsare likely to be expected for now. Things can only get better from here.

Compatibility

Below is by no means an exhaustive list of all games on Dreamcast that used Windows CE under the hood, along with their current playable status in Beetle WinCE at the time of this writing.

The most complete listing we found so far of Dreamcast WinCE games can be found here.

4×4 EvolutionPlayable
Name Status
Atari Anniversary Edition Playable
Armada Playable
Bang! Gunship Elite Playable
Bust-A-Move 4 Playable
Caesars Palace 2000: Millennium Gold Edition Playable
Championship Surfer Playable
Ducati World Racing Challenge Issues
Half-Life Playable
Happy Lesson Playable
Hidden & Dangerous Playable
KISS: Psycho Circus: The Nightmare Child Playable
Kita e. White Illumination Playable
Maximum Pool Playable
Midway’s Arcade Greatest Hits Volume 1 Playable
Midway’s Arcade Greatest Hits Volume 2 Playable
Nightmare Creatures 2 Playable
Q*bert Issues
Railroad Tycoon II Playable
Railroad Tycoon II (PAL) Playable (set Broadcast to PAL)
Resident Evil 2 Playable
Sega Rally 2 Playable (DIV match must be disabled)
Sno-Cross Championship Racing Playable
South Park: Chef’s Luv Shack Playable
Spirit of Speed 1937 Playable
Starlancer Playable
The Next Tetris Playable
Tomb Raider: The Last Revelation Playable
Tomb Raider Chronicles Playable
Tom Clancy’s Rainbow Six Playable
Virtua Cop 2 Playable
Wild Metal Playable
Who Wants To Beat Up A Millionaire Playable
Worms Armageddon Playable (DIV match must be disabled)
Worms World Party Playable

Notes

  1. Many Windows CE games are region-sensitive. Make sure to set the region and broadcast to the right ones – as most Windows CE games won’t run in a different region (although Default might often times work fine). You can change these settings by going to Quick Menu -> Options.
  2. If performance is lacking, try the Threaded Renderer, this can really help. You can enable or disable this by going to Quick Menu -> Options.
  3. Some Windows CE games will flat out not run if DSP is not enabled. So in case a game doesn’t work, try first turning that on.
  4. Enabling DIV matching can lead to some Windows CE games outright not working. As a general precaution, we advise that you leave DIV matching off. Sega Rally 2, for instance, requires that you leave DIV matching off.
  5. Other enhancement/hackish features, like Fast GD-ROM Loading, are best left off in case you experience compatibility issues.

Screenshot gallery

Videos

Check out these videos by flyinghead –

Flycast Libretro now supports online multiplayer! Zero-configuration online Dreamcast gaming for the first time ever!

Flycast Libretro has now gained modem and PPP support. It leverages dreamcastlive.net which makes it possible to still play these games while their original servers are down.

Grab the latest core from the buildbot in order to use this! It should work on Windows, Linux, Android, and potentially even macOS seamlessly without having to input an IP address, thanks to true zero-configuration multiplayer! To our knowledge, this is the first time a Dreamcast emulator offers true zero-configuration multiplayer support like this. Demul requires a complicated TAP driver/OpenVPN configuration, and modem support was not implemented yet since the last time we checked.

How to configure online

In this video, I will boot up one of the games that allows you to set your ISP network information. You will need to do this before online multiplayer will work in Dreamcast games such as Phantasy Star Online.

One of the games that lets you do this is Quake III Arena. Other games that allow you to do this include (but are not limited to) Ooga-Booga and Toy Racer.

Input any username and password combo you want, and only input a local phone number. It can be completely bogus, it can be 666 or 888, whatever you want.

After that, you press Dial. These details will now be saved to your NVRAM, and from there, this same ISP info will be used for every subsequent multiplayer game onwards, such as Phantasy Star Online.

BTW – if you are on Windows, you might get a warning at some point from Windows Firewall if you want to allow a connection – select ‘Yes’.

Phantasy Star Online gameplay footage

In this session, you see me and flyinghead meeting up in a lobby in Phantasy Star Online and doing some hunts together! We are both using the same version of Flycast Libretro inside RetroArch.

As you can see, online works surprisingly well! All kudos to flyinghead for implementing the code necessary to be able to emulate this!

Hopefully in the near future we will have keyboard and mouse support to complement all this! It is already in flyinghead’s own branch of flycast right now.