[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ProDOS' Block Index Question



    Hold ProDOS -- Let discuss MS-DOS for a while.

    MS-DOS has root directory that contains 512 files (I can't remember the
maximum).  This root directory has two separate FAT Table.  First FAT Table
is original and second FAT Table is backup.  If root directory is destroyed
or wiped by hardware failure.  There is only one way to rebuild root
directory from scratch is through FAT Table.  FAT Table contains sector ID
for each file.
    Why two copies of FAT Table are necessary while ProDOS has only one copy
of Block Table?

    Come back to ProDOS.

    ProDOS has root directory that contains 51 files maximum.  This root
directory has only one Block Table.  If root directory is destroyed or wiped
by Disk II's hardware failure.  There is only one way to rebuild root
directory from scratch is through Block Table.
    It will be harder to find data if it is less than 512 bytes because it
does not need Block Table.  It will be easier to find data if it is greater
than 512 bytes because it does have Block Table.
    After I have completed reconstructing root directory that points to
Block Table, each file needs to be renamed back to the original.  The byte
length, original date/time, and modified date/time will be difficult to
restore back to the original.  The byte length is not important because it
is useful for display only.  It is important to make sure that "Used Block"
and "Block Pointer" be restored.
    It is not so easy to find the correct name back to the original that I
want to rename each file while I have to search filename somewhere from
Block $0008 throughout $FFFF.  I do not talk about subdirectory, but it is
only filename.  Filename is really data that tell ProDOS to read data sector
where filenames are stored.  ProDOS gets a copy of data sector containing
files before it begins to read into root directory (Block $0002).
    If data sector does exist from Block $0008 throughout $FFFF, I can be
able to copy file's name and patch into Block $0002 to fix each filenames.
    Please let me know if I am doing right.
    Is it true that Block Table always contains 7, 9, A, B, C, D, E, F, etc.
Block $0008 is Block Table.  Block $7, $9, $A, etc are data.  Is it possible
that Block Table can be like 7, 9, C, F, A, D, E that it is not in the order
because it may be too fragmented?

-- 
Bryan Parkoff