Scifo Posted February 28, 2014 Report Share Posted February 28, 2014 Hey guys! Situation: I have the CUTOFF filter completely closed. To open it fully I need to turn MANY laps on the CUTOFF filter encoder to reach the max value. I suppose this is normal, since holding down SHIFT while turning the knobs increases the rate significantly. BUT, I'm playing at the same time so I have only one hand free. My questions: Is there a hex-file or such I can edit so the dent-to-value-amount increases? So I can open the filter on that amazing bass to the max with 1 lap instead of 9. I tried looking for this before I posted, cause I have a feeling I've read somewhere that you can edit a file to change this, but I couldn't find any info. Thanks in advance for your help. /Scifo Quote Link to comment Share on other sites More sharing options...
Scifo Posted March 5, 2014 Author Report Share Posted March 5, 2014 Anyone? Quote Link to comment Share on other sites More sharing options...
TK. Posted March 5, 2014 Report Share Posted March 5, 2014 You could try if it works better for you if you invert the "fast" function selected with the SHIFT button. For this, open src/cs_menu.inc, search for btfss CS_MENU_MODE, CS_MENU_MODE_SHIFT_PRESSED replace "btfss" by "btfsc" Thereafter build a new .hex file (see also the Wiki for more infos on the toolchain) Alternatively it should also be possible to set a specific speed for the cutoff encoder in the CS_MENU_EncSpeedSet function if you prefer this (but I would have to test the code before providing it) Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
Scifo Posted March 6, 2014 Author Report Share Posted March 6, 2014 Hey TK, thanx for the reply. That SHIFT-thing sounds like a good solution. First I thought that holding down SHIFT would make the 1-15 value knobs go too fast, but I noticed they are not affected by holding SHIFT. Only the "long" values (0-255 etc) are affected by SHIFT. This is great news, so I will definitely try to edit that .inc-file and build a HEX-file so the MB will have the SHIFT activated by default. I let you know if I need any help doing that. Thanks again. Scifo Quote Link to comment Share on other sites More sharing options...
jrp Posted April 3, 2014 Report Share Posted April 3, 2014 I just tried this and changed btfss to btfsc. After compiling and uploading nothing changed. I edited some menu orders and other things at the same time, these changes worked, so my upload was succesfull. In cs_menu.inc i see two lines with CS_MENU_MODE, CS_MENU_MODE_SHIFT_PRESSED maybe they both need to be edited? one in this block (already edited) CS_MENU_EncSpeedSet_ModVal_GT1F ;; max value > 0x1f: set fast speed movf CS_MENU_PARAMETER_MAX_H, W movwf TMP2 rlf TMP1, F rlf TMP2, F movlw 0x05 ; saturate if value >= 5 cpfsgt TMP2, ACCESS ; (IFLEQ) movf TMP2, W ;; increase speed if shift button pressed btfsc CS_MENU_MODE, CS_MENU_MODE_SHIFT_PRESSED addlw 2 and another one a bit above in the code: CS_MENU_EncSpeedSet_Main movlw 2 ; this speed value is taken when ENC_SPEED_FAST is selected movwf MIOS_PARAMETER2 movlw MIOS_ENC_SPEED_FAST ; FAST or NORMAL mode depending on state of shift button btfsc CS_MENU_MODE, CS_MENU_MODE_SHIFT_PRESSED movlw MIOS_ENC_SPEED_NORMAL movwf MIOS_PARAMETER1 movf PRODL, W ; encoder number goto MIOS_ENC_SpeedSet Quote Link to comment Share on other sites More sharing options...
jrp Posted May 2, 2014 Report Share Posted May 2, 2014 You could try if it works better for you if you invert the "fast" function selected with the SHIFT button. For this, open src/cs_menu.inc, search for btfss CS_MENU_MODE, CS_MENU_MODE_SHIFT_PRESSED replace "btfss" by "btfsc" could somebody confirm this works? In my case it did nothing :( Quote Link to comment Share on other sites More sharing options...
sonofprent Posted May 18, 2014 Report Share Posted May 18, 2014 Keen to know if this workaround works too- would like to inverse my shift functionality! Quote Link to comment Share on other sites More sharing options...
jrp Posted May 19, 2014 Report Share Posted May 19, 2014 possible we are just using the wrong encoders? I built my cs prototype with cheap encoders i ordered from china (about 15 pices for 5$...). They are detented (24 clicks) and detents cannot be removed as the detents are made of the switching contacts. Somewhere i have read that by using nondetented encoders the resolution is much better, although i don´t see how this will work as they should still only have 24 impulses per turn (right?). Maybe someone has some input on this and can recomend a better suited part. Quote Link to comment Share on other sites More sharing options...
3090 Posted May 21, 2014 Report Share Posted May 21, 2014 Hey TK, thanx for the reply. That SHIFT-thing sounds like a good solution. First I thought that holding down SHIFT would make the 1-15 value knobs go too fast, but I noticed they are not affected by holding SHIFT. Only the "long" values (0-255 etc) are affected by SHIFT. This is great news, so I will definitely try to edit that .inc-file and build a HEX-file so the MB will have the SHIFT activated by default. I let you know if I need any help doing that. Thanks again. Scifo Hello Scifo, I have the same situation with CUT OFF of my MB.... Did you change something? If yes i am interested. Best Regards 3090 Quote Link to comment Share on other sites More sharing options...
jrp Posted May 22, 2014 Report Share Posted May 22, 2014 (edited) changing the code is really simple. Just change the line and recompile. I already tried it but for me it changed nothing. So it would be really interesting if it´s a mistake on my side or if it simply doesn´t work like that. Maybe just a little mistake in the discription (although i would normally trust tk blindly). So people, if you are interested, just try it and tell us how it went. If it works for you i´ll have to keep trying and see what my mistake was. Besides, i still belive using a MB_NG or MB_64e to handle the controllers would give more options and would be much easier to tweak for best feel and resolution. The only thing that troubles me is that a second core running the encoders or pots would have to determine what SID (1,2,3,4) is currently active so data will be transmitted on the right channel. Luckily each SID engine sends a dout flag when active, that´s where the SID LEDs are connected. This could be used to let MB_NG switch to the right midi channel(s). This would also mean that channel assignment would have to be fixed in the ensamble settings. So a Midi router would be required since we want to be able to play each sid individually or unisono from one channel. Edited May 22, 2014 by jrp Quote Link to comment Share on other sites More sharing options...
3090 Posted May 22, 2014 Report Share Posted May 22, 2014 You could try if it works better for you if you invert the "fast" function selected with the SHIFT button. For this, open src/cs_menu.inc, search for btfss CS_MENU_MODE, CS_MENU_MODE_SHIFT_PRESSED replace "btfss" by "btfsc" Thereafter build a new .hex file (see also the Wiki for more infos on the toolchain) Alternatively it should also be possible to set a specific speed for the cutoff encoder in the CS_MENU_EncSpeedSet function if you prefer this (but I would have to test the code before providing it) Best Regards, Thorsten. :smile: Quote Link to comment Share on other sites More sharing options...
TK. Posted May 26, 2014 Report Share Posted May 26, 2014 -> 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.