INT 19 - SYSTEM - BOOTSTRAP LOADER Desc: This interrupt reboots 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. Notes: 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 (see #0455). 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 and most clones issue an INT 18 if neither floppy nor hard disk have a valid boot sector 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 #0454). 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. the default handler is at F000h:E6F2h for 100% compatible BIOSes MS-DOS 3.2+ hangs on booting (even from floppy) if the hard disk contains extended partitions which point at each other in a loop, since it will never find the end of the linked list of extended partitions under Windows Real and Enhanced modes, calling INT 19 will hang the system in the same was as under bare DOS; under Windows Standard mode, INT 19 will successfully perform a cold reboot as it appears to have been redirected to a MOV AL,0FEh/OUT 64h,AL sequence SeeAlso: INT 14/AH=17h,INT 18,INT 5B"PC Cluster" Format of VDISK header block (at beginning of INT 19 handler's segment): Offset Size Description (Table 0454) 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 (Table 0455) 00h 446 BYTEs Master bootstrap loader code 1BEh 16 BYTEs partition record for partition 1 (see #0456) 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 (Table 0456) 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 #0457) 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 (Table 0457) 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 OS/2 Boot Manager 0Ah OPUS 0Ah Coherent swap partition 10h OPUS 12h Compaq Diagnostics partition 18h AST special Windows swap file 24h NEC MS-DOS 3.x 40h VENIX 80286 50h Disk Manager, read-only partition 51h Disk Manager, read/write partition 51h Novell??? 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 65h Novell NetWare (3.11) 70h DiskSecure Multi-Boot 75h PC/IX 80h Minix v1.1 - 1.4a 81h Minix v1.4b+ 81h Linux 81h Mitac Advanced Disk Manager 82h Linux Swap partition 83h Linux native file system (ext2fs/xiafs) 84h OS/2-renumbered type 04h partition (related to hiding DOS C: drive) 93h Amoeba file system 94h Amoeba bad block table B7h BSDI file system (secondarily swap) B8h BSDI swap partition (secondarily file system) C1h DR-DOS 6.0 LOGIN.EXE-secured 12-bit FAT partition C4h DR-DOS 6.0 LOGIN.EXE-secured 16-bit FAT partition C6h DR-DOS 6.0 LOGIN.EXE-secured Huge 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