Ahh yeh, it's kinda hardcoded... You could move it around a bit though. The idea is that the buttons have to be in one series. By default it's button 1-30, and depending on which button it is, it jumps to the correct menu using the table below: ;; --------------------------------------------------------------------------
;; This function is called by MIOS when an button has been toggled
;; Input:
;; o Button number in WREG and MIOS_PARAMETER1
USER_DIN_NotifyToggle
movwf TMP1 ; save number of button in TMP1
.........snip........
;; branch depending on pressed button
movf TMP1, W
JUMPTABLE_2BYTES 30 ; max. 30 entries
rgoto MMD_BUTTON_Delay0Down
rgoto MMD_BUTTON_Delay0Up
So if you wanted the encoders attached first, then maybe the first button might be on pin 8, then pin 9, pin 10, etc until pin 38, you could just subtract the 8 from the TMP1 variable before the table jump, and it'll work OK. What'd you have in mind?