That Game Cartridge Isn’t As Straightforward As You’d Think

Classic games consoles played their games from cartridges, plastic bricks that held a PCB with the game code on it ready to be run by the console hardware. You might therefore expect them to be an easy prospect for emulation, given that the code can be extracted from whatever ROM they contain. But as anyone with an interest in the subject will tell you, some cartridges included extra hardware to boost the capabilities of their games, and this makes the job of an emulator significantly more complex.

[Byuu] has penned an article exploring this topic across a variety of consoles, with in-depth analyses of special-case cartridges. We see the obvious examples such as the DSP coprocessors famously used on some SNES games, as well as Nintendo’s Super Game Boy that contained an entire Game Boy on a chip.

But perhaps more interesting are the edge-case cartridges which didn’t contain special hardware. Capcom’s Rockman X had a copy protection feature that sabotaged the game if it detected RAM at a frequently used save game address emulated by copiers. Unfortunately this could also be triggered accidentally, so every one of the first generation Rockman X cartridges had a manually attached bodge wire that a faithful emulator must replicate. There is also the case of the Sega Genesis F22 Interceptor, which contained an 8-bit ROM where most cartridges for this 68000-powered platform had a 16-bit part. Simple attempts to copy this cartridge result in the upper 8 bits having random values due to the floating data lines, which yet again an emulator must handle correctly.

It’s a subject with a variety as huge as the number of console developers and their games, and a field in which new quirks are constantly being unearthed. While most of us don’t spend our time peering into dusty cartridges, we’re grateful for this insight into that world.

We’ve visited the world of emulators a few times before, such as when we looked at combatting in-game lag.

10-Way Game Console Lets Everyone Play

[Bitluni]’s motto seems to be, “When you’re busy, get busier.” At least that would explain adding even more work to his plate in the run-up to the Hanover Maker Faire and coming up with a ten-player game console from scratch.

As for this being extra work, recall that [bitluni] had already committed to building a giant ping pong ball LED wall for the gathering. That consisted of prototyping a quarter-scale panel, building custom tooling to get him past the literal pain point of punching 1200 holes, and wiring, programming and testing the whole display. Building a game console that supports ten players at once seems almost tame by comparison. The console is built around an ESP32 module, either WROOM or WROVER thanks to a clever multifunctional pad layout on the slick-looking white PCBs. [bitluni] went with a composite video output using the fast R-2R ladder network DAC that he used for his ESP32 VGA project. The console supports ten Nintendo gamepads for a simple but engaging game something like the Tron light cycles. Unsurprisingly, players found it more fun to just crash into each other on purpose.

Sure, it could have been biting off more than he could chew, but [bitluni] delivered and we appreciate the results. There’s something to be said for adding a little pressure to the creative process.

Continue reading “10-Way Game Console Lets Everyone Play”

SNES Drone Aims To Rock The SPC700

Way back when, home computers and consoles didn’t have the RAM or storage space for full-length recorded audio tracks. Instead, a variety of techniques were used to synthesize music on the fly. The SNES was no exception, using the SPC700 Wavetable Synthesis chip to bust out the tunes. [Foxchild] wanted to use this chip as a standalone synthesizer, but didn’t want to hack up a console to do so. Thus, the SNES Drone was born!

Instead of gutting the console for the juicy chips inside, à la most SID based builds, the SNES Drone takes a different approach. It consists of a cartridge which interfaces with a stock SNES console, making the install easy and non-invasive.

The build is in an alpha state, with the oscillators in the SNES generating continuous tones, with frequency and volume controlled by potentiometers mounted on the cartridge. Having physical controls on the cartridge makes the build feel more like a real synth, and promises to look awesome on stage for a chiptune performance.

[Foxchild] is looking for others to get involved to help get the project to the next stage, so if you’re interested, reach out on the Hackaday.io page. We’ve seen other projects to liberate the awesome chip sounds of yesteryear, too. Video after the break.

Continue reading “SNES Drone Aims To Rock The SPC700”

RuneScape GBA Controller Is A Nostalgic Mash-Up

For gamers, the early 2000s certainly stand out as a memorable era. The dawn of the 21st century ushered in the sixth generation of home video game consoles, with Sony, Nintendo, and Microsoft all releasing their systems within a few years of each other. Nintendo also released their Game Boy Advance at around the same time, representing a minor revolution for mobile gaming. On the PC front, a free-to-play MMORPG called RuneScape was redefining people’s expectations of browser-based software.

Now, thanks to modern technology and the expert guidance of [TiKevin83], these varied bits of video game history can be used in conjunction for maximum rose-tinting effect. Using homebrew software on the GameCube and a healthy collection of wires and adapters, the GBA can be used as a controller for your adventures through the realm of Gielinor. After nearly two decades, the dreams of gamers everywhere have come true.

Well, that might be a stretch. In fact, we’d wager that nobody in human history has ever looked at the GBA and thought it would be a particularly good controller for an MMORPG. Watching the video after the break, it’s not hard to see why. Using the handheld system’s digital pad to control the mouse in RuneScape looks to be precisely as clunky as you’d imagine. But of course, that’s hardly the point.

So how is it accomplished? A homebrew tool for the GameCube’s “Game Boy Player” accessory allows the GBA, when connected to the console via the appropriate adapter cable, to mimic a standard controller. Once the GBA is running in this mode, it can then be connected to the computer using a Wii U to USB adapter. Finally, the program JoyToKey is used to map the GBA’s buttons to mouse and keyboard input for “Old School” RuneScape.

If you’d like to do something similar but aren’t quite committed enough to collect up all the Nintendo-branded ephemera this method requires, you may be interested in this DIY adapter that allows the venerable GBA to be used as a standard Bluetooth controller.

Continue reading “RuneScape GBA Controller Is A Nostalgic Mash-Up”

NES Gets A Slick Acrylic Casemod

Those alive during the 1990s will remember the clear or “crystal” versions of various home consoles. Made with the usual injection molding processes, they usually came out somewhere closer to a smoky translucency and didn’t reveal much of the insides. [BitHead1000] likes to do things right though, and has busted out an awesome acrylic case mod for his NES.

The build starts with the disassembly of the original console, naturally, and the RF shielding is discarded in order to provide an unobstructed view of the internals. The acrylic case is then built up piece by piece, using the original case as a template. Flame polishing is used to treat the edges, and everything is stuck together using what appears to be acrylic cement. For a nice finishing touch, the cartridge door gets a frosted Nintendo logo, thanks to some careful work in the sandblasting booth.

The final product looks stunning, and the transparent case lends itself excellently to edge-lighting thanks to a few LEDs. We’ve seen [BitHead1000’s] work before, with the stunning flamethrowing N64 build. Video after the break.

Adding A Co-Processor To Help SNES Games With Slowdown

The Super Nintendo port of Gradius III is notable for being close to the arcade original, with its large, bright and colorful graphics. However, due to the limitation of the console’s hardware, the port is also well known for having constant slowdowns during gameplay, particularly during later sections. [Vitor] hacked away at the game and made a patched version of the ROM use a co-processor to eliminate those issues.

The slowdown seen here in Gradius is not uncommon to SNES players, many games of that era suffer from it when several sprites appear on the screen at once. This is partially due to the aging CPU Nintendo chose, supposedly in order to maintain NES backwards compatibility before the idea got scrapped. Unable to complete its tasks by the time the next frame needs to be shown, the hardware skips frames to let the processor catch up before it can continue. This is perceived as the aforementioned slowdown.

Around the later stage of the SNES’s life, games started using additional chips inside the cartridges in order to enhance the console’s performance. One of them is the SA1, which is a co-processor with the same core as the main CPU, only with a higher clock rate. By using it, games had more time to run through the logic and graphics manipulation before the next frame. What [Vitor] did was port those parts of Gradius III to the SA1, essentially making it just like any other enhanced cartridge from back in the day.

Unlike previous efforts we’ve seen to overclock the SNES by giving it a longer blanking time, this method works perfectly on real unmodified hardware. You can see the results of his efforts after the break, particularly around stage 2 where several bubbles fill the screen on the second video.

Continue reading “Adding A Co-Processor To Help SNES Games With Slowdown”

Perfecting A Bluetooth N64 Controller

Love it or hate it, the Nintendo 64 controller doesn’t seem to be going anywhere. Dedicated fans are still looking for ways to use the unique trilobed controller with modern systems, and they won’t be satisfied until they perfectly replicate the original experience. [Shyri Villar] has been working on perfecting a blend of original and modern hardware that looks very promising.

The project started when [Shyri] found that you could take the internals from a modern third party Bluetooth N64 controller made by 8BitDo and put them into the original controller’s case. This would give you the original buttons back, and overall a more authentic weight and feel. Unfortunately, this usually means dumping the original N64 joystick for the 8BitDo’s.

What [Shyri] wanted to do was install the 8BitDo PCB into an original N64 controller, but adapt Nintendo’s joystick to communicate with it. Unfortunately, since the original joystick used optical encoders and the 8BitDo version uses potentiometers, there’s something of a language gap.

To bridge the divide, both the X and Y dimensions of the joystick get their own PIC12F675 microcontroller and X9C103S digital potentiometer. The microcontrollers read the X and Y values from the original joystick’s encoders, and use the digital potentiometers to provide the 8BitDo with the expected analog input. Right now the electronics are held on two scraps of perfboard tucked into the side “wings” of the controller, but hopefully we’ll see a custom PCB in the future.

If you’re more interested in going back in time with your trusty N64 controller, then you might be interested in learning more about how one hacker managed to hook it up to the MSX.