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

⟦0c24d8c27⟧ Ada Source

    Length: 4096 (0x1000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Target, seg_04cdc8

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



-- types and constants describing the target.  This one is for the 68K
--

with Unsigned_Types;
with Unchecked_Conversion;
with Types;
with Cpus;

package Target is


-----------------------------
-- The name of this target --
-----------------------------
    Id : constant Cpus.Cpu_Family_T := Cpus.M68k;

------------------------------
-- Byte order of the target --
------------------------------
    Byte_Order : Types.Byte_Ordering := Types.Big_Endian;

-------------------------------------------------
-- Address representation and the null address --
-------------------------------------------------
    subtype Addr_Rep is Unsigned_Types.Unsigned_Integer;
    Null_Addr : constant Addr_Rep := 16#FFFF_FFFF#;

    function To_Addr_Rep is new Unchecked_Conversion (Integer, Addr_Rep);
    function Addr_Rep_To_Int is new Unchecked_Conversion (Addr_Rep, Integer);

-----------------------------------------------
-- Machine instruction opcode representation --
-----------------------------------------------
    Opcode_Size : constant := 16;
    type Opcode_Rep is range 0 .. 16#FFFF#;
    for Opcode_Rep'Size use Opcode_Size;

----------------------------------------------
-- using ILLEGAL_INTRUCTION for breakpoints --
----------------------------------------------
    Break_Opcode_Size : constant := 16;
    type Break_Opcode_Rep is range 0 .. 16#FFFF#;
    for Break_Opcode_Rep'Size use Break_Opcode_Size;

    Breakpoint_Opcode : constant Break_Opcode_Rep := 16#4AFC#;

-------------------------------------------
-- basic machine representations         --
-- we read/write bytes on every machine. --
-------------------------------------------
    type Byte is range 0 .. 16#FF#;
    for Byte'Size use 8;

    type Memory is array (Natural range <>) of Byte;
    pragma Pack (Memory);

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

-------------------------------------------
-- parameters for user-procedure calling --
-------------------------------------------
    type Stack_Image is array (Natural range <>) of Byte;

----------------------------------------------------------
-- This is the largest single read/write memory request --
----------------------------------------------------------
    Buffer_Size : constant := 496;

    Mem_Size : constant := Buffer_Size;

    type Buffer_Rep is array (Integer range 0 .. (Buffer_Size - 1)) of Byte;
    for Buffer_Rep'Size use Buffer_Size * 8;

end Target;

E3 Meta Data

    nblk1=3
    nid=0
    hdr6=6
        [0x00] rec0=21 rec1=00 rec2=01 rec3=03e
        [0x01] rec0=1c rec1=00 rec2=02 rec3=050
        [0x02] rec0=10 rec1=00 rec2=03 rec3=000
    tail 0x217541cdc874f7b60086b 0x42a00088462060003