|
|
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 Local_Io_Conf, package body Serial_Support, seg_057e4f
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Unchecked_Conversion;
package body Local_Io_Conf is
package Serial_Support is
procedure Init;
procedure Put (B : General_Defs.Byte);
procedure Get (B : out General_Defs.Byte; Got_Byte : out Boolean);
end Serial_Support;
package body Serial_Support is
procedure Init is
begin
C_Driver_Serie.Interface_Serie.Initialiser
(General_Defs.Port_A, General_Defs.Bd9600,
General_Defs.None, 8, 1);
C_Driver_Serie.Interface_Serie.Serie.Emission_Reception
(Port_Serie => General_Defs.Port_A,
Mode => C_Driver_Serie.Interface_Serie.Serie.R);
C_Driver_Serie.Interface_Serie.Serie.Pos_Interruption
(C_Driver_Serie.Interface_Serie.Serie.R);
end Init;
procedure Put (B : General_Defs.Byte) is
Trame1 : General_Defs.Byte_String (1 .. 1);
begin
Trame1 (1) := B;
C_Driver_Serie.Tache_Driver_Serie.Ecriture_Trame
(Trame1, General_Defs.Port_A);
end Put;
procedure Get (B : out General_Defs.Byte; Got_Byte : out Boolean) is
Taille : Integer;
Trame1 : General_Defs.Byte_String (1 .. 1);
Port : General_Defs.Port := General_Defs.Port_A;
begin
C_Driver_Serie.Tache_Driver_Serie.Lecture_Trame
(Trame1, Taille, Port);
end Get;
end Serial_Support;
procedure Initialize (Device : Local_Device_Handle) is
begin
if Device = Dev0 then
Serial_Support.Init;
-- else
-- raise Use_Error;
end if;
end Initialize;
procedure Shutdown (Device : Local_Device_Handle) is
begin
null;
end Shutdown;
procedure Write_Char (Char : General_Defs.Byte) is
begin
Serial_Support.Put (Char);
if General_Defs.Egaux
(General_Defs.Byte (Character'Pos (Ascii.Lf)), Char) then
Serial_Support.Put (Character'Pos (Ascii.Cr));
end if;
end Write_Char;
procedure Read (Device : Local_Device_Handle;
Addr : System.Address;
Count : in out Natural) is
Taille : Integer;
Trame1 : General_Defs.Byte_String (1 .. 1024);
Port : General_Defs.Port := General_Defs.Port_A;
begin
C_Driver_Serie.Tache_Driver_Serie.Lecture_Trame (Trame1, Taille, Port);
end Read;
procedure Write (Device : Local_Device_Handle;
Addr : System.Address;
Count : in out Natural) is
Trame1 : General_Defs.Byte_String (1 .. 1024);
Port : General_Defs.Port := General_Defs.Port_A;
begin
C_Driver_Serie.Tache_Driver_Serie.Ecriture_Trame
(Trame1, General_Defs.Port_A);
end Write;
end Local_Io_Conf;
nblk1=4
nid=0
hdr6=8
[0x00] rec0=1b rec1=00 rec2=01 rec3=034
[0x01] rec0=24 rec1=00 rec2=04 rec3=016
[0x02] rec0=1b rec1=00 rec2=02 rec3=008
[0x03] rec0=01 rec1=00 rec2=03 rec3=000
tail 0x217652ef887d482c5eed7 0x42a00088462060003