|
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 - 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)┆