Yes, you're exactly right, the A-112 has a fixed amount of memory, and a variable sample rate, so the more bytes you use up per second, the less seconds it can store. It can store 65536 (2^16) samples in each of the two pages of memory. The reason the files are slightly bigger is because you can't simply copy all eight bits of each byte at a time, you have to copy across the first seven bits of each byte first, then all the leftover bits later on. This is because MIDI requires all data to be 7-bit, whereas the A-112 is an 8-bit sampler.
That reminds me, the other thing I'm not sure about yet is the zero-padding for samples that are shorter than 64kb. Once I get my hands on an A-112, I'll verify which number I should be sending for the zero-padding. If it's currently wrong, then the silence between when the sample finishes and when it stops playing won't have the speaker centred correctly, and so it may click at the end.
By the way, if you type in just "python" instead of "python3", then it'll probably invoke Python 2, which OS X usually comes with pre-installed. That may give you errors to do with my Python 3 specific code, but certainly nothing to worry about.
Oh, and regarding the tuning: one of the things that gets stored in the .syx file is the sample rate, which insinuates the A-112 should compensate for this in order to make, say, the 5 position on the tune knob always the position for the original sample speed. As it's not doing this, I can only assume I'm calculating the frequency incorrectly. (You can't just tell the A-112 "this sample is recorded at a 44,100Hz sample rate", you have to modify that number somehow that seems to involve the number 200, so I'll use trial and error to figure this out once I have an A-112. Then hopefully 5 should be the correct tuning for all samples.)
On that note, is "nSek" German for milliseconds I could really do with a translation of this if anyone would be so kind: "sondern Wert für Rückwärtszähler mit 200 nSek. Zykluszeit."
Thanks!
Zoë.