|BootSmallCedar.burdock|
|  Last edit by Sturgis on  31-Aug-83 11:18:56|

BootIOP[];

LoadIOP[BootExtra];
LoadIOPModuleSymbols[BootMain];
|LoadIOPModuleSymbols[AltBoot];|
LoadIOPModuleSymbols[BootSubs];
LoadIOPModuleSymbols[LoadExtraBanksX];
IOP[D, 1]! Phase;
IOP[E, 1]! BootType;
IOP[F, 1]! BootDevice;
IOP[10, 1]! DiagBoot;
IOP[6, 2]! IntMask ← 1E;
IOP[7, 2]! @BootGoExt;
IOP[9, 2]! DefaultBootVal ← 1;
IOP[D,0]! EndPhase0 ← 0;
IOP[F,0]! EndPhaseNot0 ← 0;
IOP[11,0]! 80EC;
IOP[0,2]! PC ← 4000;
IOP[A,2]! SetInt ← FB; |"ei" in BootMain|
|IOP[B,2]! ORVersionNo ← A6;| |"ana m" in BootSubs for 2.4 EProms|


BreakIOP[DoLastBlock];
BreakIOP[ErrorReport];

StartIOP[BootGo,0]; |breaks at last block of phase 0 file|
ContinueIOP[0]; |breaks at last block of initial microcode|
ContinueIOP[0]; |breaks at last block of bank0 sub .db|


|following pair sets up StartIOPAddress to point to LoadExtraBanksX Code|
|addresses come from binding bootextra.cfg|

IOP[C,2]! StartIOPAddress← 55;
IOP[D,2]! StartIOPAddressHigh← 4A;

|UnbreakIOP[DoLastBlock];|

IOP[F,2]! StartBB;

|BreakIOP[InitTPCsOnly];|
|BreakIOP[prol4];|

IOP[13,2]! Header;
IOP[14,2]! HeaderHi;

IOP[16,2]! PreviousBank;
IOP[17,2]! LatestBank;

|BreakIOP[StartBootBlock];|
BreakIOP[DoSpecialBlock];
|BreakIOP[StartNextRead];|
|BreakIOP[GetNextWord];|
BreakIOP[DoCSBlock];

|ContinueIOP[0];|
|ContinueIOP[0];|

BreakIOP[StepBank];
BreakIOP[TestForMyKernel];