{bxLispIO4K.mc Purcell 23-Jul-85 0:50:58 created by cal: 5-Nov-84 15:59:05 } {***************************************************************************** BITBLT *****************************************************************************} 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 ← 0, L2 ← L2.0, IBDisp, GOTO[MiscInEnd], c2, at[0,10,MiscIn]; {was ←EIData} TOS ← 0, L2 ← L2.0, IBDisp, GOTO[MiscInEnd], c2, at[1,10,MiscIn]; {was ←EStatus} TOS ← 0, L2 ← L2.0, IBDisp, GOTO[MiscInEnd], c2, at[2,10,MiscIn]; {was ←KIData} TOS ← 0, L2 ← L2.0, IBDisp, GOTO[MiscInEnd], c2, at[3,10,MiscIn]; {was ←KStatus} TOS ← uSTATE, L2 ← L2.0, IBDisp, GOTO[MiscInEnd], c2, at[4,10,MiscIn]; {uSTATE} TOS ← 0, L2 ← L2.0, IBDisp, GOTO[MiscInEnd], c2, at[5,10,MiscIn]; {was ←MStatus} TOS ← 0, L2 ← L2.0, IBDisp, GOTO[MiscInEnd], c2, at[6,10,MiscIn]; {was ←KTest} TOS ← 0, L2 ← L2.0, IBDisp, GOTO[MiscInEnd], c2, at[7,10,MiscIn]; {was ←PPort} 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; {TT ← MD, GOTO[OutEnd], c3, at[0,10,MiscOut]; {was IOPOData←}} TT ← MD, GOTO[OutEnd], c3, at[1,10,MiscOut]; {was IOPCtl←} TT ← MD, GOTO[OutEnd], c3, at[2,10,MiscOut]; {was KOData←} TT ← MD, GOTO[OutEnd], c3, at[3,10,MiscOut]; {was KCtl←} TT ← MD, GOTO[OutEnd], c3, at[4,10,MiscOut]; {was EOData} TT ← MD, GOTO[OutEnd], c3, at[5,10,MiscOut]; {was EICtl←} TT ← MD, GOTO[OutEnd], c3, at[6,10,MiscOut]; {was DCtl←} TT ← MD, GOTO[OutEnd], c3, at[7,10,MiscOut]; {was Display Refresh} TT ← MD, GOTO[OutSetOpt], c3, at[8,10,MiscOut]; TT ← MD, GOTO[OutEnd], c3, at[ 9,10,MiscOut]; {was PCtl←} TT ← MD, GOTO[OutEnd], c3, at[0A,10,MiscOut]; {was MCtl←} {%M} {TT ← MD, GOTO[OutEnd], c3, at[0B,10,MiscOut]; } TT ← MD, GOTO[OutEnd], c3, at[0C,10,MiscOut]; {was EOCtl←} TT ← MD, GOTO[OutEnd], c3, at[0D,10,MiscOut]; {was KCmd←} TT ← MD, GOTO[OutEnd], c3, at[0E,10,MiscOut]; {was Out PPort} TT ← MD, GOTO[OutEnd], c3, at[0F,10,MiscOut]; {was POData←} OutEnd: Noop, GOTO[IB.nop], c1; OutSetOpt: uLispOptions ← 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; {*******************************************************************} { The following code is special for the Daybreak} { E N D }