My take on a "SID 2.0" (hint: it's the filter)
My take on a "SID 2.0" (hint: it's the filter)
GUS ISA-16 was great because it actually provided 44.1 kHz sample rate with 16-bit stereo unlike SoundBlaster that always did some sub-quality stuff with 22 kHz, mono or 8-bit and never the full thing until later.
My take on a "SID 2.0" (hint: it's the filter)
In terms of interfacing parallel 6502 to a microcontroller, I would strongly recommend the MCP23017 I2C GPIO extender. Pretty much all microcontrollers have I2C hardware and that GPIO extender gives you 16 GPIOs for $1.70 in single unit quantities. I used the SPI version of this IC (MCP23S18) in my YM2151 test harness for verifying whether or not sketchy chips that I get from China are really YM2151s or not. Its inputs are 5V tolerant so it also protects the Raspberry Pi that runs the test program from any surges caused by a bad IC (like if maybe the IC is a boost converter or something - much easier to sacrifice a $1.70 part than a RaspberryPi which can be difficult to come by these days).
My take on a "SID 2.0" (hint: it's the filter)
I'll have to give it some thought. I think with a uC involved, I2C is indeed the most efficient way to go on the hardware side. I actually rather like the idea of just having DACs and some logic (no microcontroller) at least if I just go with the filter solution (no Spin) though. I would only need 2-4 channels (depending on if I have a global filter or one for the VERA and YM).
It'll be a bit before I get to this step so I have time to think about it all that. First step has been done-ish, which is to order the DIP adapter board for the SSI2140 filter so I can start breadboarding a Eurorack version so I can see how the filter sounds with my own ears. If I think the sound is a good fit once I have that working, then I can decide where I want to go with the filter board.
Author of Dreamtracker (https://www.dreamtracker.org/)
Check Out My Band: https://music.victimcache.com/
Check Out My Band: https://music.victimcache.com/
My take on a "SID 2.0" (hint: it's the filter)
I2C is way more inefficient and doesn't lend itself to precision timing as SPI admits.
My take on a "SID 2.0" (hint: it's the filter)
On 11/21/2022 at 6:03 AM, neutrino said:
I2C is way more inefficient and doesn't lend itself to precision timing as SPI admits.
If we are talking about setting up filters for a voice to be played on the existing sound hardware, most use cases would not require precision timing. It does mean that playing games with filter envelopes is off the table.
My take on a "SID 2.0" (hint: it's the filter)
I don't know enough about the speed of I2C on the X16 to say one way or another.
My implementation is naive in that I'm not going to be doing any fancy smoothing of values so stairsteps are possible though I don't think in practice that would be a huge deal. Envelopes though are something I would expect folks would want to use.
One can simulate a Low-Pass-Gate by using the same envelope on volume and the filter for example.
In my tracker, I'm not sure how I will handle the filter due to it being paraphonic basically. I could just do an affect that sets it to a value (e.g. Zxx for cutoff like in Impulse Tracker) or have filter slides which would be like envelopes. Or have it mappable to an instrument which can trigger an envelope when used. And that's just for 1 filter. I want one for Vera and FM ideally (but maybe not to keep costs lower, I'm not sure yet).
Anyways point was I don't yet know how what tradeoffs there would be given the above with I2C vs address bus. The SSM2140 DIP module came in this week so I hope to be working on the filter circuit soon! It'll still be a ways before I get to the X16 though.
Author of Dreamtracker (https://www.dreamtracker.org/)
Check Out My Band: https://music.victimcache.com/
Check Out My Band: https://music.victimcache.com/