Do you actually intend to run this (or expect it to be run) on an actual C-64? [...]
If you do not intend to actually run (or expect to be run) on a C-64, then feel free to add disks and disk drives. [...]
You're right; I lack the hardware anymore, so I run VICE and choose the diskette format. The best for my purposes is the image of the 3.5" 800k disks.
And I can have four drives going at the same time.
And I'm running at 200% speed, which helps and is not too fast to keep up with.
But I've got a big data problem: SEARCH TIME and FILES PER DISK.
(1) If I put data in subsectors, search time is acceptable, but I can only have about 290 files per diskette (unless I mess with the diskette image a bit). 290 subsectors is 18 sectors. Four disks of 18 sectors each is 72 sectors, or only about half of Charted Space.
(2) If I put data in sectors, there is PLENTY of space for FOUR HUNDRED sectors. I mean just THINK ABOUT THAT. 100 sectors on one disk image. Fantastic!
...but search time is slow. SO searching for jump destinations based on your jump number is mostly wasted time with a sector. If we stick to a subsector, though, our time is better.
HOW MANY SECTORS IS ENOUGH?
That's the real question. For my purposes, what's the right number of sectors per diskette? At what point is it reasonable to swap disks (or change drives)?
If I had to be honest with myself, I'd say that 18 sectors is enough: for the sake of Hop drive, it's ten parsecs per rating; given that one sector is 32 x 40 parsecs, a one sector buffer is sufficient to support Hop. Such a buffer around four core sectors results in sixteen sectors.
So subsectors would work with D81 images.
AND THERE IS AN OPTION
Disk images typically reside on one track only, which is why there's a file limit: once the track is filled up, there's no room for more file references. But actually that's not true: you can fake out a disk controller into thinking that the directory is continued on another track. So -- AS LONG AS THE DISK ISN'T VALIDATED -- more files can be referenced than normal.
There's enough disk space for dozens of sectors. So this is tempting.
ANOTHER WAY TO DO IT
Hm. I just had an IDEA.
Commodore allows REL files, which rely on fixed-size records of data for quick access. A REL record can be up to 254 bytes.
So let's consolidate into 4x5 Clusters, or 20 hexes per Cluster. Typically, half of those are empty, so 254 bytes should be plenty. Ten systems at maximum name length would be 240 bytes, and fourteen systems at average name length would be 238 bytes, so I think we're safe unless my data generation scripts tell me otherwise.
A sector has 8x8 = 64 Clusters. At 254 bytes each, that is 64 disk blocks (16k).
There's one more option with REL files: I go totally wasteful, and make one entry per hex, allocating the full 24 bytes for each hex, including empty ones. This effectively doubles the size of the REL file to 124 blocks (32k).
But a D81 could still hold 25 sectors like that.
More than enough.
OK. I'm sold. I think this is better than sequential subsector files.
And... I could store information in those otherwise empty hexes, I suppose. I don't know what kind of information, but surely I could store something.