[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ProDOS' Block Index Question
"Michael J. Mahon" writes ...
>
> Rubywand wrote:
>
> <snip>
>
> > According to the ProDOS manual, that's pretty close. ProDOS uses 4
> >blocks
> >(2-5) for the Volume Directory. The first 4 bytes in each directory block are
> >used for 2-byte pointers. The first pointer points to the previous block in
> >the
> >directory; the second pointer points to the next block in the directory. If
> >there is no previous or next block, the value of the pointer is 0.
> >
> > 39 bytes are used by the directory header. You have 2048 -8 -39 = 2001
> >bytes to record file entries. Each file entry is 39 bytes. 2001/39 --> space
> >for 51 file entries in the Volume Directory. This includes subdirectory
> >files.
>
> This suggests that the Volume Directory might be easily enlarged beyond
> 51 files by chaining additional blocks to block 5. Although it is possible
> that the Volume Directory is handled differently than a subdirectory from
> the point of view of automatic extension, it seems likely that directory
> pointer following would not be special-cased. Hmmm.
>
> -michael
>
Yep. I did a test using an 800k /RAM5. Added two extra blocks to the
Volume Directory (and marked the blocks as allocated in Block 6) and was able
to store 77 files there before getting the "Volume Full" error.
Rubywand