Date : Mon, 12 Jan 2004 01:51:37 +0000
From : jgh@... (Jonathan Graham Harston)
Subject: Re: BBC floppy / drive formats
Jules Richardson <julesrichardsonuk@...> wrote:
> Can somebody summarise for me the various known BBC disk formats in
> terms of the following:
>
> Sectors per track
> Data bytes per physical sector
> Cylinders
> Transfer rate (125 / 250 / 500Kbps)
> Modulation (FM / MFM)
> Write precompensation (none also being a valid option!)
See http://www.mdfs.net/Docs/Comp/Disk/Densities and
http://www.mdfs.net/Docs/Comp/Disk/Format/Formats
In summary:
Disk Formats
------------
Media Mod. Sides Tracks Sectors Numbers BytesPerSector Media Size
DD FM 1 40 10 0-9 256 100k
DD FM 2 40 10 0-9 256 200k
DD FM 1 80 10 0-9 256 200k
DD FM 2 80 10 0-9 256 400k
DD MFM 1 40 9 0-8 512 180k
DD MFM 1 40 9 1-9 512 180k
DD MFM 2 40 9 0-8 512 360k
DD MFM 2 40 9 1-9 512 360k
DD MFM 1 80 9 0-8 512 360k
DD MFM 1 80 9 1-9 512 360k
DD MFM 2 80 9 0-8 512 720k
DD MFM 2 80 9 1-9 512 720k
DD MFM 1 40 16 0-15 256 160k
DD MFM 2 40 16 0-15 256 320k
DD MFM 1 80 16 0-15 256 320k
DD MFM 2 80 16 0-15 256 640k
DD MFM 2 80 5 0-4 1024 800k
HD MFM 2 80 10 0-9 1024 1600k
HD MFM 2 80 18 1-18 512 1440k
HD MFM 2 80 15 1-15 512 1200k
Once a disk has been formatted, you can put any filesystem in it. There
are usual combinations, eg 1*80*10*256 usually has DFS in it and
1*80*16*256 usually has ADFS in it, but it's just as easy to put DFS in
1*80*16*256, which is one of the options Watford's DDFS gives you.
Filesystem Formats
DFS:
Directory Size=&0200
Free Space Map=implied
Root =&0000-&0001
Deblocked =No
Watford DFS:
Directory Size=&0400
Free Space Map=implied
Root =&0000-&0003
Deblocked =No
ADFS S,M,L:
Directory Size=&0500
Free Space Map=&0000,&0001
Root =&0002-&0006
Deblocked =No
ADFS D,E,F:
Directory Size
Free Space Map= ... check RISC OS PRMs
Root
Deblocked =No
Acorn CPM:
Directory Size=&1000
Free Space Map=implied
Root =&001E00
Deblocked =Yes
HADFS:
Directory Size=&0300
Free Space Map=&0046
Root =&0047
Deblocked =No
Most Acorn formats use H:C:S numbering, ie:
logical sector=Side*TracksPerSide+Track*SecPerTrack+Sector
32bit ADFSs also use C:H:S numbering, ie:
logical sector=Track*SecPerTrack*Sides+Side*SecPerTrack+Sector
There are many others. I'm updated some documents on my website about
details of filesystem structures.
> I'm going to be doing a little fiddling about as the controller has the
> "data bytes per physical sector" parameter as well as a "block length"
> parameter (the latter being fixed at one of 128, 256, 512, or 1024
> bytes). The spec for the board doesn't mention how the two differ.
Physical sector: The physical number of bytes per sector
Block length : The number of physical bytes to fetch in one go and
addressed as a single unit.
If Physical=Block, everything is as you would expect.
But, if, for example, physical=256 and block=512, then fetching block 0
will get sector 0 and 1, and fetching block 1 will get sector 2 and 3,
etc.
> Possibly the former is how many bytes are essentially pulled off the
> drive per sector, which as then padded with zeros up to the nearest
No, padded with the next physical sector.
--
J.G.Harston (JGH BBC PD Library) 70 Camm Street, Walkley, SHEFFIELD S6 3TR
jgh@... - Running on BBCs & Masters with SJ MDFS FileServer
Z80+6502/CoPro+Tubes/Econet+SJ - - - - - - - http://www.mdfs.net/User/JGH/