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

⟦d64687635⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Terminal_Mc68k, seg_05a58e

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 Tampon;
with Coordonnees;
package body Terminal_Mc68k is
    use Coordonnees;
    subtype No_Terminal is Integer range 1 .. 8;

    type Objet is
        record  
            No : No_Terminal;
            Lin : Tcoordonnees;
            Col : Tcoordonnees;
        end record;

    function Creer (Col : in Tcoordonnees := Max_Col;
                    Lin : in Tcoordonnees := Max_Lin;
                    No : in Integer) return Handle is
        Mon_Handle : Handle;
    begin
        Mon_Handle := new Objet'(No, Lin, Col);
        Tampon.Init_Port (No);
        return Mon_Handle;  
    end Creer;


    procedure Ecrire (Terminal : in Handle;
                      C : in Character;
                      X, Y : in Tcoordonnees;
                      Blink : in Boolean := False) is
    begin
        Tampon.Envoi.Ecrire_Car (Terminal.No, X, Y, C, Blink);  
    end Ecrire;

    task body Recoit is  
        No : Integer;
        C : Character;
    begin
        select
            accept Nouveau_Caractere
                      (No_Rdv : in Integer; C_Rdv : in Character) do
                No := No_Rdv;
                C := (C_Rdv);
            end Nouveau_Caractere;
        or
            terminate;
        end select;
        Envoyer_Caractere (C, No);
    end Recoit;


    procedure Fermer (Terminal : in out Handle) is
    begin
        Tampon.Efface_Ecran (Terminal.No);  
        Terminal := null;  
    end Fermer;

end Terminal_Mc68k;

E3 Meta Data

    nblk1=4
    nid=2
    hdr6=4
        [0x00] rec0=24 rec1=00 rec2=01 rec3=01a
        [0x01] rec0=17 rec1=00 rec2=03 rec3=000
        [0x02] rec0=04 rec1=00 rec2=03 rec3=000
        [0x03] rec0=04 rec1=00 rec2=03 rec3=000
    tail 0x21769d2dc89296f0b2d78 0x42a00088462060003
Free Block Chain:
  0x2: 0000  00 04 03 fc 00 1f 20 20 20 20 20 20 20 20 4d 63  ┆              Mc┆
  0x4: 0000  00 00 00 c0 80 01 3b 01 00 1d 20 20 20 20 20 20  ┆      ;         ┆