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

⟦b7d6c016e⟧ Ada Source

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

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 Mc68k;
with Text_Io;
with Vers_Symbole;
with Terminal;
package body Tampon_Mc68k is
    procedure Deplace_Curseur
                 (No : in Integer; X : in Tcoordonnees; Y : in Tcoordonnees) is
        S_Lin : constant Character := Vers_Symbole.Convertit (X);
        S_Col : constant Character := Vers_Symbole.Convertit (Y);
    begin
        Mc68k.Ecrire (No, Ascii.Esc);
        Mc68k.Ecrire (No, '=');
        Mc68k.Ecrire (No, S_Lin);
        Mc68k.Ecrire (No, S_Col);
    end Deplace_Curseur;


    procedure Clignote_Curseur (No : Integer) is
    begin
        Mc68k.Ecrire (No, Ascii.Esc);
        Mc68k.Ecrire (No, 'G');
        Mc68k.Ecrire (No, '2');
    end Clignote_Curseur;


    procedure Normal_Curseur (No : in Integer) is
    begin
        Mc68k.Ecrire (No, Ascii.Esc);
        Mc68k.Ecrire (No, 'G');
        Mc68k.Ecrire (No, '0');
    end Normal_Curseur;  
    procedure Affiche_Car (No : in Integer; C : in Character) is
    begin
        Mc68k.Ecrire (No, C);
    end Affiche_Car;



    procedure Efface_Ecran (No : in Integer) is
    begin
        Mc68k.Ecrire (No, Ascii.Esc);
        Mc68k.Ecrire (No, ':');
    end Efface_Ecran;


    procedure Init_Port (No : in Integer) is
    begin
        Mc68k.Initialise (No);
        Mc68k.Ecrire (No, Ascii.Esc);
        Mc68k.Ecrire (No, '.');
        Mc68k.Ecrire (No, '0');   --curseur invisible
        Efface_Ecran (No);
    end Init_Port;


    task body Envoi is
        No : Integer;
        X : Tcoordonnees;
        Y : Tcoordonnees;
        C : Character;
        B : Boolean;
    begin
        select
            accept Ecrire_Car (No_Rdv : in Integer;
                               X_Rdv : in Tcoordonnees;
                               Y_Rdv : in Tcoordonnees;
                               C_Rdv : in Character;
                               B_Rdv : in Boolean) do  
                No := No_Rdv;
                X := X_Rdv;
                Y := Y_Rdv;
                C := C_Rdv;
                B := B_Rdv;
            end Ecrire_Car;
        or
            terminate;
        end select;
        Deplace_Curseur (No, X, Y);
        if B then
            Clignote_Curseur (No);
        else
            Normal_Curseur (No);  
        end if;
        Affiche_Car (No, C);
    end Envoi;


end Tampon_Mc68k;

E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=22 rec1=00 rec2=01 rec3=004
        [0x01] rec0=06 rec1=00 rec2=03 rec3=05e
        [0x02] rec0=23 rec1=00 rec2=04 rec3=00c
        [0x03] rec0=0f rec1=00 rec2=02 rec3=000
    tail 0x21769d4008929728e3609 0x42a00088462060003