Jump to content

interesting instruments


matoz
 Share

Recommended Posts

@matoz - glad you found them interesting!

The GrooveAxe is pretty cool - it's a PICaxe drum machine by grandtippler, although I did the pcb layout.

The German Gaming mag 'Gee' is doing a story on the SIDStick - I'm looking forward to that. I also put the SIDcog core on El Jugador, a game console I did - giant bomb loved it and did a little video.

The NoiseAxe is tough - I like playing with it, but it's hard making pleasing sounds with it. grandtippler also designed that with a PICaxe 08m.

For SIDcog, I want to do a fun little mini-synth. Johannes' code is set up to do it easily, but the hardest part is the UI. It's tough trying to design a UI that will let the average user make pleasing music but still be inexpensive and flexible.

Link to comment
Share on other sites

  • 2 years later...

Hi all! Long time reader, first time poster.

I know this topic had been laying dead since 2010 (I know, I know, I'm digging up the bones of the dead horse to kick it once again), but I felt I would post on it anyway, given that it is in line with what I am trying to do.

First, to Wilba's statement, and I do quote:

"Maybe someone can wrap up that SIDcog core into a SID-pin-compatible package like SwinSID. Someone with more time than I have."

It is possible, given the nature of the device, to do just that. The problem lays in two directions:

1)VDD- The maximum voltage you can put on a Propeller's pins is 3.3v. This means that VDD has to be dropped down to that level: Not a problem for new designs, but as a direct replacement, one would have to figure out how to compensate for the Sid's original dual voltage design (In other words, don't try to plug it into your C64). Also, because the pins are only tolerant to 3.3v, any input from other devices has to be dropped down in order to keep from frying the device (I'm thinking pulldown resistors at this point). The good news is, no more dealing with Dual power supplies: the power dropdown for the MBSID applications can be dropped down at the chip using a 3.3 Voltage regulator to supply the supply voltage to the chip.

2) The Propeller is a 40 pin device, 32 of those pins are assignable. Given a Stereo output and a mono input, that leaves 29 pins to play with. Doing the math for a basic 1 SID application, one would need 16 of those 29 pins to interface with the core module on a MIDIbox Sid device: 1 Reset, 1 clock, 1 CS, 5 Address Pins, and 8 Data pins (Do I have that right? I'm going off memory): VDD and Ground are not a part of those assignable pins. This leaves 13 pins to play around with. Oh, and the SIDCog, as per it's name, only runs in one of the Cogs (Prop 32 bit cores are called Cogs, for those not in the know) on the device: The Prop has 8.

So what I am thinking, and what I am planning to test once I have the firmware settled to that point, is using the prop to simulate a full compliment of 8 SIDs controlled by 4 Core Modules. Why? Because I'm a bit of a mad scientist, And the old lady is not gonna let me buy a full compliment of SIDs on Ebay for $200 US, especially when I can build a very decent simulation of those chips for around $10.

Oh, and because it makes me feel like I'm playing GAWD!!!

That was meladramatic...

Anyway, I am hoping to compile and test the Firmware for the 8Sid Simulator tonight.

I had read on the SwinSID topic that the MultiSID application can control the 2 virtual SIDS in the SwinSID via two additional address lines set to Binary on the SwinSID, is this accurate TK? And if so, would the same apply to this project, basically adding 4 additional address lines to address the SIDS Individually, in groups, or all at the same time using common Data lines? If so, this could be a great boon to the project, as I would only have to assign 1 pin on the Prop for each additional core.

Looking forward to hearing from you all, and thanks!

Link to comment
Share on other sites

Hi,

I had read on the SwinSID topic that the MultiSID application can control the 2 virtual SIDS in the SwinSID via two additional address lines set to Binary on the SwinSID, is this accurate TK?

Not completely: data, address and control lines coming from the serial shift registers are shared, only the chip select line has to be connected separately so that both SIDs can get different data.

And if so, would the same apply to this project, basically adding 4 additional address lines to address the SIDS Individually, in groups, or all at the same time using common Data lines?

No, this isn't possible since only a single stereo engine can run on a PIC, and since two PICs can't share the same bus (such an approach would have a massive performance impact)

Best Regards, Thorsten.

Link to comment
Share on other sites

Well, Hello TK!

Not completely: data, address and control lines coming from the serial shift registers are shared, only the chip select line has to be connected separately so that both SIDs can get different data...

No, this isn't possible since only a single stereo engine can run on a PIC, and since two PICs can't share the same bus (such an approach would have a massive performance impact)

Yes, i see the logic in this... So really, with a StereoSID example, given the hardware, one could merely build an extra Chip Select line into the device?

And if we were looking at multiple PICs, each would have to have it's own dedicated Data, address, and control lines as well leading into the device?

Starting to Grokk this more... I really need to reread the SID datasheet.

My other question was this: Since the Data, address and control lines are sharing the same line, divided by the shift registers, would it be possible to consolidate all of these into one pin on the Prop, basically adapting the firmware to decode the Serial signal as it comes in? I know you're not an expert on the device in question, simply wish to know if the theory was sound. I had thought about doing it this way, might experiment with that as well.

Cheers!

DB

Link to comment
Share on other sites

Yes, i see the logic in this... So really, with a StereoSID example, given the hardware, one could merely build an extra Chip Select line into the device?

under the given pin constraints (parallel interface, most pins allocated): yes - but see also my answer on the serial interface approach below.

And if we were looking at multiple PICs, each would have to have it's own dedicated Data, address, and control lines as well leading into the device?

with a parallel interface: yes

My other question was this: Since the Data, address and control lines are sharing the same line, divided by the shift registers, would it be possible to consolidate all of these into one pin on the Prop, basically adapting the firmware to decode the Serial signal as it comes in? I know you're not an expert on the device in question, simply wish to know if the theory was sound. I had thought about doing it this way, might experiment with that as well.

interfacing the chip via the already existing serial interface sounds like a good plan!

In this case, mulitple PICs could transfer data to the the chip independent from each other. And no 74HC595 shift registers would be required.

The serial clock is ca. 10 MHz, this means that the "cog" would have to sample the data inputs at least with 20 MHz (better: 40 MHz)

Best Regards, Thorsten.

Link to comment
Share on other sites

interfacing the chip via the already existing serial interface sounds like a good plan!

In this case, mulitple PICs could transfer data to the the chip independent from each other. And no 74HC595 shift registers would be required.

The serial clock is ca. 10 MHz, this means that the "cog" would have to sample the data inputs at least with 20 MHz (better: 40 MHz)

Excellent! I'll start cracking the code then.

Basically, the way I see it, it would be essentially the same code as would be used to decode an 74hc165, I think. Basically we convince the Prop that the Data line is itself a pair of parallel in shift registers. The code would then be handled internally.

And considering that the Prop spins (Get it? Spins!) at 80 MHz, I should be fine, though I would have to check the Prop Datasheet again (All 400 pages of it). Unfortunately, the code that I just found for it on the object exchange looks like it itself takes up a cog, so the maximum number of Cogs dedicated to Sims would have to be 6, if my math is right. Then again, I wonder, since we are obviously not trying to actually duplicate the actual SID here, if I can just program each cog with 6 oscillators... this would drop the number of cogs (on a fully loaded MBSID) to 4, and still retain the 24 Oscillators that would be available on 8 SIDs... basically, program each cog to emulate 2 SIDs instead of one.

I am also looking to bypass the Filtering issues that Nils detected with the SIDcog initially by dedicating pins to filtering- Basically, 2 in and outs which are connected together by caps. Given the theory about the Serial thing, I might just have enough pins to do a set for each SIDcog, too.

And considering they just canned me from work, well, I have plenty of free time on my hands...

Cheers!

DB

Edited by Shadoclaw
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...