Re: PET user port programming

From: Mike Stein <>
Date: Wed, 10 May 2017 10:00:24 -0400
Message-ID: <E80F173A657C42A3972BA64C29F9FA23@310e2>
Looks like he's let the site expire; any other links to PetSynth anywhere?


----- Original Message ----- 
From: "Leif Bloomquist" <>
To: <>
Sent: Wednesday, May 10, 2017 9:01 AM
Subject: Re: PET user port programming

MIDI on the PET, cool!

You should check out PetSynth, I believe the source code is available:

While it's a player not a sequencer, it also uses an Arduino on the
user port and creative use of timers from what I recall.  Anyway,
worth looking at.

(I'd love to see a PET duet, your sequencer code on PET #1 and
PetSynth on PET #2)  ;-)


Leif Bloomquist | | +1 416-737-2328 | Check out
my blog!

"Every choice, no matter how small, begins a new story." - xkcd

On Wed, May 10, 2017 at 6:25 AM, Chris Wareham <> wrote:
> Hi,
> I've just signed up to the list as I'm currently writing a simple MIDI sequencer for my PET 4032. I'm using the cc65 compiler suite, but having difficulties finding information on user port programming and timing.
> At the moment I have a home made circuit on a breadboard with an LED for each of the data pins on the user port. When I write a byte to the data register for port A the corresponding LEDs light up. The missing pieces of the jigsaw are how to do the timing so that bytes get written at the correct intervals and the handshaking so I know when each byte has been read. I'm guessing I do the timing by setting a timer and handling interrupts, but neither of my two PET programming books cover this.
> MIDI messages consist of three bytes, but I've got my pseudo MIDI messages down to two bytes:
> mnnnnnnn ccccvvvv
> Where:
> m is 1 for note on or 0 for note off
> nnnnnnn is the note number 0-127
> cccc is channel 0-15
> vvvv is velocity 0-15
> MIDI supports velocity values of 0-127, so I plan on shifting my 4 bit value to get a reasonable spread of velocities. I plan on using an Arduino to convert my pseudo MIDI messages into real ones. Hopefully I can then make an interface with a suitably programmed Atmega chip rather than a complete Arduino board.
> Any advice will be most gratefully appreciated!
> Regards,
> Chris
>        Message was sent through the cbm-hackers mailing list

       Message was sent through the cbm-hackers mailing list

       Message was sent through the cbm-hackers mailing list
Received on 2017-05-10 15:00:02

Archive generated by hypermail 2.2.0.