These utility programs -- each self-loading and complete with subroutines -- are separate from the System Library and enable the user to perform operations without Monitor system control. The first three programs are available in card and paper tape, the last two in paper tape only. The utility programs are:
This program aids the user in debugging programs by dumping selected portions of core on the Console Printer.
Each core location is dumped as a four-digit hexadecimal word with a space separating each word. The first word dumped is the starting address of the dump (as specified in the console entry switches).
Dumping continues until IMM STOP Is pressed. To continue, press PROGRAM START.
This program dumps core in hexadecimal format on either the 1403 Printer or the 1132 Printer, whichever is in a ready status. If both are ready, the dump will be on the 1403.
NOTE: "Not present" is equivalent to "not ready".
Dumping starts at location $ZEND. Each line contains a four-digit hexadecimal address, followed by 16 four-digit hexadecimal words. A space separates the address and each word in the printed line. An additional space is inserted between each group of four words.
To decrease dump time, the program does not print consecutive duplicate lines. Before printing a line, it compares the next 16 words with the 16 words just printed. If they are identical, the program goes on to the next 16 words in core. If they are not identical, the printer spaces one line and prints. The address printed is that of the first word on the line.
Dumping starts at location $ZEND and continues to the end of core. The user may halt the dump at any time by pressing IMM STOP. Press PROGRAM START to continue on the 1403. The 1132 has no restart capabilities.
The Disk Cartridge Initialization Program (DCIP) is composed of
Initialization of a cartridge is required before the Monitor system can be loaded.
The disk I/O subroutines operate with up to three defective cylinders, i.e., three cylinders that contain one or more defective sectors.
Cylinder zero must not be a defective cylinder; otherwise, the cartridge cannot be initialized.
At the completion of disk initialization, a four-word table is written on sector@lDAD. Words 1, 2, and 3 contain the address of sector zero of any defective cylinders found (maximum of three). When there are no defective cylinders, these words contain /0658, e.g., the table for a cartridge with a defect only in sector 9 (cylinder 1) would contain:
/0008 /0658 /0658
Word 4 contains the cartridge ID. The copy code (word 5) through word 270 Is cleared to zero, and the Cold Start Error Message (including the program to type the message) is stored on sector @IDAD starting at word 271.
After sector @DCOM has been cleared to zeros, certain parameters are initialized to indicate that this is a non-system cartridge. The parameter set, including their initial values, are listed below:
|#ANDU||/0180 (disk block address)||End of User Area, adjusted (update during JOB T)|
|#BNDU||/0180 (disk block address)||End of User Area, base|
|#FPAD||/0018 (sector address)||File protect address on this cartridge|
|#CIDN||XXXX Cartridge ID of this cartridge|
|#CIBA||/0008 (sector address)||First sector of CIB on this cartridge|
|#ULET||/0002 (sector address)||First sector of LET on this cartridge|
An initial LET is also created on sector @RIAD. Its contents are as follows:
|Word 1||LET sector number||/0000|
|Word 2||Sector address of UA||/0018|
|Word 4||Words available in this sector||/0138|
|Word 5||LET/FLET chain address||/0000||(Last LET/FLET sector)|
|Word 6||1st Word of 1DUMY entry||/7112||
|Word 7||2nd Word of 1DUMY entry||/4568|
|Word 8||Size of 1DUMY||/6280||(Size of WS available in disk blocks)|
|Words 9-320 of RIAD all contain zero.|
The disk copy subroutine of DCIP
The disk dump subroutine of DCIP
The address of the first sector to be dumped and the number of consecutive sectors to be dumped are specified in the console entry switches.
Each sector printout is 20 lines -- 16 four-digit hexadecimal words per line. Two sectors are printed on each page and each sector is preceded by a 3-word header. The first digit of the first header word is the drive number. The remaining three digits of the first header word show the physical sector address of the sector being dumped. The second header word is the sector address that actually appears on the sector being dumped. The third word is the logical sector address, taking into account any defective cylinders. If the user dumps a sector that is in a defective cylinder, the third word will contain the letters DEFC.
If the system configuration is 2501-1442, make the 1442 not-ready. (On the paper tape system, place the DCIP tape in the reader, positioning the tape so that one of the delete codes following the program name in the leader is under the read starwheels.)
TURN ON SW0 TO INITIALIZE SW1 TO COPY SW2 to DUMP
ENTRY ERROR ... RETRYCorrect the error and press PROGRAM START to continue.
Initialization (Console Entry Switch 0 On)
ENTER DR. NO. IN BITS 12-15 TURN ON BIT 0 FOR ADDRESSES ONLYEnter the physical drive number of the cartridge being initialized (in binary) in console entry switches 12-15.
NON-SYST. CART ERRORWhen the Monitor system is loaded to disk, this message is overlaid by the Cold Start program; therefore, an attempt to cold start a non-system cartridge will result in the above message being printed.
ADDRESSING COMPLETEThe program now returns to accept the next DCIP function and the option messages are reprinted.
ENTER CARTRIDGE IDTurn off all console entry switches and enter the cartridge ID in console entry switches 1-15 (four hexadecimal characters). A valid cartridge ID is a number between /0001 and /7FFF.
INITIALIZATION COMPLETEIn addition, one of the following messages is printed.
NO DEFECTIVE CYLSor
DEFECTIVE CYLS FOLLOW XXX...
If more than 3 defective sectors are printed, or if cylinder zero is defective, or if the sector address cannot be written on every sector, the cartridge cannot be usedwith the Monitor system and the following message is printed:
The last message printed is:
TURN ON SW 0 FOR ADDITIONAL TESTING
If console entry switch 0 is on, the following message is printed.
ENTER REPETITION COUNT IN BITS 11-15Enter the repetition count (max. 31) in binary in console entry switches 11-15. This will give additional opportunity to find marginal cylinders and reduce chances of disk errors later on.
Copy (Console Entry Switch 1 On)
ENTER... SOURCE DR. (BITS 0-3) OBJECT DR. (BITS 12-15)Enter the physical drive number of the source drive (in binary) in console entry switches 0-3. Enter the drive code of the object drive (in binary) in console entry switches 12-15.
X DR. NOT INITIALIZED
The program now returns to accept the next DCIP function and the option messages are printed.
If both drives have been initialized, the contents of the source cartridge (less defective sector data and cartridge ID) is copied on the object cartridge.
Word 5 of sector @IDAD of the source cartridge (zero when the cartridge is initialized) is incremented by 1 when written on the object cartridge.The copy number of the object cartridge will thus always be one more than the copy number of the source cartridge.
NOTE: When copying is complete, the program returns to select the next DCIP function and the option messages are printed. If a disk read/write error occurs, the following message is printed.
DISK ERROR... TURN ON SW 0 TO RETRY
At the WAIT, the Accumulator contents will be /0001 for a read error or /0002 for a write error. The Extension will contain /XYYY where X is the drive code and YYY is the address of the sector in error.
Turn console entry switch 0 on and press PROGRAM START to rewrite or reread the sector in error.
Leave console entry switch 0 off and press PROGRAM START to ignore the error and continue. If the error is ignored, the contents of the object cartridge will reflect the last attempt to copy the sector in error.
Dump (Console Entry Switch 2 On)
ENTER... PHYS. DR. NO. (BITS 0-3) FIRST SECTOR (BITS 4-15)Enter the physical drive number of the drive containing the cartridge to be dumped in console entry switches 0-3. Enter the address of the first sector to be dumped in console entry switches 4-15 (hexadecimal, maximum /0657).
ENTER NO. OF SCTRS. TO DUMPEnter the number of consecutive sectors to be dumped as a right-justified hexadecimal number in the console entry switches. The maximum amount will depend on the starting sector address.
NOTE: If a disk read error occurs, the following message is printed.
DISK ERROR... TURN ON SW 0 TO RETRY
Turn console entry switch 0 on and press PROGRAM START to read the sector in error. If the reread is successful, the sector is printed and the dump continues.Leave console entry switches 0 off and press PROGRAM START to ignore the error and continue. The sector in error is printed as it was last read from the disk.
This program, available only with the paper tape system, is a self-loading paper tape strip that reproduces paper tapes. The program reads a character and punches it with no intermediate conversion.
NOTE: If the PROGRAM STOP key is pressed while the program is in operation, the program WAITs with /4444 in the Accumulator. Press PROGRAM START to continue.
This program, also included as an executable program in the System Library, is a self-loading paper tape utility program that allows the user to enter records from the 1134 Paper Tape Reader or the Keyboard. Program output is to the 1055 Paper Tape Punch and/ or the Console Printer.
But wait, there's MORE...