Yellow Pig's BBC Computer Pages
The BBC Master 512
Extra
Info Index | GEM Config | FIDDLOAD | Key
Correspondence
Control Sequences | Disk Formats | Screen | Interrupts | XIOS | The
Tube
About the 512 | Outline
| Bibliography | Problems
| Software | Photos |
Index
Special Floppy Disk Formats
The Master 512 supports two floppy disk formats not used by other computers.
These are a 640kb format (used for the DOS-Plus boot disk) and an 800kb format.
Both of these are FAT-based disk formats, similar to those used by MS-DOS, but
with some significant differences.
I am not going to describe here how an MS-DOS floppy disk is organised, and
in particular how the boot record, BIOS parameter block, File Allocation Table
(FAT) and root directory are constructed. Reference books on MS-DOS explain
these adequately. This page simply describes the differences.
800kb Acorn DOS Format
This is an 80-track, double-sided, double-density format. Under MS-DOS such
are only used for 3½" disks; double-density 5¼" disks use only
40-tracks. Other than this, it differs from a standard MS-DOS format floppy
disk in the following ways:
The sectors have a size of 1024 bytes. (All MS-DOS disks
have sectors of 512 bytes.) There are 5 sectors per track.
There is no boot record or BIOS parameter block. The first
sector on any MS-DOS floppy disk contains the booting code (which loads
the system files, or just tells you to insert a system disk if the files
are not present) and also contains a table of data about the disk known
as the BIOS parameter block (or BPB). In the BPB is information such as
the number of sectors per track, total disk size, size of the FAT, size
of the root directory, etc. None of this information is present
in the 800kb format, and so the FAT begins at the first sector on the disk.
(The BPB information is not needed because the sector size alone defines
the disk as Acorn 800kb format.)
There is only one copy of the FAT. MS-DOS floppy disks always
have two.
The media type ID byte (the first byte of the FAT) has the value FDh.
640kb Acorn (Bootable) DOS Format
The Master 512 uses the host's ADFS to boot up. This means that the boot floppy
has to be readable by the host system.
The 640kb DOS format is actually a hybrid ADFS-DOS format of floppy disk. The
first track of the first side is really ADFS, the remainder is DOS. However
certain features of ADFS are carried forward into the DOS structure for the
rest of the disk, making this format rather more different from a standard MS-DOS
disk than is the 800kb format.
The ADFS Section
Click here for the structure of a "normal"
ADFS disk. The 640kb DOS disk is actually slightly "faked" to ADFS.
When the disk is looked at from ADFS (you can do this using the host or with
the 80186 monitor) it has the following features:
It contains one file, called "dosboot". This takes
up 9 sectors, viz. the remainder of the first track of the disk
after the ADFS free-space map and root directory. This file is loaded into
the co-processor on hard break and executed as the first stage of the DOS
boot process. It contains enough code for the rest of the disk to be interpreted
as DOS format, and it loads the system files if present. (In fact the code
only needs to take up 6 sectors of the 9. The last one-third of this file
is filled with rubbish to make it fill the first track of the disk.)
The free-space map indicates that there is no free space
on the disk.
The size of the disk (as indicated by bytes &FC to
&FE in Sector 0) appears as &AA0 sectors. This is actually 160
sectors (10 tracks) larger than it really is. I do not know whether this
is intentional, perhaps to give 640kb DOS disks a unique signature, or
whether it is a slip-up akin to the other
one in the formatting routines that leads to problems with 360kb disks.
The root directory has the title "Acorn DOS Boot Disc",
and this will appear if it is catalogued (*CAT)
from ADFS.
The DOS Section
Apart from the first track the disk is in DOS format. Again, unlike the MS-DOS
standard, it is a double-density 80-track format which can be used with 5¼"
disks. Beyond this the format differs from an MS-DOS floppy in the following
ways:
It uses 256-byte sectors. There are 16 sectors per track.
The sectors on each track are numbered starting from 0. On
standard MS-DOS disks, and the 800kb Acorn, sectors are numbered starting
from 1. (Note: The DOS-Plus system actually "tweaks"
the sector numbers, so that from the Master 512 they appear to start at
number 1. If you look at them on a genuine PC, or indeed from the host using
OSWORD &72, then they are seen as starting at sector 0.)
The sectors increment in the order sector - track - side.
On standard, or 800kb Acorn, disks the increment order is sector - side
- track. In other words, on 640kb disks, the first half of the disk is on
Side 0. Track 79 of Side 0 is followed by Track 0 of Side 1. This is inherited
from ADFS. On other DOS disks, Track 0, Side 0 is followed by Track 0, Side
1 then Track 1, Side 0, etc.
Like the
800kb format, there is no
BPB, and the only boot record is the ADFS one. The FAT starts at the beginning
of Track 1. The sector size and ADFS first track define the disk as 640kb
Acorn DOS.
Again like the 800kb format, there is only one copy of the
FAT.
The media type ID byte (the first byte of the FAT) has the value FFh.
Summary
The following table sums up the characteristics of the two special Acorn formats,
and for comparison the four common MS-DOS floppy disk formats are included:
Acorn
640kb
Acorn
800kb
MS-DOS
360kb
MS-DOS
720kb
MS-DOS
1.2Mb
MS-DOS
1.44Mb
Density
DD
DD
DD
DD
HD
HD
Tracks per side
80
80
40
80
80
80
Sides
2
2
2
2
2
2
Sector size
256
1024
512
512
512
512
Sectors per track
16
5
9
9
15
18
Sectors numbered
0-15
1-5
1-9
1-9
1-15
1-18
Increment order
sec-tr-sd
sec-sd-tr
sec-sd-tr
sec-sd-tr
sec-sd-tr
sec-sd-tr
ADFS catalogue
7 sectors
-
-
-
-
-
Boot record size
9 sectors
(ADFS)
0
1 sector
1 sector
1 sector
1 sector
FAT type
12-bit
12-bit
12-bit
12-bit
12-bit
12-bit
FAT size
2 sectors
(512)
2 sectors
(2048)
2 sectors
(1024)
3 sectors
(1536)
7 sectors
(3584)
9 sectors
(4608)
Number of FATs
1
1
2
2
2
2
Cluster size
8 sectors
(2048)
1 sector
(1024)
2 sectors
(1024)
2 sectors
(1024)
1 sector
(512)
1 sector
(512)
Root dir. size
14 sectors
6 sectors
7 sectors
7 sectors
14 sectors
14 sectors
Max entries in
root dir.
112
192
112
112
224
224
Media type ID byte
FFh
FDh
FDh
F9h
F9h
F0h
Extra
Info Index | GEM Config | FIDDLOAD | Key
Correspondence
Control Sequences | Disk Formats | Screen | Interrupts | XIOS | The
Tube
About the 512 | Outline
| Bibliography | Problems
| Software | Photos |
Index