This is what the TRS-80 Model 1 does at startup with an Expansion Interface connected and a bootable disk mounted: read 37ECh check bit 1: (if 1, E.I. present) write 37E1h, 1 (select drive 0) write 37ECh, 3 (select track 0) check 37ECh, 0 (if true (=1), Disk drive is ready) write 37EEh, 0 (select sector 0) write 37ECh, 8Ch (read command) loop: check 37ECh, 1 (if 1, data ready, if not jp loop) read 37EFh, write to 4200h++ if not 256 bytes read, jp loop jp 4200h