Sign in to follow this  
Followers 0
esagmuller

Need help uploading MIDIO128 to core

25 posts in this topic

Hi,

The core checks out fine with one Sysex message on the screen on power up.

Now I'm having troubles figuring out how to upload the application MIDIO128. The instructions for Newbies don't give much detail how to do the upload.

I have the application on my computer and when I open it there are various listings. Near the bottom in the last two listings it shows "setup MIDIO128 asm" and then last shows "setup MIDIO128 hex". I assume I want to click on the hex file. When I do try to open it windows asks what program to open it with. From here I have no success. When I get to the point of selecting a program I can get to my desktop and click on MIOSStudio_beta7_5.jar. But a message says it can't be found.

I left MIOS Studio open while I was doing this. I think the problem is basically that I can't get MIDIO128 linked to MIOS Studio. Or maybe the hex file listing in the above paragraph is the wrong thing to use.

Thanks for any advice.

Eric

Share this post


Link to post
Share on other sites

OK I figured out that I needed to do the upload using the hex uploader in MIOS. I was trying to do it out of the MIDIO128 program directly. Anyway the hex file said the checksums were ok and that the upload was complete.

Now I'm confused about what to do next. How do I access the files to see what pins were assigned to what outputs and channels, and how to edit if needed? I also need to invert the output which I read somewhere can be done.

Also is there a way to see if the device is responding as I pull various input pins high, just using the computer connected. Eventually I will install the Hauptwerk virtual organ program that will show what input pins respond to what output and channels, but I'd like to get these set and checked out before hand.

Thanks,

Eric

Share this post


Link to post
Share on other sites

I'm slowly getting it figured out with the help of a document (Midio128 Application Setup Mysteries Revealed) I found in another post, and the directions on the MIDIO128 page. I think the document is a little outdated as a few of the URL's don't work or are a little different on the MIDIO128 page.

I first thought I couldn't find the INI file that you edit as I just found one that says it's an example. But it appears that is the one to use and the statement just refers off the wall entries that are to give an idea of what to type in.

One thing I'm still a little confused about though is that the instructions refer to MIDIOX and Sysex box uploader, but don't mention MIOS to upload the modified sysex file. I thought MIOS could be used to upload the modified file as it was used initially to upload the general MIDIO128 sysex file. any ideas?

Thanks,

Eric

Share this post


Link to post
Share on other sites

Eric,

You don't use MIOS Studio to upload the syx file.  I used SysEx Librarian (on a Mac).  Not sure about PC.

Share this post


Link to post
Share on other sites

You are using MIOS Studio to upload MIOS and the MIDIO128 application (both provided as .hex file)

This is like you are installing Windows and any other program, which gets use of Windows functions

After installation you will already be able to control DIN and DOUT pins with predefined Note and CC events, they are matching with the MIDI events predefined under tools/mk_midio128_syx/midio128.ini

If you want to change predefined events *after installation* of MIDIO128, just follow the instructions under tools/mk_midio128_syx/README.txt

The described approach allows you to customize the events w/o creating a new .hex file and installing the MIDIO128 application again.

If you prefer to modify the program directly, edit src/midio_presets.inc, build a new .hex file (your own MIDIO128 variant) and upload it with MIOS Studio

Sorry for all the confusion, but I tried to provide a simple and more flexible approach - it seems that this only leads to unnecessary complexity

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

Sorry for all the confusion, but I tried to provide a simple and more flexible approach - it seems that this only leads to unnecessary complexity

For future reference TK, I think you did this the right way.

It's not the implementation that causes confusion, it's the documentation, or lack thereof. I mean... the documentation is sufficient for experienced builders, but needs a lot of research for newbies. This is mostly the fault of newbies who figure it out, but don't bother to document it for others.

In future, I think that you should keep doing what you've done in the past.

Share this post


Link to post
Share on other sites

The newbies who use MIDIIO128 for Miditzer virtual theatre organ projects are working on documentation in the Miditzer forum. Since their discussions probably have more Miditzer specific content than Midibox content I think their discussions are in the right place. As this documentation becomes stable I will see that it migrates to the Midibox documentation collection. In the meantime, see http://www.northparkmeadows.com/midio_mysteries.pdf. Any non-Miditzer users who are using MIDIIO128, particularly if for organ midification, are welcome to join the Miditzer Forum at http://www.VirtualOrgan.com/ and participate in the MIDI Electronics area to use the support available there for MIDIIO128.

Share this post


Link to post
Share on other sites

I'm slowly getting it figured out with the help of a document (Midio128 Application Setup Mysteries Revealed)

"in the meantime"? I don't see how that doco could be improved, it's pretty much bang-on!

Kinda proves the point really - I mean, when you work from that doc, it's pretty hard to get it wrong. It shows (graphically!) how the whole INI file thing makes it easier to modify the functionality of the box without having to understand some code.

PS Props to the miditzer community for the help!

Share this post


Link to post
Share on other sites

Esagmuller.

You are overcomplicating the process.

If you purchased the PIC with the bootloader and mios in place, then your are good to go. I have loaded midio128 and the ini file several times and use midiox as I find it to be the simplest.  the procedure I follow is simple:

Be sure that you have the latest version of midio128, corresponding to the latest version of mios.

Make a note of where you have unzipped the midio128 files to. Look at the files and find the " Main" sysex file, It will have a small icon beside it.

Be sure that you have a midi cable connected from the midi output device on the computer to the midi in connector on the core. If you have a cable connected fo the midi in connector on the core, remove it. Turn on the power to the core.

1. Load "midiox" and start the program.

2. Pick "Options" in the file menu, and select "midi devices". A window will come that will list the input and output midi devices.  In this case you will be sending from the computer to the core so you need to highlight the midi output device you are using and then pick "OK"

3. On the "options" menu, be sure that there is a check by "pass sysex", if not checked, then check.

4. Pick the  5th icon from the left which will open the output monitor.

5. Click on  "view", on the midiox menu at the top of the screen, then click on "sysex..." down on the list.  This will bring up a window with title "SySex View and Scratchpad" which is divided into to sections, the top "command window"  the bottom "Display Window"

6. on the "sysex view and Scratchpad" menu at the top of the window, pick  "command window", and then from the list, "load file".  this will bring up your different folders so that you can locate the midio128 sysex file. Navigate to the folder that has midio128 and locate the midio 128 sysex file, pick it and it should load.  You should see the file in the command window. Now you are ready to send it to the core.

7. Pick the top blue band on the "SySex View and Scratchpad" and drag it  off to the right, exposing the Monitor Output window.

8. On the "SySex View and Scratdhpad" top menu, pick "FILE" and then pick "send sysex file".

9. As you do this watch the Monitor Output window and you should see the file appear on the output window.

If successful, midio128 should be loaded.

Next step will be editing the .ini file which will configure midio128 for you.

If you are successful with the above, email me and I'll take you through the .ini editing process.

Johnc

Share this post


Link to post
Share on other sites

Hate to be argumentative but I don't agree with the above. As I always say - always use MIOS Studio, in 'Smart Mode', with 'Wait for upload request' turned on. The reason for this is simple - it does error checking, so if something goes wrong, not only is it less likely to break stuff, but also the user will know, and can post messages to the forum. Another good reason to use MIOS Studio is that there's lots of experience in using it so lots of people here are familiar with any errors/feedback that may occur, so there's more support if something does go wrong.

If I had a dollar for every time I've seen someone toast a core by uploading with MIDI-Ox, I'd buy you all a beer. 99% of the time it's not a problem, but I'd never recommend to anyone to risk being the other 1%.

Off-forum support via email or chatroom or whatever is often a lot more productive, but if you go that route, please remember to come back here and share the experience, so that others may benefit from it :)

Share this post


Link to post
Share on other sites

Guys,

Thanks for all your help. Sorry I've been off for a couple days, so didn't reply sooner.

  The document I used is apparently an older version. It starts out by using MIDI-OX. Here's the URL http://www.northparkmeadows.com/midio_mystery.pdf. Very similar to the other address. (mystery) vs (mysteries). I got this from another posting "Channel selection in MIDIO 128".

  I'll look over the new document and postings, and suspect I'll be fine now. The new document that Jim posted says revised Oct. 2008. I'll let you know how I make out, or obviously if I run into another snag. I've been an electronics tech all my working life, but just got into computers recently ( more than just casual use) so am in a learning stage.

  This forum is really great as is the one on Hauptwerk. A community of people wanting to help each other!

  Eric

Share this post


Link to post
Share on other sites

Hello Eric,

There was a day, not long ago, when all questions, comments, suggestions, tips, were welcome on this forum, and the best help came from the user who was working his way through the process.  Having been rebuked by the forum moderator, I will be a little less prone to put my two bits worth out there.

However, Midiox is a super product that has served many, many over the years, and is still used by many.  I must say that a 1% probablility of a problem using it is a pretty good reason to use it.  

I will also say that Thorston Klose is a super guy who has always been very, very supportive and patient with his help. One can't say enough about the quality of all of the midibox device designs, mios and  all the apps programs.  Midification has been my focus for several years, and my original cores running midio128 are still going strong.  

All the Best to you, and Merry Christmas!

Johnc

Share this post


Link to post
Share on other sites

One other thing that I want to mention to whoever is in charge of the ucapps website.

I started out by using the document "MIOS Bootstrap Loader for Newbies" and I think there are two errors that caused me a little confusion. I just want to mention it so if they are wrong, can be corrected.

I've copied a portion of it that pertains:

>Open the MIDI Device Routing window of MIOS Studio, Right-click on the MIDI In Port of your MIDI device, and route it to "MIOS Studio In Port"

>Right-click on the MIDI Out Port of the MIDI device, and route it to "MIOS Studio Out port". Now the tools of MIOS Studio can communicate with the core.

Where it says to "route the In port of the MIDI device to the MIOS Studio In port".

                      "route the Out port of the MIDI device to the MIOS Studio Out port".

As MIOS wouldn't allow this, I figured out in should probably say "MIDI In to MIOS Out".

                                                                               and "MIDI Out to MIOS In".

Thanks,

Eric

Share this post


Link to post
Share on other sites

Hi Johnc,

  I do appreciate your advice. There are many times more than one way to accomplish a task. And actually I've heard of MIDI-OX apart from the MIDIBox project, but not MIOS. I suspect it's been around longer.

Hope you and all reading this have a Very Merry Christmas and a Happy New Year! I'm not sure when I'll work on the interface again, but as I have off through New Years it will be soon. I'll let you know how I make out.

Eric

Share this post


Link to post
Share on other sites

Ahh OK, I assumed (there goes that word again!) that you grabbed it from the wiki link, which is pointed to the new one. Sorry!

Look, as I said, MIDI-Ox does work 99% of the time. Especially if you already know that your core, midi interface and java runtime are working 100%, it's not a big deal. The thing is that the other 1% tend to go really really south, sometimes mysteriously (because it should not be possible to make it this bad) ending up in a need for reburning a PIC or even a new one, and almost always resulting in many hours of support time (doh)

In johnc's case, if I were him I honestly wouldn't bother changing back to MIOS Studio, because he has experience and lots of gear all working. Chances of being in the 1% are pretty low for him. In your case, however.... ;)

Glad you like the forums man. The feeling is entirely mutual. Yeh the organ guys are hella helpful. They probably get tired of me always saying nice things about "the organ guys" :D

Oops, new posts... Johnc, I'll explain why I felt it necessary to voice my disagreement... but first: you should know by now that I'm only a moderator for janitor duties bud. It's not like there is any "rule" that says <booming God-voice> "THINE SHALT ALWAYS USE THY ILLUSTRIOUS MIOS STUDIO WHEN UPLOADING" or "THY SHALT NOT COVET THY MIDI-OXEN!" </booming God-voice>:D Even if there was, I would have no involvement in writing or policing it. This whole thing:

There was a day, not long ago, when all questions, comments, suggestions, tips, were welcome on this forum, and the best help came from the user who was working his way through the process. Having been rebuked by the forum moderator, I will be a little less prone to put my two bits worth out there.

Is just a bit melodramatic ;) That day is still here, and it will not ever go away.

Edit: now that I think about it that really is crazy talk. You feel like you shouldn't voice your thoughts, because someone else voiced theirs, and it wasn't the same? Does that mean the other person's thoughts are unwelcome? You don't seem to think so, but why do you feel that way about your own? Why should either opinion be exclusive? You kinda make out like my opinion has changed the forum forever, but not yours? Where's the fairness in that? Should I keep m own opinion to myself so that the forum can have an environment where all opinions are welcome? That's a paradox.... The whole thing is layers of parodox... I think you might be letting your emotions get the better of you man ;)

That said, obviously I've helped with troubleshooting a lot of cores over the years, and in the process that has developed through that experience, when someone's core is going screwey and we're talking about uploading hex files, the first thing I do is make sure that they're using mios studio, and in the correct manner. I tend to try to avoid getting even to that stage, by recommending the safest option in the first place.

That's not only for the person to whom I am responding (esag' in this case) but also with respect to any others who may read the thread in future. Even if you consider that esag is safe enough to try midi-ox, you never know who may read this post later on, and what their situation is. Obviously, different situations result in a different chance of failure. In your situation or mine, that chance is very low. In esag's maybe a bit higher... in the mystery-man's stuation...who knows.... Maybe his core is emitting blue smoke, and he will try MIDI-Ox instead, and make it worse ;) I'm being silly, but the point is, it's best to play it safe.

As for esag's situation in particular, to be honest, "1%" is just a figurative number to say "not many" but it's probably more like 10+ in reality. Given that esag is already having some difficulty, he's also in another danger-zone that's more like 80% attrition. I don't think it's really a good idea, in this case.

But my opinion should not dictate your actions, or your willingness to respond. If you've got an opinion, voice it! If everyone in the world kept their opinion to themselves when ever there was disagreement, we'd never talk at all - and nobody would learn squat, and this forum would be about banging rocks with sticks to make noise. Seriously man, all respectful input is good input I reckon, and you've always been respectful. Even though I have voiced a disagreement with you, I hope you feel I've shown you respect, as I try to do so equally for everyone.

Oops another post. *phew*

esag: try not to confuse MIOS (The MIDIbox Operating System which runs on the PIC chip in the Core module) with MIOS Studio (the java application that runs on the PC). MIOS Studio is specifically designed to talk to a midibox and perform midibox-specific functions like hex uploads and debugging, which is why you haven't heard about it elsewhere.

I'll explain what the two do a little, hope it helps. At the least, it should give you some good search keywords.

The OS:

MIOS. You shouldn't need to worry about it. It's equivalent to windows on your PC, it functions as a platform to run your applications. It will pretty much just sit there and behave itself, if you treat it right :)

The app:

The app starts off as C code, which is compiled to generate ASM code (sometimes TK just starts there). The ASM code is assembled, and that generates a .hex file. That's the final midibox application. Same deal as an .exe file on your PC basically. But like a PC, you have to copy the app onto the PC to run it....

The upload:

Normally, you have to use a hardware programmer to 'burn' a hex file onto the PIC chip. The MIOS BSL (bootloader or bootstrap loader) which is already installed if you buy from smash or mike, accepts sysex data to upload code over MIDI. Think of it like copying an exe file from one PC to another over a convenient interface, say, ethernet cable.

While it does this, it also sends some messages from the core's midi output, to allow you to monitor what it is doing, and if it's successful. I'll come back to that.

The procedure:

MIDI-Ox:

With MIDI-Ox you can send a .syx file with the required sysex data. Sysex file handling is a generic kind of utility for midi, as you seem to have gathered. There are many apps that could do this job, but MIDI-Ox is very popular. In order to obtain the .syx file, you have to use a utility to convert the application .hex file (see 'The app:' above) to syx. There is a Perl script which does this. Then, you just send the file to the midibox, when it requests a code upload on startup.

MIOS Studio:

MS basically does the same thing as the above, but in the one app. You open the hex file in MIOS Studio, and it converts it to sysex data (like the perl script would) and sends it to the midibox. The big differences are 'wait for upload request', 'smart mode', and the awareness of the core's protocol for reporting it's progress (see 'The upload:' above).

These three features respectively provide: the restriction to send the file at the correct time, the restriction to only upload when the core says it is safe, and reporting of any errors in a human-readable manner. These are very handy to have, but they are not required for a successful upload. MIOS is very flexible, so as I mentioned above, any sysex sending app could do it. Naturally, the custom-built app for this purpose, has some bells and whistles.

Share this post


Link to post
Share on other sites

Thanks Stryd for all of the interesting information. So you say I can use MIOS to do the sysex upload? I had asked this earlier but someone else told me you can't do that. Then on the ucapps MIDIO128 page it mentions using MIDI-OX or SysEx Box, not MIOS though.

Thanks

Share this post


Link to post
Share on other sites

Heh, you did it again. You probably haven't had a chance to read my whole message yet ;)

MIOS studio can only upload sysex in the form of hex files that it converts, but can't send normal sysex files - so for the upload of the .SYX file generated from your INI file, you must use a generic sysex utility like midi-ox.

[table]

[tr]

[td][/td][td]MIOS/App HEX Upload[/td][td]MIOS/App SYX Upload[/td][td]Special upload features[/td]

[/tr]

[tr]

[td]MIOS Studio[/td][td]Y[/td][td]N[/td][td]Y[/td]

[/tr]

[tr]

[td]MIDI-Ox[/td][td]N[/td][td]Y[/td][td]N[/td]

[/tr]

[/table]

Share this post


Link to post
Share on other sites

Yes I read it all. This software stuff is just so new to me. I guess where I'm getting confused is that I need to convert an .INI file to .SYX. I got the MIDIO128 app. uploaded ok with MIOS Studio.

So I think where you didn't agree with Johnc was using MIDI-OX rather than MIOS to upload the MIDIO128 app., not the .INI file (converted).

Thanks,

Eric

Share this post


Link to post
Share on other sites

Reason I figured you hadn't read my whole post is that the last 1/3 of it explains the difference between MIOS, and MIOS Studio, and MIDI-Ox... But you still keep saying "MIOS" wehn you actually mean "MIOS Studio". Perhaps it's information overload....

My take is, use MIOS Studio whenever possible.

It is possible to use it for MIOS upload, and for Application upload (as per the table above) because they are both hex files. 

It is not possible to upload SYX files from MIOS Studio, so you must use the alternative (MIDI-Ox)

Share this post


Link to post
Share on other sites

Good Morning and Merry Christmas!

Stryd_on - All is cool in the deep south!  Mellodramatic-Far from it! 

As a newbie, the simplicity of midibox is what attracted me.  Organ Guys are for the most part non technical types interested in the final products ability to make their organs play.  There are products out there that are much less sophisticated and much less flexible, yet they do the job and one doesn't need a soldering iron.  The beauty of midibox is that the kits are much less expensive, immensely flexible and the tech support from users makes it all work.  I well remember my first post on the forum spelling out what I wanted to do in midifying an organ console.  Comments on the forum amounted to "you want to do what? we don't know anything about organs". Boy we have come a long way.  Can't say how thrilled I was to hear from Per S, and Jim Henry, and many others that that wanted to do the same thing that I was doing. We collectively worked at the many problems, sharing solutiions, explaining details, educating and as a result there are numerous instruments playing and providing enjoyment to many.  Stupid questions - TK must have had to bite his lip to keep from laughing.  However, his help was always there, as it was from many.  When the technical answers didn't cut through the fog, someone always rephrased it in plain terms to educate the dumb Heads.  TK - thanks again for the midio128!

Enough said! 

Merry Christmas to all, and Happy New Year!

Johnc

Share this post


Link to post
Share on other sites

OK guys, Here's a copy of a message I sent to Jim Henry for help. I thought I would ask him directly as he gave me the URL for the "Midio mysteries revealed" and I felt kind of stupid asking more questions to the forum as I apparently just am too computer illiterate. Jim asked me to post it too the list instead so others could benefit. Anyway here goes. This is a second message as I figured out some of the other issues with the help of the internet. But I'm stuck from here on.

View Profile Email Personal Message (Online)

(No subject)

« Sent to: jimhenry on: Yesterday at 15:53 »

Hi Jim,

  With the help of the internet I figured out what a text editor is. So the notepad I had opened the ini. file with should be fine to use.

  I also figured out how to access the command window, also called DOS command window or prompt, etc.

  Anyway I still don't understand what 'CD to the directory" means. I tried just typing in the "perl mk_midio128_syx.pl midio128.ini" and it just came back and says there is no "perl mk_midio128_syx.pl" file when I plainly have it right in front of me in the open folder.

I also tried adding the address or directory of the folder, before the "perl mk.... and it just comes up with some other message.

I did download perl first and there is the perl symbol next to the pl file, so it knows it exists. Also when I downloaded the midio 128 application I saved it on my desktop, but it starts with C:\Documents... so I think that is alright.

The other thing pertaining to this that I'm not sure about is on page 7 under "Loading your .ini file" in the small text regarding device ID. I don't know if I need to use this or not. It's never mentioned on page 8 in the conversion command. My PIC does have a device ID of "0".

Thanks for your help when you get the chance. I know with Christmas things are busy.

edit: I think I understand CD to mean change directory now so assume I'm just not directing the computer with the correct path.

Thanks,

Eric

Share this post


Link to post
Share on other sites

Only had a time for a quick glance at Eric's sticking points. One I can quickly help with...

CD is the DOS command for "Change Directory". When you have the black box where you are typing commands, you are running DOS, the archaic predecessor of Windows. So you need to enter something like

>cd "My Documents"

figuring out the right incantation for the directory you want where I have "My Documents" can be tricky. What you want is the directory that midio128.ini is in. Sometimes I'll put the file in a simply named directory at the root level like C:\midibox to make life easy. Then the CD command would be

>cd c:\midibox 

No quotes need because there is no space in the name.

Share this post


Link to post
Share on other sites

Hey eric, come to the chat room man! It's the best way to do this kinda stuff, for sure. We'll be able to give you step-by-steps.

Share this post


Link to post
Share on other sites

Thanks guys. I'll get on the forum in the next couple of days. I'm exhausted, spent all day tearing an Eclipse apart to replace the water pump and timing belt. Not my favorite time of year to do such a thing, but at least it was a bit warmer today.

Eric

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0