{mlisp4k.mc created by cal: 5-Nov-84 15:59:05 } {***************************************************************************** BITBLT *****************************************************************************} {@BBLT: opcode[166'b], Bank _ 0, c1; , c2; CROSS[BBEntry], c3; } BBThru: TOSH _ smallpl, GOTO[IB.pc1] ,c1; {***************************************************************************** MISC Input *****************************************************************************} @MISC1: opcode[170'b], L2 _ L2.0, GOTO[Misc], c1; @MISC2: opcode[171'b], L2 _ L2.0, c1; Misc: PC _ PC + 1, Xbus _ ib, XDisp, c2; uTOS _ TOS, YDisp, DISP4[MiscDisp, 0C], c3; Misc0: Q _ 121'd, CANCELBR[sink2, 0F], c1, at[0C,10, MiscDisp];{MP9121} Misc3: Q _ 121'd, CANCELBR[sink2, 0F], c1, at[0F,10, MiscDisp];{MP9121} {***************************************************************************** INPUT Input *****************************************************************************} INPUT: DISP4[MiscIn], c1, at[0D,10, MiscDisp]; TOS _ EIData, IBDisp, L2 _ L2.0, GOTO[MiscInEnd], c2, at[0,10,MiscIn]; TOS _ EStatus, IBDisp, L2 _ L2.0, GOTO[MiscInEnd], c2, at[1,10,MiscIn]; TOS _ KIData, IBDisp, L2 _ L2.0, GOTO[MiscInEnd], c2, at[2,10,MiscIn]; TOS _ KStatus, IBDisp, L2 _ L2.0, GOTO[MiscInEnd], c2, at[3,10,MiscIn]; TOS _ uSTATE, IBDisp, L2 _ L2.0, GOTO[MiscInEnd], c2, at[4,10,MiscIn]; TOS _ MStatus, IBDisp, L2 _ L2.0, GOTO[MiscInEnd], c2, at[5,10,MiscIn]; TOS _ KTest, IBDisp, L2 _ L2.0, GOTO[MiscInEnd], c2, at[6,10,MiscIn]; Q _ 122'd, GOTO[sink3], c2, at[7,10,MiscIn]; TOS _ VersionHi, GOTO[MiscVers], c2, at[8,10,MiscIn]; Q _ 122'd, GOTO[sink3], c2, at[09,10,MiscIn];{MP9122} Q _ 122'd, GOTO[sink3], c2, at[0A,10,MiscIn];{MP9122} Q _ 122'd, GOTO[sink3], c2, at[0B,10,MiscIn];{MP9122} Q _ 122'd, GOTO[sink3], c2, at[0C,10,MiscIn];{MP9122} Q _ 122'd, GOTO[sink3], c2, at[0D,10,MiscIn];{MP9122} Q _ 122'd, GOTO[sink3], c2, at[0E,10,MiscIn];{MP9122} Q _ 122'd, GOTO[sink3], c2, at[0F,10,MiscIn];{MP9122} MiscInEnd: TOSH _ smallpl, L2 _ L2.0, DISPNI[OpTable], c3; MiscVers: TOS _ TOS LRot8, c3; TOS _ TOS or VersionLo, c1; IBDisp, L2 _ L2.0, GOTO[MiscInEnd], c2; {***************************************************************************** OUTPUT Output *****************************************************************************} OUTPUT: MAR _ S _ [rhS, S + 0], Xbus _ uTOS, XDisp, CANCELBR[$, 0F], c1, at[0E,10, MiscDisp]; S _ S - 2, DISP4[MiscOut], c2; IOPOData _ MD, GOTO[OutEnd], c3, at[0,10,MiscOut]; IOPCtl _ MD, GOTO[OutEnd], c3, at[1,10,MiscOut]; KOData _ MD, GOTO[OutEnd], c3, at[2,10,MiscOut]; KCtl _ MD, GOTO[OutEnd], c3, at[3,10,MiscOut]; EOData _ MD, GOTO[OutEnd], c3, at[4,10,MiscOut]; EICtl _ MD, GOTO[OutEnd], c3, at[5,10,MiscOut]; DCtl _ MD, GOTO[OutEnd], c3, at[6,10,MiscOut]; TT _ MD, GOTO[OutSetBBTime], c3, at[7,10,MiscOut]; TT _ MD, GOTO[OutSetOpt], c3, at[8,10,MiscOut]; PCtl _ MD, GOTO[OutEnd], c3, at[9,10,MiscOut]; TT _ MD, GOTO[OutMCtl], c3, at[0A,10,MiscOut]; Q _ 120'd, GOTO[sink1], c3, at[0B,10,MiscOut];{MP9120} EOCtl _ MD, GOTO[OutEnd], c3, at[0C,10,MiscOut]; KCmd _ MD, GOTO[OutEnd], c3, at[0D,10,MiscOut]; Q _ 120'd, GOTO[sink1], c3, at[0E,10,MiscOut]; POData _ MD, GOTO[OutEnd], c3, at[0F,10,MiscOut]; OutSetBBTime: uBBTime _ TT, GOTO[IB.nop], c1; OutEnd: Noop, GOTO[IB.nop], c1; OutSetOpt: uLispOptions _ TT, GOTO[IB.nop], c1; OutMCtl: MCtl _ TT, GOTO[IB.nop], c1; {*******************************************************************} logout: TT _ 55{password to mesa}, CANCELBR[$] c2; rhRx _ Rx _ uIOPage, c3; Off: MAR _ [rhRx, IOPage.ProcessorCommand+0], c1, at[LOGOUT]; MDR _ 4, c2; uLispBootMsg _ TT, GOTO[Off], c3; Burdx: Rx _ 41, CANCELBR[$, 0F], c1; DCtl _ Rx LRot0, c2; IOPCtl _ 1, GOTO[Reset], c3; { E N D }