Jump to content

Wilba

Frequent Writer
  • Posts

    3,310
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by Wilba

  1. To explain a bit more...

    The cap behind the 9v rectifier on the "optimised" PSU is 25v for the same reason as I said before, the peaks are higher than 9v, and there's some rule of thumb that says double that voltage and make sure the cap is rated for that, so use 25v instead of 16v cap.

    The B80C1500 can handle 1500 milliamps, the B40C800 only 800 milliamps. Each SID will draw at most 40 milliamps of this (through its Vdd pin), so either is fine even up to eight SIDs.

  2. Are you're talking about C9 on the SID module schematic?

    If you're using the "optimized" power supply that uses a C64 PSU and adds 9v and 5v together to get 14v DC, then yes, you would only need a 16v capacitor. FYI, you also would not need the rectifiers (X1) if using the "optimized" power supply, but you would have to add two bridges (it's pretty obvious where!).

    I can't see any voltage rating on C9 in the schematic, and the quick view PCB shows it as only 1000uF/25v not 2200uF.... hmm... anyway, the rating of 25v is because if you supplied it with 15v AC, the peaks would be higher than 16v. If you're using 14v DC, then 16v caps are fine.

  3. It's simple, but as I was saying, a dead end if you want to do more than four encoders, or gain some knowledge to use later for other, bigger projects.

    My comment about parallel ports sucking was more to do with XP getting in the way and the fact that some parallel ports are output only (maybe things have got better since the last time I did hardware using the parallel port).

    But th0mas is right, I must admit, it is a pretty simple solution and would work just as well...

  4. My suggestion would be to use a PIC with a UART, one of the simple ones, or even a PIC18F452... and a USB to serial converter module like this:

    4d_microusb2.jpg

    http://www.dontronics.com/micro-usb.html

    which you can use to power the device also.

    But that's a suggestion if you specifically don't want a MIDIbox solution... for a one-off-not-going-to-sell-it project, I would suggest you use a MIDIbox, and get all the encoder handling and MIDI message code already done... just use the MIDIbox-to-COM interface (and not waste a MIDI port).

    You could do it with a parallel port, but it would be a lot of old school stuff, I've done that ages ago with an EPROM burner project and you'll be limited to eight bits of input (i.e. four encoders) unless you add some multiplexing (i.e. more chips) or a microcontroller, so you might as well put one smart chip in the box from the start and be able to handle more knobs, buttons, etc.

    So there's your choices I reckon... come away with useful knowledge in writing assembler for microcontrollers, doing it all yourself on a PIC, making a PIC burner, writing code for a device driver converting it to a virtual MIDI port, etc. OR come away with useful knowledge in making a MIDIbox and a bit of assember. I wouldn't waste time learning the hard way that parallel ports suck and are good for printers and PIC burners and not much else  ;)

  5. I'm sorry to annoy with unimportant in this very interesting conversation about the future of MBSID (I can understand hardly a portion of the conversation, but the understood stuff is very interesting too), but what about playing oldie C64' SID files and even those that run only on SID emulators? Any future open-source app sending the file by MIDI for not needing to using closed-source stuff that only will run on Bill Gates' OS?

    This has already been done... sidplayer_v1b.zip is firmware that uses the same protocol that the SidStation uses to play SID files, so you can use the ASID player (on a PC) to play SID files through your MB-SID setup. While it would be a nice thing to have this protocol in MB-SID v2 (so you don't need to swap firmware), I'd prefer that memory used for synth features.

    On a related topic: TK, could the current sidplayer app route the incoming SysEx messages to the slave PICs (in a 2+ SID setup) and thus play SID files in stereo? I'm suspecting it would be just a one line change, but I'm not able to try it out at the moment.

  6. Jess: I did a lot of checks with the Delay parameter in conjunction with a controlled ADSR reset

    The last algorithm I tried was:

      o on Note On clear the gate and clear ADSR, start the delay counter

      o after the delay has passed (e.g. 33 mS or more), refresh ADS, R remains 0, set gate

      o before the gate is cleared, refresh R as well

    In general this allows to reset the EG, but the delay bug still can happen. Not so frequently anymore, but sometimes. And I've also an explanation for this: if the EG is still in decay phase (sustain level not reached), and we switch into the release phase by clearing the gate bit, the new compare value for the rate counter can be lower than the compare value used during decay phase -> a counter overrun will happen -> 33 mS additional delay

    I've observed that raising the sustain will cause a decay at a rate relative to the decay value. Can this be exploited somehow? Probably not, I but thought I'd mention it anyway.

    If the delay is just totally unavoidable, is it possible to reduce it as much as possible by speeding up the clock to the SID during this period?

  7. If a reset from the reset pin doesn't reset these counters, would it be possible to do a reset by temporarily cutting the Vcc (5v) supply, but leaving the Vdd (9v/12v) supply on? I know this is a drastic measure that would involve hardware changes, but it seems like if you're considering a "hardware reset" by toggling the reset pin and having to send all the registers every gate on, then you're willing to consider something as crazy as this. (I am at least, but I'd prefer a second opinion before pulling the 5v supply from my precious SIDs!)

    Maybe just turning off the Vcc for a millisecond will not cause an audible pop, since the supply to the audio section is uninterrupted. Just a theory based on my limited knowledge of SID internals :-) I know it's not a very elegant solution, and one that would involve wiring a transistor to a spare shift register output perhaps... but maybe some people would think this worth the effort...

  8. Sorry to interrupt the drool fest, but reading Razmo's ideas about eliminating the envelope bug had me thinking... and an idea popped into my head.

    If it's only the decay and release not being zero that causes the bug, can you setup the envelope on the SID to have zero decay and release, and max sustain, and then let the PIC lower the sustain value to emulate the decay and release phases? I'm already aware that you can't raise the sustain value while the oscillator is gated on, but you can lower it...  i.e. you would set the sustain value to max, wait for the attack phase to finish, then lower sustain down to the "real" sustain value, then when the release phase should start, drop sustain down to zero. This would be much like the ENV2->Vol solution, except controlling sustain after the oscillator's attack phase is finished. From memory, I think my experiments with dropping the sustain value didn't suffer the clicking that dropping the volume register produces... plus this idea would have the added advantage of being per oscillator. (You would still need the "no gate off" option, and need it a little smarter, so it does gate off just before the gate on to trigger a new attack phase).

    I'm not able to try some experiments with a wavetable controlling sustain right now, (i.e. I would have preferred to prove the theory before mentioning the idea)... so please excuse me for rambling on if it turns out not to be a feasable idea.

  9. I just had a play with this ENV2->Vol option and it's fantastic! Now I can do things that were just too hard or impossible to do by modulating the volume register with the wavetable. Now you can modulate ENV2 depth (or just sustain) using a wavetable... and the effects are so cool...

    Here's something similar to the Trancegate patch (in Wavetable Sounds Tutorial #2) to use ENV2 depth instead of filter cutoff.

    Enable ENV2->Vol option.

    Assign track 1 of the Wavetable to CC#79 (ENV2 Depth).

    Set ENV2 Depth to 32, Atk 13, Dec 0, Sus 127, Rel 65.

    Adjust the Wavetable Rate to 94 and enter following sequence:


    STEP CMD    #1
    00  Play  +20
    01  Play  -20
    02  Play  +20
    03  Play  -20
    04  Play  +20
    05  Play  +00
    06  Play  +00
    07  Play  -20
    08  Goto  00
    [/code]

    Now you can tweak the filter for your own purposes, and get fading in and out, since you can now use attack and release phases.

    Unfortunately, the combination of leaving the gate on and poly mode doesn't work well... if you play three notes, and then just one, you'll hear two of the notes previously played.

    P.S. I hope for MB-SID v2, it's possible to just add the volume register as a modulation target, so any envelope or LFO can modulate it.

  10. When you want to upload new firmware to your MB-SID slave PICs (see bottom of this page here), you either do it using "the Newbie method" way (put PIC into a core with optocoupler and MIDI In/Out connected to PC, or move optocoupler and MIDI In/Out connections to the slave core) or using "the Expert method" (select the "Don't use feedback from core" option in MIOS Studio, enable MIDI merger with the Link button, and pray it doesn't get corrupted).

    However, you can use the "Expert method" and use feedback from the core if you simply move your MIDI Out cable to the MIDI Out port of the slave. In theory, you could also use this method to upload a new MIOS version, if you're able to reset just the slave after enabling the MIDI merger with the Link button on the master, even using the "Wait for upload request" feature.

  11. [*]the internal WT editor now allows to modify the parameters of a whole track at once, this speeds up the initialisation of a new WT sequence. Just select the position beyond 31 ("All" will be print) and modify the Mod, #1, #2 or #3 column

    This was just a crazy idea I had when I got tired setting a whole track to zeroes. I can't believe you liked it so much you put it in this build! Thanks!

  12. OverClocked ReMix - Unofficial Game Music Arrangement Community

    http://www.ocremix.org

    It was here that I discovered a remixer who obviously likes the Dune computer game soundtrack (aka. the Dune: Spice Opera CD) by Stephane Picq as much as I do:

    http://bart.overclocked.org/

    I might as well also add that I love Dune: Spice Opera and think others here would also...

    Since you cannot buy the Dune: Spice Opera on CD anymore, you can download the MP3s here:

    http://olivier.dri.free.fr/dunedown.php3

    Try "Free Men" first... my favourite.

  13. You can drive two or more LEDs in series, but since we're talking about LEDs being driven from a DOUT, which outputs 5v, the combined voltage drop must be less than 5v. Blue and white LEDs will have a voltage drop of 2.75v or more, so you can't drive two in series with 5v.

    I was just suggesting the more generic solution, but pay_c is right - if possible, put them in series as the current draw is less than if you put them in parallel - i.e. you can drive two in series for the same current as just one... view it as exploiting the fact that you've got 5v x 20mA to work with.

×
×
  • Create New...