Considering the decades that have passed since Nintendo’s Game Boy was considered the state-of-the-art in mobile gaming, you’d imagine that the community would have pretty much perfected the emulation of the legendary family of handhelds — and on the whole, you’d be right. Today, you can get open source emulators for your computer or even smartphone that can play the vast majority of games that were released between the introduction of the original DMG-1 “brick” Game Boy in 1989 through to the final games published for the Game Boy Advance in the early 2000s.
But not all of them. While all the big name games are handled at this point, there’s still a number of obscure titles (not all of which are games) that require specialized hardware accessories to properly function. To bring the community up to speed on where work is still required, [Shonumi] recently provided a rundown on the emulation status of every commercial Game Boy accessory.
If there’s anyone who would know what still needs some polishing, its [Shonumi]. Not only is he the creator and maintainer of the GB Enhanced+ emulator, but he’s literally written a book on the subject.
So what’s the verdict? Not too bad, actually. [Shonumi] figures that about 80% of the Game Boy peripherals have been emulated well enough to make their respective games work, at least to some degree. For example, the basic functionality of the sonar transducer that was packed in with 1998’s Pocket Sonar fish finder has been emulated, but it always returns static data. But since you probably weren’t looking to take your emulated Game Boy out on the lake anyway, it’s not really a problem.
Most of the other devices are at least partially supported, but [Shonumi] says they need more work before they could really be considered fully functional. This includes several games which used infrared to communicate. Games which used IR for system-to-system communication are largely supported, but some titles used the IR hardware to communicate with external devices which still need to be tracked down for reverse engineering and testing.
One the most interesting entries in the list of partially supported accessories is the modem and camera for Campho Advance. This cartridge allowed the Game Boy Advance to connect to a telephone line and make two-way video calls back in 2004. [Shonumi] says that GB Enhanced+ can already connect two emulated copies of Campho Advance over the network, and you can even place calls between them. But like Pocket Sonar, the video feed has been replaced with a static image. Once the code has been written to connect the emulator with a video source on the local device (such as a webcam), this particular gadget can be checked off the list as fully functional.
According to [Shonumi], there’s only a single Game Boy accessory which has completely eluded the emulation community so far, the GBKISS LINK. This was a device that connected to your computer and could transmit downloadable games to a special cartridge over IR. Unfortunately, the system is very rare. Only a few examples are known to still exist, and none of them have ever been reverse engineered or documented.
[Shonumi] ends this State of the Union address with the belief that emulation of every official Game Boy accessory is within the community’s grasp. Progress is being made on the last stragglers, and if somebody with the right skills can get their hands on a GBKISS LINK, the final piece of the puzzle should fall into place.
Now, the state of emulation for other systems…that’s a whole different story. But hey, one legendary system at a time, right?
Thumbnail image: Sammlung der Medien und Wissenschaft, CC BY 4.0.
I mainly use the mGBA amd Gambatte emulator cores in Retropie. They work great, but some games won’t or can’t work due to lack of hardware emulation, gameboy camera, tilt sensors.
I would be hesitant calling Game Boy “state of art on mobile gaming”. Just about a year after the original monochrome GB, Sega released Game Gear (with color and backlight).
The only catch with the SGG was the speed of churning through AA battery sets…
Yeah, I’m old enough to remember playing Pokémon with that squirrelly light adapter long into the night. Long live blue and red! Long live original zelda!
Ah yes, I remember stuff. I had a magnifier/lamp combo for the original GB.
It sled sidewises over the GB and had its own battery department.
I remember playing Wario Land in my “cave” (under the table; a blanket was thrown over it).
Btw, who also has some faint memories of “Link” being called “Zelda” all the time? ;)
Atari Lynx was also competing the Gameboy, I remember.
It was superior in every way, but didn’t reach the heart of the video game players.
What made the Gameboy famous was long battery life, chassis with good haptics/ergonomy and.. Tetris. Accessories, too.
Tetris was a beloved gem a few years earlier, already. The GB port became a cult classic.
However, there were many Tetris ports and clones in the 80s before the Gameboy, including some for Windows 2 such as Klotz! Microsoft’s Tetris.
Columns was a Tetris “rival” of some sorts, I think.
Klotz! and Microsoft Tetris, I meant. They’re separate things. The Windows 2 Tetris by MS later found its way into the MS Entertainment Packs, I believe.
The IR “issue” could be fixed by supporting USB irDA adapters, I suppose?
If not, soldering a photo-transistor/IR diode on a serial port pin, respectively, might do?
(By using a real V.24 port or an USB adapter with RS-232/16550 UART or compatible emulation)
I wonder, because back in the 90s, it was possible to configure a serial port for irDA in an PC’s CMOS Setup Utility.
Such an irDA port was very flexible.
I vaguely remember there were freeware utilities that emulated an infrared remote control, for example.
I mean, at the heart, all it’s needed is to allow the emulated irDA port to access the physical data lines of a serial port?
If emulators had a little dialog to select a serial port and to map the internal infrared RX input and RX output to a physical data line, it would work?
The whole “protocol” is being handled by the Gameboy game, essentially, I suppose?
It’s not much more complicated than the joystick mapper dialogs, essentially, which do allow to map emulated buttons to physical buttons?
The IR hardware in the GBC is just “enable transmitter” and “getting signal” with no protocol or timing handled by hardware. So to connect an emulator to real hardware is a huge timing issue.
https://gbdev.io/pandocs/IR.html
Thank you for the information, it was interesting to read.
I wonder though what causes the timing issues – the emulator itself because of timing issues or the host’s (PC/device) operating system?
If it’s the latter, bit-banging the RS-232 port should be fast enough (low latency).
It’s fast enough to drive a speaker under Windows, at least, using PWM on serial pin.
Not sure how it’s with other platforms.
On Windows NT both Port.dll (written in Delphi) and PortTalk DLL allow low-level access.
Windows also can use high-resolution timer since a few years.
You should be able to reverse engineer the IR signals from the Gameboy. As long as the Gameboy is the one pushing the signals you can always “sniff” the IR signals with an Arduino build or an IR USB device capable of logging signals.
There as a time when the Gameboy was “considered state-of-the-art in mobile gaming”?
When was that?
Okay, maybe the DS and the 3DS, but the original Gameboy was almost an anachronism the day it was released. However, it did have far better battery life, played well in the sun, and was well marketed with some good games.
State of the art was the Atari Lynx. Sure, the battery life sucked and the screen wasn’t the best especially in the Sun, but it’s hardware was truly exceptional. Sadly, it also had the Tramiels selling it, with all of the dysfunction and underinvestment that implied. It didn’t stand a chance against Nintendo.
I actually had the Handy (Lynx) developer docs at the time, and a game under development. As an example of the dysfunction of Tramiel-run Atari, they forced you to manufacture the cartridges through themselves. Before spending $5K on the devkit, I waited until the cartridge production prices came out. They wanted more per cartridge to make it, than they were selling their cartridges for AT RETAIL.
I also had the option of publishing through them, but I had spoken to several of the Epyx people who shared with me some of their experiences with the Tramiels, and how only the cartridge DRM had stopped the Tramiels from screwing them (they didn’t hand over the signing keys until the entire contract was paid out). Realizing that I was a university student without any access to legal advice, I decided I wasn’t going to be making a game for the Lynx.
I actually emailed Nintendo to ask about their Gameboy SDK, but they didn’t even respond to my email.
I think state of the art is a loaded term. The Gameboy had useful limitations. The battery life alone was proof they made the right trade-offs at the time. I have a hard time with impractical fancy features.
State of the art to me means the current status and limits of hardware design skill – which includes the whole picture. It’s also why I hesitate to call the Apple VR headset state of the art.
Uh oh, don’t let the big Nintendon’t see this lest you get served with a DMCA notice given their recent [mis]behavior.