Inside the long-awaited fan translation of Sega Saturn masterpiece Sakura Wars 2

Sakura Wars translation crew: Interviewed. Plus this issue, Princess Crown for the Saturn, 120 fps GameCube games(!?) and more.

Inside the long-awaited fan translation of Sega Saturn masterpiece Sakura Wars 2

Here's the kind of fool I am: with a pretty commitment-free, relaxing-at-home weekend last Saturday and Sunday, I tucked in for hours of uninterrupted gaming by playing... Assassin's Creed Shadows. Not emulating some incredible classic game, or starting Blue Prince, or anything else I could've been playing. I just keep waiting for Shadows to get good, but honestly I'm pretty sure I'm mostly playing it because I bought a new graphics card a month or so ago and it looks really pretty. The world is stunning! And also kind of stunningly empty, full of people to kill but barely any story attached to the killing. Ubisoft should've made this world a quarter the size and four times denser in actual meaningful questing.

I started Blue Prince a couple days later and put 15 hours into it in just three weeknights.

Like everyone else who comes within three feet of that game, I am hooked. Sorry, Sakura Wars 2 — I'll get to you after I've figured out what the hell's going on in this mansion!

So yeah, Sakura Wars 2: that's the big story this issue! Sega's beloved dating sim slash mecha strategy series was a juggernaut in Japan but barely registered as a blip in the west, and the first two on the Saturn were especially coveted as objects of fan translation desire. And now it's finally happened: some of the same folks who translated Sakura Wars in 2019 have at long last completed work on the sequel. I interviewed them for this issue, which we'll get into shortly!

But before that, I also asked my buddy Baxter of Tsundoku Diving — who responded to this patch's arrival with "yes yes yes yes yes yes yes" — to explain why Sakura Wars rules so much. If this kind of game is up your alley, you should definitely give his newsletter a look, as he goes deep on Japanese media, from the beloved to the (more often) obscure.

Tsundoku Diving
Dedicated to discussing Japanese media of all kinds and the ways they impact us and the world.

Here's Baxter!

I loved the first Sakura Wars maybe too much.

A blend of adventure, strategy RPG, and dating sim surrounding the misadventures of the Imperial Revue — an all girls team of mecha pilots fronting as a theatre troupe — it's as charming as charming gets. A scrappy, heartfelt smile of a game with an incredible cast backdropped by a nostalgic steampunk Taisho-era Japan. I was so taken with it that when I hit the credits, I genuinely thought it might be my favorite game ever made.

And then I played its sequel.

Sakura Wars 2 is an explosive titan of a game, Sega at the absolute apex of their powers throwing everything they've got into what would become one of the best selling and most enduring titles on the Saturn. It oozes confidence from every pore, and it's well earned, as evidenced by its status as a beloved classic in Japan that brought Sakura Wars mania to extravagant heights.

Freed from any budgetary constraints and sense of restraint, the game doesn't waste a single second of its runtime, immediately ratcheting up the tension beyond anything seen in the original while adding multiple layers to its characters, complex socio-political ideas, and fleshing out its innovative dialogue system into something both exciting and expressive.

But above everything — the thrills, the astounding synthesis of systems, the quiet thematic complexity — Sakura Wars 2 is so special because it's a game that believes in people with every fiber of its being. For as heavy and muddy as the story can get, there isn't an ounce of irony or cynicism to be found. It's a beautiful example of video games as tools for empathy, a heartfelt conviction in kindness and connection actualized through dating sim dialogue and retro throwback robots.

When I finished the first game, I thought I'd played a new favorite. When I finished the second, my entire world seemed new. It was brighter, kinder. As corny as it is to say, I felt myself willing to embrace a sincerity and honesty I'd always run away from. I started to let myself believe.

Sakura Wars 2 is a shining light not just of RPGs but games as a whole. It's a triumphant masterpiece, and every day I try to live my life a little bit more like it.

Hopefully that whet your appetite. Let's jump into this seriously meaty issue — we've got more after Sakura Wars, on high refresh rate potential in Dolphin, the 1.0 release of Princess Crown's translation (another Saturn legend), and more!

💸
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

2. The Saturn's swan song, Sakura Wars 2, finally in English

Sakura Wars 2 translation project ringleader NoahSteam and co-lead translator MattoBii have a bit less history with the series than you might expect. Both of them got into Sakura Wars in the late 2010s — for Noah it started when a friend returning from Japan with a pile of Saturn games, while Matto made his own pilgrimage to Japan's retro shops where he grabbed a ¥400 yen copy just for the hell of it. "I’d been vaguely aware of Sakura Wars for years, from seeing clips of the various anime tie-ins here and there to playing through Project X Zone myself and thinking, 'Oh yeah, I remember seeing this Sakura girl around before,'" Matto remembers.

For both of them, obsession soon followed.

NoahSteam, who's a game programmer by trade, wandered into leading a Sakura Wars translation project by way of the Saturn's Dragon Force II, the sequel to one of his favorite games. He was disappointed to see there was no translation of it, but there was a group trying to get it done and running into some obstacles. "The lead on that project, FaustWolf, explained to me the main technical hurdle they were dealing with, which was re-inserting the text into the game," he remembers. "That also required fixing thousands of pointers within the data files which needed to be recalculated and fixed once English text was re-inserted. So I wrote a tool to do that. The patch came out about a year after that all started."

So when Noah got his hands on a copy of Sakura Wars, he wondered how tricky it would be to hack. He made fast progress — but that doesn't mean it was easy:

"Within a few weeks, I had been able to insert English text into the game. That was an exciting moment, because at the time, it had been pretty difficult for me to do. I had read through a ton of technical documentation about the Saturn in order to figure out how its image formats and processors worked in order to get just that far. So once I had the text insertion working, I figured I’d just take the Gamefaqs translation and insert it back into the game. Unfortunately it wasn’t so easy as the game has branching paths and the faqs are not sufficient for that. So then I had to find translators. That was another big challenge. Eventually this led to the creation of a small group of us composed of three translators, two editors (one of whom also was our primary tester), and two programmers (me and TrekkiesUnite) who handled all the tech work.

I didn’t need to really know much else about the image formats or even how the Saturn worked in order to write the tool for DF2. Sakura Wars was a whole different beast. I had to learn how to use the available debugging tools and read through hundreds of pages of documentation in order to understand how the Saturn’s hardware worked. That had to be done in order to extract and patch all of the data as well as modifying the game’s assembly code. SW1 & 2 have a ton of images containing text. All of the font sheets, menus, minigames, loading screens, and many other images contain text in them, so these have to be extracted, edited, and put back into the game.

By the end of 2019, the team had finished and released the translation for one of the Saturn's most beloved games. But tackling the sequel wasn't on Noah's mind: he was burnt out from the effort and ready for a break. Within a couple years, though, people enthusiastic to continue the effort with Sakura Wars 2 were reaching out to him for advice and instruction on how to use the tools he'd written for the first game. Just when he thought he was out...

The flame reignited, NoahSteam got the gang back together to tackle Sakura Wars 2. That's when MattoBii came aboard as a translator.

During Covid lockdown, Matto had finally played Sakura Wars and quickly imported the entire main series and most of its spin-offs, devouring all of them. "After going through my Sakura Wars series binge, I noticed how little people knew about Sakura Wars in general. I was thus inspired to start creating Youtube videos on the games, translating all the on-screen dialogue myself, in order to help spread some awareness of the series," he says. "Through this, I was discovered and recruited onto a fan translation project for Sakura Wars GB, the first of two Game Boy Color spinoff games. Once that was done, I was recommended to the Sakura Wars 2 team, and here we are now!"

The team set up in a Discord group; NoahSteam extracted all of Sakura Wars 2's text and images and turned them into giant spreadsheets, conveniently displaying a portrait of whoever was speaking alongside the Japanese text. "These were generated by figuring out the formats for the game’s text files so that I could identify the characters associated with each line and the image formats/locations of the speaker," he says. "Because Excel and Google Docs don’t really support sheets with hundreds of images, these spreadsheets lived on a custom website I had set up for the team to use."

A screenshot of Sakura Wars 2's custom spreadsheet website

Much of his work creating tools for Sakura Wars 1 could be applied to the sequel, but Sakura Wars 2 also introduced some new wrinkles: new file formats and ways of arranging data. Both games used PRS compression, a technique Sega used across a range of Saturn games, which he was luckily able to find documentation on during the first project. But with Sakura Wars 2, Sega decided to start encoding some of the images.

"If I grabbed the images in RAM and did a search in the game’s files, they were nowhere to be found, not even when searching for them as compressed images," NoahSteam says. "To figure out what was going on, I had to step through the game’s assembly to see how it was processing the data after it was read in from the disc. I dumped the game’s code using Ghidra, converted it into C++, and used it to extract the encoded images so we could edit them. Then I had to reverse the decoding algorithm to re-encode the images and insert them back into the game. That was pretty tricky and it took me a while to figure out how to do that. It proved to be a challenging but fun exercise. It’s one of the technical feats I’m probably most proud of having solved."

Noah and fellow hacker TrekkiesUnite118 used Saturn emulators Yabause and Mednafen for development and debugging, with Mednafen serving as the go-to testing emulator. But the bulk of the work came down to the custom tools Noah built for the two games. He estimates it took about two years for the translators to work through the script, and more than a year for editing afterward.

"The main story has over 34,000 lines of dialogue throughout both the adventure parts and combat parts," MattoBii adds. "That’s not just the critical plot scenes and multiple-choice conversation branches, but also a ton of text a lot of players may never get to see, like the secret radio programs, hidden events or subtle dialogue variations based on this game’s 'personality' mechanic. This doesn’t even count all the dialogue in the post-game “Long Day” mode or any of the system text. I don’t have the means to count how many words that is overall, but suffice it to say, it’s a lot!"

As always, I asked about some of the tricky localization challenges the translators ran into, which MattoBii had a good example for:

"It was decided early on to translate the Japanese special move names to English to better convey their original meaning. However, trying to fit within the text limits of the in-game UI often posed a challenge, so the names had to be concise and appealing while still faithful to the originals. For example, one of the characters, Kanna, has all her special moves named after karate katas. One of these is 'Sanchin Tensho,' which literally means 'Three battles, rotating palms.' In karate, the sanchin and tensho katas are considered to be complements to one another, while the 'three battles' of sanchin refers to unifying the mind, body and spirit of the practitioner. With those aspects in mind, along with the attack’s animation showing Kanna’s mech performing a flurry of kicks topped off by a double-fisted downward swing, we decided upon the name 'United Assault.'

If you've read about any fan translations, you probably know about the challenge of fitting English text into the space occupied by much more compact Japanese characters. "For example, the word for 'General' can be represented by a single Kanji character," says NoahSteam. "What this means is that when the Japanese text is translated, it contains a lot more characters than the original data. Sakura War games pack their data very tight, so we simply did not have enough space in memory to fit the English text."

His solution was to change how all of Sakura Wars 2's text was encoded. Every file in the game that included story text (many, many files) also contained a corresponding font sheet for just the kanji being used in that chunk of story. An English font sheet could be comparatively smaller, since it only needed to hold 26 letters, some punctuation and a few other characters. And then by switching from the game's standard double-byte encoding scheme used for the kanji to a single-byte system, they'd buy themselves room to store twice as many lines of text as the files originally had space for.

But that's easier said than done:

"In order to make this work, the header formats within all of these files had to be changed to represent single byte text data. More challenging was modifying every place in the game’s code that was reading the text as well as how it was writing it out into VDP1 RAM (video memory). To make matters worse, SW2 had different text reading & rendering functions for almost every part of the game. The story scenes, story in battles, character quips during battles, LIPS events, item viewing, and other places all have their own schemes. It’s almost like they had different programmers implementing their own text routines.

The Saturn’s CPU has different opcodes to read one, two, and four byte data. So all of these had to be found and changed to reflect that fact that we were now using single byte data. This was very time consuming and challenging, especially with battles. Battle files each had their own text rendering code embedded within them and all at different locations within the files. So in the end, there were more than 25,000 places in the game’s assembly code that had to be modified, and that was just to get text rendering correctly for battles when using single byte encoding. The other areas of the game had their own modifications, though those weren’t as extensive as battles were. The other places accounted for about 200 changes in the assembly. This is why large and complex games like these can only be tackled by writing tools because it’s impossible to do by hand."

While NoahSteam worked on those challenges and the translators and editors made steady progress, TrekkiesUnite188 was busy subtitling all of Sakura Wars 2's movies. Noah is also particularly proud that launching alongside the English translation is a Portuguese patch spearheaded by translator Gopicolo, who coordinated with the English team and worked from their scripts to adapt both SW1&2, making them accessible for millions more players.

After he's spent well over half a decade on the two projects, I felt like it was fitting to leave NoahSteam with the final word, reflecting on what these games mean to him:

"I think back to the ‘90s, when most of us were kids playing on our Saturns, and there was a real sense of frustration seeing so many amazing titles released in Japan but never making it over here. The Saturn still has an incredible library that’s largely locked away on the platform. That’s why I believe we’ve seen so many fan translation patches over the years — because a large group of us “Sega kids” grew up and stayed active as gamers.

Games like Sakura Wars, Dragon Force II, Shining Force III, and Princess Crown are still extremely playable and fun, even decades later. Sakura Wars was a cultural phenomenon when it launched in Japan, and it’s great to see these games finally becoming accessible to a wider audience. It features very high production values, some of the most famous voice actors from the gaming and anime industries, and a ton of heart."

You can find the patch on SegaXtreme here, along with full credits for the many more translators, editors, testers, and graphic designers who helped make it a reality.


2. 120 fps? In my GameCube games? It's more likely than you think

This feature isn't a sure thing just yet, but Dolphin has what's potentially a very exciting update on the horizon: higher framerate support for emulated games. A currently-in-progress pull request on Github for VBI Frequency Override highlights a way to play games at greater than 60 fps without the typical issues that'd come along with changing framerates in a console game — accelerated gameplay, squeaky audio, physics blasted to the moon.

It's not a universal technique — most games will break or behave oddly as expected. But depending on how they're programmed, some others will basically just... work! Longtime Dolphin contributor JMC47 has listed out a number of games tested and working with the feature. Here's a few that caught my eye:

  • Speed Racer: The Videogame
  • Nights: Journey of Dreams
  • Pitfall: The Lost Expedition
  • Prince of Persia: The Forgotten Sands
  • Mario Strikers Charged
  • Spider-Man 2
  • Metroid Prime 2
  • The Incredible Hulk: Ultimate Destruction

The only way to know if a game will work or break is by testing it, a major demand given the 2000+ available across the Wii and the GameCube.

"Compatibility seems to be somewhere around 1% of the library," JMC47 tells me. But as Dolphin's contributors "do more testing and the feature rolls out to get more sophisticated cheats/patches for it, [that number] could rise into the hundreds."

This is actually the revival of an older feature that was never merged, but it's now looking more likely to make its way into the emulator. We're still in the speculation phase, but if it does become part of Dolphin in the next few weeks or months, we could see a burst of activity around testing and contributors making patches to enable high framerate support in as many games as possible. Basically there's more work to be done, and as always in open source projects that's entirely down to selfless volunteers. But as the owner of a 144Hz monitor, I'm sure rooting for it.


Patching In

PCSX2 gets better at ultrawide – Longtime ROM readers may remember the name Filoppi from his contributions to precise color reproduction in Dolphin. Well, he's also contributing to PCSX2, this time helping out folks with ultrawide monitors display games just the way they want 'em. Using per-game patches in PCSX2 it's possible to get a lot of games rendering at different resolutions; Filoppi's been working to make that system more flexible, enabling "users with monitors of any aspect ratios to use patches made for any other aspect ratio." In his example, you can now run a game with a 21:9 patch on a 32:9 monitor without it being smooshed as flat and wide as an iPad.

iOS emulator Delta gets DS multiplayer and more – This update dropped riiiiight after my last standard issue: the multi-system iOS emulator got an updated N64 core, online multiplayer for DS games, and a screenshot feature. Plus there's "experimental" RetroAchievements support for NES, SNES and N64.

No$Gba updated for the first time in 4 years – The No$ emulators are beloved among hackers and developers for their debugging tools, and they're also some of the longest-living in the scene. No$Gba dates back to July 2001, aka just four months after the console was released in Japan. These days it also supports DS and (to a limited extent) 3DS emulation, though for actually playing games you'll likely have a better experience with other emulators. I just think it's cool as hell that developer Martin Korth still continues to work on them after so many years.


Core Report

Rolling Thunder rolls out – Jotego's latest MiSTer/Analogue Pocket arcade core has arrived in beta for Patreon backers: Rolling Thunder, an '80s sidescrolling shooter from Namco.

The MiSTer CD-i core will not stop – In defiance of all that is holy, the MiSTer Philips CD-i core continues to make steady progress, with improvements like autoplaying CD-i discs and faster booting. I'm still waiting for it to implement a "destroys all known copies of Zelda's Adventure in existence with the press of a button" feature. Is that asking too much?

ST-V Titan core gets saving – The Saturn's spin-off arcade hardware has its own MiSTer core, as covered in ROM earlier this year, and it just got a small but important update: you can now save SRAM and EEPROM data. Now obviously saving isn't as significant on arcade hardware as it is for console games, but this feature allows for recording things like high scores as well as some arcade cab configuration stuff. You're not just emulating a Titan anymore; you're emulating your Titan!


Translation Station

Eadmaster's Princess Crown translation hits 1.0 – Wow, what a month for the Saturn. Another "never thought I'd see the day" patch has just hit hit "finished" status: Princess Crown, the proto-Vanillaware action RPG. As covered last year, there was some scene drama around the initial incomplete release of this patch: it's based off the work of another duo, CyberWarriorX and SamIAm, who had published their early progress way back in 2013. They're supposedly still working on their own translation, and maybe we'll see it someday — but in the meantime, Eadmaster has been steadily improving last October's buggy initial release with bug and graphical fixes, filling out untranslated text and polishing the existing translation work.

This patch has actually ended up being quite a collaborative effort, with contributions from a number of programmers and translators in the Saturn's orbit. There's even an "EX" version of the patch that includes an increase in screen resolution width and transparency on the dialogue boxes. I haven't had time to play through the game, but the reactions to the finished translation so far seem very positive. It's surreal seeing this one finally just... out there.

The Casio Loopy gets its first fan translation: Puppy Love Story – You know about the Casio Loopy, right? Famous game console, sold about as well as the SNES, had a better sound chip than the Genesis? No? Never heard of it? Okay, so actually the Casio Loopy only had 10 games and is still an obscurity to this day. But it's a much better-documented obscurity now than it was just a few short years ago, and now it even has its first fan translation!

I'm delighted to announce my English translation of Puppy Love Story on Casio Loopy, a visual novel penned by Kenji Terada. You can play on real hardware with a Floopy Drive, or emulate with LoopyMSE. I translated the manual as a little bonus too! Prepatched available at archive.org/details/pupp...

Roger Braunstein (@partlyhuman.com) 2025-04-21T17:06:08.737Z

It's pretty dang cute, and you might recognize writer Kenji Terada's name from the slice of life anime Kimagure Orange Road or the video games "Final Fantasy," "Final Fantasy II" and "Final Fantasy III." Stranger still, the game was developed by Linda Cube studio Alfa System, though don't expect it to be quite that subversive.


Good pixels

I learned yesterday that artist David Schleinkofer died last week of ALS, a truly terrible disease. I didn't know him by name, but I'll never forget his art: like millions of others I know his SimCity 2000 and other Sim game covers; they're unforgettable. I wanted to post a few pieces of David's art to celebrate an incredible creative life.

Mastodon