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

⟦d5cbadb01⟧ Ada Source

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

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 Simple_Io;
with Vme;
with Vsip;
with System;
with Defined_Type;
procedure Carte is
    package Vsip1 is new Vsip (Base_Address => 16#8000#,
                               Vme_Position => Vme.Slot0,
                               Scim_0 => Defined_Type.Mod101,
                               Scim_1 => Defined_Type.No_Module,
                               Scim_2 => Defined_Type.No_Module,
                               Scim_3 => Defined_Type.No_Module);
    package Module is new Vsip1.Mod101 (Base_Address_Module => 16#600#);
    Valeur : Defined_Type.Octet;
    A : Boolean;
    procedure Test_Group1 (V : Defined_Type.Octet) is
    begin
        Simple_Io.Put_Line ("");
        Simple_Io.Put_Line ("Trying to write...");
        Module.Write_Group (Gp => Module.Group1, Value => V);
        Simple_Io.Put_Line ("Trying to read...");
        Valeur := Module.Read_Group (Gp => Module.Group1);
        Simple_Io.Put_Line ("The following value was read :");
        Simple_Io.Put (Integer'Image (Defined_Type.Octet'Pos (Valeur)));
        Simple_Io.Put_Line ("");
    end Test_Group1;

begin

    Vsip1.Setup;
    Module.Setup;
    Module.Protection_On;
    Module.Set_Output_Pin (17);
    Simple_Io.Put_Line (" Set output pin 17");
    Module.Write_Pin (17, True);
    Simple_Io.Put_Line (" Write pin 17 ");
    A := Module.Read_Pin (17);
    Simple_Io.Put_Line (" Value of pin 17 is");
    Simple_Io.Put (Integer'Image (Boolean'Pos (A)));
    Simple_Io.Put_Line ("");
    Module.Write_Pin (17, False);
    A := Module.Read_Pin (17);
    Simple_Io.Put_Line ("  value of pin 17 is");
    Simple_Io.Put (Integer'Image (Boolean'Pos (A)));
    Simple_Io.Put_Line ("");
    Test_Group1 (16#55#);
    Test_Group1 (16#35#);
    Module.Led_On;
    Module.Protection_On;
    Module.Set_Input_Pin (17);
    Simple_Io.Put_Line (" Set input pin 17");
    Test_Group1 (16#55#);
    Simple_Io.Put_Line ("pb  Write pin 17 ok !!!!");

exception
    when Module.Pin_Error =>
        Simple_Io.Put_Line ("Pin unauthorized operation !!!");
end Carte;

pragma Main;

E3 Meta Data

    nblk1=4
    nid=3
    hdr6=6
        [0x00] rec0=19 rec1=00 rec2=01 rec3=004
        [0x01] rec0=1d rec1=00 rec2=04 rec3=068
        [0x02] rec0=08 rec1=00 rec2=02 rec3=000
        [0x03] rec0=05 rec1=62 rec2=5c rec3=642
    tail 0x21757af50877f5e0331a3 0x42a00088462060003
Free Block Chain:
  0x3: 0000  00 00 01 4e 80 07 36 23 30 39 23 29 3b 07 00 12  ┆   N  6#09#);   ┆