|
|
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: 8192 (0x2000)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Bus_2, seg_00f4d7
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
with Memoire_2;
with Mots;
package body Bus_2 is
-- VARIABLES --------------------------------------------
Etat_Interne :Etat;
Vecteur_It : Octet.T_octet;
-- PROCEDURES INTERNES ----------------------------------
procedure Modifie_etat(ad:adresse.T_adresse:=0;Donnee:Octet.T_octet:=0;
control:Cycle) is
begin
Etat_Interne.Bus_Adresse:= ad;
Etat_Interne.Bus_Donnee := Donnee;
Etat_Interne.Bus_Control := Cycle;
end;
---------------------------------------------------------
-- INTERFACE
---------------------------------------------------------
-- Entrees Z80 ------------------------------------------
procedure Lecture_Memoire (Ad : Adresse.T_Adresse;
Donnee : out Octet.T_Octet) is
begin
Memoire_2.Lecture(ad,donnee);
modifie_etat(Ad,donnee,Lect_Memoire);
end Lecture_Memoire;
--------------------------------------------
procedure Lecture_Code (Ad : Adresse.T_Adresse; Code : out Octet.T_Octet) is
begin
Memoire_2.Lecture(ad,donnee);
modifie_etat(Ad,donnee,Lect_Code);
end Lecture_Code;
--------------------------------------------
procedure Ecriture_Memoire
(Ad : Adresse.T_Adresse; Donnee : Octet.T_Octet) is
begin
modifie_etat(ad,donnee,Ecrit_memoire);
Memoire_2.Ecriture(ad,donnee);
end Ecriture_Memoire;
--------------------------------------------
procedure Lecture_E_S (Ad : Adresse.T_Adresse;
Donnee : out Octet.T_Octet) is
Ad_periph:Octet.t_octet;
begin
Ad_Periph := Mot.poids_Faible(ad);
Peripheriques.Lecture(Ad_periph,Donnee);
Modifie_etat(ad,donnee,lect_E_S);
end Lecture_E_S;
--------------------------------------------
procedure Ecriture_E_S (Ad : Adresse.T_Adresse; Donnee : Octet.T_Octet) is
Ad_periph:Octet.t_octet;
begin
Modifie_etat(ad,donnee,Ecrit_E_S);
ad_Periph := Mot.Poids_Faible(ad);
Peripheriques.Ecriture(Ad_Periph,Donnee);
end Ecriture_E_S;
--------------------------------------------
procedure Lit_Vecteur_It (Vecteur : out Octet.T_Octet) is
begin
Modifie_etat(control=>Dem_irq);
vecteur := Vecteur_It;
end Lit_Vecteur_It;
--------------------------------------------
procedure Bus_Ack is
begin
Modifie_etat(control=>Recep_Bus);
end Bus_Ack;
--------------------------------------------
procedure Halt is
begin
Modifie_etat(control=>Halt);
end Halt;
-- Entrees Peripheriques --------------------------------------
procedure Irq (Periph_Id : Peripheriques.Num_Periph) is
begin
Analyse_etat(control=>Dem_irq);
end Irq;
procedure Nmi (Periph_Id : Peripheriques.Num_Periph) is
begin
Analyse_etat(control=>Dem_Nmi);
end Nmi;
procedure Ecrit_Vecteur_It(Vecteur: Octet.T_Octet);
begin
Vecteur_It := vecteur;
end ;
-- Autres ----------------------------------------------------
procedure Reset is
begin
[statement]
end Reset;
procedure Bus_Request is
begin
Analyse_Etat(control=>Dem_Bus);
end Bus_Request;
-- Entrees Debugger ------------------------------------------
procedure Lire_Etat (Etat_Bus : out Etat) is
begin
Etat_Bus ;= Etat_Interne;
end Lire_Etat;
procedure Marquer_Etat (Etat_Bus : Etat;
Signal : Message.Num_Message;
Etat_Id : out Num_Etat) is
begin
[statement]
end Marquer_Etat;
procedure Liberer_Etat (Etat_Id : Num_Etat) is
begin
[statement]
end Liberer_Etat;
end Bus_2;
nblk1=7
nid=4
hdr6=a
[0x00] rec0=21 rec1=00 rec2=01 rec3=06c
[0x01] rec0=1e rec1=00 rec2=02 rec3=008
[0x02] rec0=25 rec1=00 rec2=05 rec3=020
[0x03] rec0=2a rec1=00 rec2=07 rec3=004
[0x04] rec0=0d rec1=00 rec2=06 rec3=001
[0x05] rec0=03 rec1=13 rec2=11 rec3=300
[0x06] rec0=00 rec1=5e rec2=41 rec3=0a1
tail 0x2150b5636822b4fe69519 0x42a00088462062803
Free Block Chain:
0x4: 0000 00 03 02 17 80 03 20 20 20 03 00 0c 20 20 20 20 ┆ ┆
0x3: 0000 00 00 01 83 80 06 5f 45 74 61 74 3b 06 00 00 00 ┆ _Etat; ┆