|
|
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: 7168 (0x1c00)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Duart_2661, seg_05be1e, seg_05c29a
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with V_Bits;
package body Duart_2661 is
Cste_Stop_Bit : constant array (Stop_Bit) of Integer :=
(Stop_Bit_0 => 2#0000_0000#,
Stop_Bit_1 => 2#0100_0000#,
Stop_Bit_1_5 => 2#1000_0000#,
Stop_Bit_2 => 2#1100_0000#);
Cste_Parity : constant array (Parity) of Integer :=
(Parity_None => 2#0000_0000#,
Parity_Odd => 2#0001_0000#,
Parity_Even => 2#0011_0000#);
Cste_Car_Length : constant array (Car_Length) of Integer :=
(Car_Length_5_Bit => 2#0000_0000#,
Car_Length_6_Bit => 2#0000_0100#,
Car_Length_7_Bit => 2#0000_1000#,
Car_Length_8_Bit => 2#0000_1100#);
Cste_Mode : constant array (Mode) of Integer :=
(Mode_Synch => 2#0000_0000#,
Mode_Asynch_1 => 2#0000_0001#,
Mode_Asynch_16 => 2#0000_0010#,
Mode_Asynch_64 => 2#0000_0011#);
Cste_Clock_Source : constant array (Clock_Source) of Integer :=
(Clock_Source_None => 2#0011_0000#);
Cste_Baud_Rate : constant array (Baud_Rate) of Integer :=
(Baud_Rate_75 => 2#0000_0001#,
Baud_Rate_1200 => 2#0000_1001#,
Baud_Rate_9600 => 2#0000_1110#,
Baud_Rate_19200 => 2#0000_1111#);
Cste_Operating : constant array (Operating) of Integer :=
(Normal => 2#0000_0000#,
Asynch_Auto => 2#0100_0000#,
Local_Loopback => 2#1000_0000#,
Remote_Loopback => 2#1100_0000#);
Cste_Req_To_Send : constant array (Req_To_Send) of Integer :=
(Active => 2#0000_0000#, Low => 2#0010_0000#);
Cste_Error_Reset : constant array (Error_Reset) of Integer :=
(Normal => 2#0000_0000#, Active => 2#0001_0000#);
Cste_Synch_Asynch : constant array (Synch_Asynch) of Integer :=
(Mode_1 => 2#0000_0000#, Mode_2 => 2#0000_1000#);
Cste_Rxen : constant array (Rxen) of Integer :=
(Disable => 2#0000_0000#, Enable => 2#0000_0100#);
Cste_Dtr : constant array (Dtr) of Integer :=
(Dtr_High => 2#0000_0000#, Dtr_Low => 2#0000_0010#);
Cste_Txen : constant array (Txen) of Integer :=
(Disable => 2#0000_0000#, Enable => 2#0000_0001#);
function Get_Mr1 (S : in Stop_Bit := Stop_Bit_1;
P : in Parity := Parity_None;
C : in Car_Length := Car_Length_8_Bit;
M : in Mode := Mode_Asynch_1) return Byte is
B : Integer := 0;
begin
B := V_Bits.Bit_Or (Cste_Stop_Bit (S), Cste_Parity (P));
B := V_Bits.Bit_Or (B, Cste_Car_Length (C));
B := V_Bits.Bit_Or (B, Cste_Mode (M));
return Byte (B);
end Get_Mr1;
function Get_Mr2 (C : in Clock_Source := Clock_Source_None;
B : in Baud_Rate := Baud_Rate_9600) return Byte is
By : Integer := 0;
begin
By := V_Bits.Bit_Or (Cste_Clock_Source (C), Cste_Baud_Rate (B));
return Byte (By);
end Get_Mr2;
function Get_Cr (O : in Operating := Normal;
Rs : in Req_To_Send := Low;
E : in Error_Reset := Normal;
S : in Synch_Asynch := Mode_1;
R : in Rxen := Enable;
D : in Dtr := Dtr_Low;
T : in Txen := Disable) return Byte is
B : Integer := 0;
begin
B := V_Bits.Bit_Or (Cste_Operating (O), Cste_Req_To_Send (Rs));
B := V_Bits.Bit_Or (B, Cste_Error_Reset (E));
B := V_Bits.Bit_Or (B, Cste_Synch_Asynch (S));
B := V_Bits.Bit_Or (B, Cste_Rxen (R));
B := V_Bits.Bit_Or (B, Cste_Dtr (D));
B := V_Bits.Bit_Or (B, Cste_Txen (T));
return Byte (B);
end Get_Cr;
function Activer_It_Rx_Tx return Byte is
begin
return Get_Cr (T => Enable);
end Activer_It_Rx_Tx;
function Activer_It_Rx return Byte is
begin
return Get_Cr;
end Activer_It_Rx;
function Activer_It_Tx return Byte is
begin
return Get_Cr (R => Disable, T => Enable);
end Activer_It_Tx;
function Desactiver_It return Byte is
begin
return Get_Cr (R => Disable);
end Desactiver_It;
end Duart_2661;
nblk1=6
nid=4
hdr6=a
[0x00] rec0=1c rec1=00 rec2=01 rec3=042
[0x01] rec0=1a rec1=00 rec2=02 rec3=044
[0x02] rec0=1a rec1=00 rec2=06 rec3=012
[0x03] rec0=1c rec1=00 rec2=03 rec3=004
[0x04] rec0=0a rec1=00 rec2=05 rec3=000
[0x05] rec0=0a rec1=00 rec2=04 rec3=000
tail 0x2176b507289556d04850b 0x42a00088462060003
Free Block Chain:
0x4: 0000 00 00 01 16 80 28 20 20 20 66 75 6e 63 74 69 6f ┆ ( functio┆