Advertisement
Guest User

Untitled

a guest
Sep 16th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MPASM 1.75 KB | None | 0 0
  1. ;-------------------------------------
  2. ;Instant Access Channel Select
  3. ;-------------------------------------
  4.  
  5. IACHSel     call        MIDIIn          ;receive CC data value byte
  6.  
  7.         btfsc       MIDI_TEMP,6     ;is data value an on or an off message?
  8.         goto        CCOverdrive     ;on, select overdrive channel
  9.  
  10. CCClean     bsf     CH_RELAY        ;switch channel select relay to clean
  11.         bcf     LD_RELAY        ;disable lead boost
  12.         bsf     LE          ;pulse latch
  13.         bcf     LE
  14.         bcf     IASTA,0         ;clear overdrive IA flag bit
  15.         bsf     PASTA,0         ;set clean flag bit in Port A status register
  16.         goto        ISRExit         ;exit ISR
  17.  
  18. CCOverdrive bcf     CH_RELAY        ;switch channel select relay to overdrive
  19.         btfsc       IASTA,1         ;is lead boost instant access button active?
  20.         bsf     LD_RELAY        ;yes, select lead boost
  21.         bsf     LE          ;pulse latch
  22.         bcf     LE
  23.         bsf     IASTA,0         ;set overdrive IA flag bit
  24.         bcf     PASTA,0         ;clear clean flag in Port A status register
  25.         goto        ISRExit         ;exit ISR
  26.  
  27. ;----------------------------------------
  28. ;Instant Access Lead Boost Select
  29. ;----------------------------------------
  30.  
  31. IALDSel     call        MIDIIn          ;receive CC data value byte
  32.  
  33.         btfsc       MIDI_TEMP,6     ;is data value an on or an off message?
  34.         goto        CCLDOn          ;on, select lead boost
  35.  
  36. CCLDOff     bcf     LD_RELAY        ;off, deselect lead boost
  37.         bsf     LE          ;pulse latch
  38.         bcf     LE
  39.         bcf     IASTA,1         ;clear lead boost IA flag
  40.         bcf     PASTA,1         ;clear lead boost flag in Port A status register
  41.         goto        ISRExit         ;exit ISR
  42.  
  43. CCLDOn      btfsc       PASTA,0         ;is the clean flag set?
  44.         goto        $+5         ;yes, do not activate lead boost, but update
  45.                             ;lead boost IA flag
  46.         bsf     LD_RELAY        ;no, activate lead boost
  47.         bsf     LE          ;pulse latch
  48.         bcf     LE
  49.         bsf     PASTA,1         ;set lead boost flag in Port A status register
  50.         bsf     IASTA,1         ;set lead boost IA flag bit
  51.         goto        ISRExit         ;exit ISR
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement