Jump to content

18f's and Device ID's


Guest Zzzz...
 Share

Recommended Posts

Guest Zzzz...

Hi,

I know this keeps coming up, and there are some topics to find about, but could someone give me some feedback...if the description beneath is the right and proper way to change the id's in the MBSID x4 setup....using four 18F's and normal midi-interface and a normal LCD.... I was getting confused after "too" much of reading...topics...

Get lost in my own head....But is this right?

First:

Change ID (before burning MIOS-bootstrap_loader_v1.1b) of the PIC's form 0 to 3 (assuming that 0 is the mastercore and 1,2,3 the slaves).

Then burn this into PIC...with JDM -programmer.

Second:

Changing ID's into 0 to 3 in MIOS_v1.4 (before sending the firmware-sys-ex) by taking the MIOS_v1.5.hex and changing the ID here by the hex2syx.pl - converter written in perl..

with the approperiate command...

0. Start the script with (example): d:\perl\bin\perl hex2syx.pl mios_v1.4.hex -device_id 0x00.

1. Start the script with (example): d:\perl\bin\perl hex2syx.pl mios_v1.4.hex -device_id 0x01.

2. Start the script with (example): d:\perl\bin\perl hex2syx.pl mios_v1.4.hex -device_id 0x02.

3. Start the script with (example): d:\perl\bin\perl hex2syx.pl mios_v1.4.hex -device_id 0x03.

Then sysex these files to each PIC with the same ID (burned in the step 1 by IC-prog.)

Third:

Convert the appropriate hex file of the midibox_sid_v1_5b-folder (depending on your SID) into a syx-file ....by using the hex2syx.pl converter written in perl:

by:

Start the script with (example): d:\perl\bin\perl hex2syx.pl midibox_sid_v1_5b_8580.hex.

Then sysex this file to the four PICs (assuming you have 4 SID type  8580's).

Four:

To give a ID's to your slave SID's you then just connect only one core with your PC and send following SysEx string:

F0 00 00 7E 46 [old device-number] 0D 03 00 [new device-number] F7.

Which is as followed; (literaly quoting Thorsten Klose in Midibox Control Surface Step B:)

Slave 0: F0 00 00 7E 46 00 0D 03 00 00 F7

Slave 1: F0 00 00 7E 46 00 0D 03 00 01 F7

Slave 2: F0 00 00 7E 46 00 0D 03 00 02 F7

Slave 3: F0 00 00 7E 46 00 0D 03 00 03 F7

And then everything should be ready....and set...or not.....???

I did get lost by the last step (step four), which made me confused... if this wasn't the way changing the device id of the core...

Anyone...please confirm that this setups is wrong.....or maybe right....

Would be really nice to let me know if this is ok.....and if not....what is wrong....

Thanks in advance....

Grtz   erik...

Link to comment
Share on other sites

Hi Erik,

most is correct, there are two different device IDs which might confuse you: the MIOS device ID, used to address OS specific SysEx commands, and the SID device ID, used to address application specific SysEx commands.

There is only one error in your enumeration - Step Three: the midibox_sid_v1_5b_8580.hex is a preassembled hex file for the PIC16F based version, but you need the PIC18F version which comes together with the source code and can be downloaded from Concepts->MIOS->Download

Best Regards, Thorsten.

P.S.: this shows again that I have to remove the PIC16F stuff from the main pages as soon as possible, independent from nostalgic feelings... :-/

Because of the detailed step-by-step guide: FAQMARKER

Link to comment
Share on other sites

Guest Zzzz...

Hi Thorsten,

Thanks for the quick reply.

Indeed step 3 is false...I was probably too fast writing this post, when I 2 hours later discovered a new download for the 18f's.

Have to check this more often.  ;)

Then I went working right away. And did the bootstrap loader with the changed ID's which brought up the request strings (in order):

F0 00 00 7E 40 00 01 F7

F0 00 00 7E 40 01 01 F7

F0 00 00 7E 40 02 01 F7

F0 00 00 7E 40 03 01 F7

And this is probably alright...if i remember it ...

Then I converted all MIOS_v_1.4.hex-files into 4 new sysex-files with different id's, with the script (as example):

d:\perl\bin\perl hex2syx.pl mios_v1.4.hex -os_upload -device_id 0x00 till 0x03...

I had to add -os_upload in the command of perl, otherwise it wasn't working....

Is this allright??

Then i succesfully sysexed the 4 different MIOS-files files....

Which gave me 4 Pics with different Mios-device ID's (as you said)...

But then i did step three...and something went wrong here....

I took the Main.asm of the midibox_sid_v1_5c_18f_stepC and made four hex-files out of it, each with a different ID as descriped in the header of the ASM-file...

converted this in the same way with perl to four sysex-file's with each its own SID-device ID....But without changing ID's using the perl-script....it looked  like this:

d:\perl\bin\perl hex2syx.pl main0 .hex -os_upload (SID-ID =0)

d:\perl\bin\perl hex2syx.pl main1 .hex -os_upload (SID-ID =1)

d:\perl\bin\perl hex2syx.pl main2 .hex -os_upload (SID-ID =2)

d:\perl\bin\perl hex2syx.pl main3 .hex -os_upload (SID-ID =3)

Again I had to add -os_upload in the command of perl, otherwise it wasn't working....

Then i wanted to sysex the 4 generated sysex-file's but Mios wouldn't accept any :'( ....except for the first core (MIOS-device ID = 0)...

Compare the sysex with eachother and it seems that the only difference is in the last sysex ".." before the "F7"-sysex in the file's, this is changed into 18, 38, 58, 78 for the SID-deviceID's. Don't know the exact order...but...comes down to this...

Where did I do something wrong?....

Do i also need to provide the MIOS-device ID in the application (that i want to run or test), because otherwise i can't sysex to the PIC with the specific MIOS-device ID?

And if so...this is probably always in "network" with two or more MIOS-device's?

With the exception of the MIOS-device with ID 0, because this probably is always working.

So that's is my new main question: Do i need to provide the MIOS-device ID in the application to let the SID's work or is there something else that i did wrong.... ???

thanks in advance and for the reply.

Grtz Erik

this shows again that I have to remove the PIC16F stuff from the main pages as soon as possible, independent from nostalgic feelings..

....you don't need to remove the pic 16F877 out of your projects, because it's always nice to have a kind of nostalgic feeling in it...

But maybe splitting the MBSID into a page of:

4 -18f's and

1 - 18f's, 3 - 16f's (as long as they work?)

could be a solution to it...

...But probably something like this have to be posted at the Midi-portal....or maybe this post makes it already clearer.....maybe....

Link to comment
Share on other sites

Two things have gone wrong:

1) the "-os_upload" flag should never be used to convert a .hex file of a MIOS application, it seems that your MIDIbox SID directory doesn't contain a consistent project anymore. I don't know which changes you made exactly, but anything was wrong. So my suggestion: download the release again from my website, unpack it into a seperate (!) directory and do exactly the changes which are required and nothing else. Convert the .hex file within the release directory.

2) of course, when uploading an application you've to set the correct MIOS device ID (hex2syx.pl -device_id 0x.. main.hex), the core will ignore all SysEx strings which don't contain its device ID.

So, use the script in the following way:

d:\perl\bin\perl hex2syx.pl main0 .hex -device_id 0x00

d:\perl\bin\perl hex2syx.pl main1 .hex -device_id 0x01

d:\perl\bin\perl hex2syx.pl main2 .hex -device_id 0x02

d:\perl\bin\perl hex2syx.pl main3 .hex -device_id 0x03

Hope this helps :)

Best Regards, Thorsten.

Link to comment
Share on other sites

Guest Zzzz...

Hi Thorsten ,

Thanks for the reply....again...

1) the "-os_upload" flag should never be used to convert a .hex file of a MIOS application, it seems that your MIDIbox SID directory doesn't contain a consistent project anymore. I don't know which changes you made exactly, but anything was wrong. So my suggestion: download the release again from my website, unpack it into a seperate (!) directory and do exactly the changes which are required and nothing else. Convert the .hex file within the release directory.

Ok ...the "-os_upload" one thing what went wrong the first time...

Exactly there was nothing wrong with the files i had made,  like the main1.hex till main4.hex file.... so converted that again through the proper way you descriped......

(btw: i have lots of copies everywhere on my harddisk  ) ;)

2) of course, when uploading an application you've to set the correct MIOS device ID (hex2syx.pl -device_id 0x.. main.hex), the core will ignore all SysEx strings which don't contain its device ID.

Nice...did this also....and then again tried to upload....through midiOX ...and nothing happened again....But then i kept sending the converted sys-ex and then after some sending 3 or 4 times it finally took it.... tried the same procedure with the other PIC's and also that worked....

so 4 times:

F0 00 00 7E 40 00 01 F7  followed by three notes

F0 00 00 7E 40 01 01 F7  followed by three notes

F0 00 00 7E 40 02 01 F7  followed by three notes

F0 00 00 7E 40 03 01 F7  followed by three notes

And 4 times an LCD:

P I C 1 1 1

<empty>

:o:o:o:o:o:o:o:D

Thanks very much for the help...And i am happy that it finally worked....now gonna build the rest......

BTW...did you already had the time (;) )to check the PSU-PCB -schematic which fits in the case, which i had sent you last week...or so...and were difficult to open...it's the one which is probably called multiple choice....couldn't post it here....anyhow....

Thanks ....a lot...

I'am quit anxious to hear the SID's waffle~.......

Gonna try to install  mac OS X and see if the jsynth is working...here....OS 9 isn't capable....... although i have also some

nostalgic feelings with this long-served OS. :'(

Grtz...Erik

P.S should I send this entire post to the Midibox portal ?...    

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