BUILD-AN-OS READ-ONLY FAT16 IMAGE

This file belongs to the teaching operating system built across the series.
The disk begins with a hand-written MBR and second-stage loader. The kernel is
loaded from fixed sectors so that the boot contract stays independent from the
file system introduced later.

Day 20 added a polling ATA PIO driver for the primary master. It identifies the
device, checks the LBA28 capacity, reads one 512-byte sector at a time, and
stops reusing the channel after a command timeout or device error.

Day 21 adds a read-only FAT16 layer above that block interface. The volume is
inside the first MBR partition. Its type is determined from the number of data
clusters, not from the FAT16 label. Directory entries use uppercase 8.3 names.

README.TXT is intentionally stored in a non-contiguous chain. Its first three
clusters are 2, 9, and 4. A correct reader must follow the FAT instead of adding
one to the previous cluster number. The directory file size, not the final
sector boundary, determines where the visible bytes end.

The tutorial keeps this volume read-only. It does not implement long file
names, subdirectories, allocation, truncation, crash recovery, or a buffer
cache. Corrupt BPB fields and corrupt cluster chains are rejected instead of
being converted into an apparently successful short read.

Later chapters will open this file through a descriptor, print it from the
user-mode shell, and send its bytes through a two-stage pipeline.
