Restoring An Abandoned Game Boy Kiosk

Back in the olden days, there existed physical game stores, which in addition to physical games would also have kiosks where you could try out the current game consoles and handhelds. Generally these kiosks held the console, a display and any controllers if needed. After a while these kiosks would get scrapped, with only a very few ending up being rescued and restored. One of the lucky ones is a Game Boy kiosk, which [The Retro Future] managed to snag after it was found in a construction site. Sadly the thing was in a very rough condition, with the particle board especially being mostly destroyed.

Display model Game Boy, safely secured into the demo kiosk. (Credit: The Retro Future, YouTube)
Display model Game Boy, safely secured into the demo kiosk. (Credit: The Retro Future, YouTube)

These Game Boy kiosks also featured a special Game Boy, which – despite being super rare – also was hunted down. This led to the restoration, which included recovering as much of the original particle board as possible, with a professional furniture restore ([Don]) lending his expertise. This provides a master class in how to patch up damaged particle board, as maligned as this wood-dust-and-glue material is.

The boards were then reassembled more securely than the wood screws used by the person who had found the destroyed kiosk, in a way that allows for easy disassembly if needed. Fortunately most of the plastic pieces were still intact, and the Game Boy grey paint was easily matched. Next was reproducing a missing piece of art work, with fortunately existing versions available as reference. For a few missing metal bits that held the special Game Boy in place another kiosk was used to provide measurements.

After all this, the kiosk was powered back on, and it was like 1990 was back once again, just in time for playing Tetris on a dim, green-and-black screen while hunched half into the kiosk at the game store.

Continue reading “Restoring An Abandoned Game Boy Kiosk”

Bringing Achievements To The Nintendo Entertainment System

Microsoft made gaming history when it developed Achievements and released them with the launch of the Xbox 360. They have since become a key component of gaming culture, which similar systems rolling out to the rest of the consoles and even many PC games. [odelot] has the honor of being the one to bring this functionality to an odd home—the original Nintendo Entertainment System!

It’s actually quite functional, and it’s not as far-fetched as it sounds. What [odelot] created is the NES RetroAchievements (RA) Adapter. It contains a Raspberry Pi Pico which sits in between a cartridge and the console and communicates with the NES itself. The cartridge also contains an LCD screen, a buzzer, and an ESP32 which communicates with the Internet.

When a cartridge is loaded, the RA Adapter identifies the game and queries the RetroAchievements platform for relevant achievements for the title. It then monitors the console’s memory to determine if any of those achievements—such as score, progression, etc.—are met. If and when that happens, the TFT screen on the adapter displays the achievement, and a notification is sent to the RetroAchievements platform to record the event for posterity.

It reminds us of other great feats, like the MJPEG entry into the heart of the Sega Saturn.

Continue reading “Bringing Achievements To The Nintendo Entertainment System”

A SNES CPU Replacement Via FPGA

Let’s say you had a SNES with a busted CPU. What would you do? Your SNES would be through! That is, unless, you had a replacement based on an FPGA. [leonllr] has been developing just such a thing.

The project was spawned out of necessity. [leonllr] had purchased a SNES which was struck down with a dead CPU—in particular, a defective S-CPU revision A. A search for replacements only found expensive examples, and ones that were most likely stripped from working machines. A better solution was necessary.

Hence, a project to build a replacement version of the chip using the ICE40HX8K FPGA. Available for less than $20 USD, it’s affordable, available, and has enough logic cells to do the job. It’s not just a theoretical or paper build, either. [leonllr] has developed a practical installation method to hook the ICE40HX8K up to real hardware, which uses two flex PCBs to go from the FPGA mainboard to the SNES motherboard itself. As for the IP on the FPGA, the core of the CPU itself sprung from the SNESTANG project, which previously recreated the Super Nintendo on Sipeed Tang FPGA boards. As it stands, boards are routed, and production is the next step.

It’s nice to see classic hardware resurrected by any means necessary. Even if you can’t get a whole bare metal SNES, you might be able to use half of one with a little help from an FPGA. We’ve seen similar work on other platforms, too. Meanwhile, if you’re working to recreate Nintendo 64 graphics chips in your own basement, or something equally weird, don’t hesitate to let us know!

A picture of the Alarmo running a tweaked firmware, showing a theme with (Debug) added to its name, obviously a firmware modification

Making The Alarmo Customizable, By Any Means Necessary

Last year, Nintendo has released the Alarmo, a bedside-style alarm clock with a colourful display. Do you own one? You deserve full control over your device, of course. [KernelEquinox] has been reverse-engineering an Alarmo ever since getting one, and there’s no shortage of cool stuff you’ll be able to do with an Alarmo thanks to this work.

Now, just how can you improve upon the Alarmo? Looking through the Alarmo dev community site and threads on the subreddit, there are plenty of ideas, from themes to a ton of possible behaviour tweaks! In particular, Nintendo has already changed Alarmo’s behaviour in a way that is jarring to some users – a third-party development community will help us all make sure our Alarmos work exactly like we expect them to. Want to replace the sound files,  tie your Alarmo into your smart home setup, write your apps, tweak the UI or default behaviour, fix a bug that irks you real bad, or access a debug menu? Or, ensure that Alarmo doesn’t contribute to light pollution in your room? All appears to be doable.

Like the Alarmo, but don’t own one yet? They’re limited-release for now, but it will be more widely available this March; we thank [KernelEquinox] for the work in making Alarmo hacker-friendly. If you’ve forgotten, this project started off thanks to the efforts of [Gary] last year. We covered it back then — cat pictures included!

Give Your Animal Crossing Villagers The Gift Of Linux

If you’ve played any of the versions of Nintendo’s Animal Crossing over the years, you’ll know that eventually you get to the point where you’ve maxed out your virtual house and filled it with all the furniture you could possibly want — which is arguably as close to “winning” the game as you can get.

But now thanks to the work of [decrazyo] there’s a piece of furniture that you can add to your Animal Crossing house that will never get old: an x86 emulator that boots Linux. As explained in the video below, this trick leverages the fact that Nintendo had already built a highly accurate Nintendo Entertainment System (NES) emulator into Animal Crossing on the GameCube, which could be used to run a handful of classic games from within the player’s virtual living room. But it turns out that you can get that emulator to load a user-provided ROM from the GameCube’s memory card, which opens the doors to all sorts of mischief.

Continue reading “Give Your Animal Crossing Villagers The Gift Of Linux”

A Programming Language For Building NES Games

Generally speaking, writing your own games for retro consoles starts with C code. You’ll need to feed that through a console-specific tool-chain, and there’s certainly going to be some hoops to jump through, but if everything goes as expected, you should end up with a ROM file that can be run in an emulator or played on real hardware if you’ve got the necessary gadgetry to load it.

But NESFab takes things in a slightly different direction. While the code might look like C, it’s actually a language specifically tailored for developing games on the Nintendo Entertainment System (NES). The documentation claims that this targeted language not only compiles into considerably faster 6502 assembly than plain C on GCC or LLVM, but is designed to work around the strengths (and weaknesses) of the NES hardware.

Looking deeper into the example programs and documentation, NESFab offers quite a few quality of life features that should make developing NES games easier. For one thing, there’s integrated asset loading which automatically converts your image files into something the console can understand. One just needs to drop the image file into the source directory, open it in the code with the file function, and the build system will take care of converting it on the fly as the ROM is built. The nuances of bank switching — the organization of code and assets so they fit onto the physical ROM chips on the NES cartridge — are similarly abstracted away.

The obvious downside of NESFab is that, as with something like GB Studio, you’re going to end up putting effort into learning a programming environment that works for just one system. So before you get started, you really need to decide what your goals are. If you’re a diehard NES fan that has no interest in working on other systems, learning a language and build environment specifically geared to that console might make a certain degree of sense. But if you’d like to see your masterpiece running on more than just one system, working in straight C is still going to be your best bet.

Family Bass Is Musical NES Magic

The Family BASIC keyboard was a peripheral that was built for programming on the Nintendo Family Computer, or Famicom.  As [Linus Åkesson] demonstrates, though, it can do so much more. Meet the Family Bass.

The core of the project is a special adapter which [Linus] created to work with the Family BASIC keyboard. Traditionally, the keyboard plugs into the Famicom’s expansion port, but [Linus] wanted to hook it up to the controller port on a Nintendo Entertainment System instead. Getting them to talk was achieved with an ATtiny85 which could cycle through the 72-key matrix in the keyboard and spit out a serial stream of data the controller port could understand.

On the NES end, the console is set up to run custom code from [Linus] that lets him play the internal sound chip’s triangle wave with the keyboard. He demonstrates this ably in a video where he performs a song called Platform Hopping along with some of his other retro computer instruments.

We’ve seen [Linus] build some other great instruments in the past too, which are both creative and nostalgic. Video after the break.

Continue reading “Family Bass Is Musical NES Magic”