|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 7168 (0x1c00)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Mc68k, seg_05a001
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
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;
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┆