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

⟦934fffc3e⟧ Ada Source

    Length: 6144 (0x1800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Set_Horloge, seg_050231

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

    type Byte is new Natural range 0 .. 16#FF#;
    for Byte'Size use 8;
    Poub : Natural := 0;

    subtype Bit is Natural range 0 .. 1;

    Data_Reg, A : Byte;
    for Data_Reg use at System.Address'Ref (16#0302_0000#);

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

    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;
        Poub := Integer (B);
--        Simple_Io.Put (Natural'Image (Poub));
--            B := B / 2;
--        end loop;
    end Ecriture;

    function Lecture return Natural is
        C : Byte;
        N : Natural := 0;
    begin
--        for I in 0 .. 7 loop
        C := Data_Reg;
        N := Integer (C);
        Simple_Io.Put (Natural'Image (N));
--        end loop;
        return N;
    end Lecture;

begin
    Simple_Io.Put (Natural'Image (Byte'Size));
    A := Byte (9);  
    Poub := Integer (A);
    Simple_Io.Put ("valeur de a avant lecture");
    Simple_Io.Put (Natural'Image (Poub));
    A := Data_Reg;
    Poub := Integer (A);
    Simple_Io.New_Line;
    Simple_Io.Put ("valeur de a apres lecture");
    Simple_Io.Put (Natural'Image (Poub));

    Ecrit_Bit (16#C5#);
    Ecrit_Bit (16#3A#);
    Ecrit_Bit (16#A3#);
    Ecrit_Bit (16#5C#);
    Ecrit_Bit (16#C5#);
    Ecrit_Bit (16#3A#);
    Ecrit_Bit (16#A3#);
    Ecrit_Bit (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_0010#); -- jour
    Ecriture (2#0001_1000#); -- date
    Ecriture (2#0001_0010#); -- mois
    Ecriture (2#1001_0101#); -- annee

--    A := Data_Reg;
--    Poub := Integer (A);
--    Simple_Io.New_Line;
--    Simple_Io.Put ("valeur de a apres ecriture");
--    Simple_Io.Put (Natural'Image (Poub));

--    Data_Reg := 2#0000_1111#;

    loop
        A := 5;
        A := Data_Reg;

        Simple_Io.New_Line;
        Simple_Io.Put ("debut lecture...");
        Poub := Integer (A);
        Simple_Io.Put (Natural'Image (Poub));

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

        Simple_Io.New_Line;

        Simple_Io.Put ("lec : ");

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

--        for I in 1 .. 64 loop
--            A := Data_Reg;
--            Poub := Integer (A);
--           Simple_Io.Put (Natural'Image (Poub));
        end loop;

    end loop;
end Set_Horloge;
pragma Main;

E3 Meta Data

    nblk1=5
    nid=0
    hdr6=a
        [0x00] rec0=27 rec1=00 rec2=01 rec3=026
        [0x01] rec0=26 rec1=00 rec2=05 rec3=028
        [0x02] rec0=00 rec1=00 rec2=04 rec3=014
        [0x03] rec0=26 rec1=00 rec2=03 rec3=02e
        [0x04] rec0=0d rec1=00 rec2=02 rec3=000
    tail 0x2154acbf0877d6fac30b9 0x42a00088462060003