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