DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ T V ┃
Length: 4121 (0x1019) Types: TextFile Names: »V«
└─⟦149519bd4⟧ Bits:30000546 8mm tape, Rational 1000, !projects 93-07-13 └─ ⟦124ff5788⟧ »DATA« └─⟦this⟧ └─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─ ⟦129cab021⟧ »DATA« └─⟦this⟧ └─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16 └─ ⟦6f12a12be⟧ »DATA« └─⟦this⟧ └─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04 └─ ⟦d65440be7⟧ »DATA« └─⟦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;