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.

Mining Bitcoin On The Nintendo Game Boy

Mining cryptocurrency is a power intensive business, with big operations hoarding ASIC rigs and high-end GPUs in an endless quest for world domination money. The Bitcoin-mining Game Boy from [stacksmashing] is one of them. (Video, embedded below.)

The hack is relatively straightforward. The Game Boy is hooked up to a PC via a Raspberry Pi Pico and a level shifter to handle the different voltage levels. The Game Boy runs custom software off a flash cart, which runs the SHA hash algorithm on incoming data from the PC and reports results back to the PC which communicates with the Bitcoin network.

[stacksmashing] does a great job of explaining the project, covering everything from the Game Boy’s link port protocol to the finer points of the Bitcoin algorithm in explicit detail. For the technically experienced, everything you need to know to recreate the project is there. While the Game Boy manages just 0.8 hashes per second, trillions of times slower than cutting edge hardware, the project nonetheless is amusing and educational, so take that into consideration before firing off hot takes in the comments below. If you’re really interested in the underlying maths, you can try crunching Bitcoin hashes with pen and paper.

Continue reading “Mining Bitcoin On The Nintendo Game Boy”

The Game Boy Camera, Or: How I Learned To Stop Worrying And Love The Pixels

Never underestimate the power of nostalgia. In an age when there are more megapixels stuffed in the sensor of a smartphone camera than the average computer display can even represent, why would jagged images from a 20-year-old grayscale camera with pixels numbering in the thousands still grab attention? Maybe what’s old is new again, and the coolness factor of novelty is something that can’t be quantified.

The surprise I had last Monday when I saw my Twitter notifications is maybe only second to the feeling I had when I was invited to become a Hackaday contributor. I’d made a very simple web app which mimics a Game Boy Camera using the camera from your phone or desktop, and it got picked up by people so much that I’m amazed my web host is still holding. Let’s look at why something seemingly so simple gained so much traction.

Continue reading “The Game Boy Camera, Or: How I Learned To Stop Worrying And Love The Pixels”

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.

The Ultimate Game Boy Talk

It is absolutely no exaggeration to say that [Michael Steil] gave the Ultimate Game Boy talk at the 33rd Chaos Communication Congress back in 2016. Watch it, and if you think that there’s been a better talk since then, post up in the comments and we’ll give you the hour back. (As soon as we get this time machine working…)

We were looking into the audio subsystem of the Game Boy a while back, and scouring the Internet for resources, when we ran across this talk. Not only does [Michael] do a perfect job of demonstrating the entire audio system, allowing you to write custom chiptunes at the register level if that’s your thing, but he also gets deep into the graphics engine. You’ll never look at a low-bit Pole Position clone the same again. The talk even includes some new (in 2016, anyway) hacks on the pixel pipeline in the last 15 minutes, and a quick review of the hacking tools and even the Game Boy camera.

Why do you care about the Game Boy? It’s probably the last/best 8-bit game machine that was made in mass production. You can get your hands on one, or a clone, for dirt cheap. And if you build a microcontroller-based cartridge, you can hack the whole thing non-destructively live, and in Python! Or emulate either the whole shebang. Either way, when you’re done, you’ve got a portable demo of your hard work thanks to the Nintendo hardware. It makes the perfect retro project.

Continue reading “The Ultimate Game Boy Talk”

Ambitious LED Cube Provides Endless Video Game Scrolling; Plays Castlevania

LED cubes are all the rage right now, and rightly so given the amount of work that goes into them and the interesting things people find to do with them. Not content to make yet another position-sensitive display or an abstract design, though, [Greig Stewart] opted for something a bit more ambitious: an LED cube with a playable game of Castlevania.

As ambitious projects often do, this one required leveraging the previous art, some of which we’ve featured before. [Greig] pulled inspiration and information from cube builders like [polyfloyd], [Greg Davill], and [kbob] to put the six 64-LED matrix panels to work. Getting the structural elements figured out was an early stumbling block, but [Greig] pulled it off with 3D-printed brackets and a hinge that’s a work of art in itself; the whole thing looks like something the Borg would have built. The Raspberry Pi inside made a Gameboy emulator possible, and his first stab at it was to have six different games running at once, one on each panel. He settled on just one game, the classic side-scroller Castlevania, played on just four of the panels. Some wizardry was required to de-scroll the game so that the character walks around the cube rather than having the background scroll; you can check out the results in the clip below.

Currently, the cube sits on a lazy susan with a small motor controlling the swiveling in response to a foot control. [Greig] wants to put the motor under control of the game so that physical scrolling is synced with gameplay; we heartily endorse that plan and look forward to the results.

Continue reading “Ambitious LED Cube Provides Endless Video Game Scrolling; Plays Castlevania”

Micro-Sized Flex For Commercial Quality Bodging

We love watching the creativity unleashed by the democratization of once-exotic technologies. The casualness by which one can order a cheap, small run of PCBs has unlocked a flood of fine pitch components and projects which look commercial quality even with a total build volume of one. Now the once mythical flex PCB has been falling from it’s stratospheric pricing and with OSHPark’s offering it feels like we’re at the inflection point. [qwertymodo] leveraged this by creating a beautifully twisted flex to add link port support to the Super Game Boy

In the mid-90’s Nintendo released the Super Game Boy, a cartridge for the SNES which allowed you to play Game Boy games on the big screen. Each cartridge was in fact an entire Game Boy with the appropriate hardware to present it in a way the host console could interface with, but missing some of the hardware a standalone Game Boy would include like a link port to connect it to another system. This mod fixes this limitation by bridging the correct pins out from the CPU to a breakout board which includes the link port connector. For general background on what’s going on here, check out [Brian]’s article from April describing a different mod [qwertymodo] executed to the same system.

What’s fascinating is how elegant the mod is. Using a a flex here to create a completely custom, strangely shaped, one-of-a-kind adapter for this random IC, in low volume is an awesome example of the use of advanced manufacturing techniques to take our hacks to the next level. It reminds us a little of the method [Scotty] used to add the headphone jack to his iPhone 7 back in 2017. At the time that seemed like a technology only available to hackers who could speak a little Mandarin and lived in Shenzhen.

Detailed information on this hack is a little spread out. There is slightly more info in these tweets, and if you have a Super Game Boy crying out for a link port the adapter flexes are sometimes available here. Look beyond the break to see what the mod originally looked like sans-flex.

Continue reading “Micro-Sized Flex For Commercial Quality Bodging”