|
|
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 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;┆