It isn't done as an extension. For example, in the source for an XT BIOS, one of the last things that is done is to invoke the boot strap loader via an INT 19h. The code executed by INT 19 attempts to load sector 1, track 0, head 0 from floppy 0. If that fails, the 'resident' BASIC is invoked via INT 18hChris2005 said:If the BASIC interpreter is done that way (as an extension) then I guess that's the way to go.
Note that the BIOS doesn't attempt to boot from the hard drive. Why? The XT BIOS knows not of hard drives (nothing whatsoever). All hard drive support is provided by the BIOS extension on the XT's HDD controller. So that the hard drive is looked for as a possible boot device in an XT, I'm guessing that one of the things that the initialisaion code in the controller's BIOS extention does is to alter the INT 19 vector. Thus the boot strap loader in the controller is what gets executed. That boot strap loader attempts to boot from the floppy. If that fails an attempt is made to boot from the hard drive. If that fails (and a resident BASIC is present) the controller then jumps to BASIC.