my-midi 0.2: ------------ By GRG/SHAPE October 2007 Features: --------- Midi-keyboard data output to your screen. And also data input to music player. C64 Key functions: ------------------ 1 : Single voice play along 2 : Three voice play along (only first 3 keys at a time) 3 : Concate (First in first out) 4 : 1 voice Arpeggio (127 keys possible - but you only have 10 fingers) F : Toggle filter on/off B/SH+B : Set band X : Set resonance H : Hardrestart type ( 1 = hardest ) W/SH+W : Waveform A/SH+A : Attack D/SH+D : Decay S/SH+S : Sustain R/SH+R : Release +/- : Select arpeggio speed MIDI key functions: ------------------- (This depends on your midi keyboard ofcourse) Keys : Play note on C64 Pitch Bend Wheel: Bend frequency on C64 Modulation Wheel: Set filter cutoff Volume Slider : Set pulse Modulation Wheel & Volume Slider: --------------------------------- There are 128 possible controllers on a MIDI device. These are numbered from 0 to 127. Some of these controller numbers are assigned to particular hardware controls on a MIDI device. For example, controller 1 is the Modulation Wheel. Other controller numbers are free to be arbitrarily interpreted by a MIDI device. In this program Pulse control is assigned to 7, and filter cuttof is assigned to 1. User defined interface: ----------------------- You can customize the registers in case you have a interface not on the list. Control register : Register for talking with your interface Status register : Register tells me if a byte is ready. Tx data : This is the send byte register. Rx data : This is the receive byte register. Reset midi : Used with control register - Resets your interface Enable midi : Used with control register - Set count division and enable midi. Enable midi Irq : Used with control register - Set count division, enable midi and set irq line. Fetching data is done through the irq interrupt. That means this program doesnt work with interfaces connected to a nmi line. Known Bugs: ----------- If the midi keyboard sends too much data, the screen output routine will not be able to keep up with the data received. It will just print what currently is in buffer. If the 1Voice arpeggio program hangs on a note - Press H to reset player. My Setup: --------- C64 (6581 sid chip) FB-Midi Card rev.1a in C64 cartridge port. ( my midi interface ) M-Audio Keystation 49e ( midi keyboard )