|
|
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: 11264 (0x2c00)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Carte_Es, seg_05b6c0
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Module_Type;
with System;
with Vme;
with Vsip;
package body Carte_Es is
package Vsip1 is new Vsip (Base_Address => 16#8000#,
Vme_Position => Vme.Slot1,
Scim_0 => Module_Type.Mod101,
Scim_1 => Module_Type.No_Module,
Scim_2 => Module_Type.No_Module,
Scim_3 => Module_Type.No_Module);
package Module is new Vsip1.Mod101 (Base_Address_Module => 16#600#);
type Numero_Bit is new Natural range 0 .. 7;
type Sortie_Reelle is
record
Broche : Module.Pin_No;
end record;
type Tableau_Sorties is array (Numero_Sortie) of Sortie_Reelle;
Les_Sorties : Image_Des_Sorties;
Initialisee : Boolean := False;
Correspondance : Tableau_Sorties := (1 => (Broche => 3),
2 => (Broche => 4),
3 => (Broche => 5),
4 => (Broche => 6),
5 => (Broche => 7),
6 => (Broche => 8),
7 => (Broche => 13),
8 => (Broche => 14),
9 => (Broche => 15),
10 => (Broche => 16),
11 => (Broche => 17),
12 => (Broche => 18),
13 => (Broche => 23),
14 => (Broche => 33),
15 => (Broche => 27),
16 => (Broche => 28),
17 => (Broche => 29),
18 => (Broche => 34),
19 => (Broche => 35),
20 => (Broche => 36),
21 => (Broche => 37),
22 => (Broche => 38),
23 => (Broche => 39),
24 => (Broche => 40),
25 => (Broche => 12),
26 => (Broche => 22),
27 => (Broche => 32),
28 => (Broche => 42),
29 => (Broche => 43),
30 => (Broche => 24),
31 => (Broche => 9),
32 => (Broche => 10),
33 => (Broche => 19),
34 => (Broche => 20));
procedure Initialiser is
begin
Vsip1.Setup;
Module.Setup;
for No in Numero_Sortie loop
Module.Set_Output_Pin (Pin => Correspondance (No).Broche);
end loop;
for No in Numero_Sortie loop
Module.Write_Pin (Pin => Correspondance (No).Broche,
Status => False);
Les_Sorties (No) := Module.Read_Pin
(Pin => Correspondance (No).Broche);
end loop;
Initialisee := True;
end Initialiser;
procedure Terminer is begin
null;
end Terminer;
procedure Activer (Sortie_Numero : in Numero_Sortie) is
begin
if Initialisee then
Module.Write_Pin
(Pin => Correspondance (Sortie_Numero).Broche, Status => True);
Les_Sorties (Sortie_Numero) :=
Module.Read_Pin (Pin => Correspondance (Sortie_Numero).Broche);
else
raise Non_Initialisee;
end if;
end Activer;
procedure Desactiver (Sortie_Numero : in Numero_Sortie) is
begin
if Initialisee then
Module.Write_Pin (Pin => Correspondance (Sortie_Numero).Broche,
Status => False);
Les_Sorties (Sortie_Numero) :=
Module.Read_Pin (Pin => Correspondance (Sortie_Numero).Broche);
else
raise Non_Initialisee;
end if;
end Desactiver;
function Lire (Sortie_Numero : in Numero_Sortie) return Boolean is
begin
if Initialisee then
return Module.Read_Pin (Correspondance (Sortie_Numero).Broche);
else
raise Non_Initialisee;
end if;
end Lire;
function Lire_Les_Sorties return Image_Des_Sorties is
begin
if Initialisee then
return Les_Sorties;
else
raise Non_Initialisee;
end if;
end Lire_Les_Sorties;
end Carte_Es;
nblk1=a
nid=6
hdr6=c
[0x00] rec0=1a rec1=00 rec2=01 rec3=048
[0x01] rec0=10 rec1=00 rec2=04 rec3=030
[0x02] rec0=10 rec1=00 rec2=05 rec3=000
[0x03] rec0=13 rec1=00 rec2=08 rec3=002
[0x04] rec0=1f rec1=00 rec2=09 rec3=088
[0x05] rec0=13 rec1=00 rec2=0a rec3=000
[0x06] rec0=0d rec1=00 rec2=06 rec3=002
[0x07] rec0=1f rec1=00 rec2=09 rec3=088
[0x08] rec0=13 rec1=00 rec2=0a rec3=000
[0x09] rec0=30 rec1=00 rec2=20 rec3=000
tail 0x2176aeb8a8947418ff364 0x42a00088462060003
Free Block Chain:
0x6: 0000 00 07 01 b1 80 12 61 6e 63 65 20 28 4e 6f 29 2e ┆ ance (No).┆
0x7: 0000 00 02 03 fc 80 28 6e 69 74 5f 53 6f 72 74 69 65 ┆ (nit_Sortie┆
0x2: 0000 00 03 03 fc 00 09 20 20 20 20 62 65 67 69 6e 09 ┆ begin ┆
0x3: 0000 00 00 01 73 80 0b 74 2c 20 56 61 6c 65 75 72 29 ┆ s t, Valeur)┆