|
|
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: 5120 (0x1400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Com_Cl35, seg_05123d
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
with Port_Serie_68k;
with Text_Io;
package body Com_Cl35 is
package Ps is new Port_Serie_68k;
package Gd renames General_Defs;
Port : constant Ps.Port := Ps.Port_A;
Debut_Trame : constant Gd.Byte := 16#01#;
Fin_Trame_1 : constant Gd.Byte := 16#F1#;
Fin_Trame_2 : constant Gd.Byte := 16#F2#;
Taille_Max_Bstring : constant Natural := 250;
procedure Emission (B : General_Defs.Byte) is
begin
Ps.Ecrire_Donnee (Port_Serie => Port, Donnee => B);
end Emission;
procedure Ecriture (Bs : General_Defs.Byte_String) is
begin
Emission (Debut_Trame);
for I in Bs'Range loop
Emission (Bs (I));
end loop;
Emission (Fin_Trame_1);
Emission (Fin_Trame_2);
end Ecriture;
function Lecture return General_Defs.Byte_String is
use Gd;
Bs : Gd.Byte_String (1 .. Taille_Max_Bstring);
F1, F2 : Gd.Byte;
I : Natural := Bs'First - 1;
begin
if Ps.Lire_Donnee (Port_Serie => Port) = Debut_Trame then
F1 := Ps.Lire_Donnee (Port_Serie => Port);
F2 := Ps.Lire_Donnee (Port_Serie => Port);
while (F1 /= Fin_Trame_1) and (F2 /= Fin_Trame_2) loop
I := I + 1;
if I > Taille_Max_Bstring then
raise Com_Cl35_Error;
end if;
Bs (I) := F1;
F1 := F2;
F2 := Ps.Lire_Donnee (Port_Serie => Port);
end loop;
else
raise Com_Cl35_Error;
end if;
return Bs (Bs'First .. I);
end Lecture;
begin
Ps.Pos_Stop_Bits (Port_Serie => Port, Val_Stop_Bits => 2);
Ps.Emission_Reception (Port_Serie => Port, Mode => Ps.E_R);
end Com_Cl35;
nblk1=4
nid=2
hdr6=4
[0x00] rec0=24 rec1=00 rec2=01 rec3=016
[0x01] rec0=18 rec1=00 rec2=03 rec3=000
[0x02] rec0=1e rec1=00 rec2=02 rec3=014
[0x03] rec0=03 rec1=00 rec2=03 rec3=000
tail 0x2154b28fe87995b013f97 0x42a00088462060003
Free Block Chain:
0x2: 0000 00 04 03 fc 80 0b 6e 5f 54 72 61 6d 65 5f 32 29 ┆ n_Trame_2)┆
0x4: 0000 00 00 01 1c 80 38 54 65 78 74 5f 49 6f 2e 50 75 ┆ 8Text_Io.Pu┆