|
|
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, procedure Info2, seg_03f6a8
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
with Device_Independent_Io;
with Io;
with System;
with Io_Exceptions;
with Terminal_Specific;
with Text_Io;
with Sequential_Io;
with Unchecked_Conversion;
with Window_Io;
with Draw_Box;
use System;
use Io;
use Text_Io;
use Window_Io;
use Io_Exceptions;
procedure Info2 is
package Dio renames Device_Independent_Io;
package Ts renames Terminal_Specific;
package Tio renames Text_Io;
subtype Bs is System.Byte_String;
F_Out : Ts.File_Type;
F_In : Ts.File_Type;
W_Out : Window_Io.File_Type;
W_Access : Window_Io.File_Mode;
Buf : Bs (1 .. 252);
B : System.Byte;
T_16 : constant String := "!machine.devices.terminal_16";
Entete : Bs (1 .. 4) := (1 .. 4 => 111);
Buf1 : String (1 .. 256);
Cnt : Natural;
Beep_4 : constant Bs := (16#01#, 16#04#, 16#00#, 16#01#,
16#2C#, 16#F1#, 16#F2#);
Beep_3 : constant Bs := (16#01#, 16#03#, 16#00#, 16#01#,
16#2C#, 16#F1#, 16#F2#);
-- Site_00 : constant Bs := (16#01#, 16#04#, 16#00#, 16#04#, 16#27#,
-- 16#00#, 16#00#, 16#00#, 16#F1#, 16#F2#);
Site_00 : constant Bs := (10#01#, 10#04#, 10#00#, 10#04#, 10#39#,
10#00#, 10#00#, 10#60#, 10#241#, 10#242#);
Horloge_00 : constant Bs := (16#01#, 16#04#, 16#00#, 16#04#, 16#23#,
16#02#, 16#04#, 16#08#, 16#F1#, 16#F2#);
Rapport_Site : constant Bs :=
(16#01#, 16#04#, 16#00#, 16#01#, 16#28#, 16#F1#, 16#F2#);
Rapport_Evenement : constant Bs :=
(16#01#, 16#04#, 16#00#, 16#01#, 16#1D#, 16#F1#, 16#F2#);
Rapport_Horloge : constant Bs :=
(16#01#, 16#04#, 16#00#, 16#01#, 16#24#, 16#F1#, 16#F2#);
-- subtype Positive_Count is Positive range 1 .. Positive'Last;
Compteur : Natural := 0;
function Calcul_Check_Sum
(Check_Sum1, Check_Sum2 : System.Byte) return Natural is
Mise_En_Forme : array (1 .. 2) of System.Byte;
begin
Mise_En_Forme (Mise_En_Forme'First) := Check_Sum1;
Mise_En_Forme (Mise_En_Forme'Last) := Check_Sum2;
return Natural (Check_Sum1) * 100 + Natural (Check_Sum2);
end Calcul_Check_Sum;
begin
-- Window_Io.Create
-- (W_Out, Mode => Window_Io.File_Mode'Last, Name => "ToTo", Form => "");
-- Window_Io.Open (File => W_Out,
-- Mode => Window_Io.File_Mode'Last,
-- Name => "ToTo",
-- Form => "");
Dio.Open (File => F_Out,
Mode => Dio.Out_File,
-- Name => "!machine.devices.terminal_16",
Name => T_16,
Form => "");
Dio.Write (F_Out, Rapport_Evenement);
-- Dio.Write (F_Out, Site_00);
-- Dio.Write (F_Out, Rapport_Site);
Dio.Close (File => F_Out);
delay 1.0;
Text_Io.Put_Line (" Ouverture en Lecture ");
Dio.Open (File => F_In,
Mode => Dio.In_File,
-- Name => "!machine.devices.terminal_16",
Name => T_16,
Form => "");
Ts.Input.Set_Editing (File => F_In, Mode => "None");
Ts.Input.Set_Echo (File => F_In, Echo => False);
-- Draw_Box (W_Out, 2, 40, 10, 10);
-- Dio.Read (F_In, Entete, Compteur);
-- Text_Io.Put_Line (Natural'Image (Natural (Compteur)));
-- Text_Io.Put_Line (Natural'Image (Natural (Entete (Entete'First))));
-- Text_Io.Put_Line (Natural'Image (Natural (Entete (Entete'First + 1))));
-- Text_Io.Put_Line (Natural'Image (Natural (Entete (Entete'Last - 1))));
-- Text_Io.Put_Line (Natural'Image (Natural (Entete (Entete'Last))));
for I in 1 .. 4 loop
Dio.Read (F_In, B);
Entete (I) := B;
Text_Io.Put_Line (Natural'Image (Natural (B)));
end loop;
Text_Io.Put_Line (" Boucle 1 terminee ");
Compteur := Calcul_Check_Sum
(Entete (Entete'Last - 1), Entete (Entete'Last));
Text_Io.Put_Line ("compteur : " & Natural'Image (Natural (Compteur)));
for I in 1 .. Compteur loop
Dio.Read (F_In, B);
Text_Io.Put (Natural'Image (Natural (B)));
end loop;
Text_Io.Put_Line (" Boucle 2 terminee ");
for I in 1 .. 2 loop
Dio.Read (F_In, B);
Text_Io.Put (Natural'Image (Natural (B)));
end loop;
-- for I in 1 .. 500 loop
-- Dio.Read (F_In, B);
-- end loop;
Dio.Close (File => F_In);
-- Window_Io.Close (File => W_Out);
end Info2;
nblk1=7
nid=2
hdr6=c
[0x00] rec0=2b rec1=00 rec2=01 rec3=064
[0x01] rec0=16 rec1=00 rec2=03 rec3=046
[0x02] rec0=22 rec1=00 rec2=07 rec3=00c
[0x03] rec0=01 rec1=00 rec2=04 rec3=034
[0x04] rec0=1c rec1=00 rec2=05 rec3=032
[0x05] rec0=1b rec1=00 rec2=06 rec3=000
[0x06] rec0=ab rec1=04 rec2=00 rec3=028
tail 0x215393f80860a5fd88a26 0x42a00088462060003
Free Block Chain:
0x2: 0000 00 00 00 0c 80 09 23 2c 20 31 36 23 30 31 23 09 ┆ #, 16#01# ┆