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

⟦75e9d0c8c⟧ TextFile

    Length: 7584 (0x1da0)
    Types: TextFile
    Notes: Mikados_K
    Names: »DISKCOPY.K«

Derivation

└─⟦f1b095e24⟧ Bits:30005320 Katalogisering af disketter
    └─⟦this⟧ »DISKCOPY.K« 

Mikados K File

PROGRAM DISKCOPY;
 
(* BR-18.03.85 *)
 
TYPE BLOCK    = PACKED ARRAY (0..255) OF CHAR;
     BINÆRTRÆ = ^KNUDE;
     NAVNTYPE = STRING(8);
     KNUDE    = RECORD
                  NAVN : NAVNTYPE; 
                  VENSTRE, HØJRE : BINÆRTRÆ;
                END;
 
VAR DISCBUFFER          : BLOCK;
    DISC, ERRORCODE     : INTEGER;
    ROD, FIL            : BINÆRTRÆ;
    TRÆ2, TRÆ3          : ARRAY('0'..'Å') OF BINÆRTRÆ;
    FILTYPE             : CHAR;
    FUNDET              : BOOLEAN;
    DISKCAT3, MONIFP    : TEXT;
    MONIF32, MONIF23    : TEXT;
    NYTNAVN             : NAVNTYPE;
    TAL                 : INTEGER;
    
PROCEDURE PSCIU(VAR DISCBUFFER: BLOCK; DISC, TRACK, SECTOR,
                IOCODE: INTEGER; VAR ERRORCODE: INTEGER); EXTERNAL;
 
(********************************************************************)
 
PROCEDURE RANDOMIZE;
 
BEGIN
  TAL:=ROUND(1+TIME/100);
END; (*RANDOMIZE*)
 
(********************************************************************)
 
PROCEDURE INITIALISER;
 
BEGIN
  FOR FILTYPE:='0' TO 'Å' DO TRÆ2(FILTYPE):=NIL;
  FOR FILTYPE:='0' TO 'Å' DO TRÆ3(FILTYPE) :=NIL;
  ERRORCODE:=1;
  TAL:=1;
  RANDOMIZE;
  REWRITE(DISKCAT3,'DISKCAT3:P2:10');
  REWRITE(MONIF32,'MONIF32:P2:10');
  WRITELN(MONIF32,'>FCOPY,R');
  REWRITE(MONIF23,'MONIF23:P2:10');
  WRITELN(MONIF23,'>FCOPY,R');
  REWRITE(MONIFP,'MONIFP:P2:10');
  WRITELN(MONIFP,'>FPURG');
  CLEARSCREEN;
  WRITELN('KOPIERING AF DISKETTER FRA P3 TIL P2 OG RETUR':50);
  WRITELN('*********************************************':50);
  WRITELN;
END; (*INITIALISER*)
 
(********************************************************************)
 
PROCEDURE AFSLUT;
 
BEGIN
  CLOSE(DISKCAT3);
  CLEARSCREEN;
  WRITELN('MIKADOS VERSION 01.11.1984');
END; (*AFSLUT*)
 
(********************************************************************)
 
PROCEDURE TRÆINDSÆT(VAR ROD:BINÆRTRÆ; FIL:BINÆRTRÆ);
 
BEGIN
  IF ROD=NIL THEN
    ROD:=FIL
  ELSE
    IF FIL^.NAVN<ROD^.NAVN THEN
      TRÆINDSÆT(ROD^.VENSTRE,FIL) 
    ELSE
      TRÆINDSÆT(ROD^.HØJRE,FIL);
END; (*TRÆINDSÆT*)
 
(********************************************************************)
 
PROCEDURE FINDFIL(ROD:BINÆRTRÆ; FILNAVN:NAVNTYPE; VAR FUNDET:BOOLEAN);
 
BEGIN
  IF ROD=NIL THEN
    FUNDET:=FALSE 
  ELSE
    IF ROD^.NAVN=FILNAVN THEN
      FUNDET:=TRUE
    ELSE
      IF ROD^.NAVN>FILNAVN THEN
        FINDFIL(ROD^.VENSTRE,FILNAVN,FUNDET) 
      ELSE
        FINDFIL(ROD^.HØJRE,FILNAVN,FUNDET);
END; (*FINDFIL*)
 
(********************************************************************)
 
PROCEDURE RANDOMNAVN(VAR NAVN:NAVNTYPE);
 
VAR I, NUMMER  : INTEGER;
 
(*******************)
 
FUNCTION RND(VAR INT:INTEGER): REAL;
BEGIN
  INT:=253*INT+1;
  RND:=0.5+INT/65536.0;
END;
 
(*******************)
 
BEGIN
  FOR I:=1 TO LENGTH(NAVN) DO 
    NAVN(I):=CHR(ORD('A')+TRUNC(RND(TAL)*(ORD('Å')-ORD('A'))));
END; (*RANDOMNAVN*)
 
(********************************************************************)
 
PROCEDURE TRÆGENNEMLØB(ROD:BINÆRTRÆ; FILTYPE:CHAR);
 
BEGIN
  IF ROD<>NIL THEN
  BEGIN
    TRÆGENNEMLØB(ROD^.VENSTRE,FILTYPE);
(*  WRITELN(LIST,ROD^.NAVN,' ',FILTYPE);  *)
(*  WRITELN(DISKCAT3,ROD^.NAVN,' ',FILTYPE);*)
    NYTNAVN:=ROD^.NAVN;
    FINDFIL(TRÆ2(FILTYPE),ROD^.NAVN,FUNDET);
    IF FUNDET THEN      
      REPEAT
        WRITE(NYTNAVN,' ',FILTYPE,' FINDES      PÅ P2');
        RANDOMNAVN(NYTNAVN);
        WRITELN('    NYT NAVN : ',NYTNAVN);
        FINDFIL(TRÆ2(FILTYPE),NYTNAVN,FUNDET);
      UNTIL NOT FUNDET 
    ELSE
      WRITELN(ROD^.NAVN,' ',FILTYPE,' FINDES IKKE PÅ P2');
    WRITELN(MONIF32,ROD^.NAVN);
    WRITELN(MONIF32,NYTNAVN);
    WRITELN(MONIF23,NYTNAVN);
    WRITELN(MONIF23,ROD^.NAVN);
    WRITELN(MONIFP,NYTNAVN);
    WRITELN(MONIFP,FILTYPE);
    WRITELN(MONIFP,'2');
    TRÆGENNEMLØB(ROD^.HØJRE,FILTYPE);
  END;
END; (*TRÆGENNEMLØB*)
 
(********************************************************************)
 
PROCEDURE LÆSFILCAT(DISC:INTEGER);
 
CONST CAT2  = 256; (*ANTAL SEKTORER I KATALOGEN FOR P1/P2*)
      CAT3   = 64;  (*ANTAL SEKTORER I KATALOGEN FOR P3*)
      SPS2  = 32;  (*ANTAL SEKTORER PR. SPOR FOR P1/P2*)
      SPS3   = 16;  (*ANTAL SEKTORER PR. SPOR FOR P3*)
 
VAR CATSIZE, SEKTMAX, N : INTEGER;
    TRACK, SECTOR, IOCODE, J, L, CIFFER :INTEGER;
    FILNAVN : STRING(9);
 
BEGIN
  CASE DISC OF
  1,2: BEGIN
         CATSIZE:=CAT2;
         SEKTMAX:=SPS2;
       END;
  3  : BEGIN
         CATSIZE:=CAT3;
         SEKTMAX:=SPS3;
       END;
  END;
 
  FOR N:=1 TO CATSIZE DO
  BEGIN
    TRACK := N DIV SEKTMAX;
    SECTOR:= N MOD SEKTMAX;
    ERRORCODE:=0;
    IOCODE := 1;
    PSCIU(DISCBUFFER,DISC,TRACK,SECTOR,IOCODE,ERRORCODE);
    IF ERRORCODE <> 0 THEN EXIT(LÆSFILCAT);
 
    J:=0;
    REPEAT
      FILNAVN:='*********';
      FOR L := J TO J+8 DO
      BEGIN
        CIFFER := ORD(DISCBUFFER(L)) MOD 128;
        IF (CIFFER <= 126) AND (CIFFER>=32) THEN FILNAVN(L-J+1):=CHR(CIFFER);
      END;
      FILTYPE:=FILNAVN(9);
      FILNAVN:=COPY(FILNAVN,1,8);
      IF (SCAN(8,='*',FILNAVN(1))=8) AND (FILTYPE IN (.'0'..'Å'.)) THEN
      BEGIN
        NEW(FIL);
        FIL^.NAVN:=FILNAVN;
        FIL^.VENSTRE:=NIL;
        FIL^.HØJRE:=NIL;
        CASE DISC OF 
        1,2: TRÆINDSÆT(TRÆ2(FILTYPE),FIL);
        3  : TRÆINDSÆT(TRÆ3(FILTYPE),FIL);
        END;
(*      WRITELN(LIST,TRACK:3,'  ',SECTOR:2,'  ',FILNAVN,' ',FILTYPE);*)
      END;
      J:=J+13;
    UNTIL (FILNAVN='********') OR (J>=242);
  END; (*FOR N:=....*)
END; (*LÆSFILCAT*)
 
(**********************************************************************)
 
PROCEDURE MAIN;
 
VAR FILNAVN             : NAVNTYPE;
    FTYPE               : STRING(1);
    PCB1, PCB2, PCB3    : ^INTEGER;
    
BEGIN
  INITIALISER;
 
  FOR DISC:=3 DOWNTO 2 DO BEGIN
    WRITELN('Katalogen på disk P',DISC,' læses. VENT !');
    LÆSFILCAT(DISC);
    WRITELN;
  END;
 
  FOR FILTYPE:='0' TO 'Å' DO
    IF TRÆ3(FILTYPE)<>NIL THEN BEGIN
      WRITELN(MONIF32,'3');
      WRITELN(MONIF32,'2');
      WRITELN(MONIF32,FILTYPE);
      WRITELN(MONIF23,'2');
      WRITELN(MONIF23,'3');
      WRITELN(MONIF23,FILTYPE);
      TRÆGENNEMLØB(TRÆ3(FILTYPE),FILTYPE);
      WRITELN(MONIF32,' ');
      WRITELN(MONIF23,' ');
    END;
  WRITELN(MONIF32,'><');
  WRITELN(MONIF23,'><');
  WRITELN(MONIFP,'><');
  CLOSE(MONIF32);
  CLOSE(MONIF23);
  CLOSE(MONIFP);
  WRITELN;
(*WRITE('Fortryder du så tryk på <ESC>, ellers tryk på <RETURN> ');*)
(*READLN;*)
(*IF NOT EOF THEN BEGIN*)
(*  CHAIN('MONITOR *1','MONIF32:P2 ',PCB1);  *)
(*  WRITE('INDSÆT NY DISKETTE OG TRYK PÅ <RETURN> ');*)
(*  READLN;*)
(*  CHAIN('MONITOR *1','MONIF23:P2 ',PCB2);*)
(*  CHAIN('MONITOR *1','MONIFP:P2 ',PCB3);*)
(*END;*)
END; (*MAIN*)
 
(**********************************************************************)
 
BEGIN
  MAIN;
  IF ERRORCODE <> 0 THEN WRITELN ('ERRORCODE:', ERRORCODE:4);
  AFSLUT;
END.

Mikados K File

0x0000…0013 Line {l1=0x11, l2=»PROGRAM DISKCOPY;«, l3=0x11}
0x0013…0016 Line {l1=0x01, l2=» «, l3=0x01}
0x0016…0029 Line {l1=0x11, l2=»(* BR-18.03.85 *)«, l3=0x11}
0x0029…002c Line {l1=0x01, l2=» «, l3=0x01}
0x002c…005c Line {l1=0x2e, l2=»TYPE BLOCK    = PACKED ARRAY (0..255) OF CHAR;«, l3=0x2e}
0x005c…0075 Line {l1=0x17, l2=»     BINÆRTRÆ = ^KNUDE;«, l3=0x17}
0x0075…0091 Line {l1=0x1a, l2=»     NAVNTYPE = STRING(8);«, l3=0x1a}
0x0091…00a9 Line {l1=0x16, l2=»     KNUDE    = RECORD«, l3=0x16}
0x00a9…00ce Line {l1=0x23, l2=»                  NAVN : NAVNTYPE; «, l3=0x23}
0x00ce…00fc Line {l1=0x2c, l2=»                  VENSTRE, HØJRE : BINÆRTRÆ;«, l3=0x2c}
0x00fc…0112 Line {l1=0x14, l2=»                END;«, l3=0x14}
0x0112…0115 Line {l1=0x01, l2=» «, l3=0x01}
0x0115…0137 Line {l1=0x20, l2=»VAR DISCBUFFER          : BLOCK;«, l3=0x20}
0x0137…015b Line {l1=0x22, l2=»    DISC, ERRORCODE     : INTEGER;«, l3=0x22}
0x015b…0180 Line {l1=0x23, l2=»    ROD, FIL            : BINÆRTRÆ;«, l3=0x23}
0x0180…01b8 Line {l1=0x36, l2=»    TRÆ2, TRÆ3          : ARRAY('0'..'Å') OF BINÆRTRÆ;«, l3=0x36}
0x01b8…01d9 Line {l1=0x1f, l2=»    FILTYPE             : CHAR;«, l3=0x1f}
0x01d9…01fd Line {l1=0x22, l2=»    FUNDET              : BOOLEAN;«, l3=0x22}
0x01fd…021e Line {l1=0x1f, l2=»    DISKCAT3, MONIFP    : TEXT;«, l3=0x1f}
0x021e…023f Line {l1=0x1f, l2=»    MONIF32, MONIF23    : TEXT;«, l3=0x1f}
0x023f…0264 Line {l1=0x23, l2=»    NYTNAVN             : NAVNTYPE;«, l3=0x23}
0x0264…0288 Line {l1=0x22, l2=»    TAL                 : INTEGER;«, l3=0x22}
0x0288…028e Line {l1=0x04, l2=»    «, l3=0x04}
0x028e…02cb Line {l1=0x3b, l2=»PROCEDURE PSCIU(VAR DISCBUFFER: BLOCK; DISC, TRACK, SECTOR,«, l3=0x3b}
0x02cb…0310 Line {l1=0x43, l2=»                IOCODE: INTEGER; VAR ERRORCODE: INTEGER); EXTERNAL;«, l3=0x43}
0x0310…0313 Line {l1=0x01, l2=» «, l3=0x01}
0x0313…035b Line {l1=0x46, l2=»(********************************************************************)«, l3=0x46}
0x035b…035e Line {l1=0x01, l2=» «, l3=0x01}
0x035e…0374 Line {l1=0x14, l2=»PROCEDURE RANDOMIZE;«, l3=0x14}
0x0374…0377 Line {l1=0x01, l2=» «, l3=0x01}
0x0377…037e Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x037e…0399 Line {l1=0x19, l2=»  TAL:=ROUND(1+TIME/100);«, l3=0x19}
0x0399…03ad Line {l1=0x12, l2=»END; (*RANDOMIZE*)«, l3=0x12}
0x03ad…03b0 Line {l1=0x01, l2=» «, l3=0x01}
0x03b0…03f8 Line {l1=0x46, l2=»(********************************************************************)«, l3=0x46}
0x03f8…03fb Line {l1=0x01, l2=» «, l3=0x01}
0x03fb…0413 Line {l1=0x16, l2=»PROCEDURE INITIALISER;«, l3=0x16}
0x0413…0416 Line {l1=0x01, l2=» «, l3=0x01}
0x0416…041d Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x041d…044f Line {l1=0x30, l2=»  FOR FILTYPE:='0' TO 'Å' DO TRÆ2(FILTYPE):=NIL;«, l3=0x30}
0x044f…0482 Line {l1=0x31, l2=»  FOR FILTYPE:='0' TO 'Å' DO TRÆ3(FILTYPE) :=NIL;«, l3=0x31}
0x0482…0493 Line {l1=0x0f, l2=»  ERRORCODE:=1;«, l3=0x0f}
0x0493…049e Line {l1=0x09, l2=»  TAL:=1;«, l3=0x09}
0x049e…04ac Line {l1=0x0c, l2=»  RANDOMIZE;«, l3=0x0c}
0x04ac…04d3 Line {l1=0x25, l2=»  REWRITE(DISKCAT3,'DISKCAT3:P2:10');«, l3=0x25}
0x04d3…04f8 Line {l1=0x23, l2=»  REWRITE(MONIF32,'MONIF32:P2:10');«, l3=0x23}
0x04f8…0518 Line {l1=0x1e, l2=»  WRITELN(MONIF32,'>FCOPY,R');«, l3=0x1e}
0x0518…053d Line {l1=0x23, l2=»  REWRITE(MONIF23,'MONIF23:P2:10');«, l3=0x23}
0x053d…055d Line {l1=0x1e, l2=»  WRITELN(MONIF23,'>FCOPY,R');«, l3=0x1e}
0x055d…0580 Line {l1=0x21, l2=»  REWRITE(MONIFP,'MONIFP:P2:10');«, l3=0x21}
0x0580…059d Line {l1=0x1b, l2=»  WRITELN(MONIFP,'>FPURG');«, l3=0x1b}
0x059d…05ad Line {l1=0x0e, l2=»  CLEARSCREEN;«, l3=0x0e}
0x05ad…05ed Line {l1=0x3e, l2=»  WRITELN('KOPIERING AF DISKETTER FRA P3 TIL P2 OG RETUR':50);«, l3=0x3e}
0x05ed…062d Line {l1=0x3e, l2=»  WRITELN('*********************************************':50);«, l3=0x3e}
0x062d…0639 Line {l1=0x0a, l2=»  WRITELN;«, l3=0x0a}
0x0639…064f Line {l1=0x14, l2=»END; (*INITIALISER*)«, l3=0x14}
0x064f…0652 Line {l1=0x01, l2=» «, l3=0x01}
0x0652…069a Line {l1=0x46, l2=»(********************************************************************)«, l3=0x46}
0x069a…069d Line {l1=0x01, l2=» «, l3=0x01}
0x069d…06b0 Line {l1=0x11, l2=»PROCEDURE AFSLUT;«, l3=0x11}
0x06b0…06b3 Line {l1=0x01, l2=» «, l3=0x01}
0x06b3…06ba Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x06ba…06ce Line {l1=0x12, l2=»  CLOSE(DISKCAT3);«, l3=0x12}
0x06ce…06de Line {l1=0x0e, l2=»  CLEARSCREEN;«, l3=0x0e}
0x06de…0708 Line {l1=0x28, l2=»  WRITELN('MIKADOS VERSION 01.11.1984');«, l3=0x28}
0x0708…0719 Line {l1=0x0f, l2=»END; (*AFSLUT*)«, l3=0x0f}
0x0719…071c Line {l1=0x01, l2=» «, l3=0x01}
0x071c…0764 Line {l1=0x46, l2=»(********************************************************************)«, l3=0x46}
0x0764…0767 Line {l1=0x01, l2=» «, l3=0x01}
0x0767…079d Line {l1=0x34, l2=»PROCEDURE TRÆINDSÆT(VAR ROD:BINÆRTRÆ; FIL:BINÆRTRÆ);«, l3=0x34}
0x079d…07a0 Line {l1=0x01, l2=» «, l3=0x01}
0x07a0…07a7 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x07a7…07ba Line {l1=0x11, l2=»  IF ROD=NIL THEN«, l3=0x11}
0x07ba…07c8 Line {l1=0x0c, l2=»    ROD:=FIL«, l3=0x0c}
0x07c8…07d0 Line {l1=0x06, l2=»  ELSE«, l3=0x06}
0x07d0…07f1 Line {l1=0x1f, l2=»    IF FIL^.NAVN<ROD^.NAVN THEN«, l3=0x1f}
0x07f1…0815 Line {l1=0x22, l2=»      TRÆINDSÆT(ROD^.VENSTRE,FIL) «, l3=0x22}
0x0815…081f Line {l1=0x08, l2=»    ELSE«, l3=0x08}
0x081f…0841 Line {l1=0x20, l2=»      TRÆINDSÆT(ROD^.HØJRE,FIL);«, l3=0x20}
0x0841…0855 Line {l1=0x12, l2=»END; (*TRÆINDSÆT*)«, l3=0x12}
0x0855…0858 Line {l1=0x01, l2=» «, l3=0x01}
0x0858…08a0 Line {l1=0x46, l2=»(********************************************************************)«, l3=0x46}
0x08a0…08a3 Line {l1=0x01, l2=» «, l3=0x01}
0x08a3…08eb Line {l1=0x46, l2=»PROCEDURE FINDFIL(ROD:BINÆRTRÆ; FILNAVN:NAVNTYPE; VAR FUNDET:BOOLEAN);«, l3=0x46}
0x08eb…08ee Line {l1=0x01, l2=» «, l3=0x01}
0x08ee…08f5 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x08f5…0908 Line {l1=0x11, l2=»  IF ROD=NIL THEN«, l3=0x11}
0x0908…091c Line {l1=0x12, l2=»    FUNDET:=FALSE «, l3=0x12}
0x091c…0924 Line {l1=0x06, l2=»  ELSE«, l3=0x06}
0x0924…0943 Line {l1=0x1d, l2=»    IF ROD^.NAVN=FILNAVN THEN«, l3=0x1d}
0x0943…0957 Line {l1=0x12, l2=»      FUNDET:=TRUE«, l3=0x12}
0x0957…0961 Line {l1=0x08, l2=»    ELSE«, l3=0x08}
0x0961…0982 Line {l1=0x1f, l2=»      IF ROD^.NAVN>FILNAVN THEN«, l3=0x1f}
0x0982…09b1 Line {l1=0x2d, l2=»        FINDFIL(ROD^.VENSTRE,FILNAVN,FUNDET) «, l3=0x2d}
0x09b1…09bd Line {l1=0x0a, l2=»      ELSE«, l3=0x0a}
0x09bd…09ea Line {l1=0x2b, l2=»        FINDFIL(ROD^.HØJRE,FILNAVN,FUNDET);«, l3=0x2b}
0x09ea…09fc Line {l1=0x10, l2=»END; (*FINDFIL*)«, l3=0x10}
0x09fc…09ff Line {l1=0x01, l2=» «, l3=0x01}
0x09ff…0a47 Line {l1=0x46, l2=»(********************************************************************)«, l3=0x46}
0x0a47…0a4a Line {l1=0x01, l2=» «, l3=0x01}
0x0a4a…0a74 Line {l1=0x28, l2=»PROCEDURE RANDOMNAVN(VAR NAVN:NAVNTYPE);«, l3=0x28}
0x0a74…0a77 Line {l1=0x01, l2=» «, l3=0x01}
0x0a77…0a92 Line {l1=0x19, l2=»VAR I, NUMMER  : INTEGER;«, l3=0x19}
0x0a92…0a95 Line {l1=0x01, l2=» «, l3=0x01}
0x0a95…0aac Line {l1=0x15, l2=»(*******************)«, l3=0x15}
0x0aac…0aaf Line {l1=0x01, l2=» «, l3=0x01}
0x0aaf…0ad5 Line {l1=0x24, l2=»FUNCTION RND(VAR INT:INTEGER): REAL;«, l3=0x24}
0x0ad5…0adc Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x0adc…0aef Line {l1=0x11, l2=»  INT:=253*INT+1;«, l3=0x11}
0x0aef…0b08 Line {l1=0x17, l2=»  RND:=0.5+INT/65536.0;«, l3=0x17}
0x0b08…0b0e Line {l1=0x04, l2=»END;«, l3=0x04}
0x0b0e…0b11 Line {l1=0x01, l2=» «, l3=0x01}
0x0b11…0b28 Line {l1=0x15, l2=»(*******************)«, l3=0x15}
0x0b28…0b2b Line {l1=0x01, l2=» «, l3=0x01}
0x0b2b…0b32 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x0b32…0b52 Line {l1=0x1e, l2=»  FOR I:=1 TO LENGTH(NAVN) DO «, l3=0x1e}
0x0b52…0b93 Line {l1=0x3f, l2=»    NAVN(I):=CHR(ORD('A')+TRUNC(RND(TAL)*(ORD('Å')-ORD('A'))));«, l3=0x3f}
0x0b93…0ba8 Line {l1=0x13, l2=»END; (*RANDOMNAVN*)«, l3=0x13}
0x0ba8…0bab Line {l1=0x01, l2=» «, l3=0x01}
0x0bab…0bf3 Line {l1=0x46, l2=»(********************************************************************)«, l3=0x46}
0x0bf3…0bf6 Line {l1=0x01, l2=» «, l3=0x01}
0x0bf6…0c2b Line {l1=0x33, l2=»PROCEDURE TRÆGENNEMLØB(ROD:BINÆRTRÆ; FILTYPE:CHAR);«, l3=0x33}
0x0c2b…0c2e Line {l1=0x01, l2=» «, l3=0x01}
0x0c2e…0c35 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x0c35…0c49 Line {l1=0x12, l2=»  IF ROD<>NIL THEN«, l3=0x12}
0x0c49…0c52 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x0c52…0c7b Line {l1=0x27, l2=»    TRÆGENNEMLØB(ROD^.VENSTRE,FILTYPE);«, l3=0x27}
0x0c7b…0ca9 Line {l1=0x2c, l2=»(*  WRITELN(LIST,ROD^.NAVN,' ',FILTYPE);  *)«, l3=0x2c}
0x0ca9…0cd9 Line {l1=0x2e, l2=»(*  WRITELN(DISKCAT3,ROD^.NAVN,' ',FILTYPE);*)«, l3=0x2e}
0x0cd9…0cf2 Line {l1=0x17, l2=»    NYTNAVN:=ROD^.NAVN;«, l3=0x17}
0x0cf2…0d20 Line {l1=0x2c, l2=»    FINDFIL(TRÆ2(FILTYPE),ROD^.NAVN,FUNDET);«, l3=0x2c}
0x0d20…0d3a Line {l1=0x18, l2=»    IF FUNDET THEN      «, l3=0x18}
0x0d3a…0d48 Line {l1=0x0c, l2=»      REPEAT«, l3=0x0c}
0x0d48…0d82 Line {l1=0x38, l2=»        WRITE(NYTNAVN,' ',FILTYPE,' FINDES      PÅ P2');«, l3=0x38}
0x0d82…0da0 Line {l1=0x1c, l2=»        RANDOMNAVN(NYTNAVN);«, l3=0x1c}
0x0da0…0dcd Line {l1=0x2b, l2=»        WRITELN('    NYT NAVN : ',NYTNAVN);«, l3=0x2b}
0x0dcd…0dfd Line {l1=0x2e, l2=»        FINDFIL(TRÆ2(FILTYPE),NYTNAVN,FUNDET);«, l3=0x2e}
0x0dfd…0e16 Line {l1=0x17, l2=»      UNTIL NOT FUNDET «, l3=0x17}
0x0e16…0e20 Line {l1=0x08, l2=»    ELSE«, l3=0x08}
0x0e20…0e5c Line {l1=0x3a, l2=»      WRITELN(ROD^.NAVN,' ',FILTYPE,' FINDES IKKE PÅ P2');«, l3=0x3a}
0x0e5c…0e7d Line {l1=0x1f, l2=»    WRITELN(MONIF32,ROD^.NAVN);«, l3=0x1f}
0x0e7d…0e9c Line {l1=0x1d, l2=»    WRITELN(MONIF32,NYTNAVN);«, l3=0x1d}
0x0e9c…0ebb Line {l1=0x1d, l2=»    WRITELN(MONIF23,NYTNAVN);«, l3=0x1d}
0x0ebb…0edc Line {l1=0x1f, l2=»    WRITELN(MONIF23,ROD^.NAVN);«, l3=0x1f}
0x0edc…0efa Line {l1=0x1c, l2=»    WRITELN(MONIFP,NYTNAVN);«, l3=0x1c}
0x0efa…0f18 Line {l1=0x1c, l2=»    WRITELN(MONIFP,FILTYPE);«, l3=0x1c}
0x0f18…0f32 Line {l1=0x18, l2=»    WRITELN(MONIFP,'2');«, l3=0x18}
0x0f32…0f59 Line {l1=0x25, l2=»    TRÆGENNEMLØB(ROD^.HØJRE,FILTYPE);«, l3=0x25}
0x0f59…0f61 Line {l1=0x06, l2=»  END;«, l3=0x06}
0x0f61…0f78 Line {l1=0x15, l2=»END; (*TRÆGENNEMLØB*)«, l3=0x15}
0x0f78…0f7b Line {l1=0x01, l2=» «, l3=0x01}
0x0f7b…0fc3 Line {l1=0x46, l2=»(********************************************************************)«, l3=0x46}
0x0fc3…0fc6 Line {l1=0x01, l2=» «, l3=0x01}
0x0fc6…0fea Line {l1=0x22, l2=»PROCEDURE LÆSFILCAT(DISC:INTEGER);«, l3=0x22}
0x0fea…0fed Line {l1=0x01, l2=» «, l3=0x01}
0x0fed…102a Line {l1=0x3b, l2=»CONST CAT2  = 256; (*ANTAL SEKTORER I KATALOGEN FOR P1/P2*)«, l3=0x3b}
0x102a…1065 Line {l1=0x39, l2=»      CAT3   = 64;  (*ANTAL SEKTORER I KATALOGEN FOR P3*)«, l3=0x39}
0x1065…109f Line {l1=0x38, l2=»      SPS2  = 32;  (*ANTAL SEKTORER PR. SPOR FOR P1/P2*)«, l3=0x38}
0x109f…10d7 Line {l1=0x36, l2=»      SPS3   = 16;  (*ANTAL SEKTORER PR. SPOR FOR P3*)«, l3=0x36}
0x10d7…10da Line {l1=0x01, l2=» «, l3=0x01}
0x10da…10fe Line {l1=0x22, l2=»VAR CATSIZE, SEKTMAX, N : INTEGER;«, l3=0x22}
0x10fe…1131 Line {l1=0x31, l2=»    TRACK, SECTOR, IOCODE, J, L, CIFFER :INTEGER;«, l3=0x31}
0x1131…114b Line {l1=0x18, l2=»    FILNAVN : STRING(9);«, l3=0x18}
0x114b…114e Line {l1=0x01, l2=» «, l3=0x01}
0x114e…1155 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x1155…1165 Line {l1=0x0e, l2=»  CASE DISC OF«, l3=0x0e}
0x1165…1173 Line {l1=0x0c, l2=»  1,2: BEGIN«, l3=0x0c}
0x1173…118c Line {l1=0x17, l2=»         CATSIZE:=CAT2;«, l3=0x17}
0x118c…11a5 Line {l1=0x17, l2=»         SEKTMAX:=SPS2;«, l3=0x17}
0x11a5…11b2 Line {l1=0x0b, l2=»       END;«, l3=0x0b}
0x11b2…11c0 Line {l1=0x0c, l2=»  3  : BEGIN«, l3=0x0c}
0x11c0…11d9 Line {l1=0x17, l2=»         CATSIZE:=CAT3;«, l3=0x17}
0x11d9…11f2 Line {l1=0x17, l2=»         SEKTMAX:=SPS3;«, l3=0x17}
0x11f2…11ff Line {l1=0x0b, l2=»       END;«, l3=0x0b}
0x11ff…1207 Line {l1=0x06, l2=»  END;«, l3=0x06}
0x1207…120a Line {l1=0x01, l2=» «, l3=0x01}
0x120a…1224 Line {l1=0x18, l2=»  FOR N:=1 TO CATSIZE DO«, l3=0x18}
0x1224…122d Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x122d…124a Line {l1=0x1b, l2=»    TRACK := N DIV SEKTMAX;«, l3=0x1b}
0x124a…1267 Line {l1=0x1b, l2=»    SECTOR:= N MOD SEKTMAX;«, l3=0x1b}
0x1267…127a Line {l1=0x11, l2=»    ERRORCODE:=0;«, l3=0x11}
0x127a…128c Line {l1=0x10, l2=»    IOCODE := 1;«, l3=0x10}
0x128c…12c7 Line {l1=0x39, l2=»    PSCIU(DISCBUFFER,DISC,TRACK,SECTOR,IOCODE,ERRORCODE);«, l3=0x39}
0x12c7…12f4 Line {l1=0x2b, l2=»    IF ERRORCODE <> 0 THEN EXIT(LÆSFILCAT);«, l3=0x2b}
0x12f4…12f7 Line {l1=0x01, l2=» «, l3=0x01}
0x12f7…1302 Line {l1=0x09, l2=»    J:=0;«, l3=0x09}
0x1302…130e Line {l1=0x0a, l2=»    REPEAT«, l3=0x0a}
0x130e…132b Line {l1=0x1b, l2=»      FILNAVN:='*********';«, l3=0x1b}
0x132b…1347 Line {l1=0x1a, l2=»      FOR L := J TO J+8 DO«, l3=0x1a}
0x1347…1354 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x1354…1383 Line {l1=0x2d, l2=»        CIFFER := ORD(DISCBUFFER(L)) MOD 128;«, l3=0x2d}
0x1383…13d2 Line {l1=0x4d, l2=»        IF (CIFFER <= 126) AND (CIFFER>=32) THEN FILNAVN(L-J+1):=CHR(CIFFER);«, l3=0x4d}
0x13d2…13de Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x13de…13fa Line {l1=0x1a, l2=»      FILTYPE:=FILNAVN(9);«, l3=0x1a}
0x13fa…141d Line {l1=0x21, l2=»      FILNAVN:=COPY(FILNAVN,1,8);«, l3=0x21}
0x141d…1466 Line {l1=0x47, l2=»      IF (SCAN(8,='*',FILNAVN(1))=8) AND (FILTYPE IN (.'0'..'Å'.)) THEN«, l3=0x47}
0x1466…1473 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x1473…1486 Line {l1=0x11, l2=»        NEW(FIL);«, l3=0x11}
0x1486…14a3 Line {l1=0x1b, l2=»        FIL^.NAVN:=FILNAVN;«, l3=0x1b}
0x14a3…14bf Line {l1=0x1a, l2=»        FIL^.VENSTRE:=NIL;«, l3=0x1a}
0x14bf…14d9 Line {l1=0x18, l2=»        FIL^.HØJRE:=NIL;«, l3=0x18}
0x14d9…14f0 Line {l1=0x15, l2=»        CASE DISC OF «, l3=0x15}
0x14f0…151c Line {l1=0x2a, l2=»        1,2: TRÆINDSÆT(TRÆ2(FILTYPE),FIL);«, l3=0x2a}
0x151c…1548 Line {l1=0x2a, l2=»        3  : TRÆINDSÆT(TRÆ3(FILTYPE),FIL);«, l3=0x2a}
0x1548…1556 Line {l1=0x0c, l2=»        END;«, l3=0x0c}
0x1556…159f Line {l1=0x47, l2=»(*      WRITELN(LIST,TRACK:3,'  ',SECTOR:2,'  ',FILNAVN,' ',FILTYPE);*)«, l3=0x47}
0x159f…15ab Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x15ab…15bb Line {l1=0x0e, l2=»      J:=J+13;«, l3=0x0e}
0x15bb…15e8 Line {l1=0x2b, l2=»    UNTIL (FILNAVN='********') OR (J>=242);«, l3=0x2b}
0x15e8…1600 Line {l1=0x16, l2=»  END; (*FOR N:=....*)«, l3=0x16}
0x1600…1614 Line {l1=0x12, l2=»END; (*LÆSFILCAT*)«, l3=0x12}
0x1614…1617 Line {l1=0x01, l2=» «, l3=0x01}
0x1617…1661 Line {l1=0x48, l2=»(**********************************************************************)«, l3=0x48}
0x1661…1664 Line {l1=0x01, l2=» «, l3=0x01}
0x1664…1675 Line {l1=0x0f, l2=»PROCEDURE MAIN;«, l3=0x0f}
0x1675…1678 Line {l1=0x01, l2=» «, l3=0x01}
0x1678…169d Line {l1=0x23, l2=»VAR FILNAVN             : NAVNTYPE;«, l3=0x23}
0x169d…16c3 Line {l1=0x24, l2=»    FTYPE               : STRING(1);«, l3=0x24}
0x16c3…16e8 Line {l1=0x23, l2=»    PCB1, PCB2, PCB3    : ^INTEGER;«, l3=0x23}
0x16e8…16ee Line {l1=0x04, l2=»    «, l3=0x04}
0x16ee…16f5 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x16f5…1705 Line {l1=0x0e, l2=»  INITIALISER;«, l3=0x0e}
0x1705…1708 Line {l1=0x01, l2=» «, l3=0x01}
0x1708…1729 Line {l1=0x1f, l2=»  FOR DISC:=3 DOWNTO 2 DO BEGIN«, l3=0x1f}
0x1729…1764 Line {l1=0x39, l2=»    WRITELN('Katalogen på disk P',DISC,' læses. VENT !');«, l3=0x39}
0x1764…177a Line {l1=0x14, l2=»    LÆSFILCAT(DISC);«, l3=0x14}
0x177a…1788 Line {l1=0x0c, l2=»    WRITELN;«, l3=0x0c}
0x1788…1790 Line {l1=0x06, l2=»  END;«, l3=0x06}
0x1790…1793 Line {l1=0x01, l2=» «, l3=0x01}
0x1793…17b1 Line {l1=0x1c, l2=»  FOR FILTYPE:='0' TO 'Å' DO«, l3=0x1c}
0x17b1…17d7 Line {l1=0x24, l2=»    IF TRÆ3(FILTYPE)<>NIL THEN BEGIN«, l3=0x24}
0x17d7…17f4 Line {l1=0x1b, l2=»      WRITELN(MONIF32,'3');«, l3=0x1b}
0x17f4…1811 Line {l1=0x1b, l2=»      WRITELN(MONIF32,'2');«, l3=0x1b}
0x1811…1832 Line {l1=0x1f, l2=»      WRITELN(MONIF32,FILTYPE);«, l3=0x1f}
0x1832…184f Line {l1=0x1b, l2=»      WRITELN(MONIF23,'2');«, l3=0x1b}
0x184f…186c Line {l1=0x1b, l2=»      WRITELN(MONIF23,'3');«, l3=0x1b}
0x186c…188d Line {l1=0x1f, l2=»      WRITELN(MONIF23,FILTYPE);«, l3=0x1f}
0x188d…18b9 Line {l1=0x2a, l2=»      TRÆGENNEMLØB(TRÆ3(FILTYPE),FILTYPE);«, l3=0x2a}
0x18b9…18d6 Line {l1=0x1b, l2=»      WRITELN(MONIF32,' ');«, l3=0x1b}
0x18d6…18f3 Line {l1=0x1b, l2=»      WRITELN(MONIF23,' ');«, l3=0x1b}
0x18f3…18fd Line {l1=0x08, l2=»    END;«, l3=0x08}
0x18fd…1917 Line {l1=0x18, l2=»  WRITELN(MONIF32,'><');«, l3=0x18}
0x1917…1931 Line {l1=0x18, l2=»  WRITELN(MONIF23,'><');«, l3=0x18}
0x1931…194a Line {l1=0x17, l2=»  WRITELN(MONIFP,'><');«, l3=0x17}
0x194a…195d Line {l1=0x11, l2=»  CLOSE(MONIF32);«, l3=0x11}
0x195d…1970 Line {l1=0x11, l2=»  CLOSE(MONIF23);«, l3=0x11}
0x1970…1982 Line {l1=0x10, l2=»  CLOSE(MONIFP);«, l3=0x10}
0x1982…198e Line {l1=0x0a, l2=»  WRITELN;«, l3=0x0a}
0x198e…19d5 Line {l1=0x45, l2=»(*WRITE('Fortryder du så tryk på <ESC>, ellers tryk på <RETURN> ');*)«, l3=0x45}
0x19d5…19e2 Line {l1=0x0b, l2=»(*READLN;*)«, l3=0x0b}
0x19e2…19fd Line {l1=0x19, l2=»(*IF NOT EOF THEN BEGIN*)«, l3=0x19}
0x19fd…1a2e Line {l1=0x2f, l2=»(*  CHAIN('MONITOR *1','MONIF32:P2 ',PCB1);  *)«, l3=0x2f}
0x1a2e…1a67 Line {l1=0x37, l2=»(*  WRITE('INDSÆT NY DISKETTE OG TRYK PÅ <RETURN> ');*)«, l3=0x37}
0x1a67…1a76 Line {l1=0x0d, l2=»(*  READLN;*)«, l3=0x0d}
0x1a76…1aa5 Line {l1=0x2d, l2=»(*  CHAIN('MONITOR *1','MONIF23:P2 ',PCB2);*)«, l3=0x2d}
0x1aa5…1ad3 Line {l1=0x2c, l2=»(*  CHAIN('MONITOR *1','MONIFP:P2 ',PCB3);*)«, l3=0x2c}
0x1ad3…1add Line {l1=0x08, l2=»(*END;*)«, l3=0x08}
0x1add…1aec Line {l1=0x0d, l2=»END; (*MAIN*)«, l3=0x0d}
0x1aec…1aef Line {l1=0x01, l2=» «, l3=0x01}
0x1aef…1b39 Line {l1=0x48, l2=»(**********************************************************************)«, l3=0x48}
0x1b39…1b3c Line {l1=0x01, l2=» «, l3=0x01}
0x1b3c…1b43 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x1b43…1b4c Line {l1=0x07, l2=»  MAIN;«, l3=0x07}
0x1b4c…1b8b Line {l1=0x3d, l2=»  IF ERRORCODE <> 0 THEN WRITELN ('ERRORCODE:', ERRORCODE:4);«, l3=0x3d}
0x1b8b…1b96 Line {l1=0x09, l2=»  AFSLUT;«, l3=0x09}
0x1b96…1b9c Line {l1=0x04, l2=»END.«, l3=0x04}
0x1b9c…1ba0 00 00 63 63                                                                                       ┆  cc┆
0x1ba0…1bc0 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…]

Reduced view