BeetleDC Libretro and BeetleDC OIT Libretro merged into one! What you need to know…

Flyinghead has succeeded in merging both renderers into one. As a result, we no longer require a separate core for BeetleDC OIT, and there will be only one BeetleDC core from now on, simply called BeetleDC Libretro.

Recommendations

Moving forward, we recommend that you remove the BeetleDC OIT Libretro core from your cores directory, and leave only the regular BeetleDC Libretro core instead. This file should be called reicast_oit_libretro.{so/dll/dylib}. You can also remove the core info file that exists for it inside your Core Info directory. We have already proceeded to remove these files from our buildbot, but these files will be left lingering in existing installations unfortunately, necessitating this manual cleanup by the user.

So how do you switch between OIT and non-OIT now?


By default, BeetleDC Libretro will boot in non-OIT mode. You can tell if this is the case by going to Quick Menu -> Options and checking the ‘Alpha sorting’ option. If it’s set to ‘Per-triangle’ or ‘Per-strip’, the non-OIT GL2/GL3 renderer is used. You can use OIT mode by setting it to ‘per-pixel’ and then restarting the core.

Make sure that just like before, OIT mode (per-pixel accuracy) requires a video card that has OpenGL 4.3 support. Be aware that OIT mode is also much more GPU intensive than either per-strip or per-triangle alpha sorting. You might really need a good discrete GPU in order to be able to play this at decent speeds.

For which platforms is OIT mode (per-pixel alpha sorting) available?

It should be available for both Windows and Linux builds. macOS only supports OpenGL up to version 4.1, so per-pixel alpha sorting has to be excluded from this version unfortunately (since it requires GL 4.3).

Core Updates Summary and more Switch updates – October 2018

RetroArch Switch NSP


We now provide an NSP file for Switch straight from our Download page. The main reasons for using this are:

  • Being able to launch RetroArch straight from the main menu instead of having to boot Hbmenu first.
  • The Mupen64plus core requires more memory to be allocated than Hbmenu currently allows for. Mupen64plus will only work through the NSP file.

You can grab this from our Downloads page here.

Please be aware of the following disclaimer that should pop up before you use this:

WHEN USING THIS, YOU NEED TO BE PREPARED THAT A REAL RISK EXISTS THAT YOU MIGHT BE BANNED [FROM NINTENDO’S ONLINE SERVICES]. USE OF THIS FILE IS THEREFORE DONE AT YOUR SOLE RISK AND IS WITHOUT WARRANTIES OF ANY KIND BY US, EXPRESSED, IMPLIED OR OTHERWISE INCLUDING WARRANTIES OF TITLE, FITNESS FOR PURPOSE, MERCHANTABILITY OR NON-INFRINGEMENT. Under no circumstances are we liable for any damages arising from the usage of this file on your Nintendo Switch.

New Switch cores! 49 Cores now!

Just a few days after launch, we already have a few new cores for the Nintendo Switch available for Nintendo Switch! You can grab these new cores by going to ‘Online Updater’ -> ‘Update Cores’ from within RetroArch, and downloading them one by one.

Let’s quickly run through some of them:

Mupen64plus


This is an early port of Mupen64 Plus for the libnx Switch port! Please be aware of the following:

  1. You will need to install RetroArch NSP and boot it straight from the main menu in order to be able to use this core. Mupen64plus requires more memory to be allocated than Hbmenu allows for.
  2. The framerate right now is not great. This is as a result of there being no dynamic recompiler right now, it just uses a cached interpreter core instead.

NOTE: Everybody is completely aware of the lacking performance of the current Mupen64plus. This is simply a proof of concept for now. Remember, once this bounty (which has amassed so far an amazing $1K+ in little over a week) is finally completed, most games will be running at fullspeed effortlessly on Switch with this emulator!

What this core illustrates is that libretro GL works fine on RetroArch Switch. You can expect to see more libretro GL cores being ported over to Switch in the near future. We are excited for what the future holds over this!

Mr. Boom

This is a great homebrew Bomberman clone made by franck. Up to 8 players can play locally, and you can even setup AI bots that will play against you in either singleplayer mode or multiplayer mode. This should be a perfect fit for the Switch with one Joy Con doubling as two controllers.

GW – Game & Watch

This is a Game & Watch simulator. It runs simulators converted from source code for the games available at MADrigal. Each simulator is converted with pas2lua, which was written specifically for this purpose, and uses bstree, which was also specifically written to obfuscate the generated Lua source code as per MADrigal’s request.

For more info, read this article here.

This core is courtesy of leiradel, who personally ported this over to Libretro.

81

81 is a port of the EightyOne (a.k.a. THE Sinclair Emulator) to libretro.

EightyOne emulates a number of ZX80, ZX81, clones, and other computers based on the same hardware:

* Sinclair ZX80
* Sinclair ZX81
* Timex TS1000
* Timex TS1500
* Lambda 8300
* Ringo R470
* MicroDigital TK85
* Jupiter ACE

However, 81-libretro only emulates the Sinclair ZX81 with 16Kb RAM for now. Other machines will be added as time permits. Push requests are welcome.

The port correctly loads and runs some many games I have around in the p format. tzx format is also supported.

EightyOne also emulates some ZX Spectrum machines, but those were left out of this core on purpose. For a ZX Spectrum core for libretro, see the Fuse core.

This core is courtesy of leiradel, who personally ported this over to Libretro.

FUSE

This is a ZX Spectrum emulator.

For more info, read this article here.

This core is courtesy of leiradel, who personally ported this over to Libretro.

FB Alpha 2012 Neo Geo for Wii – Virtual Memory support!

Wiimpathy has now added Virtual Memory support for the Nintendo Wii! Finally, those bigger Neo Geo ROMs that were previously impossible to load on RetroArch Wii can finally be played with FBAlpha 2012 Neo Geo core!

Here are some notes left behind by Wiimpathy:

It uses the Wii NAND flash as virtual memory. The games also have to be converted/decrypted first to cache files with a PC program called romcnv.
This program is a modified version of romcnv used for MVS2PSP.
Romcnv binaries: http://www.mediafire.com/file/xb783jd9mxhgbos/romcnv_R2.zip
Romcnv Source: http://www.mediafire.com/file/14a55bohl5u1suo/romcnv_src.zip

Note that a few games(SNK Vs Capcom PCB for example) are still too large with this method.

Dosbox SVN – Dynarec on 32bit Windows/Linux and 32bit Android

radius has done extensive work on a new Dosbox libretro core. The dynarec has now been made to work on the following platforms:

  1. 32bit Windows/Linux versions
  2. 32bit Android versions

You can now play fairly modernish games like Duke Nukem 3D (from an MS-DOS perspective) on Dosbox at fullspeed!

But there is more! There is even MIDI playback implemented, and netplay works via IPX.

Reicast

Last time we reported on Reicast, we had full keyboard support implemented which was already hot on the heels of full multiplayer online support with zero network configuration. Since then, flyinghead has not been exactly sitting still. An overview of the progress that has been made since:

  1. Lightgun emulation support (House of the Dead 2 (US and EU), Confidential Mission (EU), and Death Crimson 2 (JP) all confirmed working)
  2. Various crucial graphics bugs have been fixed on both Android and ARM Linux. FMVs should no longer show a black screen and Soul Calibur’s characters should no longer be black (due to high quality textures not being rendered).
  3. Threaded rendering mode’s stability has been further increased.
  4. A bug existed that caused white lines on the top and right side of the screen. Various games exhibited this. This has now been fixed.
  5. Further improved CHD image support.

The next thing flyinghead is planning to do is merging both Reicast and Reicast OIT into one, so that we no longer need to have two separate renderers/cores!

Libretro Status Updates

So, what have we been up to?

Dolphin and Ishiiruka cores

The Dolphin libretro bounty has led to this rebasing of the Dolphin libretro core. It is now up-to-date with the latest sourcecode, and it now supports OpenGL, Direct3D11 and Vulkan! It is even available for RetroArch on Android right now, provided you use the AArch64 version (since Dolphin itself requires a 64bit CPU on Android anyway).

In addition to this, I have also taken a look at porting Ishiiruka (a Dolphin fork) to Libretro. This one is not as far along yet as the mainline Dolphin core, but we are already making steady progress with the OpenGL renderer!

RetroArch 1.7.4 – WIMP updates

There will continue to be improvements to the WIMP UI in RetroArch 1.7.4. One of the big new features will be a fancy grid view. Previously, the WIMP UI only had a list view.

Beetle PSX HW

Some important bugs have been fixed. Finally, mask bit emulation has been (hackishly) implemented by flyinghead for the OpenGL renderer, so Silent Hill’s fog finally displays properly. iCatButler has made PGXP much more robust over the past few weeks, which has led to many rendering bugs being fixed when PGXP is enabled.

Reicast

You can read about all of our improvements to the Reicast core in this separate blog post here.

Beam racing bounty – up to $1132!

The beam racing bounty has fetched $1132 so far!

RetroArch is already at the tip of the spear when it comes to latency mitigation strategies with features like runahead, configurable max swapchains, frame delay, custom video context drivers, etc. Beam racing is a new lagless VSYNC technique has been developed that is already implemented in some emulators like WinUAE. The aim of this bounty is to finally implement it in RetroArch as well, and the users/devs that want it have put their money where their mouth is for this particular feature!

BeetleDC Libretro – Updates 26-7-2018

BeetleDC Libretro and BeetleDC OIT Libretro have recently been updated.

Here is a listing of all the changes/fixes/improvements:

  • (Dreamcast/Compatibility) Eldorado Gate – Broken opening FMV fixed (link)
  • (Dreamcast/Compatibility) Demolition Racer now works (link)
  • (Dreamcast/Compatibility) Redline Racer – Graphics bugs fixed (link)
  • (Dreamcast/Compatibility) Fixed rendering issues with Tokyo Xtreme Racer games (link)
  • (Dreamcast/Compatibility) Conflict Zone – Modern War Strategy now works
  • (NAOMI/Compatibility) Metal Slug 6 now works without graphics bugs

BeetleDC OIT – Increased compatibility with AMD/Intel GPU drivers

AMD GPU owners on Windows/Linux and Intel HD users on Linux/Mesa should probably be able to use the Reicast OIT core now, as several GLSL compliance bugs have been fixed by now.

Note that BeetleDC OIT can still be very buggy for Intel HD users on Windows, and slow to boot. The renderer really lends itself better to discrete GPUs from AMD/NVidia.

Render to texture upscaling!

Previously, games which rendered to texture (such as Dead or Alive 2 or Crazy Taxi) would always output at 1 x native resolution. Now, you can set the upscaling factor. Games which render the screen to a texture should look much better as a result, provided your GPU is up to the task.

An example – here is a comparison of the Crazy Taxi pause screen – left is 1x native resolution, right is 4x upscaled –

xBRZ Texture upscaling

This new setting allows you to upscale all the textures in a game up to 6 x their original resolution using the xBRZ texture filtering algorithm! See it in action with Shenmue in this video below –

BeetleDC Libretro – Updates!

BeetleDC Libretro and BeetleDC OIT Libretro have recently been updated.

Here is a listing of all the changes/fixes/improvements:

  • (BeetleDC Libretro) – now requires OpenGL 3.0 core profile (and GLSL 1.30).
  • (BeetleDC Libretro OIT/OpenGL) – Increased compatibility with other GL 4.3 driver implementations.
  • (BeetleDC Libretro OIT) – Several performance improvements.
  • (BeetleDC Libretro OIT) – Fixed graphics issues in Resident Evil 3: Nemesis (link).
  • (Reicast Libretro OIT) – Fixed graphics issues in Dino Crisis (link).
  • (Dreamcast/PVR2) Bump mapping implemented (used in Rayman 2/Shenmue 2) (link).
  • (Dreamcast/PVR2) Trilinear filtering implemented (needed by NFL 2K2 in particular to display some ground textures correctly).
  • (Dreamcast) Bomberman Online – Fixed glitching title screen (link).
  • (Dreamcast/Compatibility) Shenmue 1 crashes fixed (thanks to x64 Dynarec CheckBlocks implementation)
  • (Dreamcast/Compatibility) Shenmue 2 crashes fixed (thanks to x64 Dynarec CheckBlocks implementation)
  • (Dreamcast/Compatibility) Alone In The Dark: New Nightmare – improvements to YUV / palette textures – no more downgraded colors in backgrounds (link).
  • (Dreamcast/Compatibility) Dead or Alive 2 LE (Japan) crashes fixed.
  • (Dreamcast/Compatibility) Draconus – Cult Of The Wyrm/Dragon’s Blood – fogging graphics glitch fixed (link).
  • (Dreamcast/Compatibility) Evolution: The World of Sacred Device (UK) now renders flat shaded polygons correctly (link).
  • (Dreamcast/Compatibility) Shadow Man works now. Set Cable Type to VGA or otherwise it will crash after the Dreamcast boot screen.
  • (Dreamcast/Compatibility) NBA 2K/2K1/2K2 now work.
  • (Dreamcast/Compatibility) Napple Tale crash no longer happens after leaving the circus.
  • (Dreamcast/Compatibility) Ooga Booga now goes ingame, some issues still remain though.
  • (Dreamcast/Compatibility) Soldier Of Fortune AI bugs fixed (link).
  • (Dreamcast/Compatibility) Test Drive Le Mans/Le Mans 24 Hours now works, still some audio glitches though.
  • (Dreamcast/Compatibility) Looney Tunes Space Race now works.
  • (Dreamcast/Compatibility) Wacky Races now works, still has some graphics glitches though.
  • (Dreamcast/Compatibility) San Francisco Rush 2049 – screen display issues fixed – Screen cropped at the top (link).
  • (Dreamcast/Compatibility) Fur Fighters now goes ingame, some issues still remain though.
  • (Dreamcast/Compatibility) Twinkle Star Sprites no longer unplayably slow due to excessive logging.
  • (Naomi) Analog input implemented for games like Monkey Ball/Virtua Tennis 2.
  • (Naomi) EEPROM saving/loading implemented.
  • (Naomi/Compatibility) Hokuto No Ken / Fist Of The North Star now works.
  • (Naomi/Compatibility) King of Fighters New Wave – no longer crashes during fights, there are still display glitches though.

Also be sure to check our Youtube channel, where you can view a lot of videos on recent BeetleDC Libretro developments and more!