[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ProDOS' Block Index Question
Bill Garber writes ...
>
> "Rubywand" <rubywand@swbell.net> wrote in message
....
> :
> : 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.
>
> Could we get a procedure on how this is done?
> Thanks.
>
....
Sure. As Michael mentioned, you can extend the Volume Directory by adding
blocks. In my tryout, the disk was a freshly Inited /RAM5 RAM disk.
Using a block editor (like Block Warden) you go to the last block of the
Volume Directory, Block 5. You change the second pointer from 00 00 to point to
some available block, like Block 9. (Bytes 2 and 3 are changed to 09 00.)
Then, you go to Block 9 and point to another block. The Previous Pointer
points to Block 5 and the Next Pointer points to, say, Block A (10 decimal).
(Bytes 0-3 are 05 00 0A 00.)
In Block A, you set the pointers (Bytes 0-3) to 09 00 00 00. The 00 00 for
the Next Pointer makes it the last block of the Volume Directory.
Finally, you go to the Volume Bit Map allocation table in Block 6 and zero
the bits for the blocks you've added to the Volume Directory. For the test, I
just set the first two bytes to zero (00 00) which marks all 16 of the first 16
blocks as in use.
Evidently, bits are set in left-right order. So, to mark just Blocks 9 and
A, you are in the second byte which is set to 1001 1111 = 9F.
Now, the disk has two additional Volume Directory blocks, which is space
for 26 more file entries.
Rubywand