i´m currently building a new seqboard for my mb808…on my testboard i added few more buttons on for copy/paste/clear track and copy/paste/clear steps…so it´s six more buttons…
in the setup_808_default.asm i call the functions with:
…so i does work somehow…although the copy/paste/clear steps is not working as i thought it would be…
copy/paste/clear track is working fine, while the machine runs i can copy tracks…but copy/paste/clear steps is only working when i stop the machine…is there another way to call the function so that it will also work when it´s running?
but better would be, instead of adding six buttons, to have only 3 buttons more with a shift function…so while holding
shift it copies steps and without shift it´s copying tracks…is that possible somehow?
so…what i did now is putting this code in the seq_buttons.inc …or its more a “copy some lines and paste them elsewhere” …cause its really hard for me to understand asm, as i didn´t do anything before like coding and such things…so its pretty a learning by trial an error…
so here is what i did:
SEQ_BUTTON_COPYTRACK
call CS_M_HLP_GetSelectedTrk
movff WREG, SEQ_EVNTT
call CS_M_UTILS_CopyTrack
rgoto SEQ_BUTTON_CPC_Cont
SEQ_BUTTON_PASTETRACK
call CS_M_HLP_GetSelectedTrk
movff WREG, SEQ_EVNTT
call CS_M_UTILS_PasteTrack
rgoto SEQ_BUTTON_CPC_Cont
SEQ_BUTTON_CLEARTRACK
call CS_M_HLP_GetSelectedTrk
movff WREG, SEQ_EVNTT
call CS_M_UTILS_ClearTrack
rgoto SEQ_BUTTON_CPC_Cont
SEQ_BUTTON_COPYSTEPS
call CS_M_UTILS_CopySteps
rgoto SEQ_BUTTON_CPC_Cont
SEQ_BUTTON_PASTESTEPS
call CS_M_UTILS_PasteSteps
rgoto SEQ_BUTTON_CPC_Cont
SEQ_BUTTON_CLEARSTEPS
call CS_M_UTILS_ClearSteps
rgoto SEQ_BUTTON_CPC_Cont
SEQ_BUTTON_CPC_Cont
call CS_M_UTILS_UpdateGPLEDs
bsf CS_STAT, CS_STAT_DISPLAY_UPDATE_REQ
return
SEQ_BUTTON_F4
SET_BSR SEQ_BASE
BRA_IFSET SEQ_MODE1, SEQ_MODE1_SHIFT, BANKED, SEQ_BUTTON_COPYTRACK
;; do nothing when button has been released
btfsc MIOS_PARAMETER2, 0
return
goto SEQ_BUTTON_COPYSTEPS
return
SEQ_BUTTON_F5
SET_BSR SEQ_BASE
;; if shift button pressed: start/stop record mode
BRA_IFSET SEQ_MODE1, SEQ_MODE1_SHIFT, BANKED, SEQ_BUTTON_PASTETRACK
;; do nothing when button has been released
btfsc MIOS_PARAMETER2, 0
return
goto SEQ_BUTTON_PASTESTEPS
return
SEQ_BUTTON_F6
SET_BSR SEQ_BASE
;; if shift button pressed: start/stop record mode
BRA_IFSET SEQ_MODE1, SEQ_MODE1_SHIFT, BANKED, SEQ_BUTTON_CLEARTRACK
;; do nothing when button has been released
btfsc MIOS_PARAMETER2, 0
return
goto SEQ_BUTTON_CLEARSTEPS
return
for now its works while running also with the shift function…yippie…but the only limitation is, the stepcopy just works in one part like only A or only in B…but cannont copy steps from A to B as it seems to clear the buffer when changing to another part…puh…will be a next hard night fiddling around…but it starts to make fun somehow…hehe
otherwise i have to wait ´till you´re back from holiday and have some sparetime left.