Re: PET user port programming

From: Mike Stein <mhs.stein_at_gmail.com>
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?

m

----- Original Message ----- 
From: "Leif Bloomquist" <leif@schemafactor.com>
To: <cbm-hackers@musoftware.de>
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:

https://en.wikipedia.org/wiki/PetSynth
http://www.petsynth.org/

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)  ;-)

Cheers,
-Leif





--
Leif Bloomquist | leif@schemafactor.com | +1 416-737-2328 | Check out
my blog! http://www.jammingsignal.com

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


On Wed, May 10, 2017 at 6:25 AM, Chris Wareham <chris@chriswareham.net> 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.