The first details on PS4 emulator RPCSX, Dolphin's CRT color theory

Plus: Translations of an Evangelion visual novel and a PC-98 dungeon crawler. The MiSTer gets Game & Watch and guest Ray Barnholt gets NEStalgic.

The first details on PS4 emulator RPCSX, Dolphin's CRT color theory

This just in: I’m declaring it a Hot Emulator Summer starting today. I don’t really know what this means but I believe it to be true, and I’m not just saying this because I’m currently in San Jose, California on a Saturday afternoon during which the temperature is somewhere between Hell Itself and Kissing the Surface of the Sun.

This weekend I’m still riding the high of the fun I’ve had playing through Capcom’s Breath of Fire: Dragon Quarter on my Steam Deck for the past week. I finished a run a couple nights ago and think I’ll be running through New Game+ soon, since the game was really built to be played multiple times and delivers you new bits of story with later runs. It’s such a brilliant, ahead-of-its-time RPG; if it had come out a decade later when roguelites were the darling of the indie world, I think everyone would’ve gotten it, but a game that rewards extremely strategic grinding and repeat plays was mighty strange on the PS2. I’ve never played another game that gives you the power to one-shot any enemy, including the final boss, but then demands the restraint to not overuse it at the risk of having to start over.

Everything about Dragon Quarter is oppressive: the whole game world is bleak, abandoned corridors and dingy factories deep underground. Enemies can absolutely wreck your shit if you’re not careful… which is what makes those insta-win dragon powers so tempting and so satisfying. The more you play, the more you understand how much the game was designed to be manipulated for the express purpose of breaking out of those oppressive limitations. In the way that modern-day Metroidvanias were built with sequence breaking in mind, Dragon Quarter gives you the tools to transform your party from timid weaklings to OP powerhouses by bullying big bosses over and over again. Genius stuff tbh. And I’m not ashamed to admit I took advantage of save states to cut down on a bit of tedium.

I added some screenshots of Dragon Quarter to The Gallery if you want to see how it looks at 1080p in PCSX2, though it ain’t exactly the most gorgeous game ever made.

A lot of this issue of ROM came together in just the last couple days — the first of our Big Two concerns a brand new PS4 emulation project that just appeared this very weekend, while the second is from a recent addition to Dolphin that I found especially cool. I was able to talk to emulator devs for both, so we’ve got some exclusive firsthand insight in this issue. Meanwhile, one of our entries in the Translation Station debuted Saturday afternoon! Keepin’ me on my toes, phew.

Before we get to all that, though, we’ve got another guest column from longtime games writer Ray Barnholt. Take it away, Ray!

Guest.cue: Ray Barnholt discovers lost treasure Stanley: The Search for Dr. Livingston

Ray Barnholt is an indie game developer at Bipedal Dog and podcaster at No More Whoppers. He once made a videogame zine called Scroll, which is still available in PDF or print-on-demand form; I highly recommend the issue on Boku no Natsuyasumi, which includes a lengthy interview with its creator. I consider it the definitive English writing on the series.

Stanley: The Search for Dr. Livingston | 1992 | Platform: NES | Developer: Electro Brain | Action-adventure

My introduction to the emu scene in the late '90s coincided with a dalliance with collecting physical NES games. I wasn't "game hunting," mostly just hoovering up whatever grocery stores were offloading. That meant either lots of big hits or tie-in junk, and not much left in the margins — and I knew from magazines that the NES had more in the margins than my hometown was going to give me. From that arose Stanley: The Search for Dr. Livingston, a game I always thought looked neat but didn't get to play until I opened it in NESticle one fateful weekend.

The game's premise is, of course, "Dr. Livingston, I presume?"; a somewhat cartoony version of the story of Henry Stanley searching for explorer David Livingstone (note the correct spelling) in 1800s Africa. I find it hard to tell you what games it's like: there's Pitfall on the surface; maybe some Zelda II; Konami's MSX tomb-em-ups, and the title screen looks straight out of a SCUMM game — but it all comes together as a platforming-adventure hybrid where you gather fun upgrades (grappling hook! Backpack copter!), explore dungeony levels from a world map, and defend yourself from vicious beasts and uh, hostile natives.

OK, that part I won't endorse, but I always found the game a charming outlier among the typical NES fare, helped by decent graphics and cute character animation. That said, for all the jokes about "Eurojank," I do want to make clear as a citizen of the United States, there definitely exists "Amerijank," and Stanley exemplifies it; a classic case of needing a few more months. The physics will shove, wobble and blip you when you least want them to, the soundtrack tests your ears (there's two pleasant songs but you hear incessant drumming the most), and generally you'll need a high tolerance for backtracking. Nevertheless, NES emulation finally gave me the chance to play Stanley and like it despite its flaws. Such was the case with dozens of other games — if I'm honest, the real dream fulfilled by emulation was finally checking out the Famicom library. And if I had to pick a game from that to write about, then... hoo, well, I wouldn't want to keep Wes waiting. — Ray Barnholt

ROM Trivia

  • The publisher and developer were both from Salt Lake City - Ray
  • Not SCUMM, but artist Joe Hitchens did work on some classic DOS games - Ray
  • NESticle was incredibly popular and feature-rich when it launched in 1997; though I’m not 100% sure, to the best of my knowledge it was the first emulator to include save states. Kiiiind of a big deal. - Wes

The Big Two

1. A new PS4 emulator approaches: RPCSX

Here’s a hot one: RPCSX appeared on Github Saturday, created by the very same developer who started PS3 emulator RPCS3 12 years ago. It’s a PlayStation 4 emulator — not the first to exist, but other PS4 emulators are still in their infancy. GPCS4 is in active development but not really intending to emulate commercial games (so no Bloodborne 😢) while Orbital has only had one Github commit since 2021. A new project from RPCS3’s creator, then, is the kind of thing to set off alarms in Emulator News HQ. 🚨

It turns out RPCSX has been gestating for awhile. “I did some things just after the console release,” developer DH told me over email, but he decided to wait until after the PS5’s release to pursue it further. And unlike Orbital, the intent is definitely for RPCSX to run real PS4 games, but there’s no ETA for when it’ll reach that point:

“Any emulator is supposed to be to be able to run your games. Imagine that your favourite game is removed from PSN (e.g. PT), or you just haven’t access to your ps4 with TV just now, but you have PC and you just want to play a game that you already have bout. Of course you will think about an emulator. We cannot estimate anything just because every team member has work/family/hobbies and it is not full time work. We do it because it’s interesting for us.”

Currently two longtime RPCS3 developers, kd-11 and Nekotekina, are also working on RPCSX, but the project is open on Github and DH welcomes other contributors. I asked what the big challenges are for emulating the PS4 — it’s a pretty powerful console, after all, though its x86 architecture is a whole lot simpler than the PS3’s infamously complex Cell. But DH more or less shrugged it off.

“It’s quite easy to do at least for Linux, because there already exist features that were implemented for WINE, but they’re very helpful for us. The main problem is HW device emulation… but it is not really different than with PS3 emulation.

The PS4 GPU has 2 bridges to access memory. One is fast (direct memory), one is slow (over CPU). It is almost the same as PC. We still need to make caches, but in comparison with PS3, it seems to be simpler…

Shaders are the hard part… At least we have public documentation and do not need to do reverse-engineering like for Nvidia cards for RPCS3.”

2. Dolphin dials in NTSC & PAL color accuracy

I haven’t been this interested in RGB minutia since I learned that a set of Pantone color chips costs $9,000! Recently, Dolphin contributor Filoppi turned a critical eye to how the GameCube/Wii emulator displays colors, noting that the gamma and colorspaces that the two consoles operated in on NTSC & PAL TVs were different from those of today’s PC monitors. Some intense study and a lot of code later, Dolphin now has baked-in post-processing color correction. I wanted to know how inaccurate the colors were before and how Filoppi went about dialing them in, so I asked.

According to Filoppi, “Windows expects any image presented to it to be in sRGB color space. Basically Rec.709 but with a different gamma curve.” Dolphin wasn’t converting the gamma curve that games were outputting — usually around 2.2 or 2.4 — to sRGB, resulting in colors slightly off from how they’d have appeared on a CRT TV.

“Though GC games weren't made for Rec.709 nor sRGB, they were often made for PAL or NTSC color spaces, which are all different from each other and all different from sRGB. They also used a different gamma, roughly averaging to 2.35. Thus I'm doing a conversion, interpreting Dolphin emulation output as gamma 2.35 and converting it to 2.2 or sRGB gamma. This should bring the image more in line to how it was meant to be seen.

The same applies for the color space conversion. My code applies a hue shift that matches how the colors would have displayed according to the old PAL and NTSC standards.

In SDR you can see the color shift… Though some PAL and NTSC-J colors won't be represented correctly in SDR. They will approximate to the closest available color. In HDR you can enjoy the whole color range of old standards. Japan makes the image more blue. PAL shifts red and NTSC US shifts green.”

The gamma value in Dolphin is also adjustable, if you don’t like the new default 2.35.

Filoppi has also developed an HDR shader for Dolphin, though as of this writing it isn’t merged yet. This has been a recent passion for him, after developing an HDR mod for Remedy’s game Control.

“Dolphin is very focused on emulation accuracy but has been neglecting the other layers of an emulator, like these things that I've been working on (I've been reworking audio output and input in the past, and still got a lot left there to do). I like things that are technically correct and it feels kinda wrong to play games with completely random colors the devs never meant for them…

The challenge of AutoHDR is that if you map an SDR white (1 1 1) to 1000 nits in HDR, the result is blindingly bright, so you need to find the right balance. The advantage of my shader is that it keep the original artistic vision (other AutoHDR techniques change colors much more). It also allows for deep customization by the user so they can get good results with each game, as using the same params for all games won't ever work right.”

If you have an HDR display, check out the images here to see a comparison. Filoppi and another dev have also been doing some exciting work around downsampling when rendering Dolphin games at super high resolutions, but we’ll save that for next time!

Patching In

  • Yuzu amps up AMD efficiency - A pair of really nice improvements in the June 28 Early Access build of Yuzu:

    • “Reduce power consumption by ~11.5% on AMD CPUs. For example, 5600x reduced wattage usage from 69-71W to 61-63W.”

    • “Increased performance on AMD CPUs when user manually limited power. We have measured a 20 ~ 35% increase on 5600x when limited to 40W.”

    Perhaps not a big deal for desktops, but handhelds like the ROG Ally and some laptops will see a nice battery life and cooling benefit from this change.

  • PCSX2’s memory card swapping revamp - I’ve never had an issue using a virtual memory card in PCSX2, but I find this update interesting because it shows how much thought goes into any emulator feature — there isn’t a single “right” way to implement something. In this case, refractionpcsx2 reworked how the emulator handles unplugging and replugging a card:

“…has plagued PCSX2 since the beginning, reinserting memory cards on ‘swap.’ Previously we just ejected it and told the PS2 we were disconnected for 60 reads, and this kinda worked, but it was very unreliable, plus it was very annoying for people loading states as you had to keep retrying until it eventually worked.

The solution turned out to be simple. When the PS2 boots, the terminator for the memcard is set to 0x55, mcman picks this value up as ‘Uninitialized,’ then it does its auth/setup dance and sets the card up. Previously we didn't change this back, so the PS2 didn't realise the card had been ejected, but now we reset it, and it seems to work very well. This means I have set the ‘reinsert’ time to 1 second, so it won't stay ejected for long at all, and this seems to be reliable, and Ratchet & Clank no longer complains, it gracefully reinserts the memcard.”

Core Report

  • Game & Pocket - Fresh off his Tamagotchi core, MiSTer and Analogue Pocket developer Adam Gastineau released a Game & Watch core for both platforms this week, and is already working to fix up bugs folks find in the 89-game library. He based the work on documentation of the G&W’s CPU as well as MAME’s G&W implementation after an estimated 370 hours of work. The 720x720p output sounds quite nice for the Analogue Pocket (at 1440p, it should be perfectly doubled).

    • Hold on, wait a second — there weren’t 89 Game & Watch games, so what gives? Oh, nbd — Gastineau also rolled in Tiger handheld support, again leaning some on MAME (hashtag videogamebible).

    • MAME ROMs for the Game & Watch games won’t work natively on an FPGA device, so Gastineau even wrote a tool to convert them. Amazing stuff.

  • Mighty MAME - MAME .256 arrived on Tuesday with the usual lengthy list of new working systems, not-yet-working systems, bug fixes, and more. But one of the most interesting, as pointed out by David “mamehaze” Haywood, is Mighty Boxer:

    This boxing game for the Gamate - a real flop of a Game Boy competitor - was the last remaining undumped member of the 70+ library. That means the whole system has been preserved!

Translation Station

  • Madou Monogatari 1 - The translation team behind the funny mahjong game featured in April 16’s ROM is back already with a new project: a cute PC-98 dungeon crawler from the makers of Puyo Puyo! Well, somewhat cute — as the translators Yuvi and SnowyAria point out, this version is a bit unique:

    “The PC-98 edition holds a weird place where they abandoned the trademark cuteness of Puyo Puyo and other Madou Monogatari releases in favor of a dark, realistic depiction of the monsters in the mazes. They went back to the cute style after these ones, but the experimental nature of these is still worth experiencing!”

    My favorite design tidbit of this game is that it forgoes making the usual RPG stats like damage numbers and hit points visible, and instead expresses damage with words like “Oh god my vision's fading…” which reminds me of B.J. Blazkowicz’s bloody face in Wolf3D. The finished translation is available now and best played in Neko Project.

  • Neon Genesis Englishion - I missed this one earlier in June, but remember that time Gainax itself made a playable Evangelion side story where Shinji gets to date a new girl who is, of course, also a pilot? Like heaps of Evangelion games it never left Japan, but now it has thanks to a full English translation by tehmugi. Specifically this is for the PSP version of the game released in 2009. tehmugi also hacked the sequel several months ago and fully translated it with a couple collaborators.

  • How’s Boku no Natsuyasumi 2 coming along? - Hilltop Works recently streamed his team’s in-progress translation of Boku no Natsuyasumi 2 and made a small announcement: They’ll be releasing two versions of the patch.

    • One fully naturalized into English

    • One that retains Japanese honorifics, making it a bit more culturally immersive

    Generally I’d prefer the former, but given Boku’s setting and whole thing is about experiencing summer vacation as a Japanese kid, the latter makes a lot of sense in this case. In the stream (linked above, Substack can’t embed it 😕) Hilltop also touches on bits of the translation process and highlights how tricky the hacking has been, which won’t be immediately obvious to first-time players. Examples:

    • The in-game TV didn’t have subtitles, so they had to be programmed from scratch

    • Text originally displayed vertically, so that required a whole custom subtitle system

    • The vertical text also meant menu navigation had to be reworked

    • They created a unique font for one character to express his odd Japanese pronunciation

    • They had to do other custom fontwork, too, for e.g. “hand-drawn” bits of text

No word on a release date yet, as there’s still lots of translation work ahead. Let him cook. 👨‍🍳

  • Simpsons Hit & Run HD texture pack - Snowblind creates upscaled textures for GameCube games, with 720p versions available free and 1440p/5K (not a typo) files available via Patreon. This one just hit a 3.0 release, and outside a few signs looking a bit funky, the Hit & Run art really lends itself to an HDification. Kinda surprising this one’s never gotten a remake or remaster…

Everybody’s loving the hot new Final Fantasy game, right?