midi channel is set with this line:
;fetch midi address
in r16,pinc
andi r16,$0f
sts midi_channel,r16
this is run once on startup, and not changed again. so if you just want to have a fixed midi channel, that is not set by the trace-cutting, do the following:
;fetch midi address
;in r16,pinc
;andi r16,$0f
ldi r16,$09 ; put midi channel here (midi channel number - 1)
sts midi_channel,r16
are you familiar with avr assembler? ; is the comment symbol and $ is the hex number declaration. i think 0x works as well, but i never tried it. all of these parts are in vamp1.asm.
the controllers start down here:
;mov controller number to high register
;check for various control parameters
lds r16,last_byte
cpi r16,$0f ; branch the search tree for greater speed
brsh mod15
cpi r16,$0a
brne mod11
;voice selection
;temporary modification for 16 voices
;andi r17,$70 ; mask off upper bytes (only 8 different voices)
;lsr r17 ; adjust for table positions
andi r17,$78 ; temp mod
subi r17,$f0
mov r25,r17
rjmp main
mod11: ; attacks
cpi r16,$0b
brne mod12
neg r17 ; reverse knob direction
subi r17,$80 ; give an offset
brcc mod11a ; check for largest value
ldi r17,$ff ; set to max
that first bit windows the incoming control numbers, and ignores any values it does not respond to. then it compares the incoming control number with each specific controller, and sees if they match.