hexter 2.7.3
The FB-01's user bank loads now
The manual gives two bank dumps, and the FB-01 support that shipped yesterday read only
one of them.
- voice bank x,
F0 43 75 0n 00 00 0x, 6363 bytes. The read-only banks. This is what
hexter read. - voice bank 0,
F0 43 0n 0C, 6360 bytes. The bank an owner can actually write to, and
therefore the one they are most likely to dump and send you. This was ignored.
Everything after the header is the same 49 packets, so the difference is three bytes and
where the voices begin, 71 instead of 74. hexter reads both now, and a bank in either form
converts to exactly the same voices, which is checked rather than assumed.
How it was found
By reading Edisyn, which accepts both and cites the page
of the manual that says so. Yamaha's own Transmitted Dumps table then confirmed it down to
the byte counts. Reaper10 pointed at Edisyn.
Both new behaviors were confirmed by removing them: not recognizing the short header, and
reading its voices from the long header's offset. The second fails at recognition, because
all 48 voices have to announce their own length before a bank is accepted, and from the
wrong offset they do not.
DX7 output is unchanged, byte for byte against 2.5.1, in both the fixed-point and the
floating-point engine.