ciderpress icon indicating copy to clipboard operation
ciderpress copied to clipboard

Incorrect file size on this file

Open Keatah opened this issue 8 years ago • 2 comments

ftp://ftp.apple.asimov.com/pub/apple_II/images/games/file_based/escape_taipan_u-boatcommand.dsk

Taipan and Taipan Instructions report as 144 bytes in Ciderpress and cannot be copy/pasted. But Copy II+ or even the most standard and basic file copier of all time, FID, from the System Master disk, can make a copy.

Keatah avatar Aug 25 '16 18:08 Keatah

The problem is that 'B' files on DOS 3.3 disks have two lengths: the length value stored in the first four bytes, and the number of blocks allocated to the file.

Games like Taipan have a short "loader" segment that pulls the rest of the file in. This was often done for single-load games that were too large to fit in memory with DOS present.

If you open the disk image, then select Tools > Disk Sector Viewer, click Open Current Archive, then click Open File and type "taipan", you can see in the first four bytes that it's a $90-byte file that loads at address $0300. If you click Read Next, you will be able to walk through the entire file (you'll start to see game text about 5 sectors in).

File copiers like FID ignore the embedded length, and just copy all allocated blocks. File viewers stop early, because they don't want to show leftover junk stored in the sector. CiderPress is both viewer and copier, and in this instance the approach it uses doesn't do what you expect.

FWIW, the behavior is noted in the CiderPress help, under Using CiderPress > Commands > Copying and Pasting:

Some DOS games were stored in 'B' files with a short "loader" segment. The "loader" would start immediately and load the rest of the game itself. CiderPress obeys the shorter length value, and as a result will not copy the entire file (as evidenced by the pasted file being significantly smaller than the original).

CiderPress could do a better job when copying files between DOS disks, but there's no way to salvage this when copying to anything else (ProDOS, ShrinkIt) without inventing some way to preserve both lengths.

fadden avatar Aug 28 '16 20:08 fadden

Got it.

Keatah avatar Aug 29 '16 04:08 Keatah

This will not be addressed in CiderPress. See this demo for how this can be addressed.

fadden avatar May 12 '23 01:05 fadden