Jump to content

For anyone having MIDI in problems


Guest nickca

Recommended Posts

Guest nickca

Hi, this is my first post on this forum. First I want to say thanks to Thorsten for this absolutely ingenious project, and to SmashTV for his pro-quality PCBs which enable me to build it in less than the 18 years it would have taken me to wire-wrap all the modules.  ;)

So anyway, I just got the core built and plugged everything up for testing last night, and I just couldn't get MIOS uploaded. The core was sending out the "request for upload" string every two seconds as it should, but when I tried to upload MIOS it didn't send any reply messages, and when I restarted the core or MIDI-OX it would just transmit the request string every 2 seconds again.

So I figure it must be a problem with the MIDI in port. I checked for cold solder joints and shorts and that seemed to be OK, checked the diode orientation, and did Thorsten's testing routine with the LED between pins 26 and 31 of the PIC, and everything checked out. It was recieving MIDI through the MIDI in just fine, but for some reason MIOS just wouldn't take. Then I figured out what the problem was, in my case anyway.

See, I had to be clever and have the bootstrap loader burned with device ID 0x42 rather than 0x00. Here's the important part: the MIOS SysEx that's distributed in the zip file is set up for device ID 0x00. IF YOU HAVE ANY OTHER DEVICE ID, IT WON'T WORK. What I had to do was make a new custom SysEx from the original hex file using hex2sys.pl. The command line to do this was:

hex2sys.pl mios_v1_3.hex -device_id 0x42 -os_upload

Then I uploaded the SysEx file this command produced to the core using MIDI-OX, and... it worked! I also quickly figured out that the SysEx string to see if MIOS is running properly is device ID dependent as well. Rather than F0 00 00 7E 40 00 0F F7, I sent F0 00 00 7E 40 42 0F F7, and it replied back. Same thing with the string to test if the LCD is working and any other SysEx string you send. I assume any MIOS apps I upload will have to be recreated from the original hex in the same manner. Also, hex2sys.pl doesn't appear to be distributed with MIOS, but it's included with the LC application. Is this an oversight or intentional?

Hopefully this saves someone some time, I would have been a lot happier if I figured this out a few hours earlier than I did. If your device ID is anything but 0x00 and you can't upload MIOS, and you've already checked your MIDI in as Thorsten recommends, this should be the solution for you. Maybe this should be in the new troubleshooting FAQ? I was only able to figure it out after exhaustively searching this forum.

Link to comment
Share on other sites

Hi Nickca,

thanks for the detailed report! I'm sure that it will help others to understand the relation between the device ID and the .syx file. You've to take care about it so long as no tool is available which changes the ID on-the-fly during the upload.

Best Regards, Thorsten.

Link to comment
Share on other sites

Alright, this is something really different. IC-Prog searches for a device ID (like PIC18F452) in the .hex file, but MPASM doesn't write out this ID.

You can disable this warning under Settings->Options->Notification: disable "ID word is missing in file"

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...
×
×
  • Create New...