Oopsie daisy, I've gone and written a big, beefy issue of the newsletter again! How did that happen?

To give you a little glimpse at how the sausage is made, I usually use the week off between issues to relax and enjoy not spending hours putting a newsletter together, and then as the second week wears on my mind increasingly turns to thoughts of "oh crap, what the heck am I going to write about this time???" For this issue, I thought the big fan translations that popped up since the start of August would make for a great #2, since they've been covered elsewhere quite effectively already.

But once I got in some quotes on the translation process for Japanese keitai game Dirge of Cerberus: Lost Episode, that ballooned into quite a story all on its own — and by that point it was the weekend and I already had a whole other main feature cooking! Occasionally I operate on a less last minute schedule than this, but usually the "oh crap" to "phew, it came together" pipeline is about 48 hours.

So! Our main story this week returns us to the world of PS2 emulation, which we visited not long ago in June. But we're going both deeper and broader this time, with a specialized fork of the emulator that covers arcade hardware and a whole lot more. This is prime "games that have never quite worked right in emulation but amazingly do now, hallelujah" territory. I hope you enjoy!

The Big Two

1. PCSX2-Reliquary wraps its arms around all the PS2's weird stuff — and weird math

About a year ago, a new note appeared on the PCSX2 compatibility wiki for a notoriously troublesome game: Stuntman, a hard driving game with enough of a cult following to spawn a reboot in 2026. For years, the game had been unfinishable due to its AI drivers not behaving correctly and ruining campaign missions. But through an extremely specific selection of configuration options on a new build of the emulator, it was possible to get through the whole game; at least if you had a top-of-the-line CPU like a Ryzen 9 7950X3D.

"Most of my work is based off that," longtime developer and preservationist DiscoStarslayer tells me. "The biggest change is... you’ll be lucky to get 10 fps with that. With my recompiled implementation you can run it full speed on a Steam Deck."

Stuntman has always been a fantastic game, but it got little play time on my ps2 because the load times dragged it out. Being able to fast forward the loading screens at 8x speed certainly makes this a lot more fun!

[image or embed]

— DiscoStarslayer (@disco.camp) August 9, 2026 at 11:27 AM

A year later, Stuntman is fully and properly playable without digging through the settings for the precise right toggles. But it's not playable in PCSX2 itself — rather, it's in PCSX2-Reliquary, a fork DiscoStarslayer has been developing that focuses on "the issues on the edge of emulating the PS2." The weirder it is, the more he's interested in it.

DiscoStarslayer first started learning the intricacies of the PS2 hardware while studying the PSX, the harddrive-equipped DVR version of the PS2 that was only released in Japan. When he got back into playing high school fave DDR, he wanted to play the arcade versions, which required a custom PCSX2 fork that supported Sony's MagicGate copy protection and Konami's PS2-based Python 2 arcade hardware. But it was unmaintained.

"PCSX2 has had much work since then. I figured all my new knowledge well equipped me to sync that project up into the modern PCSX2 upstream so I did just that," he says. And why stop there? The Python 1 arcade boards weren't playable in PCSX2 or in MAME, so he set out to support them. And then came the FireWire port that was on early models of the console, and with it, eventually, a whole custom fork of PCSX2:

"A few Yahoo Auctions orders later, and finding a pro audio Power Mac G3 to do some FireWire sniffing I got to work. Essentially Python 1 is a basic PS2 with a custom BIOS and a memory card security dongle. Absolutely everything else happens over FireWire. HDD, CF card, networking, security dongles, boot ROM, dip switches, audio playback, controls, power on, everything is on that one FireWire board so I bit off a really big chunk of work to get through...

But I'm happy to say I pulled it off, and a lot of great people came out to help fill out the list of games. It also helped that the new knowledge let me build custom software to safely dump the Python 1 boards to help repair them long term, so people were happy to collaborate on that. Every Python 1 game with the exception of Nice Smash now has a working dump... All that to say, Reliquary is kinda the continuation of that. I've known the issues on the edge of emulating the PS2 for years, but after all the above I finally felt I had developed enough skills to tackle them and why not just start building the emulator I always wanted."

Stuntman, unlike those specialized arcade games, ran on plain jane PS2 hardware. So what made it impossible to play all the way through on PCSX2 for decades — and barely possible only recently, on super high-end hardware?

Well. Numbers.

There are "AI" cars in the game that operate based on controller inputs the developers recorded, and if their timing isn't perfect, you'll fail the campaign's strict stunts. The timing on PCSX2, isn't perfect, which is where the whole thing breaks down.

Few games are this demanding. The PS2, DiscoStarslayer explains, has a "non-standard floating point implementation" that works differently than a PC, and the way the system was architected serious developers could squeeze some real speed out of its calculations. "If the devs really took full advantage of it, [accurately emulating] it could take even the most powerful computer to it's knees, even while taking a shortcut of running the floating point operations natively," he says. "Faced with this impossible problem, PCSX2 took the pragmatic approach of: 'do floats wrong on purpose, add some correction layers, and patch the odd game where that actually matters.'"

That solution has worked great for the vast majority of games, but Stuntman is so precise it requires fully accurate software floating point calculations — a patch to fix one thing will just break another. The technical explanation of how he optimized PCSX2's recompiler to solve this problem went over my head, so I asked DiscoStarslayer to dumb it down:

"The way PS2 does floating point math is like having a calculator. If you want to divide two numbers you punch them in and then hit divide and get your answer. Problem is it’s an off brand calculator with a half dead battery. It’s kinda wrong. PCSX2 gave it a working calculator for performance reasons but it’s not quite right. Pull request 12001 [which made Stuntman playable in PCSX2 initially] basically replaced that calculator with long form methods. You can divide like the bad calculator manually, it just takes more steps.

My layer is taking that, and finding optimizations in those long forms to try and get to playable speeds. Tricks like multiplying by zero always gets you zero. Or square rooting a number only really cares about if an exponent is odd, so you can make a 28-bit lookup table for correction bits in about 2MB of ram for every possible square root operation. It also integrates that logic into the recompiler so you have an extra layer of the compiler seeing hot code, identifying patterns and condensing it.

This was a known problem for a long time, but never fixed because everyone knew long form would be too slow to be playable. But now CPUs are fast enough it’s just barely feasible."

While Stuntman is the headliner here, it's not the only game that cared about emulating the PS2's floating point calculations correctly. The demo for Need For Speed: Most Wanted 2 wouldn't even boot before, for example. Polyphony Digital's motorcycle racer Tourist Trophy isn't playable on PCSX2, but now works great on Reliquary.

Look what happens in Super Dragon Ball Z with floats wrong (left) and right (right).

0:00
/0:05

For now, these improvements remain exclusive to PCSX2-Reliquary (though fully open source on Github) for a couple reasons. The fork itself is unlikely to be merged into the main emulator as a whole because it includes code related to the PS2 security chip that PCSX2 has historically avoided because it risks (or risked, a decade+ ago) a Sony takedown. That functionality is unfortunately required for accurately emulating the Python arcade hardware. The faster recompiler for floating point calculations has a better shot, but DiscoStarslayer freely admits that it may not currently clear the bar it needs to to become part of the emulator proper in its experimental state.

"A lot of testing needs to happen before upstream would even consider it," he says. "I can take risks with my fork because people expect quirks. Upstream has a much higher bar for quality and expectations which is completely understandable. So far so good, but PS2 has 5000 titles. There’s bound to be something I broke."

But thanks to this fork focused on the PS2's many, many edge cases, you can play arcade DDR, the only non-Gran Turismo game that Polyphony Digital has made in the last 20 years, get your ass kicked by Stuntman, and more. As many years deep as we are into emulating old hardware, there's still miles and miles ahead of us.

💸
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).

2. A hard-hitting translation trio: Dirge of Cerberus: Lost Episode, Banshee's Last Cry, and London Spirit Detectives

Wow, what a month for fan translations!! Following last issue's focus on Innocent Tears, I'm combining three into one for this mini feature.

Dirge of Cerberus: Lost Episode

The hottest off the block from keitai scene hacker Yuvi, who detailed here the immense work and cost that went into preserving this lost mobile game:

The Story to Save a Couple of Lost Keitai Games.
Here I was back in 2024 browsing the Twitter like I normally do, and I saw this post from someone called RockmanCosmo (which I had followed…

After getting ahold of a rare dumped copy of the game on an SD card, Yuvi and compatriots were faced with a problem: it was encrypted. There it sat, inaccessible for two years, until Yuvi decided to hell with it, he was getting this done.

"The problem is these keitai games had no standard system for storing data; they could just be blobs of random data, and we have no idea what to do. Thankfully we can do one thing, which is inspect the game and see what it does with this SD card data, which loads after it’s decrypted," Yuvi writes. "After some investigating, Dirge of Cerberus was pretty clear about what it did, which was it took every file it downloaded and saved to the SD card, encrypted it, and then when it was time to load it, it was decrypted and then processed as a zip file."

So they knew what to do, but actually doing it wasn't so simple because Dirge of Cerberus isn't just "that's the password to my luggage" encrypted:

"You see, the TKURE (the encryption key) in this case was big, like 0xFFFFFFFFFFFFFF or 72,057,594,037,927,935 but remember we needed to do this for every file which is well that very big number multiplied by 16. If you look at that number and give it to an RTX 5090 and ask it to crack it, you would be looking at roughly 130 GKeys/sec for 7 days of non-stop cracking to solve just 1 file." So Yuvi wrote a bruteforcing program, optimized to run across multiple GPUs to find the key as efficiently as possible... and then RENTED OUT TIME ON 90 NVIDIA GPU SERVERS TO CRUNCH 5,500 PER SECOND. Some 72 hours and $900 later, it was done. Dirge of Cerberus was free.

It took less than two weeks for a complete translation to arrive thanks to keitai scene regular NaoyaShinota and TurquoiseHammer, who also works on the FF7-focused YouTube channel Last Elixir Productions. "Naoya has been on this years-long quest to assemble all the data required to piece together a full, playable version of Before Crisis: FFVII," TurquoiseHammer tells me — read my issue of ROM about that odyssey for more!

With an introduction to Yuvi, TurquoiseHammer inevitably got involved with Dirge, too:

"As the lead translator for Shinra Archaeology Department and the FFVII Shinra Archaeology Cut, I was contacted to see if I had any interest — which of course I did. Flash forward a year and we’re looking at getting all of Chapters 1 through 4 playable with an English translation... But I digress. We always knew it was a matter of time before Lost Episode got cracked, and I volunteered to translate that once it was ready, too. Finally this month, Yuvi buckled down and decrypted the dump. We noticed looking through the field files that there was a decent amount of English text. However, a lot of it was just debug messages and loose translations to guide playtesting. Much of Lost Episode’s development was contracted out to a British studio called IdeaWorks3D. Initially, the game was going to be released exclusively on U.S. networks, but that plan obviously fell through. All of this is to say that while Lost Episode was conceived of and written in Japanese, it was mostly coded and tested in English. So the leftover text is nothing resembling a release-ready localization. For that reason, I decided to translate everything from scratch for the sake of quality and consistency."

There are only around 800 lines of text in Lost Episode, which took TurquoiseHammer only hours to translate. "The first order of business was to put them in some kind of plot order. I did this by watching a recorded Japanese playthrough and manually pasting text from the dump into an ordered spreadsheet," Hammer says. "That got me around 60% of the text in a digestible document."

Properly formatting and inserting the English text was the bulk of the job:

"Once I’d translated everything in context, it was time to format it. Any Japanese to English localizer knows how much of a pain this can be, especially with older games. Lost Episode is no exception. Mercifully, the text is mono-space, so once I got an idea of the line limit in dialogue windows, it was easy to predict what could fit. I added manual line breaks and also got Yuvi to do a little hacking so the game would allow extra white space at the beginning of lines. There was still some funky behavior to deal with: opening and closing quotation marks demand a space before or after, while colons demand a space after. In windows beginning with an opening quotation mark, I added two spaces to the beginning of the second line to make the dialogue content line up. That kind of stuff. Then there were the blue item receipt and system message windows, which seemed to have no fixed spacing rules. That basically boiled down to trial and error, and hours of playtesting with my partner Ody."

A week after the text was all dumped at great expense, the patch was finished. Quick work! "Now we get to go back to porting SAC to Japanese for the new 7th Heaven update, which is the opposite of quick work," says TurquoiseHammer.

Look out for it!

Banshee's Last Cry

At the same time TurquoiseHammer was heads down slamming out the Dirge of Cerberus translation, two other translation groups were launching long-in-development projects that give a pair of fascinating '90s games the all-human, no-AI love they deserve. Here I'm going to be excerpting some bits from a very nice feature on the two translations written by Chris Person over at Aftermath, but you may well just want to go read the whole thing yourself!

Fan Translations Still Are Being Done The Hard Way
Kamaitachi no Yoru, London Spirit Detectives, Kowloon’s Gate and Innocent Tears are getting their spotlight in the west thanks to fan-translations done without AI.

Localized as Banshee's Last Cry, there's Kamaitachi no Yoru, an influential Chunsoft sound novel released for the Super Nintendo in 1994. Translator ButThouMust also released a patch for the other big sound novel, Otogirisō, a couple years ago.

"In Kamaitachi no Yoru, the player takes the role of Tooru, who is staying at a boarding house named Spur in the mountains on a ski trip with his girlfriend Mari. A blizzard traps everyone inside, and the game introduces a varied cast of characters before descending into a snowy murder mystery of increasing violence," Chris writes. "As the plot progresses the body count rises, and only by going through the multiple branching bad endings in the plot (there are about 40) and replaying the game can the player solve the mystery, with the true “best” ending being a fascinating exercise in metafiction."

Speaking with Aftermath, ButThouMust also offered a rebuttal for the justification behind many rush job AI translations:

“I disagree with the ‘it's better than nothing’ mindset that some people have with AI fan translations. To me, a major issue with them is, should it be the first-ever translation of a particular game, that patch becomes players' first, and quite possibly only, exposure to that piece of media. If, and emphasis on if, a human-created fan translation comes out later, most people who were interested in playing the game will likely not care. After all, they already got to play the game.”

London Spirit Detectives

Finally there's the delightful London Spirit Detectives, a 1999 Bandai RPG riffing on a Sherlock Holmes (detectiving) and Oliver Twist (you're an orphan) in a Victorian England setting with an anime twist. Arist and character designer Yasushi Nirasawa, who worked on my beloved Vampire Hunter D: Bloodlust, is cited for bringing his heavyweight skills to the game; he died tragically young a decade ago, in his early 50s. That adds a particularly sweet dimension to this game getting a second chance for some love.

“What attracted me to start it was the fact that the game had such a unique style and setting and that nobody had seemed to take an interest in working on a translation patch,” lead hacker bigbanana23 told Aftermath. In the end a team of seven contributed to London Spirit Detectives, including professional translator aishsha, several assistant translators, and vervalkon on graphics.

There are some great anecdotes in the Aftermath feature about the heavy graphics work required to convert everything in this game to English — particularly some battle animations in which words are used as attacks. There was also the headache of the game storing its backgrounds as MDEC (motion decoder) frames, a technique that almost no other game on the entire console used for still images. Each one is essentially a one-frame-long video file. Fast to render thanks to the dedicated processing chip, but unfortunately compressed as all hell. I'm reminded of the lengths Hilltop and co. had to go to to process Aconcagua's one-of-a-kind cutscenes in order to add subtitles to them.

Hacking challenges aside, London Spirit Detectives looks like a true delight, and I'm thrilled for bigbanana23 getting it out there — they started this way back in 2019!

Patching In

Yaba Sanshiro v1.20.37 brings Windows updates to Android – Fixes for specific games include Panzer Dragoon Saga, Sonic 3D Blast, Die Hard Trilogy, and save states are on the whole more reliable. A new first-launch setup wizard makes for nicer configuratin'.

6 months of RPCS3 speed bosts on ARM – Rather than a recent standout patch, this video from RPCS3 contributor Whatcookie covers half a year's worth of updates targeted at improving the emulator's performance on ARM chips. "After all these optimizations, the Odin 2 [handheld] is approaching Steam Deck performance with half the power. In fact, we've optimized the CPU side so much that the bottleneck has shifted in many games like Demon's Souls to the GPU. With just a few more hardware generations, I know that we can exceed Steam Deck performance with less than half the power."

Azahar 2126 is here – Following up on the release candidate news from two issues back, this is a major release for the 3DS emulator, adding: "Simulate 3DS GPU timings," new debugging features, an ARM64 Docker build, controller hotkeys on desktop, lots of fixes and improvements specific to multiplayer, including bringing multiplayer rooms to Android, and a loooot more.

Dolphin fixes Wii save states and some security issues – A rare hotfix release from Dolphin this week addressed some security vulnerabilities, and anyone doing a lot of Wii save state loading will appreciate that it also "fixed an issue where loading save states for Wii software can fail when the software has open files."

Core Report

MAME 0.289 is a model Sega showcase – I didn't hit the July 31st MAME update last issue, but it's a big one, considering it was on a two month release cycle instead of the usual 30 dayer. Quoting the highlight here: "If you’re a fan of Sega arcade games, you’ll have lots to enjoy. For the groundbreaking Model 1 platform, there are numerous fixes for graphical issues, better collision detection in Virtua Fighter, and the bad bits in the DSP program that were breaking Wing War have been identified and patched. Even NetMerc is in better shape. The very unconventional Flash Beats game is now playable. It has basic internal artwork, but someone sufficiently motivated could have it looking spectacular by creating suitable external artwork. There are also some fixes for games that use the SCSP sound chip." Plus, games newly marked working:

  • Atari 2600 Tarzan prototype as featured on VGHF
  • A buncha games for NEC’s PC-6001
  • Even more bunches of games for the Mega Duck. Quack!

Taito's Rainbow Islands hits Jotego beta – The sequel to Bubble Bobble is both adorbs and now playable on the MiSTer, at least if you're a Jotego Patreon backer. Get those rainbows bouncing!

Console Mode adds NAS support, fixes – I mentioned last issue that I was waiting for this feature, so I'd be remiss to skip over it here! Update 1.1.3 includes Cifs (aka network game loading) support, 480p, 576p, 640x480p CRT modes, UI sound effects, category hiding, and a buncha fixes (including one for an icon resizing issue that was bumming me out with the SS4 layout option). Good stuff!

There's a lot more AI cores I don't really feel like writing about here – I kept spotting new cores and going digging and then seeing the developers talking about using AI or other people talking about how they're hiding the fact they're using AI, so y'know what? Enough of that for this week. Here's a nice roundup video from Lu (but yes there are absolutely AI cores featured in it).

Translation Station

The Glory of Heracles: The Olympus Offensive - The Snap Story – Hot on the heels of London Spirit Detectives, veterans Pennywise and aishsha pop out another patch, this one apparently in the works for five years! What a mouthful of a name it's got. The fourth game in a Data East RPG series, you're Hercules, and you've got gods on speed dial to help you out. An earlier translation was released by other folks back in 2012.

Sorry, Mahjaventure! – Speaking of busy teams! Last issue I featured SnowyAria's Innocent Tears, but skipped over her other translation, Mahjaventure: Warring Tiles, also with hacking from Pennywise. I figure more folks are probably interested in 2000s RPGs than 36-year-old mahjong games... but it's also an RPG!? Conveniently, we've got a trailer for the patch to get a sense of it.

Good pixels

You know we gotta feature some more London Spirit Detective art, considering what a looker it is.

London Spirit Detectives (1999, PS1) (1/3) This game is really cute. Enjoyed how quickly they just let you off the leash to explore the (kinda huge) city. Feels very alive. Also sort of surprised that it has combat at all. Only played a little but it seems fun!

[image or embed]

— Houseplants in Videogames (@houseplantsinvg.bsky.social) August 13, 2026 at 8:57 AM

Some of the sprite work in London Spirit Detectives approaches Breath of Fire 3 territory.

[image or embed]

— Chris Person (@papapishu.bsky.social) August 10, 2026 at 8:51 PM

In an Age of Steam, a London orphan is taken under the wing of a detective agency, and begins an adventure that'll take them all over and under the great city. We tried London Seirei Tantei-Dan (Bandai, 1999, PS1), aka London Spirit Detectives, today on stream. It's such a pretty game.

[image or embed]

— Sasha's Retrobytes 🏳️‍⚧️ (@sharkabytes.bsky.social) August 7, 2026 at 1:43 PM

Till next time. 💽

Share this post