The MiSTer's N64 core goes Turbo while Princess Crown on the Saturn takes its sweet, sweet time
The "finished" N64 MiSTer core has life in it yet — and so does a fan translation more than a decade in the making.
Here's a pleasant surprise: For once an emulator is being discontinued, and it's not bad news. No one's life is being ruined or upended; no one's preemptively shutting down their passion project out of fear that Nintendo's lawyers will come rappelling down out of a helicopter circling overhead. It's actually, in fact, a good thing. Hard to believe, I know, but!! Here we are.
Lime3DS, featured several times in this newsletter this year, was one of a couple emulators to pick up the code from Citra after Nintendo's settlement with Yuzu took down the 3DS emulator too. It was a promising fork, seeing regular improvements since it launched, but it also wasn't the only one — and now those diverging roads are going to reunite. Lime3DS and another developer are both shutting down to combine their projects into a new, yet-to-be-named emulator, keeping the last six months of work from both parties.
"No longer will development be fragmented between these forks, and instead all progress will be made in a single coordinated effort," the Lime3DS devs wrote in their latest update.
You love to see it.
I mean, really, you do. Or at least I do. It's been a rough year for emulators getting shut down, and even one of our stories in this issue may make you go "man, what if everybody just worked together?" It ain't always that easy or that simple, of course, but if wishes were Eponas and all that.
Today's main story isn't breaking news, but I decided to highlight some great, semi-recent improvements to the N64 experience on the MiSTer. This may well be the best way to emulate the console these days, though software emulators have also done a great job of wrangling the console in recent years, as this week's Good Pixels show.
I could ramble on, but I'm feeling the siren call of Balatro as I write this, so I think it's time to get moving. 🃏
The Big Two
1. N64 goes vroooom
In April I interviewed N64 MiSTer core developer Robert Peip, declaring the hardware emulation of Nintendo's 64-bit console as good as it gets. Complete. Finito. He was moving on! Well... about all that. Turns out it wasn't as good as it gets and it wasn't finito — though Peip has shifted focus to new things, he absolutely wasn't completely finished with the MiSTer, and a number of updates over the last few months have added up to meaningful improvements.
In addition to the standard N64 core for the MiSTer, Peip has also release a Turbo core that overclocks the N64 for better performance in some of its notoriously slow games. "It overclocks all main components by about 28%, so CPU, RSP, RDP and memory," Peip explains. "It also takes care to not modify timing of audio, video and CPU timers, so all games that depend on timers or video timing will run the same game speed as before. Thankfully for the N64 this is the vast majority."
This is, obviously, very helpful in games like Perfect Dark, Banjo Tooie, DK64 and the Turok sequels, which could easily see framerates dip down into the teens on real hardware. The Turbo core's been around since last year, but in recent months Peip's been giving it some love I thought deserved more attention. Another member of the MiSTer community deserves some props too.
"Ruleset appeared in July in the channel with a bunch of patches for games that had issues on the core. He was able to find out the root cause of some of the issues and patched them in game code. For me it's still a miracle how he can do such things, but it was a great chance for the core. I basically just made the same fixes in the core so the patches are no longer required. This mostly affected some edge cases of the CPUs TLB, so memory mapping.
Some games do weird things, like accessing memory cells the N64 doesn't have and then expecting the console to return something else instead. I also fixed a mistake i made in the audio interface where the audio timer was running one tick (0.002%) faster than it should be, causing some games that really depend on it to have some audio distortion. Also some rendering issues and other smaller bugs for audio or SNAC.
The last change was the memory interface clock that was required required for some of the DE10-Nano clone boards. The core should now work on all DE10-Nano and all clones."
So, to recap: A bunch of fixes from the standard core have more recently been added to the Turbo core, which is able to make some of the N64's best and most demanding games way more playable than they would be at normal clock speeds. And they'll now work properly on clone boards like the MiSTer Pi!
Peip does point out that the because this is overclocking both the N64's virtual hardware and the MiSTer's real hardware to hit higher speeds, it is possible for it to cause glitches or crashes; it's not perfectly stable. "The chance of it seems very low, considering how much it's been tested already, but when using it you should always be aware that this can happen," he says.
Here's a nice overview of many of the games that benefit from the speed buff with some comparison footage.
There are no more N64 core improvements in the pipe (from Peip 🥁) right now, so feel free to grab the standard core from update_all or manually install the Turbo core and get to playing. After all, it's gonna be a long wait for that Analogue 3D.
2. After 27 years, there's a translation of Saturn RPG Princess Crown. Should you play it?
Most of the time a new fan translation is cause for joyous celebration. After years or decades, some coveted game from days past can be played, studied, appreciated anew; no offense to the tool-assisted speedrunners out there, but this is easily my favorite part of the hobby that emulation has enabled. But every once in awhile it gets a little... complicated. A little messy.
Maybe there's a new translation, but it was made by feeding a script into OpenAI and spit back out with no human love and care. Maybe a translator gets brigaded for a localization choice. Maybe a translation is exactly what people have been craving for years... but some of the people who made it are salty about it being released. It's happened before; it'll happen again; it's happening right now with Princess Crown!
Okay, so here's the mess:
In 2012, hacking / translator duo CyberWarriorX and SamIAm started working on Princess Crown, an Atlus action RPG and the first credited directing gig for George Kamitami, who'd go on to found Vanillaware and make bangers like Odin Sphere and 13 Sentinels. It's one of those "trace the roots of a beloved creator to better understand their later masterpieces" kinda games; people naturally really want to play it in English. CyberWarriorX and SamIAm put an early version of their very-much-still-in-development translation on GitHub in 2013, and then kept working on it. For 11 years.
Until last week, when programmer eadmaster released a fork of the open source code he'd used to cook up a playable patch. Suddenly Princess Crown was playable! Everyone was joyously celebrating! Except CyberWarriorX and SamIAm, whose response was, basically: "WTF?"
The last few weeks basically scores a BINGO for scene drama:
- "It's open source, so eadmaster had every right to do what he did! He didn't need to ask for permission!"
- "Yeah, but was it ethical?"
- The original translators asking people to wait and play their version instead
- Plenty of people goin' "Whatever, they took too long, snooze ya lose" or "they're just jealous of the attention"
- Another translator popping up to contribute to the fork while promoting their work as "accurate and uncensored" 🚩
The whole thing sucks.
Personally, my take is that yeah, anyone can fork open source code and do what they want with it as permitted by the license, and it is pretty damn reasonable to think that a project that looks like it hasn't been touched since 2013 is long dead. That said, before I took on the major work of publishing a translation patch for a long-coveted game that piggybacked on someone else's work, I feel like I would ask first? Spend 30 minutes looking for an email address or a Discord account? Be like, "hey, this cool?"
Prompted by their decade-old work resurfacing, the duo have now released a video to showcase their progress over the last 10 years. And it's clearly a major improvement!
But it's also, right now, not available for anyone to play. The other one — flawed as it may be — is. And that may be the way things stay for years; CyberWarriorX and SamIAm haven't exactly been publicly loud about their work for the last many years. That's absolutely their right — they don't owe anyone their labor and no one is entitled to the results of it no matter how badly they wanna play this game in English.
In a scene as small, specialized and thankless as translating games, I think it's a shame eadmaster didn't think or care to reach out to the folks whose shoulders he was about to stand on; I also think if you're working on something for 10+ years it'd be nice to give people regular signs of life, but unfortunately that comes with the baggage of people badgering you for more, faster.
I'll be keeping an eye on eadmaster's fork to see what comes of it, but I wouldn't recommend anyone play it as it is now; it clearly needs more work. I have no idea if CyberWarriorX and SamIAm will finish their patch in the next six months, or year, or decade. But I hope they do — if only because I can only imagine how good that closure would feel, and because I know how great the end result of such a long, long road can be.
Patching In
ShadPS4 v0.4.0 marks another major update – Bloodborne Watch continues, and it's an exciting week this week. The first named release of ShadPS4 since September includes a whole lotta stuff, but here are some highlights:
- "Shader recompiler fixes"
- "Emulated support for CPUs that don't have SSE4.2a"
- "Frame graph + precise 60 fps timing"
- "Pooled memory implementation"
- "Initial support of Geometry shaders"
- "Refactor audio handling with range checks, buffer threshold, and lock"
I don't have a breakdown to share about what all that actually means for playability at the moment, but we'll surely return for another in-depth look at ShadPS4 in a few months. In the meantime, we can continue to judge by the barometer of progress most everyone cares about: how dat Bloodborne lookin'?
PCSX2 v2.2.0 marks a new stable release – I wrote about the landmark 2.0 release for PCSX2 back in the July 14th ROM, which marked the emluator bundling up more than four years of progress into a new stable build, complete with an auto-updater for future builds. But it seems like stable milestones are also now going to be more common, as 2.2.0 has arrrived just three months later. "If you've been following our nightly builds there isn't anything new for you, but if you're still on v2.0.2 expect a bunch of quality-of-life fixes and minor improvements all around," developer fobes wrote in the PCSX2 Discord. There have been a number of recent bugfixes, and here's a nice addition: you can now search for cheats within the emulator!
Flycast v2.4 adds RetroAchievements, Discord Rich Presence, and more – A great release for what is today many folks' go-to Dreamcast emulator! On top of RetroAchievements and Discord Rich Presence integration, the first major release since March also adds force feedback for a buncha racing games including Initial D and, more importantly, Tokyo Bus Guide. There are fixes for multiple games including Virtua Cop 2, Beach Spikers, and Red Dog: Superior Firepower, a game I had never heard of but now really want to play. Finally, there are Vulkan perf optimizations and more "upgrades" from contributors. Time to play some Dreamcast!
Ares delivers GBA accuracy at performance speeds – A tweak to Ares' GBA core sneakily runs the system's CPU and APU asynchronously, only syncing them at needed intervals, which "performs comparably to the performance profile but without the accuracy downsides." As a result the old performance option has been replaced, though there's "disable pixel accuracy" option that'll give you a 10-15% boost if needed (presumably running on a toaster).
Core Report
The Sega Saturn Core does 480i now – Y'know, if that's your thing. Oh, it also fixed timing issues in a handful of games, including Dead or Alive, Fighters Megamix, and Magic Knight Rayearth. The only game listed under "known issues" in the readme now? Space Jam.
MAME 0.271 brushes up its PC-98 skills – The latest monthly MAME release is "another good month for gambling system emulation," but I"m gonna skip right over that for the bigger draw: "Numerous issues with NEC PC-98 emulation have been fixed, many of them affecting graphics. This has resulted in dozens of software list items being promoted to working." Cool! Of course, you could follow Gang Fight's guide to PC-98 emulation which recommends Neko Project 21/W, but it's always nice to see MAME up its computer emulation chops.
Also, the arcade bootleg of Bare Knuckle II has been promoted to "working."
Translation Station
Popolocrois Monogatari II – A new translation for a beloved RPG! Sort of. Translator LostOkina released a patch in 2022 that included "All gameplay elements (menus, items, abilities, etc), cutscenes, and progression dependent dialogue have been fully human translated into English." However, it used machine translation for "all random NPCs that are not tied to story progression." This new patch from Zenksren expands on LostOkina's original work, reportedly filling in human-made translations for the remaining elements of the game. Primo!
Hilltop goes ham on HamuHamu – Sometimes Hilltop Works delivers one of the most sought-after fan translations of all-time with a project like Racing Lagoon or Boku no Natsuyasumi 2. And sometimes he delivers "a somewhat infamous Japanese shitpost game for the PC from the year 2000." The whole thing took just four days "including hacking, translating, and making the trailer." Watch out: the hamster's got a gun!
Good pixels
Continuing our N64 theme, here's a smattering of shots from testing out higher internal rendering in Project64. Not bad for a 23-year-old emulator.