Per S Posted June 22, 2004 Report Share Posted June 22, 2004 I have now made two new Core modules to add to my previous MIDIO128 with the 16F version. The first one was loaded with MIOS and MIDIO128 with device 0x00. No problems there. The second unit was loaded the same way but with device 0x01. I then was trying some SysEx commands listed in the document "midio128_sysex_implementation.txt" quoted below:MIDIO128 SysEx Implementation=============================Which Actions are implemented~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Example: c) F0 00 00 7E 44 <d>3 <b> F7 Request a block of 256 bytes <d> = device number (0-7) <b> = block number (00-05)I tried the above command and it works but only if I have <d> = device number 0. Same result with other commands. Next was to do something more radical. New boot with device id 0x26, MIOS and MIDIO128 with device 0x26. Everything loaded OK. It looks like this:000676D6 9 -- F0 Buffer: 8 Bytes System Exclusive SYSX: F0 00 00 7E 40 26 01 F7The result with the command above (F0 00 00 7E 44 <d>3 <b> F7 ) yielded the same result, works only if <d> = 0 (zero). Actual command sent:SYSX: F0 00 00 7E 44 03 01 F7Now the question: What is the meaning of the device <d> in these commands? I'm just curious. Quote Link to comment Share on other sites More sharing options...
TK. Posted June 23, 2004 Report Share Posted June 23, 2004 I guess that you are mixing the MIOS device ID with the device ID of the application. They are handled seperately. So, what you need to do is to rebuild the assembler source with DEFAULT_DEVICE_ID set to 0x01 (<- the application device ID), thereafter you have to convert it to a .syx file with -device_id 0x01 (<- MIOS device ID) for uploading it to the core #1To increase the confusion, the MIDIO128 device ID hasn't to be changed in main.asm, but in app_defines.hI think this is something which should be improved in the next release. The application ID could also be derived from the MIOS ID (in the same way like it has been done for MIDIbox SID), so that no recompile is required.Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
Per S Posted June 23, 2004 Author Report Share Posted June 23, 2004 OK, that explains it. I did as you suggested (set the MIDO128 device id to 0x01) and at first I thought I saw some strange behavior like the example below, a ping ( F0 00 00 7E 44 <d>F F7) appeared to respond to any <d> device: 00027FCF 9 -- F0 Buffer: 7 Bytes System Exclusive SYSX: F0 00 00 7E 44 0F F7 0002A529 9 -- F0 Buffer: 7 Bytes System Exclusive SYSX: F0 00 00 7E 44 1F F7 0002C1D8 9 -- F0 Buffer: 7 Bytes System Exclusive SYSX: F0 00 00 7E 44 2F F7 00031FD6 9 -- F0 Buffer: 7 Bytes System Exclusive SYSX: F0 00 00 7E 44 6F F7 00033E77 9 -- F0 Buffer: 7 Bytes System Exclusive SYSX: F0 00 00 7E 44 7F F7The explanation is that I had the MIDI Merger enabled. Trying another SysEx requesting data worked OK, data showed up only when the correct <d> was used. Many thanks,Per S Quote Link to comment Share on other sites More sharing options...
Per S Posted November 11, 2006 Author Report Share Posted November 11, 2006 I guess that you are mixing the MIOS device ID with the device ID of the application. They are handled seperately. So, what you need to do is to rebuild the assembler source with DEFAULT_DEVICE_ID set to 0x01 (<- the application device ID), thereafter you have to convert it to a .syx file with -device_id 0x01 (<- MIOS device ID) for uploading it to the core #1To increase the confusion, the MIDIO128 device ID hasn't to be changed in main.asm, but in app_defines.hI think this is something which should be improved in the next release. The application ID could also be derived from the MIOS ID (in the same way like it has been done for MIDIbox SID), so that no recompile is required.Best Regards, Thorsten.The reason I opened this very old subject again is that it came up in a discussion with another user. He has, like me, several cores with MIDIO128 chained with MIDI Merge enabled. Having separate application ID's is very handy since you can do selective updates of the INI file without having to disconnect anything.Is this improvement still being considered?Best Regards, Quote Link to comment Share on other sites More sharing options...
TK. Posted November 12, 2006 Report Share Posted November 12, 2006 Hi Per,I made the change some time ago, but haven't released it yet. I will add the new version to my website this eveningBest Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
TK. Posted November 12, 2006 Report Share Posted November 12, 2006 midio128_v2_1d is now availableBest Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
Per S Posted November 14, 2006 Author Report Share Posted November 14, 2006 I have now updated my three interconnected cores with MIDIO128 V2.1d and it worked like a charm.Thanks a lot! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.