An Emulator That Only Plays One Game

[Ben Smith] had previously implemented a GameBoy Color emulator but decided to make a new emulator that to play just one game called pokegb. The game is, of course, the popular blue edition of Pokemon. While this emulator could play other GameBoy games, the way it was implemented was to support only the opcodes and features that Pokemon Blue used. What’s perhaps even more amazing is that this full emulator is just 582 lines of C++ (using SDL for graphics and input). There is also an obfuscated version that comes in at just 68 lines and in the shape of three Pokeballs. All the code for pokegb can be found on GitHub.

[Ben] goes through a detailed listing of each opcode of the processor, memory, the graphics unit (PPU), and how it interacts with a modern operating system. We love the idea of implementing each opcode one by one and gradually seeing the emulator make it farther and farther through the ROM. The only feature that’s noticeably absent is sound, which would require a significant amount of code to emulate properly.

If you’re interested in a deep dive into the audio chips inside a Gameboy Color, [Ken Shirriff] has already done the research for you.

Comparing Bare Silicon On Two Game Boy Audio Chips

We always look forward to a new blog post by [Ken Shirriff] and this latest one didn’t cure us of that. His topic this time? Comparing two Game Boy audio chips. People have noticed before that the Game Boy Color sounds very different than a classic Game Boy, and he wanted to find out why. If you know his work, you won’t be surprised to find out the comparison included stripping the die out of the IC packaging.

[Ken’s] explanation of how transistors, resistors, and capacitors appear on the die are helpfully illustrated with photomicrographs. He points out how resistors are notoriously hard to build accurately on a production IC. Many differences can affect the absolute value, so designs try not to count on exact values or, if they do, resort to things like laser trimming or other tricks.

Capacitors, however, are different. The exact value of a capacitor may be hard to guess beforehand, but the ratio of two or more capacitor values on the same chip will be very precise. This is because the dielectric — the oxide layer of the chip — will be very uniform and the photographic process controls the planar area of the capacitor plates with great precision.

We’ve decapsulated chips before, and we have to say that if you are just starting to look at chips at the die level, these big chips with bipolar transistors are much easier to deal with than the fine and dense geometries you’d find even in something like a CPU from the 1980s.

We always enjoy checking in with [Ken]. Sometime’s he’s taking apart nuclear missiles. Sometimes he is repairing an old computer. But it is always interesting.

Solar-powered GameBoy Color Never Runs Out Of Juice

solar_gbc

Instructables user [Andrew] was given a free, but damaged GameBoy color by a friend. The friend’s dog had done quite a number on the outside of the handheld, but it was definitely usable.  After replacing some of the outer shell, [Andrew] decided that he would try tweaking the GameBoy to utilize a solar cell in order to keep the batteries topped off.

He bought a solar garden light for $5 and disassembled it, being careful not to damage the heavily-glued solar panel in the process. The GameBoy was pulled apart next, and the solar panel was soldered to the handheld’s battery leads. Once the wires were properly routed through the case, he reassembled the handheld and picked up a pair of rechargeable AA batteries to test things out.

[Andrew] tells us that the solar panel works nicely, and that simply setting it out face-down keeps his batteries charged and ready to go.

Stick around for a quick video demo of his solar-powered GameBoy.

Continue reading “Solar-powered GameBoy Color Never Runs Out Of Juice”