Sorry I should explain better :)
The juice is in mmd_din.inc, right at the top. It uses TK's jumptable macro to jump through the code by X lines, where X is the number of the button which triggered the DIN_Notify.
In the code below, button number is in TMP1. It gets moved to W.
That value is used to increase the top of stack counter, which is effectively skipping X lines of code. (Note it is limited to jump 30 lines to avoid going too far)
;; branch depending on pressed button
movf TMP1, W
JUMPTABLE_2BYTES 30 ; max. 30 entries
rgoto MMD_BUTTON_Delay0Down
rgoto MMD_BUTTON_Delay0Up
rgoto MMD_BUTTON_Delay1Down
rgoto MMD_BUTTON_Delay1Up
rgoto MMD_BUTTON_Delay2Down
rgoto MMD_BUTTON_Delay2Up
rgoto MMD_BUTTON_Delay3Down
rgoto MMD_BUTTON_Delay3Up
rgoto MMD_BUTTON_Transp0Down
rgoto MMD_BUTTON_Transp0Up
rgoto MMD_BUTTON_Transp1Down
rgoto MMD_BUTTON_Transp1Up
rgoto MMD_BUTTON_Transp2Down
rgoto MMD_BUTTON_Transp2Up
rgoto MMD_BUTTON_Transp3Down
rgoto MMD_BUTTON_Transp3Up
rgoto MMD_BUTTON_Chn0Down
rgoto MMD_BUTTON_Chn0Up
rgoto MMD_BUTTON_Chn1Down
rgoto MMD_BUTTON_Chn1Up
rgoto MMD_BUTTON_Chn2Down
rgoto MMD_BUTTON_Chn2Up
rgoto MMD_BUTTON_Chn3Down
rgoto MMD_BUTTON_Chn3Up
rgoto MMD_BUTTON_ChnInDown
rgoto MMD_BUTTON_ChnInUp
rgoto MMD_BUTTON_ChnCfgDown
rgoto MMD_BUTTON_ChnCfgUp
rgoto MMD_BUTTON_BPMDown
rgoto MMD_BUTTON_BPMUp
So in English:
Function SR Pin
Delay0Down 1 0
Delay0Up 1 1
Delay1Down 1 2
Delay1Up 1 3
Delay2Down 1 4
Delay2Up 1 5
Delay3Down 1 6
Delay3Up 1 7
Transp0Down 2 0
Transp0Up 2 1
Transp1Down 2 2
Transp1Up 2 3
Transp2Down 2 4
Transp2Up 2 5
Transp3Down 2 6
Transp3Up 2 7
Chn0Down 3 0
Chn0Up 3 1
Chn1Down 3 2
Chn1Up 3 3
Chn2Down 3 4
Chn2Up 3 5
Chn3Down 3 6
Chn3Up 3 7
ChnInDown 4 0
ChnInUp 4 1
ChnCfgDown 4 2
ChnCfgUp 4 3
BPMDown 4 4
BPMUp 4 5
Of course you could rearrange that order as required... If you want to wire it up differently just say the word and I'll post code :)