DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Hard and Floppy Disks

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Hard and Floppy Disks

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦2ccaffcdc⟧ TextFile

    Length: 3528 (0xdc8)
    Types: TextFile
    Names: »EVAP.S«

Derivation

└─⟦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« 

TextFile

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