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!

The SNES Seems To Be Getting Faster Over Time

Every Super Nintendo console should run at the same speed. They were all built in factories with the same components so they should all operate at the steady clip mandated by Nintendo all those years ago. Except, apparently, the SNES is speeding up as it gets older.

The matter was brought to the public’s attention by the [TASBot] team, a group within the speedrunning community. If anyone was going to notice vintage consoles suddenly running a hair faster, you could bet it would be the speedrunners. Soon enough, a call was put out to crowdsource some data. Submitters were asked to run a set piece of code to test the DSP sample rate on consoles when cold and warm, to get the best idea of what was going on.

As reported by Ars Technica, the group seems to have pinned down the problem to the SNES’s Audio Processing Unit. It’s supposed to run at 24.576 MHz, with a sample rate of 32,000 Hz. However, over the years, emulator developers and speedrunners had noticed that 32,040 Hz seemed to be a more realistic figure for what real consoles were actually running the DSP sample rate at. Developers found that building emulators to run the DSP at this rate was important to run commercial games as expected, suggesting the hardware might have always been a little faster than expected.

However, more recently, it seems that the average speed of the DSP sample rate has increased further. The average result collected by [TASBot] from modern consoles is 32,076 Hz. What’s more interesting is the range of submitted figures—from 31,976 Hz to 32,349 Hz. It seems that the DSP’s ceramic resonator—used instead of a quartz crystal—might degrade over time, causing the speedup. [TASBot] team members also tested temperature changes, but only found a 32 Hz variation from a frozen SNES to one at room temperature.

The fact that console components degrade over time isn’t exactly news; we’ve featured plenty of articles on leaky batteries and corroded traces. Still, for speedrunners, the idea that the hardware standard itself can shift over time? It’s like feeling quicksand under your feet. What even is reality anymore?

[Thanks to s7726 for the tip!]

Are CRT TVs Important For Retro Gaming?

We always thought the older console games looked way better back in the day on old CRTs than now on a modern digital display. [Stephen Walters] thinks so too, and goes into extensive detail in a lengthy YouTube video about the pros and cons of CRT vs digital, which was totally worth an hour of our time. But are CRTs necessary for retro gaming?

The story starts with [Stephen] trying to score a decent CRT from the usual avenue and failing to find anything worth looking at. The first taste of a CRT display came for free. Left looking lonely at the roadside, [Stephen] spotted it whilst driving home. This was a tiny 13″ Sanyo DS13320, which, when tested, looked disappointing, with a blurry image and missing edges. Later, they acquired a few more displays: a Pansonic PV-C2060, an Emerson EWF2004A and a splendid-looking Sony KV24FS120. Some were inadequate in various ways, lacking stereo sound and component input options.

A poor analog cable coupled with rendering inaccuracy gives a nice filtering effect

A large video section discusses the reasons for the early TV standards. US displays (and many others using NTSC) were designed for 525 scan lines, of which 480 were generally visible. These displays were interlaced, drawing alternating fields of odd and even line numbers, and early TV programs and NTSC DVDs were formatted in this fashion. Early gaming consoles such as the NES and SNES, however, were intended for 240p (‘p’ for progressive) content, which means they do not interlace and send out a blank line every other scan line.  [Stephen] goes into extensive detail about how 240p content was never intended to be viewed on a modern, sharp display but was intended to be filtered by the analogue nature of the CRT, or at least its less-than-ideal connectivity. Specific titles even used dithering to create the illusion of smooth gradients, which honestly look terrible on a pixel-sharp digital display. We know the differences in signal bandwidth and distortion of the various analog connection standards affect the visuals. Though RGB and component video may be the top two standards for quality, games were likely intended to be viewed via the cheaper and more common composite cable route.

Continue reading “Are CRT TVs Important For Retro Gaming?”

A Look Inside The Super Nintendo Cartridges And Video System

Despite being effectively sold as a toy in the 1990s, the Super Nintendo Entertainment System (SNES) was pretty bleeding-edge as far its computing chops were concerned. This was especially apparent with its cartridges, such as in this excellent summary article by [Fabien Sanglard].

In addition to the mask ROM that stored the game data and (optionally) battery-backed SRAM to store save data, a wide range of enhancement processors existed that upgraded the base SNES system with additional processors for more CPU performance, enhanced graphics and so on. Imagine sticking a game cartridge in a PlayStation 4 today that boosted CPU speed by 5x and gave it a much better GPU, this was the world of SNES games.

On the other side of the video game cartridges was the video output system, which seems easy enough in today’s world of digital HDMI and DisplayPort output. In the 90s video output did however mean NTSC and SECAM/PAL, which means playing nice with frequencies, different resolutions (lines) and squeezing as much as possible into a single frame in a way that works with the game console’s rendering pipeline. As a result of this the PAL version of Super Mario World has a larger vertical resolution than the NTSC version (240 vs 224 lines), even if it’s still squashed into the same 4:3 format. For the physical video output side, European gamers were spoiled with an AV connector to (RGB) SCART output, while the rest of the world dealt with some variety of RF composite or S-video.

Although the SNES’s successor in the form of the N64 would not take cartridges to the same extremes, it was this flexible architecture that gave the SNES such an amazing game library.

Arduino Provides No Fuss SNES-To-USB Conversion

Even for those of us who are fans of retrocomputing, it’s fair to say that not everyone plays their old-school games on real old-school hardware. The originals are now fragile and expensive, and emulators are good enough that if the gaming experience is all you’re after there’s little point in spending all that cash.

There’s one place in which the originals sometimes have the edge though, the classic controllers are the personal interface with the game. So when [Dome] found a SNES controller in an Akibahara shop, of course he picked it up. How to make it talk to a PC? Tuck an Arduino Pro Micro inside it, of course!

What we like about this project is that instead of ripping out the original electronics it instead hooks the Arduino board onto the original serial interface. We might have made a Nintendo socket to USB box to keep the original cable, but either way, the SNES (technically Super Famicom, because it’s a Japanese market unit) original stays true to its roots. The Arduino polls the clock line at the speed of the console, reads the result, and translates it to a USB interface for the computer. There’s a full run-down of the code and how it was made, should you wish to try.

Of course, if you don’t always have a PC handy, you could also put the whole computer in the controller.

Photoshop image of the NES game Metroid on a Super Nintendo cartridge.

NES Classic Metroid Ported To Equally Classic Super Nintendo

There was a time early in the development of the Super Nintendo (SNES) where the new console was to feature backwards compatibility with NES games. The solution would have required a cumbersome cartridge adapter and a hard switch on every console to flip the CPU into 8-bit mode. Unfortunately, it was not meant to be — outside of the first public demo of the console, little evidence exists to suggest the gamers would have been able to supercharge their old NES carts on their Super Nintendo.

But thanks to the impressive port of Metroid to the SNES by [infidelity], we can imagine what such a capability might have been like. There’s more on offer here than reduced sprite flicker. There are additional frames of animation compared to the original, so now Samus’ arm cannon stays consistent rather than magically switching arms when turning around. A complete save game system from the Famicom Disk System version has also been implemented as well, with the traditional three slots. Although purists can still utilize the password system if they so choose.

Ultimately the most impressive inclusion of [infidelity]’s work is the MSU-1 enhancement chip implementation. Fun video intro sequences lead into the main menu where players can select the accompanying soundtrack. There’s the original 8-bit music remapped onto the SNES sound chip, the expanded 8-bit version from the Famicom Disk System, the reimagined sound of Metroid Zero Mission, or a full orchestral score. It really is the sort of situation where there are no wrong answers.

While you’re here, check out this post about bringing Poke’mon ROM hacks into physical cartridge form.

Continue reading “NES Classic Metroid Ported To Equally Classic Super Nintendo”

A tiny TV playing Super Mario All-Stars

The SF1 Mini Is A Homebrew Version Of An Obscure Nintendo Console

The Super NES is arguably the best known console of the 16-bit era. It typically came in the form of a grey box with either grey or purple buttons, and an angular or streamlined design, depending on whether you lived in North America, Europe or Asia. Compact and mini versions followed later, but there were also a few lesser-known models released during the SNES’s heyday in the early 1990s. One of these was the Sharp SF1: a CRT television with a built-in Super Nintendo. The cartridge slot was located at the top, with the controllers connecting at the front. The internal video connection even provided better image quality than a typical SNES setup.

Some light soldering required.

The SF1 was never sold outside Japan and is quite rare nowadays. But even if you can find one, the bulky CRT will take up a lot of space in your home. [Limone] therefore decided to build himself a smaller replica instead. His “SF1 mini” comes in a 3D printed case that holds a 5.5″ TFT screen, stereo speakers, and connections for game paks and game pads.

Thankfully, [Limone] didn’t sacrifice an original SNES to make this project: instead, he used a DIY Super Nintendo kit developed by a company called Columbus Circle. This kit contains a modern replica of a SNES motherboard and is intended for custom builds like this. However, the layout of the motherboard didn’t match [Limone]’s intended design, so he desoldered several components and re-attached them using a huge web of magnet wire. An RGB-to-HDMI converter connects the SNES’s video output to the TFT screen and provides for remarkably sharp graphics.

[Limone] explains the build process in detail in the video embedded below (in Korean, with English subs available). We’ve seen a couple of neat SNES replicas, some small and some particularly tiny, but this has to be the first SF1 replica.

Continue reading “The SF1 Mini Is A Homebrew Version Of An Obscure Nintendo Console”