Re: PET user port programming

From: Chris Wareham <chris_at_chriswareham.net>
Date: Wed, 10 May 2017 16:46:45 +0100 (BST)
Message-ID: <732619797.326969.1494431205672@webmail.123-reg.co.uk>
Hi Leif,

I have the sources to PetSynth version 0.7 or 007, which just loops continuously waiting for a key press and then plays the note for a maximum of 250 loop iterations. I saw a YouTube video that mentions a "version 2", so perhaps more sophisticated timing was added later. I actually tried to contact the author by email and Facebook message for details of his MIDI interface but didn't receive an answer. And as someone else has noted, his both the PetSynth site and his own homepage are currently offline.

Regards,

Chris

On 10 May 2017 at 14:01 Leif Bloomquist <leif@schemafactor.com> wrote:
> 
> 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 16:00:30

Archive generated by hypermail 2.2.0.