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

⟦f2bf56d35⟧ Ada Source

    Length: 9216 (0x2400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Fruit_Frames_4, seg_04bd74

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 Fruit_Kbs_4;
with Output_Stream;
with Slot;

use Slot;  
use Fruit_Kbs_4;

package Fruit_Frames_4 is

    use Kbs;

    Max_X : constant Integer := 12;
    Max_Y : constant Integer := 6;
    Min_X : constant Integer := 1;
    Min_Y : constant Integer := 1;



    type Marker_Names is (Model_Marker, On_Table_Marker, Selected_Block_Marker,
                          Top_Block_Marker, Top_Copied_Model_Marker,
                          New_Top_Copied_Model_Marker, Search_Top_Block_Marker);

    type Request_Names is (Move, Find, Search_Free, Get_Label,
                           Make_Coincided, Is_Same, Put_Block);

    type Direction_Names is (Down, Up, Left, Right);

    type Answer_Names is (Positive, Negative);



    package Marker_Name_Facilities is new Enumeration_Facilities (Marker_Names);

    Model_Marker_Name                : constant Object :=
       Marker_Name_Facilities.Value (Model_Marker);  
    On_Table_Marker_Name             : constant Object :=
       Marker_Name_Facilities.Value (On_Table_Marker);
    Selected_Block_Marker_Name       : constant Object :=
       Marker_Name_Facilities.Value (Selected_Block_Marker);
    Top_Block_Marker_Name            : constant Object :=
       Marker_Name_Facilities.Value (Top_Block_Marker);
    Top_Copied_Model_Marker_Name     : constant Object :=
       Marker_Name_Facilities.Value (Top_Copied_Model_Marker);
    New_Top_Copied_Model_Marker_Name : constant Object :=
       Marker_Name_Facilities.Value (New_Top_Copied_Model_Marker);
    Search_Top_Block_Marker_Name     : constant Object :=
       Marker_Name_Facilities.Value (Search_Top_Block_Marker);



    package Request_Name_Facilities is
       new Enumeration_Facilities (Request_Names);

    Move_Request_Name : constant Object := Request_Name_Facilities.Value (Move);
    Find_Request_Name : constant Object := Request_Name_Facilities.Value (Find);
    Search_Free_Request_Name : constant Object :=
       Request_Name_Facilities.Value (Search_Free);
    Get_Label_Request_Name : constant Object :=
       Request_Name_Facilities.Value (Get_Label);
    Make_Coincided_Request_Name : constant Object :=
       Request_Name_Facilities.Value (Make_Coincided);
    Is_Same_Request_Name : constant Object :=
       Request_Name_Facilities.Value (Is_Same);
    Put_Block_Request_Name : constant Object :=
       Request_Name_Facilities.Value (Put_Block);


    package Direction_Name_Facilities is
       new Enumeration_Facilities (Direction_Names);

    Up_Direction    : constant Object := Direction_Name_Facilities.Value (Up);
    Down_Direction  : constant Object := Direction_Name_Facilities.Value (Down);
    Left_Direction  : constant Object := Direction_Name_Facilities.Value (Left);
    Right_Direction : constant Object :=
       Direction_Name_Facilities.Value (Right);


    package Answer_Name_Facilities is new Enumeration_Facilities (Answer_Names);

    Positive_Answer : constant Object :=
       Answer_Name_Facilities.Value (Positive);
    Negative_Answer : constant Object :=
       Answer_Name_Facilities.Value (Negative);



    type Marker_Slots is (Marker_Name);
    package Markers is new Fact_Base.Generic_Class (Class_Name => Marker,
                                                    Class_Size => 10,
                                                    Slot_Names => Marker_Slots);


    type Request_Slots is (Request_Name, Marker_Name, Argument1, Argument2);
    package Requests is
       new Fact_Base.Generic_Class (Class_Name => Request,
                                    Class_Size => 60,
                                    Slot_Names => Request_Slots);


    type Answer_Slots is (Request_Name, Answer);
    package Answers is new Fact_Base.Generic_Class (Class_Name => Answer,
                                                    Class_Size => 5,
                                                    Slot_Names => Answer_Slots);


    type Visual_Block_Slots is (Label, Position_X, Position_Y);  
    package Visual_Blocks is
       new Fact_Base.Generic_Class (Class_Name => Visual_Block,
                                    Class_Size => 60,
                                    Slot_Names => Visual_Block_Slots);


    type Visual_Marker_Slots is (Marker_Name, Position_X, Position_Y);
    package Visual_Markers is
       new Fact_Base.Generic_Class (Class_Name => Visual_Marker,
                                    Class_Size => 10,
                                    Slot_Names => Visual_Marker_Slots);


    type Label_Slots is (Label, Marker_Name);
    package Labels is
       new Fact_Base.Generic_Class
              (Class_Name => Label, Class_Size => 5, Slot_Names => Label_Slots);



    procedure Put (The_Fact : Fact_Name; Where : Output_Stream.Object);


end Fruit_Frames_4;

E3 Meta Data

    nblk1=8
    nid=4
    hdr6=e
        [0x00] rec0=25 rec1=00 rec2=01 rec3=02c
        [0x01] rec0=14 rec1=00 rec2=08 rec3=03c
        [0x02] rec0=05 rec1=00 rec2=03 rec3=01a
        [0x03] rec0=1a rec1=00 rec2=06 rec3=04e
        [0x04] rec0=02 rec1=00 rec2=05 rec3=02e
        [0x05] rec0=16 rec1=00 rec2=07 rec3=000
        [0x06] rec0=14 rec1=00 rec2=02 rec3=000
        [0x07] rec0=14 rec1=00 rec2=02 rec3=000
    tail 0x217511fa4868c406b366d 0x42a00088462063c03
Free Block Chain:
  0x4: 0000  00 00 00 dd 80 2d 20 52 65 71 75 65 73 74 5f 4e  ┆     - Request_N┆