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.

https://www.youtube.com/watch?v=CmQwxx2sBHQ

https://www.youtube.com/watch?v=8S008Ns_YFA

https://www.youtube.com/watch?v=-jAnC6HGumI

25 thoughts on “Teensys And Old Synth Chips, Together At Last

    1. Agreed! Now, we just need some chiptune genius(es) (e.g. lft) to compose epic masterpieces using every chip, simultaneously :D
      Also, throw in an SPC700 (from the SNES) and, eh, why not… a YM2612 (Genesis/MD), for good measure ;)
      For the PC fans, you could add an OPL2 and/or OPL3.

  1. Don’t mean to be a buzzkill, but it’s worth pointing out that the video you mention for why the POKEY should be as popular as the SID is actually two POKEYs, and the POKEY doesn’t offer stereo either.

    Here’s one by the same guy with only one POKEY:
    https://www.youtube.com/watch?v=XQWheetN0SQ

    That said, I do think the POKEY is still quite unique, and is definitely a staple of anyone’s childhood that had an Atari 8-bit computer or 5200.

    1. I came to Atari 8 bit quite late with an 800XL and a 1050 floppy deal. I spent hour upon hour playing with Pokeys unmodulated ‘volume only’ mode – 4 bit samples can be made to sound surprisingly good out of a cheap portable TV speaker, even two track sequencing by adding values and dividing by two! I had a sampler (2 Bit Systems Replay) that plugged in the cartridge slot and into a walkman. Most software that had any sample playback (few in number) turned off the video, but I found you could compensate quite acceptably for video by playing with the scan width, riding the beam and adding NOPs to the interrupt code to equalise the delay. I also found that my vocal imitations of space alien lasers and explosions, if done at very low sample rates, actually sounded convincing and left people wondering how I had achieved them!

      1. Just for discussion reasons, this is not MIDI, this is also not a project which can be done, again and again. This, with respect is work in progress. Midibox guy has done it correctly, PCB’s in all formats, most open source. This is a breadboard project, which may or may not be verified. Not much work to change some software? OK if you have the skills, not so good if you don’t.

    1. Some chips are still available today, even from eBay sellers in China. I bought five SN76489AN for about $3. We’ll probably need a lot of projects like this one to even make a dent in the new-old-stock inventories.

      Other chips, like the SID6581, can be salvaged from otherwise dead C64’s.

  2. About the Atari POKEY: This chip is very different from the Commodore SID. It uses the screen oscillator, and 4 dividers that can divide this frequency with any number between 0 and 255. The 8 bit is thus a frequency resolution. You can cascade 2 dividers, allowing for lower frequencies. An interesting but important side effect of this method, is that the result is a pythagorean tuning, not 12 tone equal temperament. This tuning sounds purer in some keys and modes, but due to a “wolf fifth”, is sounds way off in others. If you modulate from one key into another, the feel of your music will change dramatically. So you will have to compose for this, should you want to use this chip.

    I enjoyed it as a kid, noticed is was off in some keys, but I still like pythagorean tuning to this day. So the Atari trained my hearing so that I got a liking for old church music as well as persian and arabic tunings!

    I have documents about the precise tuning and noise aspects of the POKEY. I will put these on wikipedia, or you can contact me at behanger (o) retecool .com

  3. Hi – please – you are my last instance – could you pleeease help me with my easy Atari POKEY – Arduino project?

    I have wired:
    Uno pins 0-7 to Pokey D0-D7
    Uno pins 8-11 to Pokey A0-A3
    Uno pin 13 to Pokey CS0
    Pokey R/W to GND (but also I tryied to connect it to 5V)
    Pokey CS1 to 5V
    Pokey IRQ to 5V (but also I tryied not to connect it)
    Pokey Audio to jack (to repro) with rezistor to gnd)
    Pokey O2 to oscillator 1.8432MHz

    And this is my code:

    void setPins(byte iPORTB, byte iPORTD) {
    PORTB = iPORTB;
    PORTD = iPORTD;

    // Write CS pulse…
    digitalWrite(13, LOW); // CS0
    delayMicroseconds(1);
    digitalWrite(13, HIGH); // CS0
    }
    void setup() {
    DDRB = B00111111;
    DDRD = B11111111;
    digitalWrite(13, HIGH); // CS0

    setPins(B00001000, B01010000); // mva #%01010000 $D208 ; AUDCTL (8) – join 1+2 cannals, 1.77MHz
    setPins(B00000101, B10101111); // mva #%10101111 $D205 ; AUDC3 (5) – distortion and volume (max 15) canal 3
    setPins(B00000100, B01100000); // mva #%01100000 $D204 ; AUDF3 (4) – tone (frekvence) cannal 3 (E4=96)
    }
    void loop() {
    }

    Here are fotos:
    http://www.zzubr.cz/__ZARIDIT/Atari_POKEY/ard_pok1.jpg
    http://www.zzubr.cz/__ZARIDIT/Atari_POKEY/ard_pok2.jpg
    http://www.zzubr.cz/__ZARIDIT/Atari_POKEY/ard_pok3.jpg

    Thank you very much for your help and time…
    Zdenda
    zz@m-line.cz

Leave a Reply to beefCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.