DataMuseum.dk

Presents historical artifacts from the history of:

MIKADOS

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

See our Wiki for more about MIKADOS

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦2b3135438⟧ TextFile

    Length: 3744 (0xea0)
    Types: TextFile
    Notes: Mikados_K
    Names: »UR.K«

Derivation

└─⟦6b1c9961a⟧ Bits:30008989 INDPERM P1
    └─⟦this⟧ »UR.K« 

Mikados K File

CONST LNGTH=20;
TYPE
PARMARRAY=PACKED ARRAY (1..39) OF CHAR;
DIRECTBUF=PACKED ARRAY (1..LNGTH) OF CHAR;
CLOCKRECORD = RECORD
               DATE:PACKED ARRAY (1..10) OF CHAR;
               TIME:PACKED ARRAY (1..8) OF CHAR
              END;
VAR    PARM:^PARMARRAY;
       CLOCK:^CLOCKRECORD;
       SV,TT,OFFSET,MIN,SEC,SEC100:INTEGER;
       HOWL,ALARM,STOPWATCH:BOOLEAN;
       ALARMTIME:PACKED ARRAY (1..8) OF CHAR;
       DBUF:DIRECTBUF;
       C,CH :CHAR;
       F:STRING(11);
       QUQ:^INTEGER;
       I:INTEGER;
PROCEDURE SETUP(VAR BUFFER:DIRECTBUF;LENGTH:INTEGER);
EXTERNAL;
FUNCTION AVAIL:BOOLEAN;
EXTERNAL;
FUNCTION NEXT:CHAR;
EXTERNAL;
PROCEDURE FINIS;
EXTERNAL;
PROCEDURE UR;
BEGIN
  SETUP(DBUF,LNGTH);
  C:=' ';
  GOTOXY(62,1);WRITE('Alarm');
  IF ALARM THEN BEGIN GOTOXY(72,1);WRITE(ALARMTIME) END;
  GOTOXY(62,2);WRITE('Time');
  SV:=-1;
  REPEAT
  IF C<>CLOCK^.TIME(8) THEN
  BEGIN
    GOTOXY(67,2);
    WRITE(CLOCK^.TIME);
    C:=CLOCK^.TIME(8);
    OFFSET:=TIME;
  END;
  GOTOXY(76,2);
  WRITE((TIME-OFFSET) MOD 100:4);
  IF STOPWATCH THEN
  BEGIN
    IF (TIME<0) AND (TT>0) THEN
      SEC100:=SEC100+(32767-TT)+(32767+TIME+2)
    ELSE
      SEC100:=SEC100+TIME-TT;
    TT:=TIME;
    SEC:=SEC+SEC100 DIV 100;SEC100:=SEC100 MOD 100;
    MIN:=MIN+SEC DIV 60;    SEC:=SEC MOD 60;
    GOTOXY(60,3);
    WRITE(MIN:4,SEC:3,SEC100:3);
  END;
  IF ALARM THEN IF ALARMTIME<=CLOCK^.TIME THEN HOWL:=TRUE;
  IF HOWL THEN WRITE(CHR(7));
  IF AVAIL THEN
  BEGIN
    CH:=NEXT;
    CASE CH OF
    'S':BEGIN
          STOPWATCH:=NOT(STOPWATCH);
          IF STOPWATCH THEN BEGIN MIN:=0;SEC:=0;SEC100:=0;TT:=TIME END;
        END;
    'U':BEGIN GOTOXY(67,2);FOR I:=1 TO 8 DO CLOCK^.TIME(I):=NEXT END;
    'C':BEGIN STOPWATCH:=TRUE;TT:=TIME END;
'0','1','2','3','4','5','6','7','8','9':BEGIN FINIS;SV:=ORD(CH)-48 END;
    'M':BEGIN
          GOTOXY(70,3);
          IF STOPWATCH THEN
             WRITE(MIN:4,SEC:3,SEC100:3);
        END;
    'A':BEGIN
          HOWL:=FALSE;
          ALARM:=NOT(ALARM);
          CLOCK^.DATE(9):='0';
          IF ALARM THEN
          BEGIN
            CLOCK^.DATE(9):='1';
            GOTOXY(72,1);
            FOR I:=1 TO 8 DO BEGIN CLOCK^.DATE(I):=NEXT;
                                   ALARMTIME(I):=CLOCK^.DATE(I)
                             END;
            GOTOXY(72,1);WRITE(ALARMTIME)
          END;
        END;
    END;
  END;
  UNTIL SV>-1
END;
PROCEDURE DOIT;
BEGIN
    WRITELN(' ':20,'0 Stop');
    WRITELN;
    WRITELN(' ':20,'1 Kartoteksvedligeholdelse');
    GOTOXY(1,20);WRITELN('Vælg 0-1 ');
    UR;
    I:=SV;
    CLEARSCREEN;
    CASE I OF
    2: F:='PAKLISTE:P1';
    1: BEGIN
         WRITELN(' ':20,'1 FJOLLEREGISTER');
         GOTOXY(1,20);WRITELN('Vælg 1-1');
         REPEAT
           GOTOXY(11,20);READLN;READ(I)
         UNTIL (IORESULT=0) AND (I>-1) AND (I<7);
         CASE I OF
         1: BEGIN
              FNAVN:='FJOLREG:P2:0000:I';
              DESCNAVN:='FJOLDESC:P2:0000:J';
              REGNAVN:='FJOLLE'
            END;
         2: BEGIN
            END
         END;
         REGVEDL;
       END;
    0: F:='STOP';
    END;
END;
BEGIN
  ALARM:=CLOCK^.DATE(9)='1';
  IF ALARM THEN FOR I:=1 TO 8 DO ALARMTIME(I):=CLOCK^.DATE(I);
  HOWL:=FALSE;STOPWATCH:=FALSE;
  REPEAT
    F:=' ';
    CLEARSCREEN;
    DOIT;
  UNTIL F<>' ';
  IF F<>'STOP' THEN
  CHAIN('INTRE   *1',F,QUQ)
END.

Mikados K File

0x000…011 Line {l1=0x0f, l2=»CONST LNGTH=20;«, l3=0x0f}
0x011…017 Line {l1=0x04, l2=»TYPE«, l3=0x04}
0x017…040 Line {l1=0x27, l2=»PARMARRAY=PACKED ARRAY (1..39) OF CHAR;«, l3=0x27}
0x040…06c Line {l1=0x2a, l2=»DIRECTBUF=PACKED ARRAY (1..LNGTH) OF CHAR;«, l3=0x2a}
0x06c…082 Line {l1=0x14, l2=»CLOCKRECORD = RECORD«, l3=0x14}
0x082…0b5 Line {l1=0x31, l2=»               DATE:PACKED ARRAY (1..10) OF CHAR;«, l3=0x31}
0x0b5…0e6 Line {l1=0x2f, l2=»               TIME:PACKED ARRAY (1..8) OF CHAR«, l3=0x2f}
0x0e6…0fa Line {l1=0x12, l2=»              END;«, l3=0x12}
0x0fa…113 Line {l1=0x17, l2=»VAR    PARM:^PARMARRAY;«, l3=0x17}
0x113…12f Line {l1=0x1a, l2=»       CLOCK:^CLOCKRECORD;«, l3=0x1a}
0x12f…15c Line {l1=0x2b, l2=»       SV,TT,OFFSET,MIN,SEC,SEC100:INTEGER;«, l3=0x2b}
0x15c…182 Line {l1=0x24, l2=»       HOWL,ALARM,STOPWATCH:BOOLEAN;«, l3=0x24}
0x182…1b1 Line {l1=0x2d, l2=»       ALARMTIME:PACKED ARRAY (1..8) OF CHAR;«, l3=0x2d}
0x1b1…1c9 Line {l1=0x16, l2=»       DBUF:DIRECTBUF;«, l3=0x16}
0x1c9…1dd Line {l1=0x12, l2=»       C,CH :CHAR;«, l3=0x12}
0x1dd…1f3 Line {l1=0x14, l2=»       F:STRING(11);«, l3=0x14}
0x1f3…209 Line {l1=0x14, l2=»       QUQ:^INTEGER;«, l3=0x14}
0x209…21c Line {l1=0x11, l2=»       I:INTEGER;«, l3=0x11}
0x21c…253 Line {l1=0x35, l2=»PROCEDURE SETUP(VAR BUFFER:DIRECTBUF;LENGTH:INTEGER);«, l3=0x35}
0x253…25e Line {l1=0x09, l2=»EXTERNAL;«, l3=0x09}
0x25e…277 Line {l1=0x17, l2=»FUNCTION AVAIL:BOOLEAN;«, l3=0x17}
0x277…282 Line {l1=0x09, l2=»EXTERNAL;«, l3=0x09}
0x282…297 Line {l1=0x13, l2=»FUNCTION NEXT:CHAR;«, l3=0x13}
0x297…2a2 Line {l1=0x09, l2=»EXTERNAL;«, l3=0x09}
0x2a2…2b4 Line {l1=0x10, l2=»PROCEDURE FINIS;«, l3=0x10}
0x2b4…2bf Line {l1=0x09, l2=»EXTERNAL;«, l3=0x09}
0x2bf…2ce Line {l1=0x0d, l2=»PROCEDURE UR;«, l3=0x0d}
0x2ce…2d5 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x2d5…2eb Line {l1=0x14, l2=»  SETUP(DBUF,LNGTH);«, l3=0x14}
0x2eb…2f6 Line {l1=0x09, l2=»  C:=' ';«, l3=0x09}
0x2f6…316 Line {l1=0x1e, l2=»  GOTOXY(62,1);WRITE('Alarm');«, l3=0x1e}
0x316…350 Line {l1=0x38, l2=»  IF ALARM THEN BEGIN GOTOXY(72,1);WRITE(ALARMTIME) END;«, l3=0x38}
0x350…36f Line {l1=0x1d, l2=»  GOTOXY(62,2);WRITE('Time');«, l3=0x1d}
0x36f…37a Line {l1=0x09, l2=»  SV:=-1;«, l3=0x09}
0x37a…384 Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x384…3a1 Line {l1=0x1b, l2=»  IF C<>CLOCK^.TIME(8) THEN«, l3=0x1b}
0x3a1…3aa Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x3aa…3bd Line {l1=0x11, l2=»    GOTOXY(67,2);«, l3=0x11}
0x3bd…3d6 Line {l1=0x17, l2=»    WRITE(CLOCK^.TIME);«, l3=0x17}
0x3d6…3ee Line {l1=0x16, l2=»    C:=CLOCK^.TIME(8);«, l3=0x16}
0x3ee…401 Line {l1=0x11, l2=»    OFFSET:=TIME;«, l3=0x11}
0x401…409 Line {l1=0x06, l2=»  END;«, l3=0x06}
0x409…41a Line {l1=0x0f, l2=»  GOTOXY(76,2);«, l3=0x0f}
0x41a…43d Line {l1=0x21, l2=»  WRITE((TIME-OFFSET) MOD 100:4);«, l3=0x21}
0x43d…452 Line {l1=0x13, l2=»  IF STOPWATCH THEN«, l3=0x13}
0x452…45b Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x45b…47c Line {l1=0x1f, l2=»    IF (TIME<0) AND (TT>0) THEN«, l3=0x1f}
0x47c…4ac Line {l1=0x2e, l2=»      SEC100:=SEC100+(32767-TT)+(32767+TIME+2)«, l3=0x2e}
0x4ac…4b6 Line {l1=0x08, l2=»    ELSE«, l3=0x08}
0x4b6…4d5 Line {l1=0x1d, l2=»      SEC100:=SEC100+TIME-TT;«, l3=0x1d}
0x4d5…4e4 Line {l1=0x0d, l2=»    TT:=TIME;«, l3=0x0d}
0x4e4…519 Line {l1=0x33, l2=»    SEC:=SEC+SEC100 DIV 100;SEC100:=SEC100 MOD 100;«, l3=0x33}
0x519…547 Line {l1=0x2c, l2=»    MIN:=MIN+SEC DIV 60;    SEC:=SEC MOD 60;«, l3=0x2c}
0x547…55a Line {l1=0x11, l2=»    GOTOXY(60,3);«, l3=0x11}
0x55a…57c Line {l1=0x20, l2=»    WRITE(MIN:4,SEC:3,SEC100:3);«, l3=0x20}
0x57c…584 Line {l1=0x06, l2=»  END;«, l3=0x06}
0x584…5c0 Line {l1=0x3a, l2=»  IF ALARM THEN IF ALARMTIME<=CLOCK^.TIME THEN HOWL:=TRUE;«, l3=0x3a}
0x5c0…5df Line {l1=0x1d, l2=»  IF HOWL THEN WRITE(CHR(7));«, l3=0x1d}
0x5df…5f0 Line {l1=0x0f, l2=»  IF AVAIL THEN«, l3=0x0f}
0x5f0…5f9 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x5f9…608 Line {l1=0x0d, l2=»    CH:=NEXT;«, l3=0x0d}
0x608…618 Line {l1=0x0e, l2=»    CASE CH OF«, l3=0x0e}
0x618…627 Line {l1=0x0d, l2=»    'S':BEGIN«, l3=0x0d}
0x627…64d Line {l1=0x24, l2=»          STOPWATCH:=NOT(STOPWATCH);«, l3=0x24}
0x64d…696 Line {l1=0x47, l2=»          IF STOPWATCH THEN BEGIN MIN:=0;SEC:=0;SEC100:=0;TT:=TIME END;«, l3=0x47}
0x696…6a4 Line {l1=0x0c, l2=»        END;«, l3=0x0c}
0x6a4…6eb Line {l1=0x45, l2=»    'U':BEGIN GOTOXY(67,2);FOR I:=1 TO 8 DO CLOCK^.TIME(I):=NEXT END;«, l3=0x45}
0x6eb…718 Line {l1=0x2b, l2=»    'C':BEGIN STOPWATCH:=TRUE;TT:=TIME END;«, l3=0x2b}
0x718…761 Line {l1=0x47, l2=»'0','1','2','3','4','5','6','7','8','9':BEGIN FINIS;SV:=ORD(CH)-48 END;«, l3=0x47}
0x761…770 Line {l1=0x0d, l2=»    'M':BEGIN«, l3=0x0d}
0x770…789 Line {l1=0x17, l2=»          GOTOXY(70,3);«, l3=0x17}
0x789…7a6 Line {l1=0x1b, l2=»          IF STOPWATCH THEN«, l3=0x1b}
0x7a6…7d1 Line {l1=0x29, l2=»             WRITE(MIN:4,SEC:3,SEC100:3);«, l3=0x29}
0x7d1…7df Line {l1=0x0c, l2=»        END;«, l3=0x0c}
0x7df…7ee Line {l1=0x0d, l2=»    'A':BEGIN«, l3=0x0d}
0x7ee…806 Line {l1=0x16, l2=»          HOWL:=FALSE;«, l3=0x16}
0x806…824 Line {l1=0x1c, l2=»          ALARM:=NOT(ALARM);«, l3=0x1c}
0x824…844 Line {l1=0x1e, l2=»          CLOCK^.DATE(9):='0';«, l3=0x1e}
0x844…85d Line {l1=0x17, l2=»          IF ALARM THEN«, l3=0x17}
0x85d…86e Line {l1=0x0f, l2=»          BEGIN«, l3=0x0f}
0x86e…890 Line {l1=0x20, l2=»            CLOCK^.DATE(9):='1';«, l3=0x20}
0x890…8ab Line {l1=0x19, l2=»            GOTOXY(72,1);«, l3=0x19}
0x8ab…8e5 Line {l1=0x38, l2=»            FOR I:=1 TO 8 DO BEGIN CLOCK^.DATE(I):=NEXT;«, l3=0x38}
0x8e5…926 Line {l1=0x3f, l2=»                                   ALARMTIME(I):=CLOCK^.DATE(I)«, l3=0x3f}
0x926…949 Line {l1=0x21, l2=»                             END;«, l3=0x21}
0x949…974 Line {l1=0x29, l2=»            GOTOXY(72,1);WRITE(ALARMTIME)«, l3=0x29}
0x974…984 Line {l1=0x0e, l2=»          END;«, l3=0x0e}
0x984…992 Line {l1=0x0c, l2=»        END;«, l3=0x0c}
0x992…99c Line {l1=0x08, l2=»    END;«, l3=0x08}
0x99c…9a4 Line {l1=0x06, l2=»  END;«, l3=0x06}
0x9a4…9b3 Line {l1=0x0d, l2=»  UNTIL SV>-1«, l3=0x0d}
0x9b3…9b9 Line {l1=0x04, l2=»END;«, l3=0x04}
0x9b9…9ca Line {l1=0x0f, l2=»PROCEDURE DOIT;«, l3=0x0f}
0x9ca…9d1 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x9d1…9f0 Line {l1=0x1d, l2=»    WRITELN(' ':20,'0 Stop');«, l3=0x1d}
0x9f0…9fe Line {l1=0x0c, l2=»    WRITELN;«, l3=0x0c}
0x9fe…a31 Line {l1=0x31, l2=»    WRITELN(' ':20,'1 Kartoteksvedligeholdelse');«, l3=0x31}
0xa31…a59 Line {l1=0x26, l2=»    GOTOXY(1,20);WRITELN('Vælg 0-1 ');«, l3=0x26}
0xa59…a62 Line {l1=0x07, l2=»    UR;«, l3=0x07}
0xa62…a6e Line {l1=0x0a, l2=»    I:=SV;«, l3=0x0a}
0xa6e…a80 Line {l1=0x10, l2=»    CLEARSCREEN;«, l3=0x10}
0xa80…a8f Line {l1=0x0d, l2=»    CASE I OF«, l3=0x0d}
0xa8f…aa9 Line {l1=0x18, l2=»    2: F:='PAKLISTE:P1';«, l3=0x18}
0xaa9…ab7 Line {l1=0x0c, l2=»    1: BEGIN«, l3=0x0c}
0xab7…ae5 Line {l1=0x2c, l2=»         WRITELN(' ':20,'1 FJOLLEREGISTER');«, l3=0x2c}
0xae5…b11 Line {l1=0x2a, l2=»         GOTOXY(1,20);WRITELN('Vælg 1-1');«, l3=0x2a}
0xb11…b22 Line {l1=0x0f, l2=»         REPEAT«, l3=0x0f}
0xb22…b4b Line {l1=0x27, l2=»           GOTOXY(11,20);READLN;READ(I)«, l3=0x27}
0xb4b…b7e Line {l1=0x31, l2=»         UNTIL (IORESULT=0) AND (I>-1) AND (I<7);«, l3=0x31}
0xb7e…b92 Line {l1=0x12, l2=»         CASE I OF«, l3=0x12}
0xb92…ba5 Line {l1=0x11, l2=»         1: BEGIN«, l3=0x11}
0xba5…bd0 Line {l1=0x29, l2=»              FNAVN:='FJOLREG:P2:0000:I';«, l3=0x29}
0xbd0…bff Line {l1=0x2d, l2=»              DESCNAVN:='FJOLDESC:P2:0000:J';«, l3=0x2d}
0xbff…c20 Line {l1=0x1f, l2=»              REGNAVN:='FJOLLE'«, l3=0x1f}
0xc20…c32 Line {l1=0x10, l2=»            END;«, l3=0x10}
0xc32…c45 Line {l1=0x11, l2=»         2: BEGIN«, l3=0x11}
0xc45…c56 Line {l1=0x0f, l2=»            END«, l3=0x0f}
0xc56…c65 Line {l1=0x0d, l2=»         END;«, l3=0x0d}
0xc65…c78 Line {l1=0x11, l2=»         REGVEDL;«, l3=0x11}
0xc78…c85 Line {l1=0x0b, l2=»       END;«, l3=0x0b}
0xc85…c98 Line {l1=0x11, l2=»    0: F:='STOP';«, l3=0x11}
0xc98…ca2 Line {l1=0x08, l2=»    END;«, l3=0x08}
0xca2…ca8 Line {l1=0x04, l2=»END;«, l3=0x04}
0xca8…caf Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0xcaf…ccd Line {l1=0x1c, l2=»  ALARM:=CLOCK^.DATE(9)='1';«, l3=0x1c}
0xccd…d0d Line {l1=0x3e, l2=»  IF ALARM THEN FOR I:=1 TO 8 DO ALARMTIME(I):=CLOCK^.DATE(I);«, l3=0x3e}
0xd0d…d2e Line {l1=0x1f, l2=»  HOWL:=FALSE;STOPWATCH:=FALSE;«, l3=0x1f}
0xd2e…d38 Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0xd38…d45 Line {l1=0x0b, l2=»    F:=' ';«, l3=0x0b}
0xd45…d57 Line {l1=0x10, l2=»    CLEARSCREEN;«, l3=0x10}
0xd57…d62 Line {l1=0x09, l2=»    DOIT;«, l3=0x09}
0xd62…d73 Line {l1=0x0f, l2=»  UNTIL F<>' ';«, l3=0x0f}
0xd73…d88 Line {l1=0x13, l2=»  IF F<>'STOP' THEN«, l3=0x13}
0xd88…da5 Line {l1=0x1b, l2=»  CHAIN('INTRE   *1',F,QUQ)«, l3=0x1b}
0xda5…dab Line {l1=0x04, l2=»END.«, l3=0x04}
0xdab…dc0 00 00 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63                                    ┆  ccccccccccccccccccc┆
0xdc0…de0 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63   ┆cccccccccccccccccccccccccccccccc┆
          […0x5…]
0xe80…ea0 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 00   ┆ccccccccccccccccccccccccccccccc ┆

Reduced view