ECWolf Wolfenstein 3D Libretro core WIP available today on Windows/Mac/Linux/Android!

ECWolf Libretro running on RetroArch at high resolution and widescreen enabled

A new Libretro core is being made available for RetroArch and other Libretro frontends today! ECWolf is a Wolfenstein 3D source port game engine. This port is courtesy of phcoder.

ECWolf can run the following content:

  • Wolfenstein 3D
  • Spear of Destiny
  • Super 3D Noah’s Ark

It will be available today for the following platforms:

  • Linux
  • Windows
  • macOS
  • Android

It will probably be released over time on other platforms.

How to get it

There are two ways to install and/or update the ECWolf core:

a – If you have already installed the core before, you can go to Online Updater and select ‘Update Installed Cores’.

b – If you haven’t installed the core yet, go to Online Updater, ‘Core Updater’, and select ‘Wolfenstein 3D (ECWolf)’ from the list. It will then download and install this core.

How to play it with the shareware version

If you don’t have the full registered version’s data files to play with, you can still get the shareware version. We provide this in an easily obtainable way to you, so let’s go through the steps. Start up RetroArch first. Then do the following:

1. Go to Online Updater, ‘Content Downloader’.

2. Go to ‘Wolfenstein’, and download ‘Wolfenstein 3D (Shareware).zip’.

3. Now go back to the Main Menu. Select ‘Load Content’, and select the ‘Downloads’ directory. Select ‘Wolfenstein 3D (Shareware)’, and then select ‘WOLF3D.EXE’. Start this with the ECWolf core when asked about it.

Current status


This port is currently incomplete but already has a lot of functionality.

NOTE: You need the file ‘ecwolf.pk3’ inside either your System directory, or the same directory as your content. You can get this file from within RetroArch through the Content Downloader (see the previous paragraph, but instead of downloading ‘Wolfenstein 3D (Shareware).zip’, download ‘ecwolf.pk3’ instead.

Differences with standalone port

* Menus are removed and it goes straight to episode or skill selection
* All options are moved to libretro options
* Full screen control is also moved to normal libretro
* Load and save is moved to libretro facilities as well
* Quit is removed from the core and is to be handled in libretro way as well
* Invunerability cheat is moved to libretro options
* Gamma control is not supported. Use libretro filters.
* Currently has variable framerate support up to 360fps. Original game ran at 70fps.

Missing features

* Only IMF music is supported
* “Read This!” is missing
* “High scores” are also missing
* MLI cheat is missing
* Demo recording and playback are missing. Note: normal libretro demos are still there.
* F1 help is missing
* ID easter egg is missing
* Mouse and keyboard support, including corresponding config, is missing.
Only RetroPad currently works. You can control using retropad mappings
* ‘0’-‘9’ weapon selection is missing
* Buttons ‘zoom’, ‘reload’ and ‘altattack’ are missing. They’re used only in mods.
* Buttons ‘Strafe modifier’ and ‘status bar’ are missing
* Netplay is missing
* Difficulty confirmation screen is missing
* Resizing screen with +/- is not supported. Use options
* Commander Keen easter egg is missing
* Menu movement animation is missing
* Robert’s jukebox is missing

Known glitches

* Rewinding through intermission or death fizzling results in glitched screen
* Sometimes after loading a large asset, FPS drops. If that happens go to RetroArch menu for couple of seconds and then back
* The sound is currently a bit glitchy/crackly when running below 70fps (the game’s original framerate). We have found that there are far less sound issues at 70Hz and above (such as 120Hz).
* Frame pacing and frame time deviations can probably still be further improved.

RetroArch – Ozone becomes the default menu UI (Plus touchscreen and scaling updates!)

We held a poll earlier this week on Twitter, asking our users whether they would like us to stay with XMB as the default UI, or switch to Ozone. The results were overwhelmingly in Ozone’s favor, so starting from today’s nightlies and the upcoming RetroArch 1.8.5, Ozone will now be the default menu UI on everything but mobile phones.

What does this mean for XMB?

Nothing really, we are not abandoning it, and we will also keep further improving it. The only thing that changes is that Ozone will start now as the default menu UI.

If you want to switch back to XMB, that is possible too. While in RetroArch, simply go to Settings – Drivers, and change Menu Driver to ‘xmb’. Then restart RetroArch.

DPI scaling

As previous users of Ozone will already know, Ozone in the past did not really scale well beyond 1080p. This has now been fixed by jdgleaver. Ozone is now using DPI-based scaling, so it should scale correctly whether you are running at 4K or 1080p or even lower.

If you think the default scale is too big on your device, you can also adjust the scale manually via the Menu Scale Factor setting under User Interface > Appearance. 1.00x is the default auto-scaled value. To make it slower, lower the value, and to make it bigger, increase it.

Touchscreen / Mouse support

Ozone also now has rudimentary mouse and touch support for the first time!

  • Touch can be used to switch between sidebar and entries list
  • Touch can be used to select sidebar and entries list items
  • Both sidebar and entries list can be scrolled by dragging
  • Clicking/pressing the header or footer produces a ‘cancel’ action

Mouse-specific notes:

Cursor focus follows mouse pointer from sidebar to entries list (and vice versa).

In entries list, item under cursor is automatically selected (with some fudging to ensure this doesn’t break mouse wheel scrolling).

In sidebar, item under cursor is not automatically selected (this is too jarring).

Touchscreen-specific notes:

Touch screen input is a little clunky, since we can’t automatically switch from sidebar to entries list (there is no ‘cursor focus’ to follow, and it’s not possible to cross the boundary and action an item in one go – this breaks the menu, so some internal changes would be required to support this…)

So at present: if the cursor is in the entries list, the sidebar must be touched once before a sidebar item can be selected – and likewise, if the cursor is in the sidebar, the entries list must be pressed once before an entry can be selected (in the latter case, the touched entry will only be highlighted on the first press).

If the cursor is in the entries list, short pressing an item will highlight it without actually selecting it; tapping the entry (i.e. instantaneous press) will always select and action it.

When viewing playlists, swiping left/right will descend/ascend the alphabet (same as pressing PgUp/PgDn on a keyboard). Note: We cannot enable this when using a mouse, since it conflicts with the automatic ‘entry under cursor’ selection.

When will this be ready?

You can get all this already right now if you are using a nightly build. For everyone that doesn’t like to live on the edge, wait until we release version 1.8.5!

Flycast Progress Report – Dreamcast Mipmap D-Adjust implemented!

One of the final pieces of the puzzle regarding Dreamcast mipmapping was finally solved! Dreamcast had a feature called “Mipmap D-Adjust” which in practice is nearly identical to mipmap LOD bias, with the only difference being that it works with a factor (* d-adjust) instead of a bias (+ lod bias).

Flyinghead came up with the implementation, it has been merged and should be in the nightlies later today.

We made two comparisons here – one with Daytona USA 2001, the other with V-Rally 2 –

Daytona USA 2001

Please check the link down below so you can see the difference –

http://www.framecompare.com/image-compare/screenshotcomparison/JCBBCNNU

The tree on the left is more detailed now in the far distance, same for the public next to it.

V-Rally 2

Here the difference is even more pronounced – please check the link down below so you can see the difference –

http://www.framecompare.com/image-compare/screenshotcomparison/DZLDLNNX

The road looks a bit blocky and low-detailed with mipmap D-Adjust off, while it looks normally with it turned on.

Mupen64Plus Next 2.0 – 64DD Support, Angrylion and GlideN64 in one build, Parallel RSP support, and Android!



What a massive release we have for you today! M4xw has been really delivering the goods now and we’re pleased to release Mupen64plusNext 2.0 today. This release would not be as significant as it is today without the combined efforts of LuigiBlood, Gillou, Fzurita and Themaister.

The latest version is now available on Android, Linux, Windows, and Libnx (Switch)! Updating to the latest core is as easy as starting RetroArch, going to Online Updater, and selecting ‘Update Installed Cores’. If you have not installed the core yet, instead go to Online Updater and select ‘Mupen64 Plus Next’ or ‘Mupen64 Plus Next GLES3’ from the list.

64DD support


Previously, only Parallel N64 had 64 Disk Drive support, courtesy of LuigiBlood. Work on it was left rather incomplete though.

Mupen64Plus Next now has a new implementation that LuigiBlood feels more comfortable with. Currently the way that you load 64DD content with Mupen64 Plus Next is completely different from how you do it on Parallel N64.

First, you need a BIOS file. Make sure the file ‘IPL.n64’ is located in your /Mupen64plus directory.

You can either use the subsystem for 64DD, or you can name the disk image the same as the ROM including extension.

If you need to load a specific cart with the Disk image, that would be: “homebrew.n64” and “homebrew.n64.ndd” then Load Content “homebrew.n64”.

Zelda 64: Dawn & Dusk - unofficial 64DD expansion game to OOT
Zelda 64: Dawn & Dusk – unofficial 64DD expansion game to OOT
64DD had an exclusive Sim City version, called Sim City 64
64DD had an exclusive Sim City version, called Sim City 64

Angrylion and GlideN64 in same build!

Previously, Mupen64Plus Next only had GLiden64 as an RDP graphics option, and only ParaLLel N64 had Angrylion.

Now, Mupen64Plus Next has both, and allows you to choose between them. To do so, go to Quick Menu -> Options, and change RDP Mode. Angrylion is a low-level software-rendered accurate renderer, while Gliden64 is a high-level emulation OpenGL renderer.

Angrylion is the most accurate the graphics are going to get with an N64 emulator – and it can be made relatively fast now thanks to the multithreading capabilities of Angrylion RDP Plus, as well as the Parallel RSP dynarec. You cannot internally change the resolution with Angrylion beyond what the N64 was capable of.

Gliden64 on the other hand takes a more pragmatic approach and emulates the RDP with a high-level approach. It is an OpenGL renderer. You can upscale the graphics, and there is a wide array of settings to tweak.

Most regular people will probably be satisfied by Gliden64 and HLE RSP, and indeed, for many platforms, that might be the only feasible way of attaining fullspeed. But Angrylion definitely fulfills a niche for those that want a more accurate portrayal of N64 graphics – and combined with an upscaling shader, it can still look remarkably good.

Parallel RSP support

Parallel RSP saw its first debut in ParaLLel N64, and now we have it backported to Mupen64Plus Next as well! Read our articles here and here for more information on Parallel RSP.

Parallel RSP is a Low-Level RSP plugin that serves as a replacement for Cxd4. You can use it in combination with Gliden64 and/or Angrylion. With Angrylion you are pretty much required to use either Parallel RSP or Cxd4 as your RSP plugin, HLE RSP won’t work. Cxd4 is an interpreter RSP plugin while Parallel RSP is a dynarec RSP plugin. Parallel RSP should be noticeably faster across the board than Cxd4.

You might see better performance with Mupen64plus Next and Angrylion/Parallel RSP vs. ParaLLEl N4, because Mupen64Plus Next uses the New_dynarec CPU core. ParaLLEl N64 instead uses the Hacktarux dynarec CPU core, which can be a tad bit slower.

NOTE: You can also use Parallel RSP in combination with Gliden64. While HLE RSP has made significant strides in emulating the vast majority of known RSP microcodes, there might still be some microcodes that have either not been reversed at all or were not accurately reversed. In this case, an LLE RSP plugin is always an option, and Parallel RSP ought to be the faster one of the two options.

Angrylion + Parallel RSP on Android – approaching fullspeed on high end phones?

50fps with Super Mario 64 on a Galaxy S10+ - RetroArch Mupen64Plus - Angrylion - Parallel RSP
50fps with Super Mario 64 on a Galaxy S10+ – RetroArch Mupen64Plus – Angrylion – Parallel RSP

Angrylion is now available as an option for both Parallel N64 and Mupen64plus Next on Android.

Mupen64plus Next definitely has a performance advantage over Parallel N64 when it comes to Angrylion. Tests have shown that the first area in Mario 64 gets about 50-51fps on a Samsung Galaxy S10+ American Snapdragon version and 40/45fps on a Samsung Galaxy S10+ European Exynos version.

Will the next generation of phones be capable of pulling off Angrylion at fullspeed? It’s certainly a tantalizing prospect!

NOTE: There might be several ways you have to ‘nudge’ your Android device to get the best performance out of Angrylion/Parallel RSP. Some things you can try:

– Enable ‘Sustained Performance Mode’. If you find it helps with the framerate, leave it on. If not, disable it.
– Enable ‘Disable Expansion Pak’. It might result in a small performance boost for games that don’t support the Expansion Pak.
– Go to Quick Menu -> Options. VI Overlay can have an additional performance impact on the framerate. ‘Filtered’ is the most demanding option while ‘Unfiltered’ should be fastest.
– Go to Quick Menu -> Options. ‘(AL) Multi threading)’ is set to ‘all threads’ by default, but in case for whatever reason the software does not make the right core determination, you might want to set the amount of cores manually here. Base this number on the amount of CPU cores that your Android device has.

Angrylion + Cxd4
Performance results – LG G8X and Samsung Galaxy S10+ (Snapdragon)

Angrylion + Parallel RSP
Performance results – LG G8X and Samsung Galaxy S10+ (Snapdragon)

HLE RSP improvements – HVQM support

The HVQM RSP microcode has now been implemented for HLE RSP (thanks to the combined efforts of CrashOveride and Gillou). In the past, the FMVs for Pokemon Puzzle League would only show up if you used Angrylion and an LLE RSP plugin. Now the graphics glitches in Pokemon Puzzle League and Yakouchuu II should be gone! This means that you can now use the GlideN64 renderer for these games as well.

Difference between ParaLLel N64 and Mupen64Plus Next

Available plugins Mupen64Plus Next: Gliden64, Angrylion

Available plugins Parallel N64: Glide64, Parallel RDP, Rice, GLN64, Angrylion

In Mupen64Plus Next’s favor – it is based on a much more recent mupen64plus-core version than Parallel N64, and thus has benefited from years of fixes and architectural improvements. It also uses the New_dynarec CPU core on Windows/Linux/Mac. It is a bit faster than the Hacktarux dynarec from Parallel N64.

There are also currently some disadvantages. The sound is currently crackly with some games like Doom 64 and Quake 64. There are currently some experiments being explored to deal with these issues.

64DD support right now is implemented completely differently in both cores.

Changelog

  • 64DD support (works through the subsystem menu)
  • Angrylion and GlideN64 are now inside the same build – you can switch inbetween them
  • HLE and LLE RSP support – with LLE your choices are between cxd4 [Interpreter] and Parallel RSP [Lightning/Lightrec dynarec]
  • Parallel RSP support for the first time in Mupen64 Plus Next
  • Available on Android with all of the above!
  • The latest HLE RSP improvements – HVQM support – Pokemon Puzzle League FMV support works now with HLE RDP renderers like GlideN64
  • Mitigation for SPECIAL_INT on downcounter flip – fixes freezes in Legend of Zelda: Majora’s Mask
  • Killer Instinct Gold now works with Angrylion + LLE RSP

Prboom – Working rewind and WIP Runahead support!

Prboom, the Doom 1/2 game engine core, has finally gained serialization support. In this video, you can see rewind being used, as well as experimental runahead support!

Runahead support is currently incomplete and you can see some of the status bar elements flashing, some of the screen updates also are improperly rendered right now. The promise with runahead though is that we can start shaving off large amounts of built-in game latency once it’s working perfectly! For the best results right now with runahead, we currently recommend that you enable ‘Use second instance’ and set ‘Runahead Frames’ to 1.

Start up your copy of #RetroArch and upgrade your core to the latest version of Prboom to enjoy these latest new features!