Part 1 discussed the message format. What goes in the address bits? If we had a Roland MIDI Implementation, they would first show the overall memory layout.
Here is what I have decoded so far. My focus was on the sequencer, so I haven't decoded where instrument and maybe sample data lives.
A complicator with the TRs is that there is no scratchpad memory (or maybe the entire unit is scratchpad).
On many synths (all Roland I have worked so far), if I want to edit the sound in part 1, it will be found in a fixed memory location TEMP - Part 1.
The TR does not copy data to a TEMP buffer, but plays directly from original memory locations. So if I want to edit the instrument in the Bass Drum slot, I cannot go to TEMP - BD. Instead, we have to look up which kit that is, determine the memory offset for that, then a memory offset for the Bass Drum, then send (or req) value to that address.
Looking at the example message, the address data is 10 59 18 10
- Using the table, we can see this is kit data, kit 59h, or kit 90 (89 + 1)
- The data is two bytes. The highest value is 0F - 0F. This appears is a value that goes 0-255 (00-FF) using what I call Roland nibble encoding. They are using only the four least significant bits of each MIDI byte. NP, we have a NAMED TICKS table for that.
Part 3 starts listing specific setting addresses.