Sunday, August 9, 2020

Stupid PET Tricks - adding sound and joysticks to a PET 2001 and making games work with it.

Commodore PET 2001 games with sound and joysticks!

This project adds sound and joystick(s) to the original 1977 commodore PET 2001 computer.  I’ve used the techniques that were developed by user community soon after the PET 2001 release.  I’ve found many games with sound but only a few with joystick support.  I modified some games to add joystick support. YouTube video of the project.

YouTube video of the project
The commodore PET 2001 was released in 1977, the same year as the Apple II and the TRS-80 Model I.  Byte magazine called these three computers the “1977 Trinity” noting that these were the first pre-assembled computers available to the public.

Interestingly, only the Apple II was designed with games in mind.  It supported color when hooked to a color TV, had a built-in speaker, and supported paddle controllers.  The Steves had previously built a Pong game for Atari and used that game as one of their design targets when creating the Apple II.

PET 2001 CB2 Sound modification
The PET 2001 was released with no speaker and no clear method to add sound.  Of course, the PET user community quickly came up with a solution.  This solution used the CB2 pin on the user port and therefore it was dubbed “CB2 sound”.  This proved so popular, that commodore adopted this design on future PETs.
CB2 Sound modification from Cursor #3 September 1978

Link to version with the resistor (what I implemented)

PET 2001 Joystick modification
The PET 2001 was released with no joystick support.  Again, the user community responded with user port connection methods, but in this case, multiple standards emerged.  I first implemented Chuck Johnson’s dual joystick design from Volume 1, Issue 2 of the 1979 commodore PET Users Club Newsletter - however I couldn’t find any software that used this design!  Next, I implemented the more common LEFT=PA1, RIGHT=PA2, FIRE=PA5 design.  I even found one more different design in the 1978 Volume 0, Number 3, PET User’s Group Newsletter.

PET 2001 Games using Sound and Joystick(s)

Cosmic Cosmiads

This is an excellent Galga-like game - all in PETSCII!  With a simple POKE before running, this game already supported the LEFT=PA1, RIGHT=PA2, FIRE=PA5 joystick design.

Galaxy Invaders
This game was often traded as SPACE INVADE.PRG.  It features pixel perfect movement on a character-based display!  I was able to modify the game to work with the LEFT=PA1, RIGHT=PA2, FIRE=PA5 joystick design.  As I was editing the program, I noticed that the intended name, “Galaxy Invaders” should be printed on the first run.  The traded version did not print this due to a score being in memory.  I was able to clear this so that the true game name is shown at startup.

Every classic computer and game system needed a Pong version, right?  This one was published in the Cursor #29 tape in 1982.  I adapted it to support the Chuck Johnson dual joystick design.


  1. Fantastic work. Your PET is a beauty. I was wondering about interfacing controls to the PET linked to a book I'm writing on disability access to computers and gaming. The Apple II ended up with things like the adaptive firmware card, but I bet there were some bits for the PET too that went under the radar.

    Wondering if you might be interested in tying up with a small (I think) simple project to recreate a tiny bit of this likely forgotten history?

    It would be to modify the 1979 game Air Attack to be playable with the simplest interface possible. Maybe a USER interface connector with two pins connected to an accessibility switch, and a tiny bit of adjustment to the code. Drop me a line at oneswitch [hat] gmail [hot] com, if you're up for talking a bit more. Would also love to see Air Attack running on your machine, perhaps with a photo or two. I'd give full credit.

    1. Thanks! Your project sounds interesting! I will email you.

  2. Great, stuff Jim. Look forward to it.

  3. Hey Jim,
    Looks really cool!
    i am building a Pet clone at the moment and wanted to include joystick support, so I am going to build a similar interface as your joystick one.
    Would it be possible to please get a copy of the games you've modified to have joystick support?
    I'm wondering if there is any point creating the dual input joystick support if there are no cames for it...