|
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 - download
Length: 6144 (0x1800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Tampon, seg_05a5c2
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Device_Independent_Io; with System; with Terminal_Specific; with Text_Io; with Vers_Symbole; with Terminal; package body Tampon is package Dio renames Device_Independent_Io; package Ts renames Terminal_Specific; package Tio renames Text_Io; subtype Bs is System.Byte_String; F_Out : Ts.File_Type; F_In : Ts.File_Type; B : System.Byte; procedure Deplace_Curseur (No : in Integer; X : in Tcoordonnees; Y : in Tcoordonnees) is S_Col : constant Character := Vers_Symbole.Convertit (X); S_Lin : constant Character := Vers_Symbole.Convertit (Y); begin Dio.Write (File => F_Out, Item => Ascii.Esc & '=' & S_Lin & S_Col); delay 0.1; --Mc68k.Ecrire (No, Ascii.Esc); --Mc68k.Ecrire (No, '='); --Mc68k.Ecrire (No, S_Lin); --Mc68k.Ecrire (No, S_Col); end Deplace_Curseur; procedure Clignote_Curseur (No : Integer) is begin Dio.Write (File => F_Out, Item => Ascii.Esc & 'G' & '2'); delay 0.1; --Mc68k.Ecrire (No, Ascii.Esc); --Mc68k.Ecrire (No, 'G'); --Mc68k.Ecrire (No, '2'); end Clignote_Curseur; procedure Normal_Curseur (No : in Integer) is begin Dio.Write (File => F_Out, Item => Ascii.Esc & 'G' & '0'); delay 0.1; --Mc68k.Ecrire (No, Ascii.Esc); --Mc68k.Ecrire (No, 'G'); --Mc68k.Ecrire (No, '0'); end Normal_Curseur; procedure Affiche_Car (No : in Integer; C : in Character) is begin Dio.Write (File => F_Out, Item => C); delay 0.1; --Mc68k.Ecrire (No, C); end Affiche_Car; procedure Efface_Ecran (No : in Integer) is begin Dio.Write (File => F_Out, Item => Ascii.Esc & ':'); delay 0.1; --Mc68k.Ecrire (No, Ascii.Esc); --Mc68k.Ecrire (No, ':'); end Efface_Ecran; procedure Init_Port (No : in Integer) is begin Dio.Open (File => F_Out, Mode => Dio.Out_File, Name => "!machine.devices.terminal_16", Form => ""); Dio.Open (File => F_In, Mode => Dio.In_File, Name => "!machine.devices.terminal_16", Form => ""); Dio.Write (File => F_Out, Item => Ascii.Esc & '.' & '0'); delay 3.0; --Mc68k.Initialise (No); --Mc68k.Ecrire (No, Ascii.Esc); --Mc68k.Ecrire (No, '.'); --Mc68k.Ecrire (No, '0'); --curseur invisible Efface_Ecran (No); end Init_Port; task body Envoi is No : Integer; X : Tcoordonnees; Y : Tcoordonnees; C : Character; B : Boolean; begin select accept Ecrire_Car (No_Rdv : in Integer; X_Rdv : in Tcoordonnees; Y_Rdv : in Tcoordonnees; C_Rdv : in Character; B_Rdv : in Boolean) do No := No_Rdv; X := X_Rdv; Y := Y_Rdv; C := C_Rdv; B := B_Rdv; end Ecrire_Car; or terminate; end select; Deplace_Curseur (No, X, Y); if B then Clignote_Curseur (No); else Normal_Curseur (No); end if; Affiche_Car (No, C); end Envoi; end Tampon;
nblk1=5 nid=3 hdr6=8 [0x00] rec0=24 rec1=00 rec2=01 rec3=008 [0x01] rec0=25 rec1=00 rec2=05 rec3=000 [0x02] rec0=22 rec1=00 rec2=02 rec3=06e [0x03] rec0=18 rec1=00 rec2=04 rec3=000 [0x04] rec0=c0 rec1=00 rec2=00 rec3=100 tail 0x21769d7c289297e8c3323 0x42a00088462060003 Free Block Chain: 0x3: 0000 00 00 00 09 80 06 63 65 5f 45 63 72 06 6f 6e 3b ┆ ce_Ecr on;┆