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

⟦58874578d⟧ Ada Source

    Length: 20480 (0x5000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Test_Object, seg_050496

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 Test_Object 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_Group (V : Defined_Type.Octet) is
    begin
        Simple_Io.Put_Line ("");
        Simple_Io.Put ("Trying to write...");
        Simple_Io.Put_Line (Integer'Image (Defined_Type.Octet'Pos (V)));
        Module.Write_Group (Gp => Module.Group0, Value => V);

        Simple_Io.Put_Line ("Trying to read...");
        Valeur := Module.Read_Group (Gp => Module.Group0);
        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_Group;

begin

    Vsip1.Setup;
    Module.Setup;
    Module.Protection_On;
    Module.Set_Output_Pin (17);
    Simple_Io.Put_Line (" Set output pin 17 Ok");
    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 ("");
    Module.Protection_Off;
    Test_Group (16#55#);
    Test_Group (16#35#);
    Module.Led_On;
    Module.Protection_On;
    Module.Set_Input_Pin (17);
    Simple_Io.Put_Line (" Set input pin 17 Ok");
    Simple_Io.Put_Line ("Test Exeption pin_error !!!!");
    Module.Write_Pin (17, True);

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

pragma Main;

E3 Meta Data

    nblk1=13
    nid=13
    hdr6=6
        [0x00] rec0=19 rec1=00 rec2=01 rec3=064
        [0x01] rec0=1e rec1=00 rec2=03 rec3=02c
        [0x02] rec0=0a rec1=00 rec2=12 rec3=000
        [0x03] rec0=08 rec1=00 rec2=02 rec3=000
        [0x04] rec0=c0 rec1=00 rec2=00 rec3=100
        [0x05] rec0=43 rec1=b7 rec2=ba rec3=012
        [0x06] rec0=28 rec1=0c rec2=00 rec3=038
        [0x07] rec0=48 rec1=76 rec2=f7 rec3=202
        [0x08] rec0=91 rec1=ec rec2=00 rec3=007
        [0x09] rec0=09 rec1=0e rec2=de rec3=740
        [0x0a] rec0=50 rec1=43 rec2=70 rec3=000
        [0x0b] rec0=e1 rec1=00 rec2=00 rec3=000
        [0x0c] rec0=24 rec1=00 rec2=15 rec3=767
        [0x0d] rec0=00 rec1=00 rec2=00 rec3=002
        [0x0e] rec0=00 rec1=00 rec2=00 rec3=029
        [0x0f] rec0=00 rec1=00 rec2=00 rec3=000
        [0x10] rec0=00 rec1=00 rec2=00 rec3=000
        [0x11] rec0=00 rec1=00 rec2=00 rec3=000
        [0x12] rec0=00 rec1=00 rec2=00 rec3=000
    tail 0x21757b5a2877f6c338f25 0x42a00088462060003
Free Block Chain:
  0x13: 0000  00 11 00 cd 80 10 69 6e 5f 65 72 72 6f 72 20 21  ┆      in_error !┆
  0x11: 0000  00 10 03 fc 80 20 20 20 20 20 20 20 20 20 20 20  ┆                ┆
  0x10: 0000  00 0f 03 fc 80 46 20 20 20 20 20 69 66 20 28 43  ┆     F     if (C┆
  0xf: 0000  00 0e 03 fc 80 0c 73 73 5f 4d 6f 64 31 30 31 5f  ┆      ss_Mod101_┆
  0xe: 0000  00 0d 03 fc 00 32 20 20 20 20 20 20 20 20 2d 2d  ┆     2        --┆
  0xd: 0000  00 0c 03 fb 80 0f 65 72 5f 31 20 3a 3d 20 31 36  ┆      er_1 := 16┆
  0xc: 0000  00 0b 03 fc 80 09 68 65 72 29 20 74 68 65 6e 09  ┆      her) then ┆
  0xb: 0000  00 0a 03 fc 80 36 20 20 20 20 20 2d 2d 20 2a 2a  ┆     6     -- **┆
  0xa: 0000  00 09 03 fc 80 03 6f 70 3b 03 00 00 00 00 21 20  ┆      op;     ! ┆
  0x9: 0000  00 08 03 fc 00 2f 20 20 20 20 20 20 20 20 20 20  ┆     /          ┆
  0x8: 0000  00 07 03 fb 80 08 2a 2a 2a 2a 2a 2a 2a 2a 08 00  ┆      ********  ┆
  0x7: 0000  00 06 03 fc 80 0c 29 20 6f 66 20 50 69 6e 5f 4e  ┆      ) of Pin_N┆
  0x6: 0000  00 05 03 fc 80 19 20 20 20 20 20 20 20 69 66 20  ┆             if ┆
  0x5: 0000  00 02 03 fc 80 03 6f 70 3b 03 00 2c 20 20 20 20  ┆      op;  ,    ┆
  0x2: 0000  00 04 03 fc 80 13 6d 6f 64 75 6c 65 20 69 6e 69  ┆      module ini┆
  0x4: 0000  00 00 03 fc 00 12 77 69 74 68 20 44 65 66 69 6e  ┆      with Defin┆