Hi! I’ve got a question about banksticks. I’m checking out the possibility of using 4 permanent banksticks in one midibox. Now I want to know a few things:
Is it possible? (I think so)
Is it usefull or useless?
How can I realise it (with switches, buttons, etc)?
We already have a mechanical switch solution for switching between different banksticks. However, it would be quite elegant to have access to different banks via a software controlled switch, meaning I could switch to a different bank by rotating an encoder, pressing a button or sending some MIDI event to the unit.
Is there a way to implement this using some of the DOUT pins? Can this be done without using additional, external logic? I think if this is to be useful, it would need to be integrated into the MIOS some way…
Thorsten, I don’t want to put pressure on you but would like to ask if this makes sense at all? I was thinking about different banks for the SID.
However, it would be quite elegant to have access to different banks via a software controlled switch, meaning I could switch to a different bank by rotating an encoder, pressing a button or sending some MIDI event to the unit.
I have 10 internal banksticks accessible via a 12 pos rotary switch - works great (thanks lemonhorse!). I also have 16 buttons setup to access the 16 individual banks of everystick, so it works really fast check the mb64sfb txt file for the strings to assign the buttons…
[BUTTONS]
# Special Functions assigned to the first 16 buttons:
# FF 04 0n (n = Bank Number)
# Does: Save Pot Positions in current Bank,
# Jump to Bank n
# Restore Pot Positions from new Bank
# These button assignments are especially usefull if MIDIbox is in Snap
# Mode (soft-takeover), if Motorfaders are connected or if you are
# using the sequencer (select patterns)
1 = FF 04 00 @OnOff
2 = FF 04 01 @OnOff
3 = FF 04 02 @OnOff
4 = FF 04 03 @OnOff
5 = FF 04 04 @OnOff
6 = FF 04 05 @OnOff
7 = FF 04 06 @OnOff
8 = FF 04 07 @OnOff
9 = FF 04 08 @OnOff
10 = FF 04 09 @OnOff
11 = FF 04 0A @OnOff
12 = FF 04 0B @OnOff
13 = FF 04 0C @OnOff
14 = FF 04 0D @OnOff
15 = FF 04 0E @OnOff
16 = FF 04 0F @OnOff
Well, I’m already working on the schematics of a “bankselector”. With 1 button you can select 1 of the 4 banksticks. It’s quite simple to realize with a counter (for example IC 74Hc273). The only thing that’s a problem is dendering; At het release of the button, the contact makes another pulse and the counter jumps 2 banksticks forward instead of 1.
all this is very nice, but I think I did not make myself very clear.
d2k: it is a mechanical solution. Just like you can select the 16 banks of each stick, I’d like to access each stick with such a command.
drDRM: it is a semi-mechanical solution. The point is not to use a button instead of a knob, but to access various sticks through the OS - therefore the example of changing the stick via a MIDI command. This calls for integration into the OS. Therefore I think the question goes directly to Thorsten, as he is the one “in charge” of MIOS.
this isn’t an OS specific job, but just an option which could be added to any application. The 24LC256 types made by Microchip offer 3 additional CSx inputs which could be used to select the EEPROM. There are two ways to use these signals, the easiest would be to connect every single CS0 to a free DOUT, and the other 2 pins to ground. The DOUT can be controlled from the application with the MIOS_DOUT_PinSet function, and this function could be triggered by a MIDI event (see *_mproc.inc)
Thats an easy one, I got a schematic just in front of me using two flipflops (or 2 NANDs). You just need a trigger with *both* open and closed contact.
Hold on, I´ll try to paint it shortly. (dont laugh!!! ;D )
Well, I can’t make much out of your description, but if you’re so kind to mail me your drawing, I would be pleased. I’ll mail my adress to your forum-messenger.
This is an idea for a bankstick selector. instead of the banksticks I used buzzers as a test (The schematic is made with Multisim, there’s no memory IC present in it’s library). I don’t know yet if it realy works, I’m going to test is on my breadboard.
The switch that is used has to be a momentary switch.
If someone’s got other (better) ideas, I like to know it.
it seems that your simulation tool doesn’t warn you that the transistors will be destroyed in this way. A direct connection from a logic IC output to the base pin leads to a high current which will fry the pn-junction. A serial resistor (1k or more) should help to reduce this current.
Alternative solution: if you are using the Microchip EEPROMs (24LC256), you could use the A0 pin (Pin #1) to select the chip. This pin is wired to ground by default, if you connect it to +5V, the chip will not respond to incoming messages and is therefore disabled. So just implement a logic which selects only one chip (A0=0V), and disables all other chips (A0=5V).
it seems that your simulation tool doesn’t warn you that the transistors will be destroyed in this way. A direct connection from a logic IC output to the base pin leads to a high current which will fry the pn-junction. A serial resistor (1k or more) should help to reduce this current.
Oooops!! You’re absolutely right! That’s not very smart of me. I’ll modify my schematics.
I’m not escpecially using the Microchip EEPROMs (24LC256), but i’ll check out your sugestion.
Well, as you can see, I’ve put some resistors at het basis of the transistors. This is the basic schematic; The idea of Thorsten to put logic gates will be implemented soon!
If someones has sugestionsor remarks, please let me know!
Well, I’ve just put a ic 4009 (invertor) in the schematic instead of the transistors. The only thing I’m not sure about is whether pin 16 (Vdd) has to be connected or not. Maybe someone knows?
1 remark: the 24256 in the picture has to be a 24LC256; I made a mistake in the naming of pin 5 and 6. Only the names are switched, the connection is correct.