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

⟦cc6611415⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Basetype, seg_012b2c

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 System;

package Basetype is
    type Byte is range 0 .. 16#FF#;
    for Byte'Size use 8;

    type Word is range 0 .. 16#FFFF#;
    for Word'Size use 16;

    subtype Address is Word;
    subtype Word_Address is Address;

    Last_Disk_Unit : constant Integer := 15;
    type Disk_Unit_Number is range 0 .. Last_Disk_Unit;

    type Literal_30 is new String (1 .. 30);

    type Sector_Position is
        record
            Cylinder : Word;
            Track : Byte;
            Sector : Byte;
        end record;

    type Year_Type is range 0 .. 127;
    for Year_Type'Size use 7;

    type Month_Type is range 0 .. 15;
    for Month_Type'Size use 4;

    type Day_Type is range 0 .. 31;
    for Day_Type'Size use 5;

    type Fs_Time is
        record
            Time : Word;
            Year : Year_Type;
            Month : Month_Type;
            Day : Day_Type;
        end record;

    type Filler12_Type is range 0 .. 4095;
    for Filler12_Type'Size use 12;
    type Machine_Dependant_File_Attributes is
        record
            Filler : Filler12_Type;    -- 12 bits
            Empty : Boolean;          --  1 bit
            Kernel : Boolean;          --  1 bit
            Prog : Boolean;          --  1 bit
            No_Deletion : Boolean;          --  1 bit
        end record;                     -- 16 bits

    type Iop_Kind is (Unknown, M100, M200);

    type Str_Ptr is
        record
            Length : Natural;
            Chars : String (1 .. 126);
        end record;

    Max_File_Page : constant := 16#4000#;

    type File_Page is range 0 .. Max_File_Page;
    type Page_Offset is range 0 .. 511;
    type Page_Length is range 1 .. 512;

    type Extent_Descriptor is
        record
            Length : Integer;
            Link : Word;
        end record;

    type File_Pointer is
        record
            Last_Page : Word;
            Address : Word;
        end record;

    type File_Pointers is array (0 .. 5) of File_Pointer;

    type Fdata is
        record
            Length : Word;
            Pointers : File_Pointers;
            Creation_Time : Fs_Time;
            Attributes : Machine_Dependant_File_Attributes;
        end record;

    type Fib is
        record
            Name : System.Byte_String (1 .. 30);
            Hash : Word;
            Data : Fdata;
        end record;

    type Fcb;

    type Fcbp is access Fcb;

    type Fcb is
        record
            Name : System.Byte_String (1 .. 30);
            Hash : Word;
            Data : Fdata;
            Directory_Block : Word;
            Dir_Offset : Integer;
            Link : Fcbp;
            Text_Page : File_Page;
            Text_Char : Integer;
            Fcb_Modified : Boolean;
        end record;

    type Fib_Block is array (0 .. 15) of Fib;

    -- type Raw_Block_Data is array (0 .. 1023) of System.Byte;


end Basetype;

E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=2b rec1=00 rec2=01 rec3=044
        [0x01] rec0=22 rec1=00 rec2=02 rec3=016
        [0x02] rec0=27 rec1=00 rec2=03 rec3=03e
        [0x03] rec0=04 rec1=00 rec2=04 rec3=000
    tail 0x2170e640082b14dba5a9b 0x42a00088462060003