|CPDebug.bermuda|
|LoadIOPSymbols[DiskBoot];|
|LoadIOPSymbols[RAMSysB2];|
|LoadIOPSymbols[MemDebug];|	|symbols for MesaDove.db|
|LoadIOPSymbols[RAMDebug];|	|symbols for MesaDove.db|

BootIOP[];
SetDataType[word];
WriteIO[80,8000];
SetDataType[byte];
WriteIO[E018,5];
WriteIO[E01F,FF];
LoadIOPCodeOnly[RAMSysB2];
SetDataType[word];
IOP[6, 0]! 053C ← 4000;		|prebootSwitches: without PiggyBack Board|
|IOP[6, 0]! 053C ← 00;		prebootSwitches: with PiggyBack Board|
IOP[7, 0]! CS ← C00;		|Get past burdock problems.|
IOP[8, 0]! IP ← 0;		|Get past burdock problems.|

BreakIOP["DisplayInit+C"];			|DisplayInit+C|
ContinueIOP[0];
IOP[3, 0]! DX ← FC00;		|Execute display handler from prom|

BreakIOP[IOPE@Restart];		|get into DiskInitial|
ContinueIOP[0];
UnbreakIOP[IOPE@Restart];
BreakIOP[StartRam];
ContinueIOP[0];
SetDataType[byte];
	|IOP[10, 0]! cmosDisplayStartMe ← 90;|		|Don't start the cmos display handler|
	|IOP[11, 0]! cmosDisplayStartMe+1 ← 90;|	|Put 4 Noop's starting from cmosDisplayStartMe.|
	|IOP[12, 0]! cmosDisplayStartMe+2 ← 90;|	|This should wipe out PUSH CS|
	|IOP[13, 0]! cmosDisplayStartMe+3 ← 90;|	|		Call cmosDisplayInit|
BreakIOP[DaybrkCP];				|DaybrkCP|
ContinueIOP[0];
IOP[9, 0]! ZeroDownNotifyBits+26 ← 90;		|ZeroDownNotifyBits+26|
IOP[0A, 0]! ZeroDownNotifyBits+27 ← 90;		|Don't let MesaUpDn start the CP|
IOP[0B, 0]! ZeroDownNotifyBits+28 ← 90;
IOP[0C, 0]! ZeroDownNotifyBits+29 ← 90;
IOP[0D, 0]! ZeroDownNotifyBits+2A ← 90;
BreakIOP[SystemLoop];
ContinueIOP[0];
UnbreakIOP[SystemLoop];

Boot[];
LoadNoSymbols[DaybreakInit, 0];	|run initialization code|
Break[4];
Start[0, 0, 0];
UnBreak[4];
Load[DayBreakMesa, 0];
|Load[DayBreakMesaBank0, 0];
LoadMore[DayBreakMesaBank1, 1];|
Break[ControlTrap];
Break[StackErr];
Break[XXXX];
|LoadGerm[Dove.germ];|
Break[XFER];

BreakIOP["EndError+7"];			|EndError+7|
ContinueIOP[0];			|Get past all initialization|
UnbreakIOP["EndError+7"];

Start[BootTrap, BootTrap, 0];
|CP[0C, 2] ! .mv 3A0 ← 72E;
CP[0C, 2] ! .mv 3A1 ← 0;
CP[0C, 2] ! .mv 3A2 ← 6;
CP[0C, 2] ! .mv 3A3 ← 0;
CP[0C, 2] ! .mv 3A4 ← 0;
CP[0C, 2] ! .mv 3A5 ← AA00;
CP[0C, 2] ! .mv 3A6 ← 0828;
CP[0C, 2] ! .mv 3A7 ← 0;
CP[0C, 2] ! .mv 3A8 ← 0;
CP[0C, 2] ! .mv 3A9 ← FFFF;
CP[0C, 2] ! .mv 3AA ← FFFF;
CP[0C, 2] ! .mv 3AB ← FFFF;
CP[0C, 2] ! .mv 3AC ← A;
CP[0C, 2] ! .mv 3AD ← E53;|

CP[0, 0]! UvGhigh;
CP[1, 0]! rhG;
CP[2, 0]! rhMDS;
CP[3, 0]! rhL;
CP[4, 0]! UvChigh;
CP[5, 0]! rhPC;
CP[6, 0]! .ib;
CP[7, 0]! .ibPtr;
CP[9, 0]! rhT;
CP[A, 0]! rhTT;
CP[B, 0]! rhRx;

CP[0, 1]! UvG;
CP[1, 1]! G;
CP[2, 1]! UvL;
CP[3, 1]! L;
CP[4, 1]! UvC;
CP[5, 1]! PC;
CP[6, 1]! UvPCpage;
CP[7, 1]! .pc16;
CP[8, 1]! uGFI;
CP[9, 1]! T;
CP[A, 1]! TT;
CP[B, 1]! Rx;

CP[0, 2]! TOS;
CP[1, 2]! uStack9;
CP[2, 2]! uStack8;
CP[3, 2]! uStack7;
CP[4, 2]! uStack6;
CP[5, 2]! uStack5;
CP[6, 2]! uStack4;
CP[7, 2]! uStack3;
CP[8, 2]! uStack2;
CP[9, 2]! .stackP;

UnBreak[XFER];