bosone Posted May 5, 2006 Report Posted May 5, 2006 hi!how can i use a key on my SID control surface (for example the one used to choose SID4, which i don't have) in order to produce a CC dump of the current patch on the MIDI out?i'd like the same action provided by the sysex string: i) F0 00 00 7E 46 <device-number> 0E F7 Request CC Dumpat the press of a button...thanks! Quote
TK. Posted May 5, 2006 Report Posted May 5, 2006 Just add bsf SID_STAT, SID_STAT_CC_DUMP_REQanywhere to cs_menu_buttons.incBest Regards, Thorsten. Quote
bosone Posted May 6, 2006 Author Report Posted May 6, 2006 great! :-)nowbut after trying it i found that i need one more step...since the CC dump is flowing from the SID (CC=16 due to other hardware devices) to my midibox 16E (CC=1) i'd like to change the SID CC dump channel number output, if it's possible...i had a look on the SIC_CCOUT.INCin particular in this section: SID_CCOUT_Handler_Loop movf TMP1, W call SID_CCOUT_Get ; get CC parameter value movwf TMP2 ; store value in TMP2 IFSET TMP2, 7, rgoto SID_CCOUT_Handler_Next ; (returns WREG[7] if non-CC value) ;; send CC movff SID_V1_BASE + SID_Vx_MIDI_CHANNEL, WREG iorlw 0xb0 call MIOS_MIDI_TxBufferPut movf TMP1, W call MIOS_MIDI_TxBufferPut movf TMP2, W call MIOS_MIDI_TxBufferPut movlw 8 ; add a short delay of 8 mS for slow sequencers call MIOS_Delay i have tried, with no success, to work on the first lines of ;;send CC movff SID_V1_BASE + SID_Vx_MIDI_CHANNEL, WREG iorlw 0xb0 call MIOS_MIDI_TxBufferPut but since i don't know the exact meaning of the parameters and how to handle them i moved with eyes closed and tried (i want to output midi data on channel 1): movff 0x01 + SID_Vx_MIDI_CHANNEL, WREG iorlw 0xb0 call MIOS_MIDI_TxBufferPut movff 0x01 WREG iorlw 0xb0 call MIOS_MIDI_TxBufferPut movff SID_V1_BASE + 0x01, WREG iorlw 0xb0 call MIOS_MIDI_TxBufferPut neither of these worked... my last try was: movff SID_V1_BASE + SID_Vx_MIDI_CHANNEL, WREG iorlw 0xb1 call MIOS_MIDI_TxBufferPut knowing that 0xb0 output a CC MIDI message on channel "0"... i assumed 0 as the "preset sid channel", and tried to change it to 1, but this time the result was a series of CC ouput to chennl 16 (my default channel)...is there a simple workaround? Quote
bosone Posted May 6, 2006 Author Report Posted May 6, 2006 uhm.... i thought that maybe it's simpler to change the midibox 16E CC message like this: 1 = BF 11 [00-7F:40] ENC_MODE_ABSOLUTE&NORMAL LED_PATTERN_1 "Transpose V1" +-HEXwhere:"BF 11 [00-7F:40]"the F stays for midi CC=16, right? Quote
TK. Posted May 6, 2006 Report Posted May 6, 2006 No, F stays for Channel 16 (0xf = 15, we are counting from zero).Alternatively you could replace the "iorlw 0xb0" by "movlw 0xb0" in order to force MIDI channel #1 on the SID, but since it will still receive MIDI data over channel 16, changing the MB64E setup is the better solution.Note that MB64E provides a "global MIDI channel" where you can overload the channel settings of your setup. It's really simple, and can be changed from the menu.Best Regards, Thorsten. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.