Re: PET user port programming

From: didier derny <didier_at_aida.org>
Date: Wed, 10 May 2017 13:49:22 +0200
Message-ID: <109a6e36-599c-4d35-9df6-d7cb11eec98e@aida.org>
roughly you have a half 6520 on the user port check the 6520 datasheet

http://archive.6502.org/datasheets/mos_6520.pdf

you have the timers in the 6522
http://archive.6502.org/datasheets/mos_6522_preliminary_nov_1977.pdf

you can also check this book
https://archive.org/details/The_Pet_Revealed



On 10/05/2017 12:25, 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
Received on 2017-05-10 12:00:34

Archive generated by hypermail 2.2.0.