DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ B T ┃
Length: 3152 (0xc50) Types: TextFile Names: »B«
└─⟦149519bd4⟧ Bits:30000546 8mm tape, Rational 1000, !projects 93-07-13 └─ ⟦124ff5788⟧ »DATA« └─⟦this⟧ └─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─ ⟦129cab021⟧ »DATA« └─⟦this⟧ └─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16 └─ ⟦6f12a12be⟧ »DATA« └─⟦this⟧ └─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04 └─ ⟦d65440be7⟧ »DATA« └─⟦this⟧
with Octet, Text_Io, Acia_Pack; with Xterm; use Text_Io; package body Acia_Out is task type Acia_Tty is pragma Os_Task (0); entry Init (Identifier : Natural); entry Close; end Acia_Tty; type T_Tache_Ptr is access Acia_Tty; type Tty is record Tache_Ptr : T_Tache_Ptr; Tty_Present : Boolean := False; end record; Tab_Tache : array (1 .. 10) of Tty; ------------------------------ exports ------------------------------------- procedure Transmit_Byte (Value : Octet.T_Octet; Identifier : Natural; Seven_Bits : Boolean; Trans_Parity : Parity; Two_Stop : Boolean) is Carac1, Carac2 : Character; begin -- Octet.Convert_Octet_Ascii (Value, Carac1, Carac2); -- Put_Line (" Je transmet le caractere de valeur =>" & Carac1 & Carac2); -- Put (" sur "); -- if Seven_Bits then -- Put (" 7 bits"); -- else -- Put (" 8 bits"); -- end if; -- case Trans_Parity is -- when Even => -- Put (" ,parite paire"); -- when Odd => -- Put (" ,parite impaire"); -- when None => -- Put (" ,sans parite"); -- end case; -- if Two_Stop then -- Put_Line (",2 stop bits."); -- else -- Put_Line (",1 stop bit."); -- end if; if Tab_Tache (Identifier).Tty_Present then Xterm.Put (Identifier, Value); end if; end Transmit_Byte; procedure Creer (Identifier : Natural) is begin if Xterm.Open (Identifier) /= 0 then Tab_Tache (Identifier).Tty_Present := True; Tab_Tache (Identifier).Tache_Ptr := new Acia_Tty; Tab_Tache (Identifier).Tache_Ptr.Init (Identifier); else Tab_Tache (Identifier).Tty_Present := False; end if; end Creer; procedure Detruire (Identifier : Natural) is begin if Tab_Tache (Identifier).Tty_Present then Tab_Tache (Identifier).Tty_Present := False; Tab_Tache (Identifier).Tache_Ptr.Close; end if; end Detruire; task body Acia_Tty is Id : Natural; Val : Integer; begin select accept Init (Identifier : Natural) do Id := Identifier; end Init; end select; loop select accept Close do Xterm.Close (Id); end Close; exit; else Val := Xterm.Get (Id); case Val is when 1000 => null; when 2000 => Text_Io.Put_Line ("error read pipe"); when others => Acia_Pack.Receive (Val, Id); end case; --delay (Duration'Small); end select; end loop; end Acia_Tty; end Acia_Out;