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

⟦e5380a9ae⟧ TextFile

    Length: 1248 (0x4e0)
    Types: TextFile
    Notes: Mikados_K
    Names: »INITIATE.K«

Derivation

└─⟦eb89399bc⟧ Bits:30008990 SOM ISFORIG, MEN KUN K-FILER
    └─⟦this⟧ »INITIATE.K« 

Mikados K File

PROCEDURE INITIATE(VAR ZO:ISFHEAD;VAR F:ISF;IREC:INTEGER);
VAR I,BUCADR,BLKADR,J:INTEGER;
BEGIN
  WITH ZO DO
  IF FILEOPEN THEN
  BEGIN
    IER:=0;
    IF FILEINIT THEN IER:=-13;
    IF RECINUSE>0 THEN IER:=-13;
    IF IREC<1 THEN IER:=-5;
    IF IREC>NREC THEN IER:=-5;
    IF IER<>0 THEN EXIT(INITIATE);
    FOR I:=1 TO NBUC DO
    BEGIN
      BUCADR:=2+SEGINBUT+SEGINBUC*(I-1);
      Z(BUT+(I-1)*ENTRYSIZE):=BUCADR;
      Z(BUT+(I-1)*ENTRYSIZE+1):=0;
      FOR J:=1 TO BLKPRBUC DO
      BEGIN
        BLKADR:=BUCADR+SEGINBLT+SEGINBLK*(J-1);
        Z(BLT+(J-1)*ENTRYSIZE):=BLKADR;
        Z(BLT+(J-1)*ENTRYSIZE+1):=0;
(*      COPSEGS(Z,F,BLKADR,BLKSIZE,BLK,SKRIV);  UNØDVENDIG *)
      END;
      IF UPSTAT=SKRIV THEN
      COPSEGS(Z,F,BUCADR,BLTSIZE,BLT,SKRIV);
      IF IER <>0 THEN EXIT(INITIATE)
    END;
    IF UPSTAT=SKRIV THEN
    COPSEGS(Z,F,2,BUTSIZE,BUT,SKRIV);
    IF IER <>0 THEN EXIT(INITIATE);
    INITREC:=IREC;
    IRPRBUC:=(IREC-1)DIV NBUC +1;
    IRPRBLK:=(IRPRBUC-1) DIV BLKPRBUC +1
  END
  ELSE
  IER:=-3
END;

Full view