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

⟦309113b3e⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Dump, seg_04cc80, seg_04cd69

Derivation

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

E3 Source Code



with Carte;
with Cl35;
with Date;
with Machine_Io;
with Parametres;  
with Plage;
with Rapport_Cartes_Valides;
with Site;
with Text_Io;

procedure Dump is

    package Liste_Ok renames Rapport_Cartes_Valides.Liste;
    package Carte_Ok renames Rapport_Cartes_Valides.Carte_Valide;
    package Nio is new Text_Io.Integer_Io (Natural);
    Le_Lecteur : Cl35.Object;
    Lect_Addr : Cl35.Addr := 3;
    procedure Dump_Site is

        Un_Code_Site : Site.Object;

    begin
        Cl35.Get_Site (Le_Lecteur => Le_Lecteur, Le_Code => Un_Code_Site);
        Text_Io.Put_Line (Ascii.Lf & "Code site : " &
                          Site.Image (Un_Code_Site));
    end Dump_Site;

    procedure Dump_Params is

        Des_Params : Parametres.Object;

    begin

        Cl35.Rapport_Parametres (Le_Lecteur => Le_Lecteur,
                                 Params_Lecteur => Des_Params);
        Text_Io.Put_Line
           (Item => Ascii.Lf & "Parametres : " &
                       Parametres.Image (Les_Parametres => Des_Params));
    end Dump_Params;

    procedure Dump_Carte is

        Les_Valides : Liste_Ok.List;
        Ok_Iter : Liste_Ok.Iterator;

    begin

        Cl35.Cartes_Valides (Le_Lecteur => Le_Lecteur,
                             De_La_Carte => 1,
                             A_La_Carte => Carte.Object'Last,
                             Le_Rapport => Les_Valides);

        Liste_Ok.Init (Iter => Ok_Iter, L => Les_Valides);
        declare
            K : Natural := 1;
        begin
            Text_Io.Put_Line (Ascii.Lf & "Cartes valides :");
            loop
                exit when Liste_Ok.Done (Ok_Iter);
                Text_Io.Put (Carte_Ok.Image (Liste_Ok.Value (Ok_Iter)) & " ");
                if (K mod 3) = 0 then
                    Text_Io.Put_Line ("");
                end if;
                K := K + 1;
                Liste_Ok.Next (Ok_Iter);
            end loop;
            Text_Io.Put_Line ("");
        end;
        Liste_Ok.Free (Les_Valides);
    end Dump_Carte;

    procedure Dump_Plage is

        Une_Plage : Plage.Object;

    begin
        Text_Io.Put_Line ("Plages :");
        for I in Plage.Num_Plage'First .. Plage.Num_Plage'Last - 1 loop
            Cl35.Rapport_Plage (Le_Lecteur => Le_Lecteur,
                                Numero_De_Plage => I,
                                La_Plage => Une_Plage);
            Text_Io.Put_Line (Plage.Image (Une_Plage) & Ascii.Lf);
        end loop;
    end Dump_Plage;

    procedure Dump_Date is
        Une_Date : Date.Object;
    begin
        Cl35.Rapport_Horloge (Le_Lecteur => Le_Lecteur,
                              Date_Lecteur => Une_Date);
        Text_Io.Put_Line (Ascii.Lf & "Date lecteur : " & Date.Image (Une_Date));
    end Dump_Date;
begin

    Cl35.Init;


    Text_Io.Put ("Numero de  lecteur : ");

    Nio.Get (Item => Lect_Addr, Width => 0);
    Le_Lecteur := Cl35.Address (Address => Lect_Addr);

    Dump_Date;
    Dump_Site;
    Dump_Params;
    Dump_Carte;
    Dump_Plage;


exception

    when Machine_Io.Read_Timeout =>
        Text_Io.Put_Line ("Timeout a la lecture : fin");

end Dump;

E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=26 rec1=00 rec2=01 rec3=04c
        [0x01] rec0=1d rec1=00 rec2=02 rec3=01c
        [0x02] rec0=22 rec1=00 rec2=03 rec3=034
        [0x03] rec0=11 rec1=00 rec2=04 rec3=000
    tail 0x217540c8a874f6e2fcc60 0x42a00088462060003