{File name <tajo>xInitLisp.mc; DandeLion Interlisp Emulator - Initialization
Author: Purcell
Last edited: 8-Feb-84 15:46:41 by don -- moved some stuff to lcsStartLisp
}
Set[InitVersion, 5];
EFCHaveLink: at[LispStart],
Q ← InitVersion, c1;
Ybus ← Q xor uInitVersion, ZeroBr, c2;
Q ← 0, BRANCH[putMP9099, $], 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,{ XRefBr,} c3;
TOSH ← 0,{sysout returns true} c1;
TOS ← KTval, c2;
Noop, c3;
FXP2: MAR← [rhRx, Q + 0], c1;
rhPV ← nRhS, c2;
PV{FXP} ← MD, GOTO[RTN2], c3;
Reset: Noop, {CANCELBR[$, 0F],} c1;
Reset2: , c2;
Q ← ResetFXP, GOTO[FXP], c3;
putMP9099:
Q ← 99'd, GOTO[sink2], c1;
LMemErr: {come here if trap}
BRANCH[VirtAddrErr, EmuMemErr, 1], c1, at[1,4,CSParErr];
EmuMemErr:
Q ← 5, GOTO[sink3], c2;
VirtAddrErr:
Q ← 4, GOTO[sink3], c2;
{ E N D }