|
|
DataMuseum.dkPresents historical artifacts from the history of: MIKADOS |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about MIKADOS Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 2496 (0x9c0)
Types: TextFile
Notes: Mikados_K
Names: »NCLOCK.K«
└─⟦eb89399bc⟧ Bits:30008990 SOM ISFORIG, MEN KUN K-FILER
└─⟦this⟧ »NCLOCK.K«
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;
0x000…037 Line {l1=0x35, l2=»PROCEDURE SETUP(VAR BUFFER:DIRECTBUF;LENGTH:INTEGER);«, l3=0x35}
0x037…042 Line {l1=0x09, l2=»EXTERNAL;«, l3=0x09}
0x042…05b Line {l1=0x17, l2=»FUNCTION AVAIL:BOOLEAN;«, l3=0x17}
0x05b…066 Line {l1=0x09, l2=»EXTERNAL;«, l3=0x09}
0x066…07b Line {l1=0x13, l2=»FUNCTION NEXT:CHAR;«, l3=0x13}
0x07b…086 Line {l1=0x09, l2=»EXTERNAL;«, l3=0x09}
0x086…098 Line {l1=0x10, l2=»PROCEDURE FINIS;«, l3=0x10}
0x098…0a3 Line {l1=0x09, l2=»EXTERNAL;«, l3=0x09}
0x0a3…0b2 Line {l1=0x0d, l2=»PROCEDURE UR;«, l3=0x0d}
0x0b2…0b9 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x0b9…0cf Line {l1=0x14, l2=» SETUP(DBUF,LNGTH);«, l3=0x14}
0x0cf…0da Line {l1=0x09, l2=» C:=' ';«, l3=0x09}
0x0da…0fa Line {l1=0x1e, l2=» GOTOXY(62,1);WRITE('Alarm');«, l3=0x1e}
0x0fa…134 Line {l1=0x38, l2=» IF ALARM THEN BEGIN GOTOXY(72,1);WRITE(ALARMTIME) END;«, l3=0x38}
0x134…153 Line {l1=0x1d, l2=» GOTOXY(62,2);WRITE('Time');«, l3=0x1d}
0x153…15d Line {l1=0x08, l2=» SV:=-1«, l3=0x08}
0x15d…167 Line {l1=0x08, l2=» REPEAT«, l3=0x08}
0x167…184 Line {l1=0x1b, l2=» IF C<>CLOCK^.TIME(8) THEN«, l3=0x1b}
0x184…18d Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x18d…1a0 Line {l1=0x11, l2=» GOTOXY(67,2);«, l3=0x11}
0x1a0…1b9 Line {l1=0x17, l2=» WRITE(CLOCK^.TIME);«, l3=0x17}
0x1b9…1d1 Line {l1=0x16, l2=» C:=CLOCK^.TIME(8);«, l3=0x16}
0x1d1…1e4 Line {l1=0x11, l2=» OFFSET:=TIME;«, l3=0x11}
0x1e4…1ec Line {l1=0x06, l2=» END;«, l3=0x06}
0x1ec…1fd Line {l1=0x0f, l2=» GOTOXY(76,2);«, l3=0x0f}
0x1fd…220 Line {l1=0x21, l2=» WRITE((TIME-OFFSET) MOD 100:4);«, l3=0x21}
0x220…235 Line {l1=0x13, l2=» IF STOPWATCH THEN«, l3=0x13}
0x235…23e Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x23e…25f Line {l1=0x1f, l2=» IF (TIME<0) AND (TT>0) THEN«, l3=0x1f}
0x25f…28f Line {l1=0x2e, l2=» SEC100:=SEC100+(32767-TT)+(32767+TIME+2)«, l3=0x2e}
0x28f…299 Line {l1=0x08, l2=» ELSE«, l3=0x08}
0x299…2b8 Line {l1=0x1d, l2=» SEC100:=SEC100+TIME-TT;«, l3=0x1d}
0x2b8…2c7 Line {l1=0x0d, l2=» TT:=TIME;«, l3=0x0d}
0x2c7…2fc Line {l1=0x33, l2=» SEC:=SEC+SEC100 DIV 100;SEC100:=SEC100 MOD 100;«, l3=0x33}
0x2fc…32a Line {l1=0x2c, l2=» MIN:=MIN+SEC DIV 60; SEC:=SEC MOD 60;«, l3=0x2c}
0x32a…33d Line {l1=0x11, l2=» GOTOXY(60,3);«, l3=0x11}
0x33d…35f Line {l1=0x20, l2=» WRITE(MIN:4,SEC:3,SEC100:3);«, l3=0x20}
0x35f…367 Line {l1=0x06, l2=» END;«, l3=0x06}
0x367…3a3 Line {l1=0x3a, l2=» IF ALARM THEN IF ALARMTIME<=CLOCK^.TIME THEN HOWL:=TRUE;«, l3=0x3a}
0x3a3…3c2 Line {l1=0x1d, l2=» IF HOWL THEN WRITE(CHR(7));«, l3=0x1d}
0x3c2…3d3 Line {l1=0x0f, l2=» IF AVAIL THEN«, l3=0x0f}
0x3d3…3dc Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x3dc…3eb Line {l1=0x0d, l2=» CH:=NEXT;«, l3=0x0d}
0x3eb…3fb Line {l1=0x0e, l2=» CASE CH OF«, l3=0x0e}
0x3fb…40a Line {l1=0x0d, l2=» 'S':BEGIN«, l3=0x0d}
0x40a…430 Line {l1=0x24, l2=» STOPWATCH:=NOT(STOPWATCH);«, l3=0x24}
0x430…479 Line {l1=0x47, l2=» IF STOPWATCH THEN BEGIN MIN:=0;SEC:=0;SEC100:=0;TT:=TIME END;«, l3=0x47}
0x479…487 Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x487…4ce Line {l1=0x45, l2=» 'U':BEGIN GOTOXY(67,2);FOR I:=1 TO 8 DO CLOCK^.TIME(I):=NEXT END;«, l3=0x45}
0x4ce…4fb Line {l1=0x2b, l2=» 'C':BEGIN STOPWATCH:=TRUE;TT:=TIME END;«, l3=0x2b}
0x4fb…544 Line {l1=0x47, l2=»'0','1','2','3','4','5','6','7','8','9':BEGIN FINIS;SV:=ORD(CH-48) END;«, l3=0x47}
0x544…553 Line {l1=0x0d, l2=» 'M':BEGIN«, l3=0x0d}
0x553…56c Line {l1=0x17, l2=» GOTOXY(70,3);«, l3=0x17}
0x56c…589 Line {l1=0x1b, l2=» IF STOPWATCH THEN«, l3=0x1b}
0x589…5b4 Line {l1=0x29, l2=» WRITE(MIN:4,SEC:3,SEC100:3);«, l3=0x29}
0x5b4…5c2 Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x5c2…5d1 Line {l1=0x0d, l2=» 'A':BEGIN«, l3=0x0d}
0x5d1…5e9 Line {l1=0x16, l2=» HOWL:=FALSE;«, l3=0x16}
0x5e9…607 Line {l1=0x1c, l2=» ALARM:=NOT(ALARM);«, l3=0x1c}
0x607…627 Line {l1=0x1e, l2=» CLOCK^.DATE(9):='0';«, l3=0x1e}
0x627…640 Line {l1=0x17, l2=» IF ALARM THEN«, l3=0x17}
0x640…651 Line {l1=0x0f, l2=» BEGIN«, l3=0x0f}
0x651…673 Line {l1=0x20, l2=» CLOCK^.DATE(9):='1';«, l3=0x20}
0x673…68e Line {l1=0x19, l2=» GOTOXY(72,1);«, l3=0x19}
0x68e…6c8 Line {l1=0x38, l2=» FOR I:=1 TO 8 DO BEGIN CLOCK^.DATE(I):=NEXT;«, l3=0x38}
0x6c8…709 Line {l1=0x3f, l2=» ALARMTIME(I):=CLOCK^.DATE(I)«, l3=0x3f}
0x709…72c Line {l1=0x21, l2=» END;«, l3=0x21}
0x72c…757 Line {l1=0x29, l2=» GOTOXY(72,1);WRITE(ALARMTIME)«, l3=0x29}
0x757…767 Line {l1=0x0e, l2=» END;«, l3=0x0e}
0x767…775 Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x775…77f Line {l1=0x08, l2=» END;«, l3=0x08}
0x77f…787 Line {l1=0x06, l2=» END;«, l3=0x06}
0x787…796 Line {l1=0x0d, l2=» UNTIL SV>-1«, l3=0x0d}
0x796…79c Line {l1=0x04, l2=»END;«, l3=0x04}
0x79c…7a0 00 00 63 63 ┆ cc┆
0x7a0…7c0 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┆
[…0xf…]
0x9a0…9c0 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 ┆