|
|
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: 5056 (0x13c0)
Types: TextFile
Notes: Mikados_K
Names: »SEKTCOPY.K«
└─⟦f1b095e24⟧ Bits:30005320 Katalogisering af disketter
└─⟦this⟧ »SEKTCOPY.K«
PROGRAM SEKTCOPY; (* BR-19.02.85 *)
TYPE BLOCK = PACKED ARRAY (0..255) OF CHAR;
VAR DISCBUFFER: BLOCK;
DISC, TRACK, SECTOR, IOCODE, ERRORCODE,
I, J, K, L, P, CHARCODE, CIF1, CIF2: INTEGER;
UDBUF: STRING;
PROCEDURE PSCIU(VAR DISCBUFFER: BLOCK; DISC, TRACK, SECTOR,
IOCODE: INTEGER; VAR ERRORCODE: INTEGER);
EXTERNAL;
(*********************************************************************)
PROCEDURE WRITEHEX(I: INTEGER);
BEGIN
P := P+1;
IF I < 10 THEN UDBUF(P):=CHR(I+48) ELSE UDBUF(P):=CHR(I+55);
END;
(*********************************************************************)
PROCEDURE MAIN;
BEGIN
UDBUF := ' 0';
(*$R-*) UDBUF(0) := CHR(64) (*$R+*);
FILLCHAR(UDBUF(3),62,' ');
ERRORCODE := 0;
WRITELN('Kopiering fra : ');
WRITE( 'pladelagerbetegnelse: P');
READLN;
IF EOF THEN EXIT(MAIN);
READ(DISC);
WRITE( 'spornummer : ');
READLN;
IF EOF THEN EXIT(MAIN);
READ(TRACK);
WRITE( 'sektornummer : ');
READLN;
IF EOF THEN EXIT(MAIN);
READ(SECTOR);
IOCODE := 1;
PSCIU(DISCBUFFER,DISC,TRACK,SECTOR,IOCODE,ERRORCODE);
IF ERRORCODE <> 0 THEN BEGIN
WRITELN ('ERRORCODE:', ERRORCODE:4);
EXIT(MAIN);
END;
WRITELN(LIST,'DUMP FRA DISK P',DISC:1,', SPOR ',TRACK:3,
', SEKTOR ',SECTOR:2);
WRITELN(LIST);
FOR I := 0 TO 15 DO
BEGIN
P := 0;
WRITEHEX(I);
P := 5;
J := I * 16;
K := J + 15;
FOR L := J TO K DO
BEGIN
IF L MOD 4 = 0 THEN P := P+1;
P := P+1;
CIF1 := ORD(DISCBUFFER(L)) MOD 128;
IF (CIF1 <= 126) AND
(CIF1 >= 32) THEN
UDBUF(P) := CHR(CIF1)
ELSE
UDBUF(P) := '.';
END;
P := P+3;
FOR L := J TO K DO
BEGIN
IF L MOD 4 = 0 THEN P:=P+1;
CIF1 := ORD(DISCBUFFER(L)) DIV 16;
CIF2 := ORD(DISCBUFFER(L)) MOD 16;
WRITEHEX(CIF1);
WRITEHEX(CIF2);
END;
WRITELN(LIST,UDBUF);
END;
WRITELN(LIST,CHR(12));
END;
(*********************************************************************)
PROCEDURE KOPIER;
BEGIN
IF EOF THEN EXIT(KOPIER);
WRITELN('Kopiering til : ');
WRITE( 'pladelagerbetegnelse: P');
READLN;
IF EOF THEN EXIT(KOPIER);
READ(DISC);
WRITE( 'spornummer : ');
READLN;
IF EOF THEN EXIT(KOPIER);
READ(TRACK);
WRITE( 'sektornummer : ');
READLN;
IF EOF THEN EXIT(KOPIER);
READ(SECTOR);
IOCODE := 2;
PSCIU(DISCBUFFER,DISC,TRACK,SECTOR,IOCODE,ERRORCODE);
IF ERRORCODE <> 0 THEN WRITELN ('ERRORCODE:', ERRORCODE:4);
END; (*KOPIER*)
(*********************************************************************)
BEGIN
REPEAT
MAIN;
KOPIER;
UNTIL EOF;
WRITELN('SEKTCOPY terminated');
END.
0x0000…0025 Line {l1=0x23, l2=»PROGRAM SEKTCOPY; (* BR-19.02.85 *)«, l3=0x23}
0x0025…0028 Line {l1=0x01, l2=» «, l3=0x01}
0x0028…0055 Line {l1=0x2b, l2=»TYPE BLOCK = PACKED ARRAY (0..255) OF CHAR;«, l3=0x2b}
0x0055…0058 Line {l1=0x01, l2=» «, l3=0x01}
0x0058…0070 Line {l1=0x16, l2=»VAR DISCBUFFER: BLOCK;«, l3=0x16}
0x0070…009d Line {l1=0x2b, l2=» DISC, TRACK, SECTOR, IOCODE, ERRORCODE,«, l3=0x2b}
0x009d…00d0 Line {l1=0x31, l2=» I, J, K, L, P, CHARCODE, CIF1, CIF2: INTEGER;«, l3=0x31}
0x00d0…00e4 Line {l1=0x12, l2=» UDBUF: STRING;«, l3=0x12}
0x00e4…00e7 Line {l1=0x01, l2=» «, l3=0x01}
0x00e7…0124 Line {l1=0x3b, l2=»PROCEDURE PSCIU(VAR DISCBUFFER: BLOCK; DISC, TRACK, SECTOR,«, l3=0x3b}
0x0124…015f Line {l1=0x39, l2=» IOCODE: INTEGER; VAR ERRORCODE: INTEGER);«, l3=0x39}
0x015f…019a Line {l1=0x39, l2=» EXTERNAL;«, l3=0x39}
0x019a…01cc Line {l1=0x30, l2=» «, l3=0x30}
0x01cc…0215 Line {l1=0x47, l2=»(*********************************************************************)«, l3=0x47}
0x0215…0218 Line {l1=0x01, l2=» «, l3=0x01}
0x0218…0239 Line {l1=0x1f, l2=»PROCEDURE WRITEHEX(I: INTEGER);«, l3=0x1f}
0x0239…0240 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x0240…024d Line {l1=0x0b, l2=» P := P+1;«, l3=0x0b}
0x024d…028d Line {l1=0x3e, l2=» IF I < 10 THEN UDBUF(P):=CHR(I+48) ELSE UDBUF(P):=CHR(I+55);«, l3=0x3e}
0x028d…0293 Line {l1=0x04, l2=»END;«, l3=0x04}
0x0293…0296 Line {l1=0x01, l2=» «, l3=0x01}
0x0296…02df Line {l1=0x47, l2=»(*********************************************************************)«, l3=0x47}
0x02df…02e2 Line {l1=0x01, l2=» «, l3=0x01}
0x02e2…02f3 Line {l1=0x0f, l2=»PROCEDURE MAIN;«, l3=0x0f}
0x02f3…02fa Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x02fa…030c Line {l1=0x10, l2=» UDBUF := ' 0';«, l3=0x10}
0x030c…0334 Line {l1=0x26, l2=» (*$R-*) UDBUF(0) := CHR(64) (*$R+*);«, l3=0x26}
0x0334…0352 Line {l1=0x1c, l2=» FILLCHAR(UDBUF(3),62,' ');«, l3=0x1c}
0x0352…0365 Line {l1=0x11, l2=» ERRORCODE := 0;«, l3=0x11}
0x0365…038c Line {l1=0x25, l2=» WRITELN('Kopiering fra : ');«, l3=0x25}
0x038c…03b4 Line {l1=0x26, l2=» WRITE( 'pladelagerbetegnelse: P');«, l3=0x26}
0x03b4…03c0 Line {l1=0x0a, l2=» READLN;«, l3=0x0a}
0x03c0…03dc Line {l1=0x1a, l2=» IF EOF THEN EXIT(MAIN);«, l3=0x1a}
0x03dc…03ec Line {l1=0x0e, l2=» READ(DISC);«, l3=0x0e}
0x03ec…0413 Line {l1=0x25, l2=» WRITE( 'spornummer : ');«, l3=0x25}
0x0413…041f Line {l1=0x0a, l2=» READLN;«, l3=0x0a}
0x041f…043b Line {l1=0x1a, l2=» IF EOF THEN EXIT(MAIN);«, l3=0x1a}
0x043b…044c Line {l1=0x0f, l2=» READ(TRACK);«, l3=0x0f}
0x044c…0473 Line {l1=0x25, l2=» WRITE( 'sektornummer : ');«, l3=0x25}
0x0473…047f Line {l1=0x0a, l2=» READLN;«, l3=0x0a}
0x047f…049b Line {l1=0x1a, l2=» IF EOF THEN EXIT(MAIN);«, l3=0x1a}
0x049b…04ad Line {l1=0x10, l2=» READ(SECTOR);«, l3=0x10}
0x04ad…04be Line {l1=0x0f, l2=» IOCODE := 1;«, l3=0x0f}
0x04be…04f8 Line {l1=0x38, l2=» PSCIU(DISCBUFFER,DISC,TRACK,SECTOR,IOCODE,ERRORCODE);«, l3=0x38}
0x04f8…0519 Line {l1=0x1f, l2=» IF ERRORCODE <> 0 THEN BEGIN«, l3=0x1f}
0x0519…0544 Line {l1=0x29, l2=» WRITELN ('ERRORCODE:', ERRORCODE:4);«, l3=0x29}
0x0544…0556 Line {l1=0x10, l2=» EXIT(MAIN);«, l3=0x10}
0x0556…055f Line {l1=0x07, l2=» END;«, l3=0x07}
0x055f…059e Line {l1=0x3d, l2=» WRITELN(LIST,'DUMP FRA DISK P',DISC:1,', SPOR ',TRACK:3,«, l3=0x3d}
0x059e…05c8 Line {l1=0x28, l2=» ', SEKTOR ',SECTOR:2);«, l3=0x28}
0x05c8…05db Line {l1=0x11, l2=» WRITELN(LIST);«, l3=0x11}
0x05db…05f3 Line {l1=0x16, l2=» FOR I := 0 TO 15 DO«, l3=0x16}
0x05f3…05fd Line {l1=0x08, l2=» BEGIN«, l3=0x08}
0x05fd…060c Line {l1=0x0d, l2=» P := 0;«, l3=0x0d}
0x060c…0620 Line {l1=0x12, l2=» WRITEHEX(I);«, l3=0x12}
0x0620…062f Line {l1=0x0d, l2=» P := 5;«, l3=0x0d}
0x062f…0643 Line {l1=0x12, l2=» J := I * 16;«, l3=0x12}
0x0643…0657 Line {l1=0x12, l2=» K := J + 15;«, l3=0x12}
0x0657…0671 Line {l1=0x18, l2=» FOR L := J TO K DO«, l3=0x18}
0x0671…067e Line {l1=0x0b, l2=» BEGIN«, l3=0x0b}
0x067e…06a9 Line {l1=0x29, l2=» IF L MOD 4 = 0 THEN P := P+1;«, l3=0x29}
0x06a9…06c0 Line {l1=0x15, l2=» P := P+1;«, l3=0x15}
0x06c0…06f1 Line {l1=0x2f, l2=» CIF1 := ORD(DISCBUFFER(L)) MOD 128;«, l3=0x2f}
0x06f1…0713 Line {l1=0x20, l2=» IF (CIF1 <= 126) AND«, l3=0x20}
0x0713…0736 Line {l1=0x21, l2=» (CIF1 >= 32) THEN«, l3=0x21}
0x0736…075c Line {l1=0x24, l2=» UDBUF(P) := CHR(CIF1)«, l3=0x24}
0x075c…076e Line {l1=0x10, l2=» ELSE«, l3=0x10}
0x076e…078f Line {l1=0x1f, l2=» UDBUF(P) := '.';«, l3=0x1f}
0x078f…079b Line {l1=0x0a, l2=» END;«, l3=0x0a}
0x079b…07ac Line {l1=0x0f, l2=» P := P+3;«, l3=0x0f}
0x07ac…07c6 Line {l1=0x18, l2=» FOR L := J TO K DO«, l3=0x18}
0x07c6…07d3 Line {l1=0x0b, l2=» BEGIN«, l3=0x0b}
0x07d3…07fc Line {l1=0x27, l2=» IF L MOD 4 = 0 THEN P:=P+1;«, l3=0x27}
0x07fc…082c Line {l1=0x2e, l2=» CIF1 := ORD(DISCBUFFER(L)) DIV 16;«, l3=0x2e}
0x082c…085c Line {l1=0x2e, l2=» CIF2 := ORD(DISCBUFFER(L)) MOD 16;«, l3=0x2e}
0x085c…0879 Line {l1=0x1b, l2=» WRITEHEX(CIF1);«, l3=0x1b}
0x0879…0896 Line {l1=0x1b, l2=» WRITEHEX(CIF2);«, l3=0x1b}
0x0896…08a2 Line {l1=0x0a, l2=» END;«, l3=0x0a}
0x08a2…08be Line {l1=0x1a, l2=» WRITELN(LIST,UDBUF);«, l3=0x1a}
0x08be…08c7 Line {l1=0x07, l2=» END;«, l3=0x07}
0x08c7…08e1 Line {l1=0x18, l2=» WRITELN(LIST,CHR(12));«, l3=0x18}
0x08e1…08e8 Line {l1=0x05, l2=» END;«, l3=0x05}
0x08e8…08eb Line {l1=0x01, l2=» «, l3=0x01}
0x08eb…0934 Line {l1=0x47, l2=»(*********************************************************************)«, l3=0x47}
0x0934…0937 Line {l1=0x01, l2=» «, l3=0x01}
0x0937…094a Line {l1=0x11, l2=»PROCEDURE KOPIER;«, l3=0x11}
0x094a…0951 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x0951…096f Line {l1=0x1c, l2=» IF EOF THEN EXIT(KOPIER);«, l3=0x1c}
0x096f…0996 Line {l1=0x25, l2=» WRITELN('Kopiering til : ');«, l3=0x25}
0x0996…09be Line {l1=0x26, l2=» WRITE( 'pladelagerbetegnelse: P');«, l3=0x26}
0x09be…09ca Line {l1=0x0a, l2=» READLN;«, l3=0x0a}
0x09ca…09e8 Line {l1=0x1c, l2=» IF EOF THEN EXIT(KOPIER);«, l3=0x1c}
0x09e8…09f8 Line {l1=0x0e, l2=» READ(DISC);«, l3=0x0e}
0x09f8…0a1f Line {l1=0x25, l2=» WRITE( 'spornummer : ');«, l3=0x25}
0x0a1f…0a2b Line {l1=0x0a, l2=» READLN;«, l3=0x0a}
0x0a2b…0a49 Line {l1=0x1c, l2=» IF EOF THEN EXIT(KOPIER);«, l3=0x1c}
0x0a49…0a5a Line {l1=0x0f, l2=» READ(TRACK);«, l3=0x0f}
0x0a5a…0a81 Line {l1=0x25, l2=» WRITE( 'sektornummer : ');«, l3=0x25}
0x0a81…0a8d Line {l1=0x0a, l2=» READLN;«, l3=0x0a}
0x0a8d…0aab Line {l1=0x1c, l2=» IF EOF THEN EXIT(KOPIER);«, l3=0x1c}
0x0aab…0abd Line {l1=0x10, l2=» READ(SECTOR);«, l3=0x10}
0x0abd…0ace Line {l1=0x0f, l2=» IOCODE := 2;«, l3=0x0f}
0x0ace…0b08 Line {l1=0x38, l2=» PSCIU(DISCBUFFER,DISC,TRACK,SECTOR,IOCODE,ERRORCODE);«, l3=0x38}
0x0b08…0b48 Line {l1=0x3e, l2=» IF ERRORCODE <> 0 THEN WRITELN ('ERRORCODE:', ERRORCODE:4);«, l3=0x3e}
0x0b48…0b59 Line {l1=0x0f, l2=»END; (*KOPIER*)«, l3=0x0f}
0x0b59…0b5c Line {l1=0x01, l2=» «, l3=0x01}
0x0b5c…0ba5 Line {l1=0x47, l2=»(*********************************************************************)«, l3=0x47}
0x0ba5…0ba8 Line {l1=0x01, l2=» «, l3=0x01}
0x0ba8…0baf Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x0baf…0bb9 Line {l1=0x08, l2=» REPEAT«, l3=0x08}
0x0bb9…0bc4 Line {l1=0x09, l2=» MAIN;«, l3=0x09}
0x0bc4…0bd1 Line {l1=0x0b, l2=» KOPIER;«, l3=0x0b}
0x0bd1…0bdf Line {l1=0x0c, l2=» UNTIL EOF;«, l3=0x0c}
0x0bdf…0c02 Line {l1=0x21, l2=» WRITELN('SEKTCOPY terminated');«, l3=0x21}
0x0c02…0c08 Line {l1=0x04, l2=»END.«, l3=0x04}
0x0c08…0c20 00 00 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 ┆ cccccccccccccccccccccc┆
0x0c20…0c40 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┆
[…0x3c…]