Guy Perfect wants you to remember what is arguably the most imperfect video-game machine ever released.
Nintendo would rather we all forget about the Virtual Boy, its red-headed step-child that stood somewhere between a Game Boy, a Super Nintendo, and a virtual-reality headset. It lasted barely eight months in North America before being discontinued, and remains mostly derided to this day—for its headache-inducing red-and-black 3D graphics and mostly-poor launch lineup.
But it’s not without its fans, and there’s no doubt that the Virtual Boy is historically significant—precisely because it was Big N trying and failing to push (relatively) radical technology into the hands of mass consumers. Unfortunately, its infamy tends to stand in the way of game preservation and history-keeping.
While the Virtual Boy’s contemporary gaming platforms get armies of fans clamoring to document the hardware, peripherals, and games, it remains oddly shrouded. Internal documentation is held close in an iron-fisted grip, as corporations cling to their intellectual property no matter how outdated and unmarketable as it may be.
So it falls to the fans and the intellectually curious to fill in the gaps. Planet Virtual Boy stands as an evolving shrine to the console, filled with detailed documentation of its technology and games. It’s a bit all over the place and incomplete, however. A Planet VB community member who goes by the name Guy Perfect decided last year that he would formalize everything known about the internal workings of the console.
He took inspiration from the work of Martin “Nocash” Korth (stylized as NO$), the author of several emulators and corresponding technical manuals. If you’ve ever dabbled in emulation, you may have come across his NO$GBA, NO$GMB, or NO$NES emulators—alternately heralded and denigrated by a fickle community of software pirates. Perfect enjoyed the Virtual Boy, but never thought more deeply about it until an encounter with Korth’s documents flicked a switch in his head.
“See, Korth wrote these amazing documents,” he says. “They covered all the details of the systems he researched and wrote emulators for. Everything from the memory maps to hardware behavior to the exact algorithms used in the random noise generators. But he didn't do Virtual Boy, and I don't expect that he's eager to get into it.” Perfect decided he’d take on the challenge himself.
“I made mine to look like his, as an homage,” Guy Perfect says. He started work on the Virtual Boy Sacred Tech Scroll in June last year, then returned to finish the draft at the end of December. At nearly 30,000 words, and full of hex values, tables, and computer engineering jargon, it’s a beast of a document. But it’s the most complete and accurate assembly of Virtual Boy hardware specifications this side of Nintendo’s corporate archives.
He relied on original research and the outstanding knowledge of his fellow Planet VB members for sources, along with a programmer’s manual from 2005, FlashBoy Plus flash cartridge creator Richard Hutchinson, a website called Project: Virtual Boy, and the user manual for an NEC V810 CPU—the processor that the Virtual Boy used at its core.
The Planet Virtual Boy community showcases its talent and know-how in this video of Virtual Boy homebrew.">
He’s quick to point out that it was a group effort. “I haven’t been able to run any code on my own Virtual Boy (I’m not learned enough to make a custom software cartridge),” Perfect admits,” But many of the PVB members do have that ability and they were willing to run my test programs for me and tell me what they saw.”
He estimates that it took about three weeks altogether, but he’s not done yet. “What’s left is just tiny details. And lots of them,” he says. “Things you’d really have to sit down and think about to even realize there’s more to know.”
Sharing the Spoils
The document’s just one part of the project. Guy Perfect is writing a Virtual Boy emulator. “I figure that’s the best way to make sure I encounter all those tiny details,” he explains. “I have to know them to implement them, after all.”
He has the main functionality planned out and roughly two-thirds of the CPU instructions implemented, which seems impressive when you consider that he only started work on the emulator this week. It doesn’t even have a name. “I don't want to make any promises at this point, but some of the Planet Virtual Boy members and I were tossing around names in IRC. Most of them were in jest, but one of them kind of grew on us: Vinny.”
Why would a Virtual Boy emulator be named Vinny? Guy Perfect explains: “RunnerPack said Vince, dasi modified it to Vinny. I figured it wasn’t so terrible that I couldn’t live with it…and then we started to like it.” The name could change tomorrow, but one thing’s for certain: it won’t contain the words “Virtual”, “Utopia”, or “3D”—all are deemed “uninspiring” because of their obvious connection to the Virtual Boy.
“It’s all fun and games until I have to work up a UI [user interface] to plug the emulation core into the graphics and input hardware of the host system,” he jokes. “I can handle it just fine. But there’s always the part about having the UI to work on before I can see it come to life. For example, I might get the graphics perfectly emulated, but not be able to see any pictures until I work on some way to get them on the screen.”
Vinny—or whatever it ends up being called—won’t be the first Virtual Boy emulator—Planet Virtual Boy currently lists a dozen—but as the first built on the comprehensive collective knowledge of a community of dedicated enthusiasts, it’s likely to be the most accurate and the easiest to use as a basis for emulators that run on future computing platforms. And when it comes to preserving the history of video games, that counts for a lot.
Update: In the 24 hours since I initially talked to him, Guy Perfect has posted about a new discovery. With help from a few folks at Planet VB, he has figured out how the Virtual Boy's noise generator works. This is essential for accurate sound emulation, and for proper documentation of the hardware. Follow this link for the details (which are nicely presented).