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

⟦57bbbb6ad⟧ TextFile

    Length: 2332 (0x91c)
    Types: TextFile
    Notes: R1k Text-file segment

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦e5491d6b1⟧ 
            └─⟦this⟧ 

TextFile

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