[Coco] Curious DECB File o bytes
Willard Goosey
goosey at virgo.sdc.org
Sun Sep 9 03:21:58 EDT 2012
On Sat, Sep 08, 2012 at 09:52:21PM -0700, Stephen H. Fischer wrote:
> Can someone please describe the CP/M file system, it has disappeared from
> my memory.
>
> That may have been the model.
>
Leaving behind any machine-specific details...
First N tracks are always reserved for boot tracks.
Directory is usually 1 track long.
Rest of disk is data.
Sectors are grouped into clusters, usually 2K, 4K, or 8K long.
Cluster numbering can be 8 or 16 bits (machine-specific).
Clusters are numbered from the beginning of the directory.
A directory entry is 32 bytes long:
1 byte user number/deleted mark
8 byte filename
3 byte extension (permissions are encoded on the parity bits of the
extention)
1 byte extent number
2 bytes reserved for date stamp
1 byte extent size in sectors
16 bytes clusters used in extent
Since a single dir entry can only address 8 or 16 clusters, we have
this "extent" thing going on. The first Extent of a file is extent
0. If more clusters than the dir. entry can hold are used, another
dir. entry is used, marked extent 1. Loop.
And that's the entire filesystem. Things like free/allocated cluster
lists are only in machine memory and are very machine-specific.
File size is only to the even sector.
So actually, the CoCo's 8-bit FAT isn't very CP/M. I suspect it's
mostly a Microsoft thing (the Model 100's DVI -- which has a Microsoft
ROM -- uses a very similar FS.) with maybe a bit of TRS-DOS influence.
Comparison with the MSX-DOS filesystem might be interesting.
Willard
--
Willard Goosey goosey at sdc.org
Socorro, New Mexico, USA
I search my heart and find Cimmeria, land of Darkness and the Night.
-- R.E. Howard
More information about the Coco
mailing list