DataMuseum.dk

Presents historical artifacts from the history of:

Bogika Butler

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

See our Wiki for more about Bogika Butler

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦44dd7d99b⟧ TextFile

    Length: 4096 (0x1000)
    Types: TextFile
    Names: »LNKDF6.PAS«

Derivation

└─⟦d36b687c5⟧ Bits:30009789/_.ft.Ibm2.50007363.imd Mogens Pelles Zilog 80,000 / EOS projekt
    └─⟦this⟧ »LNKDF6.PAS« 

TextFile

(******************************************************************************)
(*                                                                            *)
(*   Copyright (1985) by Metanic Aps., Denmark                                *)
(*                                                                            *)
(*   Author: Lars Gregers Jakobsen.                                           *)
(*                                                                            *)
(******************************************************************************)

      PROCEDURE BMG2(VAR BM: BitMappedFileType
                    ;VAR Relocatable: boolean
                    ;VAR Importable: boolean
                    );

        BEGIN (*BMG2*)
         WITH BM, BM.B DO
           BEGIN
            IF P <= 8 THEN
              BEGIN
               read(F, Y1);
               P := P + 8;
              END;
            P := P - 1;
            Relocatable := P IN I;
            P := P - 1;
            Importable  := P IN I;
            IF test((.0,4.)) THEN
              BEGIN
               write(TestOut, 'BMG2     '); TSTbmb(BM.B);
               write(TestOut, 'R,I= ');
               TSTbool(Relocatable); TSTindt; TSTbool(Importable); TSTln;
              END;
           END;
        END;  (*BMG2*)

      PROCEDURE BMG6(VAR BM: BitMappedFileType
                    ;VAR Index:i8
                    );

         VAR
            J: 1..6;

        BEGIN (*BMG6*)
         Index := 0;
         WITH BM, BM.B DO
           BEGIN
            IF P < 14 THEN
              BEGIN
               read(F, Y0);
               FOR J := 1 TO 6 DO
                  Index := Index + Index + ord( (P-J) IN I );
               Y1 := Y0;
               P := P + 2; (* = P - 6 + 8 *)
              END
            ELSE
              BEGIN
               FOR J := 1 TO 6 DO
                  Index := Index + Index + ord( (P-J) IN I );
               P := P - 6;
              END;
            IF test((.0,4.)) THEN
              BEGIN
               write(TestOut, 'BMG6     '); TSTbmb(BM.B);
               writeln(TestOut, 'Index= ',Index:1);
              END;
           END;
        END;  (*BMG6*)

      PROCEDURE BMP2(VAR BM: BitMappedFileType
                    ;    Relocatable: boolean
                    ;    Importable: boolean
                    );

        BEGIN (*BMP2*)
         WITH BM, BM.B DO
           BEGIN
            P := P - 1;
            IF Relocatable THEN
               I := I + (.P.);
            P := P - 1;
            IF Importable THEN
               I := I + (.P.);
            IF P <= 8 THEN  (* always >= 8 *)
              BEGIN
               write(F, Y1);
               Y1 := 0;
               P := 16 (* = P + 8 *)
              END;
            IF test((.0,4.)) THEN
              BEGIN
               write(TestOut, 'BMP2     '); TSTbmb(BM.B);
               write(TestOut, 'R,I= ');
               TSTbool(Relocatable); TSTindt; TSTbool(Importable); TSTln;
              END;
           END
        END;  (*BMP2*)

      PROCEDURE BMP6(VAR BM: BitMappedFileType
                    ;    Index:i8
                    );

         VAR
            J: 0..5;

        BEGIN (*BMP6*)
         WITH BM, BM.B DO
           BEGIN
            P := P - 6;
            FOR J := 0 TO 5 DO
              BEGIN
               IF odd(Index) THEN
                  I := I + (.P+J.);
               Index := Index div 2
              END;
            IF test((.0,4.)) THEN
              BEGIN
               write(TestOut, 'BMP6     '); TSTbmb(BM.B);
               writeln(TestOut, 'Index= ', Index:1);
              END;
            IF P <= 8 THEN
              BEGIN
               write(F, Y1);
               Y1 := Y0;
               Y0 := 0;
               P := P + 8;
              END;
           END;
        END;  (*BMP6*)
«eof»