This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
how_to_use_midibox_cv_with_a_dout [2006/06/15 18:47] DrBunsen |
how_to_use_midibox_cv_with_a_dout [2009/05/06 14:23] 129.120.95.63 |
||
---|---|---|---|
Line 44: | Line 44: | ||
movlw 0x90 ; check for Note On at channel #1 | movlw 0x90 ; check for Note On at channel #1 | ||
- | IFNEQ MIOS_PARAMETER1, ACCESS, rgoto USER_MPROC_NRE_NoNoteChn1 | + | cpfseq MIOS_PARAMETER1, ACCESS |
+ | rgoto USER_MPROC_NRE_NoNoteChn1 | ||
USER_MPROC_NRE_NoteChn1 | USER_MPROC_NRE_NoteChn1 | ||
;; MIOS_DOUT_PinSet expects pin number in WREG, value in MIOS_PARAMETER1 | ;; MIOS_DOUT_PinSet expects pin number in WREG, value in MIOS_PARAMETER1 | ||
Line 69: | Line 70: | ||
What happens here? Midibox CV is listening to the first channel (beginning from tune C-2) for a NoteOn and | What happens here? Midibox CV is listening to the first channel (beginning from tune C-2) for a NoteOn and | ||
activates the corresponding dout. A NoteOff deactivates the dout. | activates the corresponding dout. A NoteOff deactivates the dout. | ||
+ | |||
+ | __Define the number of connected DOUT shift registers:__ | ||
+ | |||
+ | If you're using more than one DOUT shift register, you must also change this code in "main.inc" to reflect the number of shift registers: | ||
+ | <code> | ||
+ | ;; initialize the SRIO driver | ||
+ | movlw 0x01 | ||
+ | call MIOS_SRIO_NumberSet | ||
+ | </code> | ||
+ | To set it to the maximum (16), just replace the code with this: | ||
+ | <code> | ||
+ | ;; initialize the SRIO driver | ||
+ | movlw 0x0F | ||
+ | call MIOS_SRIO_NumberSet | ||
+ | </code> | ||
+ | |||
Line 101: | Line 118: | ||
with a 1ms latency. | with a 1ms latency. | ||
- | //(Could this code be used to add 32 trigger outs to the MIDIBox SEQ? Separate question, would it be possible to code for S-Trig - having the DOUT pins held normally high, and drop to 0v on NoteOn? - Bunsen)// | + | MIDIbox SEQ allows up to 48 digital outputs as this type of trigger. [[http://ucapps.de/midibox_seq_options.html]] |
+ | |||
+ | __Changing the midi channel:__ | ||
+ | |||
+ | If you want the DOUT triggers to respond to MIDI events on a channel other than #1, replace instances of "0x80" and "0x90" with the following values: | ||
+ | |||
+ | * Channel 1: 0x80, 0x90 | ||
+ | * Channel 2: 0x81, 0x91 | ||
+ | * Channel 3: 0x82, 0x92 | ||
+ | * Channel 4: 0x83, 0x93 | ||
+ | * Channel 5: 0x84, 0x94 | ||
+ | * Channel 6: 0x85, 0x95 | ||
+ | * Channel 7: 0x86, 0x96 | ||
+ | * Channel 8: 0x87, 0x97 | ||
+ | * Channel 9: 0x88, 0x98 | ||
+ | * Channel 10: 0x89, 0x99 | ||
+ | * Channel 11: 0x8A, 0x9A | ||
+ | * Channel 12: 0x8B, 0x9B | ||
+ | * Channel 13: 0x8C, 0x9C | ||
+ | * Channel 14: 0x8D, 0x9D | ||
+ | * Channel 15: 0x8E, 0x9E | ||
+ | * Channel 16: 0x8F, 0x9F | ||
+ | __Forum articles:__ | ||
- | Forum articles: | + | [[http://www.midibox.org/forum/index.php/topic,13478.0.html]] -- Information on receiving on ALL channels, information on excluding specific DOUT pins from being reset with the 1ms trigger extension code |
- | http://www.midibox.org/forum/index.php?topic=2701.0\\ | + | [[http://www.midibox.org/forum/index.php?topic=2701.0]] (German)\\ |
- | http://www.midibox.org/forum/index.php?topic=6333.0 | + | [[http://www.midibox.org/forum/index.php?topic=6333.0]] (German) |