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

⟦f63c2265e⟧ Ada Source

    Length: 7168 (0x1c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Mc68k, seg_05a001

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 Pic_For_Ios8;
with Terminal;
with System;

package body Mc68k is

    task Driver_Communication is

        entry Ecrire (Numero_Port : Port; Data : Character);

        entry Entree_Clavier_Port_1;
        entry Entree_Clavier_Port_2;
        entry Entree_Clavier_Port_3;
        entry Entree_Clavier_Port_4;
        entry Entree_Clavier_Port_5;
        entry Entree_Clavier_Port_6;
        entry Entree_Clavier_Port_7;
        entry Entree_Clavier_Port_8;

        for Entree_Clavier_Port_1 use at Adresse_Interruption_Port_1;
        for Entree_Clavier_Port_2 use at Adresse_Interruption_Port_2;
        for Entree_Clavier_Port_3 use at Adresse_Interruption_Port_3;
        for Entree_Clavier_Port_4 use at Adresse_Interruption_Port_4;
        for Entree_Clavier_Port_5 use at Adresse_Interruption_Port_5;
        for Entree_Clavier_Port_6 use at Adresse_Interruption_Port_6;
        for Entree_Clavier_Port_7 use at Adresse_Interruption_Port_7;
        for Entree_Clavier_Port_7 use at Adresse_Interruption_Port_8;

    end Driver_Communication;


    task body Driver_Communication is
        Donnee_Travail : Character;
        Numero_Port : Port;

    begin

        Initialise_Pic;

        loop

            select

                accept Entree_Clavier_Port_1 do
                    Donnee_Travail := Lecture_Port (Numero_Port => 1);
                    Recoit.Nouveau_Caractere (Numero_Port => 1);
                end Entree_Clavier_Port_1;
            or
                accept Entree_Clavier_Port_2 do
                    Donnee_Travail := Lecture_Port (Numero_Port => 2);
                    Recoit.Nouveau_Caractere (Numero_Port => 2);
                end Entree_Clavier_Port_2;

            or
                accept Entree_Clavier_Port_3 do
                    Donnee_Travail := Lecture_Port (Numero_Port => 3);
                    Recoit.Nouveau_Caractere (Numero_Port => 3);
                end Entree_Clavier_Port_3;
            or
                accept Entree_Clavier_Port_4 do
                    Donnee_Travail := Lecture_Port (Numero_Port => 4);
                    Recoit.Nouveau_Caractere (Numero_Port => 4);
                end Entree_Clavier_Port_4;
            or
                accept Entree_Clavier_Port_5 do
                    Donnee_Travail := Lecture_Port (Numero_Port => 5);
                    Recoit.Nouveau_Caractere (Numero_Port => 5);
                end Entree_Clavier_Port_5;
            or
                accept Entree_Clavier_Port_6 do
                    Donnee_Travail := Lecture_Port (Numero_Port => 6);
                    Recoit.Nouveau_Caractere (Numero_Port => 6);
                end Entree_Clavier_Port_6;
            or
                accept Entree_Clavier_Port_7 do
                    Donnee_Travail := Lecture_Port (Numero_Port => 7);
                    Recoit.Nouveau_Caractere (Numero_Port => 7);
                end Entree_Clavier_Port_7;
            or
                accept Entree_Clavier_Port_8 do
                    Donnee_Travail := Lecture_Port (Numero_Port => 8);
                    Recoit.Nouveau_Caractere (Numero_Port => 8);
                end Entree_Clavier_Port_8;
            end select;

        end loop;

    end Driver_Communication;


    procedure Initialise (Numero_Port : Port) is
    begin
        null;   -- utilisation des routines developpe par  Fabien
    end Initialise;

    procedure Ecrire (Numero_Port : in Port; Donnee : in Character) is  
    begin
        Driver_Communication.Ecrire (Numero_Port, Donnee);  
    end Ecrire;


end Mc68k;

E3 Meta Data

    nblk1=6
    nid=4
    hdr6=a
        [0x00] rec0=1c rec1=00 rec2=01 rec3=010
        [0x01] rec0=00 rec1=00 rec2=05 rec3=02a
        [0x02] rec0=1f rec1=00 rec2=03 rec3=04e
        [0x03] rec0=15 rec1=00 rec2=06 rec3=006
        [0x04] rec0=18 rec1=00 rec2=02 rec3=000
        [0x05] rec0=44 rec1=92 rec2=23 rec3=5d0
    tail 0x217699e9689245d22cd67 0x42a00088462060003
Free Block Chain:
  0x4: 0000  00 00 00 23 80 1b 20 65 6e 64 20 45 6e 74 72 65  ┆   #   end Entre┆