An NES cartridge in its most basic form is a surprisingly simple device, it contains two ROMs hosting all the code and assets of its game, and a Nintendo code chip that provided what was a state-of-the-art consumer DRM system for the 1980s. Decades later its inner workings have been extensively reverse-engineered, and there have been quite a few custom and reprogrammable cartridge designs produced.
This hasn’t stopped [Troy Denton] and [Brad Taylor] making a cartridge of their own though, and the result of their labours is a fully USB reprogrammable cartridge for the Nintendo Entertainment System. It provides nonvolatile storage and is a simpler design than you might expect, using a pair of 1 megabit Flash chips and emulating Nintendo’s DRM with an ATtiny microcontroller.
In itself it’s an interesting enough design, but what makes the write-up stand out is the description of having the boards manufactured by a PCBA service, and their subsequent debugging. A surface-mount micro USB socket that shorted out the USB power required a bit of rework to place Kapton tape beneath it, while another clever patch uses the NES clock signal to provide a read-only line for the memory. It’s also interesting to hear about their manual “crowdfunding” approach which was to ask around if anyone else wanted one so they could bring unit cost down by producing more cartridges.
If you’re interested in the NES DRM system, it’s a subject we’ve touched on in the past.
Mike Szczys and Elliot Williams talk news and great hacks from the past seven days. Sad word this week as Maker Media, the company behind Make Magazine and Maker Faire, have closed their doors. There seems to be a lot of news about broken hardware and software to discuss, with ADS-B problems grounding hundreds of flights in the US, Hackaday itself having a site outage, the Raspberry Pi 3 B+ can be bricked with a really easy mistake, and Lewin wrote a great overview of the Takata airbag debacle. Don’t worry there are still plenty of hacks as we look at old computers that sing, microcontrollers that chiptune, beat boxes that are actually boxes, and some very neat cartridge hacks for NES and Arduboy.
Take a look at the links below if you want to follow along, and as always tell us what you think about this episode in the comments!
Direct download (60 MB)
Places to follow Hackaday podcasts:
Continue reading “Hackaday Podcast Ep23: Everything Breaks… Raspberry Pi, ADS-B, Hackaday Website, And Automotive Airbags”
With a BASIC interpreter and free run throughout their hardware, home computers like the ZX Spectrum and Commodore 64 used to be a pervasive way to light that hacker fire. With the advent of cheap single board computers like the Raspberry Pi, devices purpose built to emulate these classic systems have become fairly commonplace. [uli] built a device in this vein called the BASIC Engine which is driven by a microcontroller and a handful of hardware peripherals. Like other examples it can be attached to a keyboard, programmed in a BASIC, play video and sound, etc. But digging into the BASIC Engine reveals that it’s similarity to other devices is only skin deep.
The current version of the BASIC Engine (“rev2”) lives in a Raspberry Pi 3 case for convenience. It has RCA connectors for NTSC or PAL video output and mono audio, plus a bank of headers to tap into GPIOs, connectors for a keyboard, and more. [uli] wanted to aim for extreme low cost so a relatively beefy board like a Raspberry Pi didn’t fit the bill, and we expect it was an enjoyable challenge. Instead its interpreter runs atop an ESP8266 but with the networking stack removed. [uli] was disheartened by how bloated even a “Hello world” program was and ripped it out, discovering that hidden beneath was a very powerful and disproportionately inexpensive general purpose microcontroller. The video is driven by a VS23S010, sold as a 1 Mbit parallel SRAM with a neat trick; it also includes a composite video controller!
The real treat here is [uli]’s history writeup of how the BASIC Engine came to be. We’d recommend brewing a cup of coffee and sitting down for a full read-through. The first version was inspired by the PlayPower project, which was repurposing clones of Nintendo’s Famicom (NES to Americans) game console to make low cost home computers, complete with keyboard and gamepad input. [uli] started out by building a custom cartridge for a particular Famicom clone that ran a BASIC interpreter but after showing it to disinterested adults the project was left fallow. Years later, [uli] was encouraged to pick up the project again, leading down a twisted rabbit hole to where we are today.
If you want to build a BASIC Engine for yourself, Gerbers and build instructions are available on the pages linked above.
Thanks for the tip [antibyte]!