MB64 for bank of MC-303s

I’m looking at building a controller for 2-3 MC-303s

Here is the deal, when the MCs are in module mode they have to be externaly sequenced and all functions are controled externaly. No biggie, for now I’m going to use a Yamaha RS7000 for sequencing as I’m mor interested in building a MB controler than a MB sequencer.

The MC-303 uses NPRN MSB/LSB for most of the controls of the sound. This is what the manual has to say, and I dont undersand how this si suposed to be structure, all I understand is that these messages must be sent to the controler. H is designation for hex numbers which the will ALL be.

NRPN MSB/LSC (Controller number 98, 99)

[table][tr][td]STATUS[/td][td]2nd BYTE[/td][td]3rd Byte[/td][/tr]

[tr][td]BnH[/td][td]63H[/td][td]mmH[/td][/tr]

[tr][td]BnH[/td][td]62H[/td][td]llH[/td][/tr]

[/table]

n = MIDI channel

mm = upper byte

ll = lower byte

and one example is the cutoff frequency:

MSB: 01H    LSB: 20H        MSB: mmH      TVF cutoff frequency (relative change on specified channel) mm: 0EH-40H-72H

That is pretty much taken from the midi implimentation part of the manual.

I tried to set this up on my Emu XBoard25 but could not figure it out, the guys at Creative/EMU tried to help, but no luck. I figure that the XBoard isnt the best option and I will either return it or just use it for another instument. If someone could explain this to me, and what I may want to do as for as designing a MB64 controller I would appriciate it.

If you want to look at the manual it is availablefrom roland, or I can send a jpg, but the pdf they send is pretty crappy quality to begin with so sending a jpeg of it may not be best but I will accomodateanyone wiling to help.

Thanks in advance.

You could define a Meta event in mb64_meta.inc which sends the NRPN stream. Just remove everything below MB64_META_Handler and write:

MB64_META_Handler
;; Example: Meta Event "F4 20" sends B>4< 63 01 62 >20< 26 vv

movf	MIDI_EVNT0, W	; extract MIDI channel
andlw	0x0f
iorlw	0xb0 ; send controller | MIDI channel
call	MIOS_MIDI_TxBufferPut

movlw	0x63 ; NRPN MSB
call	MIOS_MIDI_TxBufferPut
movlw	0x01
call	MIOS_MIDI_TxBufferPut
movlw	0x62 ; NRPN LSB (specified in Meta Event Entry)
call	MIOS_MIDI_TxBufferPut
movf	MIDI_EVNT1, W
call	MIOS_MIDI_TxBufferPut

movlw	0x26 ; MSB Value (pot value)
call	MIOS_MIDI_TxBufferPut
movf	MIDI_EVNT_VALUE, W
call	MIOS_MIDI_TxBufferPut

return
[/code]









Best Regards, Thorsten.