INT 19 - SYSTEM - BOOTSTRAP LOADER
Reboot the system without clearing memory or restoring interrupt vectors.
Because interrupt vectors are preserved, this interrupt usually causes a
system hang if any TSRs have hooked vectors from 00h through 1Ch,
particularly INT 08.

Usually, the BIOS will try to read sector 1, head 0, track 0 from drive A:
to 0000h:7C00h.  If this fails, and a hard disk is installed, the BIOS will
read sector 1, head 0, track 0 of the first hard disk.  This sector should
contain a master bootstrap loader and a partition table.  After loading the
master boot sector at 0000h:7C00h, the master bootstrap loader is given
control.  It will scan the partition table for an active partition, and will
then load the operating system's bootstrap loader (contained in the first
sector of the active partition) and give it control.

True IBM PCs issue an INT 18 if neither floppy nor hard disk have a valid
boot sector.

Notes:  to accomplish a warm boot equivalent to Ctrl-Alt-Del, store 1234h in
0040h:0072h and jump to FFFFh:0000h.  For a cold boot equivalent to
a reset, store 0000h at 0040h:0072h before jumping.
VDISK.SYS hooks this interrupt to allow applications to find out how
much extended memory has been used by VDISKs (see below).  DOS 3.3+
PRINT hooks INT 19 but does not set up a correct VDISK header block
at the beginning of its INT 19 handler segment, thus causing some
programs to overwrite extended memory which is already in use.
default handler is at F000h:E6F2h for 100% compatible BIOSes
SeeAlso: INT 18

Format of VDISK header block (at beginning of INT 19 handler's segment):
Offset  Size    Description
00h 18 BYTEs   n/a (for VDISK.SYS, the device driver header)
12h 11 BYTEs   signature string "VDISK  Vn.m" for VDISK.SYS version n.m
1Dh 15 BYTEs   n/a
2Ch  3 BYTEs   linear address of first byte of available extended memory

Format of hard disk master boot sector:
Offset  Size    Description
00h 446 BYTEs  Master bootstrap loader code
1BEh 16 BYTEs   partition record for partition 1 (see below)
1CEh 16 BYTEs   partition record for partition 2
1DEh 16 BYTEs   partition record for partition 3
1EEh 16 BYTEs   partition record for partition 4
1FEh    WORD    signature, AA55h indicates valid boot block

Format of partition record:
Offset  Size    Description
00h    BYTE    boot indicator (80h = active partition)
01h    BYTE    partition start head
02h    BYTE    partition start sector (bits 0-5)
03h    BYTE    partition start track (bits 8,9 in bits 6,7 of sector)
04h    BYTE    operating system indicator (see below)
05h    BYTE    partition end head
06h    BYTE    partition end sector (bits 0-5)
07h    BYTE    partition end track (bits 8,9 in bits 6,7 of sector)
08h    DWORD   sectors preceding partition
0Ch    DWORD   length of partition in sectors

Values for operating system indicator:
00h empty
01h DOS 12-bit FAT
02h XENIX root file system
03h XENIX /usr file system (obsolete)
04h DOS 16-bit FAT
05h DOS 3.3+ extended partition
06h DOS 3.31+ Large File System
07h QNX
07h OS/2 HPFS
07h Advanced Unix
08h AIX bootable partition, SplitDrive
09h AIX data partition
09h Coherent filesystem
0Ah OPUS
0Ah Coherent swap partition
10h OPUS
40h VENIX 80286
50h Disk Manager, read-only partition
51h Novell???
51h Disk Manager, read/write partition
52h CP/M
52h Microport System V/386
56h GoldenBow VFeature
61h SpeedStor
63h Unix SysV/386, 386/ix
63h Mach, MtXinu BSD 4.3 on Mach
63h GNU HURD
64h Novell NetWare
75h PC/IX
80h Minix v1.1 - 1.4a
81h Minix v1.4b+
81h Linux
82h Linux Swap partition (planned)
93h Amoeba file system
94h Amoeba bad block table
B7h BSDI file system (secondarily swap)
B8h BSDI swap partition (secondarily file system)
C6h DR-DOS 6.0 LOGIN.EXE-secured partition
DBh CP/M, Concurrent CP/M, Concurrent DOS
DBh CTOS (Convergent Technologies OS)
E1h SpeedStor 12-bit FAT extended partition
E4h SpeedStor 16-bit FAT extended partition
F2h DOS 3.3+ secondary
FEh LANstep
FFh Xenix bad block table

See also: 1417

19 - SYSTEM - BOOTSTRAP LOADER