{File name dbInitLisp4K.mc; DandeLion Interlisp Emulator - Initialization Author: Purcell Last edited: 31-Jan-84 17:37:00 by don -- deleted u reg init Last edited: 24-Jan-84 11:27:34 by don -- restored u reg init Last edited: 19-Jan-84 15:35:14 by don -- added org for LCS and put kernel reserves here Last edited: 17-Jan-84 9:59:07 by don -- removed u reg init Last edited: April 6, 1983 1:35 PM; dont move display in new sysout Created: January 17, 1983 out of NewLisp.mc Last edited: February 5, 1983 11:42 AM } Reserve[0F6F]; Reserve[0F78]; Reserve[0F7F,0FFF]; {Kernel} EFCHaveLink: at[LispStart], {************************************************** init display stuff set value to MP STALL for burdock rendezvous start up lisp by a context switch to suspended frame **************************************************} TT ← 88, CANCELBR[$, 0F], c1; rhRx ← Rx ← uIOPage, c2; TT ← TT LRot8, c3; {display dcb in io page init} MAR ← [rhRx, 0EB{WakeupLoc}+0], c1; MDR ← 0, c2; uWP ← 0, c3; MAR ← [rhRx, 0EC{DBitsLoc}+0], c1; MDR ← uFF00{was 0}, c2; , c3; MAR ← [rhRx, 0ED{BorderLoc}+0], c1; MDR ← TT{8800} or 22, c2; Q ← 71{was 41}, c3; {DCtl←Q LRot0 %M}, c1; TOS ← LH.FMP, c2;{MP value} TOS ← TOS LRot8, c3; Stall: MAR ← [rhRx, IOPage.MP+0], BRANCH[Stall0, StallContinue], c1; Stall0: MDR ← TOS or RH.FMP, GOTO[StallJn], c2; StallJn: TT ← TT - 1, ZeroBr, BRANCH[Stall, StallDone], c3; StallContinue: Q ← Q - 1, ZeroBr, GOTO[StallJn], c2; Burdock: {IOPCtl ← 1, %M}CANCELBR[$, 0F], c1; Rx ← 41, c2; {DCtl ← Rx LRot0 %M}, c3; StallDone: TOSH ← 0, CANCELBR[$], c1; TOS ← KTval, c2; uPageFault ← Q ← 0, c3; {change to context Q{fxp}} FXP: rhTT ← INTERFACEspace, c1; TT ← INTERFACEbasePage, c2; TT ← TT LRot8, c3; FXP1: Map ← [rhTT,TT], c1; rhS ← nRhS, c2; Rx ← rhRx ← MD, c3; FXP2: MAR← [rhRx, Q + 0], c1; rhPV ← nRhS, c2; PV{FXP} ← MD, GOTO[RTN2], c3; {comes from nano-raid, STOP key} Reset: Noop, c1; Reset2: uPageFault ← 0, c2; Q ← 1, GOTO[FXP], c3; { E N D }