DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦b8176bbcf⟧ Ada Source

    Length: 4096 (0x1000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Beep, seg_03cd2e

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



with Interchange;
with Serial_Io;
with System;
with Text_Io;
with Unchecked_Conversion;


procedure Beep is

    type Command is (Nul, Un, Lecteur3, Lecteur4,
                     Rapport_Code_Site, Pilotage_A_1, F1, F2);

    for Command'Size use System.Storage_Unit;

    for Command use (Nul => 16#00#,
                     Un => 16#01#,
                     Lecteur3 => 16#03#,
                     Lecteur4 => 16#04#,
                     Rapport_Code_Site => 16#28#,
                     Pilotage_A_1 => 16#2C#,
                     F1 => 16#F1#,
                     F2 => 16#F2#);

    type Sequence is array (Natural range <>) of Command;

    Beep3 : constant Sequence := (Un, Lecteur3, Nul, Un, Pilotage_A_1, F1, F2);
    Beep4 : constant Sequence := (Un, Lecteur4, Nul, Un, Pilotage_A_1, F1, F2);

    Rapport : constant Sequence :=
       (Un, Lecteur3, Nul, Lecteur4, Rapport_Code_Site, F1, F2);

    Bs3 : Interchange.Byte_String (Beep3'First .. Beep3'Last);
    Bs4 : Interchange.Byte_String (Beep4'First .. Beep4'Last);

    Rapport_Bs : Interchange.Byte_String (Rapport'First .. Rapport'Last);

    function Conv is new Unchecked_Conversion (Command, Interchange.Byte);

begin

    for I in Beep3'Range loop
        Bs3 (I) := Conv (Beep3 (I));
        Bs4 (I) := Conv (Beep4 (I));
    end loop;

    for I in Rapport'Range loop
        Rapport_Bs (I) := Conv (Rapport (I));
    end loop;

    for I in 1 .. 1 loop
        Serial_Io.Put (Bs3, "/dev/tty0");
        delay 1.0;
        Serial_Io.Put (Bs4, "/dev/tty0");
        delay 1.0;  
        Serial_Io.Put (Rapport_Bs, "/dev/tty0");
    end loop;




    -- declare
    --     Bs : constant Interchange.Byte_String :=
    --        Serial_Io.Invoke (Rapport_Bs, "/dev/tty0");
    -- begin
    --     for I in Bs'Range loop
    --         Text_Io.Put (Natural'Image (Natural (Bs (I))));
    --     end loop;
    -- end;

    -- declare
    --     Bs : Interchange.Byte_String (1 .. 1024);
    -- begin
    --     for I in 1 .. 10 loop
    --         Bs (I) := Serial_Io.Get (Tty => "/dev/tty0");
    --         delay 0.5;
    --     end loop;
    --
    --     for I in Bs'Range loop
    --         Text_Io.Put (Natural'Image (Natural (Bs (I))));
    --     end loop;
    -- end;
    --
    --
    -- declare
    --     Bs : constant Interchange.Byte_String :=
    --        Serial_Io.Invoke (Bs3, "/dev/tty0");
    -- begin
    --     for I in Bs'Range loop
    --         Text_Io.Put (Natural'Image (Natural (Bs (I))));
    --     end loop;
    -- end;
end Beep;



pragma Main;

E3 Meta Data

    nblk1=3
    nid=0
    hdr6=6
        [0x00] rec0=21 rec1=00 rec2=01 rec3=052
        [0x01] rec0=26 rec1=00 rec2=02 rec3=000
        [0x02] rec0=1c rec1=00 rec2=03 rec3=000
    tail 0x215354d4e85e3699848b0 0x42a00088462060003