RD700 Setup editor

Forum for RD-700GX, RD-700NX and RD-800
Post Reply
jychuah
Posts: 2
Joined: 21:35, 19 June 2012

RD700 Setup editor

Post by jychuah »

It seems like a few people were asking several years ago for information about the file format of RDS so that we could have a program that keeps a library of setups and allows us to swap them in to specific setup numbers. I don't know if anyone's still interested in this project, but here's some research that I did involving sysex dumps. It should help get the ball rolling.

Sysex information is sent and received in chunks with the header:

F0 41 10 00 43 12

(assuming you have an RD-700)

Following that is a byte address 10 for setups
Following that is a byte address for a specific setup number (00 being temporary)
Following that is an offset for the type of settings that are being written

Bulk dumps are different from temporary dumps. Temporary dumps are easy to decode. Bulk dumps... i'm having some problems here.

So let's say that I'm receiving a bulk dump for setups 5 - 8. I should have a series of dumps with the following headers:

F0 41 10 00 43 12 10 05 xx
F0 41 10 00 43 12 10 05 yy
F0 41 10 00 43 12 10 05 zz
.
.
.
F0 41 10 00 43 12 10 06 xx
F0 41 10 00 43 12 10 06 yy
F0 41 10 00 43 12 10 06 zz
.
.
.
F0 41 10 00 43 12 10 07 xx
F0 41 10 00 43 12 10 07 yy
F0 41 10 00 43 12 10 07 zz
.
.
.

Each series of dumps for a specific setup is exactly 1472 bytes each time. The last two bytes are a checksum followed by an F7. Finally, a 13 byte message that looks something like:

F0 41 10 00 43 12 7F 7F 7E xx xx xx F7

...gets sent.

Here's my theory:

Let's say, you wanted to take something in setup 5 and dump it in setup 6. You should be able to take the information from those message chunks pertaining to setup 5, change all the 12 10 05 strings to 12 10 06, then recalculate the checksum for each chunk (as described at the end of the RD-700 manual)

Editing the specific parameters for a temporary setup is pretty straightforward because the temporary dump strictly adheres to the format specified in the manual. However, I can't make heads or tails of the a bulk dump - none of the information seems to correspond the description in the MIDI specification in the manual. I can't even find the name of thee setup. (You can message me if you want my specific dump information)

Therefore, if we simply want something that saves individual setups and allows us to stick them in specific positions like a setlist editor (based on setups we've already configured on board), this might be enough to get the ball rolling.

Anyone want to chime in?
jychuah
Posts: 2
Joined: 21:35, 19 June 2012

Re: RD700 Setup editor

Post by jychuah »

After monkeying around with creating an editor software in Java for the past week, this is my (lack of) progress so far:

- I've got a user interface and some methods for re-addressing and re-checksumming sysexes. That wasn't the hard part. Unfortunately, Java doesn't seem to want to send sysexes.
- It's not possible to dump a temporary setup (in position 0) to other positions (the "saved" setups).
- I can't trigger the writing process to save on the keyboard.
- It's possible to re-address a single saved setup and dump it into a different position.
- I can't get it to re-address an entire bulk dump into different positions and save it. It will only transfer the first setup in a group of re-addressed setups.

If I share the source, is anyone willing to work with me on this?
Aroidzap
Posts: 8
Joined: 21:26, 2 July 2010

Re: RD700 Setup editor

Post by Aroidzap »

Well, i'm programming in C++, i don't have much time, but if you share, i will look if i can help :)
Post Reply