User Tools

Site Tools


midibox_sid_faq

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
midibox_sid_faq [2006/10/15 09:35]
127.0.0.1 (old revision restored)
midibox_sid_faq [2011/11/18 12:04] (current)
lpdunwell removed spam
Line 1: Line 1:
 **MIDIbox SID FAQ** **MIDIbox SID FAQ**
  
-===== Do I need the big and expensive control surface to get some sound out of my SID? ===== 
  
-No, you can control all sound parameters of your MIDIbox SID from a computer, with some ergonomic limitations also from a common MIDI controllerHowever, the dedicated control surface is the optimum solution to control the SID.+FIXME  FAQ is outdatedmany details are not matching anymore ​with the current [[http://​www.ucapps.de/​midibox_sid_manual.html|MIDIbox ​SID V2]] implementation
  
  
-===== Do I need a PIC18F452 for my SID or can I reuse my old PIC16F877? =====+===== Do I need the most elaborate control surface to get some sound out of my SID? =====
  
-Both microcontrollers are supported, but the control surface ​runs only with a PIC18F452. However, a new PIC18F452 (ca. US $10) doesn'​t cost much more than PIC16F877 ​(ca. US $9). Note also that the development of the PIC16F based firmware ​has been stopped since V1.5 due to the memory and performance ​limitations.+No. Although ​the dedicated ​control surface ​is the optimum solution to control the SIDyou can control all sound parameters of your MIDIbox SID from computer or from common MIDI controller ​(although ​the MIDI controller option ​has some ergonomic ​limitations).
  
 +===== Which PIC is required? =====
 +
 +MIDIbox SID 2.0 requires a PIC18F4685.
 +
 +MIDIbox SID 1.x required a PIC18F452 for the master and control surface, while the "​slave"​ modules could (optionally) work with the much older PIC16F877.
  
 ===== Where can I purchase a SID (6581 or 8580)? ===== ===== Where can I purchase a SID (6581 or 8580)? =====
  
-Unfortunately the SID has been discontinued, but you can cannibalize it from any C64. If you don't already own a C64 homecomputer, ​you will possibly find one on the fleamarket or at [[http://​www.ebay.com|EBay]] for some bucks :-) Note that the power supply unit of the C64 can also be reused for the SID, since two different voltages are required (5V/12V for 6581, 5V/9V for 8580).+Unfortunatelythe [[SID]] has been out of production for years, but you can pull one from any Commodore 64 or Commodore 128. If you don't already own a C64 homecomputer,​ the [[http://​www.midibox.org/​forum/​index.php?​board=31.0|"​Fleamarket"​ forum]] is a good place to start looking.
  
-*Addendum:* if you don'​t ​find a C64 or SID at EBay, try it  ​[[http://​www.64andmore.com/​|here:]] or [[http://​www.jschoenfeld.com/​products/​cwmk3_e.htm|here]]+Other places ​you might find Commodore computers ​or SID chips: 
 +  [[http://​www.64andmore.com/​]] 
 +  * [[http://​www.jschoenfeld.com/​products/​cwmk3_e.html]] 
 +  * [[http://​www.ebay.com|eBay]]
  
-===== How can I realize ​a stereo SID synth? =====+===== How can I make a stereo SID synth? =====
  
-Since SID is a mono device, you can achieve stereo only with more than one SID module ​- each of which requires a CORE module. \\  +Since the SID is a mono device; to get stereo output, you need more than one SID module. ​
-Note that [[http://​www.ucapps.de/​midibox_sid_csB.html|Step B]] supports the control of up to 4 SIDs, but every SID still requires a dedicated core.+
  
 +The MIDIbox SID V2 firmware allows you to control up to 4 cores, (with each core capable of controlling two SIDs), allowing you to have up to 8 SID audio channels.
  
 ===== What is the purpose of the Audio Input? ===== ===== What is the purpose of the Audio Input? =====
  
-It allows you to chain SID modules. ​Note that the signal from the Audio Input goes also through the multistate filter!+The Audio Input allows you to chain SID modules ​togetherThe signal from the Audio Input goes through the multistate filter. \\ 
 + 
 +It's also possible to use the Audio Input for '​feedbacking'​ the output. As long as the input is not routed through the filter, (FIL->​EXT flag cleared), this '​feedbacking'​ only results into some distortion. With the FIL->EXT flag enabled, you will experience a more intensive resonance, which is useful for things like bassline sounds. 
 + 
 +Details are explained [[http://​www.midibox.org/​forum/​index.php?​topic=9599.0|here]]
  
 ===== How can I save my sound creations? ===== ===== How can I save my sound creations? =====
  
-If the control surface is enabled, you can save the patch into a BankStick from the SAV menu.+If the control surface is enabled, you can save the patch into a [[BankStick]] from the SAV menu.
  
 You can also request a dump of a patch with <​code>​F0 00 00 7E 46 <​device-number>​ 01 <​patch-number>​ F7</​code>​ the returned data can be sent to the MIDIbox SID again in order to reconstruct the sound. The JSynthLib editor comes with an librarian which simplifies the data exchange and which allows you to manage the patches which has been stored on a [[http://​www.ucapps.de/​mbhp_bankstick.html|BankStick]]. You can also request a dump of a patch with <​code>​F0 00 00 7E 46 <​device-number>​ 01 <​patch-number>​ F7</​code>​ the returned data can be sent to the MIDIbox SID again in order to reconstruct the sound. The JSynthLib editor comes with an librarian which simplifies the data exchange and which allows you to manage the patches which has been stored on a [[http://​www.ucapps.de/​mbhp_bankstick.html|BankStick]].
Line 48: Line 59:
 ===== Do I need a BankStick to get the MIDIbox SID running? ===== ===== Do I need a BankStick to get the MIDIbox SID running? =====
  
-The BankStick is an optional feature. If no stick is connected, only one patch can be stored into the internal EEPROM+No, the BankStick is an optional feature.
  
-All 128 patch positions are directed to the internal patch.+If no stick is connected, one patch can be stored in the internal EEPROM, and all 128 patch positions are directed to the internal patch.
  
-This is still usefull ​if you manage the sound patches from the JSynthLib librarian and don't need quick access to your favourite sounds.+This is still useful ​if you manage the sound patches from the JSynthLib librarian and don't need quick access to your favourite sounds.
  
  
Line 62: Line 73:
 ===== How does MIDIbox SID cooperate with other MIDIboxes? ===== ===== How does MIDIbox SID cooperate with other MIDIboxes? =====
  
-A MIDIbox can send _F0 00 00 7E 46 <​device-number>​ 0E F7_ which returns all CC parameters. On this way it is possible to refresh the snap values [[MIDIbox64]],​ will adjust the motorfaders of [[MIDIboxMF]] and control the LED rings of [[MIDIbox64E]] - from my point of view the ideal interaction between a MIDI controller box and a synthesizer! :-)+A MIDIbox can send <​code>​_F0 00 00 7E 46 <​device-number>​ 0E F7_</​code> ​which returns all CC parameters. On this way it is possible to refresh the snap values [[MIDIbox64]],​ will adjust the motorfaders of [[MIDIboxMF]] and control the LED rings of [[MIDIbox64E]] - from my point of view the ideal interaction between a MIDI controller box and a synthesizer! :-)
  
  
Line 136: Line 147:
  
  
-===== How to supply power? =====+===== How do I supply power to the MIDIbox SID? =====
  
-Without the C64 PSU it's better to use seperate ​power supplies. One for the SID module (15V/100 mA should be ok), another for the digital modules (7V/500 mA are possibly enough)+The recommended ​power supply ​for MIDIbox ​SID is a Commodore 64 Power Supply.
  
-It can work with a single ​PSU (Thorsten used this configuration at the beginning), but the 7805 of the core will get very hot, especially ​when additional consumers (esp. backlit LCD) are connected.+Without the C64 PSU, it's better to use separate transformers:​ one for the SID module ​(15V/100 mA should be OK), another for the digital modules (7V/500 mA should be sufficient)
 + 
 +Though a single power supply may work, the voltage needs to be high enough to supply the regulator on your SID board. Because ​of the higher input voltage, the 5V (7805) regulators on your CORE module(s) ​will get very hot, especially ​if you are powering a backlit LCD
 + 
 +For powering 2core with 2 sid 8580 with a complete (Step Ccontrol surface a 1A/12V power supply should be sufficient sufficient. you can buy 7805 and 7809 regulator that supports up to 1A and chain them togheter (the PSU connectet to the 7809 and the 7805 connected ​to the 7809 output). 
 + 
 +//(Note that 7800-series voltage regulators typically require an input voltage of 3V above their output voltage)//
  
  
 ===== Will feature X be implemented?​ ===== ===== Will feature X be implemented?​ =====
  
-There are several things to consider before a new feature is implementedWill it be used by a lot of people? Is the hardware really able to do that, will it use up too much memory? Remember, we're only using a PIC here. Also, the MB SID is built in such a way that each editable feature has to have a MIDI CC number. ​And since most of those are already used, you'll need a //Really Good Reason<​sup>​TM</​sup>//​ to use up the remaining ones :) In TK's words:+There are several things to consider before a new feature is implemented
 +  * Will it be used by a lot of people? ​ 
 +  * Is the hardware really able to do that
 +  * Will it use up too much memory? 
 +Remember, we're only using a PIC here.  
 + 
 +Keep in mind that the MIDIbox ​SID is built in such a way that each editable feature has to have a MIDI CC number. ​Since most of the MIDI CC numbers ​are already used, you'll need a //Really Good Reason<​sup>​TM</​sup>//​ to use up the remaining ones :)  
 + 
 +In TK's words:
 //Sounds strange? Here the reason why I'm always very carefully with new features: check the CC list of MIDIbox SID and you will notice that most CC parameters are allocated. Check the content of the SysEx dump (e.g. in the JSynthLib driver) and you will notice that also there most of the memory is allocated (and I already did a lot of tricks).// //Sounds strange? Here the reason why I'm always very carefully with new features: check the CC list of MIDIbox SID and you will notice that most CC parameters are allocated. Check the content of the SysEx dump (e.g. in the JSynthLib driver) and you will notice that also there most of the memory is allocated (and I already did a lot of tricks).//
  
Line 153: Line 178:
  
 Also, using another MIDI channel to make more CC numbers available (again, TK) //​won'​t help, because all parameters have to be stored in the SysEx dump structure, and this is also limited.// Also, using another MIDI channel to make more CC numbers available (again, TK) //​won'​t help, because all parameters have to be stored in the SysEx dump structure, and this is also limited.//
 +
 +===== Can we get better envelopes? ATDTLDTSRTR ;)? =====
 +
 +This would use up more MIDI CC numbers and more memory.
 +See "//​Will feature X be implemented?//"​ above.
  
  
 ===== Can you connect multiple SIDs in parallel to one Core, to get a "​unison"​ kind of sound? ===== ===== Can you connect multiple SIDs in parallel to one Core, to get a "​unison"​ kind of sound? =====
  
-You can - but beware, the SID's oscilators are DCOs, which means they'​ll be pretty much the same, and - in theory - it'll just double the volumeStill, nothing'​s said until you experiment! Try different configurations,​ e.g. just putting the SIDs in parallel, or making output of one go to the audio input of the next one to chain filters. Report on this Wiki!+Yesthis feature is available starting with the MIDIbox ​SID 2.0 
 + 
 +FIXME  Is this next piece still relevant?
  
 As TK says: //you can connect multiple SID modules to one core module, in this case they always listen to the same control data. But the audible effect isn't really so interesting. If you are having two identical SIDs, then the volume will just be doubled (the oscillators are digital and therefore always output exactly the same waveform). As TK says: //you can connect multiple SID modules to one core module, in this case they always listen to the same control data. But the audible effect isn't really so interesting. If you are having two identical SIDs, then the volume will just be doubled (the oscillators are digital and therefore always output exactly the same waveform).
 This option can make sense if you want to switch between 6581 and 8580 because of the different filter characteristics. This option can make sense if you want to switch between 6581 and 8580 because of the different filter characteristics.
 But for really interesting (especially fat) sounds, seperate cores are the best option, so that the SID parameters are modulated independent from each other. The result is much more analog-like(especially when the LFOs are in freerunning mode and the finetune/​portamento/​ENV parameters are slightly different).//​ But for really interesting (especially fat) sounds, seperate cores are the best option, so that the SID parameters are modulated independent from each other. The result is much more analog-like(especially when the LFOs are in freerunning mode and the finetune/​portamento/​ENV parameters are slightly different).//​
- 
- 
-===== Can we get better envelopes? ATDTLDTSRTR ;)? ===== 
- 
-This would use up more MIDI CC numbers, and memory. And you know you should take care with that! 
  
  
Line 208: Line 235:
  
 I'd go with that suggestion :) I'd go with that suggestion :)
- 
  
 ===== How do I make the MB SID sound more phat? ===== ===== How do I make the MB SID sound more phat? =====
Line 215: Line 241:
 Try guitar effects. It's unbelievable what evil a simple fuzz can do to a lead or a nice "​broken"​ chord. Those things are easy to build, most of the stuff Jimi Hendrix played was three transistors ;). Try ring modulators, try phasers. Those two will always suck in digital, get them in analog or make them in analog :) Besides, doesn'​t the back of the C64C look like it's just //made// for a patchbay? Try guitar effects. It's unbelievable what evil a simple fuzz can do to a lead or a nice "​broken"​ chord. Those things are easy to build, most of the stuff Jimi Hendrix played was three transistors ;). Try ring modulators, try phasers. Those two will always suck in digital, get them in analog or make them in analog :) Besides, doesn'​t the back of the C64C look like it's just //made// for a patchbay?
  
 +You can also beef up the sound of SID's filters by routing the SID output back to its input.
  
 ===== Does MIDIbox SID support graphical LCDs? ===== ===== Does MIDIbox SID support graphical LCDs? =====
Line 246: Line 273:
  
  
-===== Why does MIDIbox SID stop playing a note when a patch is changed ===== 
  
-this would lead to many unwanted side effects and wouldn'​t work properly in all cases. A patch change does not only refresh the SID registers, but especially resets the whole sound engine, which is so mighty like soft synth. There are many dependencies between the registers (values which have to be stored and written back after the change), which makes such feature to a mess for a programmer.+===== Why must MIDIbox ​SID stop playing ​note when patch is changed =====
  
-A proper patch change without reset would also require that the whole patch data is transfered to the SID as well as to the sound engine within one update cycle (0.8 mS), this is not possible with the PIC. It's especially not possible to send so much data to the slaves within this short timewindow, since the transfer takes ca. 260 mS.+Changing this behaviour would lead to many unwanted side effects and wouldn'​t work properly in all cases. A patch change not only refreshes the SID registers, but essentially resets the whole sound engine. There are many dependencies between the registers (values which have to be stored and written back after the change), which makes such a feature a mess for a programmer. 
 + 
 +A proper patch change without reset would require that the whole patch is transfered to the SID as well as to the sound engine within one update cycle (0.8 mS), which is not possible with the PIC. It's especially not possible to send so much data to the slaves within this short timewindow, since the transfer takes about 260 ms.
  
  
Line 270: Line 298:
  
 However, just another remark: if the PIC18F4620 wouldn'​t have that f*cked EUSART and CPU bugs, all these issues wouldn'​t exist anymore, because this chip offers twice the flash memory, and much more RAM... the existing firmware could be freely extended without such "50% solutions"​. So, my hope is, that Microchip releases a new chip revision, so that it is possible to make the application perfect without the previously mentioned redesign. However, just another remark: if the PIC18F4620 wouldn'​t have that f*cked EUSART and CPU bugs, all these issues wouldn'​t exist anymore, because this chip offers twice the flash memory, and much more RAM... the existing firmware could be freely extended without such "50% solutions"​. So, my hope is, that Microchip releases a new chip revision, so that it is possible to make the application perfect without the previously mentioned redesign.
 +
 +===== What parts can be left out from the core modules when building a multi SID synth? =====
 +
 +Thanks wilba for the tip, you can remove everything to the left of the regulator including the regulator shown on the multi sid PDF. Remember to bridge the core PCB's where the regulators used to be. I have also heard of swapping the 2200uf cap, and not including the bridge on the cores too but I have not tested it (dcer10). Also remember when you are testing the multi sid that you need to press the link button to hear the extra sids!
 +
 +===== How do I connect the SID-module to the Core-module =====
 +
 +This question has been asked many times in the forum.
 +The pins don't all match name for name, that's the confusing bit! The pins to connect will be in the same position on those 2x5 headers.
 +It should be a 1:1 connection:
 +
 +|Core:​J10| ​  ​SID:​J2|
 +|Vd|         Vc|
 +|Vs|         Vs|
 +|CLK|        CLK|
 +|SC|         --|
 +|MU|         MU|
 +|RC|         RC|
 +|MD|         SC|
 +|SO|         SO|
 +|--|         --|
 +|--|         --|
 +
 +To avoid ground loops, it is recommended to use Vd and Vs from J2 of the Core module instead of J10.
midibox_sid_faq.1160904901.txt.gz · Last modified: 2006/12/01 03:07 (external edit)