TD Posted April 24, 2008 Report Share Posted April 24, 2008 my first go at a mod in MB SID.. i wanted to be able to start a seq in the bass or drum engine without having to trigger a note on..after following this topic.http://www.midibox.org/forum/index.php/topic,11188.0.html i had a go at this.cs_menu_tables.inc ; -------------------------------------------------------------------------- CS_MENU_TABLES_B ;; pointer to table par. button pressed exec button pressed page name var max print function CS_MENU_T_ENTRY CS_MENU_TABLE_B_ROOT, CS_MENU_Page_Root, CS_MENU_BUTTON_Play, "---", SID_PATCH, 0x7f, PRINT_PAT ; (special handling in CS_MENU_PageUpDown selected with SID_PATCH) and: ; -------------------------------------------------------------------------- CS_MENU_TABLES_D ;; pointer to table par. button pressed exec button pressed page name var max print function CS_MENU_T_ENTRY CS_MENU_TABLE_D_ROOT, CS_MENU_Page_Root, CS_MENU_BUTTON_Play, "---", SID_PATCH, 0x7f, PRINT_PAT ; (special handling in CS_MENU_PageUpDown selected with SID_PATCH) it works out quite nice.. in a bassline or drum patch, once in the menu root, menu button will toggle start /stop sequence 8) cool to be able to just hold the little box and trigger / tweak patterns.. [[sUPER FUN!!!]] ;D switching to a lead patch gets your main menu back.. now i just need to replace my wobbbbly encoder switch! ..just thought id share that. Quote Link to comment Share on other sites More sharing options...
ganchan Posted April 24, 2008 Report Share Posted April 24, 2008 yes it work this way but how you come back to main? ;)CS_MENU_BUTTON_Sel5 ;; if in main page (CS_MENU[7]), goto to PlayNote/StartSeq movlw 0x00 GOTO_IFSET CS_MENU, 7, ACCESS, CS_MENU_MS_PlayNote ;; select button #5, set cursor to 5th position clrw movlw 0x04 rgoto CS_MENU_BUTTON_Select_Contthis is mine.i move just 0x00 into W because i've just a stereo sid and CS_MENU_MS_PlayNote read the current SID selected in W. for slaves code must improved like CS_MENU_BUTTON_Play show. reading the sid state in CS_MENU_SELECTED_SID_FLAGS (set by CS_MENU_BUTTON_SID[1234]) and move the right SID number 0x0[0123] into W. Quote Link to comment Share on other sites More sharing options...
TD Posted April 25, 2008 Author Report Share Posted April 25, 2008 by changing to another patch.. i only have the play button mod on bass & drum engine.. probably a lazy way to do it, but it seems to work out for me. ;)yes it work this way but how you come back to main? ;)CS_MENU_BUTTON_Sel5 ;; if in main page (CS_MENU[7]), goto to PlayNote/StartSeq movlw 0x00 GOTO_IFSET CS_MENU, 7, ACCESS, CS_MENU_MS_PlayNote ;; select button #5, set cursor to 5th position clrw movlw 0x04 rgoto CS_MENU_BUTTON_Select_Contthis is mine.i move just 0x00 into W because i've just a stereo sid and CS_MENU_MS_PlayNote read the current SID selected in W. for slaves code must improved like CS_MENU_BUTTON_Play show. reading the sid state in CS_MENU_SELECTED_SID_FLAGS (set by CS_MENU_BUTTON_SID[1234]) and move the right SID number 0x0[0123] into W. Quote Link to comment Share on other sites More sharing options...
ganchan Posted April 27, 2008 Report Share Posted April 27, 2008 due to some change in the rc19 this mod need some more tweak.the function CS_MENU_BUTTON_Select_Cont now call like shown here the new CS_MENU_SHIFT_Button that you can find in cs_menu_shift.inc ;; branch if in SHIFT page GOTO_IFSET CS_STAT3, CS_STAT3_SHIFT_PAGE, ACCESS, CS_MENU_SHIFT_Button because of this, if you have a minimal CS (like me) with Menu button as Shift (that is a mod and not come with the original code) this call make conflict when you hold the Menu button to show the Shift page, and push the select button that have play function too, and because CS_MENU, 7 is not cleared by the Menu Button when you call shift. So i suggest to modify functions like here: CS_MENU_BUTTON_Exec_NoStartup ;; activate/deactivate menu button function bcf CS_MENU_MODE, CS_MENU_MODE_MENU_PRESSED btfss MIOS_PARAMETER2, 0; if button is pressed bsf CS_MENU_MODE, CS_MENU_MODE_MENU_PRESSED ;; if in main page (CS_MENU[7]), goto shift function <= GOTO_IFSET CS_MENU, 7, ACCESS, CS_MENU_BUTTON_Shift <= ;; do nothing if button has been depressed btfsc MIOS_PARAMETER2, 0 return ;; EXTRA for Exec/Menu button: ;; exit SID player mode if CS is disabled GOTO_IFSET SID_STAT, SID_STAT_SIDPLAYER_CS_DISABLE, ACCESS, SIDPLAY_Disable goto CS_MENU_Exec CS_MENU_BUTTON_Sel2 ;; if in main page (CS_MENU[7]), call PlayNote/StartSeq <= GOTO_IFSET CS_MENU, 7, ACCESS, CS_MENU_BUTTON_Play <= ;; select button #2, set cursor to 2nd position clrw movlw 0x01 rgoto CS_MENU_BUTTON_Select_Cont CS_MENU_BUTTON_Shift ;; exit with message if SID player mode enabled and SID1 selected BRA_IFSET SID_STAT, SID_STAT_SIDPLAYER_CS_DISABLE, ACCESS, CS_MENU_BUTTON_SP_IgnoreMsg bcf CS_MENU, 7 <= btfsc MIOS_PARAMETER2, 0; if button has been depressed <= bsf CS_MENU, 7 <= ;; activate/deactivate shift function bcf CS_MENU_MODE, CS_MENU_MODE_SHIFT_PRESSED btfss MIOS_PARAMETER2, 0; if button is pressed bsf CS_MENU_MODE, CS_MENU_MODE_SHIFT_PRESSED ;; change to SHIFT page bcf CS_STAT3, CS_STAT3_SHIFT_PAGE btfss MIOS_PARAMETER2, 0; if button is pressed bsf CS_STAT3, CS_STAT3_SHIFT_PAGE ;; always request new display-initialization bsf CS_STAT, CS_STAT_DISPLAY_INIT_REQ returni've marked with <= the added code. in this way you have shift button and 2nd select as play, in main menu window.hope this help.G.p.s. please correct me if i'm wrong in any part, i'm quite new on MIOS. Quote Link to comment Share on other sites More sharing options...
TD Posted April 28, 2008 Author Report Share Posted April 28, 2008 that definitely looks more complete than my way...im going to have a go at that. does r19 have the super cool new drum engine as described by TK? Quote Link to comment Share on other sites More sharing options...
ganchan Posted April 28, 2008 Report Share Posted April 28, 2008 the nice is, in this way shift page remain on button release. since i prefer slow encoder movement, if you switch on shift page and turn any CS enc, it go slow, switching to others CS page too, sice you come back to main, the speed don't come back to normal. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.