Jump to content

d2k

Frequent Writer
  • Posts

    912
  • Joined

  • Last visited

    Never

Everything posted by d2k

  1. Just made this fella and it sounds nice :) am I right in thinking that with the 2 CV inputs on the pcb I can control freq and res from an AOUT module? I have one in me SID - any one intergrated c/v control with SID yet? Cheers Steve! D
  2. is that a sharc dsp eval board? how much it cost ya? I'd love to find a way to hack together an expansion brd for my pulsar2 :P
  3. is that a sharc dsp eval board? how much it cost ya? I'd love to find a way to hack together an expansion brd for my pulsar2 :P
  4. Just insure the banded part of the diode (-) is on top and ull be coo
  5. Well, i think they are cool as is - they are bowl shaped (upside down bowl;p) so I thought if the panel hole was slightly smaller then the base of it - theyd sit flush without fear of popping out... Tru say, u can angle the LED tho - besides, I think with some ultrabright jobs the diffusion shud work quite well ;p Inspired by axels' ye ;) I got the feet from Hammond: Part# 1421T5CL Cheers D
  6. I used letraset safmat paper this time, printed from inkjet. Stuck on to panel (self adheisive), sprayed with inkjet fixitive a few times, then same again with a metal laquer (letting each coat dry of course)... gillesdeshays - I tend to route by method now as i've come to realise pcb design is a art in its self and sometimes autoroute dont crack it ;p U can set up alotta options n so on to make the process somewhat more coherent, but wtf, by the time u done that u mighta aswell routed by hand ;p...
  7. Hey... When i made my 1st mf module I too could only squeeze 6.3V max out of it...change the 1K pot to a 10K and u'll get plenty more juice (think I used 9 on those alps)... Core module will need +5V yes, if you've the psu ckt on board then just feed the power from the wallplug as u've done to the mf board...watch for gnd loops etc tho...on the mf module the +8/9 etc is for the mf ICs and the +5 for the logic ICs... will post a pic soon
  8. Hey Steve... I've also got some of those type of switch, my idea was to use clear rubber feet as a cup substitute - which bein clear allows the associated button led to shine thru - saves panel holes too!
  9. Hey Erik... As I said so far so good...the psu and bankstick circuits are fine...the gate LEDs of the aout module light when a note msg is received so I assume thats workin too (i havnt a ext analog synth/module with c/v in to test (yet ;p)... I'm workin on another variation of this board with the LT1054 chip onbrd  for the +/-12V... I'll send the eagle file as it is now tho if u want... Cheers
  10. The joystick can control any 2 params (tis just 2x 10k pots afterall) - atm I have it handlin cutoff/resonance....
  11. Hey... So far so good :) I've also tried a dc-dc convertor using a LT1054 chip to get the +/-12 required for the aout module - again so far so good :) all from the single c64 psu. I used a circuit as described in the datasheet and added some 78/912 vregs and caps... Best Dan
  12. Hey JobeC I ran ur utility on SidStation_Presets_r1.syx and saw the prompt window fill with all manner of SID info as the conversion took place...however, shudnt there be some kinda output .syx file - or have i missed summin>? Cos atm it just closes the window when it's done and thats it.. Cheers
  13. d2k

    Temporal absence

    ....or a lab! ;)
  14. Hey... Just stumbled across this: http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&category=26206&item=3827564805&rd=1 TC control n lcd ready to go ;)
  15. T, I try to but I'm afraid when it comes to any code it's a case of in 1 ear and out the other with me...always has been and MIOS/assembler is no exception...but hey, least u get one of these joysticks outta it  ;) It worked! Cheers
  16. yes, I can safely say I dont understand any of that - as for any C bidness, again the same ball ache...::) and btw, that snippet of code u posted has thrown me even more - it looks like javascript or summin now (does not tie in with the way the code is written in ur .inc etc...needless to say the build failed ;D
  17. okay, I have no idea about this MIOS shiz... whoever can get this workin gets a one of these joysticks for free...
  18. yes, i imagined it would be possible and u make it sound so easy...but...where to start? ??? Here is the tag: USER_AIN_NotifyChange LC_MF_FaderEvent ;; save the fader number in LC_FADER_NUMBER movwf LC_FADER_NUMBER #if TOUCH_SENSOR_MODE >= 2 ;; in this mode, no value will be sent if touch sensor not active movf LC_FADER_NUMBER, W call MIOS_MF_SuspendGet bz LC_MF_FaderEvent_End #endif ;; store 10-bit LSB value in LC_FADER_POS_L movff MIOS_PARAMETER2, LC_FADER_POS_L ;; store 10-bit MSB value in LC_FADER_POS_H movff MIOS_PARAMETER3, LC_FADER_POS_H ;; shift the values to the right position like descriped in ;; the Logic Control MIDI implementation, chapter 12 ;; 10 bit -> 14 bit (LC_FADER_POS_[LH] << 4) clrc rlf LC_FADER_POS_L, F ; 1 rlf LC_FADER_POS_H, F rlf LC_FADER_POS_L, F ; 2 rlf LC_FADER_POS_H, F rlf LC_FADER_POS_L, F ; 3 rlf LC_FADER_POS_H, F rlf LC_FADER_POS_L, F ; 4 rlf LC_FADER_POS_H, F ;; MIDI MSB: (LC_FADER_POS_H << 1) | LC_FADER_POS_L[7] clrc rlf LC_FADER_POS_H, W IFSET LC_FADER_POS_L, 7, iorlw 0x01 movwf LC_FADER_POS_H ;; MIDI LSB: LC_FADER_POS_L & 0x7f movlw 0x7f andwf LC_FADER_POS_L, F ;; for MIDIbox Link: notify begin of stream call MIOS_MIDI_BeginStream ;; finally send value: E<fader> LSB MSB movf LC_FADER_NUMBER, W andlw 0x0f #if MOTORFADER0_IS_MASTERFADER != 0 skpnz iorlw 0x08 #endif iorlw 0xe0 call MIOS_MIDI_TxBufferPut movf LC_FADER_POS_L, W call MIOS_MIDI_TxBufferPut movf LC_FADER_POS_H, W call MIOS_MIDI_TxBufferPut ;; for MIDIbox Link: notify end of stream call MIOS_MIDI_EndStream LC_MF_FaderEvent_End ;; thats all return ;; -------------------------------------------------------------------------- ;; This function is called by LC_MPROC_Received_Ex when a fader should ;; be moved ;; Input: ;; o fader number in WREG and MIOS_PARAMETER1 ;; o LSB value in MIOS_PARAMETER2 ;; o MSB value in MIOS_PARAMETER3 ;; -------------------------------------------------------------------------- LC_MF_FaderMove ;; save fader number in LC_FADER_NUMBER andlw 0x07 movwf LC_FADER_NUMBER ;; derive 10-bit value from received 14-bit value. Store result in LC_FADER_POS_[LH] movff MIOS_PARAMETER2, LC_FADER_POS_L ; MIDI LSB -> LC_FADER_POS_L movff MIOS_PARAMETER3, LC_FADER_POS_H ; MIDI MSB -> LC_FADER_POS_H ;; LSB = MSB[0] | MIDI LSB btfsc LC_FADER_POS_H, 0 bsf LC_FADER_POS_L, 7 ;; MSB = MIDI MSB >> 1 clrc rrf LC_FADER_POS_H, F ;; 10-bit value = 14-bit value >> 4 clrc rrf LC_FADER_POS_H, F ; 1 rrf LC_FADER_POS_L, F clrc rrf LC_FADER_POS_H, F ; 2 rrf LC_FADER_POS_L, F clrc rrf LC_FADER_POS_H, F ; 3 rrf LC_FADER_POS_L, F clrc rrf LC_FADER_POS_H, F ; 4 rrf LC_FADER_POS_L, F ;; finally move fader movff LC_FADER_POS_L, MIOS_PARAMETER1 movff LC_FADER_POS_H, MIOS_PARAMETER2 movf LC_FADER_NUMBER, W goto MIOS_MF_FaderMove from ain eg 2 I see: USER_AIN_NotifyChange ;; a pot has been moved. ;; Send a MIDI event ;; save pot number in AIN_POT_NUMBER movff MIOS_PARAMETER1, AIN_POT_NUMBER ;; save low-byte of conversion result in AIN_VALUE_L movff MIOS_PARAMETER2, AIN_VALUE_L ;; save high-byte of conversion result in AIN_VALUE_H movff MIOS_PARAMETER3, AIN_VALUE_H ;; prepare pointer 0 for last value entry lfsr FSR0, AIN_VALUE_7BIT_BEGIN movf AIN_POT_NUMBER, W addwf FSR0L, F ;; now we can access the last pot value indirectly via INDF0 ;; prepare pointer 1 for active value entry lfsr FSR1, AIN_ACTIVE_VALUES_BEGIN movf AIN_POT_NUMBER, W addwf FSR1L, F ;; now we can access the active value indirectly via INDF1 ;; important for soft-overtake: save last pot value in AIN_LAST_VALUE ;; so that we can determine the direction (clockwise or counter-clockwise turn?) movff INDF0, AIN_LAST_VALUE ;; the AIN driver delivers a 10-bit result ;; convert it to a 7-bit value and save new result in AIN_VALUE_7BIT ;; the calculation is simple: the 10-bit value has to be divided by 8 ;; the common way for this simple division is to shift the value ;; three times to the right. Every right-shift divides the value by 2 clrc ; value / 2 rrf MIOS_PARAMETER3, F rrf MIOS_PARAMETER2, F clrc ; value / 2 rrf MIOS_PARAMETER3, F rrf MIOS_PARAMETER2, F clrc ; value / 2 rrf MIOS_PARAMETER3, F rrf MIOS_PARAMETER2, W ; copy result to working register (WREG) ;; makes: value / (2*2*2) == value / 8 ;; result is now in WREG, write result to AIN_VALUE_7BIT (INDF0) movwf INDF0 ;; if soft takeover has not been activated, continue behind the ;; handler IFCLR INDF1, 7, rgoto AIN_Cont ; (INDF1 == AIN_VALUE_7BIT[pot_number]) ;; continue of active value == new value movf INDF1, W andlw 0x7f ; (mask out snap bit) xorwf INDF0, W bz AIN_Cont ; values equal? continue! ;; else branch depending on clockwise or counter clockwise turn ;; means: last value <= new value movf AIN_LAST_VALUE, W IFLEQ INDF0, ACCESS, rgoto AIN_CounterClockwise AIN_Clockwise ;; pot has been moved clockwise ;; exit if if new value <= active value movf INDF1, W andlw 0x7f ; (mask out snap bit) IFLEQ INDF0, ACCESS, return ;; exit if active value >= last value IFGEQ AIN_LAST_VALUE, ACCESS, return ;; else continue rgoto AIN_Cont AIN_CounterClockwise ;; pot has been counter clockwise ;; exit if if new value >= active value movf INDF1, W andlw 0x7f ; (mask out snap bit) IFGEQ INDF0, ACCESS, return ;; exit if active value <= last value IFLEQ AIN_LAST_VALUE, ACCESS, return ;; else continue AIN_Cont ;; save 7-bit result in AIN_ACTIVE_VALUE movff INDF0, INDF1 ;; and clear snap bit bcf INDF1, 7 ;; ;; !!!IMPORTANT!!! ;; MIOS functions normaly overwrite the FSR1 pointer, where currently ;; the active value has been saved ;; so don't use INDF1 anymore below (or calculate the correct pointer to the ;; pot entry once more) ;; !!!IMPORTANT!!! ;; ;; now send a MIDI event which contains the new value ;; we read the entry from MIOS_MPROC_EVENT_TABLE ;; this has a big advantage: you can setup the "input" and "output" ;; events at one place! TABLE_ADDR MIOS_MPROC_EVENT_TABLE ; this macro sets the base address movf AIN_POT_NUMBER, W ; add pot offset (number *2) to TABLPTR mullw 2 ; multiplicate with 2, result in PROD[LH] movf PRODL, W addwf TBLPTRL, F ; low-byte movf PRODH, W addwfc TBLPTRH, F ; high-byte (+carry bit on overrun) ;; for MIDIbox Link: notify begin of stream call MIOS_MIDI_BeginStream ;; send first MIDI byte tblrd*+ ; read first byte from table movf TABLAT, W call MIOS_MIDI_TxBufferPut ; and send ;; send the second MIDI byte tblrd*+ ; read second byte from table movf TABLAT, W call MIOS_MIDI_TxBufferPut ; and send ;; send the third MIDI byte movf INDF0, W ; value from 0x00 to 0x7f call MIOS_MIDI_TxBufferPut ;; for MIDIbox Link: notify end of stream call MIOS_MIDI_EndStream ;; request a display update by setting DISPLAY_UPDATE_REQ,0 ;; USER_DISPLAY_Tick polls this flag! bsf DISPLAY_UPDATE_REQ, 0 ;; thats all return END So i have to take some of ain eg 2 and combine with the code in lc_mc.inc right...no other files need touching?
  19. Hey... In my LC i have 2 cores, the 2nd core just handles the master fader (regular pot) and a additonal 16x2 lcd... Is it possible to makes use of another 2 ain inputs (so A1 and A2) on the 2nd core (for a joystick) and have it just send regular CC events over the midi chain? Cheers.
  20. d2k

    Bits for sale >

    dont fear Steve - these are just surplus parts. my mb'ing will still continue of course - just in a more controlled manner ;)
  21. Hey... I have to much stuff and too little time (and knowledge ;p) to make all my MIOS dreams come true - so am letting some bits go... FOR SALE PM or email if u wanna grab nefin :) Cheers Dan
  22. from alltronics.com... http://www.alltronics.com/images/22P010.jpg
  23. no - schaeffer did :)
  24. http://www.okw.co.uk/
×
×
  • Create New...