Bootable CD-ROM Format Specification
Version 1.0 Copyright 1994 Phoenix Technologies and IBM All Rights Reserved. Page 14
3.0 The INT 13 Accessible Image
The boot image is an exact replica of the floppy or hard disk the system is intended to emulate. You can create this
image by reading from the source media as if it were a Logical-Block Addressable (LBA) device and incrementing the
logical-block value until all sectors have been read. Concatenate all blocks in a single file. X3T9.2 (ATA 4.0) defines
the LBA translation as follows:
LBA 0 = Cylinder 0, Head 0, Sector 1
LBA X = ((Cylinder * Maximum Heads + Head) * Sectors per Track ) + Sector -1
Place the resulting file on the CD in ISO-9660 format, and make a catalog entry in sector 0 of the CD-ROM. It is the
responsibility of the INT 13 interface to recreate the disk geometry and to properly access the information.
4.0 INT 13 and CD-ROMs
Once the system has selected the proper boot image, the INT 13 interface must recreate the Floppy/Hard disk. It is the
responsibility of the BIOS to create a valid geometry for the virtual disk and then present this geometry in function 08.
The INT 41 pointer is not valid at this time which means that software that uses INT 41 is not valid on a CD-ROM.
When the boot code is loaded, INT 13 must reverse the CHS addresses it receives creating a valid LBA address which
is then offset by the Load LBA. This procedure can emulate all standard Floppy/Hard disk transactions. The
remainder of this section assumes that the system is using the Initial/Default Entry, or has chosen a Section Entry.
4.1 INT 13 Function 08
This function normally gets the geometry information directly from the selected catalog entry. In the case of a floppy
simulation the geometry is well known and defined as follows:
Size Tracks x Heads x Sectors
1.44 Meg 50 x 2 x 12
2.88 Meg 50 x 2 x 24
1.2 Meg 50 x 2 x 0F
When the simulated device is a Hard Disk, the BIOS should use a geometry which fits the partition table located in the
Load LBA sector. Hard Disk images may only have 1 partition in the partition table and it must be the first entry.
4.2 INT 13 Function 48
The IBM/Microsoft INT 13 extensions use function 48 for returning drive capability information. The Phoenix
Enhanced Disk Drive Specification adds to this information by providing a pointer to a table which contains extended
drive information. Byte 10, bit 6 of this table is set to 1 if the attached device is a CD-ROM. This function gives
software residing on a CD the ability to determine that it is running from a CD-ROM.
4.3 INT 13 and Booting
The selected image is only a boot image if the Boot Indicator in byte 0 of the section entry is an 88. Any other value
flags the image as not bootable, requiring the system to check the next boot device, in most cases the floppy drive.
When the boot image is in a floppy format, the CD becomes drive 00, the former drive 00 moves to 01 and all other
drive identifiers remain intact. This means that the system always has a usable floppy drives as well as maintaining all
hard disk drive letters so that a CD can boot and then install software on the user’s hard disk. The floppy remains
accessible as drive 01 to allow the software vendor to update the CD with a supplemental floppy if necessary.