Hi folks, > On Sep 26, 2020, at 2:11 PM, Rhialto <rhialto_at_falu.nl> wrote: > > On Sat 26 Sep 2020 at 13:50:16 -0500, vtgearhead wrote: >> The SuperPET port of OS-9 mounts a Commodore REL file as its filesystem. For >> some reason, the REL record size is 129 bytes. Does anyone know why such an >> odd number was used? I could understand 128 (2 records = one logical >> sector), but 129 strikes me as an unusual choice. > > Or 127 would make sense too: 2 records fit in a single sector. > But 254 makes the most sense in Commodore disk context. Well, sort of? CBM DOS uses 254-byte logical blocks (in 256-byte physical sectors), but REL files are treated a little differently. The record's position in the file, as a byte index, is 1st determined by taking (record number) times (record length, from directory entry). A block index is computed (in the disk drive, by actual long division by 254 -- stupidly inefficient!), and the (index)th entry in the side-sector tables is consulted to load that disk block directly. The wrinkle here is that, as far as I know, the record separator (is it one byte long, or two bytes?) is not included in the record size. So, AFAIK, that 129-byte record becomes a 130- or 131-byte section of the file! I'm now morbidly curious as to the specifics. > UCSD Pascal uses 128 byte records. Ah, yes... the joys of developing on a platform with a semi-sane disk-block size. :¬) > I recently improved REL file support in VICE for the "filesystem > device". That is where you're not using a disk image but access the > host's file system. My improvements seem good enough for Pascal but > maybe OS-9 does different things. I don't own any of those, but I'm curious as to the results! Gordon S.Received on 2020-09-27 02:00:02
Archive generated by hypermail 2.3.0.