Using a MIDI keyboard with SDI: ------------------------------- Most keyboards and synthesizer should work with this editor. But newer keyboards and synthesizer will send a massive amount of midi data on it's out port. I suggest you turn off everything you can to start with. Let's take my Korg X50 as an example, before I start the editor I always turn off/toggle these paramaters: Midi clock: Ext Midi Program change: OFF Aftertouch: OFF Exclusive: OFF (we dont want to receive sysex messages) Sucessfully tested on: * M-Audio keystation 49e * Korg X50 Music Synthesizer SDI MIDI Initial configurations: -------------------------------- After answering if you would like to use PAL or NTSC note frequency data, you have the option to select the midi interface you will be using. You can select from a list of known interfaces, but take notice that the original "Namesoft" interface will probably not work. (Not verified yet). 0: User defined 1: Sequential (SCI) 2: Passport 3: Namesoft 4: Syntech 5: Datel, Siel, JMS, C-Lab (2mhz interfaces) 6: Moog Song Producer "User defined" allows you to select the registers you want to use manually: Control register :$de00 Status register :$de02 Tx (Data transfer):$de01 Rx (Data receive) :$de03 Reset Midi :$03 Enable Midi :$15 (Enables Midi Polling) Enable Midi Irq :$95 The example settings above is for the Sequential Circuits Inc. Interface. Values to be used for 1mhz interfaces: #$03 = Midi Reset. #$15 = Enable Midi Polling. #$35 = Enable transfer (TX) interrupt. (Not implemented for SDI irq) #$95 = Enable receive (RX) intterrupt. #$B5 = Enable both transfer (TX) and receive (RX) interrupts. (Not implemented for SDI irq) Values to be used for 2mhz interfaces: #$03 = Midi Reset. #$16 = Enable Midi Polling. #$36 = Enable transfer (TX) interrupt. (Not implemented for SDI irq) #$96 = Enable receive (RX) intterrupt. #$B6 = Enable both transfer (TX) and receive (RX) interrupts. (Not implemented for SDI irq) When you are finished, you proceed to selecting a midi input channel. The channel number you select here (1-16), is the channel number SDI will be listening to when SDI receives status bytes like, note off ($8x) , note on ($9x) , pitch wheel ($ex) etc. etc. If this is the first time you try to use midi with this editor i suggest select "ALL" and continue to the editor. When selecting "ALL", SDI will be listening to all channels. Afterwards, if everything works fine in the editor, you can reload the editor and select a specific input channel you want to work with. Note: Sysex / System Realtime message does not send any channel number. SDI will receive them. Midi Sync where C64 is slave: ----------------------------- SDI will react to the follwing Midi System Realtime values: Midi Start ($FA) : Will start playing from the marked play position (F2 or Return key) Midi Stop / Continue ($FC) : Will stop the music and will also continue playing the music. Midi Timing Clock ($F8) : For the music player to appear at the same raster position (on a PAL computer) you can use a Tempo (BPM) value of 125. The exact value is 125,x or something ( where x is a unknown number ). But that doesnt mean it will play in sync. In addition you have to modify the tempo value in the sdi music player. Try $82 as the tempo value. Midi Sync where C64 is master: ------------------------------