Emulating A Complete Commodore 64

When the Commodore 64 was released in 1982, it was a masterpiece of engineering. It had capabilities far outstripping other home computers, and that was all due to two fancy chips inside the C64. The VIC-II, the video chip for the C64, had sprites and scrolling, all stuffed into a single bit of silicon. The SID chip was a complete synthesizer on a chip. These bits of silicon made the C64 the best selling computer of all time, but have also stymied efforts to emulate a complete C64 system on a microcontroller.

[Frank Bösing] has just managed to emulate an entire C64 on a Teensy 3.6. The Teensy uses an exceptionally powerful microcontroller, but this is a labor of love and code.

The inspiration for this project comes from a reverse-engineered SID chip that was ported to the Teensy 3.2. The SID chip is the make it or break it feature of any C64 emulation, but the Teensy 3.2 didn’t have enough RAM for the most recent versions of reSID. With the release of the Teensy 3.6, [Frank] figured the increased amount of RAM would allow a complete C64 system, so he built it.

The new C64 emulator uses a Teensy 3.6, with a small add-on ‘shield’ (or whetever we’re calling them) to provide connectors for joysticks and the Commodore IEC bus. There’s audio out, support for USB keyboards, and support for an IL9341 SPI display or a regular ‘ol VGA display.

The entire development of this Commodore emulator has been documented over on the PJRC forums, and all the code is over on GitHub. It’s a fantastic piece of work, and as the video (below) shows, this is a real Commodore 64 that fits in your pocket.

Continue reading “Emulating A Complete Commodore 64”

SID Organ Pulls Out All the Stops

Someone left this organ out in the rain, but [Tinkartank] rescued it and has given it a new life as a SID controller. What’s a SID, you ask? That’s the sound chip Commodore used in the C64, a remarkable chip revered among retro gamers that was way ahead of its time.

He threw out everything but the keyboard assembly for the build. Each key press now drives a momentary button, and those are all wired up to an Arduino Mega through some I/O expansion boards left over from another project. The Mega drives the MOS6581 SID chip which generates those sweet chiptunes. There are four CV outs for expanding the organ’s horizons with Eurorack modules.

Our favorite part is the re-use of the stop knobs — particularly that they are actuated the same way as before. The knobs still technically control the sound, but in a new way — now they turn pots that change the arpeggio, frequency, or whatever he wants ’em to do.

The plans for the future revolve around switching to a Teensy to help out with memory issues. Although it’s a work in progress, this organ already has a ton of features. Be sure to check them out after the break.

Once you dive down the chiptunes rabbit hole, you might want to take them everywhere.  When you get to that point, here’s a portable SID player. A SIDman, if you will.

Continue reading “SID Organ Pulls Out All the Stops”

A Raspberry Pi SID Player

Of all the vintage chiptune machines out there, the Commodore 64 is the most famous. Even 30 years later, there are still massive gatherings dedicated to eeking out the last cycle of processing power and graphics capability from the CPU and the infamous synth-on-a-chip, the SID. [Bob] wanted to build a SID jukebox. A C64 is capable of the job, but if you want to have every SID composition on an SD card and connect that to a network, a Raspberry Pi is the way to go.

The SID chip, in its 6581 or 8580 versions, is controlled directly by poking registers on the chip through the address and data busses. This means a lot of pins, too many for the original Raspi expansion header. That’s not a problem that can’t be solved with a few shift registers, though. The rest of the circuit is an LM386 audio amplifier, an LCD that displays the current song, and a can crystal oscillator for the SID.

Right now everything is wired up on a breadboard, but making this a Raspberry Pi hat would be a rather simple proposition. It’s only a matter of finding a SID with working filters, and if you can manage that, it’s a pretty easy build to replicate. Video below.

Continue reading “A Raspberry Pi SID Player”