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.

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”

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”

Overclocking In An SNES Emulator

The bsnes emulator has a new overclocking mode to eliminate slowdowns in SNES games while keeping the gameplay speed accurate. We’re emulating old SNES hardware on modern machines that are vastly more powerful. Eliminating slowdowns should be trivial, right? For an emulator such as bsnes, which is written to achieve essentially pixel-perfect accuracy when emulating, the problem is decidedly non-trivial. Stick around to learn why.

Continue reading “Overclocking In An SNES Emulator”

Creative Limitation And The Super Nintendo Sound Chips

The Super Nintendo recently experienced a surge in popularity, either from a combination of nostalgic 30-somethings recreating their childhoods, or because Nintendo released a “classic” version of this nearly-perfect video game system. Or a combination of both. But what made the system worthy of being remembered at all? With only 16 bits and graphics that look ancient by modern standards, gameplay is similarly limited. This video from [Nerdwriter1] goes into depth on a single part of the console – the sound chips – and uses them to illustrate a small part of what makes this console still worth playing even now.

The SNES processed sound with two chips, a processing core and a DSP. They only had a capacity of 64 kb, meaning that all of a game’s sounds and music had to fit in this tiny space. This might seem impossible if you’ve ever played enduring classics like Donkey Kong Country, a game known for its impressive musical score. This is where the concept of creative limitation comes in. The theory says that creativity can flourish if given a set of boundaries. In this case it was a small amount of memory, and within that tiny space the composer at Rare who made this game a work of art was able to develop a musical masterpiece within strict limitations.

Even though this video only discusses the sound abilities of the SNES, which are still being put to good use, it’s a good illustration of what made this system so much fun. Even though it was limited, game developers (and composers) were able to work within its limitations to create some amazingly fun games that seem to have withstood the test of time fairly well. Not all of the games were winners, but the ones that were still get some playtime from us even now.

Continue reading “Creative Limitation And The Super Nintendo Sound Chips”

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”

SNES Mode 7 Gets An HD Upgrade

Emulating SNES games hits us right in the nostalgic feels, but playing SNES games on an 1920×1080 monitor is a painful reminder of the limitations of SNES hardware. [DerKoun] felt the same consternation, and decided to do something about it. He realized that some SNES games have much higher resolution textures that weren’t being taken advantage of. The SNES had a revolutionary video mode, mode 7, that allowed a game to set a relatively high resolution background, and then rotate and scale that background during gameplay.

This pseudo 3d effect was amazing for its time, but taking a high resolution image and squashing it into a 320 by 240 pixel viewport makes for some painful artefacts. This is where [DerKoun]’s hack comes in. He wrote a modification to the bsnes emulator, allowing those rotations and scaling to happen in full resolution, vastly improving the visuals of mode 7 games.

The latest teaser for what’s to come is shown above, mapping the mode 7 backgrounds onto a widescreen viewport, as well as HD.

Come back after the break for some mind blowing SNES HD PilotWings action!

Update: Development discussion has continued in a new thread. Start with link above to get origin story and continue to the new dev thread for recent updates.
Continue reading “SNES Mode 7 Gets An HD Upgrade”