[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ProDOS misc. questions
In article <webmaster-0108961047500001@pm10-059.sct.fr>,
Michael Guitton <webmaster@cardshow.com> wrote:
>In article <33001E0E.10D6@dove.mtx.net.au>, ntt <ntt@dove.mtx.net.au> wrote:
>
>> Michael Guitton wrote:
>> >
>> > Henrik 'Ratte' Gudat wrote:
>> > >
>> > > In <31FDD36C.B59@cardshow.com> Michael writes:
>> > >
>> > > > o Why the root directory of a ProDOS volume is limited to 51 files?
>>
>> > Why this root structure has to fit entirely into Block 2?
>>
>> It is actually blocks 2, 3, 4 & 5. Block 6 holds the first block of the
>BAM (block
>> availability map). In order to overcome this limitation (which is only a
>limitation
>> because of the way the disk is set up at initialization) all you need to
>do is block edit
>> block 5 to point to a free block (this is bytes $02 & $03 of block 5).
>You then get 13
>> extra directory entries. This can be done ad nauseum to give you as many
>"root" entries
>> as you like. _BUT_... You _must_ deallocate the blocks you then use, you
>_must_ point to
>> them correctly (bytes $00 & $01 point to the previous block, bytes $02 &
>$03 point to the
>> next directory block), you _must_ zero the rest of the new directory
>blocks (to avoid
>> ProDOS errors) and you _must not_ make mistakes. (not a recommended
>procedure for boot
>> disks!)
>>
>Oops, you're right. Shame on me! There are in fact 4 blocks for the root
>structure with room for 13 files each, which make a total of 52 files
>minus 1 for the volume name.
>
>Since ProDOS could accept more than 51 files in root directory, why Apple
>Engineers decided that root structure should only take 4 blocks (speed,
>transfer rate, etc.)?
>
>> Limitations also apply to subdirectories, and they can be fixed in the
>same way...
>>
>Hum, I don't think there is such limitation. You can store more than 51
>files in a subdirectory on a ProDOS volume.
>
>> [deletia]
>
>--
>Michael
>webmaster@cardshow.com
Right... the limitation is that there is a fixed size of the volume
directory, as opposed to subdirectories which are of variable length.
--
--- Rev. SPQR (wbaguhn@nyx.net)