//bootmap.h Copyright (C) 1989-2001 I.Pedley (CTPP) Sun 17-Mar-2002 at 20:24:06 //17.3.02 defines for new boot map #define bmBIOS 0x7c00 //bios boot address, the location to which BIOS //loads boot sectors and partition tables during //boot attempts #define bmPART 0x500 //partition table loaded just above BIOS data area #define bmBOOT 0x700 //boot sector loaded just above that #define bmROOT 0x900 //work area for boot sector to load root directory #define bmLOAD 0xb00 //bootstrap loader just above that //#define rtPTF 0x69a //where to find run-time partition table flags //#define ptPTF 0x7d9a //where to set run-time partition table flags // //(partition table relocates itself to 0x500!) #define rtPTF 0x200 #define rtNETN 0x690 //address of netname in run-time partition table sector #define rtPART 0x69b //where to find run-time partition which booted //#define rtDRV 0x724 //where to find run-time bios drive identifier for // //boot device #define rtDRV 0x8fc //where to find run-time bios drive identifier for //boot device //defines for partition table ptflags field #define ptEXT 0x01 //disk has ChaOS extra partition table at sector 1 #define ptDBG 0x80 //debugger present struct BSINFO { UC res[5]; //0xcc 0xfa 0x90 0xeb 0xnn UI bsflags; //0x5000 //bsflags dword should be at START+5 UC vflags; //0x00 UI vmode; //0x0003 //default BIOS video mode to set UI vesamode; //0x0101 //default VESA video mode to set 640*480*8 UL pmvesabank; //0 UL bsendptr; CH osname[11]; //"CHAOS DIR" CH osz; //0 UL int10; UI mt8800; //memtop UI mte801lo; UI mte801hi; }; //defines for BSINFO->bsflags field #define bsKEY 0x80 //keypress step mode #define bsSYM 0x01 //bootstrap is loading OS image with symbol table #define bsVERB 0x02 //verbose messages #define bsTRC 0x08 //set real-mode register trace on int 3 (won't work //with bsDBG, as PM debugger hooks RM int 3) #define bsNOGR 0x10 //don't display banner screen while loading OS image //(needed to see bsTRC output!) #define bsALLMULTI 0x20 //bootstrap to load all of a MULTIXEC #define bsVESA 0x40 //bootstrap to set VESA graphics mode before PM switch #define bsVESADEV 0x8000 //a structure to describe layout in bootstrap of mode switch addresses //this structure is currently located in the data segment of the bootstrap //immediately following the string 'BANNER ' which is used to load the //bootstrap graphic file struct MODESWITCHES { CH idstring[8]; UL pm16sel; //16-bit code selector in GDT mapped to lin adress 0 //must be filled in by caller for RM callbacks UL pmrm; UL rmpm; UL rxpm; };