| Cedar.bermuda | | 29-Oct-87 23:47:07 | | DiskBoot.loc 18-May-87 8:56:16 PDT | | MemDebug.loc 2-Sep-87 9:48:18 PDT | | RAMDebug.loc 2-Sep-87 9:45:12 PDT | | RAMSysB2.loc 25-Sep-87 17:38:43 PDT | | 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 [1, 1]! 870C; | loaderVirtualMemoryLocation ← 3E02| IOP [6, 0]! 053C ← 4000; | prebootSwitches: without PiggyBack Board | IOP [7, 0]! CS ← C00; | Get past burdock problems. | IOP [8, 0]! IP ← 0; | Get past burdock problems. | BreakIOP [D40E]; | DisplayInit+C | ContinueIOP [0]; IOP [3, 0]! DX ← FC00; | Execute display handler from prom | BreakIOP [C64A]; | get into DiskInitial (IOPE@Restart)| ContinueIOP [0]; UnbreakIOP [C64A]; | IOPE@Restart | BreakIOP [F92]; | StartRam | ContinueIOP [0]; SetDataType [byte]; BreakIOP [95E4]; | DaybrkCP | ContinueIOP [0]; IOP [9, 0]! 1734 ← 90; | ZeroDownNotifyBits+26 | IOP [0A, 0]! 1735 ← 90; | Don't let MesaUpDn start the CP (ZeroDownNotifyBits+27)| IOP [0B, 0]! 1736 ← 90; | ZeroDownNotifyBits+28 | IOP [0C, 0]! 1737 ← 90; | ZeroDownNotifyBits+29 | IOP [0D, 0]! 1738 ← 90; | ZeroDownNotifyBits+2A | BreakIOP [C8D7]; | SystemLoop | ContinueIOP [0]; UnbreakIOP [C8D7]; | SystemLoop | Boot []; LoadNoSymbols [DaybreakInit, 0]; | run initialization code | Break [4]; Start [0, 0, 0]; UnBreak [4]; Load [Cedar0, 0]; LoadMore [Cedar1, 1]; BreakIOP [E671]; | EndError+7 | ContinueIOP [0]; | Get past all initialization | UnbreakIOP [E671]; | 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; | special germ mumbo-jumbo | CP [10, 2]! transferCount ← 30; | pages in the germ (approx) | CP [11, 2]! topPage ← 1B80; | 4MB == magic! (first vacant page) | CP [10, 0]! rBrh; CP [11, 0]! rCrh; CP [12, 0]! rDrh; CP [13, 0]! rErh; CP [10, 1]! rB; CP [11, 1]! rC; CP [12, 1]! rD; CP [13, 1]! rE; CP [16, 0]! .map 3e02; CP [17, 0]! .map 200; CP [18, 0]! .map 1b53; CP [1A, 0]! .mr 48000; CP [16, 1]! .map 1; CP [16, 2]! .map 1b7f; CP [17, 2]! .map 1b52; Break [looper]; Start [mapGerm, mapGerm, 0]; UnBreak[looper]; CP [13, 1]! rE ← 3e03; | shift germ by one page | CP [16, 0]! .map 3e02 ← 8004; | swap this special(?) page | CP [17, 0]! .map 200 ← d31f; | swap this special(?) page | CP [18, 0]! .map 1b53 ← 60; | swap this special(?) page | CP [1B, 0]! .mv 3e0200; Break [vswapdone]; Continue[0]; UnBreak[vswapdone]; | set request stuff | CP [1E, 0]! .mv 3e02f0; | action ← 0 | CP [1F, 0]! .mv 3e02f1 ← 5; | device ← 5 | CP [20, 0]! .mv 3e02f2; | ordinal ← 0 | CP [21, 0]! .mv 3e02f3 ← A80; | bootfile ← A80 (5200'b) | CP [22, 0]! .mv 3e02f4; | net ← 0 | CP [23, 0]! .mv 3e02f5; | host ← 0 | | begin emulator stuff | CP[9, 2]! .stackP; | ← 0 | CP[C, 2]! uXTS; | ← 0 | CP [12, 2]! uSDAddr; | ← 240 (1100'b ugh!) | CP [ A, 1]! TT; | ← uSDAddr (240) (corrected) | CP [13, 2]! Q; CP [1A, 1]! u200; | uAVAddr ← 200 | CP [1B, 1]! u7FF; | ← 7FF | CP [1C, 1]! u1FFF; | ← 1FFF | CP [1D, 1]! u3FFF; | ← 3FFF | CP [1E, 1]! u8000; | ← 8000 | CP [1A, 2]! uPMask; | ← 0FFC | CP [1B, 2]! uPMask2; | ← 0FFC | CP [1C, 2]! uPPMask; | ← 7000 | CP [1D, 2]! uStickyReg; | ← 0 | CP [1E, 2]! rhT; | 1 = xtFC0 | CP [1F, 2]! Usource ← 1234; | dummy | CP [20, 2]! Udest; | dummy | CP [21, 2]! uFrame; | dummy | Break [LastChance]; Start [Germ, Germ, 0]; UnBreak[LastChance]; | BreakIOP [C92B]; SYSTEMLOOP | BreakIOP [C92B]; | SYSTEMIDLE | ContinueIOP [0]; | process i/o requests | | a bunch of gf/lf/ev stuff | |*** CP [25, 0]! .mv 3e07f8; CP [26, 0]! .mv 3e07f9; CP [27, 0]! .mr 0485fa; CP [2a, 0]! .mr 0485e8; CP [24, 1]! .mv 3e0307; CP [25, 1]! .mr 048107; CP [27, 1]! .mv 3e0b68; CP [28, 1]! .mv 3e0b69; CP [2a, 1]! .mr 048068; CP [2b, 1]! .mr 048069; CP [24, 2]! .map 3e03; CP [26, 2]! .map 3e07; CP [28, 2]! .map 3e0b; ***| |*** Break ["EFCHaveLink+2"]; Continue[0]; UnBreak ["EFCHaveLink+2"]; Break [@GMF]; Continue[0]; UnBreak [@GMF]; Break [@SFC]; Continue[0]; Continue[0]; Continue[0]; UnBreak [@SFC]; Break ["LoadGC+1"]; Continue[0]; UnBreak ["LoadGC+1"]; Break [LoadGChigh]; Continue[0]; UnBreak [LoadGChigh]; Break [SetTrapParm]; Continue[0]; UnBreak [SetTrapParm]; Break [XTrap]; Continue[0]; UnBreak [XTrap]; Break ["TrapLMap+1"]; Continue[0]; UnBreak ["TrapLMap+1"]; Break ["TrapGo+1"]; Continue[0]; UnBreak ["TrapGo+1"]; Break [EFCHaveLink]; Continue[0]; UnBreak [EFCHaveLink]; Break [XferProc]; Continue[0]; UnBreak [XferProc]; *** standard xfer stuff here *** Break [MInt0]; Break [MInt1]; Break [IntReturns]; Break [ReadAndClearIOPBits]; Break [DQgh]; ***| Break [aMicVersion]; Continue[0]; UnBreak [aMicVersion]; Break [@NOTIFYIOP]; Continue[0]; UnBreak [@NOTIFYIOP]; ContinueIOP [0]; | process i/o requests | |*** Break [@JZNEB]; Break [@DADD]; Break [@DST]; Break [@EFC6]; Break [@FREE]; Break [@LFC5]; Break [@LI1]; Break [@MISC]; Break [@NILCKL]; Break [@RET]; ***| |eof...|