needed to break out Beneath Apple DOS for this one
TSL_OFFSET_L/H says what offset in the file the first TSL entry
is representing. It's a 16-bit sector value. Apparently not everything
uses this value.
ran across this when trying to debug a different issue
by default we can only get total sector size from the T/S lists
(which is only a multiple of 256 bytes) but in addition A (basic)
and B (binary) files also tell you the exact length. So we used that
to truncate to the exact length
Only it turns out some programs (I'm looking at you, cracked version
of WAVY NAVY) intentionally set the file size to be wrong and so
we were truncating things improperly
I think this updated code is a bit more clear. Hopefully it doesn't
break anything, I need a better test suite.