BootSector

The Boot sector


GeneralDesign


Boot sector Structure

OffsetLenDescription
00003jmp XXXX floowed by a NOP
0003?DiskParameterTable
XXXX?BootSector code
YYYY?filled with 0 (not necessary)
1FFE255AA for a bootable floppy flag

Disk parameter table

This table describes the format of the FloppyDisk on which it resides.

It is situated at offset 0003 in the BootSector binary:

DescriptionLen36072012001440All Formats
OEM signature8 'TCOS 0.0'
bytes per sector2 512
sectors per cluster1 1
reserved sectors2 1
number of fats1 2
number of root entries2 224
number of sectors2720144024002880
Media Type1FDF9F9F0
Sectors per fat2 9
Sectors per track2991518
Number of heads2 2
Hidden sectors4 0
Large Sectors4 0
Drive number1 0 A:
NT "dirty" flags1 0
Extended BIOS paramter block1 29h
Serial Number4 0
Disk Label11 'TCOS '
Fat system8 'FAT12 '

The BootSector source code (boot12.asm) is written for a 1440 kb FloppyDisk, hence its binary (boot12.bin) must be patched according to the table above to give you boot360.bin, boot720.bin, boot1220.bin and boot1440.bin. This patching is made via a DebugScript.


Execution scheme


BootMedium

The BootSector is designed to work on any fat12 formatted floppy with any DiskGeometry, which is HardCoded into a DiskParameterTable in the BootSector code.

Thus, the BootSector binary must be patched with the debug script to be usable from any DiskGeometry.


Installation

The boot sector is copied onto a floppy image during the BuildProcess.


Done


Links: HomePage