Democratizing retro(arch) shaders for emulators and beyond

Meet ShaderGlass, the new king of convenient post-processing. Plus, a new benchmark for static recompilation and some very nice hot air balloons.

Democratizing retro(arch) shaders for emulators and beyond

Woe to the best laid plans of mice and men who write newsletters about emulation in their spare time β€” sometimes the hot news lands just as you're about wrapped up with an issue and ready to send it on its way. My least favorite thing is when some news breaks on a Sunday mere hours after I've shipped an issue, but news coming in on a Saturday when I think I'm ahead of the game? Almost as bad, I whine. Hold on, maybe a late morning cup of coffee will jovial me up.

Wooooo romhacking yeaaaaaaaahhhh!!

After quite a few months in "beta testing," a new Romhacking.net successor, Romhack.ing, is now fully open for business. This one comes from the folks who ran the RHDN Discord, so there's a bit of a legacy continuation involved and you'll see that reflected in the aesthetic of the site as well. Whether it'll over time come to be the default destination for romhacks and fan translations remains to be seen, as Romhack Plaza seems to have at least tentatively slipped into that role for the last six months or so. But redundancy is no bad thing, and hopefully both sites flourish in the years to come.

Also, on a personal note, I'm jealous of their .ing domain name and am still waiting for .memo to become a thing. 😀

Finally, in even later late breaking news that is not-really-emulation-but-close-enough, Xbox 360 Sonic the Hedgehog game Sonic Unleashed just got a native PC port via static decompilation?? Absolutely wild. Behold:

If you'd like a crash course in static recompilation, you can head back to the May 2024 ROM in which I interviewed the developer behind N64 Recompiled. But lemme just clip this bit of the breakdown of how it differs from emulation:

"...code is being run natively, so it's much faster since the emulator doesn't have to translate the original CPU instructions while the game is running or put artificial speed limits on the game to act like it was running on N64 hardware. The static recompilation process is also able to optimize the translated code much more than dynamic recompilation (the technique most emulators use to translate the instructions while the game is running), since all of the game's code is all available to the compiler during the optimization process.

Another major difference is that static recompilation allows the game's code to directly interact with the the platform it's being run on, instead of needing to go through the interface that the original hardware provided..."

We so far haven't seen many games come from the N64 recompilation initiative yet, and Sonic Unleashed is a far newer and more complex game to see ported by the same methods, putting it fully in mad lad territory as a project.

I'm wondering if the fan admiration for this one has grown over the years, because reviews from the time were not kind to the werehog (Gamespot described playing it as "miserable" in a 3.5/10 review). There are YouTube comments referring to it as "the best Sonic game," and I'm not even going to try to attempt to diagnose this particular fandom rabbit hole.

To all werehog lovers out there: I'm happy for you tho, or sorry that happened.

Alrighty β€” we've hacked, we've decompiled. Onward with the previously planned newsletter!

πŸ’Έ
If you enjoy ROM, I'd love it if you'd consider a small tip to help me cover my monthly costs. (Follow the link and click 'change amount' to whatever you want).

The Big Two

1. ShaderGlass takes the Retroarch shaders out of Retroarch and makes them ludicrously easy to use in the process

One of the reasons folks love RetroArch is its library of shaders β€” those graphical filters you can apply to a game to technomagically turn your LCD screen into a halfway decent recreation of a CRT monitor with scanlines or an aperture grille, or the muddy, color-bleeding signal of an old console plugged into a TV with an RF adapter. These days a lot of individual emulators include their own libraries of shaders to choose from, but rarely is the selective as extensive as RetroArch's.

But if you're like me and prefer to use dedicated emulators, you lose out on those broader filter options (partially I'm old fashioned, and partially I stayed away from Retroarch because its forked emu cores have caused a fair bit of scene drama over the years). We're both thinking the same thing, right?

*TV infomercial voice* There has to be a better way!!

Developer mausimus has released the 1.0 version of ShaderGlass, a program that's so easy to use it absolutely checks the box of "a better way." In the works for several years now, ShaderGlass is basically a window you drag over top of any other program to apply a filter. We're here to talk about it in regards to emulation, but you could also plop ShaderGlass on top of a YouTube window or any modern game and boom, scanlines.

Or other effects! 800 of them, in fact. Holymolythatsalottashaders.

The shader library includes a preselected list of favorites with some familiar names if you've messed with shaders before including supereagle and crt-royale, which might be my favorite CRT representation out there. But there are so many more, with differing degrees of curvature and bloom and faked visual effects like banding. Others aren't even trying to recreate a CRT: you can of course recreate a Game Boy or DS screen, stick to basic scanlines, or apply a filter that looks like you're playing a game on a worn out VHS tape. And yeah, there's a random button.

A step beyond just picking a shader and dragging the window over top of it, there's a parameters menu for microscopically tweaking characteristics like pixel blending, contrast, ambient screen light, even LCD response time. And you don't have to do the fiddly window positioning thing if you don't want: you can give ShaderGlass a set Windows window as its input so it's only applying its effects to your emulator or thing of choice.

I could ramble on about this thing a bit more, but eh β€” you should really just try it! It's so easy to use, you'll have it figured out in three minutes. Grab it from Itch.io or check out the Github page if you'd like to track updates or contribute yourself.


2. The next 3DS emulator, Azahar, approaches

I've written about Azahar in brief before, back in November 2024's ROM, but as a refresher: in the wake of the Yuzu lawsuit shutting down its sister emulator Citra, continued development of the 3DS emulator splintered. The primary projects to rise from those ashes were Lime3DS and developer PabloMK7's Citra fork. After continuing on parallel paths for some time, they decided to combine forces and start Azahar, which has been in development for months now. And... it's not out yet! But it will be Soonα΅€α΄Ή.

Azahar's Github repository is now public, which means you can poke around the code, download it, even start contributing yourself. But there's no build to start using the emulator yet.

"It's important to emphasize that the emulator does not yet have a stable release," the Azahar team wrote in a blog post on February 27. This announcement only refers to the code for the emulator becoming available to the public. From this point, work will continue towards our first stable release, but from now it will be done in the open."

The Azahar devs say that it's "currently not recommended to use the emulator unless you are a developer or an early adopter who understands that the emulator isn't yet in a polished state but wants to give it a try anyway." But the wait sounds like it'll be relatively short at this point.

Once Azahar launches I'm excited to see how its approach to 3DS emulation differs from Panda3DS, which has come a long way in just a couple years of development. Azahar's technically the younger emulator, but with work from Citra stretching back to 2014.

Perhaps the hierarchy of power in the 3DS universe is about to change...


Patching In

DuckStation gets a "mini" version for Arm64 devices – There's a new build of DuckStation aimed at simple ARM64 devices. As developer Stenzek explained in the emulator's Discord: "It's only there for tiny arm machines that want to run directly on the framebuffer. No reason to use on Windows/Linux/Desktop, hence why there's no Windows/x86 builds of it." The latest preview build of the emulator does come with a treat for desktop users, though: new themes!

Blocky smoke fixed in Jak & Daxter: The Lost Frontier in PPSSPP – This is the kind of hard hitting patch note you read this newsletter for, right?

RPCS3 v0.0.35 Alpha lands 4 months after the last milestone – This compiles months' worth of updates you'll already have if you use the emulator's built-in auto updater! Recent changes include better Move gyro support, a warning that OneDrive sucks shit, a fix for savestates when the Camera/Move are in use, and of course much more.

PCSX2 can now record video from game boot – A convenient feature for tool-assisted speedruns, as recording right from the start eliminates the need to synchronize a run!


Core Report

MAME 275 includes some fun new systems promoted to working – I felt my trigger finger itching a bit at the sight of multiple SHMUPs here:

  • Aero Fighters Special
  • Brave Blade
  • G-Darius
  • Ray Storm

Plus The Block Kuzushi looks like an absolutely insane version of Breakout? But making street food in Mawasunda is what really grabbed my attention. Check Bob Zed's overview vid for some fun footage.

Analogue Bagmans – The MiSTer cores for Bagman, Super Bagman, Botanic, Pickin', and Squash have been ported to Analogue Pocket, as well as Konami's Gyruss. They're some pretty basic early '80s arcade games that I can't say I'm jonesin' to play on my Pocket, but I do enjoy that Super Bagman begins with a text scrawl:

"ALCATRAZ PRISON TO INTERPOL
-STOP-
BAGMAN HAS ESCAPED -STOP-"


Translation Station

Sega Saturn sidescroller Mobile Suit Gundam translated – There's a nice, meaty interview article at the link about this 18-months-in-the-making translation project to make the first Gundam game on the Saturn playable on English. Apparently the Saturn got nine Gundam games? I had no idea! That's just one of the things I learned from the article above, and I'm looking forward to seeing the same team work on some of those sequels (based on Zeta Gundam) in the future. The original Mobile Suit Gundam movie trilogy is a formative text for me, and this translation patch has actually inspired me to do something deeper on Gundam games in an upcoming issue!

NOTAM of Wind sets sail in English – Here's a lovely one: an English translation of an Artdink PS1 game about hot air ballooning. Artdink has such an interesting history, with projects dating back to the A-Train sim games and Ogre Battle in the '90s, with similar work continuing all these decades later with newer A-Train entries, Triangle Strategy and the recent Dragon Quest III HD remake. Here's something different from all of those: a game where you fly around in hot air balloons, with perfect cover art by iconic city pop designer Hiroshi Nagai. This is, in other words, a Big Mood game. And I could sure use one of those right now. Serenely floating above the surface of the earth oblivious to the news? Yes please.

PS1 dungeon crawler Prisoner breaks free – Translator Chapu calls Prisoner "a little hidden gem of a game," and it is sure an obscure PS1 RPG. They say "the story is superb," and that's reason enough to be excited for any PS1 game to get broader attention. Hopefully we'll see Prisoner show up in a ThorHighHeels video someday.


Good pixels

Unfortunately I didn't have time this week to grab a ton more example shots of ShaderGlass, so let's see how other people have been using it so far...

This tool is fun to use! I love how it turns my flat and meh pixel art into cool analog art! here!: mausimus.itch.io/shaderglass #SIGNALIS #SIGNALISOC #OC #ocsky #originalcharacter

β€” Meg U? (@megualle.bsky.social) 2025-02-23T18:55:34.086Z

No puedo dejar de poner "ShaderGlass" a todo, y #Severance se ve especialmente bien en modo low-res! QuizΓ‘ @benstiller.redhour.com deberΓ­a echarle un vistazo... πŸ€“

β€” mmoroca (@mmoroca.bsky.social) 2025-02-23T16:55:40.673Z

Shaderglass in ffxi is kind of neat

β€” warmblanket (@heavenstriker.bsky.social) 2025-02-23T05:41:21.005Z
Mastodon