Recreating Chiptunes In Verilog

The semester is wrapping up at Cornell, and that means it’s time for the final projects from [Bruce Land]’s lab. Every year we see some very cool projects, and this year is no exception. For their project, [Andre] and [Scott] implemented the audio processing unit (APU) of the Nintendo Entertainment System (NES). This is the classic chiptune sound that regaled a generation with 8-bit sounds that aren’t really eight bits, with the help of a 6502 CPU that isn’t really a 6502 CPU.

Unlike the contemporaneous MOS 6581 SID, which is basically an analog synthesizer on a chip, the APU in the NES is extraordinarily spartan. There are two pulse wave channels, a triangle wave channel, a random noise channel, and the very rarely used delta modulation channel (DMC) used to play very low quality audio samples. This is a re-implementation of the NES APU for a university lab; it is very understandable that [Andre] and [Scott] didn’t implement the rarely used DMC.

Everything about the circuitry of the NES is well documented, so [Andre] and [Scott] had a great wiki for their research. At the highest level, the APU runs on a 894kHz clock and controls three channels through dedicated registers. These outputs are fed through a mixer, which the guys scaled and combined into a 16-bit output played through a Wolfson WM8731 audio codec.

After implementing the NES APU, [Andre] and [Scott] added an SD card reader that can read the Nintendo Sound Format – the standard distribution format for NES chiptunes – and emulated a 6502 to control the registers. The result is a relatively simple device that plays NES chiptunes with amazing accuracy. The sound files on the project report sound like the real thing, but this is entirely emulated on modern hardware.

EP Composes a New Chiptune Each Time

[Captain Credible] is a chiptune music artist. He wanted to release an EP, but a regular old em-pee-three was too lame for him, so he made a tiny board with a coin cell, an ATtiny85, and a 3.5mm socket on it.

Rather than just writing some code to generate the tones for a pre-composed song, his “Dead Cats” EP generates the music itself. Using the arduino-tiny library, which adds the tone() function to the ATtiny, he has the chip pick its own time signature, key, subdivisions, and tempo. The melody and drum beat is randomly generated into an array. In addition to that, there are some code “one-liners” which insert unique sounds. After that the code just loops through the music.

If you don’t like the song, simply unplug the audio cable and plug it back in. The 3.5mm jack he chose has a built-in micro-switch, so the board is only powered up if someone is listening. If you’d like to see the circuit diagram, purchase the EP, or take a look at the code, all of that is available on his site.

Teensys and Old Synth Chips, Together At Last

The ancient computers of yesteryear had hardware that’s hard to conceive of today; who would want a synthesizer on a chip when every computer made in the last 15 years has enough horsepower to synthesize sounds in software and output everything with CD quality audio? [Brian Peters] loves these old synth chips and decided to make them all work with a modern microcontroller.

Every major sound chip from the 80s is included in this roundup. The Commodore SID is there with a chip that includes working filters. The SN76489, the sound chip from the TI99 and BBC Micro are there, as is the TIA from the Atari consoles. Also featured is the Atari POKEY, found in the 8-bit Atari computers. The POKEY isn’t as popular as the SID, but it should be.

[Brian] connected all these chips up with Teensy 2.0 microcontrollers, and with the right software, was able to control these via MIDI. It’s a great way to listen to chiptunes the way they’re meant to be heard. You can check out some sound samples in the videos below.

Thanks [Wybren] for the tip.

Continue reading “Teensys and Old Synth Chips, Together At Last”

Hackaday Links: June 29, 2014

hackaday-links-chain

Ever see a really cool build on YouTube with no build details at all? Frustrating, right? That’s us with the NES Keytar covering the Game of Thrones theme. He’s using a Raspi with the sound chip in the NES to do live chiptunes. Freakin’ awesome. There’s also the ST:TNG theme as well.

A few years ago the folks at Oculus had an idea – because of cellphones, small, high resolution displays are really cheap, so why not make VR goggles? At Google IO this week someone figured out everyone already has a cellphone, so just wrap it in some cardboard and call it a set of VR goggles. You can get a kit here, but the only difficult to source components are the lenses.

What happens when you put liquid nitrogen under a vacuum? Well, it should evaporate more, get colder, and freeze. Then it breaks up into solid nitrogen snow. No idea what you would do with this, but there ‘ya go. Oh, [NC], we’re going to need a writeup of that LN2 generator.

About a month ago, the House4Hack hackerspace in South Africa told us of their plans to bring a glider down from 20km above the Earth. They finally launched it, The CAA only allowed them to glide back from 6km (20,000 feet), but even from there the foam glider hit 230kph (124 knots). That’s a little impressive for a foam FPV platform, and we’re betting something with a larger wingspan would probably break a spar or something. Shout out to HABEX.

All the electronic dice projects we’ve seen have one thing in common: they’re not cubes. Thus uberdice. It’s six nine-pixel displays on the faces of a cube, powered by a battery, and controlled by an accelerometer. Yes, it is by far the most complicated die ever made, but it does look cool.

Hackaday Links: March 25, 2013

Illegal, yet impressive

cans

Want a soda? Just grab a robot, shove it in a vending machine, and grab yourself one. This video is incredibly French, but it looks like we’ve got a custom-built robot made out of old printers and other miscellaneous motors and gears here. It’s actually pretty impressive when you consider 16 ounce cans weigh a pound.

UNOBTANIUM

chip

Okay, we got a lot of emails on our tip line for this one. It’s a group buy for a programmable oscillator over on Tindie. Why is this cool? Well, this chip (an SI570) is used in a lot of software defined radio designs. Also, it’s incredibly hard to come by if you’re not ordering thousands of these at a time. Here’s a datasheet, now show us some builds with this oscillator.

Chiptune/keygen music anywhere

keygen

[Huan] has a co-loco’d Raspi and wanted a media server that is available anywhere, on any device. What he came up with is a service that streams chiptune music from your favorite keygens. You can access it with Chrome (no, we’re not linking directly to a Raspberry Pi), and it’s extremely efficient – his RAM usage didn’t increase a bit.

Take it on an airplane. Or mail it.

bomb

[Alex]’s hackerspace just had a series of lightning talks, where people with 45-minute long presentations try to condense their talk into 10 minutes. Of course the hackerspace needed some way to keep everything on schedule. A simple countdown timer was too boring, so they went with a fake, Hollywood-style bomb. No, it doesn’t explode, but it still looks really, really fake. That’s a good thing.

Printers have speakers now?

nokia

[ddrboxman] thought his reprap needed a nice ‘print finished’ notification. After adding a piezo to his electronics board, he whipped up a firmware hack that plays those old Nokia ringtones. The ringtones play over Gcode, so it’s possible to have audible warnings and notifications. Now if it could only play Snake.

Creating a MIDI synth from a Commodore SID

The Commodore SID was the audio chip in the venerable Commodore 64 and in the 30 years since release has attained classic status and become one of the best ways to get your chiptune on. Designed by famous synthesizer designer [Bob Yannes], it was only a matter of time before we saw a real, homebrew MIDI synth based on the Commodore SID.

Because real SID chips are rare as hen’s teeth nowadays, [Jeff Ledger] built his SID synth around an emulated system running on a Pocket Mini Computer. This very cool microcontroller platform runs on the Parallax Propeller. An emulated SID runs in one of the Propeller’s 8 cores, with the remaining cores kept open for reading MIDI notes and displaying info on a display.

The hardware portion of this build is amazingly simple; just an optoisolater, a few resistors, and a diode connect a MIDI keyboard to the Pocket Mini Computer. The buttons and dials on [Jeff]’s MIDI keyboard control the waveforms, filters, and envelope controls. A very neat setup if we do say so ourselves, and just perfect if you’re needing more chiptunes in your life.

You can check out [Jeff]’s video after the break.

Continue reading “Creating a MIDI synth from a Commodore SID”

Propeller turned into chiptune player with a software SID

If there wasn’t reason enough to love the Parallax Propeller, now you can listen to chiptunes with your own pocket SID audio player.

This chiptune audio player uses the very unusual and very cool eight-core Parallax Propeller microcontroller. After soldering a few caps and resistors to a Propeller dev board to allow for audio out, the only thing necessary to play SID music files is a bit of code and an SD card breakout.

The key piece of code for this build would be the SIDcog object written by [Johannes Ahlebrand] this piece of code turns one of the eight cores in the Propeller into a virtual version of the classic Commodore 64 sound chip.

Since the SIDcog object only takes up one core on the eight core Propeller, it could be possible to turn this SID player into an all-inclusive chiptune audio source; the addition of an Atari POKEY or FM synthesis cog would allow for just about any conceivable chiptune sound to be carried around in a pocket.

No Hackaday post about chiptunes or SIDs would be complete without an audio demo, so you can check out the Propeller-powered SID after the break.

Continue reading “Propeller turned into chiptune player with a software SID”