{File name nInitLisp.mc; DandeLion Interlisp Emulator - Initialization Author: Purcell Last edited: 15-Jul-83 11:45:48 by don -- added uLispOptions _ 0 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 } EFCHaveLink: CANCELBR[$, 0F], {from StartMesa with dispatch pending} {************************************************** STALL to test display and maintpanel: **************************************************} Rx _ 040{~15 sec}{10/sec}, c1; rhTT _ 41, TT _ 41-1, c2; TT{14000} _ TT LRot8, c3; TT{14041} _ TT +41, c1; Noop, c2; Noop, c3; Stall: MAR _ [rhTT, TT+0], BRANCH[Stall0, Stall1], c1; Stall0: MDR _ Rx, GOTO[StallJn], c2; Stall1: MDR _ Rx _ Rx - 1, ZeroBr, GOTO[StallJn], c2; StallJn: Q _ Q - 1, ZeroBr, BRANCH[Stall, $], c3; SkipBurd: Noop, CANCELBR[SkipBurdock, 0F], c1; Burdock: IOPCtl _ 1, CANCELBR[$, 0F], c1; Noop, GOTO[Burd3], c2; SkipBurdock: Noop, c2; Burd3: Noop, c3; {ShowDisplay:} BegSD: Noop, CANCELBR[$, 0F], c1; Rx _ 1 RRot1, rhRx _ 1, {CANCELBR[$, 1],} c2; Rx{4000} _ Rx RShift1, c3; MAR _ [rhRx, 0EB+0], c1; Noop{MDR _ 0}, c2; TT _ 88, c3; MAR _ [rhRx, 0EC+0], c1; MDR _ 0{Q _ 41}, c2; TT _ TT LRot8, c3; MAR _ [rhRx, 0ED{0EF}+0], c1; MDR _ TT{88} or 22, c2; PC _ 1 + PC + PC16, c3; Noop, {MAR _ [rhRx, 0E9+0],} c1; Q _ 41, {MDR _ 0,} {IBDisp,} c2; DCtl_Q LRot0, {L2 _ L2.0, DISPNI[OpTable],} c3; Begin: Rx{182} _ 0C1 LRot1, c1; Rx _ Rx LRot1, c2; uPcBreak _ Rx{304}, c3; Rx _ VALspace, c1; uValHigh _ Rx, c2; stackP _ 0, c3; BegA: Rx _ Rx xor ~Rx, c1; unboundPvar _ Rx, c2; unboundFvar _ Rx, c3; BegB: uStkLimO _ Rx, c1; uWP _ 0, c2; uWDC _ 0{uWDC inited by mesaInit}, c3; Rx _ ~0FD, c1; Rx _ Rx LRot8, c2; uBfResidualRhmask _ Rx{2FF}, c3; Rx _ 0A0, c1; Rx _ Rx LRot8, c2; uFreeStackBlock _ Rx{0A000}, c3; Rx _ 0FF + 1, c1; uFxNoPushReturn _ Rx{100h}, c2; Rx _ LShift1(Rx + Rx), SE_0, c3; BegBB: uFxInCall _ Rx{400h}, c1; Rx _ 7F, c2; u7F _ Rx{7F}, c3; BegBBB: Rx _ ~0FF, c1; u0FF _ ~Rx{~0FF}, c2; uFF00 _ Rx{~0FF}, c3; BegC: TT _ Rx{0FF00} or 1, c1; TT _ TT LRot8, c2; u1FF _ TT{1FF}, c3; TT _ Rx{0FF00} or 3, c1; TT _ TT LRot8, c2; uTT3FF _ TT{3FF}, c3; TT _ Rx{0FF00} or 3, c1; TT _ TT LRot8, c2; u3FF _ TT{3FF}, c3; TT _ Rx{0FF00} or 0F, c1; TT _ TT LRot8, c2; u0FFF _ TT{0FFF}, c3; TT _ Rx{0FF00} or 1F, c1; TT _ TT LRot8, c2; u1FFF _ TT{1FFF}, c3; TT _ Rx{0FF00} or 3F, c1; TT _ TT LRot8, c2; uTT3FFF _ TT{3FFF}, c3; TT _ Rx{0FF00} or 3F, c1; TT _ TT LRot8, c2; u3FFF _ TT{3FFF}, c3; TT _ Rx{0FF00} or 7F, c1; TT _ TT LRot8, c2; u7FFF _ TT{7FFF}, c3; defered: TT _ Rx{0FF00} or 7, c1; TT _ TT LRot8, c2; u7FF _ TT{7FF}, c3; {TT}u7FF _ TT{7FF}, c1; TT _ TT xor 1, c2; u7FE _ TT{7FF}, c3; TT _ 0, c1; uLispOptions _ TT, c2; c3; {rCount}RCnt _ 0, c1; {rY}RAdr _ 0, c2; Rx _ 80, c3; BegD: Rx _ Rx LRot8, c1; Noop, c2; uBFmark _ Rx{8000}, c3; {compliance: using uSTACKspace with duplicated high byte for bind ptr} BegE: Rx _ STACKspace, c1; Rx _ Rx LRot8, c2; Rx _ Rx or STACKspace, c3; Noop, c1; uSTACKspace _ Rx, c2; Rx _ 0C0, c3; BegF: Rx _ Rx LRot8, c1; Noop, c2; uFXmark _ Rx{C000}, c3; Set[UFNTablePageHalf, Rshift[UFNTablebase, 9]]; BegFF: Rx _ UFNTablePageHalf, c1; Rx _ Rx LRot8, c2; uUFNTableBaseHalf _ Rx, c3; {Map IOPage to 0,FF00 %%why was it smashed?} rhTT _ 0, CANCELBR[$, 1], c1; TT _ 0FF, c2; TT{0FF00} _ TT LRot8, c3; Rx _ 40, c1; Rx _ Rx LRot8, c2; uPageFault _ 0{notFaulting}, c3; Map _ [rhTT,TT], c1; MDR _ Rx{4000} or 0B1, c2; Q _ 0, c3; {change to context Q{fxp}} FXP: rhTT _ INTERFACEspace, CANCELBR[$, 1], c1; TT _ INTERFACEbasePage{20'b}{INTERFACEbase=10000'b}, 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: uPageFault _ 0, c2; Q _ 1, GOTO[FXP], c3; { E N D }