Jump to content

Only 1 of 4 SIDs have audio out Solved


Guest Thomas_Holley
 Share

Recommended Posts

Guest Thomas_Holley

Yes, I have mios 1.6 and SID 1.6. I am a dunce at programming but with your instruction, I think I correctly loaded  each PIC with it's unique ID mios and SID programs using the perl conversion. It is certainly possible that I got this wrong somehow and the slaves are not programmed correctly to accept the SID instructions from the master. They will each work if I plug them up individually (with no other CORE modules on line) in the master slot, taking SID instructions fine. When I place them back in the slave position I get no SID functioning.

Maybe I should try to do the perl conversion again and reprogam the slaves. Can I also just go through the programs and change the ID manually at every F0?

Thanks for all the help on this.

Thomas

Link to comment
Share on other sites

Yes, you could do this --- but, so long you are using MIOS V1.6, and the slaves are running standalone, this is no software issue, and therefore there is no need for reprogramming the chips.

Next test: connect the MIDI Out of the master module with your PC, start MIDI-Ox, switch to SID 2, 3 or 4 and turn a knob --- you should see some SysEx messages.

Turn-on the Link and play a note with your keyboard: you should see the note in the MIDI-Ox input monitor

If this works, connect the MIDI In of your PC with the MIDI Out of a slave instead. With this configuration you won't see the original SysEx parameters, Notes, CC's anymore, but you should see a SysEx acknowledge message (F0 00 00 7E 46 <device number> 0F F7) every time the slave receives a SysEx parameter which is addressed to him.

This means in other words: when you switch the control surface to SID2, monitor the MIDI Out of the first slave, change a parameter (like Cut-Off), you should see F0 00 00 76 46 01 0F F7 after every parameter change.

Best Regards, Thorsten,

Link to comment
Share on other sites

Guest Thomas_Holley

OK, I hooked up my PC MIDI in to the MIDI out of the SID. I get syx messages and key acknowledgement just as you described. When I turn on the keyboard I get a string of messages "active sensing" and a key on and off message when I kit one. When a SID 2, 3 or 4 is selected the appropriate message is desplayed just as you described.

When I move the MIDI out to a different CORE module I get no messages when I turn knobs or hit a key. I tried them all with and without Link selected. I guess that indicates my signal is not getting passed.

Thanks,

Thomas

Link to comment
Share on other sites

Guest Thomas_Holley

I have done some more checking with my scope. I can trace a MIDI in signal through to the master PIC pin 26 and a corresponding MIDI out on pin 25. This is traced to the MIDI in pin 26 of each slave PIC but there is no MIDI out from pin 25 of any slave. At this point, I have no idea of this makes any difference or not.

Looking at the signals goint to the SID, the signal from PIC pin 22 labeled sc is pretty large multiple signal and is similar in all modules. I looked for differences in signals from the 75HC595 IC's and found the signal on SID 1 module to have a much larger signal (8v as opposed to 0.2v) on pins 4, 5 and 6 of IC2 and IC3 and on pin 15 of IC3. Everything else looked similar and responded to keyboard and knob changes similarly.

Now I have this data but I din't know what to do with it.

Any ideas on what to do next?

Thanks,

Thomas

Link to comment
Share on other sites

Hi,

SC shows more activity since its also used for the DIN/DOUT modules of the control surface. Are you sure that the highlevel is 8V? However, since your master module is working, propably not (it should be 5V)

Ok - your slaves are running, otherwise the SC pin wouldn't toggle.

The slaves don't forward common MIDI events like Note or CC to the MIDI Out - thats normal.

The slaves don't send an acknowledge on incoming SysEx events - this would be the case if the SID device ID doesn't match.

But if the SID device ID is not set properly, you should hear a sound on incoming notes anyhow - the MIDI channel is independent from the SID device ID.

The slaves are running when their MIDI In is directly connected to the MIDI Out of your keyboard.

I'm really confused and have no explanation why your setup doesn't work :-/

Best Regards, Thorsten.

Link to comment
Share on other sites

Guest Thomas_Holley

If there is no acknowledement os syx events when a slave is directly connected to MIDI out maybe I have messed up the device ID. They all work when hooked up alone but not when hooked up in slave position. As ignorant as I am of the programming aspects of the project it is not unlikely that I have done this incorrectly. It wouldn't hurt to go over the programming once again.

Thanks again,

Thomas

Well, I downloaded new mois v1.6 and SID v1.6 and went through each main sysex file and manually changed the device ID and saved the changed file. I reprogrammed the PICs and have no real change in the audio out, I cheched MIDI out on the slaves and if I hook MIDI out to a slave then turn the power on I will get sysex messages with that device ID.

I'm at a loss here. Maybe my keyboard is hosed or something. I am basically grabbing at straws.

Thanks,

Thomas

Link to comment
Share on other sites

I looked for differences in signals from the 75HC595 IC's and found the signal on SID 1 module to have a much larger signal (8v as opposed to 0.2v) on pins 4, 5 and 6 of IC2 and IC3 and on pin 15 of IC3.

This is a total shot in the dark:

Are your boards mounted via metal standoffs?  If that were the cause I would expect that things would not work at all but I don't know about your power supply, and I havent studied the C64 PS mods.

I once repaired a Joust arcade game where through a fluke (bad handling by the game movers plus someone else's failure to put all of the pcb mounting screws back in) the +12v was shorting to different address/select lines on the sound board (that normally run at +5v).  None of the logic was damaged after months of these intermittent shorts, and the game would actually play the wrong sounds, reacting to the 12v like a normal logic level select signal.

Are you definately getting an 8v reading there on the 595's?

Trying to help you grasp at straws.....   ;)

SmashTV

Link to comment
Share on other sites

Guest Thomas_Holley

I changed the J11 wiring from series to parallel so no signal would be lost along the short path, no change. I took the MIDI out signal directly fromJ12 and ran it through J13 optocouplers in slaves, no change.

I have absolutely no idea why I get no SID function from audio out in slave SIDs and I have gone through everything I can think of.

I just got Smash's post while I was writing this. My boards are on aluminum standoffs. I will try changing them to plastic and see what happens. Couldn't hurt.

As far as the 8v reading, I was looking at my scope from an angle, I think my scale was set to 2v/div and I got about a 4 div trace. I could have misread it. I will go back and look at it again in the morning.

Thanks for your help.

Thomas

Link to comment
Share on other sites

I just got Smash's post while I was writing this. My boards are on aluminum standoffs. I will try changing them to plastic and see what happens. Couldn't hurt.

As far as the 8v reading, I was looking at my scope from an angle, I think my scale was set to 2v/div and I got about a 4 div trace. I could have misread it. I will go back and look at it again in the morning.

The standoffs should only be an issue if they are in contact with a pad or trace (possible on some of the boards with the wrong standoffs) and connected to each other (mounted to a metal plate).  The 8v where logic levels should be reminded me instantly of the Joust standoff short and how it still kinda worked.

Also I don't know if the MIDI out of the master could drive all of the slave MIDI ins simply connected in parallel, but it should drive one no problem.

Don't hit it with a hammer yet!  ;)

SmashTV

Link to comment
Share on other sites

Guest Thomas_Holley

Changed standoffs from aluminum to nylon but no change in audio out.

I think a parallel hookup of MIDI in driven from the master MIDI out should be easier to drive, especially through an optocoupler but my theory didn't help.

I think I'll gas up the old chain saw. I just hate to be stumped like this. The signal from the master seems to be going to the slaves OK. I get an audio signal out when the slaves SID is selected, but no SID function. The proper ID is on the PICs and I can see messages being transmitted via MIDI-OX. The SIDs work when hooked up in a master position so they are OK.

I am going to set it asside for awhile and do some Zen contemplation or Voodoo dolls.

Thomas

Link to comment
Share on other sites

So, it this correct: you've ensured that each Core/SID module is working individually?

You can hear a sound when they are in the "master position" - means: than they are directly connected to a keyboard or PC?

If this is true, I could give you some SysEx commands which help to determine the system state.

Best Regards, Thorsten.

Link to comment
Share on other sites

Guest Thomas_Holley

Yes, all CORE/SID modules work as they are supposed to when I put them in the master position. I just can't seem to get them to work otherwise and I am out of ideas.

Thanks,

Thomas

Link to comment
Share on other sites

Ok, here some basic checks - please write down your obervations on every single item:

  • connect the first slave (with MIOS and SID device SID 0x01) directly with your PC:
    PC MIDI Out -> SID Slave 1 MIDI In
    SID Slave 1 MIDI Out -> PC MIDI In
    Start MIDI-Ox and enable the virtual keyboard (Actions->Keyboard).
    Press "Q" on your keyboard to play a Note - do you hear a sound?
  • Restart your slave module (Power Off/On), which Upload Request string is received by MIDI-Ox?
    It should be: F0 00 00 7E 40 01 01 F7 (Slave with Device ID 1)
  • disable the virtual keyboard (uncheck Actions->Keyboard), open the SysEx tool (View->SysEx) and type following SysEx strings into the Command window:
    f0 00 00 7e 40 01 0d 02 00 00 13 00 00 00 01 00 00 00 00 f7
    f0 00 00 7e 40 01 0d 02 00 03 5d 00 00 00 03 00 00 00 00 f7
    Start the transfer with Command Window->Start/Receive SysEx
    The slave core should return following SysEx strings (they are copied into the Display Window)
    F0 00 00 7E 40 01 0F 00 01 F7
    F0 00 00 7E 40 01 0F 00 00 00 00 00 00 F7
    If the numbers are looking different - which numbers do you see exactly?
  • If these tests are working, try the same through the master module. Means:
    PC MIDI Out -> SID Master MIDI In
    SID Master MIDI Out -> SID Slave 1 MIDI In
    SID Slave 1 MIDI Out -> PC MIDI In
    Enable the Link (press the Link button), otherwise it won't work.
  • Play a note like described above - results? NOTE: Link must be enabled!
  • Restart the modules - results?
  • disable the virtual keyboard and send the SysEx debug commands like described above - results? NOTE: Link must be enabled!

Best Regards, Thorsten.

Link to comment
Share on other sites

Guest Thomas_Holley

Thanks again for all your help. Here are the results of my test.

With slave 1 connected to my computer via MIDI (optocoupler installed) I hear a note when Q is pressed.

I get F0 00 00 7E 40 01 01 F7 when restarted. This checks OK.

I send the sysx command and get back:

F0 00 00 7E 40 01 0F 00 00F7

F0 00 00 7E 40 01 0F 00 00 00 00 00 00 F7

I connected Master  and slave 1 as described and get:

I hear a note played when Q is pressed with Link enabled and without ling enabled. This is an error.

When restarted I get the sysx F0 00 00 7E 40 01 01 F7

Then I get a data dump starting with

0014E6EA 3__ F0 Buffer: 11 Bytes System exclusive

F0 00 00 7E 40 01 0D 00 00 00 F7

0014E6F2 3__ F0 BUFFER: 11 BYTES SYSTEM EXCLUSIVE

F0 00 00 7E 40 01 0D 01 00 00 F7

0014E6FA 3__ F0 BUFFER: 11 BYTES SYSTEM EXCLUSIVE

F0 00 00 7E 40 01 0D 02 00 00 F7

0014E702 3__ F0 BUFFER: 266 BYTES SYSTEM EXCLUSIVE

This looks like maybe mois dump. This repeats three times with different beginning lines.

Send the sysx command and get back the same results as described above. I also tried to send it with link disabled just to check and it did not work.

I hope this gives some answers. Thanks.

Thomas

Link to comment
Share on other sites

Hi Thomas,

ok, from the beginning:

Slave1 responds with

"F0 00 00 7E 40 01 0F 00 00 F7 "

The MIOS device ID is set to 1, but the SID device ID is still zero. This means that you haven't prepared your slaves yet like described under http://www.ucapps.de/midibox_sid_csB.html (search for "preparation").

Alternatively you can change the SID device ID in the main.asm header, search for "DEFAULT_DEVICE_ID" where also some additional comments can be found.

(Side note: I will add an optional autoconfiguration in one of the next releases, because it seems that most people forget to change the ID - seems that spending more time in coding is always better than writing documentation ;-))

I hear a note played when Q is pressed with Link enabled and without link enabled. This is an error.

this is a misbehaviour which I don't understand exactly. Do you mean that the slave plays a note regardless if Link is enabled or not, or do you mean that the slave plays a note, but never stops to play it although a Note Off event has been sent by MIDI-Ox?

When restarted I get the sysx F0 00 00 7E 40 01 01 F7

Then I get a data dump starting with

[..]

these are general configuration settings and sound patches which are normaly sent by the master to the slaves.

The slaves don't need to send it (since there are no receivers behind the slave...), so its ok when you just disable the CS (Control Surface) functions by setting "CS_ENABLED" to 1 in main.asm.

But as I wrote in the comments: this is no requirement - it's just a good idea to disable the CS functions for the slaves - so this doesn't lead to a misbehaviour

Send the sysx command and get back the same results as described above.

perfect! This means that the MIDI connections are ok

I also tried to send it with link disabled just to check and it did not work.

This is correct, with link disabled all incoming messages are blocked by the master. But it's good that you mentioned it - this means that you've really activated the link - and no other button function.

So - next steps: reconfigure the slaves by editing the main.asm file (thats the simplest way), upload the new firmwares through the master (link must be enabled), and repeat the whole testing procedure.

Best Regards, Thorsten.

Link to comment
Share on other sites

Guest Thomas_Holley

I followed the link but it is for SEQ. Still, I can not find and discussion of changing the main.asm file on the SEQ or SID pages.

I am doing something wrong though. I changed the default device id to 0x01 in the main.asm file, saved the file and loaded the syx file via MIDI_OX. When I do the tests I get the same results as before.

I did a change device id via perl and tried to load the syx file with MIDI-OX again. Ran test and get same results. I have the propper ID in the sysex file but how do I load this asm file?

Thanks,

Thomas

Link to comment
Share on other sites

Hi Thomas,

sorry, the URL was not correct, its: http://www.ucapps.de/midibox_sid_csB.html

To the upload procedure: You have to

  • edit the main.asm
  • assemble the .asm file to a .hex file
  • convert the .hex file to a .syx file with "perl hex2syx.pl -device_id 0x01 main.hex"
  • upload the .syx with MIDI-Ox

These steps are described under

http://www.ucapps.de/howto_tools_mpasm.html

And remember: MIDIbox Link must be active, otherwise the slave won't get the incoming data

Best Regards, Thorsten.

Link to comment
Share on other sites

Guest Thomas_Holley

Thank you! I have finally found my error. Previously I had changed the device ID position in the main sysex file. This obviously did not work like I thought it would.

I did have some trouble with the MPLAB program. It would not wouk if the file path was more than 62 characters so I had to relocate files before I could make hex files work.

I was somewhat confused at first and did not follow your tutorial well. That is due to my inexperience with programming.

I got all the correct tests results and all 4 SID modules are working.

Thanks again for all your help on this.

Thomas

Link to comment
Share on other sites

I'm glad that we finally solved all issues and promise that the whole setup procedure will get easier in the next months, once the autoconfiguration has been implenented and Wilba has released the "MIOS Studio" which allows to upload a .hex file and changing the device ID w/o the use of hex2syx.pl and MIDI-Ox.

And now have a lot fun with all your SIDs! :-)

Best Regards, Thorsten.

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