DataMuseum.dkPresents historical artifacts from the history of: CR80 Hard and Floppy Disks |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CR80 Hard and Floppy Disks Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 3528 (0xdc8) Types: TextFile Names: »EVAP.S«
└─⟦ffe699cee⟧ Bits:30005101 8" CR80 Floppy CR80FD_0060 ( VOL: SCC.V NSC Directories: EVR.D OCP.D SCCINIT.D ) └─⟦9c1658a4c⟧ └─ ⟦this⟧ »EVR.D!EVAP.S«
MAINMODULE EVAP; %NOLIST %SOURCE @**GENS.D*SWELLPREFIX.D*GENERALPARAMS.S %SOURCE @**GENS.D*SWELLPREFIX.D*MONITORNAMES.S %SOURCE @**GENS.D*SWELLPREFIX.D*IOSPARAMS.S %SOURCE DISPLAY.N IMPORT PROCEDURE READ_QE(R0; R6); IMPORT PROCEDURE READ_MTCB(R0; R4; R6); IMPORT PROCEDURE INSERT_QE(R0; R1; R2; R6); %LIST %SOURCE RCT.N LABEL TERM; CONST EREAD_QE = #0000; EREAD_MTCB = #0001; EINSERT_QE0 = #0002; ENET_DIS = #0003; EINSERT_QE1 = #0004; VAR EPM : ARRAY[0..11] OF INTEGER; CMD_MSG : ARRAY[0..4] OF INTEGER; HORN_S : ARRAY[0..11] OF INTEGER; REG_CMD : INTEGER; MTCBX : INTEGER; INIT HORN_S[0] = #001E; HORN_S[1] = #0010; HORN_S[2] = #001B; HORN_S[3] = #0007; HORN_S[4] = #001B; HORN_S[5] = #0007; HORN_S[6] = #001B; HORN_S[7] = #0007; HORN_S[8] = #0000; HORN_S[9] = #0006; HORN_S[10] = #0000; HORN_S[11] = #000A; BEGIN "GET EPMTCB UNPACKED AND PUT IT IN EPM[0..11] SWITCH READ_QE(34=>R0, R6) :ERROR_DONE TO ERR : BEGIN EREAD_QE => R0; GOTO TERM; END; END; "SWITCH R0 => MTCBX; SWITCH READ_MTCB(R0, ADDRESS(EPM)=>R4, R6) :ERROR_DONE TO ERR : BEGIN EREAD_MTCB => R0; GOTO TERM; END; END; "SWITCH EPM[1] => R4; " EPM TYPE EPM[2] => R0; " EPM SUB_CAT EPM[3] => R1; " EPM EVENT NUMBER MSG_TY_TABLE[R4] => R5 + R0; SUB_CAT_TABLE[R5] => R4 + R1; CM_CODE[R4] => R0 => REG_CMD; IF R0[15] THEN BEGIN "RECEIVER ADDRESS - NEDP => R0; EPM[4] => R1 => CMD_MSG[1]; EPM[5] => R1 => CMD_MSG[2]; REG_CMD => R1 => CMD_MSG[3]; MON(SENDMESSAGE, R0, ADDRESS(CMD_MSG) => R1, R7); END; IF R0[7] THEN BEGIN CASE EPM[3] => R0 OF 0 : BEGIN "SSSC IF EPM[4] => R0 = 4 THEN SETS(REG_CMD=>R0, 3); END; 1 : BEGIN "TEDI IF EPM[6] => R0 = 1 THEN "STATUS IS TEHE SETS(REG_CMD=>R0, 4); END; 2 : BEGIN "SSNC OR TECT IF EPM[2] => R0 = 2 THEN "SSNC BEGIN IF EPM[4] => R0 = 4 THEN BEGIN SETS(REG_CMD=>R0, 4); SETS(REG_CMD=>R0, 5); END; END ELSE "TECT IF EPM[6] => R0 = 1 THEN SETS(REG_CMD=>R0, 4); END; 3 : BEGIN "TEOP IF EPM[6] => R0 = 0 LOGOR R0 = 1 THEN "STATUS TENP,TETH SETS(REG_CMD=>R0, 4); END; END; "CASE END; "SH IF R0[6] THEN BEGIN SWITCH INSERT_QE(1=>R0, 0=>R1, MTCBX=>R2, R6):ERROR_DONE TO ERR : BEGIN EINSERT_QE0 => R0; GOTO TERM; END; END; "SWITCH END; IF R0[5] THEN BEGIN "RECEIVER OPSP => R0; EPM[4] => R1 => CMD_MSG[0]; EPM[5] => R1 => CMD_MSG[1]; REG_CMD => R1 => CMD_MSG[2]; MON(SENDMESSAGE, R0, ADDRESS(CMD_MSG)=> R1, R7); END; IF R0[4] THEN SWITCH NET_DISPLAY(ADDRESS(HORN_S)=>R1, SIZE(HORN_S)=>R2, HORN_FD=>R3, R6) TO ERR : BEGIN ENET_DIS => R0; GOTO TERM; END; END; "SWITCH IF R0[3] THEN BEGIN SWITCH INSERT_QE(34=>R0, 1=>R1, MTCBX=>R2, R6):ERROR_DONE TO ERR : BEGIN EINSERT_QE1 => R0; GOTO TERM; END; END; "SWITCH END; 0 =>R0; TERM : MON(TERMINATE, R0, R1, R7); END "EVAP ENDMODULE