Skip to content

hexter 2.7.3

Choose a tag to compare

@keithadler keithadler released this 21 Sep 00:27
· 3 commits to master since this release

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.