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.
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
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).
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!
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.
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”.
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?
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.
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.
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
Some significant improvements have been made to the Dreamcast emulator core Flycast by flyinghead that serve to increase the graphics accuracy.
For one, the OpenGL renderer has mip-mapping support now for the first time. Second, all texture mipmap levels are now uploaded to the GPU. The Vulkan renderer no longer auto-generates mip-maps and instead uses the proper mipmap levels. What happened before is that these auto-generated mipmaps would ‘bleed’, whereas the ones provided by the game do not.
This caused issues with games like Railroad Tycoon 2 where the beach texture was not properly displayed.
Before the fix, you’d have weird magenta colors on the beaches with the Vulkan renderer. This has now been resolved.
To learn more about texture bleeding, you can read this StackExchange article here.
Another example of what texture bleeding looks like can be seen down below (and note that this is now also fixed) – previously texture bleeding would regularly occur at upscaled resolutions –
Many of these issues have now been fixed. See the picture down below how the title screen above for instance looks like now –
How mip-mapping looks like on Dreamcast
To best illustrate the effect mip-mapping has on the video output quality, let us show some comparison pictures at the Dreamcast’s native 640×480 resolution.
The picture down below shows Soul Calibur running with mip-mapping disabled:
The picture down below shows Soul Calibur running with mip-mapping enabled:
At higher resolutions you will notice the blurriness starting to gradually disappear.
Combining mip-mapping with anisotropic filtering
The Vulkan renderer allows you to apply Anisotropic filtering (AF) to the textures (to learn more about it, read the Wikipedia page here).
While you can still make out some of the far textures in the distance being slightly blurry as a result of the mip-mapping, overall the blurriness factor is significantly reduced as a result of the agressive 16x AF filtering being applied here, even at a very low resolution of 640×480.
Even further tweaking possible with PowerVR postprocessing filter
You don’t have to stop at mipmapping and AF filtering of course. You can also take advantage of leilei’s PowerVR post processing filters on top to further enhance the authenticity of the picture.
NOTE: For now, the PowerVR postprocessing filters only work with OpenGL. Vulkan support will arrive later.
Here we have mip-mapping enabled and PowerVR 2 Postprocessing filter enabled. NOTE: Because this is the OpenGL renderer, anisotropic filtering right now is not available, so we cannot show you a picture of how the PVR2 postprocessing looks like in conjunction with 16x AF. Neither can we show a similar picture on Vulkan right now because the aforementioned PVR2 postprocessing filters are not available there. Hopefully both renderers can be at feature parity soon in these departments.
How to get it
There are two ways to update your Flycast core. Start up RetroArch first –
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 ‘Flycast’ from the list. It will then download and install this core.