FPGAs

Rob DiCaterino on Flickr

Find out how people are saving classic games through restoration and archiving!

Without intervention, one day the last NES will be broken beyond repair. Same with the last Commodore 64, last PS1, last XBox 360, &c. One day the last 32-bit Intel processor will have stopped working.

For every one of these systems that falls away, there is an entire swath of media that is in danger of being lost for good: video games, interactive art installations, important pieces of software like Windows 3.1 or DOS.

The same way losing a human language—a serious problem in itself!—means you can’t read their books or understand their songs, losing the hardware needed for old software means that no one can ever experience it again. No one can play with it, learn from it, and connect with the past. Imagine a video game you really like, maybe even means a lot to you, and not being able to show it to future generations. This has already started happening with Adobe Flash no longer being supported on most computers, which means that a lot of the games, comics, and other media of the 2000s is now impossible to view without a lot of effort.

Now, if this all sounds dire and scary it’s time for the good news! People—a lot of people—are working hard on this problem!

There are two basic ways to keep old things alive: restoration, where you repair what you have to keep it going—like what people do with famous paintings—and archiving where you find a way to store copies that can be preserved over time.

Repairing is difficult for old computer parts because we generally don’t have the tools needed. Much of what makes old systems unique are custom built chips, so if you don’t have a facility that can make them and detailed plans for how they’re built then you’re out of luck.

Archiving, on the other hand, can give you a robust, hard-to-break way of keeping the systems around.

There are two ways to archive hardware: using software or using other hardware. They both involve something called reverse engineering, where you figure out how something works from a working copy without source code, specifications, or plans.

The reason why we don’t have these things is because these designs were generally proprietary, which means they were company secrets. Nintendo will likely never hand out the instructions to build an NES, no matter how long it’s been since you could buy one.

Archiving using software means making something called an emulator. You’ve probably seen emulators before! If you’ve ever used dolphin, retroarch, zsnes, nesbox, or many others to play old video games then you’ve seen an emulator!

These pieces of software work by pretending to be the actual hardware. So, for example, a NES emulator works by literally mimicking an NES with the right clockspeed, memory layout, &c. This can work great, but is sometimes very difficult to run because you need something much more powerful than the hardware you’re emulating to run the simulation fast enough. And by “much more powerful” I mean a Raspberry Pi 0 with a 1GHz processor and 512MB of RAM struggles to emulate a PS1 that was only a 33MHz processor with only 2MB of RAM.

The other, newer option, is archiving hardware with other hardware. This involves a cool bit of tech called a Field-Programmable Gate Array, FPGA for short.

FPGAs are basically chips whose behavior can be configured through code. You write down a description of how a chip you want should work, apply that to the FPGA, and then the board will, for all intents and purposes, be the chip you’ve described.

FPGA programming is hard, but once you’ve got it then it’d be like having a way to make new copies of an NES, or PS1, or Wii but without the complications of figuring out how the original was manufactured. Companies like Analogue are even selling handheld consoles that use FPGAs in order to run original cartridges of old video game systems. That’s pretty cool!

There’s a lot more to the world of archiving old computer systems. There’re people who’ve reverse engineered Windows 3.1. There’re people who’ve managed to re-implement Adobe Flash in a custom web browser just so they could keep reading Homestuck. It’s a world full of creative people working hard to keep things they love alive and I think that’s amazing!

Learn More

Games in Flash

https://archive.org/details/softwarelibrary_flash

Analogue

https://www.analogue.co

SNES Classic vs super nt

https://www.tomsguide.com/us/snes-classic-vs-super-nt,review-5145.html

Homestuck

https://bambosh.github.io/unofficial-homestuck-collection/

Resurrecting 1980s computers

https://www.eejournal.com/article/resurrecting-1980s-computers/

backup vs. archive

https://www.backblaze.com/blog/data-backup-vs-archive/

Also In The February 2021 Issue

Low code and no code software makes it possible for non-technical people to create software.

Learn how to program through a series of fun and dynamic activities in Patricia Foster's book!

Learn how to make a contact microphone for picking up the vibrations in your sonic experiments!

If you can't go out to an art museum, then bring the art museum to you using Sketchup!

Find out how people are saving classic games through restoration and archiving!

Find out what a giant wooden horse and your cyber security have in common!

Learn about some of the ways people use to communicate before the internet!

An interview with Solderpunk about the inspiration and the creation of Gemini!

Forks are used in software development to describe how projects and software work.

Computer science unplugged teaches how computers and computer science works, without the use of computers.

Links from the bottom of all the February 2021 articles, collected in one place for you to print, share, or bookmark.

Interesting stories about science and technology for February 2021.

Receive an email announcement of new issues, sent every two months, plus a monthly newsletter with curated site content.

No, thanks!