Jump to content

The bankstick...What am I doing wrong?


baconjuice
 Share

Recommended Posts

Hello again everybody,

I've been beating my head over this one for a few days now and hope you guys can help. I built my bankstick and plugged it into the core module. The core then formats it with, seemingly, no problems. I use midiox to upload v2_vintage_bank.syx with the 750ms delay and that seems to work, at least no errors are reported. Still however, I'm not getting patches. When I plug in the bankstick, I get a "beep" confirming it was plugged in, but the only patch I can play is the default one. I tried using MIOS studio to change patches but that doesn't work either. Is there a step that I am missing?

I saw this line in changelog.txt inside of the midibox sid software package:

"temporary disabled BankStick routines, so that MBSIDV1 patches won't be overwritten"

is this correct or is the document just out of date?

Thanks!

Link to comment
Share on other sites

Alright, maybe I should be more clear as to what my problem is....

So far, I have checked all of my soldering, all of my connections, and traced the wiring of the bankstick. Everything there looks good so far. I even hooked up a scope to the signal lines for the bankstick and sent the vintage_bank.syx file and sure enough, signal. Still however, I cannot access the patches on the bankstick only the internal patch.

The setup I'm working on consists of one core, one sid, and an lcd. When I power things up the lcd reads:

MIDIbox SID V2.0RC12

CS not enabled!

When I plug in the bankstick I get the confirmation "beep" but no sign that we are reading from it. So there must be something I'm missing. Is there a way to read from the bankstick with MIOS Studio? Also, at some point I saw a thread with commands for reformatting the bankstick but I can't seem to find it again. Anyone happen to know how to do this?

Thanks everyone for the help.

Link to comment
Share on other sites

Hi,

yes, BankStick support was only temporary disabled, and yes it is possible to read out the BankStick, see http://www.ucapps.de/mios/mios_backup.txt (no special support from MIOS Studio).

However, I think that the issue is related to the MIOS Device ID of your core. Because the "CS not enabled!" message (thanks for listing this important detail!) indicates, that the firmware is running on a slave (-> device ID != 0x00)

Is this correct?

Only the master reacts on program changes, and thereafter sends the patch to the slaves which are assigned to the appr. MIDI channel.

In other words: connecting a BankStick to a slave doesn't make much sense...

Best Regards, Thorsten.

Link to comment
Share on other sites

TK....YOU RULE!

That must be the problem. When I ordered my pic I got it with a syx device ID of 0x01 not understanding that the device would be seen as a slave because of this.  :-[ My bad.

I can change this using change_id_v1_9c correct? I will give it try.

Thank you so much for the help. This was driving me crazy. :)

Link to comment
Share on other sites

So I finally got a chance to work on this. Changing the device id to the proper one was really simple and now things work more as expected. :) Thanks TK for making it so easy!

My bankstick is still not working properly though. I was able to upload the patches but when I try to switch patches, using the keyboard in MIOS Studio, they are not there. The LCD shows <empty>. Also, once I get to about patch 64 the lcd shows <no bankstick>.  I wonder if the eeprom was formatted strangely because my core was configured as a slave (device ID != 0x00). I have some new eeproms coming in today from Mouser so I will give things a try using a new chip and see how it goes.

Thanks again for all the help.

Link to comment
Share on other sites

Thats a strange behaviour, which EEPROM are you using exactly?

E.g., I would expect that for the case you are using a 24LC256 (32k) type, the message "<only 32k BS>" would appear on LCD when a patch >64 is selected.

For BankStick #1 (Bank A) it's important that all chip select lines (pin 1, 2 and 3) are connected to ground.

The write protection (pin #7) has to be connected to ground as well.

Best Regards, Thorsten.

Link to comment
Share on other sites

Hello Thorsten,

Well, I finally got a chance to work on this some more and finally achieved success. Sort of...

It turns out the soldering, and the wiring was alright. Fot some reason the data was not being written on the the eeprom (I'm using 24LC256) when uploading with midiox. Data was being sent, and I set the 750ms delay after F7 but for whatever reason my banks always showed up as <empty>. Finally I used Serge's SysEx Loader and this worked although not without errors. Maybe Serge's program isn't completely compatible with the latest MIOS or Sid software? Anyway, I have patches now and most of them work. Some do not work at all, neo zelda for example, it is loaded but no sound comes from the Sid (I'm using 6581). I still see the behavior where after patch 64 the lcd shows <no bankstick>. I thought you could fit 128 patches on a bankstick, even a 32k one?

I'm going to keep playing with midiox to see if I can figure out what gives. If anyone can point me in the right direction I would appreciate it.

Thank you all very much for putting up with my noob questions. You guys ROCK!!!

Link to comment
Share on other sites

Hi,

I'm sure that serge's SysEx loader is not compatible with MBSID V2, I'm surprised that it was more successfull than using MIDI-Ox. Maybe the output buffer size in MIDI-Ox is too small? I'm using a buffer size of 1024 bytes, but maybe your MIDI interface requires at least the size of a single patch dump (patch dump size is 1036 bytes).

2048 should be a save value.

A 24LC256 provides only 32k EEPROM memory, the patch size (don't mix this with SysEx dump size - it's a different coding) of MBSID V2 is 512 bytes, accordingly only 63 patches can be stored (the first patch is located in internal EEPROM).

I just tried to upload the presets into a 24LC256, and noticed following effect: the upper 64 patches will always be stored into the patch A001 position (internal EEPROM) - I would expect that they will be rejected with an error response. Sometimes storing patches into internal EEPROM takes longer than 750 mS, therefore you will sometimes receive MIDI overflow error response.

However, the missing rejection is a minor issue, but it will be fixed with the next release candidate.

I guess that patch A002-A064 have been uploaded correctly?

With a 24LC512 you will be able to upload the whole bank

Best Regards, Thorsten.

Link to comment
Share on other sites

Hello TK,

Sorry I have not had a chance to reply. Thanks for all the info regarding patch sizes, it's exactly what I needed. I got some 24LC512s from Mouser yesterday and stuffed one into my bankstick. I changed the buffer size in Midi-Ox to 2048, set the delay after F7 to 750ms and it uploaded the patches with no problems. Awesome!!!

btw...

My 24LC256 behaved like yours did. So patches A002-A064 were uploaded correctly (even though I used Serge's program to upload them). Oh well, now I understand better what was going on. Now to put together an enclosure and wait for the parts for my second Sid module and Step A control surface. Many, many thanks again TK.

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...