#include "x16.h" #include "mem.h" /* * simple Plan 9 bootblock for ISO9660 that can load a uncompressed a.out kernel * image. looks for 386/9pcload. if heres no 386 it searches 9pcload in the root. * this is a non floppy emulation el torito bootblock! * * Diagnostics are: * ♥ alive! * ? i/o error, will retry * ! i/o error, giving up * F bad a.out magic * S could not find the file * */ #define DATA32SEL SELECTOR(1, SELGDT, 0) #define EXEC32SEL SELECTOR(2, SELGDT, 0) #define EXEC16SEL SELECTOR(3, SELGDT, 0) #define FARRET \ BYTE $0xCB #define SWAPB(r) \ BYTE $0x0F; BYTE $(0xC8|r) #define XORAL(i) \ BYTE $0x34; BYTE $i /* 2048 byte sectors */ #define SECTSHIFT 0x0B #define BY2SECT (1<