|
|
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 Character_Io, seg_05818f
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Defined_Type;
with Simple_Io;
with Vme;
with Vsip;
package body Character_Io is
Character_Value : array ('A' .. 'Z') of Defined_Type.Octet;
-- Object instanciation --
package Vsip1 is new Vsip (Base_Address => 16#8000#,
Vme_Position => Vme.Slot0,
Scim_0 => Defined_Type.Mod101,
Scim_1 => Defined_Type.No_Module,
Scim_2 => Defined_Type.No_Module,
Scim_3 => Defined_Type.No_Module);
package Seven_Led_Display is new Vsip1.Mod101
(Base_Address_Module => 16#600#);
----------------------------------------------
-- Procedure to call to display a character --
----------------------------------------------
procedure Put_Char (C : Char) is
use Seven_Led_Display;
begin
Write_Group (Gp => Group0, Value => 16#FF#);
Write_Group (Gp => Group0, Value => Character_Value (C));
end Put_Char;
--------------------------------------------------------------
-- Procedure to call to wait for an user action on switches --
--------------------------------------------------------------
procedure Wait_Chgt is
D0, D1, D2, Old_D0, Old_D1, Old_D2 : Boolean;
I : Integer;
use Seven_Led_Display;
begin
D0 := Read_Pin (13);
D1 := Read_Pin (14);
D2 := Read_Pin (15);
Old_D0 := D0;
Old_D1 := D1;
Old_D2 := D2;
Simple_Io.Put (" D0 -> ");
Simple_Io.Put (Boolean'Image (D0));
Simple_Io.Put (" : D1 -> ");
Simple_Io.Put (Boolean'Image (D1));
Simple_Io.Put (" : D2 -> ");
Simple_Io.Put (Boolean'Image (D2));
Simple_Io.Put_Line ("");
while D0 = Old_D0 and D1 = Old_D1 loop
D0 := Read_Pin (13);
D1 := Read_Pin (14);
D2 := Read_Pin (15);
end loop;
end Wait_Chgt;
begin
-- Seven-led display alphabetic values
-- "0" means the led is turned ON and "1" means it is turned OFF
Character_Value ('A') := 2#10100000#;
Character_Value ('B') := 2#10000110#;
Character_Value ('C') := 2#11001100#;
Character_Value ('D') := 2#10000011#;
Character_Value ('E') := 2#11000100#;
Character_Value ('F') := 2#11100100#;
Character_Value ('G') := 2#10010000#;
Character_Value ('H') := 2#10100110#;
Character_Value ('I') := 2#10111011#;
Character_Value ('J') := 2#10001011#;
Character_Value ('K') := 2#11000110#;
Character_Value ('L') := 2#11001110#;
Character_Value ('M') := 2#10101000#;
Character_Value ('N') := 2#10100111#;
Character_Value ('O') := 2#10001000#;
Character_Value ('P') := 2#11100000#;
Character_Value ('Q') := 2#10110000#;
Character_Value ('R') := 2#11100111#;
Character_Value ('S') := 2#10010100#;
Character_Value ('T') := 2#11100110#;
Character_Value ('U') := 2#11110010#;
Character_Value ('V') := 2#10001111#;
Character_Value ('W') := 2#10001010#;
Character_Value ('X') := 2#10100010#;
Character_Value ('Y') := 2#10010010#;
Character_Value ('Z') := 2#11000001#;
-- Object setup
Vsip1.Setup;
Seven_Led_Display.Setup;
Seven_Led_Display.Protection_Off;
end Character_Io;
nblk1=5
nid=0
hdr6=a
[0x00] rec0=1a rec1=00 rec2=01 rec3=068
[0x01] rec0=1b rec1=00 rec2=04 rec3=03a
[0x02] rec0=0d rec1=00 rec2=05 rec3=00c
[0x03] rec0=1a rec1=00 rec2=03 rec3=010
[0x04] rec0=03 rec1=00 rec2=02 rec3=000
tail 0x2175959ce879c84a70c2e 0x42a00088462060003