|
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: 22528 (0x5800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Segment, seg_051e71
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Defined_Type; with System; with Simple_Io; with Vme; with Vsip; with V_Bits; procedure Segment is package Vsip1 is new Vsip (Base_Address => 16#8000#, Vme_Position => Vme.Slot0, Scim_0 => Defined_Type.Mod101, Scim_1 => Defined_Type.No_Module, Scim_2 => Defined_Type.No_Module, Scim_3 => Defined_Type.No_Module); package Module is new Vsip1.Mod101 (Base_Address_Module => 16#600#); N : Integer; procedure Await is I : Integer; begin for I in 1 .. 100000 loop null; end loop; end Await; procedure Coder is Entier : Integer; Octet : Defined_Type.Octet; use Module; begin Octet := Read_Group (Gp => Group1); Entier := V_Bits.Bit_And (Defined_Type.Octet'Pos (Octet), 2#00000111#); case Entier is when 0 => Write_Group (Gp => Group0, Value => 16#FE#); when 1 => Write_Group (Gp => Group0, Value => 16#FD#); when 2 => Write_Group (Gp => Group0, Value => 16#FB#); when 3 => Write_Group (Gp => Group0, Value => 16#F7#); when 4 => Write_Group (Gp => Group0, Value => 16#EF#); when 5 => Write_Group (Gp => Group0, Value => 16#DF#); when 6 => Write_Group (Gp => Group0, Value => 16#BF#); when 7 => Write_Group (Gp => Group0, Value => 16#7F#); when others => Write_Group (Gp => Group0, Value => 16#FF#); end case; end Coder; procedure Wait_Chgt is D0, D1, D2, Old_D0, Old_D1, Old_D2 : Boolean; use Module; begin D0 := Read_Pin (13); D1 := Read_Pin (14); D2 := Read_Pin (15); Simple_Io.Put (" D0 -> "); Simple_Io.Put (Boolean'Image (D0)); Simple_Io.Put (" : D1 -> "); Simple_Io.Put (Boolean'Image (D1)); Simple_Io.Put (" : D2 -> "); Simple_Io.Put (Boolean'Image (D2)); Simple_Io.Put_Line (""); Old_D0 := D0; Old_D1 := D1; Old_D2 := D2; while D0 = Old_D0 and D1 = Old_D1 and D2 = Old_D2 loop D0 := Read_Pin (13); D1 := Read_Pin (14); D2 := Read_Pin (15); end loop; end Wait_Chgt; use Module; begin Vsip1.Setup; Setup; Protection_Off; Led_On; Write_Group (Gp => Group0, Value => 16#FF#); for N in 1 .. 10 loop Coder; Wait_Chgt; end loop; Write_Group (Gp => Group0, Value => 16#FF#); for N in 1 .. 20 loop Write_Pin (3, False); Await; Write_Pin (3, True); Write_Pin (4, False); Await; Write_Pin (4, True); Write_Pin (5, False); Await; Write_Pin (5, True); Write_Pin (6, False); Await; Write_Pin (6, True); Write_Pin (7, False); Await; Write_Pin (7, True); Write_Pin (8, False); Await; Write_Pin (8, True); Write_Pin (9, False); Await; Write_Pin (9, True); Write_Pin (6, True); Await; Write_Pin (6, False); end loop; Write_Group (Gp => Group0, Value => 16#00#); exception when Module.Pin_Error => Simple_Io.Put_Line ("Pin unauthorized operation !!!"); end Segment; pragma Main;
nblk1=15 nid=14 hdr6=8 [0x00] rec0=22 rec1=00 rec2=01 rec3=09e [0x01] rec0=1c rec1=00 rec2=04 rec3=01c [0x02] rec0=27 rec1=00 rec2=15 rec3=02e [0x03] rec0=20 rec1=00 rec2=13 rec3=000 [0x04] rec0=1f rec1=00 rec2=14 rec3=000 [0x05] rec0=09 rec1=00 rec2=05 rec3=000 [0x06] rec0=28 rec1=0c rec2=00 rec3=038 [0x07] rec0=48 rec1=76 rec2=f7 rec3=202 [0x08] rec0=91 rec1=ec rec2=00 rec3=007 [0x09] rec0=09 rec1=0e rec2=de rec3=740 [0x0a] rec0=50 rec1=43 rec2=70 rec3=000 [0x0b] rec0=e1 rec1=00 rec2=00 rec3=000 [0x0c] rec0=24 rec1=00 rec2=15 rec3=767 [0x0d] rec0=00 rec1=00 rec2=00 rec3=002 [0x0e] rec0=00 rec1=00 rec2=00 rec3=029 [0x0f] rec0=00 rec1=00 rec2=00 rec3=000 [0x10] rec0=00 rec1=00 rec2=00 rec3=000 [0x11] rec0=00 rec1=00 rec2=00 rec3=000 [0x12] rec0=00 rec1=00 rec2=00 rec3=000 [0x13] rec0=00 rec1=00 rec2=00 rec3=000 [0x14] rec0=00 rec1=00 rec2=00 rec3=000 tail 0x21759590c879c822b8007 0x42a00088462060003 Free Block Chain: 0x14: 0000 00 03 03 3c 80 0d 20 20 20 20 20 20 20 41 77 61 ┆ < Awa┆ 0x3: 0000 00 12 00 26 80 07 6e 20 28 31 34 29 3b 07 00 19 ┆ & n (14); ┆ 0x12: 0000 00 11 03 fc 80 38 20 20 20 20 20 20 20 20 20 20 ┆ 8 ┆ 0x11: 0000 00 10 03 fc 80 1f 20 20 20 20 20 20 20 20 20 20 ┆ ┆ 0x10: 0000 00 0f 03 fc 80 15 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆ **********┆ 0xf: 0000 00 0e 03 fc 80 1a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆ **********┆ 0xe: 0000 00 0d 03 fc 80 0c 65 6e 64 20 4c 65 64 5f 4f 66 ┆ end Led_Of┆ 0xd: 0000 00 0c 03 fc 80 29 20 20 43 6f 6e 6e 65 63 74 6f ┆ ) Connecto┆ 0xc: 0000 00 0b 03 fc 80 1c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆ **********┆ 0xb: 0000 00 0a 03 fc 80 10 6e 20 3a 3d 20 44 61 74 61 27 ┆ n := Data'┆ 0xa: 0000 00 09 03 fc 80 15 65 72 5f 47 72 6f 75 70 5f 33 ┆ er_Group_3┆ 0x9: 0000 00 08 03 fc 80 28 6f 74 20 48 61 76 65 20 61 20 ┆ (ot Have a ┆ 0x8: 0000 00 07 03 fc 80 26 65 72 5f 47 72 6f 75 70 5f 34 ┆ &er_Group_4┆ 0x7: 0000 00 05 03 fc 00 22 20 20 20 20 20 20 20 20 20 20 ┆ " ┆ 0x5: 0000 00 06 03 fa 80 17 20 66 69 6e 69 73 68 20 56 73 ┆ finish Vs┆ 0x6: 0000 00 02 03 fc 80 15 20 20 20 52 65 67 69 73 74 65 ┆ Registe┆ 0x2: 0000 00 00 03 fc 80 03 6d 65 3b 03 00 0c 77 69 74 68 ┆ me; with┆