Jump to content

moogah

Programmer
  • Posts

    317
  • Joined

  • Last visited

Everything posted by moogah

  1. Here I was thinking that I was crazy.. Thanks TK :)
  2. Derr. :-[ In case anybody doesn't already realize what I did wrong last night, here it is: In the process of testing code I must have overwritten a section of the memory where MIOS lives, and then didn't remember to re-upload MIOS in order to fix this. In short, MIOS didn't boot because MIOS wasn't there. Derf. UPDATE: Mojo is back tonight ;D Once I had a programmed PIC to work with it only took my a cycle or two to realize that I wasn't clearing the value of MIOS_PARAMETER2, which is where the direction of the encoder movement is stored. Here is the working code with a bit added to display the selected track for a couple seconds whenever the encoder is moved:
  3. I managed to miss that when I posted.. my bad. I've not looked at the MB64 code yet and don't have one built, so allow me to speculate: if what we are trying to do is send a note on event from a button followed by quantized pitch information from a encoder (or pot), why wouldn't we have the initial value stored in the application? The way I'm understanding this the only complication is sending the pitch shift information while the button is pressed. If, perhaps, the MB64 only sends increment/decrement signals over MIDI, then yea, we def need to stick with a pot to do this :) I can't think of one at the moment but there is probably a fairly easy method of gathering the value coming from the pot and quantizing it, and you can likely code the scale you want it quantized to (bonus :)), the only real catch is that to change the pitch of a note that is playing you need to send a pitch bend message (correct me if I'm wrong) and to do that you will need to keep track of the initial pitch to find the interval value. Not as complicated as it sounds really. If I get stumped on my project again tonight I'll open up the MB64 source and see if I can point out some good places to start.
  4. *sigh* No love tonight either. On the way home from work I had become very hopeful that the problem was caused by some ungrounded AIN pins or some wrong settings in main.asm reguarding the AIN pins.. but no.. I got a few other features coded up and tested and then began to work through the process of comparing what is different about my method of using the encoder and what is in SEQ_ENC_Handler. Unfortunaltly my mojo must be weak tonight because as I went to make another test upload everything went wrong.. actually the upload went fine but when the PIC booted into MIOS the LCD messages were offset across half the screen and wrapped around the other side while midi messages streamed from the PIC.. doh. I checked my code real quick for some bonehead mistakes like leaving in an org 0x00000 statement. Nope, all clear there. Not wanting to loose any time I simply poped open another PIC and proceded to upload, this time it wouldn't boot into MIOS at all. Doh. So I decided I must have done something stoopid in code and loaded up the .hex (I use MIOS studio) for the 2.4c application.... still no dice, same symptoms. DOh. I figured I'd try one more PIC just for the hell of it and then call it quits, no dice there either. DOH. Thats it for me tonight :( ???
  5. Hmm, I'm not sure I completely understand what you want to do, but at the moment it doesn't sound like you need to write any special code to do this, you would simply need to assign a pot or encoder to change the midi note value. I would also reccomend just using an encoder to do this because it can be tricky finding the right value with a pot. Also a 10k pot is all you need, the application doesn't measure the resistance but instead the voltage. Speaking of, which application are you using? MB64? MBSEQ?
  6. I've finally run into another stumbling block in getting the SEQ to feel like an 808's sequencer. What I have been successful in doing is 'mapping' the press of a function button + GP button to changing both the track and layer parameters so that users can select which instrument they are editing (we are in drum mode). Now, what I want to implement is the instrument select switch like on the original using an encoder. I've already got variables setup that remember which number instrument was last pressed so I can increment or decrement that in response to an encoder event and then I *should* be able to move the result into MIOS_PARAMETER1 and then call PROJECT8_ChangeInstrument which takes a GP number, converts it into track/layer then calls SEQ_BUTTON_Trackx_Cont & SEQ_BUTTON_Layerx to change the active layer. Now, moving the encoder does change the value of PROJECT8_INSTNUM0 and that is reflected in the GP LED display (I have coded it to display the selected track when the function key is pressed). However, there are two problems: the first is that the track/layer value doesn't get updated and the second I believe provides the best clue as to what is happening. When I move the encoder the app doesn't always respond right away, the impression I get is that the value from the encoder is only being updated at a period similar to 1/8 note causing it to sometimes adjust immediatly and sometimes take a few 10s of miliseconds to update. Now, after troubleshooting this for most of the evening I've decided to take a break and see if I can get a hint or just a fresh perspective from people here. It's occured to me that perhaps this is normal behavior for the encoders in the SEQ app as they are not normally used like this. That still would not explain why the track/layer doesn't get updated tho, most of my troubleshooting has been focused around being sure that the value of MIOS_PARAMETER1 that gets 'passed' into PROJECT8_ChangeInstrument is correct, and I am 99% sure of that now. Variable declarations ;; free for your pleasure: 0x360-0x37f ;; and 0x380-0x3ff if the AIN handler is disabled P8_BASE EQU 0x380 PROJECT8_INSTNUM0 EQU 0x380 PROJECT8_INSTNUM1 EQU 0x381 PROJECT8_MODE EQU 0x382 PROJECT8_PARAM1 EQU 0x383 PROJECT8_PARAM2 EQU 0x384 PROJECT8_PARAM3 EQU 0x385 PROJECT8_INST_LED0 EQU 0x386 PROJECT8_INST_LED1 EQU 0x387 PROJECT8_TEMP_VAR EQU 0x388 Encoder pin assignments MIOS_ENC_PIN_TABLE ;; encoders 1-16 ;; SR Pin Mode #if DEFAULT_ENC_DATAWHEEL >= 0 ENC_ENTRY 2, 2, MIOS_ENC_MODE_DETENTED ; Data Wheel #endif ENC_ENTRY 1, 6, MIOS_ENC_MODE_DETENTED2 ; ins select ENC_ENTRY 6, 2, MIOS_ENC_MODE_DETENTED2 ; tempo Catching the encoder events USER_ENC_NotifyChange #if DEFAULT_ENC_DATAWHEEL >= 0 ;; branch to SEQ_ENC_Datawheel if datawheel movf MIOS_PARAMETER1, W xorlw DEFAULT_ENC_DATAWHEEL skpnz goto SEQ_ENC_Datawheel #endif movf MIOS_PARAMETER1, W xorlw 0x00 skpnz goto PROJECT8_InstChange movf MIOS_PARAMETER1, W xorlw 0x01 skpnz goto PROJECT8_TempoChange inc/dec the current selected instrument (track/layer) and move it into MIOS_PARAMETER1 PROJECT8_InstChange SET_BSR P8_BASE btfss MIOS_PARAMETER2, 7, 0 ; increment if negative bit is clear incf PROJECT8_INSTNUM0, 1 btfsc MIOS_PARAMETER2, 7, 0 ; decrement if negative bit is set decf PROJECT8_INSTNUM0, 1 movff PROJECT8_INSTNUM0, MIOS_PARAMETER1 PROJECT8_ChangeInstrument ;This function takes MIOS_PARAMETER1, converts it to a track/layer number then calls the functions to change the track/layer Some of the additional code to display the selected track on the GP LED's. PROJECT8_INSTNUM0 is used to determine which LED to light up, so I'm fairly sure it is not being overwritten SEQ_GP_LED_Update ;; clear the 16 GP LEDs SET_BSR SEQ_BASE clrf SEQ_GP_LED0, BANKED clrf SEQ_GP_LED1, BANKED ;; menu select LED overlays everything SET_BSR P8_BASE BIFSET PROJECT8_MODE, PROJECT8_MODE_MENU1, BANKED, rgoto PROJECT8_Menu1_LED SET_BSR SEQ_BASE
  7. I think what it means is that you should make any decisions reguarding your midibox with the proper consideration for the people who made it possible for you to build it ;) Check through the sale request forum and a couple other threads like this, TK's intentions are fairly clear on the subject.
  8. Case in point: I spent about 2 hours last night doing detail work on the 808 (hopefully burn the PIC tonight and see if we get some beats!) and by the time I finished I could feel 2 small ulcers: one on my cheek and the other on the tip of my tounge. I've been limiting the soldering to an hour at a time but I decided to take the chance... dah well One thing that helps is to syncronize your breathing so that you exhale while you solder each lead thereby blowing most of the fumes away from you. It makes a difference, but you still need a good ventilation setup if your going to solder regularly. I've got the feeling that it's more than mildly acidic. The fumes anyway.
  9. Hmph. I would strongly reccomend getting some ventilation where you solder. A couple times when working on various projects which required days of soldering to complete I would end up with *really* sensitive gums and an ulcer inside my mouth. Led fumes are not the type of thing to take lightly, same goes for rosin flux.
  10. OH MAN! I've got great hope to see some multi-colored variants of those! I had a nice long talk with a guy from crystalfontz and he said there isn't a technical reason why they can't be colored, it's just a matter of development and demand. OOOOOH blue would be sexy!
  11. I've been in this situation countless times. It's *always* been a simple mistake I made that was hard to spot because I was too close to the project. Take a break for a couple days and then start again from the beginning.
  12. I looked high and low for orignal style components, all I found is what chipsforbrains has on ebay and what is available at vintageplanet. Unfortunatly the knobs are not amoung the available parts. Keep a close eye out and you will see people who somehow had a few spares on the shelf somewhere, however, givin their scaricity I've always yeilded to someone with an actual 808 who wanted to do cosmetic repairs.
  13. Definatly true, but expiriment with the offset pin to add some extra clipping into the signal for a gritty sound. Still won't sound like the old style RM's tho.
  14. Hmm. I would replace the 7805 I guess, but I don't feel confident that is the problem. If your core is sending messages I would think that it's not *dead*, although it is certianly possible if you burned yourself on it. All I can really reccomend is to double back and check *everything*. *three times*. Literally get out every peice of documentaion about the core and check that you've got it correct. It's a good idea to disconnect any other modules while testing if you havn't already. I would reccomend a heatsink as well. ;)
  15. I would generally agree about the loss of velocity control, and I had to think long and hard about it before deciding to stick with the original design as opposed to Sebastians modification that included the AOUT for velocity. What made the deal for me was two things: I'm really a purist when it comes to these classic machines (808, 909, 303, SH series, Mini, etc), when I listen to the tracks that feature them I'm always hard pressed to say that they are missing *anything*. Second, I knew from the start that I wanted to go out of my way to make this very mod friendly, as such keep in mind that the onboard core (along with all other midibox circuits) are *identical* to their SmashTV counterparts, and therefore you've got all the same options open to you. This way I can procede with my layout and still allow people alot of latitude to get their favorite features included. There will certianly be plenty of space available for extra PCB's and wiring ;D Actually, now that I say that I think there is a jumper or two missing on the core.. which will be fixed on the final version :) I know I included the jumpers for the AOUT module and the USB module. EDIT: got a photobucket account, and here are some more pics:
  16. .. ? Whaddya mean by that? In most cases I believe people have been using a DC wallwart power transformer to power their core. And, yes, be careful touching those regulators! They can get *very* hot. Search around a bit and you can find pics people have posted of their fingers with the regulators datecode and part number burnt into them! Ouch! It sounds like you've got a very wrong voltage going to the core, it should get warm at best, and if it's hot you need to remove it from the socket and test that it's getting only 5v, no higher. If something is wrong there start troubleshooting the PSU section peice by peice.
  17. Yes, MIDI-wise the SEQ works just like the regular app. Internally there will only be accent tho, there just isn't enough PCB space to fit the AOUT circuitry. 11"x16" (not sure what that is in metric ???) And if it looks like there is space to spare on the board I assure you it is an illusion! ;D It was a bit of trouble to cram it all in as it was, notice however that along one side there is space for 6 pots and 3 switches to control the fx board or for DIY mods to the circuits.
  18. The barebones board was something like 120$, and if the estimates for the final PCB from 4pcb.com are correct each PCB will be < $100 each in quantities of 10. Got three more trays off camera ;) I'll prolly order another 3 trays too ;D It's a shame they don't have 10k Linear available, the mounting legs are smaller than your normal pot and are spaced to snap into regular stripboard, they would make nice parts for people using AIN boards for their midiboxes. I wish it were mine, I'm borrowing it from the office (nice perk of being a techy :)) It's a Rebel XT digital, with the 400$ lense. Good stuff!
  19. Ran out of stuff to do until the last few parts arrive tonight, so I decided to break in the new office camera (Cannon EOS digital! Woo Hoo!) and get some better pictures of what my workbench looks like. Took about 20 pics, but flickr will only let me upload 6 at a time, so here you can see come detail shots of the PCB's http://www.flickr.com/photos/66658750@N00/
  20. I'm glad to see some people thinking about onboard compression! That's real high on my list of alternate effects to consider, as I totally agree with the comments made so far. One of the things I've been considering is adding RogerFoot's PicoComp as a module to the design, it will fit nicely into the case and is a real nice compressor. Some "lofi" FET compressors could be real interesting as well. Yea, price has been a constant concern, even worse when you consider that I'm using lighted switches for the SEQ! However, I'm confident that my layout along with the parts I'm using makes for an affordable option, the price of the pots I've got makes a big difference. I got real lucky and found a large lot of the most common sizes of pot we need for .45 cents each. Good quality Alps RK09L's too. Same with the opamps and transistors, the average price on the JRC4558's I've got is under .25 cents each and the trannies are averaging .15 cents. All added together and I think you can build the entire thing for about the same cost as doing a full set of Sebastion's boards, assuming you bought a case for it :) However... I just found that one of my large lots of 2SC945's is of suspicious quality.. I'm not going to send them out to people and will need to order a few hundred more from somewhere.
  21. I think it was the AnalogSystems modular patch system that used the AD75019 to do the job. There are compliactions with using something like this for patch storage on a modular, as Dr. Moog said: it's the knob positions more than the routing that determine the sound, so you wold have to build your modules specificaly to have *everything* wired for CV. Still tho, it would be a key peice in any modular system! I can't remember the exact part number, but I think it's the AD8113 which is a *fully buffered* 16x16 switch, as opposed to the 75019, which would require external buffers to connect multiple sources to the same destination without tying them all together. I've got a tube of the 75019's specificaly for creating a programmable, patchable synth based on the OB-1. However, having some expirience with the 808 project I can say that finishing something like that is a looong term thing. Starting with a simple MIDI controlled routing module seems a good place to start, and I've def. got the Eagle skills to do the layout and the equipment to run tests on a prototype for noise and crosstalk. Sounds like a fun project for spring/summer this year :) The real fun comes in adapting a single module to play multiple roles for an input summer block, channel fader block and buss/aux routing block. Hey! Here is cool chip to research, firewire or USB controllers that can be used to transfer audio to and from a PC! (I know, I know, it's not MIDI.. but it could do MIDI too! :D) ... I hope your kidding >:( >:( ;)
  22. http://rubidium.dyndns.org/cgi-bin/mailman/listinfo/fpga-synth I'd love to see some more people pic up an FPGA to deedle with. I'm itching to dive into the one I've got when the 808's off the ground. I would generaly agree that porting MIOS to another uC would only be interesting.. I would not suspect it would be anything too exciting until we're dealing with a processor capable of generating polyphonic sound or processing audio at a decent rate. Until then all that would be achieved is increasing the number of unused cycles in each application. More RAM is always a good thing tho, but we've already got that with the latest PIC. On a side note: TK, what are you using to burn your 4620's? Has the PIC burner been tested to be compatible? Should I do that? I'm tempted to just buy a burner from microchip to bypass any headaches.. but that's not very DIY.. and who says there won't be headaches with commercial units? Back on topic there are dozens of specialized chips like the propeller out there, and so far people seem to have a good track record of making them into interesting projects. One thing that I've been thinking of is creating a MIOS driver for AD's crosspoint switches in preperation of a Midibox audio mixer ala 02R. THAT would be cool ;)
  23. Yea, the cost of doing a full kit for people was really outrageos! To be honest tho, I was relieved to see that it was way more than anybody would want to pay so that I didn't have to consider doing all the extra work required for a full kit. I'd much rather just provide the barebones stuff and let people benefit from the large amounts of parts I buy so that we don't all have to go through a wild goose chase to complete the parts list. I'll be posting the eagle files too, so people are free to DIY the whole thing if they want to. It is frustrating that it's taking so long, I definatly didn't have a good idea of everything that is involved in getting such a large design tested properly when I was thinking I could have it done by the end of summer. I've probably still got a couple weeks left of waiting for some parts needed to finish the final (hopefully) test board, but so far the build has gone well.. except a mistake with the silkscreen has all the transistors in backwards... I'm busy desoldering now ;) these are the kind of things that take the most time tho, I've had to really stop and do everything step by step so that I won't overlook things because I'm so familiar with the layout and the circuits, kind of like when you try to proof read something you've just writtin, your bound to miss alot of stuff. Needless to say I've got several checklists that are pages long that get into every detail I can think of, right down to the exact dimensions for each part and several variants available at mouser that can all fit in a similar PCB footprint in case something is out of stock. And there are so many details that I didn't even consider at first which ended up taking alot of time to get sorted out. I think it took a week and a half to determine the right size of PCB standoff to use! Working full time has been a double edged sword, too. I've now got plenty of money to buy extra parts and different parts so that I can get a first hand look at the differences between them, but I just don't have 6 hours a day to spend on doing all the work to get that stuff documented. I already wish I could have taken the time to photograph this latest build, but at this point I'll plan on doing that with the same board that the first people get so everything looks the same (yes, I'll be building another along with the first people, that will make 4.5 808's for me!). I'm trying to put a big emphasis on making this friendly to less expirienced builders, because I'd be a real shame for someone to get 90% of it right, but not be able to get a nice finished project due to the sheer size and number of components to deal with. Things like using lots of visual cues with packages and keeping as many similar circuits in a similar layout have been a priority (and, damn, have I gotten good with eagle!). There are still some areas that are going to be quite crowded, and I think people are going to have a real hard time with them unless they have a real soldering station (I use the 100$ Weller WES-51 with a 1/64" conical tip, Highly reccomended). Then there is the proper cleaning procedeure.. I don't want to imagine what it would take to clean rosin flux off this board! I would highly reccomend using organic flux solder like what comes with MOTM kits, and I'm going to reccomend the same build and cleaning procedeure that Paul does for his kits. As far as the added effects, I'm definatly still going to make a daughterboard which can make use of the 6 additional pots that are mounted on the main board. People will be free to use these for modifications as well, and there are at least 3 unused opamps on board. I was originally all die hard about using the SEM's filter along with an AD633 ringmod with an envelope follower to provide modulation, but lately I've been thinking that the MS-20 might be a better candidate for the filter (perhaps I've just been listining to too much aphex twin.. can that be a bad thing?). In either case I want to wait untill people have finished units in hand to get some feedback on what would make the best use of available space. Anyways, back to the bench with me! Oh, yea.. can someone reccomend a good digital camera for me? Something under $300 that can take nice closeups of a PCB or a component?
  24. I'm not with all my files at the moment, but I'm pretty sure this is in most of the zip files for each application. In fact, I'm pretty sure it comes with the seq's .zip. I couldn't find it in a quick search, so I've attached it here. Just change the extension to .pl hex2syx.txt
×
×
  • Create New...