On Fri, Jul 9, 2021 at 6:14 PM ExPLIT | Pawel Radomychelski <
exp...@mailbox.org> wrote:

> Thanks John, will try Laddie Alpha
> I alos think it has something to do with the size of the file, because
> small file transfers over dl+ works normally.
>

Yes.

TPDD directory enumeration include a "file length" encoded as 2 bytes with
a range of 0 to 65,53*5*.
Binary ROM images are 32K = 32768, which is a length of file that can
technically be represented in an unsigned 16-bit integer (2 bytes). It is
less than 65,536.
But ROM *image files* as used by REX are a hex representation, so they are
twice that big. Each binary byte is represented by 2 ASCII characters
encoding the upper and lower nibble of each byte, respectively.

Which means those files they are *exactly* 64K = 65,53*6*

The length of a 64K file cannot be represented in a 16-bit integer. You can
only represent file sizes exactly one byte shorter... 65,53*5*.

The TPDD protocol actually supports files bigger than 65535 bytes but the
protocol is slightly different for representing file lengths greater than
65,535.

So IF what I suspect is happening is happening, DLPlus still has that bug.
I used to maintain it but I don't remember.

Anyway I had to fix this for LaddieAlpha to make hex files work with REX.

-- John.

Reply via email to