DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ T V ┃
Length: 4719 (0x126f) Types: TextFile Names: »V«
└─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3 └─ ⟦fc9b38f02⟧ »DATA« └─⟦9b46a407a⟧ └─⟦12c68c704⟧ └─⟦this⟧ └─⟦5f3412b64⟧ Bits:30000745 8mm tape, Rational 1000, ENVIRONMENT 12_6_5 TOOLS └─ ⟦91c658230⟧ »DATA« └─⟦458657fb6⟧ └─⟦220843204⟧ └─⟦this⟧
package Tape is procedure Rewind (Drive : Natural := 0); procedure Unload (Drive : Natural := 0); procedure Read_Mt (Drive : Natural := 0); procedure Write_Mt (File : String := "<SELECTION>"; Indirect : Boolean := True; Drive : Natural := 0); procedure Read (Volume : String; Directory : String := "$"; Options : String := "R1000 Add_New_Line"; To_Operator : String := "Thank You"; Response : String := "<PROFILE>"); -- The specified volume is mounted and all files are read into the -- given directory. -- Options are: -- FORMAT = R1000 | MV | VAX/VMS -- ADD_NEW_LINE -- Add a line terminator following each record read from tape. -- Without this option, bytes are copied from tape without -- interpretation or modification. -- Notes on mapping of tape names to R1000 file names -- -- The file name from the tape is processed by replacing strings -- of non-alpha-numeric characters with a single '_'. Then, -- if the name ends with an '_', the character 'B' is appended -- to the name. If the name contains no alpha-numeric -- characters, a name derived from the user name and time is generated. procedure Write (Files : String := "$@"; Volume : String := ""; Options : String := "R1000 Text_Files"; To_Operator : String := "Thank You"; Response : String := "<PROFILE>"); -- The specified Volume is mounted and the specified files are -- written to the volume. -- The To_Operator string is displayed to the operator when the -- request to mount the tape is made. -- Options are: -- Text_Files If Text_Files is specified, the file is assumed -- to contain only characters, line_terminators, -- page_terminators, etc. Each line of the file -- is written to a record on the tape. Lines are -- read according to the same rules as -- Text_Io.Get_Line. -- Label an optional part of the label written -- to the volume header. -- Format Target system (no abbreviations): -- R1000, MV, or VAX/VMS -- [Default: R1000] -- Record_Format Ansi record format: -- FIXED_LENGTH, VARIABLE_LENGTH or SPANNED -- [Default: VARIABLE_LENGTH] -- Record_Length A positive integer. [Default: 512] -- Block_Length A positive integer. [Default: 2048] -- The file name that goes on the tape is generated as follows: -- -- First, if the object is an Ada Unit, then "V_" or "B_" are prepended -- to the name if the unit is an Ada spec or body, respectively. -- Then, '_' characters in the name are removed. One exception -- to this is that if the name ends in "_xyz", that underscore is -- replaced with '.', yielding a filename that will end in ".xyz". -- VAX/VMS bound file names are shortened to 9 characters; others -- are shortened to 17 characters. If, after removing '_' characters, -- the name is too long, vowels are removed starting at the right end -- of the name (excluding the suffix). Then, if the name -- is still too long, it is truncated (again, excluding the ".xyz" -- suffix, if any). -- -- Finally, to produce a unique name (with respect to others going on to -- the tape), 'A' characters are inserted in front of the suffix, if any, -- (preserving the ".xyz" suffix) and then these characters are -- incremented alphabetically until the name is unique. -- Thus, "An_Interesting_Name_Txt" becomes (if not VAX/VMS bound), -- "AnInterstngNm.Txt" Error : exception; procedure Examine_Labels (Vol_Id : String := ""; Vol_Set_Name : String := ""; To_Operator : String := "Thank you"; Volume_Labels_Only : Boolean := True); procedure Format_Tape (Drive : Natural := 0; Vol_Id : String := ""); procedure Display_Tape (Drive : Natural := 0; Marks_To_Skip : Integer := 0; Records_To_Skip : Integer := 0; Blocks_To_Display : Natural := 10); pragma Subsystem (Input_Output); pragma Module_Name (4, 3927); end Tape;