Jaicen Posted June 30, 2006 Report Posted June 30, 2006 Ok, so I have to be different! I want to design a control surface that will fall somewhere between step B and step C, a CS Lite so to speak, which has dedicated controls for certain features but is less complex in terms of wiring. I am aware of the inherent lack of future proofing this entails, but i'm comfortable with that. If I ever want an expanded MBSID, i'll build another! OK, I plan to make a PCB to mount all the controls on, and then have a single DINX4 module 'plug' into it via the headers if that makes sense! To clarify, the encoders and buttons will mount on the board, and then a pair of 16-pin cables will be used to connect the DINX4 to the 'control surface lite' PCB. A similar style of connector could be used for the DOUT, although my design only requires around 17 DOUT pins, so i'm considering integrating that into the PCB. I think that would be a neat solution.The design i'm thinking of uses a single set of ADSR and envelope depth knobs, which can edit ENV1 and 2 individually or simultaneously using a pair of buttons.. It will also have VCF Freq & Q controls, and buttons to select one or more of the following: LP/BP/HP and Assign to OSC 1, 2 and 3 all of which can be selected simultaneously.There will be more buttons to select SID 1 & 2, to select which voices will be edited (3 more buttons). and to I also want a pair of encoders to adjust osc fine tune and portamento time, and a button to select oscillator waveform. An example of how i'd like this to work: Select SID 1,select all three voices,select a saw tooth wave and edit ADSRAssign all three voices to VCFDoes that all make sense??? Right now, all the PCB design I can get my head around, the thing I need help with is the coding in MIOS. So far, i've been unsuccessful even getting MIOS open! I need some help, but I want to learn how to do this, i'm not asking for it to be done for me. I've got a picture of what I want to assign to the DINX4 pins but I can't upload it to Putfile for some reason. If it helps I can mail it.Right, what I need to know:1: How to get into MIOS!!2: Where to look for the info I need to do the code modsIf anyone has done anything like this i'd like to hear from them. I don't think i've ever seen any control surface (with the exception of Der Brat, which is ace) which uses a custom config. Quote
Sinnsyk Posted July 1, 2006 Report Posted July 1, 2006 I can't help you with your problem, but pictures can be uploaded to this forum. When posting/editing, click Additional Options... and do the upload. Quote
Jaicen Posted July 1, 2006 Author Report Posted July 1, 2006 Thanks Sinnsyk I didn't realise you could do that. How much trouble would that have saved me!? Quote
stryd_one Posted July 1, 2006 Report Posted July 1, 2006 hi jaicen. Download the source code for MBSID and look at the cs_* files. Quote
Jaicen Posted July 1, 2006 Author Report Posted July 1, 2006 where are the source files? How do I look at the *.cs files? I've only found .hex files for v1.9.Imagine that I know nothing and just hold my hand a little ;) Quote
stryd_one Posted July 1, 2006 Report Posted July 1, 2006 OK download the SID application zip file In that file are some called cs_*.inc, for exampe cs_menu.incYou can edit them in notepad or in MPLab.Sorry I can't offer any better advice. I haven't fooled with the CS on the SID at all.... I took a look, but it's pretty complex and would take some time to figure out.... I think I'll leave that up to you ;) Quote
Jaicen Posted July 1, 2006 Author Report Posted July 1, 2006 Right, that's a step in the right direction! Thanks for that Stryd. Are there any tutorials on modifying the code available on the Wiki perhaps?? Quote
Jaicen Posted July 1, 2006 Author Report Posted July 1, 2006 Ok, I think I'm getting the hang of this. If I take the first shift register as an example. I want to assign the first three pins to buttons to edit:1. SID 12. SID 23. SID 3in cs_menu_io_tables, I need to make a table containing: DIN_ENTRY CS_MENU_BUTTON_SID1, 2, 0 DIN_ENTRY CS_MENU_BUTTON_SID2, 2, 1 DIN_ENTRY CS_MENU_BUTTON_SID3, 2, 2Which means on the second Shift register, pins 0-2 call up SID 1-3. Is this correct?And correspondingly, I can use the following to add 3 LED's to show which SID is being edited:CS_MENU_DOUT_TABLE ;; Register and bit SR# Pin# Description DOUT_ENTRY CS_MENU_SELECTED_SID_FLAGS, 1, 0, 0 ; SID1 LED DOUT_ENTRY CS_MENU_SELECTED_SID_FLAGS, 1, 1, 1 ; SID2 LEDDOUT_ENTRY CS_MENU_SELECTED_SID_FLAGS, 1, 2, 2 ; SID3 LEDIf I understand this correctly, this will turn on the first three pins of the first shift register when the SID1-3 buttons are pressed??If so, how do I implement functions that aren't already in the cs tables such as 3x buttons for filter type, in order that the filters can be mixed (ie LP + HP). Quote
stryd_one Posted July 1, 2006 Report Posted July 1, 2006 No probs mate.Unfortunately there is very little documentation on customising on the wiki. If you could write a few words about what you find it would be a great help.edit: you beat me to it ;) Quote
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.