Technical information

© Jean Louis-Guérin V1.2a September 2014 Page 64 / 69
11.2 TOS&DOS MBR / EMBR
The Master Boot Records created by HDDRIVER and PPDRIVER hard disk drivers are different.
They have in common that when multiple partitions are defined the first partition is a primary partition,
and the following partitions are extended partitions that each contains a unique primary partition.
Therefore we have the following structure for multiple partitions
MBR
DBS
Reserved Sectors
DATA CLUSTERSFAT1 FAT2 Root Dir
DATA CLUSTERS
DATA CLUSTERS
DATA CLUSTERS
DATA CLUSTERS
DATA CLUSTERS
Primary
Partition
EBR
DBS
DATA CLUSTERS
DATA CLUSTERS
DATA CLUSTERS
DATA CLUSTERS
DATA CLUSTERS
EBR
DBS
DATA CLUSTERS
DATA CLUSTERS
DATA CLUSTERS
Reserved Sectors
Reserved Sectors
TBS
DATA CLUSTERSFAT1 FAT2 Root DirTBS
DATA CLUSTERSFAT1 FAT2 Root DirTBS
Note that at the beginning of each partition we have a normal Dos Boot Sector (DBS) that is followed
by a TOS Boot Sector (TBS). This will be detailed in TOS&DOS Partition Structure.
11.2.1 PPDRIVER 1.0 MBR / EMBR
For TOS&DOS partitions PPDRIVER hard disk driver uses fully Windows compatible MBR and EMBR.
The format of the MBR and EMBR follows exactly the DOS standard and therefore it is interpreted
normally by Windows and DOS utilities. Please refer to DOS/FAT Master Boot Record for more details
about this format.
Here is an example of a MBR created by PPDRIVER hard disk driver partitioning utility:
Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F
000001B0 00 00 00 00 00 00 00 00 6D 0D 0E 4E B1 A5 00 01 ........m..N±¥..
000001C0 01 00 06 40 2F 10 3F 00 00 00 BF FB 03 00 00 00 ...@/.?...¿û....
000001D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000001E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000001F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA ..............Uª
As we can see it follows exactly the DOS standard.
However it is interesting to note that:
At location 0x01B8 a random disk signature is correctly created.
As we have seen in section 9.2 a Root Sector checksum must be equal to the magic number
$1234 to be executable by TOS. In a standard TOS partition this is achieved by adjusting the
word at location 0x01FE. However it is not possible to change this value in a TOS&DOS
partition as this word is used as a DOS signature by (0xAA55 in big-endian). Therefore
PPDRIVER uses the word at location 0x01BC in the MBR to “evening out” the sector checksum.