Yahoo Groups archive

Casio CZ/ VZ/ FZ - Pro Series

Index last updated: 2026-04-28 22:42 UTC

Message

Re: [CZsynth] Re: Can't get sysex to work with a CZ-5000 [Back to the problem]

2013-08-24 by Daniel Forró

Excellent work!

Daniel Forro

On 24 Aug, 2013, at 10:52 AM, steve_the_composer wrote:

> Even if its a moot point, I decided to test a usb-midi interface  
> cable. I opted for the iConnectivity mio. [It probably stands for  
> midi in/out.]
>
> The test was on an HP 64-bit Win7 SP1 laptop with an AMD Phenom II  
> P650 Dual-Core Processor 2.60 GHz. (Not as fast as this year's  
> models, but light years ahead of what was common in the 1980s.) I  
> used midi-ox with default settings, with no delays added between  
> bits or bytes.
>
> I did three tests:
> (1) Receive and then send Glide sysex
> (2) Request Sequencer Dump
> (3) Request Sound Area Dump and then sent it back to the CZ.
>
> I have screen shots, which I will post when I am not so tired. I  
> need to draw a few things on at least two of the shots and write up  
> some explanations.
>
> Two important points for the moment:
> (1) With the dump requests, I changed the keyboard to MIDI = 8.  
> However, I set the sysex request using 70 [channel 1]. It worked.
> (2) The patch dump needs to tweaked before it is sent back to the CZ.
>
> It will probably be easier to see when I post the screen shots, but  
> basically here's a description. Consider this send request where the  
> computer requests the CZ to send the patch data from the Sound Area:
>
> F0 44 00 00 70 10 60 70 31 F7
>
> The 6th byte [10] is the code to request the CZ send a patch. The  
> 7th byte [60] tells the CZ to send the data from the Sound Area. The  
> 8th and 9th bytes [70 31] are an acknowledge ment from the PC to the  
> CZ to continue after after the CZ sends a dump header:
>
> F0 44 00 00 70 30
>
> Once the CZ receives the 70 31 from the PC the patch (aka tone data)  
> is sent with a final F7 byte.
>
> Notice the 6th byte is now 30.
>
> In order to send that data back to the CZ, you need to change that  
> 30 to a 20 and then >>INSERT<< a byte to tell the CZ the destination.
>
> In my case, I changed the header in the dump I received as follows:
>
> F0 44 00 00 70 20 60 .
>
> The 20 in the 6th place of the sysex command tells the CZ that data  
> is coming. the 60 in the 7th place tells the CZ to put the data in  
> the Sound Area.
>
> You cannot just send the data that was received from the CZ back to  
> the CZ.  Without the 20 and the destination, the CZ will not know  
> what to do with the data.
>
> I am not sure if that provides the missing link to solve the  
> original problem. The resending of the Glide mode change does not  
> need to be changed like this. Not sure why it didn't work with the  
> Hosa usb-midi interface cable.
>
> In sum, on my modern laptop, the iConnectivity mio successfully  
> received and transferred a short sysex command and a single patch  
> dump using midi-ox without inserting delays.  Needless to say if I  
> were writing a midi patch librarian program to receive and send 32  
> or 64 patches I would have a delay between each dump send.
>
> Also, if I were making a midi file of 16 or 32 or 64 sysex dumps to  
> send to a CZ, I'd space them a bit in the file so there is some  
> separation between them.
>
> By the way, when I requested the sequencer dump, I inserted 7 sets  
> of 70 31 acknowledgement byte pairs even though for the sequence I  
> had in the CZ two would have been sufficient.  There was no ill- 
> effect from sending the CZ too many "go ahead" commands. Once the CZ  
> sent the F7 to say the sequencer dump was done, it seemed to ignore  
> those bytes.
>
> However, I was not doing the dump and performing at the same time.  
> If someone else wants to see what happens when they do data  
> transfers at the same time as sending copious amounts of performance  
> data, be my guest. I think Casio's infamous F7 screw-up might  
> produced unpredictable results. I don't do bulk data dumps while  
> performing and its not a cutting edge technique I want to explore.
>
> (On the other hand, I have explored putting in data that is outside  
> the range of acceptable parameters. But that's a different can of  
> worms.)
>
> Hope these tests and explanations helps someone, sometime.
>
> Steve

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.