DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

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

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦af824d0bd⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Set_Horloge, seg_050066

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



with System;  
with Simple_Io;

procedure Set_Horloge is

    subtype Byte is Natural range 0 .. 255;

    subtype Bit is Natural range 0 .. 1;

    Data_Reg, A : Bit;
    for Data_Reg use at System.Address'Ref (16#03020000#);

    procedure Ecriture (G : Byte) is
        B : Byte := G;
    begin
        Simple_Io.New_Line;
        Simple_Io.Put ("E : ");
        for I in 1 .. 8 loop
            Data_Reg := B mod 2;
            Simple_Io.Put (Natural'Image (B mod 2));
            B := B / 2;
        end loop;
    end Ecriture;

    function Lecture return Natural is
        N : Natural := 0;
    begin  
        for I in 0 .. 7 loop
            N := N + Data_Reg * 2 ** I;
        end loop;
        return N;
    end Lecture;

begin

    A := Data_Reg;

    Ecriture (16#C5#);
    Ecriture (16#3A#);
    Ecriture (16#A3#);
    Ecriture (16#5C#);
    Ecriture (16#C5#);
    Ecriture (16#3A#);
    Ecriture (16#A3#);
    Ecriture (16#5C#);

    Ecriture (2#0000_0000#); -- 100 ieme de sec
    Ecriture (2#0000_0000#); -- secondes
    Ecriture (2#0000_0000#); -- minutes
    Ecriture (2#0000_0001#); -- heures
    Ecriture (2#0001_0001#); -- jour
    Ecriture (2#0001_1001#); -- date
    Ecriture (2#0001_0010#); -- mois
    Ecriture (2#1001_0101#); -- annee

    loop
        for I in 1 .. 64 loop
            A := Data_Reg;
            Simple_Io.Put_Line (Natural'Image (A));
        end loop;

        A := Data_Reg;

        Simple_Io.New_Line;

        Ecriture (16#C5#);
        Ecriture (16#3A#);
        Ecriture (16#A3#);
        Ecriture (16#5C#);
        Ecriture (16#C5#);
        Ecriture (16#3A#);
        Ecriture (16#A3#);
        Ecriture (16#5C#);

        Simple_Io.New_Line;

        Simple_Io.Put ("lec : ");

        for I in 1 .. 8 loop
            Simple_Io.Put (Natural'Image (Lecture));

        end loop;

    end loop;
end Set_Horloge;
pragma Main;

E3 Meta Data

    nblk1=4
    nid=4
    hdr6=6
        [0x00] rec0=2e rec1=00 rec2=01 rec3=008
        [0x01] rec0=28 rec1=00 rec2=03 rec3=018
        [0x02] rec0=03 rec1=00 rec2=02 rec3=000
        [0x03] rec0=04 rec1=ab rec2=87 rec3=142
    tail 0x2154abedc877d39a6985a 0x42a00088462060003
Free Block Chain:
  0x4: 0000  00 00 00 04 80 01 49 01 02 03 04 5f 49 07 6c 65  ┆      I    _I le┆