|
|
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: 6144 (0x1800)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body C_Simple_Io, seg_057e9c
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with C_Driver_Serie;
with General_Defs;
package body C_Simple_Io is
procedure Put (C : in Character) is
Trame : General_Defs.Byte_String (1 .. 1);
begin
Trame (1) := Character'Pos (C);
C_Driver_Serie.Tache_Driver_Serie.Ecriture_Trame
(Trame, General_Defs.Port_A);
end Put;
procedure Put (S : in String) is
Trame : General_Defs.Byte_String (1 .. S'Length);
begin
for I in S'Range loop
Trame (I) := Character'Pos (S (I));
end loop;
C_Driver_Serie.Tache_Driver_Serie.Ecriture_Trame
(Trame, General_Defs.Port_A);
end Put;
-- procedure Taille_Int (Int : Integer; Taille : Natural; Signe : Boolean) is
-- Tempo : Integer;
-- begin
-- Tempo := Int;
-- Taille := 0;
-- if Int < 0 then
-- Signe := False;
-- Tempo := Tempo * (-1);
-- else
-- Signe := True;
-- end if;
-- while (Tempo >= 1) loop
-- Tempo := Tempo / 10;
-- Taille := Taille + 1;
-- end loop;
-- end Taille_Int;
procedure Put (I : in Integer) is
Tempo : constant String := Integer'Image (I);
begin
declare
Trame : General_Defs.Byte_String (1 .. Tempo'Length);
begin
for I in Trame'Range loop
Trame (I) := Character'Pos (Tempo (I));
end loop;
C_Driver_Serie.Tache_Driver_Serie.Ecriture_Trame
(Trame, General_Defs.Port_A);
end;
end Put;
procedure Put_Line (S : in String) is
Trame : General_Defs.Byte_String (1 .. S'Length + 2);
begin
for I in S'Range loop
Trame (I) := Character'Pos (S (I));
end loop;
Trame (Trame'Length - 1) := Character'Pos (Ascii.Lf);
Trame (Trame'Length) := Character'Pos (Ascii.Cr);
C_Driver_Serie.Tache_Driver_Serie.Ecriture_Trame
(Trame, General_Defs.Port_A);
end Put_Line;
procedure New_Line is
Trame : General_Defs.Byte_String (1 .. 2);
begin
Trame (1) := Character'Pos (Ascii.Cr);
Trame (2) := Character'Pos (Ascii.Lf);
C_Driver_Serie.Tache_Driver_Serie.Ecriture_Trame
(Trame, General_Defs.Port_A);
end New_Line;
procedure Clear_Screan is
Trame : General_Defs.Byte_String (1 .. 2);
begin
Trame (1) := 27;
Trame (2) := Character'Pos ('*');
C_Driver_Serie.Tache_Driver_Serie.Ecriture_Trame
(Trame, General_Defs.Port_A);
end Clear_Screan;
procedure Gotoxy (X : Natural; Y : Natural) is
Trame : General_Defs.Byte_String (1 .. 4);
begin
Trame (1) := 27;
Trame (2) := Character'Pos ('=');
Trame (3) := Natural'Pos (Y + 31);
Trame (4) := Natural'Pos (X + 31);
C_Driver_Serie.Tache_Driver_Serie.Ecriture_Trame
(Trame, General_Defs.Port_A);
end Gotoxy;
procedure New_Page is
begin
Clear_Screan;
Gotoxy (1, 1);
end New_Page;
procedure Get (C : out Character) is
Trame : General_Defs.Byte_String (1 .. 1);
Taille : Integer;
Port : General_Defs.Port;
begin
C_Driver_Serie.Tache_Driver_Serie.Lecture_Trame (Trame, Taille, Port);
C := Character'Val (Trame (1));
end Get;
procedure Get (Item : out String) is
Trame : General_Defs.Byte_String (1 .. Item'Length);
Taille : Integer;
Port : General_Defs.Port;
begin
C_Driver_Serie.Tache_Driver_Serie.Lecture_Trame (Trame, Taille, Port);
for I in Item'Range loop
Item (I) := Character'Val (Trame (I));
end loop;
end Get;
procedure Get (I : out Integer) is
Trame : General_Defs.Byte_String (1 .. 1024);
Taille : Natural;
Port : General_Defs.Port;
begin
C_Driver_Serie.Tache_Driver_Serie.Lecture_Trame (Trame, Taille, Port);
declare
Tempo : String (1 .. (Taille - 1));
begin
for I in Tempo'Range loop
Tempo (I) := Character'Val (Trame (I));
end loop;
I := Integer'Value (Tempo);
end;
end Get;
procedure Get_Line (Item : out String) is
begin
null;
end Get_Line;
end C_Simple_Io;
nblk1=5
nid=0
hdr6=a
[0x00] rec0=23 rec1=00 rec2=01 rec3=032
[0x01] rec0=1d rec1=00 rec2=04 rec3=01c
[0x02] rec0=1d rec1=00 rec2=03 rec3=02a
[0x03] rec0=20 rec1=00 rec2=05 rec3=062
[0x04] rec0=1a rec1=00 rec2=02 rec3=000
tail 0x2176534e687d57d27ccfd 0x42a00088462060003