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

⟦4d8dd1621⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body essai, seg_041d68

Derivation

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

E3 Source Code



with Io;
with System;  
with Terminal_Specific;
with Text_Io;
with Device_Independent_Io;
with Unchecked_Conversions;
with Constantes;

package body essai is

   package Dio renames Device_Independent_Io;
    package Ts renames Terminal_Specific;
    package Tio renames Text_Io;
    subtype Bs is System.Byte_String;

    F_In : Ts.File_Type;
    F_Out : Ts.File_Type;
                  

procedure Valide (Numero_Lecteur : System.Byte;
                  Numero_Carte : Natural;
                  Numero_Plage : System.Byte;
                  Code_Site : Natural) is

    Valid_Carte : Bs (1 .. 10);
    Rapport_Valid : Bs (1 .. 11);  
    Site_60 : constant Bs := (16#01#, 16#04#, 16#00#, 16#04#, 16#27#,
                              16#00#, 16#00#, 16#3C#, 16#F1#, 16#F2#);

    B : System.Byte;
    No_Carte_1 : System.Byte;
    No_Carte_2 : System.Byte;
    No_2 : Natural;
    No_1 : Natural;

begin
    No_1 := Numero_Carte / 100;   No_2 := Numero_Carte mod 100;


    No_Carte_1 := System.Byte'Val (No_1);
    No_Carte_2 := System.Byte'Val (No_2);


    Valid_Carte := (16#01#, Numero_Lecteur, 16#00#, 16#04#, 16#10#,
                    No_Carte_1, No_Carte_2, Numero_Plage, 16#F1#, 16#F2#);

    Rapport_Valid := (16#01#, 16#04#, 16#00#, 16#05#, 16#1F#, No_Carte_1,
                      No_Carte_2, No_Carte_1, No_Carte_2, 16#F1#, 16#F2#);

    Dio.Open (File => F_Out,
              Mode => Dio.Out_File,
              Name => "!machine.devices.terminal_16",
              Form => "");
    delay 0.5;
    Dio.Write (File => F_Out, Item => Site_60);
    delay 1.0;
    Dio.Write (File => F_Out, Item => Valid_Carte);
    delay 1.0;  
    Dio.Write (File => F_Out, Item => Rapport_Valid);
    delay 1.0;


    Dio.Close (File => F_Out);
    delay 0.5;

    Dio.Open (File => F_In,
              Mode => Dio.In_File,
              Name => "!machine.devices.terminal_16",
              Form => "");  
    delay 0.5;
    Ts.Input.Set_Editing (File => F_In, Mode => "None");
    Ts.Input.Set_Echo (File => F_In, Echo => False);

    for I in 1 .. 100 loop
        Dio.Read (F_In, B);
        Text_Io.Put_Line ("cnt =>" & Natural'Image (Natural (B)));
    end loop;
    Dio.Close (File => F_In);
end Valide;

E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=27 rec1=00 rec2=01 rec3=002
        [0x01] rec0=03 rec1=00 rec2=04 rec3=00a
        [0x02] rec0=1f rec1=00 rec2=02 rec3=010
        [0x03] rec0=09 rec1=00 rec2=03 rec3=000
    tail 0x217428778862850bc18dc 0x42a00088462060003