SEQ_GP_Button first checks to see if the hook CS_MENU_CheckMenuGPCallbackHook is installed in cs_menu_buttons.inc. If not it branches to SEQ_GP_Button_NOCS.
SEQ_GP_Button_CS simply calls CS_MENU_ExecMenuGPCallbackHook
in SEQ_GP_Button_NoCS BIFSET is used to determine which mode is active, branching to the proper SEQ_GP_MODE*_Button function
In SEQ_GP_Mode0_Button, MIOS_PARAMETER2 is first checked to see if the event is a button 'depress' (release?), if so then branching to SEQ_CP_Mode0_Depr. MIOS_PARAMETER1 is then movff'd into SEQ_CURRENT_STEP … unknown code
SEQ_GP_Mode0_Button_Loop first checks if the event comes from the selected track (?) by movf-ing SEQ_EVNTT into W and calling MIOS_HLP_GetBitOrMask
If the button press did not come from one of the GP's than the program branches to CS_MENU_BUTTON_Handler_NoGPInternal Link