Google
 

Trailing-Edge - PDP-10 Archives - klad_sources - klad.sources/magmon.seq
There are no other files named magmon.seq in the archive.
;DDQDE
                                                                                                                           SEQ 0001






				IDENTIFICATION
				--------------

	PRODUCT CODE:		AH-7151N-DD

	DIAGNOSTIC CODE:	DDQDE - MAGMON

	PRODUCT NAME:	 	DDQDEN0	DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR

	VERSION:		0.16

	DATE RELEASED:		APRIL 1980

	MAINTAINED BY:		LARGE SYSTEMS DIAGNOSTICS

	AUTHOR:			JOHN R. KIRCHOFF

                           COPYRIGHT (C) 1976, 1980

	        DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

	THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR  USE  ONLY  ON  A
	SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLUSION
	OF THE ABOVE COPYRIGHT NOTICE.   THIS  SOFTWARE,  OR  ANY  OTHER
	COPIES  THEREOF, MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE
	TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO
	AGREES  TO  THESE  LICENSE TERMS.  TITLE TO AND OWNERSHIP OF THE
	SOFTWARE  SHALL  AT   ALL  TIMES  REMAIN  IN  DIGITAL  EQUIPMENT
	CORPORATION.

	THE INFORMATION IN THIS DOCUMENT IS SUBJECT  TO  CHANGE  WITHOUT
	NOTICE  AND  SHOULD  NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
	EQUIPMENT CORPORATION.

	DIGITAL EQUIPMENT CORPORATION ASSUMES NO  RESPONSIBILITY FOR THE
	USE  OR  RELIABILITY  OF  ITS SOFTWARE IN EQUIPMENT WHICH IS NOT
	SUPPLIED BY DIGITAL EQUIPMENT CORPORATION.
				MAINDEC-10-DDQDE.TXT (MAGMON)
						PAGE 2                                                                     SEQ 0002

		TABLE OF CONTENTS
		-----------------

1.0	ABSTRACT

2.0	REQUIREMENTS

2.1	EQUIPMENT

2.2	STORAGE

2.3	PRELIMINARY PROGRAMS

3.0	PROGRAM PROCEDURES

3.1	LOADING PROCEDURE

3.2	STARTING PROCEDURE

3.3	OPERATING PROCEDURE

3.4	LOAD DEVICES

3.5	DIAGNOSTIC MONITOR SWITCHES

3.6	EXPANDED OPERATING PROCEDURES

4.0	ROUTINE DESCRIPTIONS

5.0	COMMAND LIST FORMAT

6.0	ERRORS

7.0	ERROR RECOVERY

8.0	RESTRICTIONS

9.0	DEVICE COMMAND LIST

10.0	LISTING
				MAINDEC-10-DDQDE.TXT (MAGMON)
						PAGE 3                                                                     SEQ 0003

1.0	ABSTRACT

	THE DECSYSTEM DIAGNOSTIC MONITOR IS AN EXEC OR USER MODE
	PROGRAM WHICH WILL CALL FROM THE SELECTED MAGTAPE DEVICE IN EXEC
	MODE AND THE MAGTAPE OR DISK SYSTEM IN USER MODE AND EXECUTE THE
	PDP-10 DIAGNOSTIC PROGRAMS EITHER SINGLY OR AUTOMATICALLY.
	THE MONITOR IS INTENDED TO ALLOW RAPID CHECKOUT OF THE
	COMPUTER SYSTEM AND TO ISOLATE HARDWARE PROBLEMS IN THE
	QUICKEST POSSIBLE TIME.  THE MONITOR WILL ALSO PROVIDE THE
	SEQUENCING AND CONTROL NEEDED FOR THE DIAGNOSTIC PROGRAMS
	SO THAT ACCEPTANCE TESTS, START-UP RELIABILITY TESTS,
	AND/OR UNATTENDED OVERNIGHT TESTS MAY BE RUN.

	THIS DIAGNOSTIC MAGTAPE MONITOR IS DESIGNED TO FUNCTION LIKE
	DIAMON (MAINDEC-10-DDQDC) WITH THE ONLY DIFFERENCE BEING
	THE LOAD DEVICES SUPPORTED.  MAGMON MUST BE USED WHEN LOADING
	FROM MAGTAPE IS DESIRED.  DIAMON MUST BE USED WHEN LOADING FROM
	ANY DEVICE OTHER THAN MAGTAPE IN EXEC MODE.  EITHER MAGMON
	OR DIAMON MAY BE USED WHEN LOADING FROM DISK IN USER MODE.

	THE DECSYSTEM10 SUBROUTINE PROGRAM AND DDT ARE AUTOMATICALLY
	LOADED ON SYSTEM STARTUP OR DEVICE SPECIFICATION IF THEY ARE
	NOT ALREADY RESIDENT IN THE PDP-10 MEMORY.

	THE KL10 AND/OR KI10 DIAGNOSTIC MONITOR SPECIAL ROUTINES
	OPERATE AS PART OF THE DIAGNOSTIC MONITOR TO PROVIDE
	ADDITIONAL KL10 AND/OR KI10 FEATURES.

	THESE FEATURES ARE:

	KL10 & KI10 - SPECIAL USER MODE
	KI10 - MARGIN OPERATION.

	PROGRAM CONTAINS ROUTINES FOR:
	MARGINNING
	USER PAGE MAP SETUP
	USER MODE CONTROL
	TRAPPED I/O PROCESSING
	ADDITIONAL CONTROL SEQUENCING.
				MAINDEC-10-DDQDE.TXT (MAGMON)
						PAGE 4                                                                     SEQ 0004

2.0	REQUIREMENTS

2.1	EQUIPMENT

	A DECSYSTEM10 PDP-10 KL10, KI10 OR KA10 PROCESSOR
	MINIMUM OF 32K OF MEMORY.
	CONSOLE PROCESSOR (KL10)
	CONSOLE TELETYPE
	LOAD DEVICE

2.2	STORAGE

	THE MAXIMUM MEMORY SIZE IS A FUNCTION OF THE PROGRAMS BEING
	EXECUTED.  THE MONITOR RESIDES FROM LOCATION 20000 TO 27770.

2.3	PRELIMINARY PROGRAMS

	THE MONITOR ASSUMES THAT BASIC INSTRUCTIONS AND THE SELECTED
	LOAD DEVICE ARE OPERATIONAL.
	IF THE MONITOR FAILS TO OPERATE USE THE DIAGNOSTIC PROGRAMS
	INDIVIDUALLY TO ISOLATE THE PROBLEM.

3.0	PROGRAM PROCEDURES

3.1	LOADING PROCEDURE

	DISK PACK - LOAD WITH 'BOOTS'
	DECTAPE - LOAD WITH 'DTBOOT'
	KL10 - LOAD VIA CONSOLE PROCESSOR
	KA10 & KI10 - READ-IN FROM DIAGNOSTIC MAGTAPE
	USER - "RUN MAGMON.SAV"
		TO GET MAGMON FROM A DIAGNOSTIC MAGTAPE USE MAGTAP PROGRAM
		OR USE THE FOLLOWING MONITOR COMMANDS:
		(IN FOLLOWING EXAMPLE, MAGTAPE DEVICE IS MTA0)
		ON TOPS-10 MONITOR:
			.ASSIGN MTA0:
			.REWIND MTA0:
			.SET DENSITY MTA0: 800(1600) BPI
			.SET BLOCKSIZE MTA0: 512
			.SKIP MTA0: 2 FILES
			.COPY MAGMON.SAV=MTA0:
		ON TOPS-20 MONITOR:
			@ASSIGN MTA0:
			@REWIND MTA0:
			@SET TAPE DENSITY 800(1600) BPI
			@SKIP MTA0: 2 FILES
			@COPY (FROM) MTA0: (TO) MAGMON.SAV
				MAINDEC-10-DDQDE.TXT (MAGMON)
						PAGE 5                                                                     SEQ 0005

3.2	STARTING PROCEDURE

	A.  STARTING ADDRESS FOR DIAGNOSTIC MONITOR = 20000

	B.  STARTING ADDRESS FOR RESTART AFTER ERROR = 20001

	C.  STARTING ADDRESS FOR CURRENT PROGRAM TITLE = 20002

	D.  STARTING ADDRESS TO RESTART CURRENT PROGRAM = 20003

	SET THE LEFT HAND CONSOLE DATA SWITCHES AS WOULD BE APPROPRIATE
	FOR THE DIAGNOSTIC PROGRAMS TO BE RUN.  SETTINGS TO BE
	SELECTED WOULD BE:

		PRINT ON LINE PRINTER?
		RING TTY BELL ON ERROR?
		SCOPE LOOP ON ERROR?
		ETC.

3.3	OPERATING PROCEDURE

	A.  AFTER THE DIAGNOSTIC MONITOR IS STARTED IT WILL TYPE
	    THE FOLLOWING MESSAGE:

	* MAGMON - DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR *

	B.  NEXT YOU ARE REQUESTED TO SELECT THE LOAD DEVICE TO BE USED.

	DEV: -

	C.  AFTER SELECTION OF THE LOAD DEVICE "MAGMON" WILL
	    AUTOMATICALLY LOAD "SUBRTN" AND "KLDDT".
				MAINDEC-10-DDQDE.TXT (MAGMON)
						PAGE 6                                                                     SEQ 0006

	D.  IF YOU REQUIRE HELP, TYPE HELP<CR>.
	    THE FOLLOWING MESSAGE WILL THEN BE PRINTED.

	NORMAL START = 20000
	RESTART/ABORT = 20001
	PRINT TEST TITLE = 20002
	RESTART CURR TEST = 20003

	DEVICES:  EXEC MODE;
	T = TM10 CONTROLLER (TU10,TU20,TU30,TU40)  DEVICE CODES 340&344
	  T2 = SECOND TM10  DEVICE CODES 350&354
	D = DX10/TXO1 CONTROLLER (TU70)  DEVICE CODE 220
	  D2 = SECOND DX10  DEVICE CODE 224
	  D3 = THIRD DX10   DEVICE CODE 034
	R = RH10 CONTROLLER (TU16)  DEVICE CODE 270
	  R2 = SECOND RH10  DEVICE CODE 274
	  R3 = THIRD RH10   DEVICE CODE 360
	  R4 = FOURTH RH10  DEVICE CODE 364
	  R5 = FIFTH RH10   DEVICE CODE 370
	  R6 = SIXTH RH10   DEVICE CODE 374
	THE ABOVE DEVICE LETTERS (T,D,R) MAY ALSO BE FOLLOWED BY A THREE DIGIT
	OCTAL NUMBER TO SPECIFY A NON-STANDARD DEVICE CODE
	  EX. T360  FOR TM10 WITH DEVICE CODES 360&364

	M = RH20 MASSBUS CONTROLLER (TU16,TU45)  DEVICE CODE 540
	  M1 = SECOND RH20  DEVICE CODE 544
	  M2 = THIRD RH20   DEVICE CODE 550
	  M3 = FOURTH RH20  DEVICE CODE 554
	  M4 = FIFTH RH20   DEVICE CODE 560
	  M5 = SIXTH RH20   DEVICE CODE 564
	  M6 = SEVENTH RH20 DEVICE CODE 570
	  M7 = EIGHTH RH20  DEVICE CODE 574
	ALL DEVICES THEN ASK FOR UNIT #
	FOR DEVICES T & D: A SINGLE DIGIT (0 - 7) MUST BE SPECIFIED
	  (IF DEVICE IS DX10, ONLY 9-TRACK DRIVES MAY BE USED)
	FOR DEVICES M & R: A TWO DIGIT NUMBER IS USED (FIRST DIGIT SPECIFIES
	  DRIVE # OF TM02, SECOND DIGIT SPECIFIES SLAVE # OF TRANSPORT)
				MAINDEC-10-DDQDE.TXT (MAGMON)
						PAGE 7                                                                     SEQ 0007

	DEVICES:  USER MODE;
	MAGTAPE = PHYSICAL NAME OF UNIT   (EX. MTA0)
	DISK = ONLY A CARRIAGE RETURN

	COMMANDS;
	STD=START DIAGNOSTIC
	STM=REINITIALIZE START
	STL=START LOADER
	START=START DIAGNOSTIC
	SFSTRT=SPECIAL FEATURE START
	PFSTRT=POWER FAIL START
	REE=REENTER
	DDT=DDT
	START1=SPECIAL START 1
	START2=SPECIAL START 2
	START3=SPECIAL START 3
	START4=SPECIAL START 4
	START5=SPECIAL START 5

	R=RESELECT, X=XPN, I=INTERNAL, T=TTY, D=DEVICE
	S=SINGLE, F=DIR, L=LIST, G=GO

	E.  FOLLOWING THIS YOU MAY SELECT AND
	    RUN YOUR PROGRAMS.

	MAGMON CMD -

	ALL COMMANDS END WITH A (CR).

	COMMANDS ARE AS LISTED ABOVE PLUS IF A SINGLE PROGRAM LOAD
	IS REQUIRED, THE FILE.EXT OF THE PROGRAM MAY BE TYPED TO
	THE "CMD - " QUESTION.
				MAINDEC-10-DDQDE.TXT (MAGMON)
						PAGE 8                                                                     SEQ 0008

	THE DIAGNOSTIC MONITOR OPERATES ON A COMMAND LIST OF PROGRAMS
	WHICH IT WILL EXECUTE.  THIS LIST MAY BE READ IN FROM THE
	SELECTED LOAD DEVICE, TYPED IN FROM THE TELETYPE OR PREVIOUSLY
	READ/TYPED IN.

	1.  IF THE COMMAND LIST IS TO BE TYPED IN, TYPE "T".  THE
	    MONITOR WILL NOW ACCEPT TYPE-IN FROM THE KEYBOARD.
	    THE COMMAND LIST FORMAT IS GIVEN IN 5.0.

	2.  IF THE COMMAND LIST IS TO BE READ FROM THE LOAD DEVICE,
	    TYPE "D".

	3.  TO LOAD AND RUN A SINGLE PROGRAM, TYPE "S".

	    THE SPECIFIED PROGRAM WILL BE LOADED AND RUN THE NUMBER OF
	    OF ITERATIONS AS SPECIFIED IN THE PROGRAM BY "ITERAT".

	    TO CONTINUE OPERATION OF THE SAME PROGRAM AFTER IT RETURNS
	    TO "MAGMON", TYPE "G".

	4.  THE COMMAND LIST REMAINS IN CORE SO THAT IF THE MONITOR IS
	    RESTARTED THE COMMAND LIST DOES NOT HAVE TO BE READ IN AGAIN
	    UNLESS A NEW COMMAND LIST OR SINGLE PROGRAM IS SELECTED.

	    TO USE THE SAME COMMAND LIST, TYPE "I".

	THE DIAGNOSTIC MONITOR WILL NOW READ IN AND EXECUTE THE FIRST
	PROGRAM ON THE COMMAND LIST.  THE PROGRAM WILL BE ITERATED THE
	REQUESTED NUMBER OF TIMES AND CONTROL WILL THEN REVERT TO THE
	MONITOR.  THE MONITOR WILL THEN PROCEED TO THE NEXT PROGRAM
	ON THE LIST UNTIL ALL PROGRAMS REQUESTED HAVE BEEN EXECUTED.
	WHEN THE FINAL PROGRAM ON THE COMMAND LIST HAS BEEN EXECUTED,
	THE PASS COUNTER WILL BE PRINTED AND THEN THE MONITOR WILL
	RESTART WITH THE FIRST PROGRAM AGAIN.

	FOR EXAMPLE:

	MAGMON PASS 000001
	MAGMON PASS 000002
	ETC.

	WHEN SELECTING A SINGLE PROGRAM THE:

	"FILE.EXT -"

	QUESTION MAYBE ANSWERED WITH ONLY THE FILE NAME AS THE EXTENSION
	WILL DEFAULT TO ".A10" OR ".SAV" UNLESS THE CONSOLE LOAD
	DEVICE IS SELECTED AND THEN THE DEFAULT IS ".A10".

	5.  TO START THE PROGRAM JUST LOADED IF THE "FILE.EXT" ENDED
	    WITH A ALTMODE, OR TO RESTART THE PROGRAM, TYPE "G".

	6.  TO LIST A FILE FROM THE SELECTED LOAD DEVICE, TYPE "L".

	7.  TO OBTAIN A DIRECTORY OF THE SELECTED LOAD DEVICE, TYPE "F".
				MAINDEC-10-DDQDE.TXT (MAGMON)
						PAGE 9                                                                     SEQ 0009

3.4	LOAD DEVICES

	A. EXEC MODE DEVICES ARE AS FOLLOWS:

	   1. TM10A OR TM10B WITH ANY COMBINATION OF TU10, TU20, TU30
		OR TU40 TAPE DRIVES.  TAPE DRIVES MAY BE 7- OR 9-TRACK.
		IF A TM10B, THE DF10 CAN BE IN EITHER KA OR KI MODE.

	   2. DX10/TX01 WITH TU70 TAPE DRIVES.  ONLY 9-TRACK TAPE DRIVES
		MAY BE USED.  IF THE DX10 MICRO-CODE IS NOT LOADED, THE
		TAPE WILL BE REWOUND AND THE MICRO-CODE WILL BE READ FROM
		THE READ-IN BOOTSTRAP FILE ON THE MAGTAPE USING THE
		BOOTSTRAP ROM IN THE DX10.

	   3. RH10 WITH TU16 TAPE DRIVES.

	   4. RH20 WITH TU16 OR TU45 TAPE DRIVES.

	B.  USER MODE DEVICES ARE AS FOLLOWS:

	   1. ANY MAGTAPE DEVICE SUPPORTED BY THE MONITOR.

					NOTE
		WHEN RUNNING UNDER A TOPS-20 MONITOR, THE MAGTAPE
		DEVICE MUST BE ASSIGNED AND THE DENSITY SET BY A
		MONITOR COMMAND.
		  E.G.	@ASSIGN MTA0
			@SET TAPE DENSITY 800 BPI

	   2. THE USER'S DISK AREA.
				MAINDEC-10-DDQDE.TXT (MAGMON)
						PAGE 10                                                                    SEQ 0010

3.5	DIAGNOSTIC MONITOR SWITCHES

	A.  RELIAB, SW 9, UNLESS THIS SWITCH IS SET THE ITERATIONS
	    CONTAINED IN THE COMMAND LIST WILL BE REDUCED BY A FACTOR
	    OF 100(8):1 FOR FAST ITERATION OPERATION.
	    THIS PROVIDES A CONSIDERABLE REDUCTION IN THE RUN TIME OF
	    EACH PROGRAM FOR A QUICK CHECK OF HARDWARE OR FOR MARGIN
	    OPERATION.

	B.  CHAIN, SW 15, THIS INHIBITS THE TYPE-OUT OF THE "PROG.EXT"
	    OF THE PROGRAM PRIOR TO THE PROGRAM BEING LOADED AND
	    EXECUTED.

	C.  XPAND, SW 18, EXPAND CONTROL SEQUENCING
				MAINDEC-10-DDQDE.TXT (MAGMON)
						PAGE 11                                                                    SEQ 0011

3.6	EXPANDED OPERATING PROCEDURE

	THE FOLLOWING ADDITIONAL COMMAND SEQUENCES ARE ADDED WHEN
	EITHER THE "X" COMMAND IS USED OR THE "XPAND" SWITCH IS SET
	DURING COMMAND LIST OPERATION.

	A. TYPE Y FOR CLOCK MARGINS -

		Y = CLOCK MARGINS
		CR = NO

	B. TYPE Y OR A FOR SPECIAL USER MODE -

		Y = SPECIAL USER MODE
		A = SPECIAL USER MODE AFTER FIRST PASS
		CR = NO

	C. TYPE Y OR A FOR CONCEALED MODE -

		Y = CONCEALED MODE
		A = ALTERNATE PUBLIC AND CONCEALED MODES
		CR = PUBLIC MODE

	   QUESTION ASKED ONLY IF SPECIAL USER MODE SELECTED.

	D. TYPE L,S,I,R FOR VOLTAGE MARGINS -

		L = RUN 5 VOLTS AT +-.25V LIMITS
		S = SWEPT 5 VOLT MARGINS
		I = SPECIFY MARGIN INCREMENT
		R = SPECIFY PROCESSOR RACK FOR MARGINS (SWEPT)
		CR = NO

	   IF I IS TYPED THEN:

		SPECIFY MARGIN INCREMENT (1 TO 17) -

		ONE INCREMENT ='S 21MV

	   IF R IS TYPED THEN:

		SPECIFY RACK (0 TO 37) -

		TYPE RACK NUMBER TO BE MARGINED.

	E. SET 'MARGIN SELECT' OFF
           SET 'MARGIN ENABLE' SWITCH
	   TYPE ANY CHAR WHEN READY!

		SET APPROPRIATE SWITCHES AND TYPE CHAR WHEN READY.
				MAINDEC-10-DDQDE.TXT (MAGMON)
						PAGE 12                                                                    SEQ 0012

4.0	ROUTINE DESCRIPTIONS

	A. SPECIAL USER MODE

	A PSEUDO USER MODE WHERE THE DIAGNOSTIC PROGRAM BEING RUN
	IS RUN IN USER MODE (WITH PAGING, ETC.) AND THE I/O IS TRAPPED
	BACK TO THE DIAGNOSTIC MONITOR FOR PROCESSING.  PROVIDES A
	METHOD OF CHECKING USER MODE OPERATION OF THE INSTRUCTION
	DIAGNOSTIC AND RELIABILITY PROGRAMS WITHOUT HAVING TO USE A
	MONITOR AND TIMESHARING.

	B. MARGINS

	PROVIDES THE CONTROL NECESSARY TO OPERATE THE KI10 PROGRAMABLE
	MARGIN SYSTEM.  THE FOLLOWING WAYS OF RUNNING THE MARGIN SYSTEM
	ARE PROVIDED:

	1. SWEPT MARGINS

	   THE 5 VOLT POWER SUPPLIES ARE VARIED BY ONE INCREMENT STEPS
	   (21MV) UP TO AND DOWN TO THE +-.25V LIMITS.

	2. LIMITS

	   MARGINS ARE DONE AT THE +-.25V SETTINGS ONLY.

	3. INCREMENT

	   USER MAY SPECIFY THE MARGIN STEP PER PROGRAM PASS,
	   I.E. 4 ='S 84 MV STEPS.

	4. RACK

	   RUNS SWEPT MARGINS ON PROCESSOR RACK SPECIFIED.

	5. CLOCK MARGINS

	   SPEEDS UP THE BASIC CLOCK CYCLE BY 10%.
				MAINDEC-10-DDQDE.TXT (MAGMON)
						PAGE 13                                                                    SEQ 0013

5.0	COMMAND LIST FORMAT

	A.  EACH COMMAND LIST INPUT FILE BEGINS WITH A CARRIAGE RETURN
	    (CR) AND TERMINATES WITH A CONTROL Z (^Z).

		IF THE SPECIAL USER MODE ROUTINES ARE SELECTED A LINE
		THAT STARTS WITH A MINUS (-) SIGNIFIES THAT THE PROGRAM
		WILL RUN IN SPECIAL USER MODE.

	B.  THE FIRST ITEM IS THE PROGRAM NAME.  IF THE PROGRAM NAME
	    CONTAINS AN EXTENSION IT MUST BE SEPARATED BY A PERIOD
	    FROM THE PROGRAM NAME.  IF NO EXTENSION IS SPECIFIED, THE
	    DEFAULT WILL BE EITHER .A10 OR .SAV.

	C.  THE NEXT ITEM, SEPARATED BY A SPACE(TAB), IS THE NUMBER OF
	    PASSES THAT THE PROGRAM IS TO RUN.  THE PASS COUNT MAY BE
	    IN THE RANGE 0 TO 777777.  IF ZERO, THE PROGRAM WILL RUN ON
	    EVERY PASS.

	D.  THE NEXT ITEM, SEPARATED BY A SPACE(TAB), IS THE OCTAL HALF 
	    WORD, 6 DIGITS, TO BE USED BY THE PROGRAM AS THE RIGHT 
	    HALF OF THE CONSOLE DATA SWITCHES.  THIS WORD IS PASSED
	    FROM THE COMMAND LIST TO THE PROGRAM THRU "MONCTL".

	E.  THE NEXT ITEM, SEPARATED BY A SPACE(TAB), IS THE NUMBER,
	    IN OCTAL, OF ITERATIONS THE PROGRAM IS TO BE EXECUTED.  THE
	    ITERATION COUNT MAY BE IN THE RANGE 0 TO 377777.  IF ZERO,
	    ONE ITERATION IS ASSUMED.

	F.  IF A RUBOUT IS TYPED AN XXX IS TYPED OUT AND THAT LINE IS
	    IGNORED.

	G.  A SPACE TYPED-IN PERFORMS A TAB FUNCTION.

	SAMPLE COMMAND LIST:

	NAME	PASSES	RH SWS	ITERATIONS
	DEKAA	10	0	1000
	DEKAB	1	123456	200
	DEKAC	0	000001	1
	^Z
				MAINDEC-10-DDQDE.TXT (MAGMON)
						PAGE 14                                                                    SEQ 0014

6.0	ERRORS

	A.  "CMD'S REQUIRED"

	    THE PROGRAM WAS COMMANDED TO EXECUTE THE COMMAND LIST, BUT
	    THE LIST IS EMPTY.  INPUT SOME PROGRAMS TO EXECUTE.

	B.  "PROGRAM NOT FOUND - PROG.EXT"

	    THE PROGRAM REQUESTED IS NOT ON THE LOAD DEVICE.

	C.  LOAD DEVICE ERRORS

	    ANY LOAD DEVICE ERRORS WILL PRINT OUT THE REASON,
	    "ERROR AT" AND THE OCTAL ADDRESS OF THE ERROR.
	    CONSULT THE LISTING FOR ERROR EXPLANATION.

	D. IF MARGINS ARE SELECTED AND THE 'MARGIN ENABLE' SWITCH IS
	   NOT SET ON STARTUP THE MARGIN SETUP MESSAGE WILL BE REPEATED.

	E. IF DURING A MARGIN RUN THE 'MARGIN SELECT' SWITCH IS RESET,
	   THE FOLLOWING MESSAGE WILL BE PRINTED WHEN CALLING THE
	   NEXT PROGRAM AND THE PROGRAM WILL BE RUN NORMALLY.

		'MARGIN ENABLE' NOT SET ?

	F. IF THE DIAGNOSTIC PROGRAM BEING RUN (IN SPECIAL USER MODE)
	   CAUSES AN MUUO, (NOT TRAPPED I/O) THE FOLLOWING ERROR
	   MESSAGE WILL BE PRINTED AND THE PROGRAM WILL HALT.
	   THE OPERATOR MAY EXAMINE THE USER MUUO LOCATIONS (17424 &
	   17425) TO DETERMINE THE CAUSE OF THE ERROR.

		MUUO ERROR

	G. IF THE DIAGNOSTIC PROGRAM BEING RUN (IN SPECIAL USER MODE)
	   CAUSES A TRAP (PAGE FAIL, PUSHDOWN OVERFLOW OR TRAP 3) THE
	   FOLLOWING MESSAGE WILL BE PRINTED AND THE PROGRAM WILL HALT.

		USER TRAP ERROR
				MAINDEC-10-DDQDE.TXT (MAGMON)
						PAGE 15                                                                    SEQ 0015

7.0	ERROR RECOVERY

	IF THE DIAGNOSTIC MONITOR IS RUNNING IN THE MODE WHERE TITLES
	ARE NOT PRINTED AND A USER PROGRAM FAILS SUCH THAT IS NOT
	KNOWN WHICH PROGRAM FAILED, STARTING AT LOCATION 20002 WILL
	CAUSE THE TITLE TO BE PRINTED.  THE COMPUTER WILL THEN
	HALT AT LOCATION 20000.  THE OPERATOR MAY AT THIS TIME MANUALLY
	RESTART THE USER PROGRAM OR RESTART THE DIAGNOSTIC MONITOR.

	IF IT IS DESIRED TO ABORT A TEST CURRENTLY IN PROGRESS OR TO
	RESTART AT THE NEXT SEQUENTIAL PROGRAM, THE OPERATOR MAY DO SO
	BY STARTING AT LOCATION 20001.

8.0	RESTRICTIONS

	THE DIAGNOSTIC MONITOR MAY BE USED TO CALL ONLY THOSE PROGRAMS
	WHICH FOLLOW THE PRESCRIBED DIAGNOSTIC FORMATS.

	A. NEW FORMAT DIAGNOSTICS

	CALLED AT LOCATION 30002.  LOCATION 30000 IS USED FOR
	STAND-ALONE STARTING OF THESE PROGRAMS AND LOCATION
	30043 "MONCTL" IS RESERVED AS THE MONITOR CONTROL WORD.

		MONCTL	LH = 0,		STAND-ALONE OPERATION
			   = -PASS COUNT, CALLED BY DIAGNOSTIC MONITOR

			RH = RIGHT HALF OF CONSOLE SWITCHES IF CALLED.


9.0	DEVICE COMMAND LIST

	A DEVICE COMMAND LIST MAY BE MADE UP IN USER MODE USING THE
	TYPED-IN FORMAT.

10.0	LISTING
DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR - MAINDEC-10-DDQDE
                                                                                                                           SEQ 0016
VERSION 0.14

APRIL 1980

VERSION 0.14 CORRECTS A PROBLEM WITH MARGINING ON A KI10.
---------------
VERSION 0.13

FEBRUARY 1979

VERSION 0.13 APPARENTLY VER 0.12 DID NOT WORK, CORRECTED A PROBLEM WITH
THE "LDNAME,LDBLK,LDBUF" STORAGE AREA BEING IN THE DIRECTORY READ AREA.
---------------
VERSION 0.12

FEBRUARY 1978

VERSION 0.12 ADDS SUPER ".A10" PDP-10 FILE PROCESSING .
---------------
VERSION 0.11

FEBRUARY 1977

VERSION 0.11 CORRECTS A PROBLEM WITH THE BUFFER USE BITS WHEN LOADING
A PROGRAM IN USER MODE.
CORRECTS A PROBLEM WITH "FSELECT" OPERATIONS ON A KL10 WHEN RUNNING
CACHED AND WITH "FSELECT" AND RH CLEAR OPERATIONS RESETTING ALL
DRIVES CONNECTED TO A CONTROLLER.
ALSO CORRECTS A PROBLEM WHEN USING THE RH20 AND LOC 417 TO RELOCATE
THE CHANNEL AREA.
CHANGES USER MODE TTY INPUT TO LINE MODE AND CORRECTS PROBLEMS WITH
COMMAND LIST OPERATION WHEN DIAGNOSTICS USE THE "FSELECT" OPTION.
-------------------
VERSION 0.10

FEBRUARY 24, 1976

INITIAL RELEASE OF THE MAGTAPE MONITOR.

REV 0.10 MAKES AN EVOLUTIONARY CHANGE FROM PREVIOUS VERSIONS BECAUSE
OF THE MULTIPLE DTE20 SUPPORT ON KL10'S AND TO TIE TOGETHER THE VERSIONS
OF ALL THE SUPPORT PROGRAMS "KLDCP,SUBRTN,KLDDT,DIAMON,MAGMON".
REV 0.10 ALSO DISASSOCIATES THE DEC VERSION NUMBER FROM THE
KL10 HARDWARE REVISION LEVEL.
REV 0.10 WILL OPERATE ON KL10'S AT REV 7, 7A, 8 AND HOPEFULLY ON ALL
FUTURE REVISIONS.
MAGMON [DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 ^     DECDOC VER  00.24   23-APR-80 14:00:29   PAGE 1             
                                                                                                                           SEQ 0017




















				   DOCUMENT
				**************
     MAGMON [DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 ^
				**************

















		    COPYRIGHT 1980
		    DIGITAL EQUIPMENT CORPORATION
		    MAYNARD, MASS. 01754

MAGMON [DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 ^     DECDOC VER  00.24   23-APR-80 14:00:29   PAGE 2             
                                                                                                                           SEQ 0018

				 TABLE OF CONTENTS
				*******************


	44	PARAMETERS

	181	CONTROL SECTION

	322	RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM

	464	COMMAND LIST PROCESSING

	509	FLNAME - FILE NAME AND CONTROL INFO INPUT

	638	EXECUTE THE INPUT COMMAND LIST

	744	EXPANDED COMMAND FORMAT SETUP

	885	SPECIAL RUN SEQUENCING

	1013	VOLTAGE MARGINNING ROUTINE

	1060	SPECIAL USER MODE I/O HANDLER

	1145	MESSAGE PRINTER

	1346	TELETYPE  INPUT

	1485	SPECIAL ROUTINES

	1537	DEVICE SELECTION

	1722	PROGRAM FILE SELECTION

	1794	"SUBRTN" PROGRAM FILE READ

	1876	LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE

	2051	PROGRAM CORE AREA SETUP

	2216	USER MODE LOADER

	2296	MAGTAPE LOADER

	2402	DX10 MAGTAPE LOAD ROUTINE

	2711	TM10 MAGTAPE LOAD ROUTINE
MAGMON [DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 ^     DECDOC VER  00.24   23-APR-80 14:00:29   PAGE 3             
                                                                                                                           SEQ 0019

				 TABLE OF CONTENTS
				*******************


	2852	RH10/RH20 LOAD ROUTINES

	3303	ERROR REPORTER

	3337	STORAGE ASSIGNMENTS

	3633	SPECIAL STARTUP MESSAGES AND INITIALIZATION
MAGMON [DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 ^     DECDOC VER  00.24   23-APR-80 14:00:29   PAGE 4             
                                                                                                                           SEQ 0020
		1	MAINDEC-10-MAGMON (DDQDE)

		15	THIS PROGRAM PROVIDES THE PROGRAM LOADING CAPABILITY FOR PDP-10
			DIAGNOSTICS.  PROVIDES FOR LOADING AND RUNNING SINGLE DIAGNOSTICS OR
			CHAIN EXECUTION OF A SERIES OF DIAGNOSTICS.

		19	THIS PROGRAM WILL EXECUTE PDP-10 DIAGNOSTICS AND RELIABILITY
			PROGRAMS THAT ARE CAPABLE OF BEING RUN UNATTENDED.
			RUNS ON KL10, KI10 & KA10 PROCESSORS

		23	IT PROVIDES FOR CONTINUOUS TESTING FOR EQUIPMENT CHECKOUT
			AND/OR FAST ITERATION OPERATION FOR MARGIN TESTING.

		26	ALSO PROVIDES SPECIAL USER MODE OPERATION FOR KL10 & KI10
			AND MARGIN OPERATION FOR KI10.

		29	COPYRIGHT 1976,1977,1978,1979,1980
			DIGITAL EQUIPMENT CORPORATION
			MARLBORO, MASS. 01752

		33	JOHN R. KIRCHOFF

		*****************************************************************
	44	PARAMETERS
		*****************************************************************

		46	ACCUMULATORS

		62	COMMAND DEFINITIONS

		85	DIAGNOSTIC SPECIAL ADDRESSES

		103	SPECIAL DIAGNOSTIC START ADDRESSES

		114	DTE20 EPT PARAMETERS

		137	PROCESSOR CONTROL BITS

		149	KL10 PROCESSOR BIT ASSIGNMENTS

		154	KI10 PROCESSOR BIT ASSIGNMENTS

		168	SWITCH ASSIGNMENTS, RH SW'S NOT USED BY CALLED PROG

MAGMON [DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 ^     DECDOC VER  00.24   23-APR-80 14:00:29   PAGE 5             
                                                                                                                           SEQ 0021
		*****************************************************************
	181	CONTROL SECTION
		*****************************************************************

		185	START - STARTING ADDRESS AND CONTROL FLAGS

		203	ONETM1 - STARTUP & PROCESSOR TYPE DETERMINATION

		207	SELECT - START/RESTART INITIALIZATION

		242	SELX - DIAMON LINKAGE SETUP

		256	AUTOMATICALLY LOAD REQUIRED "SUBRTN" AND "KLDDT"
				USER - LOAD "SUBUSR" AND "KLDDT"
				EXEC - KL10 - LOAD "SUBKL" AND "KLDDT"
				EXEC - KA/KI - LOAD "SUBRTN" AND "KLDDT"

		287	PROCESS OPERATOR COMMAND

		*****************************************************************
	322	RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM
		*****************************************************************

		416	WHAT - IDENTIFY LAST PROGRAM

		424	NAMPNT - PRINT FILE NAME AND EXTENSION

		435	SIXBP - SIX BIT PRINTER

		445	PNT16 - PRINT ASCII CHAR IN AC16

		453	CMDHLP, PRINT HELP TEXT

		*****************************************************************
	464	COMMAND LIST PROCESSING
		*****************************************************************

		466	STORED - USE INTERNAL COMMAND LIST

		472	TTYCMD - TELETYPE INPUT COMMAND LIST

		482	DEVCMD - DEVICE COMMAND LIST

MAGMON [DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 ^     DECDOC VER  00.24   23-APR-80 14:00:29   PAGE 6             
                                                                                                                           SEQ 0022
		*****************************************************************
	509	FLNAME - FILE NAME AND CONTROL INFO INPUT
		*****************************************************************

		518	FLNMLP - INPUT AND PROCESS CHARACTERS

		538	FLNAM1 - FILE NAME PROCESS

		549	PERIOD - STORE FILE NAME, GO PROCESS EXTENSION

		554	FLNAM2 - PROCESS DIGITS

		561	TTAB - FIELD SEPARATOR, STORE PREVIOUS FIELD

		568	MINUS - SET SPECIAL USER MODE

		573	SCSET - SEMICOLON, REST IS COMMENT

		578	ZEROAC - ZERO AC'S BEFORE STARTING PROGRAM

		590	COMMAND LIST FORMAT
				NAME
				EXT,,ITERATIONS	(BIT 18 SET IF SPEC USER)
				PASSES,,SWITCHES

		595	CRRTN - CR, STORE COMMAND LIST INFORMATION

		*****************************************************************
	638	EXECUTE THE INPUT COMMAND LIST
		*****************************************************************

		640	EX - INITIALIZATION

		650	EX1 - START PASS

		664	EX2 - PRINT NAME AND LOAD PROGRAM

		672	EX3 - SETUP PROGRAM OPERATION PARAMETERS

		705	RERUN1 - DISPATCH TO EXPANDED SETUP

		709	RUN - PROGRAM RUN, CLEAR PROCESSOR FOR NEXT

		720	RET - ANY MORE PROGRAMS ON COMMAND LIST

		738	EX4 - ALL FINISHED

MAGMON [DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 ^     DECDOC VER  00.24   23-APR-80 14:00:29   PAGE 7             
                                                                                                                           SEQ 0023
		*****************************************************************
	744	EXPANDED COMMAND FORMAT SETUP
		*****************************************************************

		746	CXPND - EXPANDED ALLOWED

		759	STRD2 - CLOCK MARGINS

		772	STRD3 - SPECIAL USER MODE

		784	STRD4 - CONCEALED, PUBLIC OR ALTERNATE

		807	STRD5 - VOLTAGE MARGINS

		876	MUUOER & USRERR - USER ERROR REPORTING

		*****************************************************************
	885	SPECIAL RUN SEQUENCING
		*****************************************************************

		887	XPNRUN - DETERMINE AND SETUP FOR SPECIAL OPERATIONS

		918	USRRUN - SPECIAL USER MODE RUN SEQUENCING

		945	SETUP PAGE MAP AND TRAPS

		978	USSR1 - PROGRAM COMPLETION CONTROL

		*****************************************************************
	1013	VOLTAGE MARGINNING ROUTINE
		*****************************************************************

		*****************************************************************
	1060	SPECIAL USER MODE I/O HANDLER
		*****************************************************************

		1125	SAXPN - STANDALONE EXPANDED RUNNING
				  SPECIAL USER AND/OR MARGINS

MAGMON [DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 ^     DECDOC VER  00.24   23-APR-80 14:00:29   PAGE 8             
                                                                                                                           SEQ 0024
		*****************************************************************
	1145	MESSAGE PRINTER
		*****************************************************************

		1147	PNTMSG - PRINT SIXBIT MESSAGES

		1181	PNTAL - PRINT ASCII MESSAGES

		1195	PNTOCT - PRINT OCTAL NUMBERS

		1205	PNTDEC - PRINT DECIMAL NUMBERS

		1215	PRINT - PRINT AN ASCII CHARACTER

		1264	MISCELLANEOUS

		1282	PNTLPT - LINE PRINTER DRIVER

		1296	LPTOFL - LINE PRINTER OFF-LINE

		1319	TTYCHK - TELETYPE CHECK ROUTINE

		*****************************************************************
	1346	TELETYPE  INPUT
		*****************************************************************

		1348	TTICHR - INPUT A TELETYPE CHARACTER

		1360	TTYINX - CHECK FOR SPECIAL CHAR PROCESS

		1368	TTYIND - TRANSFER TO DDT

		1380	TTYINA - COMPLETE CHARACTER PROCESS

		1401	TTYKL - KL10 CHARACTER INPUT

		1409	TTYINU - USER MODE CHARACTER INPUT

		1417	USER MODE LH SWITCHES FOR CHAIN OPERATION

		1427	TTIOCT - TELETYPE OCTAL NUMBER INPUT

		1449	READ - COMMAND FILE READ PROCESS

		1473	TTALTM - ALTMODE PROCESS

MAGMON [DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 ^     DECDOC VER  00.24   23-APR-80 14:00:29   PAGE 9             
                                                                                                                           SEQ 0025
		*****************************************************************
	1485	SPECIAL ROUTINES
		*****************************************************************

		1487	SWITCH - READ CONSOLE SWITCHES

		1501	DTEINT - KL10 DTE20 INITIALIZATION

		1517	$DTEXX - KL10 DTE20 COMMUNICATIONS

		1528	DTECLR - KL10 DTE20 TELETYPE CLEAR

		*****************************************************************
	1537	DEVICE SELECTION
		*****************************************************************

		1544	DEVSEL - ASK WHICH DEVICE

		1570	USRMAG - SELECT USER MODE MAGTAPE DEVICE OR DISK

		1607	EXECDV - EXEC MODE DEVICE NAME INPUT

		1642	TTSIXB - INPUT SIXBIT WORD

		1674	LIST1 - LIST FILES

		1679	DIRECT - PRINT DIRECTORY

		*****************************************************************
	1722	PROGRAM FILE SELECTION
		*****************************************************************

		1724	FSELECT - "SUBRTN" FILE SELECTION

		1731	DIAGLD - "DIAMON" FILE SELECTION

		1764	RFILE - FILE FOUND AND SETUP

		1774	FSELF - "SUBRTN" FILE FOUND RETURN

		1783	NFERR - FILE NOT FOUND

		1790	FSELNF - "SUBRTN" FILE NOT FOUND

MAGMON [DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 ^     DECDOC VER  00.24   23-APR-80 14:00:29   PAGE 10            
                                                                                                                           SEQ 0026
		*****************************************************************
	1794	"SUBRTN" PROGRAM FILE READ
		*****************************************************************

		1796	FREAD - DETERMINE READ TYPE

		1807	FREAD3 - CHARACTER READ

		1820	FREAD2 - END OF FILE

		1825	FRD36 - 36 BIT WORD READ

		1831	LDACHR - ASCII CHARACTER PROCESS

		1856	FRD8 - 8 BIT WORD READ

		*****************************************************************
	1876	LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE
		*****************************************************************

		1878	PDPROC - FORMAT CONTROL PROCESS

		1913	LDCNV - CONVERT ASCIIZED BACK INTO BITS

		1961	LDEOL - END OF LINE, CHECKSUM LOAD LINE

		1977	LDTEN - CREATE LOAD ADDRESS AND WORD COUNT

		1988	LDTENZ - CLEAR TEN CORE, JOB START TO JOB FIRST FREE

		1998	LDTEN1 - TRANSFER TEN WORDS TO MEMORY

		2027	LDDONE - COMPLETED, GO TO START ROUTINE

		2031	LDCMNT - LOAD FILE COMMENT LINE

		2038	CMNPNT - PRINT COMMENT LINE

		*****************************************************************
	2051	PROGRAM CORE AREA SETUP
		*****************************************************************

		2059	PRGCOR - SETUP CORE ZEROING FOR ".SAV" FILES

		2116	CLRCOR - CLEAR CORE FOR DIAGNOSTIC SEGMENT
				   CLEARS CORE FROM 'JOBSA' TO 'JOBFF'

		2141	LSTPNT - LIST FILES (ASCIZ)

MAGMON [DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 ^     DECDOC VER  00.24   23-APR-80 14:00:29   PAGE 11            
                                                                                                                           SEQ 0027
		2156	RFILE1 - HERE WHEN FILE FOUND

		2177	RWORD - READ DATA WORD FROM FILE

		2191	STARTQ - HERE ON TRANSFER WORD

		*****************************************************************
	2216	USER MODE LOADER
		*****************************************************************

		2218	USERLD - LOOKUP FILE ON THE USERS DISK

		2286	USRINT - USER MODE INIT, SETUP MINIMUM OF 32K OF CORE

		*****************************************************************
	2296	MAGTAPE LOADER
		*****************************************************************

		*****************************************************************
	2402	DX10 MAGTAPE LOAD ROUTINE
		*****************************************************************

		*****************************************************************
	2711	TM10 MAGTAPE LOAD ROUTINE
		*****************************************************************

		*****************************************************************
	2852	RH10/RH20 LOAD ROUTINES
		*****************************************************************

		2854	DEVICE CODE FOR THE RH20

		2865	DEVICE CODES FOR RH10

		2874	RH20 CONO BIT ASSIGNMENTS

		2891	RH20 CONI BIT ASSIGNMENTS

		2931	DATAO-DATAI FOR THE DRIVE REGISTERS (00-37)

		2944	DATAO-DATAI FOR  RH20 SECONDARY BLOCK ADDRESS REGISTER (70)

		2951	DATAO-DATAI FOR RH20 PRIMARY BLOCK ADDRESS REGISTER (72)

		2957	DATAO-DATAI FOR RH20 SECONDARY TRANSFER CONTROL REGISTER (71)

		2971	DATAO-DATAI FOR RH20 PRIMARY TRANSFER REGISTER (73)

		2979	DATAO-DATAI FOR THE RH20 INTERRUPT VECTOR REGISTER (74)

MAGMON [DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 ^     DECDOC VER  00.24   23-APR-80 14:00:29   PAGE 12            
                                                                                                                           SEQ 0028
		2984	RH20  REGISTER ASSIGNMENTS

		2998	 MASSBUSS DEVICE REGISTER BIT ASSIGNMENTS (REGISTERS 00-17)

		3057	 MASSBUSS DEVICE STATUS REGISTER BIT ASSIGNMENTS (DRSR REG-01)

		3082	BIT ASSIGNMENTS FOR MASSBUSS FRAME COUNTER REGISTER (DRFC REG-05)

		3271	ERROR - ERROR REPORTING

		3296	NFERR1 - PROGRAM NOT FOUND ERROR

		*****************************************************************
	3303	ERROR REPORTER
		*****************************************************************

		3305	ERROR REPORT MESSAGES

		*****************************************************************
	3337	STORAGE ASSIGNMENTS
		*****************************************************************

		*****************************************************************
	3633	SPECIAL STARTUP MESSAGES AND INITIALIZATION
		*****************************************************************

		3635	HEADER

		3659	HELP

		4034	TYBAUD - COMPUTE CR & LF FILLERS REQUIRED FOR DIFFERENT BAUD RATES
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 1
MAGMON	MAC	23-Apr-80 13:55		DEVICE SELECTION                                                                   SEQ 0029

     1					;*MAINDEC-10-MAGMON (DDQDE)
     2
     3			000014		DECVER=014
     4			000000		MCNVER=000
     5
     6						XLIST
     7						LIST
     8						LALL
     9
    10					NAME	\MCNVER,\DECVER^
    11
    12					TITLE	MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 ^
    13
    14
    15					;*THIS PROGRAM PROVIDES THE PROGRAM LOADING CAPABILITY FOR PDP-10
    16					;*DIAGNOSTICS.  PROVIDES FOR LOADING AND RUNNING SINGLE DIAGNOSTICS OR
    17					;*CHAIN EXECUTION OF A SERIES OF DIAGNOSTICS.
    18
    19					;*THIS PROGRAM WILL EXECUTE PDP-10 DIAGNOSTICS AND RELIABILITY
    20					;*PROGRAMS THAT ARE CAPABLE OF BEING RUN UNATTENDED.
    21					;*RUNS ON KL10, KI10 & KA10 PROCESSORS
    22
    23					;*IT PROVIDES FOR CONTINUOUS TESTING FOR EQUIPMENT CHECKOUT
    24					;*AND/OR FAST ITERATION OPERATION FOR MARGIN TESTING.
    25
    26					;*ALSO PROVIDES SPECIAL USER MODE OPERATION FOR KL10 & KI10
    27					;*AND MARGIN OPERATION FOR KI10.
    28
    29					;*COPYRIGHT 1976,1977,1978,1979,1980
    30					;*DIGITAL EQUIPMENT CORPORATION
    31					;*MARLBORO, MASS. 01752
    32
    33					;*JOHN R. KIRCHOFF
    34
    35	000137					LOC	137
    36	000137	000000	000014		MCNVER,,DECVER
    37
    38						NOSYM
    39
    40					;ASSEMBLE AS FOLLOWS
    41					;	MAGMON.MAC,MAGLDR.MAC
    42
    43			027770		INLEND=27770	;COMMAND LIST END ADDRESS
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 2
MAGMON	MAC	23-Apr-80 13:55		PARAMETERS                                                                         SEQ 0030

    44					SUBTTL	PARAMETERS
    45
    46					;*ACCUMULATORS
    47
    48			000005		DPNTR=	5				;DISK CMD LIST INPUT POINTER
    49			000006		LET=	6				;LETTERS TYPIN FLAG
    50			000007		NAM=	7				;NAME GENERATION AC'S
    51			000010		NAM1=	10
    52			000011		NAM2=	11
    53			000012		DIGIT=	12				;DIGIT GENERATION AC'S
    54			000013		DIGITA=	13
    55			000014		DIGIT1=	14
    56			000015		DIGIT2=	15
    57			000016		IP=	16				;COMMAND INDEX POINTER
    58			000017		P=	17				;PUSHDOWN POINTER
    59
    60			000016		LDCHN=	16				;USER LOAD CHANNEL
    61
    62					;*COMMAND DEFINITIONS
    63
    64			000120		JOBSA=	120				;JOB STARTING ADDRESS
    65			000121		JOBFF=	121				;JOB FIRST FREE ADDRESS
    66			000044		JOBREL=	44				;JOB HIGHEST RELATIVE ADDRESS
    67			027772		FSELNK=	27772				;FILE SELECT LINK
    68			027773		FRDLNK=	27773				;FILE READ LINK
    69			027774		LDLNK=	27774				;LOAD LINK
    70			027775		DDTLNK=	27775				;DDT LINK
    71			027776		MODLNK=	27776				;MODE CHECK LINK
    72			027777		SUBLNK=	27777				;SUBROUTINE LINK
    73
    74			000476		CHNCMD=	476				;CHANNEL COMMAND LIST
    75
    76		260740	000000		OPDEF	GO	[PUSHJ	P,0]
    77		263740	000000		OPDEF	RTN	[POPJ	P,]
    78		261740	000000		OPDEF	PUT	[PUSH	P,0]
    79		262740	000000		OPDEF	GET	[POP	P,0]
    80		260740	021402		OPDEF	PNTMSG	[GO	$PSIX]
    81		260740	021436		OPDEF	PNTAL	[GO	TOUT]
    82		260740	021647		OPDEF	TTICHR	[GO	TTYIN]
    83		260740	021741		OPDEF	TTIOCT	[GO	TTYOCT]
    84		260740	022017		OPDEF	SWITCH	[GO	$SWITCH]
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 3
MAGMON	MAC	23-Apr-80 13:55		PARAMETERS                                                                         SEQ 0031

    85					;*DIAGNOSTIC SPECIAL ADDRESSES
    86
    87			001005		SUBRTN=	1005				;"SUBRTN" IDENTIFICATION WORD
    88			030000		DIAGNOS=30000				;DIAGNOSTIC START ADDRESS
    89			030002		DIAGMN=	30002				;PROG START ADDRESS
    90			030012		RETURN=	30012				;RETURN ADR STORAGE
    91			030031		$EMODE=	30031				;EXEC ALLOWED
    92			030032		$UMODE=	30032				;USER ALLOWED
    93			030024		ITRCNT=	30024				;PROG ITERATIONS
    94			030043		MONCTL=	30043				;DIAG MON CONTROL FLAG
    95			030022		RANDBS=	30022				;PROG RANDOM BASE
    96			030042		MONFLG=	30042				;SPECIAL USER CONTROL FLAG
    97			030044		MONTEN=	30044				;LOADED BY DIAMON FLAG
    98			030055		MARGIN=	30055				;KI10 MARGIN WORD
    99			010000		KLDDT=	10000				;KLDDT PROGRAM START ADDRESS
   100
   101			020000		.LOC=	20000				;STARTING ADDRESS
   102
   103					;*SPECIAL DIAGNOSTIC START ADDRESSES
   104
   105			030004		SFSTRT=	30004				;SPECIAL FEATURE START
   106			030005		PFSTRT=	30005				;POWER FAIL RESTART
   107			030006		REENTR=	30006				;PROGRAM REENTER START
   108			030007		DDT=	30007				;DDT START
   109			030013		START1=	30013				;START 1
   110			030014		START2=	30014				;START 2
   111			030015		START3=	30015				;START 3
   112			030016		START4=	30016				;START 4
   113			030017		START5=	30017				;START 5
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 4
MAGMON	MAC	23-Apr-80 13:55		PARAMETERS                                                                         SEQ 0032

   114					;*DTE20 EPT PARAMETERS
   115
   116			000440		$STD=	440				;PDP-10 DIAGNOSTIC START ADDRESS
   117			000441		$DDT=	441				;PDP-10 DDT START ADDRESS
   118			000442		$STL=	442				;PDP-10 LOADER START ADDRESS
   119			000443		$STM=	443				;PDP-10 MONITOR START ADDRESS
   120
   121			000444		$DTFLG=	444				;OPERATION COMPLETE FLAG
   122			000445		$DTCLK=	445				;CLOCK INTERRUPT FLAG
   123			000446		$DTCI=	446				;CLOCK INTERRUPT INSTRUCTION
   124			000447		$DTT11=	447				;10 TO 11 ARGUMENT
   125			000450		$DTF11=	450				;10 FROM 11 ARGUMENT
   126			000451		$DTCMD=	451				;TO 11 COMMAND WORD
   127			000452		$DTSEQ=	452				;OPERATION SEQUENCE NUMBER
   128			000453		$DTOPR=	453				;OPERATIONAL DTE #
   129			000454		$DTCHR=	454				;LAST TYPED CHARACTER
   130			000455		$DTMTD=	455				;MONITOR TTY OUTPUT COMPLETE FLAG
   131			000456		$DTMTI=	456				;MONITOR TTY INPUT FLAG
   132			000457		$DTSWR=	457				;10 SWITCH REGISTER
   133
   134	000442					LOC	442
   135	000442	254 00 0 00 020000 	JRST	START
   136
   137					;*PROCESSOR CONTROL BITS
   138
   139			200000		IOCLR=	200000				;APR, I/O CLEAR
   140			010000		PICLR=	10000				;PI, PI CLEAR
   141			010000		USERF=	10000				;USER MODE FLAG
   142
   143			020000		TRPENB=	020000				;ENABLE TRAPS
   144			010000		USERF=	10000				;USER MODE FLAG
   145			000010		PAG=	010				;PAGING I/O DEVICE CODE
   146			000424		MUUO=	424				;MUUO STORAGE
   147			000425		MUUOPC=	425				;C(PC) OF MUUO STORAGE
   148			017000		UPMP=	17000				;USER PAGE MAP PAGE
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 5
MAGMON	MAC	23-Apr-80 13:55		PARAMETERS                                                                         SEQ 0033

   149					;*KL10 PROCESSOR BIT ASSIGNMENTS
   150
   151			000200		DTE=	200				;DTE20 DEVICE CODE
   152			140000		LLDUSB=	140000				;LOAD KL10 USER BASE REGISTER
   153
   154					;*KI10 PROCESSOR BIT ASSIGNMENTS
   155
   156			400000		LDEXCB=	400000				;LOAD EXEC BASE REGISTER
   157			400000		LDUSRB=	400000				;LOAD USER BASE REGISTER
   158			040000		SMLUSR=	040000				;SMALL USER
   159			020000		USRCMP=	020000				;USER COMPARE
   160			002000		IMGNOF=	2000				;VOLTAGE MARGINS OFF
   161			001000		IMGNON=	1000				;VOLTAGE MARGINS ON
   162			010000		ISPDOF=	10000				;SPEED MARGINS OFF
   163			002000		IMGINM=	2000				;MARGIN SWITCH
   164			004000		ISPDON=	4000				;SPEED MARGINS ON
   165			000031		VOLT5=	31				;MARGIN 5 VOLT SETTING
   166			000014		VOLTLM=	^D12				;MARGIN +- LIMITS
   167
   168					;*SWITCH ASSIGNMENTS, RH SW'S NOT USED BY CALLED PROG
   169
   170			020000		LPTSW=	20000				;SW 4, PRINT ON LPT
   171			000400		RELIAB=	400				;SW 9, RELIABILITY MODE
   172			000004		CHAIN=	4				;SW 15, INHIBIT PROGRAM TITLE PRINT
   173
   174			400000		XPAND=	400000				;SW 18, EXPANDED CONTROL SEQUENCING
   175
   176					DEFINE	MSG	(ARG),<[SIXBIT\ARG'_\]>
   177
   178					DEFINE	PMSG	(ARG),<
   179						MOVEI	[SIXBIT\ARG'_\]
   180						PNTMSG>
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 6
MAGMON	MAC	23-Apr-80 13:55		CONTROL SECTION                                                                    SEQ 0034

   181					SUBTTL	CONTROL SECTION
   182
   183	020000					LOC	.LOC
   184
   185					;*START - STARTING ADDRESS AND CONTROL FLAGS
   186
   187	020000	254 00 0 00 020021 	START:	JRST	SELECT
   188	020001	254 00 0 00 020622 	RESTRT:	JRST	RUN
   189	020002	254 00 0 00 020306 	TITLE:	JRST	WHAT
   190	020003	254 00 0 00 020621 	RERUN:	JRST	RERUN1
   191	020004	254 00 0 00 020017 	ONETIM:	JRST	ONETM1
   192	020005	000000	000000		ITERAT:	0
   193	020006	000000	000000		USER:	0
   194	020007	000000	000000		CONSW:	0				;USER MODE SWITCHES
   195	020010	000000	000000		KLFLG:	0
   196	020011	000000	000000		KAIFLG:	0
   197	020012	000000	000000		SUSERF:	0
   198	020013	000000	000000		PASS:	0
   199	020014	000000	000000		ONCE:	0
   200	020015	000000	000000		RANBAS:	0
   201	020016	000000	000000		TTYSPD:	0				;TTY BAUD RATE
   202
   203					;*ONETM1 - STARTUP & PROCESSOR TYPE DETERMINATION
   204
   205	020017	200 00 0 00 000044 	ONETM1:	MOVE	JOBREL			;SAVE "DIAMON" MAX SIZE
   206	020020	202 00 0 00 024711 		MOVEM	SVJBREL#
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 7
MAGMON	MAC	23-Apr-80 13:55		CONTROL SECTION                                                                    SEQ 0035

   207					;*SELECT - START/RESTART INITIALIZATION
   208
   209	020021	402 00 0 00 020006 	SELECT:	SETZM	USER
   210	020022	265 00 0 00 020023 		JSP	0,.+1
   211	020023	603 00 0 00 010000 		TLNE	0,USERF
   212	020024	476 00 0 00 020006 		SETOM	USER			;USER MODE
   213	020025	332 00 0 00 020006 		SKIPE	USER
   214	020026	254 00 0 00 020031 		JRST	.+3
   215	020027	7 004 20 0 00 010000 		CONO	PI,PICLR
   216	020030	7 000 20 0 00 200000 		CONO	APR,IOCLR
   217	020031	200 17 0 00 024310 		MOVE	P,[-40,,PLIST]
   218	020032	402 00 0 00 020010 		SETZM	KLFLG
   219	020033	402 00 0 00 020011 		SETZM	KAIFLG
   220	020034	200 01 0 00 024311 		MOVE	1,[1,,1]
   221	020035	251 01 0 00 000001 		BLT	1,1
   222	020036	312 01 0 00 024311 		CAME	1,[1,,1]		;BLT CHANGES AC ON KL10
   223	020037	476 00 0 00 020010 		SETOM	KLFLG
   224	020040	211 01 0 00 000001 		MOVNI	1,1
   225	020041	253 01 0 00 020042 		AOBJN	1,.+1
   226	020042	336 00 0 00 000001 		SKIPN	1			;KA10 IF (AC) = 1,,0
   227	020043	476 00 0 00 020011 		SETOM	KAIFLG			;KI10 IF (AC) = 0,,0
   228	020044	332 00 0 00 020010 		SKIPE	KLFLG
   229	020045	260 17 0 00 022031 		GO	DTEINT			;KL10, INIT DTE20
   230	020046	332 00 0 00 020006 		SKIPE	USER
   231	020047	260 17 0 00 023135 		GO	USRINT			;USER INITIALIZATION
   232	020050	200 00 0 00 024715 		MOVE	PGNAME
   233	020051	332 00 0 00 020006 		SKIPE	USER
   234	020052	047 00 0 00 000043 		SETNAM				;USER, SET NAME BACK
   235	020053	332 00 0 00 020014 		SKIPE	ONCE
   236	020054	254 00 0 00 020062 		JRST	SELX			;NOT FIRST TIME
   237	020055	336 00 0 00 020010 		SKIPN	KLFLG
   238	020056	260 17 0 00 027601 		GO	TYBAUD			;KA/KI, COMPUTE BAUD RATE
   239	020057	201 00 0 00 027001 		MOVEI	HEADER
   240	020060	260 17 0 00 021436 		PNTAL				;PRINT HEADER
   241	020061	260 17 0 00 022065 		GO	DEVSEL			;SELECT LOAD DEVICE
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 8
MAGMON	MAC	23-Apr-80 13:55		CONTROL SECTION                                                                    SEQ 0036

   242					;*SELX - DIAMON LINKAGE SETUP
   243
   244	020062	201 00 0 00 030001 	SELX:	MOVEI	30001			;SETUP $START AS
   245	020063	202 00 0 00 027774 		MOVEM	27774			;LOAD LINK
   246	020064	201 00 0 00 022320 		MOVEI	FSELECT			;SETUP FILE SELECT LINK
   247	020065	202 00 0 00 027772 		MOVEM	FSELNK
   248	020066	201 00 0 00 022401 		MOVEI	FREAD			;SETUP FILE READ LINK
   249	020067	202 00 0 00 027773 		MOVEM	FRDLNK
   250	020070	402 00 0 00 024756 		SETZM	PGMGO
   251	020071	200 00 0 00 024312 		MOVE	[PGMGO,,PGMGO+1]
   252	020072	251 00 0 00 024775 		BLT	RACKF
   253	020073	200 00 0 00 024313 		MOVE	[SIXBIT/SUBRTN/]
   254	020074	316 00 0 00 001005 		CAMN	SUBRTN			;IS "SUBRTN" LOADED ?
   255	020075	254 00 0 00 020124 		JRST	SELX1			;YES
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 9
MAGMON	MAC	23-Apr-80 13:55		CONTROL SECTION                                                                    SEQ 0037

   256					;*AUTOMATICALLY LOAD REQUIRED "SUBRTN" AND "KLDDT"
   257					;*	USER - LOAD "SUBUSR" AND "KLDDT"
   258					;*	EXEC - KL10 - LOAD "SUBKL" AND "KLDDT"
   259					;*	EXEC - KA/KI - LOAD "SUBRTN" AND "KLDDT"
   260
   261	020076	336 00 0 00 020006 		SKIPN	USER
   262	020077	254 00 0 00 020104 		JRST	SELX4			;EXEC
   263						MOVEI	IP,[SIXBIT/SUBUSR/
   264	020100	201 16 0 00 024314 			    0]
   265	020101	260 17 0 00 022324 		GO	DIAGLD-5		;DON'T REPORT CAN'T FIND
   266	020102	254 00 0 00 020112 		JRST	SELX3			;TRY "SUBRTN" THEN
   267	020103	254 00 0 00 020115 		JRST	SELX2
   268	020104	336 00 0 00 020010 	SELX4:	SKIPN	KLFLG
   269	020105	254 00 0 00 020112 		JRST	SELX3			;NOT KL-10
   270						MOVEI	IP,[SIXBIT/SUBKL/
   271	020106	201 16 0 00 024316 			    0]
   272	020107	260 17 0 00 022324 		GO	DIAGLD-5		;DON'T REPORT CAN'T FIND
   273	020110	254 00 0 00 020112 		JRST	.+2			;TRY "SUBRTN" THEN
   274	020111	254 00 0 00 020115 		JRST	SELX2
   275					SELX3:	MOVEI	IP,[SIXBIT/SUBRTN/
   276	020112	201 16 0 00 024320 			    0]
   277	020113	260 17 0 00 022327 		GO	DIAGLD-2		;NO, LOAD IT THEN
   278	020114	254 00 0 00 020124 		JRST	SELX1			;CAN'T FIND, ALREADY REPORTED
   279					SELX2:	MOVEI	IP,[SIXBIT/KLDDT/
   280	020115	201 16 0 00 024322 			    0]
   281	020116	260 17 0 00 022327 		GO	DIAGLD-2		;LOAD DDT ALSO
   282	020117	254 00 0 00 020124 		JRST	SELX1
   283	020120	201 00 0 00 000441 		MOVEI	$DDT
   284	020121	202 00 0 00 000074 		MOVEM	74			;SET DDT START ADDRESS
   285	020122	332 00 0 00 020006 		SKIPE	USER
   286	020123	047 00 0 00 000002 		SETDDT				;SET USER DDT START ADDRESS
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 10
MAGMON	MAC	23-Apr-80 13:55		CONTROL SECTION                                                                    SEQ 0038

   287					;*PROCESS OPERATOR COMMAND
   288
   289	020124	476 00 0 00 020014 	SELX1:	SETOM	ONCE
   290	020125	200 17 0 00 024310 		MOVE	P,[-40,,PLIST]
   291	020126	201 16 0 00 025022 		MOVEI	IP,SELSTR
   292	020127	260 17 0 00 021543 		GO	CRLF1			;TYPE A CARRIAGE AND LINE FEED
   293	020130	200 01 0 00 024715 		MOVE	A,PGNAME		;GET PROGRAM NAME
   294	020131	260 17 0 00 020323 		GO	SIXBP			;PRINT IT
   295						PMSG	< CMD - >^
   296	020132	201 00 0 00 024324 		MOVEI	[SIXBIT\ CMD - _\]
   297	020133	260 17 0 00 021402 		PNTMSG^
   298	020134	260 17 0 00 020406 		GO	FLNAME			;GET COMMAND OR FILE NAME
   299	020135	255 00 0 00 000000 		JFCL
   300	020136	201 16 0 00 025022 		MOVEI	IP,SELSTR
   301	020137	402 00 0 00 000001 		SETZM	1
   302	020140	200 00 0 16 000000 		MOVE	(IP)
   303
   304	020141	336 00 0 01 020225 	CMDLP:	SKIPN	CMDLST(1)		;CHECK FOR SPECIAL COMMANDS
   305	020142	344 01 0 00 020150 		AOJA	1,CMDLP1		;NOT IN FIRST PART OF LIST
   306	020143	316 00 0 01 020225 		CAMN	CMDLST(1)
   307	020144	254 00 0 00 020146 		JRST	CMDEX			;FOUND
   308	020145	344 01 0 00 020141 		AOJA	1,CMDLP
   309
   310	020146	200 00 0 01 020256 	CMDEX:	MOVE	0,CMDADR(1)		;GET START ADDRESS
   311	020147	254 00 1 00 000000 		JRST	@0			;GO TO COMMAND ROUTINE
   312
   313	020150	336 00 0 01 020225 	CMDLP1:	SKIPN	CMDLST(1)		;SPECIAL START COMMANDS
   314	020151	254 00 0 00 020204 		JRST	RUNPR2			;NOT FOUND, MUST BE PROGRAM NAME
   315	020152	316 00 0 01 020225 		CAMN	CMDLST(1)
   316	020153	254 00 0 00 020155 		JRST	CMDEX1			;FOUND
   317	020154	344 01 0 00 020150 		AOJA	1,CMDLP1
   318
   319	020155	200 00 0 01 020256 	CMDEX1:	MOVE	0,CMDADR(1)		;GET SPECIAL START ADDRESS
   320	020156	542 00 0 00 023053 		HRRM	SADR			;SET FOR START
   321	020157	254 00 0 00 023043 		JRST	SADRQ			;GO START
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 11
MAGMON	MAC	23-Apr-80 13:55		RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM                                           SEQ 0039

   322					SUBTTL	RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM
   323
   324	020160				RUNPRG:	PMSG	<^FILE.EXT - >^
   325	020160	201 00 0 00 024326 		MOVEI	[SIXBIT\^FILE.EXT - _\]
   326	020161	260 17 0 00 021402 		PNTMSG^
   327	020162	201 16 0 00 027001 		MOVEI	IP,INLIST
   328	020163	260 17 0 00 020406 		GO	FLNAME			;GET FILE NAME
   329	020164	255 00 0 00 000000 		JFCL
   330	020165	201 16 0 00 027001 	RUNPR1:	MOVEI	IP,INLIST
   331	020166	554 00 0 16 000000 		HLRZ	(IP)
   332	020167	306 00 0 00 470000 		CAIN	(SIXBIT/G/)
   333	020170	254 00 0 00 023043 		JRST	SADRQ
   334	020171	336 00 0 16 000000 		SKIPN	(IP)
   335	020172	254 00 0 00 020650 		JRST	EX4			;NO PROGRAM TO RUN
   336	020173	202 16 0 00 024777 		MOVEM	IP,SAVEIP
   337	020174	476 00 0 00 024756 		SETOM	PGMGO			;SET LOAD & GO FLAG
   338	020175	260 17 0 00 022331 		GO	DIAGLD			;GO GET PROGRAM
   339	020176	254 00 0 00 020200 		JRST	.+2
   340	020177	254 00 0 00 020362 		JRST	DEVCM1			;MUST BE DEVICE COMMAND LIST
   341	020200	336 00 0 00 024765 		SKIPN	ALTMFLG			;ALTMODE SELECTION ?
   342	020201	254 00 0 00 020021 		JRST	SELECT			;NO, ERROR
   343	020202	402 00 0 00 024765 		SETZM	ALTMFLG
   344	020203	254 00 0 00 020160 		JRST	RUNPRG			;YES, ASK FOR NEXT PROGRAM
   345
   346	020204	200 00 0 00 025022 	RUNPR2:	MOVE	SELSTR
   347	020205	202 00 0 00 027001 		MOVEM	INLIST
   348	020206	200 00 0 00 025023 		MOVE	SELSTR+1
   349	020207	202 00 0 00 027002 		MOVEM	INLIST+1
   350	020210	402 00 0 00 027004 		SETZM	INLIST+3
   351	020211	254 00 0 00 020165 		JRST	RUNPR1
   352
   353	020212	260 17 0 00 021647 	TT2CHR:	TTICHR				;INPUT 1ST CHAR
   354	020213	306 00 0 00 000012 		CAIN	12
   355	020214	263 17 0 00 000000 		RTN				;ONLY A CR
   356	020215	202 00 0 00 000006 		MOVEM	0,LET
   357	020216	260 17 0 00 021647 		TTICHR				;INPUT 2ND CHAR, SHOULD BE CR
   358	020217	302 00 0 00 000012 		CAIE	12
   359	020220	254 00 0 00 020021 		JRST	SELECT			;WASN'T
   360	020221	200 00 0 00 000006 		MOVE	0,LET			;GET 1ST CHAR BACK
   361	020222	254 00 0 00 020377 		JRST	CPOPJ1			;SKIP RETURN
   362
   363	020223	260 17 0 00 022065 	SELXR:	GO	DEVSEL			;SELECT DEVICE
   364	020224	254 00 0 00 020062 		JRST	SELX
   365
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 12
MAGMON	MAC	23-Apr-80 13:55		RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM                                           SEQ 0040

   366	020225	50 00 00 00 00 00 	CMDLST:	SIXBIT/H/
   367	020226	51 00 00 00 00 00 		SIXBIT/I/
   368	020227	64 00 00 00 00 00 		SIXBIT/T/
   369	020230	44 00 00 00 00 00 		SIXBIT/D/
   370	020231	63 00 00 00 00 00 		SIXBIT/S/
   371	020232	46 00 00 00 00 00 		SIXBIT/F/
   372	020233	54 00 00 00 00 00 		SIXBIT/L/
   373	020234	47 00 00 00 00 00 		SIXBIT/G/
   374	020235	70 00 00 00 00 00 		SIXBIT/X/
   375	020236	62 00 00 00 00 00 		SIXBIT/R/
   376	020237	000000	000000			0
   377	020240	63 64 44 00 00 00 		SIXBIT/STD/
   378	020241	63 64 54 00 00 00 		SIXBIT/STL/
   379	020242	63 64 55 00 00 00 		SIXBIT/STM/
   380	020243	44 44 64 00 00 00 		SIXBIT/DDT/
   381	020244	63 64 41 62 64 00 		SIXBIT/START/
   382	020245	63 46 63 64 62 64 		SIXBIT/SFSTRT/
   383	020246	60 46 63 64 62 64 		SIXBIT/PFSTRT/
   384	020247	62 45 45 00 00 00 		SIXBIT/REE/
   385	020250	63 64 41 62 64 21 		SIXBIT/START1/
   386	020251	63 64 41 62 64 22 		SIXBIT/START2/
   387	020252	63 64 41 62 64 23 		SIXBIT/START3/
   388	020253	63 64 41 62 64 24 		SIXBIT/START4/
   389	020254	63 64 41 62 64 25 		SIXBIT/START5/
   390	020255	000000	000000			0
   391
   392	020256	000000	020337		CMDADR:	CMDHLP
   393	020257	000000	020347			STORED
   394	020260	000000	020352			TTYCMD
   395	020261	000000	020360			DEVCMD
   396	020262	000000	020160			RUNPRG
   397	020263	000000	022250			DIRECT
   398	020264	000000	022246			LIST1
   399	020265	000000	023043			SADRQ
   400	020266	000000	021364			SAXPN
   401	020267	000000	020223			SELXR
   402	020270	000000	000000			0
   403	020271	000000	000440			$STD
   404	020272	000000	000442			$STL
   405	020273	000000	000443			$STM
   406	020274	000000	000441			$DDT
   407	020275	000000	030000			DIAGNOS
   408	020276	000000	030004			SFSTRT
   409	020277	000000	030005			PFSTRT
   410	020300	000000	030006			REENTR
   411	020301	000000	030013			START1
   412	020302	000000	030014			START2
   413	020303	000000	030015			START3
   414	020304	000000	030016			START4
   415	020305	000000	030017			START5
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 13
MAGMON	MAC	23-Apr-80 13:55		RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM                                           SEQ 0041

   416					;*WHAT - IDENTIFY LAST PROGRAM
   417
   418	020306	200 17 0 00 024310 	WHAT:	MOVE	P,[-40,,PLIST]
   419	020307	260 17 0 00 021543 		GO	CRLF1
   420	020310	200 16 0 00 024777 		MOVE	IP,SAVEIP
   421	020311	260 17 0 00 020313 		GO	NAMPNT			;PRINT TITLE OF LAST PROGRAM
   422	020312	254 00 0 00 020000 		JRST	START
   423
   424					;*NAMPNT - PRINT FILE NAME AND EXTENSION
   425
   426	020313	200 01 0 16 000000 	NAMPNT:	MOVE	A,(IP)
   427	020314	260 17 0 00 020323 		GO	SIXBP
   428	020315	201 00 0 00 000056 		MOVEI	"."
   429	020316	260 17 0 00 021467 		GO	PRINT
   430	020317	510 01 0 16 000001 		HLLZ	A,1(IP)
   431	020320	260 17 0 00 020323 		GO	SIXBP
   432	020321	260 17 0 00 021543 		GO	CRLF1
   433	020322	263 17 0 00 000000 		RTN
   434
   435					;*SIXBP - SIX BIT PRINTER
   436
   437	020323	201 02 0 00 000000 	SIXBP:	MOVEI	B,0			;SO DON'T SHIFT IN JUNK
   438	020324	402 00 0 00 000000 		SETZM	F
   439	020325	246 00 0 00 000006 		LSHC	F,6			;GET A SIXBIT CHAR
   440	020326	271 00 0 00 000040 		ADDI	F,40			;MAKE IT ASCII
   441	020327	260 17 0 00 021467 		GO	PRINT			;TYPE IT
   442	020330	326 01 0 00 020323 		JUMPN	A,SIXBP			;IF ANY MORE, TYPE THEM
   443	020331	263 17 0 00 000000 	CPOPJ:	RTN
   444
   445					;*PNT16 - PRINT ASCII CHAR IN AC16
   446
   447	020332	261 17 0 00 000000 	PNT16:	PUT	0
   448	020333	200 00 0 00 000016 		MOVE	0,16
   449	020334	260 17 0 00 021467 		GO	PRINT
   450	020335	262 17 0 00 000000 		GET	0
   451	020336	263 17 0 00 000000 		RTN
   452
   453					;*CMDHLP, PRINT HELP TEXT
   454
   455	020337	332 00 0 00 024654 	CMDHLP:	SKIPE	HLPCLR#			;HAS HELP BEEN OVERWRITTEN ?
   456	020340	254 00 0 00 020344 		JRST	.+4			;YES
   457	020341	201 00 0 00 027020 		MOVEI	HELP			;PRINT HELP
   458	020342	260 17 0 00 021436 		PNTAL
   459	020343	254 00 0 00 020000 		JRST	START
   460						PMSG	<NO HELP>^
   461	020344	201 00 0 00 024331 		MOVEI	[SIXBIT\NO HELP_\]
   462	020345	260 17 0 00 021402 		PNTMSG^
   463	020346	254 00 0 00 020000 		JRST	START
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 14
MAGMON	MAC	23-Apr-80 13:55		COMMAND LIST PROCESSING                                                            SEQ 0042

   464					SUBTTL	COMMAND LIST PROCESSING
   465
   466					;*STORED - USE INTERNAL COMMAND LIST
   467
   468	020347	402 00 0 00 024762 	STORED:	SETZM	LPTFLG
   469	020350	260 17 0 00 020653 		GO	CXPND			;SETUP EXPANDED OPERATIONS
   470	020351	254 00 0 00 020535 		JRST	EX
   471
   472					;*TTYCMD - TELETYPE INPUT COMMAND LIST
   473
   474	020352				TTYCMD:	PMSG	<^NAME]PASSES]RH SWS]ITERATIONS^>^
   475	020352	201 00 0 00 024333 		MOVEI	[SIXBIT\^NAME]PASSES]RH SWS]ITERATIONS^_\]
   476	020353	260 17 0 00 021402 		PNTMSG^
   477	020354	201 16 0 00 027001 	CMNCMD:	MOVEI	IP,INLIST
   478	020355	260 17 0 00 020406 		GO	FLNAME
   479	020356	254 00 0 00 020355 		JRST	.-1			;INPUT TILL ^Z
   480	020357	254 00 0 00 020347 		JRST	STORED
   481
   482					;*DEVCMD - DEVICE COMMAND LIST
   483
   484	020360	476 00 0 00 024760 	DEVCMD:	SETOM	DEVFLG			;SET DEVICE CMD LIST FLAG
   485	020361	254 00 0 00 020160 		JRST	RUNPRG			;GET COMMAND FILE
   486
   487	020362	402 00 0 00 024760 	DEVCM1:	SETZM	DEVFLG			;CLEAR DEVICE CMD LIST FLAG
   488	020363	476 00 0 00 024761 		SETOM	DINFLG			;SET "READ" FOR DEVICE IN
   489	020364	402 00 0 00 024756 		SETZM	PGMGO			;CLEAR FOR COMMAND OPERATION
   490	020365	200 05 0 00 024341 		MOVE	DPNTR,[POINT 7,31000]
   491	020366	254 00 0 00 020354 		JRST	CMNCMD			;GO RUN COMMAND LIST
   492
   493	020367	200 13 0 00 024341 	DEVCM2:	MOVE	13,[POINT 7,31000]
   494	020370	260 17 0 00 022427 		GO	LDACHR			;READ A CHAR
   495	020371	254 00 0 00 020374 		JRST	.+3			;EOF
   496	020372	136 16 0 00 000013 		IDPB	16,13
   497	020373	254 00 0 00 020370 		JRST	.-3
   498	020374	201 16 0 00 000177 		MOVEI	16,177			;FLAG END OF INPUT
   499	020375	136 16 0 00 000013 		IDPB	16,13
   500	020376	260 17 0 00 022355 		GO	STOP			;STOP DEVICE
   501	020377	350 00 0 17 000000 	CPOPJ1:	AOS	(P)			;DONE, RETURN TO "DEVCM1"
   502	020400	263 17 0 00 000000 		RTN
   503
   504	020401	134 00 0 00 000005 	DEVRD:	ILDB	0,DPNTR			;GET CHARS FROM 31000 UP
   505	020402	322 00 0 00 020401 		JUMPE	0,.-1			;IGNORE NULLS
   506	020403	306 00 0 00 000177 		CAIN	0,177
   507	020404	254 00 0 00 020377 		JRST	CPOPJ1			;177 BYTE SIGNIFIES END
   508	020405	254 00 0 00 021764 		JRST	READ1			;FOR "READ"
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 15
MAGMON	MAC	23-Apr-80 13:55		FLNAME - FILE NAME AND CONTROL INFO INPUT                                          SEQ 0043

   509					SUBTTL	FLNAME - FILE NAME AND CONTROL INFO INPUT
   510
   511	020406	402 00 0 00 024776 	FLNAME:	SETZM	SCFLAG
   512	020407	402 00 0 00 020012 		SETZM	SUSERF
   513	020410	661 06 0 00 400000 		TLO	LET,400000		;SET LETTERS FLAG
   514	020411	400 10 0 00 000000 		SETZ	NAM1,			;CLEAR CONTROLS
   515	020412	403 07 0 00 000012 		SETZB	NAM,DIGIT
   516	020413	201 11 0 00 000036 		MOVEI	NAM2,^D30		;SETUP CHAR POSITIONING
   517
   518					;*FLNMLP - INPUT AND PROCESS CHARACTERS
   519
   520	020414	260 17 0 00 021761 	FLNMLP:	GO	READ
   521	020415	306 00 0 00 000032 		CAIN	32
   522	020416	254 00 0 00 020377 		JRST	CPOPJ1			;^Z, LOGICAL END OF INPUT
   523	020417	306 00 0 00 000012 		CAIN	12
   524	020420	254 00 0 00 020474 		JRST	CRRTN			;CR, (ACTUALLY LF) COMPLETES LINE
   525	020421	332 00 0 00 024776 		SKIPE	SCFLAG
   526	020422	254 00 0 00 020414 		JRST	FLNMLP			;<;> TYPED, IGNORE REST OF LINE
   527	020423	306 00 0 00 000073 		CAIN	73
   528	020424	254 00 0 00 020462 		JRST	SCSET			;<;>
   529	020425	306 00 0 00 000177 		CAIN	177
   530	020426	254 00 0 00 020471 		JRST	RBOUT			;RUBOUT
   531	020427	306 00 0 00 000055 		CAIN	55			;MINUS IS SPECIAL USER MODE FLAG
   532	020430	254 00 0 00 020460 		JRST	MINUS
   533	020431	306 00 0 00 000011 		CAIN	11
   534	020432	254 00 0 00 020454 		JRST	TTAB			;TAB IS FIELD SEPARATOR
   535	020433	322 00 0 00 020414 		JUMPE	FLNMLP			;REJECT 0'S
   536	020434	325 06 0 00 020450 		JUMPGE	LET,FLNAM2		;JUMP IF ASSEMBLE DIGITS
   537
   538					;*FLNAM1 - FILE NAME PROCESS
   539
   540	020435	306 00 0 00 000056 	FLNAM1:	CAIN	56
   541	020436	254 00 0 00 020446 		JRST	PERIOD			;DOT, NAME.EXT SEPARATOR
   542	020437	275 00 0 00 000040 		SUBI	40			;CONVERT TO 6BIT
   543	020440	321 00 0 00 020471 		JUMPL	RBOUT			;CNTL CHAR, TREAT AS RUBOUT
   544	020441	322 00 0 00 020471 		JUMPE	RBOUT			;0 IS ERROR
   545	020442	242 00 0 11 000000 		LSH	0,(NAM2)		;POSITION CHAR
   546	020443	434 07 0 00 000000 		IOR	NAM,0			;MERGE INTO NAME
   547	020444	275 11 0 00 000006 		SUBI	NAM2,6			;CHANGE POSITIONING FOR NEXT
   548	020445	254 00 0 00 020414 		JRST	FLNMLP			;GET NEXT CHAR
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 16
MAGMON	MAC	23-Apr-80 13:55		FLNAME - FILE NAME AND CONTROL INFO INPUT                                          SEQ 0044

   549					;*PERIOD - STORE FILE NAME, GO PROCESS EXTENSION
   550
   551	020446	202 07 0 00 000010 	PERIOD:	MOVEM	NAM,NAM1		;SAVE FILE NAME
   552	020447	254 00 0 00 020412 		JRST	FLNAME+4		;PROCESS EXTENTION
   553
   554					;*FLNAM2 - PROCESS DIGITS
   555
   556	020450	200 13 0 00 000000 	FLNAM2:	MOVE	DIGITA,0
   557	020451	242 13 0 00 000041 		LSH	DIGITA,^D33
   558	020452	246 12 0 00 000003 		LSHC	DIGIT,3			;ASSEMBLE DIGITS
   559	020453	254 00 0 00 020414 		JRST	FLNMLP
   560
   561					;*TTAB - FIELD SEPARATOR, STORE PREVIOUS FIELD
   562
   563	020454	202 14 0 00 000015 	TTAB:	MOVEM	DIGIT1,DIGIT2
   564	020455	202 12 0 00 000014 		MOVEM	DIGIT,DIGIT1
   565	020456	403 06 0 00 000012 		SETZB	LET,DIGIT
   566	020457	254 00 0 00 020413 		JRST	FLNMLP-1
   567
   568					;*MINUS - SET SPECIAL USER MODE
   569
   570	020460	476 00 0 00 020012 	MINUS:	SETOM	SUSERF			;MINUS, SET SPECIAL USER FLAG
   571	020461	254 00 0 00 020411 		JRST	FLNAME+3
   572
   573					;*SCSET - SEMICOLON, REST IS COMMENT
   574
   575	020462	476 00 0 00 024776 	SCSET:	SETOM	SCFLAG
   576	020463	254 00 0 00 020414 		JRST	FLNMLP
   577
   578					;*ZEROAC - ZERO AC'S BEFORE STARTING PROGRAM
   579
   580	020464	205 16 0 00 777762 	ZEROAC:	MOVSI	16,-16
   581	020465	402 00 0 16 000000 		SETZM	0(16)
   582	020466	253 16 0 00 020465 		AOBJN	16,.-1
   583	020467	402 00 0 00 000016 		SETZM	16
   584	020470	263 17 0 00 000000 		RTN
   585
   586	020471				RBOUT:	PMSG	<XXX^>^
   587	020471	201 00 0 00 024342 		MOVEI	[SIXBIT\XXX^_\]
   588	020472	260 17 0 00 021402 		PNTMSG^
   589	020473	254 00 0 00 020406 		JRST	FLNAME
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 17
MAGMON	MAC	23-Apr-80 13:55		FLNAME - FILE NAME AND CONTROL INFO INPUT                                          SEQ 0045

   590					;*COMMAND LIST FORMAT
   591					;*	NAME
   592					;*	EXT,,ITERATIONS	(BIT 18 SET IF SPEC USER)
   593					;*	PASSES,,SWITCHES
   594
   595					;*CRRTN - CR, STORE COMMAND LIST INFORMATION
   596
   597	020474	402 00 0 00 024776 	CRRTN:	SETZM	SCFLAG
   598	020475	336 00 0 00 000007 		SKIPN	NAM
   599	020476	322 10 0 00 020406 		JUMPE	NAM1,FLNAME		;REPEAT IF JUST CR
   600	020477	336 00 0 00 000010 		SKIPN	NAM1			;NAME ONLY ?
   601	020500	250 07 0 00 000010 		EXCH	NAM,NAM1		;YES
   602	020501	202 10 0 16 000000 		MOVEM	NAM1,(IP)		;STORE THE FILE NAME
   603	020502	512 07 0 16 000001 		HLLZM	NAM,1(IP)		;AND EXTENSION
   604	020503	620 12 0 00 400000 		TRZ	DIGIT,400000
   605	020504	332 00 0 00 020012 		SKIPE	SUSERF
   606	020505	660 12 0 00 400000 		TRO	DIGIT,400000		;SET SPEC USER BIT
   607	020506	542 12 0 16 000001 		HRRM	DIGIT,1(IP)		;ITERATIONS (IF SPEC USER BIT 18 SET)
   608	020507	504 14 0 00 000015 		HRL	DIGIT1,DIGIT2		;PASSES,,SWITCHES
   609	020510	202 14 0 16 000002 		MOVEM	DIGIT1,2(IP)
   610	020511	271 16 0 00 000003 		ADDI	IP,3			;INCREMENT POINTER
   611	020512	402 00 0 16 000000 	CRRTN1:	SETZM	(IP)			;CLEAR LAST WORD
   612	020513	301 16 0 00 027020 		CAIL	IP,HELP			;OVERWITTEN HELP MESSAGE ?
   613	020514	476 00 0 00 024654 		SETOM	HLPCLR			;YES, NO MORE HELP AVAILABLE
   614	020515	305 16 0 00 027770 		CAIGE	IP,INLEND
   615	020516	263 17 0 00 000000 		RTN
   616
   617	020517				FULL:	PMSG	<^CMDLST TOO LONG>^
   618	020517	201 00 0 00 024343 		MOVEI	[SIXBIT\^CMDLST TOO LONG_\]
   619	020520	260 17 0 00 021402 		PNTMSG^
   620	020521	254 00 0 00 020000 		JRST	START
   621
   622	020522				EXNOE:	PMSG	<^USER ONLY>^
   623	020522	201 00 0 00 024346 		MOVEI	[SIXBIT\^USER ONLY_\]
   624	020523	260 17 0 00 021402 		PNTMSG^
   625	020524	254 00 0 00 020527 		JRST	EXBAD
   626
   627	020525				EXNOU:	PMSG	<^EXEC ONLY>^
   628	020525	201 00 0 00 024350 		MOVEI	[SIXBIT\^EXEC ONLY_\]
   629	020526	260 17 0 00 021402 		PNTMSG^
   630
   631	020527	201 00 0 00 000001 	EXBAD:	MOVEI	0,1			;SET CMD LIST PASS COUNT TO INHIBIT
   632	020530	506 00 0 16 000002 		HRLM	0,2(IP)			;FURTHER REQUEST OF THIS PROGRAM
   633						PMSG	<^UNCHAINABLE->^
   634	020531	201 00 0 00 024352 		MOVEI	[SIXBIT\^UNCHAINABLE-_\]
   635	020532	260 17 0 00 021402 		PNTMSG^
   636	020533	260 17 0 00 020313 		GO	NAMPNT			;INCORRECT FORMAT
   637	020534	254 00 0 00 020632 		JRST	RET
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 18
MAGMON	MAC	23-Apr-80 13:55		EXECUTE THE INPUT COMMAND LIST                                                     SEQ 0046

   638					SUBTTL	EXECUTE THE INPUT COMMAND LIST
   639
   640					;*EX - INITIALIZATION
   641
   642	020535	402 00 0 00 020013 	EX:	SETZM	PASS
   643	020536	260 17 0 00 021543 		GO	CRLF1
   644	020537	332 00 0 00 020006 		SKIPE	USER
   645	020540	260 17 0 00 021733 		GO	LHSWS			;GET LH CONTROL SWITCHES
   646	020541	402 00 0 00 025000 	EX5:	SETZM	RUNCTL
   647	020542	201 16 0 00 027001 		MOVEI	IP,INLIST		;INIT LIST POINTER
   648	020543	350 00 0 00 020013 		AOS	PASS
   649
   650					;*EX1 - START PASS
   651
   652	020544	202 16 0 00 024777 	EX1:	MOVEM	IP,SAVEIP
   653	020545	402 00 0 00 020012 		SETZM	SUSERF
   654	020546	336 00 0 16 000000 		SKIPN	(IP)
   655	020547	254 00 0 00 020650 		JRST	EX4			;NO PROGRAMS TO RUN
   656	020550	554 01 0 16 000002 		HLRZ	1,2(IP)			;GET PASSES TO RUN
   657	020551	322 01 0 00 020554 		JUMPE	1,.+3			;0, RUN ALWAYS
   658	020552	315 01 0 00 020013 		CAMGE	1,PASS			;RUN FOR REQUESTED PASSES
   659	020553	254 00 0 00 020632 		JRST	RET
   660	020554	200 00 0 16 000001 		MOVE	1(IP)			;PROG RUN IN SPECIAL
   661	020555	602 00 0 00 400000 		TRNE	400000
   662	020556	476 00 0 00 020012 		SETOM	SUSERF			;USER MODE ?
   663
   664					;*EX2 - PRINT NAME AND LOAD PROGRAM
   665
   666	020557	260 17 0 00 022017 	EX2:	SWITCH				;READ SWITCHES
   667	020560	607 00 0 00 000004 		TLNN	0,CHAIN			;INHIBIT TITLE PRINT ?
   668	020561	260 17 0 00 020313 		GO	NAMPNT
   669	020562	260 17 0 00 022327 		GO	DIAGLD-2		;GET THE PROGRAM
   670	020563	254 00 0 00 020632 		JRST	RET			;PROGRAM NOT FOUND
   671
   672					;*EX3 - SETUP PROGRAM OPERATION PARAMETERS
   673
   674	020564	200 16 0 00 024777 	EX3:	MOVE	IP,SAVEIP
   675	020565	550 01 0 16 000001 		HRRZ	1,1(IP)			;GET THE ITERATION COUNT
   676	020566	620 01 0 00 400000 		TRZ	1,400000		;CLEAR SPEC USER, IF SET
   677	020567	260 17 0 00 022017 		SWITCH				;READ SWITCHES
   678	020570	607 00 0 00 000400 		TLNN	0,RELIAB		;RELIABILITY MODE ?
   679	020571	242 01 0 00 777772 		LSH	1,-6			;NO, 100(8):1 REDUCTION
   680	020572	336 00 0 00 000001 		SKIPN	1
   681	020573	271 01 0 00 000001 		ADDI	1,1			;ALWAYS ALLOW 1 ITERATION
   682	020574	202 01 0 00 020005 		MOVEM	1,ITERAT
   683	020575	210 00 0 00 020013 		MOVN	PASS
   684	020576	504 00 0 16 000002 		HRL	2(IP)			;SETUP MONITR CONTROL
   685	020577	200 01 0 00 030002 		MOVE	1,30002
   686	020600	312 01 0 00 024355 		CAME	1,[JRST	@27774]
   687	020601	254 00 0 00 020527 		JRST	EXBAD			;INCORRECT FORMAT
   688	020602	332 00 0 00 020006 		SKIPE	USER			;IN USER MODE ?
   689	020603	254 00 0 00 020607 		JRST	EXUSR			;YES
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 19
MAGMON	MAC	23-Apr-80 13:55		EXECUTE THE INPUT COMMAND LIST                                                     SEQ 0047

   690	020604	332 00 0 00 030031 	EXEXEC:	SKIPE	$EMODE			;EXEC, THIS PROG RUN IN EXEC ?
   691	020605	254 00 0 00 020612 		JRST	EXNEW			;YES
   692	020606	254 00 0 00 020522 		JRST	EXNOE			;NO
   693	020607	332 00 0 00 030032 	EXUSR:	SKIPE	$UMODE			;USER, THIS PROGRAM RUN IN USER ?
   694	020610	254 00 0 00 020612 		JRST	EXNEW			;YES
   695	020611	254 00 0 00 020525 		JRST	EXNOU			;NO
   696
   697	020612	476 00 0 00 025000 	EXNEW:	SETOM	RUNCTL
   698	020613	206 00 0 00 030043 		MOVSM	MONCTL			;LH = -PASS COUNT, RH = RH SWITCHES
   699	020614	200 00 0 00 020015 		MOVE	0,RANBAS		;GENERATE PROG RANDOM BASE NUMBER
   700	020615	270 00 0 00 024356 		ADD	0,[165742335216]
   701	020616	241 00 0 00 777777 		ROT	0,-1
   702	020617	447 00 0 00 020015 		EQVB	0,RANBAS
   703	020620	202 00 0 00 030022 		MOVEM	0,RANDBS		;PUT IN PROG DATA AREA
   704
   705					;*RERUN1 - DISPATCH TO EXPANDED SETUP
   706
   707	020621	254 00 0 00 021033 	RERUN1:	JRST	XPNRUN
   708
   709					;*RUN - PROGRAM RUN, CLEAR PROCESSOR FOR NEXT
   710
   711	020622	332 00 0 00 020006 	RUN:	SKIPE	USER
   712	020623	254 00 0 00 020626 		JRST	.+3
   713	020624	7 004 20 0 00 010000 		CONO	PI,PICLR
   714	020625	7 000 20 0 00 200000 		CONO	APR,IOCLR
   715	020626	200 17 0 00 024310 		MOVE	P,[-40,,PLIST]
   716	020627	200 16 0 00 024777 		MOVE	IP,SAVEIP
   717	020630	332 00 0 00 020010 		SKIPE	KLFLG			;CHECK IF KL10
   718	020631	260 17 0 00 022031 		GO	DTEINT			;CLEAR DTE
   719
   720					;*RET - ANY MORE PROGRAMS ON COMMAND LIST
   721
   722	020632	271 16 0 00 000003 	RET:	ADDI	IP,3			;INCREMENT POINTER TO NEXT COMMAND
   723	020633	332 00 0 16 000000 		SKIPE	(IP)
   724	020634	254 00 0 00 020544 		JRST	EX1			;RUN NEXT PROGRAM
   725	020635	336 00 0 00 025000 		SKIPN	RUNCTL			;ANY PROGRAMS RUN THIS PASS ?
   726	020636	254 00 0 00 020650 		JRST	EX4			;NO
   727	020637	260 17 0 00 021543 		GO	CRLF1			;PRINT A CARRIAGE RETURN AND LINE FEED
   728	020640	200 01 0 00 024715 		MOVE	A,PGNAME		;GET PROGRAM NAME
   729	020641	260 17 0 00 020323 		GO	SIXBP			;PRINT IT
   730						PMSG	< PASS >^
   731	020642	201 00 0 00 024357 		MOVEI	[SIXBIT\ PASS _\]
   732	020643	260 17 0 00 021402 		PNTMSG^
   733	020644	200 00 0 00 020013 		MOVE	PASS			;PRINT PASS COUNTER
   734	020645	260 17 0 00 021460 		GO	PNTDEC
   735	020646	260 17 0 00 021543 		GO	CRLF1
   736	020647	254 00 0 00 020541 		JRST	EX5
   737
   738					;*EX4 - ALL FINISHED
   739
   740	020650				EX4:	PMSG	<^CMD'S REQUIRED>^
   741	020650	201 00 0 00 024361 		MOVEI	[SIXBIT\^CMD'S REQUIRED_\]
   742	020651	260 17 0 00 021402 		PNTMSG^
   743	020652	254 00 0 00 020021 		JRST	SELECT
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 20
MAGMON	MAC	23-Apr-80 13:55		EXPANDED COMMAND FORMAT SETUP                                                      SEQ 0048

   744					SUBTTL	EXPANDED COMMAND FORMAT SETUP
   745
   746					;*CXPND - EXPANDED ALLOWED
   747
   748	020653	332 00 0 00 020006 	CXPND:	SKIPE	USER
   749	020654	263 17 0 00 000000 		RTN				;NO EXPANDED FEATURES IN USER MODE
   750	020655	336 00 0 00 020010 		SKIPN	KLFLG
   751	020656	332 00 0 00 020011 		SKIPE	KAIFLG
   752	020657	254 00 0 00 020661 		JRST	CXPND1			;EXEC KL10 OR KI10
   753	020660	263 17 0 00 000000 		RTN				;NO FEATURES FOR KA10
   754
   755	020661	260 17 0 00 022017 	CXPND1:	SWITCH
   756	020662	606 00 0 00 400000 		TRNN	XPAND			;ALLOW EXPANDED FEATURES ?
   757	020663	263 17 0 00 000000 		RTN				;NO
   758
   759					;*STRD2 - CLOCK MARGINS
   760
   761	020664	332 00 0 00 020010 	STRD2:	SKIPE	KLFLG
   762	020665	254 00 0 00 020675 		JRST	STRD3
   763						PMSG	<^Y FOR CLOCK MARGINS - >^
   764	020666	201 00 0 00 024364 		MOVEI	[SIXBIT\^Y FOR CLOCK MARGINS - _\]
   765	020667	260 17 0 00 021402 		PNTMSG^
   766	020670	260 17 0 00 020212 		GO	TT2CHR
   767	020671	254 00 0 00 020675 		JRST	STRD3			;CR, NO CLOCK MARGINS
   768	020672	306 00 0 00 000131 		CAIN	"Y"
   769	020673	477 00 0 00 024766 		SETOB	0,CLKFLG		;IF Y SET FLAG
   770	020674	325 00 0 00 020666 		JUMPGE	0,STRD2+2		;OTHER IS GOOF
   771
   772					;*STRD3 - SPECIAL USER MODE
   773
   774	020675				STRD3:	PMSG	<^Y OR A FOR SPECIAL USER MODE - >^
   775	020675	201 00 0 00 024370 		MOVEI	[SIXBIT\^Y OR A FOR SPECIAL USER MODE - _\]
   776	020676	260 17 0 00 021402 		PNTMSG^
   777	020677	260 17 0 00 020212 		GO	TT2CHR
   778	020700	254 00 0 00 020706 		JRST	STRD4			;CR, NO SPECIAL USER
   779	020701	306 00 0 00 000131 		CAIN	"Y"
   780	020702	477 00 0 00 024767 		SETOB	0,USRFLG		;IF Y SET FLAG
   781	020703	306 00 0 00 000101 		CAIN	"A"			;A, USER AFTER 1ST PASS
   782	020704	254 00 0 00 020724 		JRST	STRD3A
   783	020705	325 00 0 00 020675 		JUMPGE	0,STRD3			;OTHER IS GOOF
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 21
MAGMON	MAC	23-Apr-80 13:55		EXPANDED COMMAND FORMAT SETUP                                                      SEQ 0049

   784					;*STRD4 - CONCEALED, PUBLIC OR ALTERNATE
   785
   786	020706	336 00 0 00 024767 	STRD4:	SKIPN	USRFLG
   787	020707	254 00 0 00 020730 		JRST	STRD5
   788						PMSG	<^C=CONCEALED,P=PUBLIC,A=ALTERNATE->^
   789	020710	201 00 0 00 024376 		MOVEI	[SIXBIT\^C=CONCEALED,P=PUBLIC,A=ALTERNATE-_\]
   790	020711	260 17 0 00 021402 		PNTMSG^
   791	020712	260 17 0 00 020212 		GO	TT2CHR
   792	020713	254 00 0 00 020710 		JRST	STRD4+2			;CR ONLY, ERROR
   793	020714	306 00 0 00 000103 		CAIN	"C"
   794	020715	477 00 0 00 024770 		SETOB	0,CNSFLG		;IF C SET FLAG
   795	020716	306 00 0 00 000101 		CAIN	"A"			;A, ALTERNATE PUBLIC
   796	020717	254 00 0 00 020726 		JRST	STRD4A			;& CONCEAL
   797	020720	306 00 0 00 000120 		CAIN	"P"
   798	020721	476 00 0 00 000000 		SETOM	0			;P, RUN PUBLIC
   799	020722	325 00 0 00 020710 		JUMPGE	0,STRD4+2		;OTHER IS GOOF
   800	020723	254 00 0 00 020730 		JRST	STRD5
   801
   802	020724	202 00 0 00 024767 	STRD3A:	MOVEM	0,USRFLG		;USRFLG + ='S
   803	020725	254 00 0 00 020706 		JRST	STRD4			;SPECIAL USER AFTER 1ST PASS
   804
   805	020726	202 00 0 00 024770 	STRD4A:	MOVEM	0,CNSFLG		;CNSFLG + ='S
   806	020727	254 00 0 00 020730 		JRST	STRD5			;ALTERNATE PUBLIC & CONCEAL
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 22
MAGMON	MAC	23-Apr-80 13:55		EXPANDED COMMAND FORMAT SETUP                                                      SEQ 0050

   807					;*STRD5 - VOLTAGE MARGINS
   808
   809	020730	332 00 0 00 020010 	STRD5:	SKIPE	KLFLG
   810	020731	254 00 0 00 021001 		JRST	STRD7
   811	020732	403 01 0 00 000002 		SETZB	1,2
   812						PMSG	<^L,S,I,R FOR VOLTAGE MARGINS->^
   813	020733	201 00 0 00 024404 		MOVEI	[SIXBIT\^L,S,I,R FOR VOLTAGE MARGINS-_\]
   814	020734	260 17 0 00 021402 		PNTMSG^
   815	020735	260 17 0 00 020212 		GO	TT2CHR			;TELETYPE INPUT
   816	020736	254 00 0 00 020747 		JRST	STRD5C			;CR, NO MARGINS
   817	020737	306 00 0 00 000114 		CAIN	"L"
   818	020740	660 01 0 00 000001 		TRO	1,1			;L-LIMITS
   819	020741	306 00 0 00 000123 		CAIN	"S"
   820	020742	660 01 0 00 000002 		TRO	1,2			;S-SWEPT
   821	020743	306 00 0 00 000111 		CAIN	"I"
   822	020744	660 01 0 00 000004 		TRO	1,4			;I-SPECIFY INCREMENT
   823	020745	306 00 0 00 000122 		CAIN	"R"
   824	020746	660 01 0 00 000010 		TRO	1,10			;R-SPECIFY RACK
   825	020747	202 01 0 00 024665 	STRD5C:	MOVEM	1,MGNFLG#
   826	020750	201 02 0 00 000014 		MOVEI	2,VOLTLM		;L- 31+-12, 4.75 TO 5.25V
   827	020751	606 01 0 00 000001 		TRNN	1,1
   828	020752	201 02 0 00 000001 		MOVEI	2,1			;V- MARGIN INCREMENT = 1
   829	020753	202 02 0 00 024666 	STRD5A:	MOVEM	2,MGNINC#
   830	020754	626 01 0 00 000004 		TRZN	1,4			;SPECIFY INCREMENT ?
   831	020755	254 00 0 00 020767 		JRST	STRD6			;NO
   832						PMSG	<^MARGIN INCREMENT(1 TO 17)->^
   833	020756	201 00 0 00 024411 		MOVEI	[SIXBIT\^MARGIN INCREMENT(1 TO 17)-_\]
   834	020757	260 17 0 00 021402 		PNTMSG^
   835	020760	260 17 0 00 021741 		TTIOCT
   836	020761	254 00 0 00 020756 		JRST	STRD5A+3
   837	020762	322 12 0 00 020756 		JUMPE	DIGIT,STRD5A+3		;INPUT COMPLETE
   838	020763	301 00 0 00 000020 		CAIL	0,20			;LIMIT TO 1-20
   839	020764	254 00 0 00 020756 		JRST	STRD5A+3
   840	020765	200 02 0 00 000000 		MOVE	2,0
   841	020766	254 00 0 00 020753 		JRST	STRD5A			;SAVE
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 23
MAGMON	MAC	23-Apr-80 13:55		EXPANDED COMMAND FORMAT SETUP                                                      SEQ 0051

   842	020767	606 01 0 00 000010 	STRD6:	TRNN	1,10			;SPECIFY RACK ?
   843	020770	254 00 0 00 021001 		JRST	STRD7			;NO
   844						PMSG	<^RACK(0 TO 37)->^
   845	020771	201 00 0 00 024416 		MOVEI	[SIXBIT\^RACK(0 TO 37)-_\]
   846	020772	260 17 0 00 021402 		PNTMSG^
   847	020773	260 17 0 00 021741 		TTIOCT
   848	020774	254 00 0 00 020771 		JRST	STRD6+2
   849	020775	301 00 0 00 000040 		CAIL	0,40			;LIMIT TO 0-37
   850	020776	254 00 0 00 020771 		JRST	STRD6+2
   851	020777	202 00 0 00 024774 		MOVEM	0,MGNADR
   852	021000	476 00 0 00 024775 		SETOM	RACKF			;SET RACK SELECTED FLAG
   853	021001	336 00 0 00 024665 	STRD7:	SKIPN	MGNFLG			;MARGINS ?
   854	021002	254 00 0 00 021011 		JRST	STRD8			;NO
   855	021003	201 00 0 00 021012 		MOVEI	MGNMSG
   856	021004	260 17 0 00 021402 		PNTMSG
   857	021005	260 17 0 00 021647 		TTICHR
   858	021006	7 000 24 0 00 000000 		CONI	APR,0			;READ STATUS
   859	021007	607 00 0 00 002000 		TLNN	0,IMGINM
   860	021010	254 00 0 00 021001 		JRST	STRD7			;MARGIN ENABLE NOT SET !
   861
   862	021011	263 17 0 00 000000 	STRD8:	RTN
   863
   864	021012	76 63 45 64 00 55 	MGNMSG:	SIXBIT\^SET MARGIN SELECT OFF^SET MARGIN ENABLE^TYPE CR WHEN READY^_\
   865	021013	41 62 47 51 56 00 
   866	021014	63 45 54 45 43 64 
   867	021015	00 57 46 46 76 63 
   868	021016	45 64 00 55 41 62 
   869	021017	47 51 56 00 45 56 
   870	021020	41 42 54 45 76 64 
   871	021021	71 60 45 00 43 62 
   872	021022	00 67 50 45 56 00 
   873	021023	62 45 41 44 71 76 
   874	021024	77 00 00 00 00 00 
   875
   876					;*MUUOER & USRERR - USER ERROR REPORTING
   877
   878	021025	201 00 0 00 024421 	MUUOER:	MOVEI	MSG	<^MUUO ERROR^>^[SIXBIT\^MUUO ERROR^_\]^
   879	021026	254 00 0 00 021031 		JRST	.+3
   880
   881	021027	000000	000000		USRERR:	0
   882	021030	201 00 0 00 024424 		MOVEI	MSG	<^USER TRAP ERROR^>^[SIXBIT\^USER TRAP ERROR^_\]^
   883	021031	260 17 0 00 021402 		PNTMSG
   884	021032	254 04 0 00 020000 		HALT	START
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 24
MAGMON	MAC	23-Apr-80 13:55		SPECIAL RUN SEQUENCING                                                             SEQ 0052

   885					SUBTTL	SPECIAL RUN SEQUENCING
   886
   887					;*XPNRUN - DETERMINE AND SETUP FOR SPECIAL OPERATIONS
   888
   889	021033	402 00 0 00 024773 	XPNRUN:	SETZM	MGNWRD
   890	021034	402 00 0 00 024772 		SETZM	MGNCNT
   891	021035	336 00 0 00 024775 		SKIPN	RACKF
   892	021036	402 00 0 00 024774 		SETZM	MGNADR
   893	021037	402 00 0 00 024670 		SETZM	MRGNF#
   894	021040	200 00 0 00 020005 		MOVE	ITERAT
   895	021041	202 00 0 00 024667 		MOVEM	MGNITR#
   896	021042	202 00 0 00 024713 		MOVEM	USRITR#
   897	021043	332 00 0 00 024665 		SKIPE	MGNFLG			;VOLTAGE MARGIN ?
   898	021044	254 00 0 00 021205 		JRST	MRGNCK			;YES
   899	021045	332 00 0 00 020006 	XPNRN1:	SKIPE	USER
   900	021046	254 00 0 00 021061 		JRST	XPNRN2			;USER MODE
   901	021047	200 00 0 00 024773 		MOVE	0,MGNWRD
   902	021050	332 00 0 00 024766 		SKIPE	CLKFLG			;CLOCK MARGINS ?
   903	021051	660 00 0 00 004000 		TRO	0,ISPDON		;YES, SET CLOCK MARGIN BIT
   904	021052	202 00 0 00 030055 		MOVEM	0,MARGIN
   905	021053	336 00 0 00 020010 		SKIPN	KLFLG
   906	021054	7 000 14 0 00 030055 		DATAO	APR,MARGIN		;OUTPUT TO MARGIN SYSTEM
   907	021055	332 00 0 00 024670 		SKIPE	MRGNF			;MARGINS ?
   908	021056	7 004 14 0 00 024667 		DATAO	PI,MGNITR		;YES, DISPLAY MARGIN ITERATIONS
   909	021057	332 00 0 00 024767 		SKIPE	USRFLG
   910	021060	254 00 0 00 021070 		JRST	USRRUN			;SPECIAL USER MODE OPERATION
   911	021061	200 00 0 00 020005 	XPNRN2:	MOVE	0,ITERAT
   912	021062	202 00 0 00 030024 		MOVEM	0,ITRCNT
   913	021063	201 00 0 00 021160 		MOVEI	USSR2
   914	021064	202 00 0 00 030012 		MOVEM	RETURN
   915	021065	260 17 0 00 020464 	XPNRN3:	GO	ZEROAC
   916	021066	402 00 0 00 000017 		SETZM	17
   917	021067	254 00 0 00 030002 		JRST	DIAGMN			;GO TO PROGRAM
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 25
MAGMON	MAC	23-Apr-80 13:55		SPECIAL RUN SEQUENCING                                                             SEQ 0053

   918					;*USRRUN - SPECIAL USER MODE RUN SEQUENCING
   919
   920	021070	336 00 0 00 020012 	USRRUN:	SKIPN	SUSERF			;ALLOW SPECIAL USER ?
   921	021071	254 00 0 00 021061 		JRST	XPNRN2			;NO, RUN IN EXEC
   922	021072	332 00 0 00 020010 		SKIPE	KLFLG
   923	021073	254 00 0 00 021076 		JRST	.+3			;KL10
   924	021074	336 00 0 00 024670 		SKIPN	MRGNF			;MARGINNING ?
   925	021075	7 004 14 0 00 024713 		DATAO	PI,USRITR		;NO, DISPLAY USER ITERATIONS
   926	021076	201 00 0 00 000001 		MOVEI	1
   927	021077	202 00 0 00 020005 		MOVEM	ITERAT			;RETURN TO DIAMON AFTER EACH PASS
   928	021100	337 00 0 00 024767 		SKIPG	USRFLG			;USRFLG - ='S RUN ALL
   929	021101	254 00 0 00 021105 		JRST	.+4			;PASSES
   930	021102	200 02 0 00 020013 		MOVE	2,PASS			;USRFLG + AND PASS 1 ='S
   931	021103	306 02 0 00 000001 		CAIN	2,1			;RUN IN EXEC MODE
   932	021104	254 00 0 00 021061 		JRST	XPNRN2
   933	021105	200 00 0 00 020005 		MOVE	ITERAT
   934	021106	202 00 0 00 030024 		MOVEM	ITRCNT
   935	021107	402 00 0 00 030042 		SETZM	MONFLG			;CLEAR MONFLG
   936	021110	205 01 0 00 777400 		MOVSI	1,-400			;SETUP USER PAGE MAP
   937	021111	200 00 0 00 024427 		MOVE	0,[757776,,757777]
   938	021112	332 00 0 00 024770 		SKIPE	CNSFLG			;IF CONCEAL, DON'T SET PUBLIC
   939	021113	200 00 0 00 024430 		MOVE	0,[557776,,557777]
   940	021114	337 00 0 00 024770 		SKIPG	CNSFLG			;CNSFLG + ='S
   941	021115	254 00 0 00 021121 		JRST	.+4			;ALTERNATE PUBLIC & CONCEALED
   942	021116	200 02 0 00 020013 		MOVE	2,PASS
   943	021117	602 02 0 00 000001 		TRNE	2,1			;ODD/EVEN PASS ?
   944	021120	200 00 0 00 024427 		MOVE	0,[757776,,757777]
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 26
MAGMON	MAC	23-Apr-80 13:55		SPECIAL RUN SEQUENCING                                                             SEQ 0054

   945					;*SETUP PAGE MAP AND TRAPS
   946
   947	021121	270 00 0 00 024431 		ADD	0,[2,,2]
   948	021122	202 00 0 01 017000 		MOVEM	0,UPMP(1)
   949	021123	253 01 0 00 021121 		AOBJN	1,.-2
   950	021124	200 00 0 00 024432 		MOVE	0,[UPMP+160,,UPMP+400]	;SET EPPM SAME AS USER 340-377
   951	021125	251 00 0 00 017417 		BLT	0,UPMP+417
   952	021126	200 00 0 00 024433 		MOVE	0,[JSR USRERR]
   953	021127	202 00 0 00 017420 		MOVEM	0,UPMP+420
   954	021130	202 00 0 00 017422 		MOVEM	0,UPMP+422
   955	021131	202 00 0 00 017423 		MOVEM	0,UPMP+423
   956	021132	205 00 0 00 255000 		MOVSI	0,(JFCL)
   957	021133	202 00 0 00 017421 		MOVEM	0,UPMP+421
   958	021134	201 00 0 00 021025 		MOVEI	0,MUUOER
   959	021135	202 00 0 00 017430 		MOVEM	0,UPMP+430
   960	021136	202 00 0 00 017431 		MOVEM	0,UPMP+431
   961	021137	202 00 0 00 017432 		MOVEM	0,UPMP+432
   962	021140	202 00 0 00 017433 		MOVEM	0,UPMP+433
   963	021141	201 00 0 00 021272 		MOVEI	0,MUUOH			;SETUP FOR HANDLER
   964	021142	202 00 0 00 017434 		MOVEM	0,UPMP+434
   965	021143	202 00 0 00 017435 		MOVEM	0,UPMP+435
   966	021144	202 00 0 00 017436 		MOVEM	0,UPMP+436
   967	021145	202 00 0 00 017437 		MOVEM	0,UPMP+437
   968	021146	332 00 0 00 020010 		SKIPE	KLFLG
   969	021147	260 17 0 00 021172 		GO	PAGKL			;KL10
   970	021150	7 010 14 0 00 024434 		DATAO	PAG,[LDUSRB!USRCMP!<UPMP_-^D9>,,LDEXCB!TRPENB]
   971	021151	254 02 1 00 021152 		JRSTF	@.+1
   972	021152	010000	021153			USERF,,.+1			;ENTER USER MODE
   973	021153	254 01 0 00 021154 		JRST	1,.+1			;ENTRY
   974	021154	201 00 0 00 021157 		MOVEI	USSR1
   975	021155	202 00 0 00 030012 		MOVEM	RETURN
   976	021156	254 00 0 00 021065 		JRST	XPNRN3			;GO TO PROGRAM
   977
   978					;*USSR1 - PROGRAM COMPLETION CONTROL
   979
   980	021157	077000	000000		USSR1:	77B8				;MUUO 77, RETURN TO EXEC MODE
   981	021160	200 17 0 00 024310 	USSR2:	MOVE	P,[-40,,PLIST]		;RESTORE STACK
   982	021161	332 00 0 00 020006 		SKIPE	USER
   983	021162	254 00 0 00 020001 		JRST	RESTRT			;USER MODE, COMPLETED
   984	021163	332 00 0 00 020010 		SKIPE	KLFLG
   985	021164	254 00 0 00 021177 		JRST	USSR3
   986	021165	7 000 14 0 00 024435 		DATAO	APR,[IMGNOF,,ISPDOF]	;CLEAR CLOCK & VOLTAGE MARGINS
   987	021166	7 010 14 0 00 024436 		DATAO	PAG,[LDUSRB,,LDEXCB]	;CLEAR BASE REGISTER
   988	021167	336 00 0 00 024670 		SKIPN	MRGNF			;MARGINNING ?
   989	021170	254 00 0 00 021201 		JRST	USSR4			;NO, CHECK SPECIAL USER
   990	021171	254 00 0 00 021215 		JRST	MRGIN			;YES, SETUP MARGINS
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 27
MAGMON	MAC	23-Apr-80 13:55		SPECIAL RUN SEQUENCING                                                             SEQ 0055

   991	021172	201 00 0 00 021030 	PAGKL:	MOVEI	0,USRERR+1
   992	021173	202 00 0 00 017427 		MOVEM	0,UPMP+427
   993	021174	7 010 20 0 00 020000 		CONO	PAG,TRPENB
   994	021175	7 010 14 0 00 024437 		DATAO	PAG,[LLDUSB,,400000!<UPMP_-^D9>]
   995	021176	254 00 0 00 020377 		JRST	CPOPJ1
   996
   997	021177	7 010 20 0 00 020000 	USSR3:	CONO	PAG,TRPENB
   998	021200	7 010 14 0 00 024440 		DATAO	PAG,[LLDUSB,,400000]
   999
  1000	021201	332 00 0 00 020012 	USSR4:	SKIPE	SUSERF			;RUNNING SPECIAL USER ?
  1001	021202	376 00 0 00 024713 		SOSN	USRITR			;YES, FINISHED USER ITERATIONS ?
  1002	021203	254 00 0 00 020001 		JRST	RESTRT			;FINISHED ALL ITERATIONS
  1003	021204	254 00 0 00 021045 		JRST	XPNRN1			;NOT FINISHED, CONTINUE
  1004
  1005	021205	7 000 24 0 00 000000 	MRGNCK:	CONI	APR,0
  1006	021206	603 00 0 00 002000 		TLNE	0,IMGINM		;MARGIN ENABLE SET ?
  1007	021207	254 00 0 00 021215 		JRST	MRGIN			;YES, GO MARGIN
  1008	021210	201 00 0 00 024441 		MOVEI	MSG <^'MARGIN ENABLE' NOT SET ?^>^[SIXBIT\^'MARGIN ENABLE' NOT SET ?^_\]^
  1009	021211	336 00 0 00 024771 		SKIPN	MGNONC			;MESSAGE BEEN PRINTED ?
  1010	021212	260 17 0 00 021402 		PNTMSG
  1011	021213	476 00 0 00 024771 		SETOM	MGNONC
  1012	021214	254 00 0 00 021045 		JRST	XPNRN1
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 28
MAGMON	MAC	23-Apr-80 13:55		VOLTAGE MARGINNING ROUTINE                                                         SEQ 0056

  1013					SUBTTL	VOLTAGE MARGINNING ROUTINE
  1014
  1015	021215	476 00 0 00 024670 	MRGIN:	SETOM	MRGNF
  1016	021216	200 01 0 00 024773 		MOVE	1,MGNWRD		;GET PREVIOUS VALUE
  1017	021217	405 01 0 00 000077 		ANDI	1,77
  1018	021220	200 02 0 00 024666 		MOVE	2,MGNINC
  1019	021221	200 00 0 00 024772 		MOVE	MGNCNT
  1020	021222	405 00 0 00 000003 		ANDI	3
  1021	021223	326 00 0 00 021241 		JUMPN	0,VCNT1-2
  1022	021224	201 00 0 00 000031 	VCNT0:	MOVEI	0,VOLT5			;MGNCNT=0, INITIALIZE
  1023	021225	504 00 0 00 024774 		HRL	0,MGNADR		;APR DATAO WORD
  1024	021226	661 00 0 00 001000 		TLO	0,IMGNON
  1025	021227	202 00 0 00 024773 		MOVEM	0,MGNWRD
  1026	021230	200 00 0 00 024774 		MOVE	0,MGNADR
  1027	021231	336 00 0 00 024775 		SKIPN	RACKF			;RACK SPECIFIED ?
  1028	021232	350 00 0 00 000000 		AOS	0			;NO, INC MARGIN ADDRESS
  1029	021233	405 00 0 00 000037 		ANDI	0,37
  1030	021234	202 00 0 00 024774 		MOVEM	0,MGNADR
  1031	021235	350 00 0 00 024772 		AOS	MGNCNT
  1032	021236	201 00 0 00 000001 		MOVEI	0,1
  1033	021237	202 00 0 00 020005 		MOVEM	ITERAT			;PROG, 1 PASS PER VALUE
  1034	021240	254 00 0 00 021045 		JRST	XPNRN1			;GO RUN
  1035	021241	302 00 0 00 000001 		CAIE	0,1
  1036	021242	254 00 0 00 021252 		JRST	VCNT2-2
  1037	021243	307 01 0 00 000015 	VCNT1:	CAIG	1,VOLT5-VOLTLM		;MGNCNT=1, MARGIN POSITIVE
  1038	021244	254 00 0 00 021250 		JRST	.+4			;COMPLETED SWING !
  1039	021245	210 02 0 00 000002 	MGNGO2:	MOVN	2,2			;NEGATE INCREMENT FOR
  1040	021246	272 02 0 00 024773 		ADDM	2,MGNWRD		;CORRECT VALUE CHANGE
  1041	021247	254 00 0 00 021045 		JRST	XPNRN1
  1042	021250	350 00 0 00 024772 	MGNGO:	AOS	MGNCNT			;CHANGE COUNTER
  1043	021251	254 00 0 00 021215 		JRST	MRGIN
  1044	021252	302 00 0 00 000002 		CAIE	0,2
  1045	021253	254 00 0 00 021260 		JRST	VCNT3
  1046	021254	301 01 0 00 000045 	VCNT2:	CAIL	1,VOLT5+VOLTLM		;MGNCNT=2, MARGIN NEGATIVE
  1047	021255	254 00 0 00 021250 		JRST	MGNGO			;COMPLETED SWING !
  1048	021256	272 02 0 00 024773 		ADDM	2,MGNWRD		;NO, CHANGE MARGIN VALUE
  1049	021257	254 00 0 00 021045 		JRST	XPNRN1			;GO RUN
  1050	021260	302 01 0 00 000031 	VCNT3:	CAIE	1,VOLT5			;MGNCNT=3, BACK TO 5V
  1051	021261	254 00 0 00 021245 		JRST	MGNGO2
  1052	021262	350 00 0 00 024772 	MGNGO1:	AOS	MGNCNT
  1053	021263	332 00 0 00 024775 		SKIPE	RACKF			;ONLY ONE RACK ?
  1054	021264	254 00 0 00 021267 		JRST	.+3			;YES
  1055	021265	332 00 0 00 024774 		SKIPE	MGNADR			;CYCLED ALL RACKS ?
  1056	021266	254 00 0 00 021215 		JRST	MRGIN			;NO
  1057	021267	376 00 0 00 024667 		SOSN	MGNITR			;YES, COMPLETED ITERATIONS ?
  1058	021270	254 00 0 00 020001 		JRST	RESTRT			;YES, THIS PROGRAM COMPLETED
  1059	021271	254 00 0 00 021215 		JRST	MRGIN			;NO, MAKE ANOTHER MARGIN PASS
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 29
MAGMON	MAC	23-Apr-80 13:55		SPECIAL USER MODE I/O HANDLER                                                      SEQ 0057

  1060					SUBTTL	SPECIAL USER MODE I/O HANDLER
  1061
  1062	021272	202 00 0 00 024643 	MUUOH:	MOVEM	0,ACS0#			;SAVE AC0 AND AC1
  1063	021273	202 01 0 00 024644 		MOVEM	1,ACS1#
  1064	021274	554 01 0 00 017424 		HLRZ	1,UPMP+MUUO		;GET MUUO INSTRUCTION FIELD
  1065	021275	242 01 0 00 777767 		LSH	1,-^D9
  1066	021276	306 01 0 00 000257 		CAIN	1,257
  1067	021277	254 00 0 00 021310 		JRST	EXC			;IF MAP, DO AS MUUO FOR KL10
  1068	021300	200 01 0 00 017424 		MOVE	1,UPMP+MUUO		;GET MUUO
  1069	021301	325 01 0 00 021352 		JUMPGE	1,JRSTX			;A JRST, JEN OR MUUO
  1070	021302	607 01 0 00 077000 		TLNN	1,077000
  1071	021303	254 00 0 00 021335 		JRST	CPI			;AN I/O TO CP OR PI
  1072	021304	607 01 0 00 000200 	CP2:	TLNN	1,200
  1073	021305	254 00 0 00 021342 		JRST	DB			;DATAI, DATAO, OR BLOCK
  1074	021306	603 01 0 00 000040 		TLNE	1,40			;A CONO, CONI, CONSZ, CONSO
  1075	021307	254 00 0 00 021344 		JRST	RL			;CONI
  1076	021310	200 01 0 00 024644 	EXC:	MOVE	1,ACS1			;RESTORE AC1
  1077	021311	256 00 0 00 017424 		XCT	UPMP+MUUO		;EXECUTE
  1078	021312	334 00 0 00 000000 		SKIPA
  1079	021313	350 00 0 00 017425 		AOS	UPMP+MUUOPC		;INC RETURN IF CONSO, CONSZ SKIP
  1080	021314	202 01 0 00 024644 	EXC1:	MOVEM	1,ACS1			;RESAVE AC1
  1081	021315	332 00 0 00 020010 		SKIPE	KLFLG
  1082	021316	254 00 0 00 021330 		JRST	EXC4
  1083	021317	7 010 14 0 00 024434 		DATAO	PAG,[LDUSRB!USRCMP!<UPMP_-^D9>,,LDEXCB!TRPENB]
  1084	021320	200 01 0 00 017425 	EXC5:	MOVE	1,UPMP+MUUOPC		;SETUP RETURN
  1085	021321	661 01 0 00 010000 		TLO	1,USERF
  1086	021322	502 01 0 00 021326 		HLLM	1,EXC2			;SETUP FLAGS
  1087	021323	542 01 0 00 021327 		HRRM	1,EXC3			;SETUP RETURN PC
  1088	021324	200 01 0 00 024644 		MOVE	1,ACS1			;RESTORE AC1
  1089	021325	254 02 1 00 021326 		JRSTF	@.+1			;RESTORE FLAGS, GO TO USER
  1090	021326	000000	021327		EXC2:	0,,.+1
  1091	021327	254 01 0 00 000000 	EXC3:	JRST	1,0			;ENTRY
  1092
  1093	021330	7 010 24 0 00 000001 	EXC4:	CONI	PAG,1
  1094	021331	660 01 0 00 020000 		TRO	1,TRPENB
  1095	021332	7 010 20 0 01 000000 		CONO	PAG,(1)
  1096	021333	7 010 14 0 00 024437 		DATAO	PAG,[LLDUSB,,400000!<UPMP_-^D9>]
  1097	021334	254 00 0 00 021320 		JRST	EXC5
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 30
MAGMON	MAC	23-Apr-80 13:55		SPECIAL USER MODE I/O HANDLER                                                      SEQ 0058

  1098	021335	607 01 0 00 000200 	CPI:	TLNN	1,200			;AN I/O TO CP OR PI SYSTEM
  1099	021336	607 01 0 00 000100 		TLNN	1,100
  1100	021337	607 01 0 00 000140 		TLNN	1,140
  1101	021340	254 00 0 00 021310 		JRST	EXC			;CONO, DATAO, BLOCK
  1102	021341	254 00 0 00 021304 		JRST	CP2
  1103
  1104	021342	667 01 0 00 000040 	DB:	TLON	1,40			;IS IT A BLK I/O ?
  1105	021343	254 00 0 00 021345 		JRST	DB1			;YES
  1106	021344	254 00 0 00 021310 	RL:	JRST	EXC			;NO NEED TO RELOCATE
  1107
  1108	021345	502 01 0 00 017424 	DB1:	HLLM	1,UPMP+MUUO
  1109	021346	7 774 10 0 01 000000 		BLKO	774,(1)			;UPDATE THE POINTER
  1110	021347	334 00 0 00 000000 		SKIPA				;NO SKIP
  1111	021350	350 00 0 00 017425 		AOS	UPMP+MUUOPC		;INC RETURN FOR SKIP
  1112	021351	254 00 0 00 021344 		JRST	RL
  1113
  1114	021352	603 01 0 00 700000 	JRSTX:	TLNE	1,700000
  1115	021353	254 00 0 00 021360 		JRST	JRSTX1
  1116	021354	641 01 0 00 077000 		TLC	1,077000
  1117	021355	643 01 0 00 077000 		TLCE	1,077000
  1118	021356	254 00 0 00 021025 		JRST	MUUOER			;INCORRECT MUUO
  1119	021357	254 00 0 00 021160 		JRST	USSR2			;MUUO 77, RETURN TO DIAG MON
  1120	021360	603 01 0 00 000200 	JRSTX1:	TLNE	1,200
  1121	021361	254 04 1 00 017425 		HALT	@UPMP+MUUOPC		;HALT, POINTING TO ACTUAL HALT
  1122	021362	254 10 0 00 021363 		JRST	10,.+1			;JEN, DISMISS INTERRUPT
  1123	021363	254 00 0 00 021314 		JRST	EXC1
  1124
  1125					;*SAXPN - STANDALONE EXPANDED RUNNING
  1126					;*	  SPECIAL USER AND/OR MARGINS
  1127
  1128	021364	332 00 0 00 020006 	SAXPN:	SKIPE	USER
  1129	021365	254 00 0 00 020021 		JRST	SELECT			;ILLEGAL IN USER MODE
  1130	021366	336 00 0 00 020010 		SKIPN	KLFLG
  1131	021367	332 00 0 00 020011 		SKIPE	KAIFLG
  1132	021370	254 00 0 00 021372 		JRST	.+2
  1133	021371	254 00 0 00 020021 		JRST	SELECT			;ILLEGAL ON KA10
  1134	021372	476 00 0 00 020005 		SETOM	ITERAT			;RUN PROGRAM FOREVER
  1135	021373	260 17 0 00 022017 		SWITCH
  1136	021374	505 00 0 00 777777 		HRLI	-1
  1137	021375	202 00 0 00 030043 		MOVEM	MONCTL			;LH = -PASS CNT, RH = RH SWS
  1138
  1139	021376	260 17 0 00 020664 		GO	STRD2			;SETUP 	EXPANDED FEATURES
  1140
  1141	021377	332 00 0 00 024767 		SKIPE	USRFLG			;IF SPECIAL USER WAS SELECTED
  1142	021400	476 00 0 00 020012 		SETOM	SUSERF			;SET FLAG TO RUN THAT WAY
  1143
  1144	021401	254 00 0 00 021033 		JRST	XPNRUN			;GO RUN PROGRAM
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 31
MAGMON	MAC	23-Apr-80 13:55		MESSAGE PRINTER                                                                    SEQ 0059

  1145					SUBTTL	MESSAGE PRINTER
  1146
  1147					;*PNTMSG - PRINT SIXBIT MESSAGES
  1148
  1149	021402	261 17 0 00 000002 	$PSIX:	PUT	2
  1150	021403	261 17 0 00 000003 		PUT	3
  1151	021404	261 17 0 00 000004 		PUT	4
  1152	021405	550 04 0 00 000000 		HRRZ	4,0			;MESSAGE ADDRESS
  1153
  1154	021406	201 03 0 00 000006 	$PSIX1:	MOVEI	3,6			;6 CHARS PER 6BIT WORD
  1155	021407	200 01 0 04 000000 		MOVE	1,(4)			;GET FIRST/NEXT WORD OF MESSAGE
  1156
  1157	021410	400 02 0 00 000000 	$PSIX2:	SETZ	2,
  1158	021411	245 01 0 00 000006 		ROTC	1,6			;C(AC2)= CHAR TO BE PRINTED
  1159	021412	306 02 0 00 000077 		CAIN	2,77
  1160	021413	254 00 0 00 021431 		JRST	$PSIX5			;"BACKARROW", DONE
  1161	021414	306 02 0 00 000076 		CAIN	2,76
  1162	021415	254 00 0 00 021424 		JRST	$PSIX4			;"UPARROW", CR/LF
  1163	021416	306 02 0 00 000075 		CAIN	2,75
  1164	021417	201 02 0 00 000151 		MOVEI	2,151			;"BRACKET", CHANGE TO TAB
  1165	021420	201 00 0 02 000040 		MOVEI	0,40(2)			;CHANGE TO ASCII
  1166	021421	260 17 0 00 021467 		GO	PRINT			;PRINT CHAR
  1167	021422	366 03 0 00 021410 	$PSIX3:	SOJN	3,$PSIX2		;PRINTED ALL CHARS FROM THIS WORD ?
  1168	021423	344 04 0 00 021406 		AOJA	4,$PSIX1		;YES, DO NEXT WORD
  1169
  1170	021424	201 00 0 00 000015 	$PSIX4:	MOVEI	15
  1171	021425	260 17 0 00 021467 		GO	PRINT			;PRINT CR
  1172	021426	201 00 0 00 000012 		MOVEI	12
  1173	021427	260 17 0 00 021467 		GO	PRINT			;PRINT LF
  1174	021430	254 00 0 00 021422 		JRST	$PSIX3
  1175
  1176	021431	262 17 0 00 000004 	$PSIX5:	GET	4
  1177	021432	262 17 0 00 000003 		GET	3
  1178	021433	262 17 0 00 000002 		GET	2
  1179	021434	263 17 0 00 000000 		RTN
  1180
  1181					;*PNTAL - PRINT ASCII MESSAGES
  1182
  1183	021435	354 00 0 00 021437 	TOUTA:	AOSA	.+2			;INCREMENT MSG ADDRESS
  1184	021436	542 00 0 00 021437 	TOUT:	HRRM	0,.+1			;C(0) = ADR OF MSG
  1185	021437	200 01 0 00 000000 		MOVE	1,0			;GET CHARACTERS
  1186	021440	660 01 0 00 000001 		TRO	1,1			;SET FLAG BIT
  1187	021441	246 00 0 00 000007 		LSHC	0,7			;CHAR TO 0
  1188	021442	405 00 0 00 000177 		ANDI	177			;MASK
  1189	021443	336 00 0 00 000000 		SKIPN	0			;IF NULL, EXIT
  1190	021444	263 17 0 00 000000 		RTN
  1191	021445	260 17 0 00 021467 		GO	PRINT			;PRINT C(0)
  1192	021446	312 01 0 00 024446 		CAME	1,[400000,,0]
  1193	021447	254 00 0 00 021441 		JRST	TOUT+3			;GET NEXT CHAR IN WORD
  1194	021450	254 00 0 00 021435 		JRST	TOUTA			;GET NEXT WORD
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 32
MAGMON	MAC	23-Apr-80 13:55		MESSAGE PRINTER                                                                    SEQ 0060

  1195					;*PNTOCT - PRINT OCTAL NUMBERS
  1196
  1197	021451	201 02 0 00 000006 	PNTOCT:	MOVEI	2,6			;OCTAL PRINT
  1198	021452	504 01 0 00 000000 		HRL	1,0
  1199	021453	201 00 0 00 000006 		MOVEI	0,6
  1200	021454	246 00 0 00 000003 		LSHC	0,3
  1201	021455	260 17 0 00 021467 		GO	PRINT
  1202	021456	367 02 0 00 021453 		SOJG	2,PNTOCT+2
  1203	021457	263 17 0 00 000000 		RTN
  1204
  1205					;*PNTDEC - PRINT DECIMAL NUMBERS
  1206
  1207	021460	231 00 0 00 000012 	PNTDEC:	IDIVI	0,^D10			;DECIMAL PRINTER
  1208	021461	506 01 0 17 000000 		HRLM	1,(P)
  1209	021462	332 00 0 00 000000 		SKIPE	0
  1210	021463	260 17 0 00 021460 		GO	PNTDEC
  1211	021464	554 00 0 17 000000 		HLRZ	0,(P)
  1212	021465	271 00 0 00 000060 		ADDI	0,"0"
  1213	021466	254 00 0 00 021467 		JRST	PRINT
  1214
  1215					;*PRINT - PRINT AN ASCII CHARACTER
  1216
  1217	021467	350 00 0 00 025001 	PRINT:	AOS	CHRCTR
  1218	021470	202 01 0 00 025003 		MOVEM	1,SAVAC1
  1219	021471	405 00 0 00 000177 		ANDI	177
  1220	021472	202 00 0 00 025002 		MOVEM	0,SAVAC0
  1221	021473	552 00 0 00 000001 		HRRZM	0,1
  1222	021474	640 00 0 00 000200 		TRC	0,200			;COMPUTE CHAR PARITY
  1223	021475	405 01 0 01 777777 		ANDI	1,-1(1)
  1224	021476	326 01 0 00 021474 		JUMPN	1,.-2
  1225	021477	302 00 0 00 000011 		CAIE	11
  1226	021500	254 00 0 00 021510 		JRST	PRINT1			;NOT TAB
  1227	021501	370 00 0 00 025001 		SOS	CHRCTR
  1228	021502	201 00 0 00 000240 		MOVEI	240
  1229	021503	260 17 0 00 021510 		GO	PRINT1
  1230	021504	350 01 0 00 025001 		AOS	1,CHRCTR		;OUTPUT REQUIRED SPACE'S FOR TAB FUNCTION
  1231	021505	602 01 0 00 000007 		TRNE	1,7
  1232	021506	254 00 0 00 021502 		JRST	.-4
  1233	021507	254 00 0 00 021533 		JRST	PRINT2
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 33
MAGMON	MAC	23-Apr-80 13:55		MESSAGE PRINTER                                                                    SEQ 0061

  1234	021510	306 00 0 00 000012 	PRINT1:	CAIN	0,12			;LF ?
  1235	021511	402 00 0 00 025001 		SETZM	CHRCTR			;YES, CLEAR CHAR COUNTER
  1236	021512	306 00 0 00 000014 		CAIN	0,14			;FORM FEED ?
  1237	021513	402 00 0 00 025001 		SETZM	CHRCTR			;YES, CLEAR CHAR COUNTER
  1238	021514	332 00 0 00 024762 		SKIPE	LPTFLG
  1239	021515	254 00 0 00 021560 		JRST	PNTLPT			;PRINT ON LINE PRINTER
  1240	021516	332 00 0 00 020006 		SKIPE	USER
  1241	021517	254 00 0 00 021541 		JRST	PRINT4
  1242	021520	332 00 0 00 020010 		SKIPE	KLFLG
  1243	021521	254 00 0 00 021536 		JRST	PRINT3
  1244	021522	336 00 0 00 024646 		SKIPN	CNTLOF			;CONTROL O'ED ?
  1245	021523	7 120 14 0 00 000000 		DATAO	TTY,0			;TYPE CHAR
  1246	021524	260 17 0 00 021620 		GO	TTYCHK			;CHECK FOR OPERATOR CONTROL
  1247	021525	7 120 34 0 00 000010 		CONSO	TTY,10
  1248	021526	254 00 0 00 021524 		JRST	.-2
  1249	021527	306 00 0 00 000215 		CAIN	215
  1250	021530	254 00 0 00 021546 		JRST	FILLCR			;FILL CR
  1251	021531	306 00 0 00 000012 		CAIN	12
  1252	021532	254 00 0 00 021551 		JRST	FILLLF			;FILL LF
  1253	021533	200 01 0 00 025003 	PRINT2:	MOVE	1,SAVAC1
  1254	021534	200 00 0 00 025002 		MOVE	0,SAVAC0
  1255	021535	263 17 0 00 000000 		RTN				;EXIT
  1256
  1257	021536	405 00 0 00 000177 	PRINT3:	ANDI	0,177			;KL10 PRINT
  1258	021537	260 17 0 00 022046 		GO	$DTEXX
  1259	021540	254 00 0 00 021533 		JRST	PRINT2
  1260
  1261	021541	051 01 0 00 000000 	PRINT4:	OUTCHR
  1262	021542	254 00 0 00 021533 		JRST	PRINT2
  1263
  1264					;*MISCELLANEOUS
  1265
  1266	021543				CRLF1:	PMSG	<^>^
  1267	021543	201 00 0 00 024340 		MOVEI	[SIXBIT\^_\]
  1268	021544	260 17 0 00 021402 		PNTMSG^
  1269	021545	263 17 0 00 000000 		RTN
  1270
  1271	021546	402 00 0 00 024646 	FILLCR:	SETZM	CNTLOF#			;CLEAR CONTROL O FLAG
  1272	021547	200 01 0 00 025004 		MOVE	1,FCRCNT		;GET CR FILL COUNT
  1273	021550	254 00 0 00 021554 		JRST	FILLX+2			;SEND EXTRA CR
  1274
  1275	021551	200 01 0 00 025005 	FILLLF:	MOVE	1,FLFCNT		;GET LF FILL COUNT
  1276	021552	361 01 0 00 021533 	FILLX:	SOJL	1,PRINT2
  1277	021553	201 00 0 00 000000 		MOVEI	0,0			;USE 000 AS FILLER
  1278	021554	7 120 14 0 00 000000 		DATAO	TTY,0
  1279	021555	7 120 34 0 00 000010 		CONSO	TTY,10
  1280	021556	254 00 0 00 021555 		JRST	.-1
  1281	021557	254 00 0 00 021552 		JRST	FILLX
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 34
MAGMON	MAC	23-Apr-80 13:55		MESSAGE PRINTER                                                                    SEQ 0062

  1282					;*PNTLPT - LINE PRINTER DRIVER
  1283
  1284	021560	201 01 0 00 321206 	PNTLPT:	MOVEI	1,^D<<1000*750>/7>
  1285	021561	405 00 0 00 000177 		ANDI	0,177
  1286	021562	242 00 0 00 000001 		LSH	0,1
  1287	021563	7 124 14 0 00 000000 		DATAO	LPT,0
  1288	021564	336 00 0 00 020010 		SKIPN	KLFLG
  1289	021565	260 17 0 00 021620 		GO	TTYCHK			;CHECK FOR ABORT
  1290	021566	7 124 34 0 00 000100 		CONSO	LPT,100			;WAIT APPROX 750 MS
  1291	021567	367 01 0 00 021564 		SOJG	1,.-3
  1292	021570	337 00 0 00 000001 		SKIPG	1			;DID LPT RESPOND ?
  1293	021571	260 17 0 00 021573 		GO	LPTOFL			;ASK OPERATOR TO REENABLE IT
  1294	021572	254 00 0 00 021533 		JRST	PRINT2
  1295
  1296					;*LPTOFL - LINE PRINTER OFF-LINE
  1297
  1298	021573	261 17 0 00 000000 	LPTOFL:	PUT	0
  1299	021574	261 17 0 00 000001 		PUT	1
  1300	021575	261 17 0 00 025002 		PUT	SAVAC0
  1301	021576	261 17 0 00 025003 		PUT	SAVAC1
  1302	021577	261 17 0 00 025001 		PUT	CHRCTR
  1303	021600	402 00 0 00 024762 		SETZM	LPTFLG			;SEND MESSAGE TO TTY
  1304	021601	200 01 0 00 024447 		MOVE	1,[POINT 7,LOFMSG]
  1305	021602	134 00 0 00 000001 		ILDB	0,1
  1306	021603	322 00 0 00 021606 		JUMPE	0,.+3
  1307	021604	260 17 0 00 021467 		GO	PRINT
  1308	021605	254 00 0 00 021602 		JRST	.-3
  1309	021606	260 17 0 00 021647 		TTICHR				;WAIT FOR OPERATOR
  1310	021607	302 00 0 00 000012 		CAIE	12
  1311	021610	254 00 0 00 021606 		JRST	.-2
  1312	021611	476 00 0 00 024762 		SETOM	LPTFLG			;REENABLE LINE PRINTER
  1313	021612	262 17 0 00 025001 		GET	CHRCTR
  1314	021613	262 17 0 00 025003 		GET	SAVAC1
  1315	021614	262 17 0 00 025002 		GET	SAVAC0
  1316	021615	262 17 0 00 000001 		GET	1
  1317	021616	262 17 0 00 000000 		GET	0
  1318	021617	263 17 0 00 000000 		RTN
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 35
MAGMON	MAC	23-Apr-80 13:55		MESSAGE PRINTER                                                                    SEQ 0063

  1319					;*TTYCHK - TELETYPE CHECK ROUTINE
  1320
  1321	021620	332 00 0 00 024712 	TTYCHK:	SKIPE	TTYCFLG#		;INPUT CHECKING ALLOWED ?
  1322	021621	263 17 0 00 000000 		RTN				;NO
  1323	021622	7 120 34 0 00 000040 		CONSO	TTY,40			;ANY TYPEIN ?
  1324	021623	263 17 0 00 000000 		RTN				;NO
  1325	021624	261 17 0 00 000000 		PUT	0
  1326	021625	7 120 04 0 00 000000 		DATAI	TTY,0			;GET CHAR
  1327	021626	405 00 0 00 000177 		ANDI	0,177
  1328	021627	306 00 0 00 000003 		CAIN	0,003
  1329	021630	254 00 0 00 020021 		JRST	SELECT			;^C, START OVER
  1330	021631	306 00 0 00 000004 		CAIN	0,004
  1331	021632	254 00 0 00 021665 		JRST	TTYIND			;^D, START DDT
  1332	021633	306 00 0 00 000017 		CAIN	0,017
  1333	021634	476 00 0 00 024646 		SETOM	CNTLOF			;^O, INHIBIT OUTPUT
  1334	021635	262 17 0 00 000000 		GET	0
  1335	021636	263 17 0 00 000000 		RTN
  1336
  1337	021637				LOFMSG:	ASCIZ/
  1338	021637	015 012 114 120 124 	LPT OFF-LINE, TYPE CR WHEN READY - /
  1339	021640	040 117 106 106 055 
  1340	021641	114 111 116 105 054 
  1341	021642	040 124 131 120 105 
  1342	021643	040 103 122 040 127 
  1343	021644	110 105 116 040 122 
  1344	021645	105 101 104 131 040 
  1345	021646	055 040 000 000 000 
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 36
MAGMON	MAC	23-Apr-80 13:55		TELETYPE  INPUT                                                                    SEQ 0064

  1346					SUBTTL	TELETYPE  INPUT
  1347
  1348					;*TTICHR - INPUT A TELETYPE CHARACTER
  1349
  1350	021647	402 00 0 00 024646 	TTYIN:	SETZM	CNTLOF
  1351	021650	476 00 0 00 024712 		SETOM	TTYCFLG			;PREVENT INPUT CHECKS ON ECHO
  1352	021651	332 00 0 00 020006 		SKIPE	USER
  1353	021652	254 00 0 00 021725 		JRST	TTYINU
  1354	021653	332 00 0 00 020010 		SKIPE	KLFLG
  1355	021654	254 00 0 00 021720 		JRST	TTYKL
  1356	021655	7 120 34 0 00 000040 		CONSO	TTY,40			;WAIT FOR TYPEIN
  1357	021656	254 00 0 00 021655 		JRST	.-1
  1358	021657	7 120 04 0 00 000000 		DATAI	TTY,0			;READ CHAR
  1359
  1360					;*TTYINX - CHECK FOR SPECIAL CHAR PROCESS
  1361
  1362	021660	405 00 0 00 000177 	TTYINX:	ANDI	177			;CLEAR PARITY BIT
  1363	021661	306 00 0 00 000003 		CAIN	003
  1364	021662	254 00 0 00 020021 		JRST	SELECT			;^C, START OVER
  1365	021663	302 00 0 00 000004 		CAIE	004
  1366	021664	254 00 0 00 021671 		JRST	.+5
  1367
  1368					;*TTYIND - TRANSFER TO DDT
  1369
  1370	021665	200 00 0 00 010001 	TTYIND:	MOVE	KLDDT+1			;GET DDT IDENTIFIER
  1371	021666	316 00 0 00 024450 		CAMN	[ASCII/DDT/]
  1372	021667	254 00 0 00 000441 		JRST	$DDT			;^D, START DDT
  1373	021670	254 00 0 00 020021 		JRST	SELECT			;NOT THERE, START OVER
  1374	021671	306 00 0 00 000177 		CAIN	177
  1375	021672	254 00 0 00 021716 		JRST	TTYEXT			;RUBOUT
  1376	021673	332 00 0 00 024776 		SKIPE	SCFLAG			;IN COMMENT ?
  1377	021674	254 00 0 00 021677 		JRST	TTYINA
  1378	021675	306 00 0 00 000040 		CAIN	40			;SPACE, CHANGE TO TAB
  1379	021676	201 00 0 00 000011 		MOVEI	11
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 37
MAGMON	MAC	23-Apr-80 13:55		TELETYPE  INPUT                                                                    SEQ 0065

  1380					;*TTYINA - COMPLETE CHARACTER PROCESS
  1381
  1382	021677	306 00 0 00 000033 	TTYINA:	CAIN	33
  1383	021700	254 00 0 00 022006 		JRST	TTALTM			;ALTMODE
  1384	021701	306 00 0 00 000176 		CAIN	176
  1385	021702	254 00 0 00 022006 		JRST	TTALTM			;ALTMODE
  1386	021703	306 00 0 00 000175 		CAIN	175
  1387	021704	254 00 0 00 022006 		JRST	TTALTM			;ALTMODE
  1388	021705	336 00 0 00 020006 		SKIPN	USER
  1389	021706	260 17 0 00 021467 		GO	PRINT
  1390	021707	301 00 0 00 000140 		CAIL	140			;CONVERT TO UPPER CASE
  1391	021710	620 00 0 00 000040 		TRZ	40
  1392	021711	302 00 0 00 000015 		CAIE	15			;IF CR
  1393	021712	254 00 0 00 021716 		JRST	TTYEXT
  1394	021713	201 00 0 00 000012 		MOVEI	12			;PRINT AND EXIT WITH LF
  1395	021714	402 00 0 00 025001 		SETZM	CHRCTR
  1396	021715	254 00 0 00 021677 		JRST	TTYINA
  1397
  1398	021716	402 00 0 00 024712 	TTYEXT:	SETZM	TTYCFLG
  1399	021717	263 17 0 00 000000 		RTN
  1400
  1401					;*TTYKL - KL10 CHARACTER INPUT
  1402
  1403	021720	201 00 0 00 003400 	TTYKL:	MOVEI	3400			;USE DDT MODE
  1404	021721	260 17 0 00 022046 		GO	$DTEXX
  1405	021722	405 00 0 00 000177 		ANDI	0,177
  1406	021723	322 00 0 00 021720 		JUMPE	0,TTYKL			;WAIT FOR RESPONSE
  1407	021724	254 00 0 00 021660 		JRST	TTYINX
  1408
  1409					;*TTYINU - USER MODE CHARACTER INPUT
  1410
  1411	021725	051 04 0 00 000000 	TTYINU:	INCHWL
  1412	021726	302 00 0 00 000015 		CAIE	0,15
  1413	021727	254 00 0 00 021660 		JRST	TTYINX
  1414	021730	402 00 0 00 025001 		SETZM	CHRCTR
  1415	021731	051 00 0 00 000000 		INCHRW				;IF CR, GET LF
  1416	021732	254 00 0 00 021660 		JRST	TTYINX
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 38
MAGMON	MAC	23-Apr-80 13:55		TELETYPE  INPUT                                                                    SEQ 0066

  1417					;*USER MODE LH SWITCHES FOR CHAIN OPERATION
  1418
  1419	021733				LHSWS:	PMSG	<LH SWS - >^
  1420	021733	201 00 0 00 024451 		MOVEI	[SIXBIT\LH SWS - _\]
  1421	021734	260 17 0 00 021402 		PNTMSG^
  1422	021735	260 17 0 00 021741 		TTIOCT
  1423	021736	254 00 0 00 021733 		JRST	LHSWS
  1424	021737	516 00 0 00 020007 		HRLZM	0,CONSW
  1425	021740	263 17 0 00 000000 		RTN
  1426
  1427					;*TTIOCT - TELETYPE OCTAL NUMBER INPUT
  1428
  1429	021741	403 12 0 00 000013 	TTYOCT:	SETZB	DIGIT,DIGITA
  1430	021742	260 17 0 00 021647 	TTYOC1:	TTICHR				;INPUT A CHAR
  1431	021743	306 00 0 00 000012 		CAIN	12			;CR(LF), DONE
  1432	021744	254 00 0 00 021754 		JRST	TTYOC2
  1433
  1434	021745	301 00 0 00 000060 		CAIL	"0"			;A VALID DIGIT ?
  1435	021746	303 00 0 00 000067 		CAILE	"7"
  1436	021747	254 00 0 00 021756 		JRST	TTYOC3			;NO
  1437
  1438	021750	200 13 0 00 000000 		MOVE	DIGITA,0
  1439	021751	242 13 0 00 000041 		LSH	DIGITA,^D33
  1440	021752	246 12 0 00 000003 		LSHC	DIGIT,3			;INSERT NEW OCTAL
  1441	021753	254 00 0 00 021742 		JRST	TTYOC1
  1442
  1443	021754	200 00 0 00 000012 	TTYOC2:	MOVE	0,DIGIT			;PUT NUMBER IN AC0
  1444	021755	254 00 0 00 020377 		JRST	CPOPJ1
  1445
  1446	021756	332 00 0 00 020006 	TTYOC3:	SKIPE	USER
  1447	021757	051 11 0 00 000000 		CLRBFI				;CLEAR USER INPUT
  1448	021760	263 17 0 00 000000 		RTN
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 39
MAGMON	MAC	23-Apr-80 13:55		TELETYPE  INPUT                                                                    SEQ 0067

  1449					;*READ - COMMAND FILE READ PROCESS
  1450
  1451	021761	332 00 0 00 024761 	READ:	SKIPE	DINFLG			;DEVICE COMMAND LIST
  1452	021762	254 00 0 00 020401 		JRST	DEVRD			;YES
  1453	021763	254 00 0 00 021647 		JRST	TTYIN			;TTY REQUESTED
  1454	021764	405 00 0 00 000177 	READ1:	ANDI	177
  1455	021765	306 00 0 00 000177 		CAIN	177
  1456	021766	263 17 0 00 000000 		RTN				;RUBOUT
  1457	021767	332 00 0 00 024776 		SKIPE	SCFLAG			;IN COMMENT ?
  1458	021770	254 00 0 00 021773 		JRST	.+3			;YES
  1459	021771	306 00 0 00 000040 		CAIN	40			;SPACE, CHANGE TO TAB
  1460	021772	201 00 0 00 000011 		MOVEI	11
  1461	021773	332 00 0 00 024757 		SKIPE	TAPEPF			;PRINT TAPE ?
  1462	021774	260 17 0 00 021467 		GO	PRINT			;YES
  1463	021775	301 00 0 00 000140 		CAIL	140			;CONVERT TO UPPER CASE
  1464	021776	620 00 0 00 000040 		TRZ	40
  1465	021777	306 00 0 00 000012 		CAIN	12			;IF LF IGNORE
  1466	022000	254 00 0 00 021761 		JRST	READ
  1467	022001	306 00 0 00 000014 		CAIN	14			;IF FF IGNORE
  1468	022002	254 00 0 00 021761 		JRST	READ
  1469	022003	306 00 0 00 000015 		CAIN	15			;IF CR CHANGE TO LF
  1470	022004	201 00 0 00 000012 		MOVEI	12
  1471	022005	254 00 0 00 021716 		JRST	TTYEXT
  1472
  1473					;*TTALTM - ALTMODE PROCESS
  1474
  1475	022006	476 00 0 00 024765 	TTALTM:	SETOM	ALTMFLG			;SET ALTMODE FLAG
  1476	022007	201 00 0 00 000044 		MOVEI	"$"			;PRINT $ CR/LF
  1477	022010	336 00 0 00 020006 		SKIPN	USER			;DON'T PRINT $ IF USER
  1478	022011	260 17 0 00 021467 		GO	PRINT
  1479	022012	260 17 0 00 021543 		GO	CRLF1
  1480	022013	201 00 0 00 000012 		MOVEI	12			;RETURN WITH LF
  1481	022014	263 17 0 00 000000 		RTN
  1482
  1483	022015	201 00 0 00 000011 	PNTTAB:	MOVEI	"	"
  1484	022016	254 00 0 00 021467 		JRST	PRINT			;PRINT A TAB & RTN
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 40
MAGMON	MAC	23-Apr-80 13:55		SPECIAL ROUTINES                                                                   SEQ 0068

  1485					SUBTTL	SPECIAL ROUTINES
  1486
  1487					;*SWITCH - READ CONSOLE SWITCHES
  1488
  1489	022017	332 00 0 00 020006 	$SWITCH:SKIPE	USER
  1490	022020	254 00 0 00 022027 		JRST	$SWU
  1491	022021	332 00 0 00 020010 		SKIPE	KLFLG
  1492	022022	254 00 0 00 022025 		JRST	.+3
  1493	022023	7 000 04 0 00 000000 		DATAI	APR,0			;KA/KI, READ CONSOLE SWITCHES
  1494	022024	263 17 0 00 000000 		RTN
  1495	022025	201 00 0 00 001400 		MOVEI	1400			;KL10, GET SWITCHES FROM PDP-11
  1496	022026	254 00 0 00 022046 		JRST	$DTEXX
  1497
  1498	022027	200 00 0 00 020007 	$SWU:	MOVE	0,CONSW			;GET STORED SWITCHES
  1499	022030	263 17 0 00 000000 		RTN
  1500
  1501					;*DTEINT - KL10 DTE20 INITIALIZATION
  1502
  1503	022031	332 00 0 00 020006 	DTEINT:	SKIPE	USER
  1504	022032	263 17 0 00 000000 		RTN
  1505	022033	402 00 0 00 000444 		SETZM	$DTFLG
  1506	022034	402 00 0 00 000445 		SETZM	$DTCLK
  1507	022035	402 00 0 00 000446 		SETZM	$DTCI
  1508	022036	200 00 0 00 000453 		MOVE	$DTOPR			;GET OPERATIONAL DTE #
  1509	022037	436 00 0 00 022050 		ORM	$$DTE0			;INSERT IN DTE I/O INST
  1510	022040	200 00 0 00 024453 		MOVE	[540000,,540001]	;SET UP PAGE TABLES
  1511	022041	205 01 0 00 777620 		MOVSI	1,-160			;TO RESET CONDITION
  1512	022042	202 00 0 01 000600 		MOVEM	600(1)
  1513	022043	270 00 0 00 024431 		ADD	[2,,2]			;SO PAGING
  1514	022044	253 01 0 00 022042 		AOBJN	1,.-2			;CAN BE TURNED ON
  1515	022045	263 17 0 00 000000 		RTN
  1516
  1517					;*$DTEXX - KL10 DTE20 COMMUNICATIONS
  1518
  1519	022046	202 00 0 00 000451 	$DTEXX:	MOVEM	0,$DTCMD		;SETUP COMMAND WORD
  1520	022047	350 00 0 00 000452 		AOS	$DTSEQ
  1521	022050	7 200 20 0 00 020000 	$$DTE0:	CONO	DTE,20000		;DONG PDP-11
  1522	022051	336 00 0 00 000444 		SKIPN	$DTFLG
  1523	022052	254 00 0 00 022051 		JRST	.-1			;WAIT FOR REPLY
  1524	022053	402 00 0 00 000444 		SETZM	$DTFLG
  1525	022054	200 00 0 00 000450 		MOVE	0,$DTF11		;GET RESPONSE
  1526	022055	263 17 0 00 000000 		RTN
  1527
  1528					;*DTECLR - KL10 DTE20 TELETYPE CLEAR
  1529
  1530	022056	332 00 0 00 020006 	DTECLR:	SKIPE	USER
  1531	022057	263 17 0 00 000000 		RTN
  1532	022060	336 00 0 00 020010 		SKIPN	KLFLG
  1533	022061	263 17 0 00 000000 		RTN
  1534	022062	201 00 0 00 003000 		MOVEI	3000			;CLEAR DDT INPUT MODE
  1535	022063	260 17 0 00 022046 		GO	$DTEXX
  1536	022064	263 17 0 00 000000 		RTN
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 1
MAGLDR	MAC	23-Apr-80 13:55		DEVICE SELECTION                                                                   SEQ 0069

  1537					SUBTTL	DEVICE SELECTION
  1538
  1539		260740	022213		OPDEF	TTSIXB	[PUSHJ P,TTYSXB]
  1540		047000	000154		OPDEF	TAPOP.	[CALLI 154]
  1541
  1542			017000		TAB=	17000			;DIRECTORY STORAGE
  1543
  1544					;*DEVSEL - ASK WHICH DEVICE
  1545
  1546	022065	476 00 0 00 024663 	DEVSEL:	SETOM	MAGDEV#			;SET MAGTAPE DEVICE FLAG
  1547	022066	201 00 0 00 777777 		MOVEI	-1			;SET MAGTAPE POSITION FLAG
  1548	022067	202 00 0 00 024664 		MOVEM	MAGONCE#		;TO TAPE POSITION UNKNOWN
  1549	022070	402 00 0 00 017001 		SETZM	TAB+1			;MARK DIRECTORY EMPTY
  1550	022071	336 00 0 00 020006 		SKIPN	USER			;SKIP IF USER MODE
  1551	022072	254 00 0 00 022153 		JRST	EXECDV			;NO
  1552						PMSG	<^DEV:(CR FOR DSK) - >^
  1553	022073	201 00 0 00 024454 		MOVEI	[SIXBIT\^DEV:(CR FOR DSK) - _\]
  1554	022074	260 17 0 00 021402 		PNTMSG^
  1555	022075	260 17 0 00 022213 		TTSIXB				;INPUT DEVICE NAME
  1556	022076	254 00 0 00 022073 		JRST	.-3			;ASK AGAIN
  1557	022077	326 06 0 00 022114 		JUMPN	LET,USRMAG		;IF NAME TYPED, MUST BE A MAGTAPE
  1558	022100	402 00 0 00 024663 		SETZM	MAGDEV			;CLEAR MAGTAPE DEVICE FLAG
  1559	022101	205 00 0 00 446353 		MOVSI	'DSK'			;SET UP DEVICE AS DSK
  1560	022102	202 00 0 00 025076 		MOVEM	LDBLK+1			;PUT IN OPEN INFO BLOCK
  1561	022103	200 00 0 00 024460 		MOVE	[201,,LDBF1+1]		;SET UP DATA BUFFER
  1562	022104	202 00 0 00 025776 		MOVEM	LDBF+1			;IN A RING OF THREE BUFFERS
  1563	022105	541 00 0 00 026404 		HRRI	LDBF2+1
  1564	022106	202 00 0 00 026201 		MOVEM	LDBF1+1
  1565	022107	541 00 0 00 025776 		HRRI	LDBF+1
  1566	022110	202 00 0 00 026404 		MOVEM	LDBF2+1
  1567	022111	201 00 0 00 023121 		MOVEI	UREADB			;SET UP READ BLOCK DISPATCH
  1568	022112	202 00 0 00 025006 		MOVEM	READBL			;TO USER MODE READ ROUTINE
  1569	022113	263 17 0 00 000000 		RTN
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 2
MAGLDR	MAC	23-Apr-80 13:55		DEVICE SELECTION                                                                   SEQ 0070

  1570					;*USRMAG - SELECT USER MODE MAGTAPE DEVICE OR DISK
  1571
  1572	022114	202 06 0 00 025076 	USRMAG:	MOVEM	LET,LDBLK+1		;PUT NAME IN LDBLK
  1573	022115	050 16 0 00 025075 		OPEN	LDCHN,LDBLK		;OPEN DEVICE
  1574	022116	254 00 0 00 022065 		JRST	DEVSEL			;DEVICE NOT AVAILABLE
  1575	022117	201 00 0 00 000016 		MOVEI	LDCHN			;GET CHANNEL NUMBER
  1576	022120	047 00 0 00 000112 		MTCHR.				;READ CHARACTERISTICS OF DEVICE
  1577	022121	254 00 0 00 022065 		JRST	DEVSEL			;DEVICE NOT A MAGNETIC TAPE
  1578	022122	201 00 0 00 000003 		MOVEI	3			;GET CODE FOR 800 BPI
  1579	022123	202 00 0 00 025021 		MOVEM	TAPEDC			;STORE IT
  1580	022124	602 00 0 00 000020 		TRNE	1B31			;CHECK IF 7-TRACK
  1581	022125	254 00 0 00 022136 		JRST	DEN800			;7-TRACK, MUST BE 800 BPI
  1582						MOVE	[XWD 2,[1002		;READ CONTROLLER TYPE CODE
  1583	022126	200 00 0 00 024463 				LDCHN ]]	;  FOR MAGTAPE
  1584	022127	047 00 0 00 000154 		TAPOP.				;OBTAIN THE CODE
  1585	022130	254 00 0 00 022134 		JRST	WHDEN			;ERROR, ASK ANYWAY
  1586	022131	321 00 0 00 022134 		JUMPL	WHDEN			;IF NEGATIVE, ASK FOR DENSITY
  1587	022132	307 00 0 00 000003 		CAIG	3			;IF TM10, DENSITY MUST BE 800
  1588										;IF DX10, DON'T CARE ABOUT DENSITY
  1589	022133	254 00 0 00 022136 		JRST	DEN800			;DON'T ASK
  1590	022134	260 17 0 00 022144 	WHDEN:	GO	ASKDEN			;ASK WHICH DENSITY
  1591	022135	350 00 0 00 025021 		AOS	TAPEDC			;SET DENSITY CODE TO 1600 BPI
  1592	022136	071 16 0 00 000000 	DEN800:	RELEASE LDCHN,			;RELEASE THE CHANNEL
  1593	022137	200 00 0 00 024464 		MOVE	[MAGRCD+1,,LDBF+1]	;SET UP USER BUFFER
  1594	022140	202 00 0 00 025776 		MOVEM	LDBF+1			; A RING OF ONLY ONE BUFFER
  1595	022141	200 00 0 00 024471 		MOVE	[[EXP UREADB,UREVRS,UFORWD,UREW],,READBL]	;LOAD
  1596	022142	251 00 0 00 025011 		BLT	REW			;DISPATCH LOCATIONS FOR USER ROUTINES
  1597	022143	263 17 0 00 000000 		RTN				;RETURN
  1598
  1599	022144				ASKDEN:	PMSG	<1600 BPI ? - >^
  1600	022144	201 00 0 00 024472 		MOVEI	[SIXBIT\1600 BPI ? - _\]
  1601	022145	260 17 0 00 021402 		PNTMSG^
  1602	022146	260 17 0 00 020212 		GO	TT2CHR			;LOOK FOR YES ANSWER
  1603	022147	254 00 0 00 022151 		JRST	.+2			;CARRIAGE RETURN ONLY
  1604	022150	302 00 0 00 000131 		CAIE	"Y"			;SKIP IF Y TYPED
  1605	022151	350 00 0 17 000000 		AOS	(P)			;CAUSE SKIP RETURN
  1606	022152	263 17 0 00 000000 		RTN
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 3
MAGLDR	MAC	23-Apr-80 13:55		DEVICE SELECTION                                                                   SEQ 0071

  1607					;*EXECDV - EXEC MODE DEVICE NAME INPUT
  1608
  1609	022153				EXECDV:	PMSG	<DEV:T,D,R,M - >^
  1610	022153	201 00 0 00 024475 		MOVEI	[SIXBIT\DEV:T,D,R,M - _\]
  1611	022154	260 17 0 00 021402 		PNTMSG^
  1612	022155	260 17 0 00 022213 		TTSIXB				;INPUT DEVICE NAME
  1613	022156	254 00 0 00 022153 		JRST	EXECDV			;ASK AGAIN
  1614	022157	322 06 0 00 022153 		JUMPE	LET,EXECDV		;ASK AGAIN IF NO NAME TYPED
  1615	022160	200 03 0 00 024500 		MOVE	C,[POINT 6,LET]		;GET BYTE POINTER TO NAME
  1616	022161	134 01 0 00 000003 		ILDB	A,C			;GET CONTROLLER TYPE CODE
  1617	022162	400 02 0 00 000000 		SETZ	B,			;SET DEVICE CODE TO ZERO
  1618	022163	134 00 0 00 000003 	EXECDI:	ILDB	C			;GET NEXT CHARACTER
  1619	022164	322 00 0 00 022175 		JUMPE	EXECDC			;DECODE NUMBER IF NO MORE
  1620	022165	301 00 0 00 000020 		CAIL	'0'			;CHECK IF OCTAL
  1621	022166	303 00 0 00 000027 		CAILE	'7'			;  NUMBER
  1622	022167	254 00 0 00 022153 		JRST	EXECDV			;NO, ERROR
  1623	022170	242 02 0 00 000003 		LSH	B,3			;MAKE ROOM FOR IT
  1624	022171	137 00 0 00 024501 		DPB	[POINT 3,B,35]		;PUT IT IN B
  1625	022172	607 03 0 00 700000 		TLNN	C,700000		;GET 5 CHARACTERS ALREADY?
  1626	022173	254 00 0 00 022153 		JRST	EXECDV			;YES, ERROR
  1627	022174	254 00 0 00 022163 		JRST	EXECDI			;NO, GET ANOTHER
  1628	022175	305 02 0 00 000020 	EXECDC:	CAIGE	B,20			;CHECK IF NUMBER 20 OR
  1629	022176	254 00 0 00 022201 		JRST	.+3			;  GREATER
  1630	022177	602 02 0 00 000003 		TRNE	B,3			;YES, IS LAST DIGIT 0 OR 4?
  1631	022200	254 00 0 00 022153 		JRST	EXECDV			;NO, NOT A DEVICE CODE
  1632	022201	402 00 0 00 024650 		SETZM	DX10			;CLEAR DX10 FLAG
  1633	022202	306 01 0 00 000064 		CAIN	A,'T'			;IF CONTROLLER TYPE T
  1634	022203	254 00 0 00 023612 		JRST	TMDEV			;  TM10
  1635	022204	306 01 0 00 000044 		CAIN	A,'D'			;IF D
  1636	022205	254 00 0 00 023305 		JRST	DXDEV			;  DX10
  1637	022206	306 01 0 00 000062 		CAIN	A,'R'			;IF R
  1638	022207	254 00 0 00 024176 		JRST	RH10DV			;  RH10
  1639	022210	306 01 0 00 000055 		CAIN	A,'M'			;IF M
  1640	022211	254 00 0 00 023746 		JRST	RH20DV			;  RH20
  1641	022212	254 00 0 00 022153 		JRST	EXECDV			;ERROR
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 4
MAGLDR	MAC	23-Apr-80 13:55		DEVICE SELECTION                                                                   SEQ 0072

  1642					;*TTSIXB - INPUT SIXBIT WORD
  1643
  1644	022213	400 06 0 00 000000 	TTYSXB:	SETZ	LET,			;CLEAR LETTER AC
  1645	022214	260 17 0 00 021647 		TTICHR				;INPUT ONE CHARACTER
  1646	022215	306 00 0 00 000012 		CAIN	12			;RETURN +2 IF CARRIAGE RETURN
  1647	022216	254 00 0 00 022234 		JRST	TTYSXX
  1648	022217	301 00 0 00 000060 		CAIL	"0"			;CHECK IF CHARACTER
  1649	022220	303 00 0 00 000132 		CAILE	"Z"			;  IS A LETTER OR DIGIT
  1650	022221	263 17 0 00 000000 		RTN				;NO
  1651	022222	307 00 0 00 000071 		CAIG	"9"			;KEEP CHECKING
  1652	022223	254 00 0 00 022226 		JRST	.+3
  1653	022224	305 00 0 00 000101 		CAIGE	"A"
  1654	022225	263 17 0 00 000000 		RTN
  1655	022226	603 06 0 00 770000 		TLNE	LET,770000		;SIX CHARACTERS ALREADY INPUT?
  1656	022227	263 17 0 00 000000 		RTN				;YES, GIVE ERROR RETURN
  1657	022230	275 00 0 00 000040 		SUBI	40			;CONVERT TO SIXBIT
  1658	022231	242 06 0 00 000006 		LSH	LET,6			;SHIFT PREVIOUS LETTERS
  1659	022232	436 00 0 00 000006 		ORM	LET			;OR WITH THIS LETTER
  1660	022233	254 00 0 00 022214 		JRST	TTYSXB+1		;GET NEXT
  1661	022234	322 06 0 00 020377 	TTYSXX:	JUMPE	LET,CPOPJ1		;RETURN NOW IF NO LETTERS TYPED
  1662	022235	603 06 0 00 770000 		TLNE	LET,770000		;LEFT JUSTIFY INPUT LETTERS
  1663	022236	254 00 0 00 020377 		JRST	CPOPJ1			;RETURN +2
  1664	022237	242 06 0 00 000006 		LSH	LET,6			;SHIFT LEFT
  1665	022240	254 00 0 00 022234 		JRST	TTYSXX			;CHECK AGAIN
  1666
  1667
  1668	022241				UNIT:	PMSG	<UNIT # - >^
  1669	022241	201 00 0 00 024502 		MOVEI	[SIXBIT\UNIT # - _\]
  1670	022242	260 17 0 00 021402 		PNTMSG^
  1671	022243	260 17 0 00 021741 		TTIOCT				;GET UNIT NUMBER
  1672	022244	254 00 0 00 022153 		JRST	EXECDV			;ERROR
  1673	022245	263 17 0 00 000000 		RTN
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 5
MAGLDR	MAC	23-Apr-80 13:55		DEVICE SELECTION                                                                   SEQ 0073

  1674					;*LIST1 - LIST FILES
  1675
  1676	022246	476 00 0 00 024763 	LIST1:	SETOM	LSTFLG
  1677	022247	254 00 0 00 020160 		JRST	RUNPRG
  1678
  1679					;*DIRECT - PRINT DIRECTORY
  1680
  1681	022250	336 00 0 00 024663 	DIRECT:	SKIPN	MAGDEV			;ILLEGAL FOR DSK
  1682	022251	254 00 0 00 020021 		JRST	SELECT
  1683	022252	476 00 0 00 024756 		SETOM	PGMGO			;SET LOAD AND GO FLAG
  1684	022253	260 17 0 00 022017 		SWITCH
  1685	022254	603 00 0 00 020000 		TLNE	LPTSW
  1686	022255	476 00 0 00 024762 		SETOM	LPTFLG
  1687	022256	260 17 0 00 022056 		GO	DTECLR
  1688						MOVEI	IP,[SIXBIT/MAGTAP/
  1689	022257	201 16 0 00 024504 			    SIXBIT/MTA/]	;SET UP DIRECTORY NAME
  1690	022260	476 00 0 00 024764 		SETOM	DIRFLG			;SET PRINTING DIRECTORY FLAG
  1691	022261	260 17 0 00 022331 		GO	DIAGLD			;SET UP THE FILE
  1692	022262	254 00 0 00 020021 		JRST	SELECT			;FILE NOT FOUND
  1693	022263	260 17 0 00 023014 	DIRPNT:	GO	RWORD			;READ FIRST WORD OF FILE
  1694	022264	254 00 0 00 020021 		JRST	SELECT			;NO WORDS IN FILE
  1695	022265	260 17 0 00 021543 	DIRLIN:	GO	CRLF1			;PRINT A CARRIAGE RETURN, LINE FEED
  1696	022266	201 07 0 00 000004 		MOVEI	M,4			;SET UP ENTRIES PER LINE COUNTER
  1697	022267	332 00 0 00 024762 		SKIPE	LPTFLG			;SKIP IF OUTPUTTING TO LINE PRINTER
  1698	022270	201 07 0 00 000010 		MOVEI	M,8			;YES, SET COUNT TO 8
  1699	022271	260 17 0 00 023014 	DIRFIL:	GO	RWORD			;READ FILE NAME
  1700	022272	254 00 0 00 022311 		JRST	DIREND			;END OF FILE
  1701	022273	607 04 0 00 770000 		TLNN	W,770000		;CHECK IF A FILE NAME
  1702	022274	254 00 0 00 022313 		JRST	DIRRCD			;NO, MUST BE END OF RECORD
  1703	022275	200 01 0 00 000004 		MOVE	A,W			;MOVE WORD TO A
  1704	022276	260 17 0 00 020323 		GO	SIXBP			;PRINT IT
  1705	022277	260 17 0 00 022015 		GO	PNTTAB			;PRINT A TAB
  1706	022300	260 17 0 00 023014 		GO	RWORD			;READ EXTENSION
  1707	022301	254 00 0 00 022311 		JRST	DIREND			;END OF FILE
  1708	022302	510 01 0 00 000004 		HLLZ	A,W			;MOVE WORD TO A
  1709	022303	260 17 0 00 020323 		GO	SIXBP			;PRINT IT
  1710	022304	260 17 0 00 023014 		GO	RWORD			;READ NEXT WORD
  1711	022305	254 00 0 00 022311 		JRST	DIREND			;END OF FILE
  1712	022306	363 07 0 00 022265 		SOJLE	M,DIRLIN		;END OF LINE?
  1713	022307	260 17 0 00 022015 		GO	PNTTAB			;NO, PRINT A TAB
  1714	022310	254 00 0 00 022271 		JRST	DIRFIL			;PRINT NEXT FILE NAME
  1715	022311	260 17 0 00 021543 	DIREND:	GO	CRLF1			;END THE LINE
  1716	022312	254 00 0 00 020021 		JRST	SELECT			;END OF DIRECTORY
  1717	022313	603 04 0 00 777777 	DIRRCD:	TLNE	W,-1			;ABSOLUTE END OF DIRECTORY FILE?
  1718	022314	254 00 0 00 022311 		JRST	DIREND			;YES
  1719	022315	260 17 0 00 023014 		GO	RWORD			;NO, READ HEADER WORD FROM NEXT RECORD
  1720	022316	254 00 0 00 022311 		JRST	DIREND			;END OF FILE
  1721	022317	254 00 0 00 022271 		JRST	DIRFIL			;PRINT THIS FILE NAME
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 6
MAGLDR	MAC	23-Apr-80 13:55		PROGRAM FILE SELECTION                                                             SEQ 0074

  1722					SUBTTL	PROGRAM FILE SELECTION
  1723
  1724					;*FSELECT - "SUBRTN" FILE SELECTION
  1725
  1726	022320	476 00 0 00 024710 	FSELECT:SETOM	SPECIAL#		;SET SPECIAL MODE
  1727	022321	402 00 0 00 024674 		SETZM	NOCMNT
  1728	022322	202 00 0 00 000016 		MOVEM	0,IP			;SET POINTER TO FILE SPEC
  1729	022323	254 00 0 00 022333 		JRST	DIAGLD+2
  1730
  1731					;*DIAGLD - "DIAMON" FILE SELECTION
  1732
  1733	022324	476 00 0 00 024675 		SETOM	NOFNF#			;SET DON'T REPORT IF CAN'T FIND
  1734	022325	476 00 0 00 024674 		SETOM	NOCMNT
  1735	022326	254 00 0 00 022334 		JRST	.+6
  1736	022327	476 00 0 00 024674 		SETOM	NOCMNT#			;INHIBIT COMMENT PRINTING
  1737	022330	254 00 0 00 022332 		JRST	.+2
  1738	022331	402 00 0 00 024674 	DIAGLD:	SETZM	NOCMNT
  1739	022332	402 00 0 00 024710 		SETZM	SPECIAL			;SET NORMAL MODE
  1740	022333	402 00 0 00 024675 		SETZM	NOFNF
  1741	022334	402 00 0 00 024642 		SETZM	A10FLG#
  1742	022335	402 00 0 00 024657 		SETZM	LDEVICE#
  1743
  1744	022336	554 00 0 16 000001 		HLRZ	0,1(IP)
  1745	022337	306 00 0 00 412120 		CAIN	0,(SIXBIT/A10/)
  1746	022340	476 00 0 00 024642 		SETOM	A10FLG
  1747
  1748	022341	332 00 0 00 020006 	DIAGLA:	SKIPE	USER			;SKIP IF EXEC MODE
  1749	022342	254 00 0 00 023054 		JRST	USERLD			;LOAD FROM DSK
  1750
  1751	022343	336 00 0 00 020010 		SKIPN	KLFLG
  1752	022344	254 00 0 00 023205 		JRST	EXECLD			;NOT A KL10
  1753	022345	200 00 0 00 024506 		MOVE	[540026,,540027]	;SET MAGMON BUFFERS UNCACHED
  1754	022346	202 00 0 00 000613 		MOVEM	613
  1755	022347	201 00 0 00 540025 		MOVEI	540025
  1756	022350	542 00 0 00 000612 		HRRM	612
  1757
  1758	022351	7 010 24 0 00 000000 		CONI	PAG,0			;READ PAGING SYSTEM
  1759	022352	660 00 0 00 020000 		TRO	TRPENB			;SET TRAP ENABLE
  1760	022353	7 010 20 1 00 000000 		CONO	PAG,@0			;RESET PAGING SYSTEM
  1761	022354	254 00 0 00 023205 		JRST	EXECLD			;LOAD EXEC
  1762
  1763	022355	263 17 0 00 000000 	STOP:	RTN				;NO ACTION NEEDED TO STOP A MAGTAPE
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 7
MAGLDR	MAC	23-Apr-80 13:55		PROGRAM FILE SELECTION                                                             SEQ 0075

  1764					;*RFILE - FILE FOUND AND SETUP
  1765
  1766	022356	402 00 0 00 000005 	RFILE:	SETZM	Q			;CLEAR FILE READ WORD COUNTER
  1767	022357	201 07 0 00 000005 		MOVEI	M,5			;SET LDACHR BYTE COUNTER
  1768	022360	476 00 0 00 024652 		SETOM	FBSAV#			;SET 8 BIT READ FILE BYTE COUNTER
  1769	022361	202 13 0 00 024700 		MOVEM	13,SAV13#
  1770	022362	202 14 0 00 024701 		MOVEM	14,SAV14#
  1771	022363	336 00 0 00 024710 		SKIPN	SPECIAL			;FILE FOUND
  1772	022364	254 00 0 00 022774 		JRST	RFILE1			;NORMAL OPERATION
  1773
  1774					;*FSELF - "SUBRTN" FILE FOUND RETURN
  1775
  1776	022365	202 00 0 00 025050 	FSELF:	MOVEM	0,ACSAVE		;SAVE ACS
  1777	022366	200 00 0 00 024507 		MOVE	0,[1,,ACSAVE+1]
  1778	022367	251 00 0 00 025066 		BLT	ACSAVE+16
  1779	022370	200 00 0 00 024657 		MOVE	0,LDEVICE		;RETURN DEVICE TYPE
  1780	022371	350 00 0 17 000000 		AOS	(P)
  1781	022372	263 17 0 00 000000 		RTN				;SKIP RETURN TO "SUBRTN"
  1782
  1783					;*NFERR - FILE NOT FOUND
  1784
  1785	022373	332 00 0 00 024675 	NFERR:	SKIPE	NOFNF			;REPORT NOT FOUND ?
  1786	022374	263 17 0 00 000000 		RTN				;NO
  1787	022375	336 00 0 00 024710 		SKIPN	SPECIAL			;NOT FOUND
  1788	022376	254 00 0 00 024250 		JRST	NFERR1			;NORMAL OPERATION
  1789
  1790					;*FSELNF - "SUBRTN" FILE NOT FOUND
  1791
  1792	022377	200 00 0 00 024657 	FSELNF:	MOVE	0,LDEVICE		;"FSELECT" - NOT FOUND
  1793	022400	263 17 0 00 000000 		RTN				;NON-SKIP, ERROR RETURN
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 8
MAGLDR	MAC	23-Apr-80 13:55		"SUBRTN" PROGRAM FILE READ                                                         SEQ 0076

  1794					SUBTTL	"SUBRTN" PROGRAM FILE READ
  1795
  1796					;*FREAD - DETERMINE READ TYPE
  1797
  1798	022401	202 00 0 00 024653 	FREAD:	MOVEM	0,FRDTYP#
  1799	022402	204 00 0 00 024507 		MOVS	[1,,ACSAVE+1]
  1800	022403	251 00 0 00 000016 		BLT	16			;RESTORE "DIAMON" ACS
  1801	022404	200 00 0 00 025050 		MOVE	ACSAVE
  1802	022405	335 00 0 00 024653 		SKIPGE	FRDTYP
  1803	022406	254 00 0 00 022423 		JRST	FRD36			;READ 36 BIT WORDS
  1804	022407	332 00 0 00 024653 		SKIPE	FRDTYP
  1805	022410	254 00 0 00 022450 		JRST	FRD8			;READ 8 BIT WORDS
  1806
  1807					;*FREAD3 - CHARACTER READ
  1808
  1809	022411	260 17 0 00 022427 	FREAD3:	GO	LDACHR			;LOAD AN ASCII CHARACTER
  1810	022412	254 00 0 00 022421 		JRST	FREAD2			;EOF
  1811
  1812	022413	202 00 0 00 025050 	FREAD1:	MOVEM	0,ACSAVE		;RESAVE "DIAMON" ACS
  1813	022414	200 00 0 00 024507 		MOVE	0,[1,,ACSAVE+1]
  1814	022415	251 00 0 00 025066 		BLT	ACSAVE+16
  1815
  1816	022416	200 00 0 00 000016 		MOVE	0,16			;PUT ASCII BYTE IN AC0
  1817	022417	350 00 0 17 000000 		AOS	(P)
  1818	022420	263 17 0 00 000000 		RTN				;SKIP RETURN
  1819
  1820					;*FREAD2 - END OF FILE
  1821
  1822	022421	402 00 0 00 000000 	FREAD2:	SETZM	0			;EOF CODE = 0
  1823	022422	263 17 0 00 000000 		RTN				;NON-SKIP RETURN
  1824
  1825					;*FRD36 - 36 BIT WORD READ
  1826
  1827	022423	260 17 0 00 023014 	FRD36:	GO	RWORD			;READ 36 BIT WORDS
  1828	022424	254 00 0 00 022421 		JRST	FREAD2			;EOF
  1829	022425	200 16 0 00 000004 		MOVE	16,W			;PUT 36 BIT WORD IN AC16
  1830	022426	254 00 0 00 022413 		JRST	FREAD1			;REST AS ABOVE
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 9
MAGLDR	MAC	23-Apr-80 13:55		"SUBRTN" PROGRAM FILE READ                                                         SEQ 0077

  1831					;*LDACHR - ASCII CHARACTER PROCESS
  1832
  1833	022427	302 07 0 00 000005 	LDACHR:	CAIE	M,5			;USED ALL OF THIS 36 BIT WORD ?
  1834	022430	254 00 0 00 022440 		JRST	LDACH1			;NOT YET
  1835	022431	402 00 0 00 000007 		SETZM	M			;YES, READ NEXT 36 BIT WORD
  1836	022432	250 13 0 00 024700 		EXCH	13,SAV13
  1837	022433	250 14 0 00 024701 		EXCH	14,SAV14
  1838	022434	260 17 0 00 023014 		GO	RWORD
  1839	022435	254 00 0 00 022445 		JRST	LDAEOF			;EOF
  1840	022436	250 13 0 00 024700 		EXCH	13,SAV13
  1841	022437	250 14 0 00 024701 		EXCH	14,SAV14
  1842
  1843					LDACH1:	LDB	16,[POINT 7,W,6
  1844							POINT 7,W,13
  1845							POINT 7,W,20
  1846							POINT 7,W,27
  1847	022440	135 16 0 07 024510 			POINT 7,W,34](M)	;GET ASCII BYTE
  1848	022441	350 00 0 00 000007 		AOS	M			;COUNT IT
  1849	022442	322 16 0 00 022427 	LDACH2:	JUMPE	16,LDACHR		;IF NULL, IGNORE
  1850	022443	350 00 0 17 000000 		AOS	(P)			;SKIP RETURN
  1851	022444	263 17 0 00 000000 		RTN
  1852
  1853	022445	250 13 0 00 024700 	LDAEOF:	EXCH	13,SAV13
  1854	022446	250 14 0 00 024701 		EXCH	14,SAV14
  1855	022447	263 17 0 00 000000 		RTN
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 10
MAGLDR	MAC	23-Apr-80 13:55		"SUBRTN" PROGRAM FILE READ                                                         SEQ 0078

  1856					;*FRD8 - 8 BIT WORD READ
  1857
  1858	022450	260 17 0 00 022453 	FRD8:	GO	G8BYT			;GET AN 8 BIT BYTE
  1859	022451	254 00 0 00 022421 		JRST	FREAD2			;EOF
  1860	022452	254 00 0 00 022413 		JRST	FREAD1			;8 BIT BYTE IN AC16
  1861
  1862	022453	350 07 0 00 024652 	G8BYT:	AOS	M,FBSAV			;ADVANCE FILE BYTE
  1863	022454	405 07 0 00 000003 		ANDI	M,3			;(MOD 4)
  1864	022455	326 07 0 00 022461 		JUMPN	M,G8BY2			;NEED A NEW WORD ?
  1865
  1866	022456	260 17 0 00 023014 		GO	RWORD			;YES
  1867	022457	263 17 0 00 000000 		RTN				;EOF
  1868
  1869	022460	202 04 0 00 024645 	G8BY1:	MOVEM	W,BYTSAV#		;SAVE WORD
  1870
  1871					G8BY2:	LDB	16,[POINT 8,BYTSAV,17
  1872							    POINT 8,BYTSAV,9
  1873							    POINT 8,BYTSAV,35
  1874	022461	135 16 0 07 024515 			    POINT 8,BYTSAV,27](M)
  1875	022462	254 00 0 00 020377 		JRST	CPOPJ1			;LOAD & SKIP RETURN WITH BYTE
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 11
MAGLDR	MAC	23-Apr-80 13:55		LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE                                           SEQ 0079

  1876					SUBTTL	LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE
  1877
  1878					;*PDPROC - FORMAT CONTROL PROCESS
  1879
  1880	022463				LDA10:
  1881	022463	402 00 0 00 024660 	LDPROC:	SETZM	LDOCTF#
  1882	022464	402 00 0 00 024662 		SETZM	LDZBLK#
  1883
  1884	022465	260 17 0 00 022427 		GO	LDACHR			;GET FILE TYPE CHAR
  1885	022466	260 17 0 00 024254 		GO	LERR2			;EOF
  1886	022467	306 16 0 00 000073 		CAIN	16,";"
  1887	022470	254 00 0 00 022636 		JRST	LDCMNT			;LINE STARTS WITH ;, COMMENT
  1888
  1889	022471	402 00 0 00 024661 		SETZM	LDTBLK#
  1890	022472	306 16 0 00 000101 		CAIN	16,"A"			;A, PDP-10 SUPER A10 FILE
  1891	022473	254 00 0 00 022501 		JRST	.+6
  1892	022474	306 16 0 00 000124 		CAIN	16,"T"			;T, PDP-10 ".A10" FILE
  1893						JRST	[SETOM	LDTBLK
  1894	022475	254 00 0 00 024521 			 JRST	.+4]
  1895	022476	302 16 0 00 000132 		CAIE	16,"Z"			;Z, ".A10" CORE ZERO
  1896	022477	260 17 0 00 024256 		GO	LERR3
  1897	022500	476 00 0 00 024662 		SETOM	LDZBLK
  1898
  1899	022501	260 17 0 00 022427 		GO	LDACHR			;GET FORMAT CHAR
  1900	022502	260 17 0 00 024254 		GO	LERR2			;EOF
  1901
  1902	022503	306 16 0 00 000040 		CAIN	16," "			;SPACE, ASCIIZED
  1903	022504	254 00 0 00 022510 		JRST	.+4
  1904	022505	302 16 0 00 000117 		CAIE	16,"O"			;O, OCTAL
  1905	022506	260 17 0 00 024260 		GO	LERR4
  1906	022507	476 00 0 00 024660 		SETOM	LDOCTF
  1907
  1908	022510	200 16 0 00 024523 		MOVE	16,[LDCNT,,LDCNT+1]
  1909	022511	402 00 0 00 025022 		SETZM	LDCNT
  1910	022512	251 16 0 00 025066 		BLT	16,LDATAE		;CLEAR LOAD STORAGE
  1911
  1912	022513	201 13 0 00 025022 		MOVEI	13,LDCNT		;SETUP CONVERTED STORAGE POINTER
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 12
MAGLDR	MAC	23-Apr-80 13:55		LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE                                           SEQ 0080

  1913					;*LDCNV - CONVERT ASCIIZED BACK INTO BITS
  1914
  1915	022514	402 00 0 00 000014 	LDCNV:	SETZM	14			;CLEAR CONVERTED WORD FORMER
  1916
  1917	022515	260 17 0 00 022427 	LDCNV1:	GO	LDACHR			;LOAD AN ASCII CHAR
  1918	022516	260 17 0 00 024254 		GO	LERR2			;EOF
  1919
  1920	022517	306 16 0 00 000015 		CAIN	16,15			;CR, IGNORE
  1921	022520	254 00 0 00 022515 		JRST	LDCNV1
  1922
  1923	022521	306 16 0 00 000012 		CAIN	16,12			;LF, END OF LINE
  1924	022522	254 00 0 00 022557 		JRST	LDEOL
  1925
  1926	022523	306 16 0 00 000054 		CAIN	16,54			;COMMA, FIELD SEPARATOR
  1927	022524	254 00 0 00 022555 		JRST	LDCMA
  1928
  1929	022525	332 00 0 00 024660 		SKIPE	LDOCTF
  1930	022526	254 00 0 00 022552 		JRST	LDCNV3			;LOADING OCTAL FORMAT
  1931
  1932	022527	301 16 0 00 000065 		CAIL	16,"5"		;5 TO : ?
  1933	022530	303 16 0 00 000072 		CAILE	16,":"
  1934	022531	254 00 0 00 022537 		JRST	.+6		;NO
  1935	022532	275 16 0 00 000065 		SUBI	16,"5"		;YES, INSERT SUPPRESSED ONES
  1936	022533	242 14 0 00 000006 		LSH	14,6
  1937	022534	660 14 0 00 000077 		TRO	14,77
  1938	022535	365 16 0 00 022533 		SOJGE	16,.-2
  1939	022536	254 00 0 00 022515 		JRST	LDCNV1
  1940
  1941	022537	301 16 0 00 000060 		CAIL	16,"0"		;0 TO 4 ?
  1942	022540	303 16 0 00 000064 		CAILE	16,"4"
  1943	022541	254 00 0 00 022546 		JRST	.+5		;NO
  1944	022542	405 16 0 00 000007 		ANDI	16,7		;YES, INSERT SUPPRESSED ZEROS
  1945	022543	242 14 0 00 000006 		LSH	14,6
  1946	022544	365 16 0 00 022543 		SOJGE	16,.-1
  1947	022545	254 00 0 00 022515 		JRST	LDCNV1
  1948
  1949	022546	242 14 0 00 000006 		LSH	14,6			;SHIFT WORD FORMER LEFT 6
  1950	022547	405 16 0 00 000077 		ANDI	16,77			;KEEP ASCIIZED OIT BITS
  1951
  1952	022550	434 14 0 00 000016 	LDCNV2:	OR	14,16			;INSERT NEW OIT
  1953	022551	254 00 0 00 022515 		JRST	LDCNV1
  1954
  1955	022552	242 14 0 00 000003 	LDCNV3:	LSH	14,3			;SHIFT WORD FORMER LEFT 3, OCTAL
  1956	022553	405 16 0 00 000007 		ANDI	16,7			;KEEP OCTAL OIT BITS
  1957	022554	254 00 0 00 022550 		JRST	LDCNV2
  1958
  1959	022555	202 14 0 13 000000 	LDCMA:	MOVEM	14,(13)			;STORE CONVERTED WORD
  1960	022556	344 13 0 00 022514 		AOJA	13,LDCNV		;COUNT AND GO FOR NEXT WORD
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 13
MAGLDR	MAC	23-Apr-80 13:55		LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE                                           SEQ 0081

  1961					;*LDEOL - END OF LINE, CHECKSUM LOAD LINE
  1962
  1963	022557	202 14 0 13 000000 	LDEOL:	MOVEM	14,(13)			;STORE CHECKSUM
  1964
  1965	022560	332 00 0 00 024660 		SKIPE	LDOCTF
  1966	022561	254 00 0 00 022571 		JRST	LDTEN			;OCTAL, NO CHECKSUM
  1967
  1968	022562	201 13 0 00 025022 		MOVEI	13,LDCNT		;CHECKSUM LOAD STORAGE
  1969	022563	402 00 0 00 000014 		SETZM	14
  1970	022564	270 14 0 13 000000 		ADD	14,(13)
  1971	022565	302 13 0 00 025066 		CAIE	13,LDATAE
  1972	022566	344 13 0 00 022564 		AOJA	13,.-2
  1973
  1974	022567	602 14 0 00 177777 		TRNE	14,177777		;16 BIT CHECKSUM = 0 ?
  1975	022570	260 17 0 00 024262 		GO	LERR5			;NO, CHECKSUM ERROR
  1976
  1977					;*LDTEN - CREATE LOAD ADDRESS AND WORD COUNT
  1978
  1979	022571	135 13 0 00 024524 	LDTEN:	LDB	13,[POINT 2,LDCNT,27]
  1980	022572	242 13 0 00 000020 		LSH	13,^D16
  1981	022573	434 13 0 00 025023 		OR	13,LDADR		;CREATE PDP-10 LOAD ADDRESS
  1982
  1983	022574	135 14 0 00 024525 		LDB	14,[POINT 8,LDCNT,35]	;WORD COUNT
  1984
  1985	022575	336 00 0 00 024662 		SKIPN	LDZBLK
  1986	022576	254 00 0 00 022606 		JRST	LDTEN1			;LOAD TEN DATA WORDS
  1987
  1988					;*LDTENZ - CLEAR TEN CORE, JOB START TO JOB FIRST FREE
  1989
  1990	022577	322 14 0 00 022463 	LDTENZ:	JUMPE	14,LDPROC		;WC=0, NO ZEROING
  1991	022600	202 13 0 00 024656 		MOVEM	13,JOBSAW		;SETUP JOB START ADDRESS
  1992	022601	270 13 0 14 025023 		ADD	13,LDATA-1(14)
  1993	022602	367 14 0 00 022601 		SOJG	14,.-1			;ADD UP ZERO COUNT
  1994	022603	202 13 0 00 024655 		MOVEM	13,JOBFFW		;SETUP JOB FIRST FREE ADDRESS
  1995
  1996	022604	260 17 0 00 022733 		GO	CLRCOR			;CLEAR PDP-10 CORE
  1997	022605	254 00 0 00 022463 		JRST	LDPROC
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 14
MAGLDR	MAC	23-Apr-80 13:55		LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE                                           SEQ 0082

  1998					;*LDTEN1 - TRANSFER TEN WORDS TO MEMORY
  1999
  2000	022606	336 00 0 00 024661 	LDTEN1:	SKIPN	LDTBLK
  2001	022607	200 13 0 00 025023 		MOVE	13,LDADR
  2002	022610	322 14 0 00 022634 		JUMPE	14,LDDONE		;WC=0, TRANSFER BLOCK
  2003
  2004	022611	201 15 0 00 025024 		MOVEI	15,LDATA		;SETUP PICKUP POINTER
  2005
  2006	022612	200 16 0 15 000000 	LDTEN2:	MOVE	16,(15)			;GET 36 BIT WORD
  2007	022613	336 00 0 00 024661 		SKIPN	LDTBLK
  2008	022614	254 00 0 00 022622 		JRST	.+6
  2009	022615	200 16 0 15 000002 		MOVE	16,2(15)		;BITS 0 TO 7
  2010	022616	242 16 0 00 000020 		LSH	16,^D16
  2011	022617	434 16 0 15 000001 		OR	16,1(15)		;BITS 8 TO 23
  2012	022620	242 16 0 00 000020 		LSH	16,^D16
  2013	022621	434 16 0 15 000000 		OR	16,0(15)		;BITS 24 TO 35
  2014
  2015	022622	202 16 0 13 000000 		MOVEM	16,(13)			;STORE 36 BIT WORD IN MEMORY
  2016
  2017	022623	350 00 0 00 000013 		AOS	13			;INCREMENT PDP-10 ADDRESS
  2018	022624	271 15 0 00 000001 		ADDI	15,1			;BUMP PICKUP POINTER
  2019	022625	332 00 0 00 024661 		SKIPE	LDTBLK
  2020	022626	271 15 0 00 000002 		ADDI	15,2
  2021	022627	275 14 0 00 000001 		SUBI	14,1			;DECREMENT WORD COUNT
  2022	022630	332 00 0 00 024661 		SKIPE	LDTBLK
  2023	022631	275 14 0 00 000002 		SUBI	14,2
  2024	022632	327 14 0 00 022612 		JUMPG	14,LDTEN2		;DO TILL ALL WORDS USED
  2025	022633	254 00 0 00 022463 		JRST	LDPROC			;CONTINUE TILL TRANSFER BLOCK
  2026
  2027					;*LDDONE - COMPLETED, GO TO START ROUTINE
  2028
  2029	022634	200 04 0 00 000013 	LDDONE:	MOVE	W,13			;SETUP START ADDRESS
  2030	022635	254 00 0 00 023026 		JRST	STARTQ			;GO TO START ROUTINE
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 15
MAGLDR	MAC	23-Apr-80 13:55		LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE                                           SEQ 0083

  2031					;*LDCMNT - LOAD FILE COMMENT LINE
  2032
  2033	022636	261 17 0 00 000000 	LDCMNT:	PUT	0
  2034	022637	260 17 0 00 022642 		GO	CMNPNT			;PRINT REST OF COMMENT LINE
  2035	022640	262 17 0 00 000000 		GET	0
  2036	022641	254 00 0 00 022463 		JRST	LDPROC
  2037
  2038					;*CMNPNT - PRINT COMMENT LINE
  2039
  2040	022642	260 17 0 00 022427 	CMNPNT:	GO	LDACHR
  2041	022643	254 00 0 00 024254 		JRST	LERR2
  2042	022644	306 16 0 00 000012 		CAIN	16,12			;LINE FEED ?
  2043	022645	254 00 0 00 022651 		JRST	.+4			;YES
  2044	022646	336 00 0 00 024674 		SKIPN	NOCMNT
  2045	022647	260 17 0 00 020332 		GO	PNT16			;PRINT COMMENT LINE
  2046	022650	254 00 0 00 022642 		JRST	CMNPNT
  2047
  2048	022651	336 00 0 00 024674 		SKIPN	NOCMNT
  2049	022652	260 17 0 00 020332 		GO	PNT16
  2050	022653	263 17 0 00 000000 		RTN
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 16
MAGLDR	MAC	23-Apr-80 13:55		PROGRAM CORE AREA SETUP                                                            SEQ 0084

  2051					SUBTTL	PROGRAM CORE AREA SETUP
  2052
  2053			000004		T0=4					;W
  2054			000005		T1=5					;Q
  2055			000007		T2=7					;M
  2056			000006		T3=6					;N
  2057			000003		T4=3					;C
  2058
  2059					;*PRGCOR - SETUP CORE ZEROING FOR ".SAV" FILES
  2060
  2061	022654	332 00 0 00 024642 	PRGCOR:	SKIPE	A10FLG
  2062	022655	254 00 0 00 022463 		JRST	LDA10			;LOAD ".A10" FILE
  2063
  2064	022656	402 00 0 00 000005 		SETZM	Q
  2065	022657	260 17 0 00 023014 		GO	RWORD			;READ FIRST BLOCK/WORD
  2066	022660	260 17 0 00 024254 		GO	ERR2			;EOF, ILLEGAL
  2067
  2068	022661	202 04 0 00 024703 		MOVEM	T0,SAVT0#
  2069	022662	202 05 0 00 024704 		MOVEM	T1,SAVT1#
  2070	022663	202 07 0 00 024705 		MOVEM	T2,SAVT2#
  2071	022664	202 06 0 00 024706 		MOVEM	T3,SAVT3#
  2072	022665	202 03 0 00 024707 		MOVEM	T4,SAVT4#
  2073
  2074	022666	331 00 0 00 000004 		SKIPL	T0
  2075	022667	260 17 0 00 024264 		GO	ERR6			;FIRST WORD NOT POINTER
  2076	022670	201 07 0 04 000176 		MOVEI	T2,^D126(T0)
  2077	022671	201 06 0 00 000137 		MOVEI	T3,137			;FIRST POINTER LEGAL ?
  2078	022672	315 07 0 00 000006 		CAMGE	T2,T3
  2079	022673	260 17 0 00 024264 		GO	ERR6			;NO
  2080
  2081	022674	550 05 0 00 024704 		HRRZ	T1,SAVT1
  2082	022675	201 06 0 00 000120 		MOVEI	T3,JOBSA
  2083	022676	260 17 0 00 022721 		GO	RMS1			;GET 'JOBSA'
  2084	022677	552 04 0 00 024656 		HRRZM	T0,JOBSAW#
  2085	022700	336 05 0 00 024656 		SKIPN	T1,JOBSAW	
  2086	022701	260 17 0 00 024266 		GO	ERR7			;NO STARTING ADDRESS
  2087	022702	306 05 0 00 000140 		CAIN	T1,140
  2088	022703	260 17 0 00 024266 		GO	ERR7			;PROGRAMS CAN'T START AT 140
  2089
  2090	022704	550 05 0 00 024704 		HRRZ	T1,SAVT1
  2091	022705	201 06 0 00 000121 		MOVEI	T3,JOBFF
  2092	022706	260 17 0 00 022721 		GO	RMS1			;GET 'JOBFF'
  2093	022707	202 04 0 00 024655 		MOVEM	T0,JOBFFW#
  2094
  2095	022710	260 17 0 00 022733 		GO	CLRCOR			;CLEAR PROGRAM'S CORE AREA
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 17
MAGLDR	MAC	23-Apr-80 13:55		PROGRAM CORE AREA SETUP                                                            SEQ 0085

  2096	022711	200 04 0 00 024703 		MOVE	T0,SAVT0
  2097	022712	200 05 0 00 024704 		MOVE	T1,SAVT1
  2098	022713	200 07 0 00 024705 		MOVE	T2,SAVT2
  2099	022714	200 06 0 00 024706 		MOVE	T3,SAVT3
  2100	022715	200 03 0 00 024707 		MOVE	T4,SAVT4
  2101	022716	254 00 0 00 023005 		JRST	RFILL3			;NOW GO LOAD PROGRAM
  2102
  2103	022717	274 05 0 00 000003 	RMS2:	SUB	T1,T4
  2104	022720	340 05 0 00 000000 		AOJ	T1,
  2105	022721	200 04 0 05 000000 	RMS1:	MOVE	T0,(T1)			;GET POINTER
  2106	022722	550 07 0 00 000004 		HRRZ	T2,T0			; X
  2107	022723	564 03 0 00 000004 		HLRO	T4,T0			; -N
  2108	022724	274 07 0 00 000003 		SUB	T2,T4			; X+N IN T2
  2109	022725	315 07 0 00 000006 		CAMGE	T2,T3			;THIS POINTER TO REQ DATA ?
  2110	022726	254 00 0 00 022717 		JRST	RMS2			;NO, GET NEXT POINTER
  2111	022727	275 06 0 04 000000 		SUBI	T3,(T0)			;YES, HOW FAR FROM POINTER ?
  2112	022730	270 05 0 00 000006 		ADD	T1,T3			;INCREMENT POINTER
  2113	022731	200 04 0 05 000000 		MOVE	T0,(T1)			;GET REQ DATA
  2114	022732	263 17 0 00 000000 		RTN
  2115
  2116					;*CLRCOR - CLEAR CORE FOR DIAGNOSTIC SEGMENT
  2117					;*	   CLEARS CORE FROM 'JOBSA' TO 'JOBFF'
  2118
  2119	022733	336 00 0 00 020006 	CLRCOR:	SKIPN	USER			;USER MODE ?
  2120	022734	254 00 0 00 022750 		JRST	CLRCR1			;NO
  2121	022735	200 00 0 00 000044 		MOVE	JOBREL			;YES, PRESENT JOBREL LT DIAMON'S ?
  2122	022736	317 00 0 00 024711 		CAMG	SVJBREL
  2123	022737	254 00 0 00 022743 		JRST	.+4			;YES
  2124	022740	200 00 0 00 024711 		MOVE	SVJBREL			;NO, REDUCE CORE TO DIAMON'S
  2125	022741	047 00 0 00 000011 		CORE
  2126	022742	254 00 0 00 024274 		JRST	ERR10
  2127	022743	200 00 0 00 024655 		MOVE	JOBFFW			;THIS PRG NEED MORE THAN DIAMON'S ?
  2128	022744	317 00 0 00 024711 		CAMG	SVJBREL
  2129	022745	254 00 0 00 022750 		JRST	.+3			;NO
  2130	022746	047 00 0 00 000011 		CORE				;YES, EXPAND CORE FOR PROGRAM
  2131	022747	254 00 0 00 024274 		JRST	ERR10
  2132	022750	202 05 0 00 024702 	CLRCR1:	MOVEM	Q,SAVQ#
  2133	022751	200 05 0 00 024656 		MOVE	Q,JOBSAW
  2134	022752	301 05 0 00 020000 		CAIL	Q,START			;DO NOT, REPEAT NOT, CLEAR "DIAMON" !
  2135	022753	301 05 0 00 030000 		CAIL	Q,DIAGNOS
  2136	022754	402 00 0 05 000000 		SETZM	(Q)
  2137	022755	315 05 0 00 024655 		CAMGE	Q,JOBFFW
  2138	022756	344 05 0 00 022752 		AOJA	Q,.-4
  2139	022757	200 05 0 00 024702 		MOVE	Q,SAVQ
  2140	022760	263 17 0 00 000000 		RTN
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 18
MAGLDR	MAC	23-Apr-80 13:55		PROGRAM CORE AREA SETUP                                                            SEQ 0086

  2141					;*LSTPNT - LIST FILES (ASCIZ)
  2142
  2143	022761	476 00 0 00 024710 	LSTPNT:	SETOM	SPECIAL
  2144	022762	261 17 0 00 000000 		PUSH	P,0
  2145	022763	260 17 0 00 022017 		SWITCH
  2146	022764	603 00 0 00 020000 		TLNE	LPTSW
  2147	022765	476 00 0 00 024762 		SETOM	LPTFLG
  2148	022766	260 17 0 00 022056 		GO	DTECLR
  2149	022767	262 17 0 00 000000 		POP	P,0
  2150	022770	260 17 0 00 022427 	LSTPN1:	GO	LDACHR			;READ A CHAR
  2151	022771	254 00 0 00 020000 		JRST	START			;EOF
  2152	022772	260 17 0 00 020332 		GO	PNT16			;PRINT IT
  2153	022773	254 00 0 00 022770 		JRST	LSTPN1
  2154
  2155
  2156					;*RFILE1 - HERE WHEN FILE FOUND
  2157
  2158	022774	332 00 0 00 024763 	RFILE1:	SKIPE	LSTFLG
  2159	022775	254 00 0 00 022761 		JRST	LSTPNT			;LISTING FILE
  2160	022776	332 00 0 00 024764 		SKIPE	DIRFLG			;PRINTING DIRECTORY?
  2161	022777	254 00 0 00 022263 		JRST	DIRPNT			;YES, PRINT DIR OF MAGTAPE
  2162
  2163	023000	332 00 0 00 024760 		SKIPE	DEVFLG			;READING CMD LIST FILE ?
  2164	023001	254 00 0 00 020367 		JRST	DEVCM2			;YES
  2165	023002	254 00 0 00 022654 		JRST	PRGCOR			;SETUP PROGRAM'S CORE AREA
  2166
  2167	023003	260 17 0 00 023014 	RFILL1:	GO	RWORD			;READ POINTER OR TRANSFER WORD
  2168	023004	260 17 0 00 024254 		GO	ERR2			;EOF, ERROR
  2169	023005	331 07 0 00 000004 	RFILL3:	SKIPL	M,W			;WHICH IS IT?
  2170	023006	254 00 0 00 023026 		JRST	STARTQ			;TRANSFER WORD
  2171	023007	260 17 0 00 023014 	RFILL2: GO	RWORD			;READ DATA WORD
  2172	023010	260 17 0 00 024254 		GO	ERR2			;EOF, ERROR
  2173	023011	202 04 0 07 000001 		MOVEM	W,1(M)			;STORE IT IN CORE
  2174	023012	253 07 0 00 023007 		AOBJN	M,RFILL2		;COUNT THE CORE POINTER
  2175	023013	254 00 0 00 023003 		JRST	RFILL1			;IT RAN OUT, GET ANOTHER
  2176
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 19
MAGLDR	MAC	23-Apr-80 13:55		PROGRAM CORE AREA SETUP                                                            SEQ 0087

  2177					;*RWORD - READ DATA WORD FROM FILE
  2178
  2179	023014	373 00 0 00 025102 	RWORD:	SOSLE	LDBUF+2			;CHECK IF ANY WORDS IN BUFFER
  2180	023015	254 00 0 00 023023 		JRST	RWORD2			;YES, GET A WORD
  2181	023016	336 00 0 00 024663 		SKIPN	MAGDEV			;SKIP IF READING FROM MAGTAPE
  2182	023017	254 00 0 00 023021 		JRST	RWORD1			;NO, GO AND READ
  2183	023020	335 00 0 00 024664 		SKIPGE	MAGONCE			;SKIP IF TAPE NO INTO A RECORD
  2184	023021	260 17 1 00 025006 	RWORD1:	GO	@READBL			;READ NEXT RECORD
  2185	023022	263 17 0 00 000000 		RTN				;EOF RETURN
  2186	023023	134 04 0 00 025101 	RWORD2:	ILDB	W,LDBUF+1		;GET DATA WORD
  2187	023024	200 05 0 00 025101 		MOVE	Q,LDBUF+1		;GET POINTER
  2188	023025	254 00 0 00 020377 		JRST	CPOPJ1			;RETURN +2
  2189
  2190
  2191					;*STARTQ - HERE ON TRANSFER WORD
  2192
  2193	023026	332 00 0 00 020006 	STARTQ:	SKIPE	USER			;SKIP IF EXEC MODE
  2194	023027	071 16 0 00 000000 		RELEASE	LDCHN,			;RELEASE CHANNEL
  2195	023030	542 04 0 00 023053 		HRRM	W,SADR			;SAVE STARTING ADDRESS
  2196	023031	606 04 0 00 777777 		TRNN	W,-1			;ANY ADDRESS ?
  2197	023032	260 17 0 00 024266 		GO	ERR7			;NO, MUST NOT HAVE RIGHT FILE
  2198	023033	476 00 0 00 030044 		SETOM	MONTEN			;SET LOADED BY TEN FLAG
  2199	023034	201 00 0 00 020000 		MOVEI	START			;SETUP RETURN TO DIAMON
  2200	023035	202 00 0 00 030012 		MOVEM	RETURN
  2201	023036	542 00 0 00 000120 		HRRM	120			;SETUP JOB DATA AREA ALSO
  2202	023037	336 00 0 00 024756 		SKIPN	PGMGO			;LOAD & GO ?
  2203	023040	254 00 0 00 020377 		JRST	CPOPJ1			;NO, BACK TO MONITOR
  2204	023041	332 00 0 00 024765 		SKIPE	ALTMFLG
  2205	023042	263 17 0 00 000000 		RTN				;ALTMODE, RETURN TO LOADER
  2206
  2207	023043	260 17 0 00 022056 	SADRQ:	GO	DTECLR			;EXEC & KL10, CLEAR DTE
  2208	023044	200 01 1 00 024777 		MOVE	A,@SAVEIP
  2209	023045	332 00 0 00 020006 		SKIPE	USER
  2210	023046	047 01 0 00 000043 		SETNAM	A,			;USER, IDENTIFY PROGRAM RUNNING
  2211	023047	200 00 0 00 024711 		MOVE	SVJBREL			;SET JOBREL AS "DIAMON" RUN SIZE
  2212	023050	202 00 0 00 000044 		MOVEM	JOBREL
  2213	023051	260 17 0 00 020464 		GO	ZEROAC			;CLEAR AC'S
  2214	023052	402 00 0 00 000017 		SETZM	17
  2215	023053	254 00 0 00 000000 	SADR:	JRST	0			;YES, GO
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 20
MAGLDR	MAC	23-Apr-80 13:55		USER MODE LOADER                                                                   SEQ 0088

  2216					SUBTTL	USER MODE LOADER
  2217
  2218					;*USERLD - LOOKUP FILE ON THE USERS DISK
  2219
  2220	023054	402 00 0 00 025101 	USERLD:	SETZM	LDBUF+1
  2221	023055	402 00 0 00 025102 		SETZM	LDBUF+2
  2222	023056	050 16 0 00 025075 		OPEN	LDCHN,LDBLK		;SETUP INPUT FILE
  2223	023057	260 17 0 00 024270 		GO	ERR8
  2224	023060	200 00 0 00 024526 		MOVE	[400000,,LDBF+1]
  2225	023061	202 00 0 00 025100 		MOVEM	LDBUF			;SETUP BUFFER POINTER
  2226	023062	332 00 0 00 024663 		SKIPE	MAGDEV			;SKIP IF READING FROM DSK
  2227	023063	254 00 0 00 023145 		JRST	UMAGLD			;NO, GO TO MAG LOADER
  2228	023064	200 00 0 00 024460 		MOVE	[201,,LDBF1+1]
  2229	023065	202 00 0 00 025776 		MOVEM	LDBF+1			;CLEAR BUFFER USE BITS
  2230	023066	200 00 0 00 024527 		MOVE	[201,,LDBF2+1]
  2231	023067	202 00 0 00 026201 		MOVEM	LDBF1+1
  2232	023070	200 00 0 00 024530 		MOVE	[201,,LDBF+1]
  2233	023071	202 00 0 00 026404 		MOVEM	LDBF2+1
  2234	023072	201 00 0 00 000005 		MOVEI	5			;SET UP DSK CODE
  2235	023073	202 00 0 00 024657 		MOVEM	LDEVICE			;FOR SUBRTN
  2236	023074	200 00 0 16 000000 		MOVE	(IP)
  2237	023075	202 00 0 00 025071 		MOVEM	LDNAME			;SETUP FILE NAME
  2238	023076	510 00 0 16 000001 		HLLZ	1(IP)
  2239	023077	322 00 0 00 023103 		JUMPE	USLD1			;IF NO EXT, TRY A10 & SAV
  2240
  2241	023100	260 17 0 00 023112 		GO	USLKUP			;LOOKUP FILE
  2242	023101	254 00 0 00 022356 		JRST	RFILE			;FOUND
  2243	023102	254 00 0 00 022373 		JRST	NFERR			;NOT FOUND
  2244
  2245	023103	205 00 0 00 634166 	USLD1:	MOVSI	(SIXBIT/SAV/)
  2246	023104	260 17 0 00 023112 		GO	USLKUP			;LOOKUP "SAV"
  2247	023105	254 00 0 00 022356 		JRST	RFILE			;FOUND
  2248	023106	205 00 0 00 412120 		MOVSI	(SIXBIT/A10/)
  2249	023107	260 17 0 00 023112 		GO	USLKUP			;LOOKUP "A10"
  2250	023110	254 00 0 00 022356 		JRST	RFILE			;FOUND
  2251	023111	254 00 0 00 022373 		JRST	NFERR			;COUNDN'T FIND EITHER
  2252
  2253	023112	202 00 0 00 025072 	USLKUP:	MOVEM	LDNAME+1
  2254	023113	076 16 0 00 025071 		LOOKUP	LDCHN,LDNAME
  2255	023114	254 00 0 00 020377 		JRST	CPOPJ1			;NOT FOUND
  2256	023115	554 00 0 00 025072 		HLRZ	LDNAME+1
  2257	023116	306 00 0 00 412120 		CAIN	(SIXBIT/A10/)
  2258	023117	476 00 0 00 024642 		SETOM	A10FLG			;LOADING "A10" FILE
  2259	023120	263 17 0 00 000000 		RTN
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 21
MAGLDR	MAC	23-Apr-80 13:55		USER MODE LOADER                                                                   SEQ 0089

  2260					;USER MODE TAPE MOTION ROUTINES
  2261
  2262					;READ A DATA BLOCK
  2263
  2264	023121	056 16 0 00 000000 	UREADB:	IN	LDCHN,			;INPUT A WORD
  2265	023122	254 00 0 00 020377 		JRST	CPOPJ1			;RETURN +2
  2266	023123	063 16 0 00 740000 		STATZ	LDCHN,740000		;ERROR, SKIP IF ONLY EOF
  2267	023124	260 17 0 00 024272 		GO	ERR9			;NO, FATAL ERROR
  2268	023125	402 00 0 00 024664 	RDEOF:	SETZM	MAGONCE			;SET TAPE AT START OF FILE
  2269	023126	263 17 0 00 000000 		RTN				;EOF RETURN
  2270
  2271					;MOVE TAPE REVERSE
  2272
  2273	023127	072 16 0 00 000017 	UREVRS:	MTBSF.	LDCHN,			;MOVE TAPE BACKWARD OVER ONE FILE
  2274	023130	263 17 0 00 000000 		RTN
  2275
  2276					;MOVE TAPE FORWARD
  2277
  2278	023131	072 16 0 00 000016 	UFORWD:	MTSKF.	LDCHN,			;MOVE TAPE FORWARD OVER FILE
  2279	023132	263 17 0 00 000000 		RTN
  2280
  2281					;REWIND THE TAPE
  2282
  2283	023133	072 16 0 00 000001 	UREW:	MTREW.	LDCHN,			;REWIND THE TAPE
  2284	023134	263 17 0 00 000000 		RTN
  2285
  2286					;*USRINT - USER MODE INIT, SETUP MINIMUM OF 32K OF CORE
  2287
  2288	023135	201 00 0 00 077777 	USRINT:	MOVEI	<^D32*^D1024>-1
  2289	023136	317 00 0 00 024711 		CAMG	SVJBREL			;DO WE HAVE 32K MINIMUM ?
  2290	023137	263 17 0 00 000000 		RTN				;YES
  2291	023140	047 00 0 00 000011 		CORE				;NO, EXPAND CORE TO 32K
  2292	023141	260 17 0 00 024274 		GO	ERR10
  2293	023142	200 00 0 00 000044 		MOVE	JOBREL
  2294	023143	202 00 0 00 024711 		MOVEM	SVJBREL			;SAVE MAX CORE NOW
  2295	023144	263 17 0 00 000000 		RTN
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 22
MAGLDR	MAC	23-Apr-80 13:55		MAGTAPE LOADER                                                                     SEQ 0090

  2296					SUBTTL	MAGTAPE LOADER
  2297
  2298	023145	200 00 0 00 024531 	UMAGLD:	MOVE	[XWD 3,TAPEDN]		;SET UP TO SELECT DENSITY
  2299	023146	047 00 0 00 000154 		TAPOP.				;SET DENSITY
  2300	023147	060 16 0 00 000613 		SETSTS	LDCHN,613		;NO TAPOP.S, SET STATUS BITS TO 800 BPI
  2301	023150	201 00 0 00 000006 	MAGLD:	MOVEI	6			;SET MAGTAPE CODE TO 6
  2302	023151	202 00 0 00 024657 		MOVEM	LDEVICE			;PUT IN LDEVICE FOR SUBRTN
  2303	023152	333 00 0 00 024664 		SKIPLE	MAGONCE			;TAPE POSITION KNOWN?
  2304	023153	260 17 1 00 025011 		GO	@REW			;NO, REWIND
  2305	023154	335 00 0 00 024664 		SKIPGE	MAGONCE			;AT START OF FILE?
  2306	023155	260 17 1 00 025010 		GO	@FORWRD			;NO, MOVE TO START
  2307	023156	402 00 0 00 024664 		SETZM	MAGONCE			;CLEAR FLAG, POSITION KNOWN
  2308	023157	201 01 0 00 017001 		MOVEI	A,TAB+1			;SET UP ADDRESS OF DIRECTORY
  2309	023160	260 17 0 00 023213 		GO	LOOKUP			;LOOK FOR FILE NAME
  2310	023161	254 00 0 00 023236 		JRST	LDDIR			;NOT THERE, GO READ DIRECTORY FILE
  2311	023162	201 00 0 00 777777 	FNFND:	MOVEI	-1			;SET TAPE POSITION FLAG
  2312	023163	202 00 0 00 024664 		MOVEM	MAGONCE			; TO POSITION UNKNOWN
  2313	023164	270 02 0 00 017000 		ADD	B,TAB			;COMPUTE FILE NUMBER
  2314	023165	202 02 0 00 024676 		MOVEM	B,PRGNBR#		;SAVE FILE NUMBER
  2315	023166	274 02 0 00 024647 		SUB	B,CURR#			;FIND NUMBER OF FILES TO SPACE
  2316	023167	321 02 0 00 023201 		JUMPL	B,BACKUP		;BACKSPACE TO SELECTED FILE
  2317	023170	323 02 0 00 023173 		JUMPLE	B,.+3			;GO AROUND IF AT FILE
  2318	023171	260 17 1 00 025010 		GO	@FORWRD			;SPACE FORWARD OVER UNWANTED FILES
  2319	023172	367 02 0 00 023171 		SOJG	B,.-1
  2320
  2321	023173	200 00 0 00 024676 	TRANS:	MOVE	PRGNBR			;GET PROGRAM NUMBER
  2322	023174	271 00 0 00 000001 		ADDI	1			;SET UP FOR POSITION AFTER PROG READ
  2323	023175	202 00 0 00 024647 		MOVEM	CURR			;STORE TAPE POSITION IN CURR
  2324	023176	476 00 0 00 024664 		SETOM	MAGONCE			;SET IN FILE FLAG
  2325	023177	402 00 0 00 025102 		SETZM	LDBUF+2			;CLEAR CHARACTERS IN BUFFER COUNTER
  2326	023200	254 00 0 00 022356 		JRST	RFILE			;GO TO READ FILE
  2327
  2328	023201	260 17 1 00 025007 	BACKUP:	GO	@REVERS			;BACKSPACE OVER UNWANTED FILES
  2329	023202	343 02 0 00 023201 		AOJLE	B,.-1
  2330	023203	260 17 1 00 025010 		GO	@FORWRD			;MOVE FORWARD OVER FILE MARK
  2331	023204	254 00 0 00 023173 		JRST	TRANS
  2332
  2333
  2334	023205	332 00 0 00 024650 	EXECLD:	SKIPE	DX10			;SKIP IF NOT DX10
  2335	023206	260 17 0 00 023344 		GO	DXINIT			;INITIALIZE THE DX10 CONTROLLER
  2336	023207	205 00 0 00 004400 		MOVSI	4400			;SET UP BYTE POINTER
  2337	023210	202 00 0 00 025101 		MOVEM	LDBUF+1			;IN BUFFER HEADER
  2338	023211	402 00 0 00 025102 		SETZM	LDBUF+2			;CLEAR WORD COUNT
  2339	023212	254 00 0 00 023150 		JRST	MAGLD
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 23
MAGLDR	MAC	23-Apr-80 13:55		MAGTAPE LOADER                                                                     SEQ 0091

  2340					;LOOKUP FILE NAME IN DIRECTORY IN CORE
  2341					;ENTER WITH ADR OF DIRECTORY RECORD IN A
  2342
  2343	023213	400 02 0 00 000000 	LOOKUP:	SETZ	B,			;CLEAR FILE COUNTER
  2344	023214	200 00 0 01 000000 	LOOKU0:	MOVE	(A)			;GET A FILE NAME
  2345	023215	607 00 0 00 770000 		TLNN	770000			;CHECK IF END OF RECORD
  2346	023216	263 17 0 00 000000 		RTN				;YES, FILE NOT FOUND
  2347	023217	312 00 0 16 000000 		CAME	(IP)			;COMPARE FILE NAME
  2348	023220	254 00 0 00 023234 		JRST	LOOKU3			;NO MATCH, KEEP LOOKING
  2349	023221	554 00 0 16 000001 		HLRZ	1(IP)			;GET SPECIFIED EXTENSION
  2350	023222	554 03 0 01 000001 		HLRZ	C,1(A)			;GET EXTENSION FROM DIRECTORY
  2351	023223	326 00 0 00 023227 		JUMPN	LOOKU1			;JUMP IF EXTENSION SPECIFIED
  2352	023224	306 03 0 00 412120 		CAIN	C,'A10'			;LOOK FOR A10 EXTENSION
  2353	023225	254 00 0 00 023231 		JRST	LOOKU2			;FOUND
  2354	023226	201 00 0 00 634166 		MOVEI	'SAV'			;LOOK FOR SAV EXTENSION
  2355	023227	312 00 0 00 000003 	LOOKU1:	CAME	C			;COMPARE WITH EXTENSION
  2356	023230	254 00 0 00 023234 		JRST	LOOKU3			;NO MATCH
  2357	023231	306 03 0 00 412120 	LOOKU2:	CAIN	C,'A10'			;IS EXTENSION A10?
  2358	023232	476 00 0 00 024642 		SETOM	A10FLG			;YES, SET FLAG
  2359	023233	254 00 0 00 020377 		JRST	CPOPJ1			;SUCCESSFUL RETURN
  2360	023234	271 01 0 00 000003 	LOOKU3:	ADDI	A,3			;MOVE TO NEXT NAME IN LIST
  2361	023235	344 02 0 00 023214 		AOJA	B,LOOKU0		;GO LOOK AT IT
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 24
MAGLDR	MAC	23-Apr-80 13:55		MAGTAPE LOADER                                                                     SEQ 0092

  2362	023236	603 00 0 00 777777 	LDDIR:	TLNE	-1			;CHECK IF ENTIRE DIRECTORY
  2363	023237	332 00 0 00 017000 		SKIPE	TAB			;  IS IN CORE
  2364	023240	334 00 0 00 000000 		SKIPA				;NO
  2365	023241	254 00 0 00 022373 		JRST	NFERR			;FILE NOT FOUND
  2366	023242	201 03 0 00 777777 		MOVEI	C,-1			;SET TAPE POSITION FLAG
  2367	023243	202 03 0 00 024664 		MOVEM	C,MAGONCE		;TO POSITION UNKNOWN
  2368	023244	332 00 0 00 024647 		SKIPE	CURR			;SKIP IF AT BOT
  2369	023245	260 17 1 00 025011 		GO	@REW			;NO, REWIND THE TAPE
  2370	023246	201 03 0 00 000003 		MOVEI	C,3			;SPACE FORWARD TO DIRECTORY FILE
  2371	023247	260 17 1 00 025010 		GO	@FORWRD			;  MAGTAP.MTA
  2372	023250	367 03 0 00 023247 		SOJG	C,.-1
  2373	023251	201 00 0 00 000004 		MOVEI	4			;SET CURRENT TAPE POSITION
  2374	023252	202 00 0 00 024647 		MOVEM	CURR			;TO FILE AFTER DIRECTORY
  2375	023253	476 00 0 00 024664 		SETOM	MAGONCE			;SET IN FILE FLAG
  2376	023254	260 17 1 00 025006 	LDDIRB:	GO	@READBL			;READ A BLOCK OF DIRECTORY
  2377	023255	260 17 0 00 024302 		GO	ERR13			;ERROR
  2378	023256	200 03 0 00 026000 		MOVE	C,RBUF			;COMPUTE CHECKSUM OF DIRECTORY RECORD
  2379	023257	201 01 0 00 026001 		MOVEI	A,RBUF+1		;INDEX TO DATA WORDS
  2380	023260	270 03 0 01 000000 	DIRCK:	ADD	C,(A)			;ADD ENTRIES OF CURRENT FILE
  2381	023261	270 03 0 01 000001 		ADD	C,1(A)
  2382	023262	270 03 0 01 000002 		ADD	C,2(A)
  2383	023263	271 01 0 00 000003 		ADDI	A,3			;INCREASE POINTER OVER ENTRY
  2384	023264	200 02 0 01 000000 		MOVE	B,(A)			;GET NEXT WORD
  2385	023265	603 02 0 00 770000 		TLNE	B,770000		;CHECK IF A FILE NAME
  2386	023266	254 00 0 00 023260 		JRST	DIRCK			;YES, ADD THIS ENTRY
  2387	023267	554 00 0 00 000003 		HLRZ	C			;GET LEFT HALF OF COMPUTED CHECKSUM
  2388	023270	271 00 0 03 000000 		ADDI	(C)			;ADD RIGHT HALF TO IT
  2389	023271	550 00 0 00 000000 		HRRZ				;STRIP TO 18 BITS
  2390	023272	302 00 0 02 000000 		CAIE	(B)			;COMPARE TO CHECKSUM FROM TAPE
  2391	023273	260 17 0 00 024302 		GO	ERR13			;CHECKSUM ERROR
  2392	023274	201 01 0 00 026001 		MOVEI	A,RBUF+1		;SET UP TO LOOK FOR FILE NAME
  2393	023275	260 17 0 00 023213 		GO	LOOKUP			;IN RECORD JUST READ
  2394	023276	254 00 0 00 023302 		JRST	LDDIRN			;NOT HERE, LOOK IN NEXT RECORD OF DIRECTORY
  2395	023277	200 00 0 00 024532 		MOVE	[RBUF,,TAB]		;TRANSFER THIS DIRECTORY
  2396	023300	251 00 0 00 017777 		BLT	TAB+MAGRCD-1		;INTO TAB
  2397	023301	254 00 0 00 022341 		JRST	DIAGLA			;GO POSITION TO FILE
  2398
  2399	023302	607 00 0 00 777777 	LDDIRN:	TLNN	-1			;CHECK IF LAST RECORD OF DIRECTORY
  2400	023303	254 00 0 00 023254 		JRST	LDDIRB			;NO, READ NEXT DATA BLOCK
  2401	023304	254 00 0 00 022373 		JRST	NFERR			;YES, FILE NOT FOUND
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 25
MAGLDR	MAC	23-Apr-80 13:55		DX10 MAGTAPE LOAD ROUTINE                                                          SEQ 0093

  2402					SUBTTL	DX10 MAGTAPE LOAD ROUTINE
  2403
  2404					;ACCUMULATOR ASSIGNMENTS
  2405
  2406			000000		F=0					;TEMP
  2407			000001		A=1					;TEMP
  2408			000002		B=2					;TEMP
  2409			000003		C=3					;TEMP
  2410			000004		W=4					;WORD RETURNED BY RWORD
  2411			000005		Q=5					;COUNTER, DATA WORD BUFFER
  2412			000007		M=7					;MEMORY AOBJN POINTER, DATA TO CORE
  2413
  2414			001000		MAGRCD=^D512				;SIZE OF A MAGTAPE RECORD IN WORDS
  2415
  2416					;DX10 CONTROL BITS
  2417
  2418			000220		PDC=220					;DX10 DEVICE CODE
  2419			000224		PDC2=224				;DX10 #2
  2420			000034		PDC3=34					;DX10 #3
  2421			000001		RUNIND=1				;RUN INDICATOR OF 8A PROCESSOR
  2422			002000		INHLD=1B25				;INHIBIT LOAD OF ICPC (CONO)
  2423			002000		CSRFLG=1B25				;CHANNEL STATUS REGISTER ERROR (CONI)
  2424			001000		MPERR=1B26				;8A TIME OUT ERROR
  2425			000400		MEMPAR=1B27				;MEMORY PARITY ERROR
  2426			000200		NXM=1B28				;NON-EXISTANT MEMORY ERROR
  2427			000100		STAVL=1B29				;STATUS AVAILABLE FLAG
  2428			000020		CLEAR=1B31				;CLEAR DEVICES
  2429			000010		CONT=1B32				;CONTINUE DX10
  2430			001700		INTFLG=MPERR+MEMPAR+NXM+STAVL
  2431
  2432
  2433					;DX10 COMMANDS
  2434
  2435		200000	470000		BSB=	1B1!47B23			;BACKSPACE BLOCK
  2436		200000	570000		BSF=1B1!57B23				;BACKSPACE SPACE FILE
  2437		200000	770000		FSF=1B1!77B23				;FORWARD SPACE FILE
  2438		300000	020000		RDF=1B1!1B2!2B23			;READ FORWARD
  2439		140000	000000		CHJMPG=1B2!1B3				;CHANNEL JUMP AND GO
  2440		020000	000000		STORE=1B4				;STORE STATUS
  2441		200000	070000		REWD=1B1!7B23				;REWIND COMMAND
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 26
MAGLDR	MAC	23-Apr-80 13:55		DX10 MAGTAPE LOAD ROUTINE                                                          SEQ 0094

  2442					;DX10 STATUS BITS
  2443
  2444		040000	000000		BUSY=1B3				;CONTROL UNIT OR DEVICE BUSY
  2445		004000	000000		UNITCK=1B6				;UNIT CHECK
  2446		002000	000000		UNITEX=1B7				;UNIT EXCEPTION
  2447		000400	000000		TYPE0=2B10				;STATUS TYPE CODE 2
  2448		000100	000000		SELERR=1B11				;DEVICE SELECTION ERROR
  2449		000040	000000		SEQERR=1B12				;SEQUENCE ERROR
  2450		000020	000000		DEVPAR=1B13				;DEVICE PARITY ERROR
  2451		000010	000000		LENERR=1B14				;LENGTH ERROR
  2452		000002	000000		ILLCMD=1B16				;ILLEGAL COMMAND
  2453		000001	000000		DSRFLG=1B17				;DEVICE STATUS REGISTER ERROR
  2454			400000		SNSERR=1B18				;SENSE BYTE RETRIEVAL ERROR
  2455			200000		OPI=1B19				;OPERATION INCOMPLETE
  2456
  2457			000012		RETRY=^D10				;RETRY COUNT
  2458			000020		LOWCMD=20				;LOW COMMAND AREA
  2459
  2460			000002		DXCLR=2					;RESET DX10 BIT
  2461			000001		RSEL=1					;SELECT RSEL REGISTER
  2462			000005		MPADR=5					;8A ADDRESS REGISTER CODE
  2463			000004		MPCTL=4					;8A CONTROL REGISTER CODE
  2464			000012		DAC=12					;DATA ADDRESS COUNTER CODE
  2465			007713		UNITNM=	7713				;ADDRESS OF UNIT FROM 8-MEMORY
  2466			020000		ENEXM=1B22				;ENABLE EXAMINE
  2467			010000		ENDEP=1B23				;ENABLE DEPOSIT
  2468			200000		MPHALT=1B19				;8A HALT SWITCH
  2469			100000		MPCONT=1B20				;8A CONTINUE SWITCH
  2470			000200		MCSTRT=200				;MICRO-CODE START ADDRESS
  2471			000016		MCCODE=16				;MICRO-CODE ADDRESS CONTAINING '70'
  2472			002720		DXCODE='70'				;CODE IN MCCODE
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 27
MAGLDR	MAC	23-Apr-80 13:55		DX10 MAGTAPE LOAD ROUTINE                                                          SEQ 0095

  2473	023305	307 02 0 00 000001 	DXDEV:	CAIG	B,1			;SKIP IF DEVICE CODE OF 0 OR 1
  2474	023306	201 02 0 00 000220 		MOVEI	B,PDC			;  INSERT CODE PDC
  2475	023307	306 02 0 00 000002 		CAIN	B,2			;SKIP IF CODE 2
  2476	023310	201 02 0 00 000224 		MOVEI	B,PDC2			;  INSERT CODE PDC2
  2477	023311	306 02 0 00 000003 		CAIN	B,3			;SKIP IF CODE 3
  2478	023312	201 02 0 00 000034 		MOVEI	B,PDC3			;  INSERT CODE PDC3
  2479	023313	305 02 0 00 000020 		CAIGE	B,20			;SKIP IF A LEGAL CODE
  2480	023314	254 00 0 00 022153 		JRST	EXECDV			;NO, ERROR
  2481	023315	205 00 0 00 700040 		MOVSI	(DATAI)			;GET DATAI INSTRUCTION
  2482	023316	242 02 0 00 777776 		LSH	B,-2			;POSITION DEVICE CODE
  2483	023317	137 02 0 00 024533 		DPB	B,[POINT 7,0,9]		;SET IN DEVICE CODE
  2484	023320	202 00 0 00 025016 		MOVEM	TAPEEX			;SET UP TAPEEX
  2485	023321	661 00 0 00 000200 		TLO	(20B14)			;CONVERT TO CONI INSTRUCTION
  2486	023322	202 00 0 00 025013 		MOVEM	TAPERD			;SET UP TAPERD
  2487	023323	621 00 0 00 000040 		TLZ	(4B14)			;CONVERT TO CONO INSTRUCTION
  2488	023324	541 00 0 00 021600 		HRRI	<LOWCMD_9>!MPERR!MEMPAR!NXM	;SET IN CLEAR BITS
  2489	023325	202 00 0 00 025012 		MOVEM	TAPECL			;SET UP TAPECL
  2490	023326	541 00 0 00 020130 		HRRI	<LOWCMD_9>!STAVL!CLEAR!CONT	;SET IN START BITS
  2491	023327	202 00 0 00 025015 		MOVEM	TAPEGO			;SET UP TAPEGO
  2492	023330	641 00 0 00 000300 		TLC	(30B14)			;CONVERT TO BLKO INSTRUCTION
  2493	023331	512 00 0 00 025014 		HLLZM	TAPELD			;SET UP TAPELD
  2494	023332	476 00 0 00 024650 		SETOM	DX10#			;SET DX10 FLAG
  2495	023333	200 00 0 00 024540 		MOVE	[[EXP DXREAD,DXREVS,DXFORW,DXREW],,READBL]
  2496	023334	251 00 0 00 025011 		BLT	REW			;FILL DISPATCH LOCATIONS
  2497	023335	260 17 0 00 022241 		GO	UNIT			;ASK WHICH UNIT
  2498	023336	303 00 0 00 000007 		CAILE	7			;CHECK FOR LEGAL UNIT NUMBER
  2499	023337	254 00 0 00 022153 		JRST	EXECDV			;NO, START SELECTION AGAIN
  2500	023340	201 01 0 00 000005 		MOVEI	A,5			;SET COUNT TO 5
  2501						DPB	[POINT 4,DXRDF,35	;SET ALL DEVICE COMMANDS
  2502							POINT 4,DXBSB,35	;TO UNIT NUMBER
  2503							POINT 4,DXBSF,35	;SPECIFIED
  2504							POINT 4,DXREWD,35
  2505							POINT 4,DXFSF,35
  2506	023341	137 00 0 01 024541 			POINT 4,DXU,35  ] (A)
  2507	023342	365 01 0 00 023341 		SOJGE	A,.-1			;DEPOSIT 6 TIMES
  2508	023343	263 17 0 00 000000 		RTN
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 28
MAGLDR	MAC	23-Apr-80 13:55		DX10 MAGTAPE LOAD ROUTINE                                                          SEQ 0096

  2509	023344	256 00 0 00 025013 	DXINIT:	XCT	TAPERD			;READ CONI STATUS
  2510	023345	603 00 0 00 000001 		TLNE	RUNIND			;SKIP IF DX10 HALTED
  2511	023346	263 17 0 00 000000 		RTN				;DX10 IS RUNNING, RTN NOW
  2512	023347	200 00 0 00 024547 		MOVE	[IOWD 6,EXBUF]		;READ FROM DX10 MEMORY
  2513	023350	260 17 0 00 023421 		GO	BLOCKO			;SELECT ADDRESS CONTAINING CODE
  2514	023351	256 00 0 00 025016 		XCT	TAPEEX			;READ CONTENTS OF MEMORY LOCATION
  2515	023352	627 00 0 00 777777 		TLZN	-1			;CLEAR IBUS REGISTER CODE
  2516	023353	260 17 0 00 024304 		GO	ERR14			;NO CODE, WHERE IS DX10?
  2517	023354	306 00 0 00 002720 		CAIN	DXCODE			;SKIP IF NOT CODE OF MICRO-CODE
  2518	023355	254 00 0 00 023415 		JRST	DXSTRT			;CODE MATCHES, START DX10
  2519
  2520
  2521					;LOAD MICRO-CODE INTO DX10
  2522
  2523	023356	201 00 0 00 777777 		MOVEI	-1			;SET TAPE POSITION
  2524	023357	202 00 0 00 024664 		MOVEM	MAGONCE			;  UNKNOWN FLAG
  2525	023360	200 00 0 00 024550 		MOVE	[IOWD ^D11,RDITRG]	;TRIGGER A READ-IN OF DX10
  2526	023361	260 17 0 00 023421 		GO	BLOCKO			;TO GET BOOTSTRAP CODE INTO DX10 MEMORY
  2527	023362	201 04 0 00 000005 		MOVEI	W,5			;SET COUNT TO 5
  2528	023363	200 00 0 00 024551 	DXRDI:	MOVE	[IOWD 3,RDIWAT]		;SET HALT SWITCH
  2529	023364	260 17 0 00 023421 		GO	BLOCKO			;SELECT CPMA
  2530	023365	256 00 0 00 025016 		XCT	TAPEEX			;READ CPMA
  2531	023366	405 00 0 00 007777 		ANDI	7777			;CLEAR OTHER BITS
  2532	023367	306 00 0 00 007602 		CAIN	7602			;CHECK IF READ-IN FINISHED
  2533	023370	373 00 0 00 000004 		SOSLE	W			;LOOP TILL SEE ADDRESS 5 TIMES
  2534	023371	254 00 0 00 023363 		JRST	DXRDI			;TO BE SURE IT IS FINISHED
  2535
  2536	023372	200 00 0 00 024552 		MOVE	[IOWD ^D30,MCREAD]	;MODIFY BOOTSTRAP CODE IN DX10
  2537	023373	260 17 0 00 023421 		GO	BLOCKO			;AND READ IN MICRO-CODE IMAGE FROM TAPE
  2538	023374	256 00 0 00 025013 		XCT	TAPERD			;WAIT FOR DX10 TO STOP
  2539	023375	603 00 0 00 000001 		TLNE	RUNIND			;BY LOOKING AT RUN INDICATOR
  2540	023376	254 00 0 00 023374 		JRST	.-2			;NOT YET
  2541	023377	606 00 0 00 000100 		TRNN	STAVL			;DID STATUS AVAILABLE SET?
  2542	023400	260 17 0 00 024304 		GO	ERR14			;NO, READ NOT SUCCESSFUL
  2543	023401	200 00 0 00 024553 		MOVE	[IOWD 5,MCLOAD]		;SELECT 8A ADDRESS 0
  2544	023402	260 17 0 00 023421 		GO	BLOCKO			;THEN SELECT CONTROL REGISTER
  2545	023403	200 05 0 00 024554 		MOVE	Q,[POINT 12,30000+MAGRCD]	;GET BYTE POINTER TO MICRO-CODE
  2546	023404	201 04 0 00 010000 		MOVEI	W,10000			;GET WORD COUNT
  2547	023405	200 01 0 00 025014 		MOVE	A,TAPELD		;GET BLKO INSTRUCTION
  2548	023406	661 01 0 00 000040 		TLO	A,(1B12)		;CHANGE TO DATAO
  2549	023407	134 00 0 00 000005 	LOAD8A:	ILDB	Q			;GET A PDP-8A WORD
  2550	023410	660 00 0 00 010000 		TRO	ENDEP			;SET ENABLE DEPOSIT BIT
  2551	023411	256 00 0 00 000001 		XCT	A			;DEPOSIT THE WORD
  2552	023412	367 04 0 00 023407 		SOJG	W,LOAD8A		;LOAD ALL WORDS
  2553	023413	402 00 0 00 024647 		SETZM	CURR			;SET CURRENT POSITION AT FILE ZERO
  2554	023414	402 00 0 00 024664 		SETZM	MAGONCE			;SET MAGTAPE POSITION KNOWN
  2555
  2556
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 29
MAGLDR	MAC	23-Apr-80 13:55		DX10 MAGTAPE LOAD ROUTINE                                                          SEQ 0097

  2557	023415	200 00 0 00 024555 	DXSTRT:	MOVE	[IOWD 4,STBUF]		;START THE DX10
  2558	023416	260 17 0 00 023421 		GO	BLOCKO			;  MICRO-CODE
  2559	023417	256 00 0 00 025012 		XCT	TAPECL			;CLEAR THE DX10 ERROR FLAGS
  2560	023420	263 17 0 00 000000 		RTN				;DX10 NOW READY TO USE
  2561
  2562
  2563	023421	256 00 0 00 025014 	BLOCKO:	XCT	TAPELD			;EXECUTE BLKO INSTRUCTION
  2564	023422	263 17 0 00 000000 		RTN				;ALL DONE, RETURN
  2565	023423	254 00 0 00 023421 		JRST	.-2			;KEEP GOING
  2566
  2567
  2568	023424	000002	000000		RDITRG:	DXCLR,,0			;RESET THE DX10
  2569	023425	000001	000004			RSEL,,MPCTL			;SELECT MPCTL
  2570	023426	000000	000000			0				;CLEAR THE SWITCHES
  2571	023427	000001	000005			RSEL,,MPADR			;SELECT MPADR
  2572	023430	000000	000000			0				;SELECT ADDRESS 0
  2573	023431	000001	000004			RSEL,,MPCTL			;SELECT MPCTL
  2574	023432	000000	016562			ENDEP!6562			;DEPOSIT SRI INSTRUCTION
  2575	023433	000001	000005			RSEL,,MPADR			;SELECT MPADR
  2576	023434	000000	000000			0				;SELECT ADDRESS 0
  2577	023435	000001	000004			RSEL,,MPCTL			;SELECT MPCTL
  2578	023436	000000	300000			MPCONT!MPHALT			;EXECUTE THE SRI INSTRUCTION
  2579
  2580	023437	000001	000004		RDIWAT:	RSEL,,MPCTL			;SELECT MPCTL
  2581	023440	000000	200000			MPHALT				;SET HALT SWITCH
  2582	023441	000001	000005			RSEL,,MPADR			;SELECT MPADR
  2583
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 30
MAGLDR	MAC	23-Apr-80 13:55		DX10 MAGTAPE LOAD ROUTINE                                                          SEQ 0098

  2584	023442	000000	007605		MCREAD:	7605				;SET ADDRESS
  2585	023443	000001	000004			RSEL,,MPCTL			;SELECT CONTROL
  2586	023444	000000	015211			ENDEP!5211			;DEPOSIT JMP 7611
  2587	023445	000001	000005			RSEL,,MPADR			;SELECT ADDRESS
  2588	023446	000000	007616			7616				;SET ADDRESS
  2589	023447	000001	000004			RSEL,,MPCTL			;SELECT MPCTL
  2590	023450	000000	016505			ENDEP!6505			;INSERT G8C INSTRUCTION
  2591	023451	000000	011315			ENDEP!1315			;TAD (1000)
  2592	023452	000001	000005			RSEL,,MPADR			;SELECT MPADR
  2593	023453	000000	007644			7644				;SET ADDRESS
  2594	023454	000001	000004			RSEL,,MPCTL			;SELECT MPCTL
  2595	023455	000000	012312			ENDEP!2312			;DEPOSIT ISZ LMT
  2596	023456	000000	015215			ENDEP!5215			;DEPOSIT JMP RDNXT
  2597	023457	000000	016567			ENDEP!6567			;DEPOSIT SSA
  2598	023460	000000	017402			ENDEP!7402			;DEPOSIT HLT
  2599	023461	000001	000005			RSEL,,MPADR			;SELECT MPADR
  2600	023462	000000	007712			7712				;SET ADDRESS
  2601	023463	000001	000004			RSEL,,MPCTL			;SELECT MPCTL
  2602	023464	000000	017774			ENDEP!<-4&7777>			;DEPOSIT A -4
  2603	023465	000000	010000		DXU:	ENDEP!0				;DEPOSIT UNIT NUMBER (LOADED BY DXDEV)
  2604	023466	000000	010007			ENDEP!7				;REWIND COMMAND
  2605	023467	000000	011000			ENDEP!MAGRCD			;RECORD SIZE
  2606	023470	000001	000007			RSEL,,7				;SELECT 8R REGISTER
  2607	023471	000000	660000			0,,-<MAGRCD*5>_4		;LOAD BYTE COUNT
  2608	023472	000001	000006			RSEL,,6				;SELECT OTHER HALF
  2609	023473	000000	037000			37000				;LOAD ADDRESS
  2610	023474	000001	000005			RSEL,,MPADR			;SELECT MPADR
  2611	023475	000000	007601			7601				;LOAD ADDRESS OF BOOTSTRAP PROGRAM
  2612	023476	000001	000004			RSEL,,MPCTL			;SELECT MPCTL
  2613	023477	000000	100000			MPCONT				;START THE DX10
  2614
  2615	023500	000001	000004		MCLOAD:	RSEL,,MPCTL			;SELECT MPCTL
  2616	023501	000000	000000			0				;CLEAR SWITCHES
  2617	023502	000001	000005			RSEL,,MPADR			;SELECT MPADR
  2618	023503	000000	000000			0				;LOAD ADDRESS 0
  2619	023504	000001	000004			RSEL,,MPCTL			;SELECT MPCTL
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 31
MAGLDR	MAC	23-Apr-80 13:55		DX10 MAGTAPE LOAD ROUTINE                                                          SEQ 0099

  2620					;READ TAPE RECORD
  2621
  2622	023505	201 04 0 00 000012 	DXREAD:	MOVEI	W,RETRY			;RETRY COUNTER
  2623
  2624	023506	201 00 0 00 023565 	DXRTRY:	MOVEI	DXRDF			;GET ADDRESS OF CHANNEL PROGRAM
  2625	023507	260 17 0 00 023551 		GO	DXWAIT			;START DX10, WAIT FOR DONE
  2626	023510	254 00 0 00 023522 		JRST	CHECK2			;NO ERROR, GET RECORD SIZE
  2627	023511	200 00 0 00 000021 		MOVE	LOWCMD+1		;GET STATUS
  2628	023512	603 00 0 00 002000 		TLNE	(UNITEX)		;WAS IT EOF?
  2629	023513	254 00 0 00 023125 		JRST	RDEOF			;YES, RETURN +1
  2630
  2631	023514	375 00 0 00 000004 	CHECK1:	SOSGE	W			;SHOULD WE TRY AGAIN?
  2632	023515	260 17 0 00 024272 		GO	ERR9
  2633	023516	201 00 0 00 023570 		MOVEI	DXBSB			;GET ADDRESS OF CHANNEL PROGRAM
  2634	023517	260 17 0 00 023551 		GO	DXWAIT			;START DX10, WAIT FOR DONE
  2635	023520	254 00 0 00 023506 		JRST	DXRTRY			;NO ERRORS
  2636	023521	260 17 0 00 024276 		GO	ERR11			;ERROR RETURN
  2637
  2638	023522	200 00 0 00 000022 	CHECK2:	MOVE	LOWCMD+2		;GET BYTE COUNTER
  2639	023523	240 00 0 00 777752 		ASH	-^D22			;SHIFT OUT CPC
  2640	023524	231 00 0 00 000005 		IDIVI	5			;COMPUTE WORDS IN BUFFER
  2641	023525	271 00 0 00 001000 		ADDI	MAGRCD
  2642	023526	202 00 0 00 025102 	CHECK3:	MOVEM	LDBUF+2			;PUT IN BUFFER HEADER
  2643	023527	201 00 0 00 025777 		MOVEI	LDBF+2			;SET UP BUFFER POINTER
  2644	023530	542 00 0 00 025101 		HRRM	LDBUF+1			;TO START OF BUFFER
  2645	023531	254 00 0 00 020377 		JRST	CPOPJ1			;SKIP RETURN
  2646
  2647					;BACKSPACE ONE FILE
  2648
  2649	023532	201 00 0 00 023572 	DXREVS:	MOVEI	DXBSF			;GET ADDRESS OF CHANNEL PROGRAM
  2650	023533	260 17 0 00 023551 		GO	DXWAIT			;START DX10, WAIT FOR DONE
  2651	023534	263 17 0 00 000000 		RTN				;NO ERRORS
  2652	023535	201 00 0 00 777777 	REVSER:	MOVEI	-1			;SET POSITION UNKNOWN
  2653	023536	202 00 0 00 024664 		MOVEM	MAGONCE			;FLAG
  2654	023537	254 00 0 00 022331 		JRST	DIAGLD			;REWIND AND START OVER
  2655
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 32
MAGLDR	MAC	23-Apr-80 13:55		DX10 MAGTAPE LOAD ROUTINE                                                          SEQ 0100

  2656					;REWIND
  2657
  2658	023540	201 00 0 00 023574 	DXREW:	MOVEI	DXREWD			;GET ADDRESS OF CHANNEL PROGRAM
  2659	023541	260 17 0 00 023551 		GO	DXWAIT			;START DX10, WAIT FOR DONE
  2660	023542	255 00 0 00 000000 		JFCL
  2661	023543	402 00 0 00 024647 	REWEND:	SETZM	CURR			;CURRENT FILE IS NOW 0
  2662	023544	263 17 0 00 000000 		RTN				;RETURN
  2663
  2664					;SPACE FORWARD ONE FILE
  2665
  2666	023545	201 00 0 00 023576 	DXFORW:	MOVEI	DXFSF			;GET ADDRESS OF CHANNEL PROGRAM
  2667	023546	260 17 0 00 023551 		GO	DXWAIT			;START DX10, WAIT FOR DONE
  2668	023547	263 17 0 00 000000 		RTN				;NO ERRORS
  2669	023550	260 17 0 00 024300 		GO	ERR12
  2670
  2671	023551	505 00 0 00 140000 	DXWAIT:	HRLI	(CHJMPG)		;SET JUMP COMMAND TO ADDRESS
  2672	023552	202 00 0 00 000020 		MOVEM	LOWCMD			;PUT IN LOW COMMAND
  2673	023553	402 00 0 00 000023 		SETZM	LOWCMD+3		;CLEAR EXTENDED ADDRESS POINTER
  2674	023554	256 00 0 00 025015 		XCT	TAPEGO			;START THE DX10
  2675	023555	256 00 0 00 025013 		XCT	TAPERD			;READ STATUS
  2676	023556	606 00 0 00 001700 		TRNN	INTFLG			;WAIT FOR DONE
  2677	023557	254 00 0 00 023555 		JRST	.-2			;NOT YET
  2678	023560	602 00 0 00 001600 		TRNE	MPERR!MEMPAR!NXM	;CHECK FOR FATAL ERROR
  2679	023561	260 17 0 00 024304 		GO	ERR14			;YES, REPORT IT
  2680	023562	602 00 0 00 002000 		TRNE	CSRFLG			;DEVICE ERROR?
  2681	023563	350 00 0 17 000000 		AOS	(P)			;SKIP IF NONE
  2682	023564	263 17 0 00 000000 		RTN				;RETURN
  2683
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 33
MAGLDR	MAC	23-Apr-80 13:55		DX10 MAGTAPE LOAD ROUTINE                                                          SEQ 0101

  2684	023565	300000	020000		DXRDF:	RDF				;READ FORWARD COMMAND
  2685	023566	660000	026000			-<MAGRCD*5>_4,,RBUF		;XFER WORD
  2686	023567	020000	000000			STORE				;STORE STATUS AND HALT
  2687
  2688	023570	200000	470000		DXBSB:	BSB				;BACKSPACE ONE BLOCK COMMAND
  2689	023571	020000	000000			STORE				;STORE STATUS AND HALT
  2690
  2691	023572	200000	570000		DXBSF:	BSF				;BACKSPACE ONE FILE COMMAND
  2692	023573	020000	000000			STORE				;STORE STATUS AND HALT
  2693
  2694
  2695	023574	200000	070000		DXREWD:	REWD				;REWIND COMMAND	;REWIND THE TAPE COMMAND
  2696	023575	000000	000000			0				;HALT, WAIT TILL AT BOT
  2697
  2698	023576	200000	770000		DXFSF:	FSF				;FORWARD SPACE FILE COMMAND
  2699	023577	020000	000000			STORE				;STORE STATUS AND HALT
  2700
  2701	023600	000001	000004		EXBUF:	RSEL,,MPCTL			;SELECT IBUS REGISTER MPCTL
  2702	023601	000000	000000			0				;CLEAR SWITCHES
  2703	023602	000001	000005			RSEL,,MPADR			;SELECT IBUS REGISTER MPADR
  2704	023603	000000	000016			MCCODE				;LOAD ADDRESS OF CODE WORD
  2705	023604	000001	000004			RSEL,,MPCTL			;SELECT IBUS REGISTER MPCTL
  2706	023605	000000	020000			ENEXM				;CAUSE A MEMORY READ CYCLE
  2707	023606	000001	000005		STBUF:	RSEL,,MPADR			;SELECT IBUS REGISTER MPADR
  2708	023607	000000	000200			MCSTRT				;MICRO-CODE START ADDRESS
  2709	023610	000001	000004			RSEL,,MPCTL			;SELECT MPCTL
  2710	023611	000000	100000			MPCONT				;START THE DX10
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 34
MAGLDR	MAC	23-Apr-80 13:55		TM10 MAGTAPE LOAD ROUTINE                                                          SEQ 0102

  2711					SUBTTL	TM10 MAGTAPE LOAD ROUTINE
  2712
  2713
  2714					;MAGTAPE CONTROL BITS
  2715
  2716			000344		TMS=344					;MAG TAPE STATUS (TMS)
  2717			000340		TMC=340					;MAG TAPE CONTROL (TMC)
  2718			000350		TMC2=350				;MAGTAPE CONTROL #2
  2719			000354		TMS2=354				;MAGTAPE STATUS #2
  2720			040000		PARITY=1B21				;ODD PARITY
  2721			000200		BPI800=1B28				;800 BPI DENSITY
  2722			020000		DUMP=1B22				;CORE DUMP MODE
  2723			000000		NOOP=0					;NO-OP
  2724			010000		NOOP1=10B26				;UNIT READY CHECK
  2725			001000		REWIND=1B26				;REWIND UNIT
  2726			002000		READX=2B26				;READ
  2727			006000		SPACE=6B26				;SPACE FORWARD RECORD
  2728			016000		SPACE1=16B26				;SPACE FORWARD FILE
  2729			007000		SPACE2=7B26				;SPACE REVERSE RECORD
  2730			017000		SPACE3=17B26				;SPACE REVERSE FILE
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 35
MAGLDR	MAC	23-Apr-80 13:55		TM10 MAGTAPE LOAD ROUTINE                                                          SEQ 0103

  2731					;MAGTAPE STATUS BITS
  2732
  2733		000400	000000		DF22=1B9				;DF10 IN 22 BIT MODE
  2734		000170	000000		DF10=17B14				;DF10 CHECK BITS
  2735			400000		HUNG=1B18				;TRANSPORT HUNG
  2736			200000		WIND=1B19				;TRANSPORT REWINDING
  2737			100000		BOT=1B20				;BEGINNING OF TAPE
  2738			040000		ILLOP=1B21				;ILLEGAL OPERATION
  2739			020000		PERR=1B22				;PARITY ERROR
  2740			010000		EOF=1B23				;END OF FILE
  2741			004000		EOT=1B24				;END OF TAPE (REAL)
  2742			002000		RCERR=1B25				;READ/COMP ERROR
  2743			001000		RLINC=1B26				;RECORD LENGTH INCORRECT
  2744			000400		DATLAT=1B27				;DATA LATE
  2745			000200		BADTAP=1B28				;BAD TAPE
  2746			000100		JOBDON=1B29				;JOB DONE
  2747			000040		IDLE=1B30				;XPORT IDLE
  2748			000010		WRTLCK=1B32				;WRITE LOCK
  2749			000004		CHAN7=1B33				;SEVEN CHANNEL XPORT
  2750			000001		DATA=1B35				;DATA READY
  2751
  2752			466600		BADBIT=HUNG!ILLOP!EOT!RCERR!DATLAT!BADTAP!PERR	;ERROR BITS
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 36
MAGLDR	MAC	23-Apr-80 13:55		TM10 MAGTAPE LOAD ROUTINE                                                          SEQ 0104

  2753	023612	307 02 0 00 000001 	TMDEV:	CAIG	B,1			;IF DEVICE CODE 0 OR 1
  2754	023613	201 02 0 00 000340 		MOVEI	B,TMC			;MAKE CODE TMC
  2755	023614	306 02 0 00 000002 		CAIN	B,2			;IF CODE IS 2
  2756	023615	201 02 0 00 000350 		MOVEI	B,TMC2			;MAKE CODE TMC2
  2757	023616	305 02 0 00 000020 		CAIGE	B,20			;SKIP IF LEGAL CODE
  2758	023617	254 00 0 00 022153 		JRST	EXECDV			;NO, ERROR
  2759	023620	242 02 0 00 777776 		LSH	B,-2			;POSITION DEVICE CODE
  2760	023621	660 02 0 00 000001 		TRO	B,1			;SET LOW ORDER BIT
  2761	023622	205 00 0 00 700140 		MOVSI	(DATAO)			;GET DATAO INSTRUCTION
  2762	023623	137 02 0 00 024533 		DPB	B,[POINT 7,0,9]		;SET IN DEVICE CODE
  2763	023624	202 00 0 00 025014 		MOVEM	TAPELD			;SET UP TAPELD
  2764	023625	641 00 0 00 000300 		TLC	(30B14)			;CONVERT TO CONI TMS,
  2765	023626	202 00 0 00 025013 		MOVEM	TAPERD			;SET UP TAPERD
  2766	023627	621 00 0 00 000740 		TLZ	(74B14)			;CONVERT TO BLKI TMC,
  2767	023630	541 00 0 00 000005 		HRRI	Q			;SET Q IN E FIELD
  2768	023631	202 00 0 00 025016 		MOVEM	TAPEEX			;SET UP TAPEEX
  2769	023632	661 00 0 00 000205 		TLO	Q(20B14)		;CONVERT TO CONO TMC,(Q)
  2770	023633	512 00 0 00 025015 		HLLZM	TAPEGO			;SET UP TAPEGO
  2771	023634	260 17 0 00 022241 		GO	UNIT			;GET UNIT NUMBER
  2772	023635	303 00 0 00 000007 		CAILE	7			;CHECK IF LEGAL
  2773	023636	254 00 0 00 022153 		JRST	EXECDV			;NO, ERROR
  2774	023637	137 00 0 00 024556 		DPB	[POINT 3,TAPEGO,20]	;SET UNIT NUMBER IN CONO INSTRUCTION
  2775	023640	200 00 0 00 024563 		MOVE	[[EXP TMREAD,TMREVS,TMFORW,TMREW],,READBL]
  2776	023641	251 00 0 00 025011 		BLT	REW			;SET UP DISPATCH LOCATIONS TO TM ROUTINES
  2777	023642	201 05 0 00 000000 		MOVEI	Q,NOOP			;GET NOOP COMMAND
  2778	023643	256 00 0 00 025015 		XCT	TAPEGO			;SELECT THE UNIT
  2779	023644	256 00 0 00 025013 		XCT	TAPERD			;READ STATUS
  2780	023645	606 00 0 00 200040 		TRNN	WIND!IDLE		;SKIP IF DRIVE READY
  2781	023646	254 00 0 00 022153 		JRST	EXECDV			;DRIVE OR TM10 NOT READY
  2782	023647	400 01 0 00 000000 		SETZ	A,			;CLEAR A
  2783	023650	603 00 0 00 000170 		TLNE	(DF10)			;SKIP IF A TM10B
  2784	023651	254 00 0 00 023656 		JRST	TMA			;NO, GO AROUND
  2785	023652	205 01 0 00 777000 		MOVSI	A,-MAGRCD		;SET UP CHANNEL COMMAND RECORD SIZE
  2786	023653	603 00 0 00 000400 		TLNE	(DF22)			;SKIP IF DF10 IN 18 BIT MODE
  2787	023654	242 01 0 00 000004 		LSH	A,4			;NO, SHIFT OVER 4 PLACES
  2788	023655	541 01 0 00 025777 		HRRI	A,RBUF-1		;SET IN ADDRESS -1
  2789	023656	202 01 0 00 000476 	TMA:	MOVEM	A,CHNCMD		;SET UP CHANNEL COMMAND LIST
  2790	023657	263 17 0 00 000000 		RTN
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 37
MAGLDR	MAC	23-Apr-80 13:55		TM10 MAGTAPE LOAD ROUTINE                                                          SEQ 0105

  2791					;READ TAPE RECORD
  2792
  2793	023660	201 04 0 00 000012 	TMREAD:	MOVEI	W,RETRY			;SET UP RETRY COUNT
  2794	023661	201 00 0 00 000020 		MOVEI	LOWCMD			;GET ADR OF DF ICCW
  2795	023662	256 00 0 00 025014 		XCT	TAPELD			;LOAD INTO TM10
  2796	023663	201 00 0 00 000476 	TMRTRY:	MOVEI	CHNCMD			;MAKE THIS INSTRUCTION
  2797	023664	202 00 0 00 000020 		MOVEM	LOWCMD			;  A JUMP TO CHN COMMAND LIST
  2798	023665	201 05 0 00 062200 		MOVEI	Q,DUMP!PARITY!READX!BPI800	;SET UP READ COMMAND
  2799	023666	256 00 0 00 025015 		XCT	TAPEGO			;START TAPE READ
  2800	023667	332 00 0 00 000476 		SKIPE	CHNCMD			;CHANNEL CONNECTED?
  2801	023670	254 00 0 00 023702 		JRST	TMWAIT			;YES, WAIT TILL DONE
  2802	023671	200 05 0 00 024564 		MOVE	Q,[IOWD MAGRCD,RBUF]	;GET BLKI POINTER
  2803	023672	256 00 0 00 025013 	TMRDS:	XCT	TAPERD			;READ STATUS
  2804	023673	602 00 0 00 000100 		TRNE	JOBDON			;LOOK FOR JOB DONE
  2805	023674	254 00 0 00 023703 		JRST	CHECK			;SET, CHECK FOR ERRORS
  2806	023675	606 00 0 00 000001 		TRNN	DATA			;LOOK FOR DATA REQUEST
  2807	023676	254 00 0 00 023672 		JRST	TMRDS			;NO, KEEP LOOKING
  2808	023677	256 00 0 00 025016 		XCT	TAPEEX			;READ A WORD
  2809	023700	254 00 0 00 023702 		JRST	TMWAIT			;BLKI SATISFIED
  2810	023701	254 00 0 00 023672 		JRST	TMRDS			;LOOP TILL DONE
  2811
  2812	023702	260 17 0 00 023723 	TMWAIT:	GO	TMDONE			;WAIT FOR DONE TO SET
  2813	023703	602 00 0 00 010000 	CHECK:	TRNE	EOF			;EOF?
  2814	023704	254 00 0 00 023125 		JRST	RDEOF			;YES, RETURN +1
  2815	023705	602 00 0 00 466600 		TRNE	BADBIT			;ANY ERRORS?
  2816	023706	254 00 0 00 023714 		JRST	CHECK0			;YES
  2817	023707	332 00 0 00 000476 		SKIPE	CHNCMD			;CHANNEL CONNECTED?
  2818	023710	200 05 0 00 000021 		MOVE	Q,LOWCMD+1		;YES, GET TERM WORD
  2819	023711	201 00 0 05 000000 		MOVEI	(Q)			;GET BUFFER ADDRESS
  2820	023712	275 00 0 00 025777 	WDCNT:	SUBI	RBUF-1			;SUBTRACT START BUFFER ADDRESS
  2821	023713	254 00 0 00 023526 		JRST	CHECK3			;GO SET UP LDBLK
  2822
  2823	023714	375 00 0 00 000004 	CHECK0:	SOSGE	W			;SHOULD WE TRY AGAIN?
  2824	023715	260 17 0 00 024272 		GO	ERR9			;NO
  2825	023716	402 00 0 00 000020 		SETZM	LOWCMD			;CLEAR DF10 WORD COUNT
  2826	023717	201 05 0 00 067200 		MOVEI	Q,PARITY!DUMP!SPACE2!BPI800	;BACKSPACE ONE RECORD
  2827	023720	260 17 0 00 023722 		GO	TMGO			;MOVE THE TAPE BACKWARD
  2828	023721	254 00 0 00 023663 		JRST	TMRTRY			;TRY AGAIN
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 38
MAGLDR	MAC	23-Apr-80 13:55		TM10 MAGTAPE LOAD ROUTINE                                                          SEQ 0106

  2829	023722	256 00 0 00 025015 	TMGO:	XCT	TAPEGO			;START TAPE MOVING
  2830	023723	256 00 0 00 025013 	TMDONE:	XCT	TAPERD			;READ STATUS
  2831	023724	606 00 0 00 000100 		TRNN	JOBDON			;SKIP IF JOB DONE IS SET
  2832	023725	254 00 0 00 023723 		JRST	TMDONE			;NO, KEEP ON WAITING
  2833	023726	263 17 0 00 000000 		RTN				;SET, RETURN
  2834
  2835	023727	201 05 0 00 077200 	TMREVS:	MOVEI	Q,PARITY!DUMP!SPACE3!BPI800	;SET UP COMMAND
  2836	023730	260 17 0 00 023722 		GO	TMGO			;MOVE TAPE REVERSE
  2837	023731	602 00 0 00 466600 		TRNE	BADBIT			;CHECK FOR ERRORS
  2838	023732	254 00 0 00 023535 		JRST	REVSER			;YES, REWIND AND START OVER
  2839	023733	263 17 0 00 000000 		RTN
  2840
  2841	023734	201 05 0 00 001200 	TMREW:	MOVEI	Q,REWIND!BPI800		;SET UP REWIND
  2842	023735	260 17 0 00 023722 		GO	TMGO			;MOVE TAPE
  2843	023736	201 05 0 00 010200 		MOVEI	Q,NOOP1!BPI800		;NOOP, INTERRUPT WHEN READY
  2844	023737	260 17 0 00 023722 		GO	TMGO			;WAIT
  2845	023740	254 00 0 00 023543 		JRST	REWEND			;DONE
  2846
  2847	023741	201 05 0 00 076200 	TMFORW:	MOVEI	Q,DUMP!PARITY!SPACE1!BPI800	;SET UP COMMAND
  2848	023742	260 17 0 00 023722 		GO	TMGO			;MOVE TAPE FORWARD
  2849	023743	602 00 0 00 466400 		TRNE	BADBIT-BADTAP		;CHECK FOR ERRORS
  2850	023744	260 17 0 00 024300 		GO	ERR12			;ERROR
  2851	023745	263 17 0 00 000000 		RTN				;DONE
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 39
MAGLDR	MAC	23-Apr-80 13:55		RH10/RH20 LOAD ROUTINES                                                            SEQ 0107

  2852					SUBTTL	RH10/RH20 LOAD ROUTINES
  2853
  2854					;*DEVICE CODE FOR THE RH20
  2855
  2856			000540		RH0=540
  2857			000544		RH1=544
  2858			000550		RH2=550
  2859			000554		RH3=554
  2860			000560		RH4=560
  2861			000564		RH5=564
  2862			000570		RH6=570
  2863			000574		RH7=574
  2864
  2865					;*DEVICE CODES FOR RH10
  2866
  2867			000270		DH=270
  2868			000274		DH2=274
  2869			000360		DH3=360
  2870			000364		DH4=364
  2871			000370		DH5=370
  2872			000374		DH6=374
  2873
  2874					;*RH20 CONO BIT ASSIGNMENTS
  2875
  2876			004000		RAECLR=1B24				;REGISTER ACCESS ERROR CLEAR
  2877			002000		MBCCLR=1B25				;MASSBUSS CONTROLLER CLEAR
  2878			001000		XECLR=1B26				;TRANSFER ERROR CLEAR
  2879			000400		MBE=1B27				;MASSBUSS CONTROLLER ENABLE
  2880			000200		RCLPA=1B28				;RESET THE COMMAND LIST POINTER
  2881			000100		DSCR=1B29				;DELETE SECONDARY COMMAND REGISTER
  2882			000040		ATTEN=1B30				;ATTENTION  INTERRUPT (ENABLE)
  2883			000010		DNCLR=1B32				;CLEAR COMMAND DONE
  2884			000007		PIA=7B35				;PI CHANNEL MASK BITS
  2885			000040		BUSLP=1B30				;ENABLE MAINTENANCE LOOPING
  2886			000010		RHEBL=1B32				;END OF BLOCK
  2887			001000		DTRA=1B26				;TRANFER BIT IN DIAG REG
  2888			000001		RHCLK=1B35				;SCLK
  2889
  2890
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 40
MAGLDR	MAC	23-Apr-80 13:55		RH10/RH20 LOAD ROUTINES                                                            SEQ 0108

  2891					;*RH20 CONI BIT ASSIGNMENTS
  2892
  2893		020000	000000		LNXM=1B4				;MBOX NON-EX MEM
  2894		200000	000000		LPAR=1B1				;MBOX PAR ERR
  2895		100000	000000		SBERR=1B2				;SBUSS ERR
  2896			400000		DBPE=1B18				;DATA BUSS PARITY ERROR
  2897			200000		DREX=1B19				;DRIVE EXCEPTION
  2898			100000		LWCER=1B20				;LONG WORD COUNT ERROR
  2899			040000		SWCER=1B21				;SHORT WORD COUNT ERROR
  2900			020000		CHNER=1B22				;CHANNEL ERROR
  2901			010000		DRESSER=1B23				;DRIVE RESPONSE ERROR
  2902			004000		RAEER=1B24				;REGISTER ACCESS ERROR
  2903			002000		CHNRDY=1B25				;CHANNEL NOT BUSY
  2904			001000		DOVRER=1B26				;DATA OVERRUN ERROR
  2905			000400		MASSEN=1B27				;MASSBUSS ENABLED
  2906			000200		DRATTN=1B28				;DRIVE NEEDS ATTENTION
  2907			000100		SCRFUL=1B29				;SECONDARY COMMAND REG IS FULL
  2908			000040		ATTNEN=1B30				;THE ATTENTION INTERRUPT IS ENABLED
  2909			000020		PCRFUL=1B31				;PRIMARY COMMAND REGISTER IS FULL
  2910			000010		CMDDN=1B32				;COMMAND IS DONE
  2911			000007		PIA=7B35
  2912			615000		RH.ERS=DBPE+DREX+DRESSER+RAEER+DOVRER
  2913
  2914		004000	000000		DF22F=1B6				;DF10 IN 22 BIT MODE ON RH10
  2915
  2916					;CHANNEL STATUS WORD 1 BIT DEFINTIONS
  2917
  2918		200000	000000		CH.PAR=1B1				;MEMORY PARITY ERROR
  2919		100000	000000		CH.SER=1B2				;NOT SBUS ERROR
  2920		040000	000000		CH.WCZ=1B3				;WORD COUNT NOT = 0
  2921		020000	000000		CH.NXM=1B4				;CHANNEL NON-EX MEM
  2922		000400	000000		CH.LER=1B9				;LAST TRANSFER ERROR
  2923		000200	000000		CH.RHE=1B10				;RH20 ERROR
  2924		000100	000000		CH.LWC=1B11				;LONG WORD COUNT ERR
  2925		000040	000000		CH.SWC=1B12				;SHORT WORD COUNT ERR
  2926		000020	000000		CH.OVR=1B13				;CHANNEL OVERRUN ERR
  2927		360760	000000		CH.ERS=CH.PAR+CH.SER+CH.WCZ+CH.NXM+CH.LER+CH.RHE+CH.LWC+CH.SWC+CH.OVR
  2928
  2929
  2930
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 41
MAGLDR	MAC	23-Apr-80 13:55		RH10/RH20 LOAD ROUTINES                                                            SEQ 0109

  2931					;*DATAO-DATAI FOR THE DRIVE REGISTERS (00-37)
  2932
  2933		004000	000000		LR=1B6					;LOAD REGISTER BIT
  2934			004000		LDBIT=1B24				;LR DEFINITION USED IN HRLI INSTRUCTIONS
  2935		001000	000000		PE=1B8					;PARITY ERROR DETECTED
  2936		000400	000000		DRAES=1B9				;DISABLE REG ACCESS ERROR STOP
  2937		000200	000000		TRA=1B10				;ASYNC TRANSFER IN PROGRESS
  2938		000007	000000		DRSEL=7B17				;A MASK FOR DRIVE SELECT BITS
  2939			400000		EP=1B18					;WRITE AS EVEN PARITY
  2940			200000		PAR=1B19				;PARITY RECEIVED ON LAST REGISTER READ
  2941			177777		RDAT=177777B35				;MASK FOR  THE 16 DATA BITS IN THE REG.
  2942
  2943
  2944					;*DATAO-DATAI FOR  RH20 SECONDARY BLOCK ADDRESS REGISTER (70)
  2945
  2946		004000	000000		LR=1B6					;LOAD REGISTER
  2947		000007	000000		DRSEL=7B17				;DRIVE SELECT MASK
  2948			177777		RDAT=177777B35				;MASK FOR THE 16 DATA BITS
  2949
  2950
  2951					;*DATAO-DATAI FOR RH20 PRIMARY BLOCK ADDRESS REGISTER (72)
  2952
  2953		000007	000000		DRSEL=7B17				;MASK FOR DRIVE SELECT BITS
  2954			177777		RDAT=177777B35				;MASK FOR THE REGISTERS DATA BITS
  2955
  2956
  2957					;*DATAO-DATAI FOR RH20 SECONDARY TRANSFER CONTROL REGISTER (71)
  2958
  2959		004000	000000		LR=1B6					;LOAD REGISTER BIT
  2960		002000	000000		PCLP=1B7				;RESET THE COMMAND LIST POINTER
  2961		400000	000000		XFR==1B0				;CHN TRANSFER INSTRUCTION
  2962		000020	000000		SIZE1==1B13				;BYTE COUNT OF 1
  2963		200000	000000		CHJMP==1B1				;CHN JUMP  INSTRUCTION
  2964		000200	000000		STORE=1B10				;STORE THE M-BOX ERROR STATUS
  2965		000007	000000		DRSEL=7B17				;MASK FOR THE DRIVE SELECT 
  2966			200000		DTES=1B19				;DISABLE TRANSFER ERROR STOP
  2967			177700		BLKCNT=1777B29				;MASK FOR THE BLOCK COUNT
  2968			000077		FNCTN=77B35				;MASK FOR THE FUNCTION
  2969
  2970
  2971					;*DATAO-DATAI FOR RH20 PRIMARY TRANSFER REGISTER (73)
  2972
  2973		000007	000000		DRSEL=7B17				;MASK FOR THE DRIVE SELECT BITS
  2974			200000		DTES=1B19				;INHIBIT TRANSFER ERROR STOP
  2975			177700		BLKCNT=1777B29				;MASK  FOR THE BLOCK COUNT
  2976			000077		FNCTN=77B35				;MASK FOR THE FUNCTION BITS
  2977
  2978
  2979					;*DATAO-DATAI FOR THE RH20 INTERRUPT VECTOR REGISTER (74)
  2980
  2981			000777		IADDR=777B35				;MASK FOR THE INTERRUPT ADDRESS
  2982
  2983
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 42
MAGLDR	MAC	23-Apr-80 13:55		RH10/RH20 LOAD ROUTINES                                                            SEQ 0110

  2984					;*RH20  REGISTER ASSIGNMENTS
  2985
  2986		770000	000000		RHDIAG=77B5				;RH DIAGNOSTIC REGISTER
  2987		760000	000000		RHWRR=76B5				;RH WRITE REGISTER
  2988		750000	000000		RHRDR=75B5				;RH READ REGISTER
  2989		740000	000000		RHIVR=74B5				;INTERRUPT VECTOR INDEX REGISTER
  2990		730000	000000		RHPTCR=73B5				;PRIMARY TRANSFER CONTROL REGISTER
  2991		720000	000000		RHPBAR=72B5				;PRIMARY BLOCK ADDRESS REGISTER
  2992		710000	000000		RHSTCR=71B5				;SECONDARY TRANSFER CONTROL REGISTER
  2993		700000	000000		RHSBAR=70B5				;SECONDARY BLOCK ADDRESS REGISTER
  2994
  2995		400000	000000		DHSTRC=40B5				;RH10 TRANSFER CONTROL REGISTER
  2996
  2997
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 43
MAGLDR	MAC	23-Apr-80 13:55		RH10/RH20 LOAD ROUTINES                                                            SEQ 0111

  2998					;* MASSBUSS DEVICE REGISTER BIT ASSIGNMENTS (REGISTERS 00-17)
  2999
  3000			000000		DRCR=0B5				;CONTROL REGISTER
  3001		010000	000000		DRSR=1B5				;STATUS REGISTER
  3002		020000	000000		DRER1=2B5				;ERROR REGISTER #1 OF 3
  3003		030000	000000		DRMR=3B5				;MAINTAINABILITY REGISTER
  3004		040000	000000		DRAS=4B5				;ATTENTION SUMMARY "PSEUDO" REGISTER
  3005		050000	000000		DRDTS=5B5				;DESIRED TRACK AND SECTOR REGISTER
  3006		050000	000000		DRFC=5B5				;FRAME COUNTER REGISTER
  3007		060000	000000		DRDT=6B5				;DRIVE TYPE REGISTER
  3008		070000	000000		DRLA=7B5				;TRACK/SECTOR LOOK AHEAD REGISTER
  3009		140000	000000		DRER2=14B5				;ERROR REGISTER #2 OF 3
  3010		110000	000000		DRTC=11B5				;TAPE CONTROL REGISTER
  3011		110000	000000		DROFF=11B5				;OFFSET REGISTER
  3012		120000	000000		DRDCY=12B5				;DESIRED CYLINDER ADDRESS REGISTER
  3013		130000	000000		DRCCY=13B5				;CURRENT CYLINDER ADDRESS REGISTER
  3014		100000	000000		DRSN=10B5				;SERIAL NUMBER REGISTER
  3015		150000	000000		DRER3=15B5				;ERROR REGISTER #3 OF 3
  3016		160000	000000		DREC1=16B5				;ECC POSITION REGISTER
  3017		170000	000000		DREC2=17B5				;ECC PATTERN REGISTER
  3018
  3019					;LEFT HAND DEFINTIONS FOR DEVICE REGISTERS
  3020
  3021			000000		DR.CR=0B23
  3022			010000		DR.SR=1B23
  3023			020000		DR.ER1=2B23
  3024			030000		DR.MR=3B23
  3025			040000		DR.AS=4B23
  3026			050000		DR.FC=5B23
  3027			060000		DR.DT=6B23
  3028			070000		DR.LA=7B23
  3029			140000		DR.ER2=14B23
  3030			110000		DR.TC=11B23
  3031			110000		DR.OFF=11B23
  3032			120000		DR.DCY=12B23
  3033			130000		DR.CCY=13B23
  3034			100000		DR.SN=10B23
  3035			150000		DR.ER3=15B23
  3036			160000		DR.EC1=16B23
  3037			170000		DR.EC2=17B23
  3038
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 44
MAGLDR	MAC	23-Apr-80 13:55		RH10/RH20 LOAD ROUTINES                                                            SEQ 0112

  3039					;MAGNETIC TAPE FUNCTION SET
  3040					;(FUNCTIONS INCLUDE THE "GO" BIT)
  3041
  3042			000001		NOOP=1					;A NO-OP
  3043			000003		ULOAD=3					;UNLOAD THE DRIVE
  3044			000007		RWND=7					;REWIND TAPE
  3045			000011		CLEAR=11				;DRIVE CLEAR
  3046			000013		RELSE=13				;RELEASE FROM PRESENT PORT
  3047			000027		WTFM=27					;WRITE A FILE MARK
  3048			000031		SPFWDR=31				;SPACE FORWARD A RECORD
  3049			000033		SPBAKR=33				;SPACE BACKWARD A RECORD
  3050			000051		WTCKF=51				;WRITE CHECK FORWARD
  3051			000057		WTCKR=57				;WRITE CHECK REVERSE
  3052			000061		WTF=61					;WRITE FORWARD
  3053			000065		WTFLIG=65				;WRITE FORWARD WITH LONG IRG
  3054			000071		RDF=71					;READ FORWARD
  3055			000077		RDR=77					;READ REVERSE
  3056
  3057					;* MASSBUSS DEVICE STATUS REGISTER BIT ASSIGNMENTS (DRSR REG-01)
  3058
  3059					;COMMON BIT ASSIGNMENTS
  3060
  3061			100000		ATA=1B20				;ATTENTION ACTIVE (CAUSES ATTN SUMMARY)
  3062			040000		CERR=1B21				;COMPOSITE ERROR (MUST CHECK ERROR REGS)
  3063			020000		PIP=1B22				;POSITIONING IS IN PROGRES
  3064			010000		MOL=1B23				;MEDIUM IS ON LINE
  3065			004000		WRL=1B24				;DRIVE HAS BEEN MANUALLY WRITE PROTECTED
  3066			001000		NEUT=1B26				;DRIVE NOT BUSY ON EITHER PORT
  3067			000400		DPR=1B27				;DRIVE PRESENT (ALWAYS=1 IF SINGLE PORT)
  3068			000200		DRY=1B28				;DRIVE READY TO ACCEPT ANOTHER COMMAND
  3069			000100		VV=1B29					;VOLUME VALID
  3070
  3071					;FOR MAG-TAPE DEVICES
  3072
  3073			000001		SLA=1B35				;SLAVE ATTENTION
  3074			000002		BOT=1B34				;TAPE AT BOT
  3075			000004		EOF=1B33				;END OF FILE DETECTED
  3076			000010		IDB=1B32				;IDENTIFICATION BURST READ
  3077			000020		SDWN=1B31				;SLOWING-SETTLING DOWN
  3078			000040		PES=1B30				;PHASE ENCODED STATUS
  3079			000100		SSC=1B29				;SLAVE STATUS CHANGE
  3080			002000		EOT=1B25				;END OF TAPE
  3081
  3082					;*BIT ASSIGNMENTS FOR MASSBUSS FRAME COUNTER REGISTER (DRFC REG-05)
  3083
  3084			177777		FRAMES=177777B35			;MASK FOR 16-BIT FRAME COUNT
  3085			001000		FCE=1B26				;FRAME COUNT ERROR BIT
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 45
MAGLDR	MAC	23-Apr-80 13:55		RH10/RH20 LOAD ROUTINES                                                            SEQ 0113

  3086	023746	476 00 0 00 024677 	RH20DV:	SETOM	RH20#			;SET RH20 DEVICE FLAG
  3087	023747	303 02 0 00 000007 		CAILE	B,7			;SKIP IF RH20 NUMBER GIVEN
  3088	023750	254 00 0 00 022153 		JRST	EXECDV			;NO, ERROR
  3089	023751	200 00 0 00 000002 		MOVE	B			;GET NUMBER
  3090	023752	242 00 0 00 000002 		LSH	2			;COMPUTE LOGOUT AREA OF CHANNEL
  3091	023753	435 00 0 00 377000 		ORI	377000			;SET UP RELOCATABLE ADDRESS
  3092	023754	202 00 0 00 024673 		MOVEM	MSLOWC#			;SAVE ADDRESS
  3093	023755	271 00 0 00 000002 		ADDI	2			;GET LOGOUT WORD ADDRESS
  3094	023756	202 00 0 00 024672 		MOVEM	MSLOW2#			;SAVE IT
  3095	023757	200 00 0 00 024565 		MOVE	[RHSTCR!LR!<-1B29&BLKCNT>!RDF!PCLP!STORE]
  3096	023760	202 00 0 00 024152 		MOVEM	MSRD			;STORE READ COMMAND
  3097	023761	201 00 0 00 024145 		MOVEI	MSCMD			;GET ADDRESS OF TRANSFER COMMAND
  3098	023762	661 00 0 00 200000 		TLO	(1B1)			;SET CONTINUE BIT
  3099	023763	202 00 0 00 024671 		MOVEM	MSJUMP#			;SAVE CHANNEL JUMP COMMAND
  3100	023764	201 00 0 00 615000 		MOVEI	RH.ERS			;GET CONI ERROR BITS FOR RH20
  3101	023765	202 00 0 00 024651 		MOVEM	ERRBTS#			;SAVE
  3102						MOVE	A,[POINT 7,[BYTE (7) RH0_-2,RH1_-2,RH2_-2,RH3_-2,RH4_-2,RH5_-2,RH6_-2,RH7_-
  3103	023766	200 01 0 00 024570 	2]]
  3104	023767	133 00 0 00 000001 		IBP	A			;INCREMENT BYTE POINTER
  3105	023770	365 02 0 00 023767 		SOJGE	B,.-1			;  TO CODE NUMBER REQUESTED
  3106	023771	135 02 0 00 000001 		LDB	B,A			;GET DEVICE CODE
  3107	023772	305 02 0 00 000020 		CAIGE	B,20			;SKIP IF LEGAL CODE
  3108	023773	254 00 0 00 022153 		JRST	EXECDV			;NO, ERROR
  3109	023774	242 02 0 00 000032 		LSH	B,^D26			;POSITION DEVICE CODE
  3110	023775	434 02 0 00 024571 	MSDV:	OR	B,[CONO MBCCLR]
  3111	023776	202 02 0 00 025012 		MOVEM	B,TAPECL		;LOAD TAPECL WITH CONO INSTRUCTION
  3112	023777	541 02 0 00 005610 		HRRI	B,MBE!XECLR!RCLPA!DNCLR!RAECLR	;GET START BITS
  3113	024000	202 02 0 00 025015 		MOVEM	B,TAPEGO		;LOAD TAPEGO
  3114	024001	661 02 0 00 000040 		TLO	B,(4B14)		;CHANGE TO CONI
  3115	024002	512 02 0 00 025013 		HLLZM	B,TAPERD		;LOAD TAPERD
  3116	024003	621 02 0 00 000200 		TLZ	B,(20B14)		;CHANGE TO DATAI
  3117	024004	512 02 0 00 025016 		HLLZM	B,TAPEEX		;LOAD TAPEEX
  3118	024005	641 02 0 00 000140 		TLC	B,(14B14)		;CHANGE TO BLKO
  3119	024006	512 02 0 00 025014 		HLLZM	B,TAPELD		;LOAD TAPELD
  3120	024007	260 17 0 00 022241 		GO	UNIT			;GET UNIT NUMBER
  3121	024010	303 00 0 00 000077 		CAILE	77			;CHECK IF LEGAL
  3122	024011	254 00 0 00 022153 		JRST	EXECDV			;NO, ERROR
  3123	024012	137 00 0 00 024572 		DPB	[POINT 3,MSRESO,35]	;LOAD SLAVE NUMBER IN CONTROL REG
  3124	024013	242 00 0 00 777775 		LSH	-3			;GET DRIVE NUMBER
  3125	024014	200 02 0 00 024573 		MOVE	B,[XWD -9,MSRESO]	;GET POINTER TO DATAO WORDS
  3126	024015	205 01 0 00 220302 		MOVSI	A,(POINT 3,(B),17)	;GET BYTE POINTER
  3127	024016	137 00 0 00 000001 		DPB	A			;LOAD DRIVE NUMBER
  3128	024017	253 02 0 00 024016 		AOBJN	B,.-1			;INTO ALL DATAO WORDS
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 46
MAGLDR	MAC	23-Apr-80 13:55		RH10/RH20 LOAD ROUTINES                                                            SEQ 0114

  3129	024020	201 02 0 00 000002 		MOVEI	B,2			;SET DENSITY CODE TO 800 BPI
  3130	024021	260 17 0 00 022144 		GO	ASKDEN			;ASK WHICH DENSITY
  3131	024022	242 02 0 00 000001 		LSH	B,1			;MAKE IT 1600 PBI
  3132	024023	137 02 0 00 024574 		DPB	B,[POINT 3,MSRESO,27]	;LOAD INTO TAPE CONTROL REGISTER
  3133	024024	200 00 0 00 024601 		MOVE	[[EXP MSREAD,MSREVS,MSFORW,MSREW],,READBL]
  3134	024025	251 00 0 00 025011 		BLT	REW			;SET UP DISPATCH LOCATIONS TO MS ROUTINES
  3135	024026	260 17 0 00 024157 		GO	MSRSET			;RESET THE CONTROLLER
  3136	024027	561 00 0 00 024152 		HRROI	MSSTAT-1		;SELECT STATUS REGISTER
  3137	024030	260 17 0 00 023421 		GO	BLOCKO
  3138	024031	256 00 0 00 025016 		XCT	TAPEEX			;READ THE STATUS OF DRIVE SELECTED
  3139	024032	606 00 0 00 010000 		TRNN	MOL			;CHECK IF DRIVE ON-LINE
  3140	024033	254 00 0 00 022153 		JRST	EXECDV			;NO, ERROR
  3141	024034	256 00 0 00 025013 		XCT	TAPERD			;READ CONI STATUS
  3142	024035	205 01 0 00 777000 		MOVSI	A,-^D512		;SET UP WORD COUNT
  3143	024036	603 00 0 00 004000 		TLNE	(DF22F)			;CHECK IF DF10 IN 22 BIT ADDRESS MODE
  3144	024037	242 01 0 00 000004 		LSH	A,4			;YES, SHIFT OVER WORD COUNT
  3145	024040	541 01 0 00 025777 		HRRI	A,RBUF-1		;SET IN ADDRESS
  3146	024041	202 01 0 00 000476 		MOVEM	A,CHNCMD		;STORE IN CHANNEL COMMAND LIST
  3147	024042	263 17 0 00 000000 		RTN
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 47
MAGLDR	MAC	23-Apr-80 13:55		RH10/RH20 LOAD ROUTINES                                                            SEQ 0115

  3148	024043	336 00 0 00 020010 	MSREAD:	SKIPN	KLFLG
  3149	024044	254 00 0 00 024054 		JRST	.+10			;NOT A KL10
  3150	024045	200 00 0 00 000417 		MOVE	417
  3151	024046	202 00 0 00 024714 		MOVEM	$SV417#			;SAVE PRESENT ENTRY
  3152	024047	201 00 0 00 540000 		MOVEI	540000			;RELOCATE RH20 CHANNEL AREA
  3153	024050	202 00 0 00 000417 		MOVEM	417			;THRU ADR 377000
  3154	024051	7 010 24 0 00 000000 		CONI	PAG,0
  3155	024052	660 00 0 00 020000 		TRO	0,TRPENB
  3156	024053	7 010 20 1 00 000000 		CONO	PAG,@0
  3157
  3158	024054	200 00 0 00 024671 	RHREAD:	MOVE	MSJUMP			;GET CHANNEL JUMP COMMAND
  3159	024055	202 00 1 00 024673 		MOVEM	@MSLOWC			; IN CHANNEL LOCATION
  3160
  3161	024056	201 04 0 00 000012 		MOVEI	W,RETRY			;RETRY COUNTER
  3162
  3163	024057	260 17 0 00 024157 	MSRTRY:	GO	MSRSET			;RESET THE RH20
  3164	024060	561 00 0 00 024151 		HRROI	MSRD-1			;ISSUE A READ
  3165	024061	260 17 0 00 023421 		GO	BLOCKO			;  COMMAND TO CHANNEL
  3166	024062	256 00 0 00 025013 		XCT	TAPERD			;READ CHANNEL STATUS
  3167	024063	606 00 0 00 000250 		TRNN	CMDDN!DRATTN!ATTNEN	;WAIT FOR DONE FLAG
  3168	024064	254 00 0 00 024062 		JRST	.-2
  3169	024065	612 00 0 00 024651 		TDNE	ERRBTS			;CHECK IF ANY CHANNEL ERRORS
  3170	024066	254 00 0 00 024115 		JRST	CHECK5			;YES, GO SEE IF WANT TO RETRY
  3171	024067	260 17 0 00 024165 		GO	MSRDY			;READ THE STATUS
  3172	024070	255 00 0 00 000000 		JFCL
  3173	024071	602 00 0 00 000004 		TRNE	EOF			;CHECK IF READ AN EOF
  3174	024072	254 00 0 00 023125 		JRST	RDEOF			;YES, GIVE EOF RETURN
  3175	024073	561 00 0 00 024153 		HRROI	MSERR-1			;READ ERROR REGISTER
  3176	024074	260 17 0 00 023421 		GO	BLOCKO			;OF TAPE UNIT
  3177	024075	256 00 0 00 025016 		XCT	TAPEEX			;READ ERROR BITS
  3178	024076	602 00 0 00 176777 		TRNE	FRAMES-FCE		;CHECK IF ERROR OTHER THAN LENGTH ERROR
  3179	024077	254 00 0 00 024115 		JRST	CHECK5			;ERROR
  3180	024100	550 00 1 00 024672 		HRRZ	@MSLOW2			;GET CHANNEL TERMINATION WORD
  3181	024101	336 00 0 00 024677 		SKIPN	RH20			;DON'T SKIP IF CHANNEL A DF10
  3182	024102	254 00 0 00 023712 		JRST	WDCNT
  3183	024103	370 00 0 00 000000 		SOS				;RH20, ADJUST TERMINATION ADDRESS
  3184	024104	261 17 0 00 000000 		PUT	0
  3185	024105	336 00 0 00 020010 		SKIPN	KLFLG
  3186	024106	254 00 0 00 024113 		JRST	.+5
  3187	024107	200 00 0 00 024714 		MOVE	$SV417
  3188	024110	202 00 0 00 000417 		MOVEM	417			;RESTORE C(417)
  3189	024111	7 010 24 0 00 000000 		CONI	PAG,0
  3190	024112	7 010 20 1 00 000000 		CONO	PAG,@0			;RESET PAGING
  3191	024113	262 17 0 00 000000 		GET	0
  3192	024114	254 00 0 00 023712 		JRST	WDCNT			;SET UP WORD COUNT IN BUFFER
  3193
  3194	024115	375 00 0 00 000004 	CHECK5:	SOSGE	W			;SHOULD WE TRY AGAIN?
  3195	024116	260 17 0 00 024272 		GO	ERR9			;NO
  3196	024117	260 17 0 00 024157 		GO	MSRSET			;RESET ERROR STATUS
  3197	024120	505 00 0 00 777776 		HRLI	-2			;SET FRAME COUNT TO -1
  3198	024121	260 17 0 00 024164 		GO	MSGO			;  AND BACKSPACE THE TAPE
  3199	024122	260 17 0 00 024276 		GO	ERR11			;ERROR
  3200	024123	254 00 0 00 024057 		JRST	MSRTRY			;NOW TRY AGAIN
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 48
MAGLDR	MAC	23-Apr-80 13:55		RH10/RH20 LOAD ROUTINES                                                            SEQ 0116

  3201	024124	260 17 0 00 024157 	MSREVS:	GO	MSRSET			;RESET ERROR STATUS
  3202	024125	561 00 0 00 024150 		HRROI	MSBSR-1			;BACKSPACE THE TAPE
  3203	024126	260 17 0 00 024164 		GO	MSGO			;  AND WAIT TILL DONE
  3204	024127	606 00 0 00 000004 		TRNN	EOF			;SKIP IF EOF SET
  3205	024130	254 00 0 00 023535 		JRST	REVSER			;ERROR, REWIND AND TRY AGAIN
  3206	024131	263 17 0 00 000000 		RTN
  3207
  3208	024132	260 17 0 00 024157 	MSFORW:	GO	MSRSET			;RESET ERROR STATUS
  3209	024133	561 00 0 00 024154 		HRROI	MSFSR-1			;SORWARD SPACE THE TAPE
  3210	024134	260 17 0 00 024164 		GO	MSGO			;AND WAIT TILL DONE
  3211	024135	606 00 0 00 000004 		TRNN	EOF			;SKIP IF EOF SET
  3212	024136	260 17 0 00 024300 		GO	ERR12			;ERROR
  3213	024137	263 17 0 00 000000 		RTN
  3214
  3215	024140	260 17 0 00 024157 	MSREW:	GO	MSRSET			;RESET ERROR STATUS
  3216	024141	561 00 0 00 024155 		HRROI	MSREWD-1		;REWIND THE TAPE
  3217	024142	260 17 0 00 024164 		GO	MSGO			;AND WAIT TILL DONE
  3218	024143	255 00 0 00 000000 		JFCL
  3219	024144	254 00 0 00 023543 		JRST	REWEND			;MARK CURRENT FILE AT 0
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 49
MAGLDR	MAC	23-Apr-80 13:55		RH10/RH20 LOAD ROUTINES                                                            SEQ 0117

  3220	024145	620000	026000		MSCMD:	3B1!^D512B13!RBUF		;RH20 CHANNEL COMMAND
  3221	024146	114000	000000		MSRESO:	DRTC!LR				;LOAD CONTROL REGISTER
  3222	024147	054000	000000		MSCFC:	DRFC!LR!0			;CLEAR FRAME COUNTER
  3223	024150	054000	177777			DRFC!LR!<-1&RDAT>		;SET FRAME COUNTER TO -1
  3224	024151	004000	000033		MSBSR:	DRCR!LR!SPBAKR			;BACKSPACE COMMAND
  3225	024152	716200	177771		MSRD:	RHSTCR!LR!<-1B29&BLKCNT>!RDF!PCLP!STORE	;READ FROM TAPE
  3226	024153	010000	000000		MSSTAT:	DRSR				;SELECT STATUS REGISTER
  3227	024154	020000	000000		MSERR:	DRER1				;SELECT ERROR REGISTER
  3228	024155	004000	000031		MSFSR:	DRCR!LR!SPFWDR			;SKIP COMMAND
  3229	024156	004000	000007		MSREWD:	DRCR!LR!RWND			;REWIND COMMAND
  3230
  3231	024157	256 00 0 00 025012 	MSRSET:	XCT	TAPECL			;CLEAR TAPE CONTROLLER
  3232	024160	256 00 0 00 025015 		XCT	TAPEGO			;ENABLE THE CONTROLLER
  3233	024161	200 00 0 00 024602 		MOVE	[IOWD 2,MSRESO]		;SELECT AND SET UP DRIVE
  3234	024162	260 17 0 00 023421 		GO	BLOCKO			;CLEAR FRAME COUNTER
  3235	024163	263 17 0 00 000000 		RTN
  3236
  3237	024164	260 17 0 00 023421 	MSGO:	GO	BLOCKO			;START REQUESTED COMMAND
  3238	024165	561 00 0 00 024152 	MSRDY:	HRROI	MSSTAT-1		;SELECT STATUS REGISTER
  3239	024166	260 17 0 00 023421 		GO	BLOCKO
  3240	024167	256 00 0 00 025016 		XCT	TAPEEX			;READ STATUS
  3241	024170	606 00 0 00 020000 		TRNN	PIP			;LOOK FOR DRIVE READY
  3242	024171	606 00 0 00 000200 		TRNN	DRY			;  AND POSITIONING NOT IN PROGRESS
  3243	024172	254 00 0 00 024165 		JRST	MSRDY			;KEEP WAITING
  3244	024173	606 00 0 00 040000 		TRNN	CERR			;CHECK FOR ERRORS
  3245	024174	350 00 0 17 000000 		AOS	(P)			;NO ERROR, SKIP RETURN
  3246	024175	263 17 0 00 000000 		RTN				;RETURN
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 50
MAGLDR	MAC	23-Apr-80 13:55		RH10/RH20 LOAD ROUTINES                                                            SEQ 0118

  3247	024176	402 00 0 00 024677 	RH10DV:	SETZM	RH20			;CLEAR RH20 DEVICE FLAG
  3248	024177	301 02 0 00 000020 		CAIL	B,20			;CHECK IF A DEVICE CODE SPECIFIED
  3249	024200	254 00 0 00 024210 		JRST	RH10DC			;YES
  3250	024201	303 02 0 00 000006 		CAILE	B,6			;CHECK IF A LEGAL NUMBER SPECIFIED
  3251	024202	254 00 0 00 022153 		JRST	EXECDV			;NO
  3252	024203	200 01 0 00 024605 		MOVE	A,[POINT 7,[BYTE (7) DH_-2,DH2_-2,DH3_-2,DH4_-2,DH5_-2,DH6_-2]]
  3253	024204	133 00 0 00 000001 		IBP	A			;INCREMENT BYTE POINTER TO REQUESTED
  3254	024205	367 02 0 00 024204 		SOJG	B,.-1			;  DEVICE CODE
  3255	024206	135 02 0 00 000001 		LDB	B,A			;GET DEVICE CODE
  3256	024207	242 02 0 00 000002 		LSH	B,2			;POSITION
  3257	024210	242 02 0 00 000030 	RH10DC:	LSH	B,^D24			;POSITION TO PLACE IN INSTRUCTION
  3258	024211	435 02 0 00 734330 		ORI	B,734330		;INITIALIZE RH10 BITS
  3259
  3260	024212	201 00 0 00 000020 		MOVEI	LOWCMD			;GET ADDRESS OF ICCW
  3261	024213	202 00 0 00 024673 		MOVEM	MSLOWC			;SAVE IT
  3262	024214	201 00 0 00 000021 		MOVEI	LOWCMD+1		;GET TERMINATION WORD ADDRESS
  3263	024215	202 00 0 00 024672 		MOVEM	MSLOW2			;SAVE IT
  3264	024216	200 00 0 00 024606 		MOVE	[DHSTRC!LR!RDF!<LOWCMD>B29]	;GET RH10
  3265	024217	202 00 0 00 024152 		MOVEM	MSRD			;  READ COMMAND
  3266	024220	201 00 0 00 000476 		MOVEI	CHNCMD			;GET ADDRESS OF DF10 XFER WORD
  3267	024221	202 00 0 00 024671 		MOVEM	MSJUMP			;SAVE DF10 JUMP INSTRUCTION
  3268	024222	201 00 0 00 577700 		MOVEI	577700			;GET RH10 ERROR BITS
  3269	024223	202 00 0 00 024651 		MOVEM	ERRBTS			;SAVE THEM
  3270	024224	254 00 0 00 023775 		JRST	MSDV			;GO SET UP I/O INSTRUCTIONS
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 51
MAGLDR	MAC	23-Apr-80 13:55		RH10/RH20 LOAD ROUTINES                                                            SEQ 0119

  3271					;*ERROR - ERROR REPORTING
  3272
  3273	024225	261 17 0 00 000001 	ERROR:	PUSH	P,1
  3274	024226	260 17 0 00 021543 		GO	CRLF1
  3275	024227	262 17 0 00 000001 		POP	P,1
  3276	024230	260 17 0 00 020323 		GO	SIXBP
  3277						PMSG	< ERROR AT >^
  3278	024231	201 00 0 00 024607 		MOVEI	[SIXBIT\ ERROR AT _\]
  3279	024232	260 17 0 00 021402 		PNTMSG^
  3280	024233	262 17 0 00 000000 		GET	0
  3281	024234	370 00 0 00 000000 		SOS
  3282	024235	260 17 0 00 021451 		GO	PNTOCT			;PRINT PC OF ERROR
  3283	024236	201 00 0 00 000040 		MOVEI	" "
  3284	024237	260 17 0 00 021467 		GO	PRINT
  3285	024240	260 17 0 00 020313 		GO	NAMPNT
  3286	024241	201 00 0 00 777777 		MOVEI	-1			;SET MAGTAPE FLAG TO NOTE
  3287	024242	202 00 0 00 024664 		MOVEM	MAGONCE			;MAGTAPE POSITION IS UNKNOWN
  3288	024243	336 00 0 00 020014 		SKIPN	ONCE			;INITIAL LOAD ERROR ?
  3289	024244	254 00 0 00 020124 		JRST	SELX1			;YES
  3290	024245	332 00 0 00 024756 		SKIPE	PGMGO
  3291	024246	254 00 0 00 020021 		JRST	SELECT
  3292	024247	254 00 0 00 020622 		JRST	RUN
  3293
  3294
  3295
  3296					;*NFERR1 - PROGRAM NOT FOUND ERROR
  3297
  3298	024250				NFERR1:	PMSG	<^PROGRAM NOT FOUND - >^
  3299	024250	201 00 0 00 024611 		MOVEI	[SIXBIT\^PROGRAM NOT FOUND - _\]
  3300	024251	260 17 0 00 021402 		PNTMSG^
  3301	024252	260 17 0 00 020313 		GO	NAMPNT
  3302	024253	263 17 0 00 000000 		RTN
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 52
MAGLDR	MAC	23-Apr-80 13:55		ERROR REPORTER                                                                     SEQ 0120

  3303					SUBTTL	ERROR REPORTER
  3304
  3305					;*ERROR REPORT MESSAGES
  3306
  3307	024254				ERR2:
  3308	024254	200 01 0 00 024615 	LERR2:	MOVE	A,[SIXBIT/ILLEOF/]
  3309	024255	254 00 0 00 024225 		JRST	ERROR
  3310	024256	200 01 0 00 024616 	LERR3:	MOVE	A,[SIXBIT/FLTYPE/]
  3311	024257	254 00 0 00 024225 		JRST	ERROR
  3312	024260	200 01 0 00 024617 	LERR4:	MOVE	A,[SIXBIT/FORMAT/]
  3313	024261	254 00 0 00 024225 		JRST	ERROR
  3314	024262	200 01 0 00 024620 	LERR5:	MOVE	A,[SIXBIT/CKSUM/]
  3315	024263	254 00 0 00 024225 		JRST	ERROR
  3316
  3317	024264	200 01 0 00 024621 	ERR6:	MOVE	A,[SIXBIT/1STPTR/]
  3318	024265	254 00 0 00 024225 		JRST	ERROR
  3319	024266	200 01 0 00 024622 	ERR7:	MOVE	A,[SIXBIT/STADR/]
  3320	024267	254 00 0 00 024225 		JRST	ERROR
  3321	024270	200 01 0 00 024623 	ERR8:	MOVE	A,[SIXBIT/OPEN/]
  3322	024271	254 00 0 00 024225 		JRST	ERROR
  3323	024272	200 01 0 00 024624 	ERR9:	MOVE	A,[SIXBIT/READ/]
  3324	024273	254 00 0 00 024225 		JRST	ERROR
  3325	024274	200 01 0 00 024625 	ERR10:	MOVE	A,[SIXBIT/CORE/]
  3326	024275	254 00 0 00 024225 		JRST	ERROR
  3327	024276	200 01 0 00 024626 	ERR11:	MOVE	A,[SIXBIT/BKSPAC/]
  3328	024277	254 00 0 00 024225 		JRST	ERROR
  3329	024300	200 01 0 00 024627 	ERR12:	MOVE	A,[SIXBIT/SKPFIL/]
  3330	024301	254 00 0 00 024225 		JRST	ERROR
  3331	024302	200 01 0 00 024630 	ERR13:	MOVE	A,[SIXBIT/DIR RD/]
  3332	024303	254 00 0 00 024225 		JRST	ERROR
  3333	024304	200 01 0 00 024631 	ERR14:	MOVE	A,[SIXBIT/DEVICE/]
  3334	024305	254 00 0 00 024225 		JRST	ERROR
  3335	024306	200 01 0 00 024632 	ERR15:	MOVE	A,[SIXBIT/DENSET/]
  3336	024307	254 00 0 00 024225 		JRST	ERROR
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 53
MAGLDR	MAC	23-Apr-80 13:55		STORAGE ASSIGNMENTS                                                                SEQ 0121

  3337					SUBTTL	STORAGE ASSIGNMENTS
  3338	024310					LIT
  3339	024310	777740	024716
  3340	024311	000001	000001
  3341	024312	024756	024757
  3342	024313	63 65 42 62 64 56 
  3343	024314	63 65 42 65 63 62 
  3344	024315	000000	000000
  3345	024316	63 65 42 53 54 00 
  3346	024317	000000	000000
  3347	024320	63 65 42 62 64 56 
  3348	024321	000000	000000
  3349	024322	53 54 44 44 64 00 
  3350	024323	000000	000000
  3351	024324	00 43 55 44 00 15 
  3352	024325	00 77 00 00 00 00 
  3353	024326	76 46 51 54 45 16 
  3354	024327	45 70 64 00 15 00 
  3355	024330	77 00 00 00 00 00 
  3356	024331	56 57 00 50 45 54 
  3357	024332	60 77 00 00 00 00 
  3358	024333	76 56 41 55 45 75 
  3359	024334	60 41 63 63 45 63 
  3360	024335	75 62 50 00 63 67 
  3361	024336	63 75 51 64 45 62 
  3362	024337	41 64 51 57 56 63 
  3363	024340	76 77 00 00 00 00 
  3364	024341	44 07 0 00 031000 
  3365	024342	70 70 70 76 77 00 
  3366	024343	76 43 55 44 54 63 
  3367	024344	64 00 64 57 57 00 
  3368	024345	54 57 56 47 77 00 
  3369	024346	76 65 63 45 62 00 
  3370	024347	57 56 54 71 77 00 
  3371	024350	76 45 70 45 43 00 
  3372	024351	57 56 54 71 77 00 
  3373	024352	76 65 56 43 50 41 
  3374	024353	51 56 41 42 54 45 
  3375	024354	15 77 00 00 00 00 
  3376	024355	254 00 1 00 027774 
  3377	024356	165742	335216
  3378	024357	00 60 41 63 63 00 
  3379	024360	77 00 00 00 00 00 
  3380	024361	76 43 55 44 07 63 
  3381	024362	00 62 45 61 65 51 
  3382	024363	62 45 44 77 00 00 
  3383	024364	76 71 00 46 57 62 
  3384	024365	00 43 54 57 43 53 
  3385	024366	00 55 41 62 47 51 
  3386	024367	56 63 00 15 00 77 
  3387	024370	76 71 00 57 62 00 
  3388	024371	41 00 46 57 62 00 
  3389	024372	63 60 45 43 51 41 
  3390	024373	54 00 65 63 45 62 
  3391	024374	00 55 57 44 45 00 
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 53-1
MAGLDR	MAC	23-Apr-80 13:55		STORAGE ASSIGNMENTS                                                                SEQ 0122

  3392	024375	15 00 77 00 00 00 
  3393	024376	76 43 35 43 57 56 
  3394	024377	43 45 41 54 45 44 
  3395	024400	14 60 35 60 65 42 
  3396	024401	54 51 43 14 41 35 
  3397	024402	41 54 64 45 62 56 
  3398	024403	41 64 45 15 77 00 
  3399	024404	76 54 14 63 14 51 
  3400	024405	14 62 00 46 57 62 
  3401	024406	00 66 57 54 64 41 
  3402	024407	47 45 00 55 41 62 
  3403	024410	47 51 56 63 15 77 
  3404	024411	76 55 41 62 47 51 
  3405	024412	56 00 51 56 43 62 
  3406	024413	45 55 45 56 64 10 
  3407	024414	21 00 64 57 00 21 
  3408	024415	27 11 15 77 00 00 
  3409	024416	76 62 41 43 53 10 
  3410	024417	20 00 64 57 00 23 
  3411	024420	27 11 15 77 00 00 
  3412	024421	76 55 65 65 57 00 
  3413	024422	45 62 62 57 62 76 
  3414	024423	77 00 00 00 00 00 
  3415	024424	76 65 63 45 62 00 
  3416	024425	64 62 41 60 00 45 
  3417	024426	62 62 57 62 76 77 
  3418	024427	757776	757777
  3419	024430	557776	557777
  3420	024431	000002	000002
  3421	024432	017160	017400
  3422	024433	264 00 0 00 021027 
  3423	024434	420017	420000
  3424	024435	002000	010000
  3425	024436	400000	400000
  3426	024437	140000	400017
  3427	024440	140000	400000
  3428	024441	76 07 55 41 62 47 
  3429	024442	51 56 00 45 56 41 
  3430	024443	42 54 45 07 00 56 
  3431	024444	57 64 00 63 45 64 
  3432	024445	00 37 76 77 00 00 
  3433	024446	400000	000000
  3434	024447	44 07 0 00 021637 
  3435	024450	104 104 124 000 000 
  3436	024451	54 50 00 63 67 63 
  3437	024452	00 15 00 77 00 00 
  3438	024453	540000	540001
  3439	024454	76 44 45 66 32 10 
  3440	024455	43 62 00 46 57 62 
  3441	024456	00 44 63 53 11 00 
  3442	024457	15 00 77 00 00 00 
  3443	024460	000201	026201
  3444	024461	000000	001002
  3445	024462	000000	000016
  3446	024463	000002	024461
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 53-2
MAGLDR	MAC	23-Apr-80 13:55		STORAGE ASSIGNMENTS                                                                SEQ 0123

  3447	024464	001001	025776
  3448	024465	000000	023121
  3449	024466	000000	023127
  3450	024467	000000	023131
  3451	024470	000000	023133
  3452	024471	024465	025006
  3453	024472	21 26 20 20 00 42 
  3454	024473	60 51 00 37 00 15 
  3455	024474	00 77 00 00 00 00 
  3456	024475	44 45 66 32 64 14 
  3457	024476	44 14 62 14 55 00 
  3458	024477	15 00 77 00 00 00 
  3459	024500	44 06 0 00 000006 
  3460	024501	00 03 0 00 000002 
  3461	024502	65 56 51 64 00 03 
  3462	024503	00 15 00 77 00 00 
  3463	024504	55 41 47 64 41 60 
  3464	024505	55 64 41 00 00 00 
  3465	024506	540026	540027
  3466	024507	000001	025051
  3467	024510	35 07 0 00 000004 
  3468	024511	26 07 0 00 000004 
  3469	024512	17 07 0 00 000004 
  3470	024513	10 07 0 00 000004 
  3471	024514	01 07 0 00 000004 
  3472	024515	22 10 0 00 024645 
  3473	024516	32 10 0 00 024645 
  3474	024517	00 10 0 00 024645 
  3475	024520	10 10 0 00 024645 
  3476	024521	476 00 0 00 024661 
  3477	024522	254 00 0 00 022501 
  3478	024523	025022	025023
  3479	024524	10 02 0 00 025022 
  3480	024525	00 10 0 00 025022 
  3481	024526	400000	025776
  3482	024527	000201	026404
  3483	024530	000201	025776
  3484	024531	000003	025017
  3485	024532	026000	017000
  3486	024533	32 07 0 00 000000 
  3487	024534	000000	023505
  3488	024535	000000	023532
  3489	024536	000000	023545
  3490	024537	000000	023540
  3491	024540	024534	025006
  3492	024541	00 04 0 00 023565 
  3493	024542	00 04 0 00 023570 
  3494	024543	00 04 0 00 023572 
  3495	024544	00 04 0 00 023574 
  3496	024545	00 04 0 00 023576 
  3497	024546	00 04 0 00 023465 
  3498	024547	777772	023577
  3499	024550	777765	023423
  3500	024551	777775	023436
  3501	024552	777742	023441
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 53-3
MAGLDR	MAC	23-Apr-80 13:55		STORAGE ASSIGNMENTS                                                                SEQ 0124

  3502	024553	777773	023477
  3503	024554	44 14 0 00 031000 
  3504	024555	777774	023605
  3505	024556	17 03 0 00 025015 
  3506	024557	000000	023660
  3507	024560	000000	023727
  3508	024561	000000	023741
  3509	024562	000000	023734
  3510	024563	024557	025006
  3511	024564	777000	025777
  3512	024565	716200	177771
  3513	024566	130 131 132 133 134 0 
  3514	024567	135 136 137 00000 
  3515	024570	44 07 0 00 024566 
  3516	024571	7 000 4 0 00 002000 
  3517	024572	00 03 0 00 024146 
  3518	024573	777767	024146
  3519	024574	10 03 0 00 024146 
  3520	024575	000000	024043
  3521	024576	000000	024124
  3522	024577	000000	024132
  3523	024600	000000	024140
  3524	024601	024575	025006
  3525	024602	777776	024145
  3526	024603	056 057 074 075 076 0 
  3527	024604	077 0000 000000 
  3528	024605	44 07 0 00 024603 
  3529	024606	404000	002071
  3530	024607	00 45 62 62 57 62 
  3531	024610	00 41 64 00 77 00 
  3532	024611	76 60 62 57 47 62 
  3533	024612	41 55 00 56 57 64 
  3534	024613	00 46 57 65 56 44 
  3535	024614	00 15 00 77 00 00 
  3536	024615	51 54 54 45 57 46 
  3537	024616	46 54 64 71 60 45 
  3538	024617	46 57 62 55 41 64 
  3539	024620	43 53 63 65 55 00 
  3540	024621	21 63 64 60 64 62 
  3541	024622	63 64 41 44 62 00 
  3542	024623	57 60 45 56 00 00 
  3543	024624	62 45 41 44 00 00 
  3544	024625	43 57 62 45 00 00 
  3545	024626	42 53 63 60 41 43 
  3546	024627	63 53 60 46 51 54 
  3547	024630	44 51 62 00 62 44 
  3548	024631	44 45 66 51 43 45 
  3549	024632	44 45 56 63 45 64 
  3550	024642					VAR
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 54
MAGLDR	MAC	23-Apr-80 13:55		STORAGE ASSIGNMENTS                                                                SEQ 0125

  3551	024715	55 41 47 55 57 56 	PGNAME:	SIXBIT /MAGMON/			;PROGRAM NAME
  3552	024716				PLIST:	BLOCK	40			;PUSH LIST
  3553
  3554	024756	000000	000000		PGMGO:	0				;LOAD & GO FLAG
  3555	024757	000000	000000		TAPEPF:	0				;PRINT TAPE FLAG
  3556	024760	000000	000000		DEVFLG:	0				;CMD LIST FROM DEVICE FLAG
  3557	024761	000000	000000		DINFLG:	0				;DEVICE IN FLAG
  3558	024762	000000	000000		LPTFLG:	0				;LINE PRINTER FLAG
  3559	024763	000000	000000		LSTFLG:	0				;LISTING FLAG
  3560	024764	000000	000000		DIRFLG:0				;DIRECTORY FLAG
  3561	024765	000000	000000		ALTMFLG:0				;ALTMODE FLAG
  3562	024766	000000	000000		CLKFLG:	0
  3563	024767	000000	000000		USRFLG:	0
  3564	024770	000000	000000		CNSFLG:	0
  3565	024771	000000	000000		MGNONC:	0
  3566	024772	000000	000000		MGNCNT:	0
  3567	024773	000000	000000		MGNWRD:	0
  3568	024774	000000	000000		MGNADR:	0
  3569	024775	000000	000000		RACKF:	0
  3570
  3571	024776	000000	000000		SCFLAG:	0				;PROCESSING COMMENT FLAG
  3572	024777	000000	000000		SAVEIP:	0				;COMMAND LIST POINTER SAVE
  3573	025000	000000	000000		RUNCTL:	0				;RUN CONTROL
  3574	025001	000000	000000		CHRCTR:	0				;PRINT CHAR COUNTER
  3575	025002	000000	000000		SAVAC0:	0				;AC SAVE
  3576	025003	000000	000000		SAVAC1:	0				; "
  3577	025004	000000	000000		FCRCNT:	0				;CR FILLER COUNT
  3578	025005	000000	000000		FLFCNT:	0				;LF FILLER COUNT
  3579
  3580	025006	000000	000000		READBL:	0				;DISPATCH TO READ A DATA RECORD FROM TAPE
  3581	025007	000000	000000		REVERS:	0				;	"	MOVE TAPE REVERSE OVER FILE
  3582	025010	000000	000000		FORWRD:	0				;	"	MOVE TAPE FORWARD OVER FILE
  3583	025011	000000	000000		REW:	0				;	"	REWIND TAPE
  3584
  3585
  3586	025012	000000	000000		TAPECL:	0				;I/O INSTRUCTION TO CLEAR TAPE UNIT
  3587	025013	000000	000000		TAPERD:	0				;	"	 TO READ TAPE STATUS
  3588	025014	000000	000000		TAPELD:	0				;	"	 TO LOAD TAPE STATUS
  3589	025015	000000	000000		TAPEGO:	0				;	"	 TO START TAPE MOTION
  3590	025016	000000	000000		TAPEEX:	0				;	"	 TO READ CONTROLLER STATUS
  3591
  3592	025017	000000	002001		TAPEDN:	2001				;TAPOP. CODE TO SET DENSITY
  3593	025020	000000	000016			LDCHN				;MAGTAPE CHANNEL NUMBER
  3594	025021	000000	000003		TAPEDC:	3				;3 = 800 BPI, 4 = 1600 BPI
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 55
MAGLDR	MAC	23-Apr-80 13:55		STORAGE ASSIGNMENTS                                                                SEQ 0126

  3595	025022				SELSTR:					;COMMAND SELECTION STORE
  3596	025022	000000	000000		LDCNT:	0				;A10 LOAD COUNT
  3597	025023	000000	000000		LDADR:	0				;A10 LOAD ADDRESS
  3598	025024				LDATA:	BLOCK ^D34-16			;A10 DATA STORAGE
  3599	025050				ACSAVE:	BLOCK	16
  3600	025066	000000	000000		LDATAE:	0				;A10 END OF DATA STORAGE
  3601	025067	000000	000000			0
  3602
  3603	025070	000000	000000			0
  3604	025071	56 41 55 45 00 00 	LDNAME:	SIXBIT/NAME/
  3605	025072	45 70 64 00 00 00 		SIXBIT/EXT/
  3606	025073	000000	000000			0
  3607	025074	000000	000000			0
  3608
  3609	025075	000000	000013		LDBLK:	13
  3610	025076	44 63 53 00 00 00 		SIXBIT/DSK/
  3611	025077	000000	025100			LDBUF
  3612	025100				LDBUF:	BLOCK	3
  3613
  3614
  3615	025775					LOC	26000-3
  3616	025775	000000	000000		LDBF:	0
  3617	025776	000201	026201			201,,LDBF1+1
  3618	025777	000000	000000			0
  3619	026000				RBUF:	BLOCK	200
  3620
  3621	026200	000000	000000		LDBF1:	0
  3622	026201	000201	026404			201,,LDBF2+1
  3623	026202	000000	000000			0
  3624	026203					BLOCK	200
  3625
  3626	026403	000000	000000		LDBF2:	0
  3627	026404	000201	025776			201,,LDBF+1
  3628	026405	000000	000000			0
  3629	026406					BLOCK	200
  3630
  3631	027001					LOC	27001
  3632	027001				INLIST:	
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 56
MAGLDR	MAC	23-Apr-80 13:55		SPECIAL STARTUP MESSAGES AND INITIALIZATION                                        SEQ 0127

  3633					SUBTTL	SPECIAL STARTUP MESSAGES AND INITIALIZATION
  3634
  3635					;*HEADER
  3636
  3637					DEFINE	PTITLE	(MCNVER,DECVER)	<
  3638						ASCIZ	%
  3639					* MAGMON [DDQDE] -DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR - VER MCNVER'.'DECVER *
  3640					%   >
  3641
  3642	027001				HEADER:	PTITLE	\MCNVER,\DECVER^
  3643						ASCIZ	%
  3644	027001	015 012 052 040 115 	* MAGMON [DDQDE] -DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR - VER 0.14 *
  3645	027002	101 107 115 117 116 
  3646	027003	040 133 104 104 121 
  3647	027004	104 105 135 040 055 
  3648	027005	104 105 103 123 131 
  3649	027006	123 124 105 115 040 
  3650	027007	104 111 101 107 116 
  3651	027010	117 123 124 111 103 
  3652	027011	040 115 101 107 124 
  3653	027012	101 120 105 040 115 
  3654	027013	117 116 111 124 117 
  3655	027014	122 040 055 040 126 
  3656	027015	105 122 040 060 056 
  3657	027016	061 064 040 052 015 
  3658	027017	012 000 000 000 000 	%   ^
  3659					;*HELP
  3660
  3661	027020				HELP:	ASCIZ	%
  3662	027020	015 012 116 117 122 	NORMAL START = 20000
  3663	027021	115 101 114 040 123 
  3664	027022	124 101 122 124 040 
  3665	027023	075 040 062 060 060 
  3666	027024	060 060 015 012 122 	RESTART/ABORT = 20001
  3667	027025	105 123 124 101 122 
  3668	027026	124 057 101 102 117 
  3669	027027	122 124 040 075 040 
  3670	027030	062 060 060 060 061 
  3671	027031	015 012 120 122 111 	PRINT TEST TITLE = 20002
  3672	027032	116 124 040 124 105 
  3673	027033	123 124 040 124 111 
  3674	027034	124 114 105 040 075 
  3675	027035	040 062 060 060 060 
  3676	027036	062 015 012 122 105 	RESTART CURR TEST = 20003
  3677	027037	123 124 101 122 124 
  3678	027040	040 103 125 122 122 
  3679	027041	040 124 105 123 124 
  3680	027042	040 075 040 062 060 
  3681	027043	060 060 063 015 012 
  3682	027044	015 012 104 105 126 	DEVICES:  EXEC MODE;
  3683	027045	111 103 105 123 072 
  3684	027046	040 040 105 130 105 
  3685	027047	103 040 115 117 104 
  3686	027050	105 073 015 012 124 	T = TM10 CONTROLLER (TU10,TU20,TU30,TU40)  DEVICE CODES 340&344
  3687	027051	040 075 040 124 115 
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 56-1
MAGLDR	MAC	23-Apr-80 13:55		SPECIAL STARTUP MESSAGES AND INITIALIZATION                                        SEQ 0128

  3688	027052	061 060 040 103 117 
  3689	027053	116 124 122 117 114 
  3690	027054	114 105 122 040 050 
  3691	027055	124 125 061 060 054 
  3692	027056	124 125 062 060 054 
  3693	027057	124 125 063 060 054 
  3694	027060	124 125 064 060 051 
  3695	027061	040 040 104 105 126 
  3696	027062	111 103 105 040 103 
  3697	027063	117 104 105 123 040 
  3698	027064	063 064 060 046 063 
  3699	027065	064 064 015 012 040 	  T2 = SECOND TM10  DEVICE CODES 350&354
  3700	027066	040 124 062 040 075 
  3701	027067	040 123 105 103 117 
  3702	027070	116 104 040 124 115 
  3703	027071	061 060 040 040 104 
  3704	027072	105 126 111 103 105 
  3705	027073	040 103 117 104 105 
  3706	027074	123 040 063 065 060 
  3707	027075	046 063 065 064 015 
  3708	027076	012 104 040 075 040 	D = DX10/TXO1 CONTROLLER (TU70)  DEVICE CODE 220
  3709	027077	104 130 061 060 057 
  3710	027100	124 130 117 061 040 
  3711	027101	103 117 116 124 122 
  3712	027102	117 114 114 105 122 
  3713	027103	040 050 124 125 067 
  3714	027104	060 051 040 040 104 
  3715	027105	105 126 111 103 105 
  3716	027106	040 103 117 104 105 
  3717	027107	040 062 062 060 015 
  3718	027110	012 040 040 104 062 	  D2 = SECOND DX10  DEVICE CODE 224
  3719	027111	040 075 040 123 105 
  3720	027112	103 117 116 104 040 
  3721	027113	104 130 061 060 040 
  3722	027114	040 104 105 126 111 
  3723	027115	103 105 040 103 117 
  3724	027116	104 105 040 062 062 
  3725	027117	064 015 012 040 040 	  D3 = THIRD DX10   DEVICE CODE 034
  3726	027120	104 063 040 075 040 
  3727	027121	124 110 111 122 104 
  3728	027122	040 104 130 061 060 
  3729	027123	040 040 040 104 105 
  3730	027124	126 111 103 105 040 
  3731	027125	103 117 104 105 040 
  3732	027126	060 063 064 015 012 	R = RH10 CONTROLLER (TU16)  DEVICE CODE 270
  3733	027127	122 040 075 040 122 
  3734	027130	110 061 060 040 103 
  3735	027131	117 116 124 122 117 
  3736	027132	114 114 105 122 040 
  3737	027133	050 124 125 061 066 
  3738	027134	051 040 040 104 105 
  3739	027135	126 111 103 105 040 
  3740	027136	103 117 104 105 040 
  3741	027137	062 067 060 015 012 	  R2 = SECOND RH10  DEVICE CODE 274
  3742	027140	040 040 122 062 040 
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 56-2
MAGLDR	MAC	23-Apr-80 13:55		SPECIAL STARTUP MESSAGES AND INITIALIZATION                                        SEQ 0129

  3743	027141	075 040 123 105 103 
  3744	027142	117 116 104 040 122 
  3745	027143	110 061 060 040 040 
  3746	027144	104 105 126 111 103 
  3747	027145	105 040 103 117 104 
  3748	027146	105 040 062 067 064 
  3749	027147	015 012 040 040 122 	  R3 = THIRD RH10   DEVICE CODE 360
  3750	027150	063 040 075 040 124 
  3751	027151	110 111 122 104 040 
  3752	027152	122 110 061 060 040 
  3753	027153	040 040 104 105 126 
  3754	027154	111 103 105 040 103 
  3755	027155	117 104 105 040 063 
  3756	027156	066 060 015 012 040 	  R4 = FOURTH RH10  DEVICE CODE 364
  3757	027157	040 122 064 040 075 
  3758	027160	040 106 117 125 122 
  3759	027161	124 110 040 122 110 
  3760	027162	061 060 040 040 104 
  3761	027163	105 126 111 103 105 
  3762	027164	040 103 117 104 105 
  3763	027165	040 063 066 064 015 
  3764	027166	012 040 040 122 065 	  R5 = FIFTH RH10   DEVICE CODE 370
  3765	027167	040 075 040 106 111 
  3766	027170	106 124 110 040 122 
  3767	027171	110 061 060 040 040 
  3768	027172	040 104 105 126 111 
  3769	027173	103 105 040 103 117 
  3770	027174	104 105 040 063 067 
  3771	027175	060 015 012 040 040 	  R6 = SIXTH RH10   DEVICE CODE 374
  3772	027176	122 066 040 075 040 
  3773	027177	123 111 130 124 110 
  3774	027200	040 122 110 061 060 
  3775	027201	040 040 040 104 105 
  3776	027202	126 111 103 105 040 
  3777	027203	103 117 104 105 040 
  3778	027204	063 067 064 015 012 	THE ABOVE DEVICE LETTERS (T,D,R) MAY ALSO BE FOLLOWED BY A THREE DIGIT
  3779	027205	124 110 105 040 101 
  3780	027206	102 117 126 105 040 
  3781	027207	104 105 126 111 103 
  3782	027210	105 040 114 105 124 
  3783	027211	124 105 122 123 040 
  3784	027212	050 124 054 104 054 
  3785	027213	122 051 040 115 101 
  3786	027214	131 040 101 114 123 
  3787	027215	117 040 102 105 040 
  3788	027216	106 117 114 114 117 
  3789	027217	127 105 104 040 102 
  3790	027220	131 040 101 040 124 
  3791	027221	110 122 105 105 040 
  3792	027222	104 111 107 111 124 
  3793	027223	015 012 117 103 124 	OCTAL NUMBER TO SPECIFY A NON-STANDARD DEVICE CODE
  3794	027224	101 114 040 116 125 
  3795	027225	115 102 105 122 040 
  3796	027226	124 117 040 123 120 
  3797	027227	105 103 111 106 131 
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 56-3
MAGLDR	MAC	23-Apr-80 13:55		SPECIAL STARTUP MESSAGES AND INITIALIZATION                                        SEQ 0130

  3798	027230	040 101 040 116 117 
  3799	027231	116 055 123 124 101 
  3800	027232	116 104 101 122 104 
  3801	027233	040 104 105 126 111 
  3802	027234	103 105 040 103 117 
  3803	027235	104 105 015 012 040 	  EX. T360  FOR TM10 WITH DEVICE CODES 360&364
  3804	027236	040 105 130 056 040 
  3805	027237	124 063 066 060 040 
  3806	027240	040 106 117 122 040 
  3807	027241	124 115 061 060 040 
  3808	027242	127 111 124 110 040 
  3809	027243	104 105 126 111 103 
  3810	027244	105 040 103 117 104 
  3811	027245	105 123 040 063 066 
  3812	027246	060 046 063 066 064 
  3813
  3814	027247	015 012 015 012 115 	M = RH20 MASSBUS CONTROLLER (TU16,TU45)  DEVICE CODE 540
  3815	027250	040 075 040 122 110 
  3816	027251	062 060 040 115 101 
  3817	027252	123 123 102 125 123 
  3818	027253	040 103 117 116 124 
  3819	027254	122 117 114 114 105 
  3820	027255	122 040 050 124 125 
  3821	027256	061 066 054 124 125 
  3822	027257	064 065 051 040 040 
  3823	027260	104 105 126 111 103 
  3824	027261	105 040 103 117 104 
  3825	027262	105 040 065 064 060 
  3826	027263	015 012 040 040 115 	  M1 = SECOND RH20  DEVICE CODE 544
  3827	027264	061 040 075 040 123 
  3828	027265	105 103 117 116 104 
  3829	027266	040 122 110 062 060 
  3830	027267	040 040 104 105 126 
  3831	027270	111 103 105 040 103 
  3832	027271	117 104 105 040 065 
  3833	027272	064 064 015 012 040 	  M2 = THIRD RH20   DEVICE CODE 550
  3834	027273	040 115 062 040 075 
  3835	027274	040 124 110 111 122 
  3836	027275	104 040 122 110 062 
  3837	027276	060 040 040 040 104 
  3838	027277	105 126 111 103 105 
  3839	027300	040 103 117 104 105 
  3840	027301	040 065 065 060 015 
  3841	027302	012 040 040 115 063 	  M3 = FOURTH RH20  DEVICE CODE 554
  3842	027303	040 075 040 106 117 
  3843	027304	125 122 124 110 040 
  3844	027305	122 110 062 060 040 
  3845	027306	040 104 105 126 111 
  3846	027307	103 105 040 103 117 
  3847	027310	104 105 040 065 065 
  3848	027311	064 015 012 040 040 	  M4 = FIFTH RH20   DEVICE CODE 560
  3849	027312	115 064 040 075 040 
  3850	027313	106 111 106 124 110 
  3851	027314	040 122 110 062 060 
  3852	027315	040 040 040 104 105 
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 56-4
MAGLDR	MAC	23-Apr-80 13:55		SPECIAL STARTUP MESSAGES AND INITIALIZATION                                        SEQ 0131

  3853	027316	126 111 103 105 040 
  3854	027317	103 117 104 105 040 
  3855	027320	065 066 060 015 012 	  M5 = SIXTH RH20   DEVICE CODE 564
  3856	027321	040 040 115 065 040 
  3857	027322	075 040 123 111 130 
  3858	027323	124 110 040 122 110 
  3859	027324	062 060 040 040 040 
  3860	027325	104 105 126 111 103 
  3861	027326	105 040 103 117 104 
  3862	027327	105 040 065 066 064 
  3863	027330	015 012 040 040 115 	  M6 = SEVENTH RH20 DEVICE CODE 570
  3864	027331	066 040 075 040 123 
  3865	027332	105 126 105 116 124 
  3866	027333	110 040 122 110 062 
  3867	027334	060 040 104 105 126 
  3868	027335	111 103 105 040 103 
  3869	027336	117 104 105 040 065 
  3870	027337	067 060 015 012 040 	  M7 = EIGHTH RH20  DEVICE CODE 574
  3871	027340	040 115 067 040 075 
  3872	027341	040 105 111 107 110 
  3873	027342	124 110 040 122 110 
  3874	027343	062 060 040 040 104 
  3875	027344	105 126 111 103 105 
  3876	027345	040 103 117 104 105 
  3877	027346	040 065 067 064 015 
  3878	027347	012 101 114 114 040 	ALL DEVICES THEN ASK FOR UNIT #
  3879	027350	104 105 126 111 103 
  3880	027351	105 123 040 124 110 
  3881	027352	105 116 040 101 123 
  3882	027353	113 040 106 117 122 
  3883	027354	040 125 116 111 124 
  3884	027355	040 043 015 012 106 	FOR DEVICES T & D: A SINGLE DIGIT (0 - 7) MUST BE SPECIFIED
  3885	027356	117 122 040 104 105 
  3886	027357	126 111 103 105 123 
  3887	027360	040 124 040 046 040 
  3888	027361	104 072 040 101 040 
  3889	027362	123 111 116 107 114 
  3890	027363	105 040 104 111 107 
  3891	027364	111 124 040 050 060 
  3892	027365	040 055 040 067 051 
  3893	027366	040 115 125 123 124 
  3894	027367	040 102 105 040 123 
  3895	027370	120 105 103 111 106 
  3896	027371	111 105 104 015 012 	  (IF DEVICE IS DX10, ONLY 9-TRACK DRIVES MAY BE USED)
  3897	027372	040 040 050 111 106 
  3898	027373	040 104 105 126 111 
  3899	027374	103 105 040 111 123 
  3900	027375	040 104 130 061 060 
  3901	027376	054 040 117 116 114 
  3902	027377	131 040 071 055 124 
  3903	027400	122 101 103 113 040 
  3904	027401	104 122 111 126 105 
  3905	027402	123 040 115 101 131 
  3906	027403	040 102 105 040 125 
  3907	027404	123 105 104 051 015 
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 56-5
MAGLDR	MAC	23-Apr-80 13:55		SPECIAL STARTUP MESSAGES AND INITIALIZATION                                        SEQ 0132

  3908	027405	012 106 117 122 040 	FOR DEVICES M & R: A TWO DIGIT NUMBER IS USED (FIRST DIGIT SPECIFIES
  3909	027406	104 105 126 111 103 
  3910	027407	105 123 040 115 040 
  3911	027410	046 040 122 072 040 
  3912	027411	101 040 124 127 117 
  3913	027412	040 104 111 107 111 
  3914	027413	124 040 116 125 115 
  3915	027414	102 105 122 040 111 
  3916	027415	123 040 125 123 105 
  3917	027416	104 040 050 106 111 
  3918	027417	122 123 124 040 104 
  3919	027420	111 107 111 124 040 
  3920	027421	123 120 105 103 111 
  3921	027422	106 111 105 123 015 
  3922	027423	012 040 040 104 122 	  DRIVE # OF TM02, SECOND DIGIT SPECIFIES SLAVE # OF TRANSPORT)
  3923	027424	111 126 105 040 043 
  3924	027425	040 117 106 040 124 
  3925	027426	115 060 062 054 040 
  3926	027427	123 105 103 117 116 
  3927	027430	104 040 104 111 107 
  3928	027431	111 124 040 123 120 
  3929	027432	105 103 111 106 111 
  3930	027433	105 123 040 123 114 
  3931	027434	101 126 105 040 043 
  3932	027435	040 117 106 040 124 
  3933	027436	122 101 116 123 120 
  3934	027437	117 122 124 051 015 
  3935
  3936	027440	012 015 012 104 105 	DEVICES:  USER MODE;
  3937	027441	126 111 103 105 123 
  3938	027442	072 040 040 125 123 
  3939	027443	105 122 040 115 117 
  3940	027444	104 105 073 015 012 	MAGTAPE = PHYSICAL NAME OF UNIT   (EX. MTA0)
  3941	027445	115 101 107 124 101 
  3942	027446	120 105 040 075 040 
  3943	027447	120 110 131 123 111 
  3944	027450	103 101 114 040 116 
  3945	027451	101 115 105 040 117 
  3946	027452	106 040 125 116 111 
  3947	027453	124 040 040 040 050 
  3948	027454	105 130 056 040 115 
  3949	027455	124 101 060 051 015 
  3950	027456	012 104 111 123 113 	DISK = ONLY A CARRIAGE RETURN
  3951	027457	040 075 040 117 116 
  3952	027460	114 131 040 101 040 
  3953	027461	103 101 122 122 111 
  3954	027462	101 107 105 040 122 
  3955	027463	105 124 125 122 116 
  3956
  3957	027464	015 012 015 012 103 	COMMANDS;
  3958	027465	117 115 115 101 116 
  3959	027466	104 123 073 015 012 	STD=START DIAGNOSTIC
  3960	027467	123 124 104 075 123 
  3961	027470	124 101 122 124 040 
  3962	027471	104 111 101 107 116 
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 56-6
MAGLDR	MAC	23-Apr-80 13:55		SPECIAL STARTUP MESSAGES AND INITIALIZATION                                        SEQ 0133

  3963	027472	117 123 124 111 103 
  3964	027473	015 012 123 124 115 	STM=REINITIALIZE START
  3965	027474	075 122 105 111 116 
  3966	027475	111 124 111 101 114 
  3967	027476	111 132 105 040 123 
  3968	027477	124 101 122 124 015 
  3969	027500	012 123 124 114 075 	STL=START LOADER
  3970	027501	123 124 101 122 124 
  3971	027502	040 114 117 101 104 
  3972	027503	105 122 015 012 123 	START=START DIAGNOSTIC
  3973	027504	124 101 122 124 075 
  3974	027505	123 124 101 122 124 
  3975	027506	040 104 111 101 107 
  3976	027507	116 117 123 124 111 
  3977	027510	103 015 012 123 106 	SFSTRT=SPECIAL FEATURE START
  3978	027511	123 124 122 124 075 
  3979	027512	123 120 105 103 111 
  3980	027513	101 114 040 106 105 
  3981	027514	101 124 125 122 105 
  3982	027515	040 123 124 101 122 
  3983	027516	124 015 012 120 106 	PFSTRT=POWER FAIL START
  3984	027517	123 124 122 124 075 
  3985	027520	120 117 127 105 122 
  3986	027521	040 106 101 111 114 
  3987	027522	040 123 124 101 122 
  3988	027523	124 015 012 122 105 	REE=REENTER
  3989	027524	105 075 122 105 105 
  3990	027525	116 124 105 122 015 
  3991	027526	012 104 104 124 075 	DDT=DDT
  3992	027527	104 104 124 015 012 	START1=SPECIAL START 1
  3993	027530	123 124 101 122 124 
  3994	027531	061 075 123 120 105 
  3995	027532	103 111 101 114 040 
  3996	027533	123 124 101 122 124 
  3997	027534	040 061 015 012 123 	START2=SPECIAL START 2
  3998	027535	124 101 122 124 062 
  3999	027536	075 123 120 105 103 
  4000	027537	111 101 114 040 123 
  4001	027540	124 101 122 124 040 
  4002	027541	062 015 012 123 124 	START3=SPECIAL START 3
  4003	027542	101 122 124 063 075 
  4004	027543	123 120 105 103 111 
  4005	027544	101 114 040 123 124 
  4006	027545	101 122 124 040 063 
  4007	027546	015 012 123 124 101 	START4=SPECIAL START 4
  4008	027547	122 124 064 075 123 
  4009	027550	120 105 103 111 101 
  4010	027551	114 040 123 124 101 
  4011	027552	122 124 040 064 015 
  4012	027553	012 123 124 101 122 	START5=SPECIAL START 5
  4013	027554	124 065 075 123 120 
  4014	027555	105 103 111 101 114 
  4015	027556	040 123 124 101 122 
  4016	027557	124 040 065 015 012 
  4017	027560	015 012 122 075 122 	R=RESELECT, X=XPN, I=INTERNAL, T=TTY, D=DEVICE,
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 56-7
MAGLDR	MAC	23-Apr-80 13:55		SPECIAL STARTUP MESSAGES AND INITIALIZATION                                        SEQ 0134

  4018	027561	105 123 105 114 105 
  4019	027562	103 124 054 040 130 
  4020	027563	075 130 120 116 054 
  4021	027564	040 111 075 111 116 
  4022	027565	124 105 122 116 101 
  4023	027566	114 054 040 124 075 
  4024	027567	124 124 131 054 040 
  4025	027570	104 075 104 105 126 
  4026	027571	111 103 105 054 015 
  4027	027572	012 123 075 123 111 	S=SINGLE, F=DIR, L=LIST, G=GO
  4028	027573	116 107 114 105 054 
  4029	027574	040 106 075 104 111 
  4030	027575	122 054 040 114 075 
  4031	027576	114 111 123 124 054 
  4032	027577	040 107 075 107 117 
  4033	027600	015 012 000 000 000 	%
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 57
MAGLDR	MAC	23-Apr-80 13:55		SPECIAL STARTUP MESSAGES AND INITIALIZATION                                        SEQ 0135

  4034					;*TYBAUD - COMPUTE CR & LF FILLERS REQUIRED FOR DIFFERENT BAUD RATES
  4035
  4036	027601	332 00 0 00 020006 	TYBAUD:	SKIPE	USER
  4037	027602	263 17 0 00 000000 		RTN
  4038	027603	201 01 0 00 000060 		MOVEI	1,60
  4039	027604	7 000 20 0 00 001000 		CONO	APR,1000		;CLEAR AND WAIT FOR CLOCK
  4040	027605	7 000 34 0 00 001000 		CONSO	APR,1000
  4041	027606	254 00 0 00 027605 		JRST	.-1
  4042	027607	7 000 20 0 00 001000 		CONO	APR,1000
  4043	027610	403 00 0 00 000002 		SETZB	0,2
  4044
  4045	027611	7 120 14 0 00 000002 	TYBD1:	DATAO	TTY,2			;COUNT # OF CHARS SENT IN 1 SEC
  4046	027612	350 00 0 00 000000 		AOS
  4047	027613	7 120 34 0 00 000010 	TYBD2:	CONSO	TTY,10
  4048	027614	254 00 0 00 027616 		JRST	TYBD3
  4049	027615	254 00 0 00 027611 		JRST	TYBD1			;TTY DONE, SEND ANOTHER CHAR
  4050	027616	7 000 34 0 00 001000 	TYBD3:	CONSO	APR,1000		;HAS CLOCK TICKED ?
  4051	027617	254 00 0 00 027613 		JRST	TYBD2			;NO
  4052	027620	7 000 20 0 00 001000 		CONO	APR,1000		;YES, COUNT DOWN JIFFIES
  4053	027621	365 01 0 00 027613 		SOJGE	1,TYBD2
  4054
  4055	027622	7 120 34 0 00 000010 	TYBD4:	CONSO	TTY,10			;WAIT TILL TTY GETS DONE
  4056	027623	254 00 0 00 027622 		JRST	.-1
  4057	027624	201 01 0 00 000005 		MOVEI	1,5			;5 = 2400 BAUD
  4058	027625	307 00 0 00 000172 		CAIG	0,^D122
  4059	027626	370 00 0 00 000001 		SOS	1			;4 = 1200 BAUD
  4060	027627	307 00 0 00 000076 		CAIG	0,^D62
  4061	027630	370 00 0 00 000001 		SOS	1			;3 = 600 BAUD
  4062	027631	307 00 0 00 000040 		CAIG	0,^D32
  4063	027632	370 00 0 00 000001 		SOS	1			;2 = 300 BAUD
  4064	027633	307 00 0 00 000020 		CAIG	0,^D16
  4065	027634	370 00 0 00 000001 		SOS	1			;1 = 150 BAUD
  4066	027635	307 00 0 00 000014 		CAIG	0,^D12
  4067	027636	370 00 0 00 000001 		SOS	1			;0 = 110 BAUD
  4068	027637	202 01 0 00 020016 		MOVEM	1,TTYSPD		;SAVE
  4069
  4070	027640	402 00 0 00 000002 	TYBD5:	SETZM	2
  4071	027641	306 01 0 00 000005 		CAIN	1,5
  4072	027642	201 02 0 00 000004 		MOVEI	2,4			;4 FILLERS @ 2400
  4073	027643	306 01 0 00 000004 		CAIN	1,4
  4074	027644	201 02 0 00 000002 		MOVEI	2,2			;2 FILLERS @ 1200
  4075	027645	306 01 0 00 000003 		CAIN	1,3
  4076	027646	201 02 0 00 000001 		MOVEI	2,1			;1 FILLER @ 600
  4077	027647	202 02 0 00 025004 		MOVEM	2,FCRCNT		;FOR CR
  4078	027650	202 02 0 00 025005 		MOVEM	2,FLFCNT		;FOR LF
  4079	027651	302 01 0 00 000002 		CAIE	1,2			;IF 300 BAUD
  4080	027652	263 17 0 00 000000 		RTN
  4081	027653	201 02 0 00 000011 		MOVEI	2,^D9			;USE 9 FILLERS FOR CR
  4082	027654	202 02 0 00 025004 		MOVEM	2,FCRCNT		;IN CASE LA30
  4083	027655	263 17 0 00 000000 		RTN
MAGMON	[DDQDE] DECSYSTEM DIAGNOSTIC MAGTAPE MONITOR, VERSION 0.14 	MACRO %53(1026) 13:59 23-Apr-80 Page 58
MAGLDR	MAC	23-Apr-80 13:55		SPECIAL STARTUP MESSAGES AND INITIALIZATION                                        SEQ 0136

  4084
  4085		254000	020004			END	JRST	ONETIM

NO ERRORS DETECTED

PROGRAM BREAK IS 000000
ABSOLUTE BREAK IS 027656
CPU TIME USED 00:10.507

22P CORE USED

A	   293	   426	   430	   442	   728	  1616	  1633	  1635	  1637	  1639	  1703	  1708	  2208	  2210
	  2308	  2344	  2350	  2360	  2379	  2380	  2381	  2382	  2383	  2384	  2392	  2407#	  2500	  2506     SEQ 0137
	  2507	  2547	  2548	  2551	  2782	  2785	  2787	  2788	  2789	  3102	  3104	  3106	  3126	  3127
	  3142	  3144	  3145	  3146	  3252	  3253	  3255	  3308	  3310	  3312	  3314	  3317	  3319	  3321
	  3323	  3325	  3327	  3329	  3331	  3333	  3335
A10FLG	  1741#	  1741	  1746	  2061	  2258	  2358
ACS0	  1062#	  1062
ACS1	  1063#	  1063	  1076	  1080	  1088
ACSAVE	  1776	  1777	  1778	  1799	  1801	  1812	  1813	  1814	  3599#
ALTMFL	   341	   343	  1475	  2204	  3561#
APR	   216	   714	   858	   906	   986	  1005	  1493	  4039	  4040	  4042	  4050	  4052
ASKDEN	  1590	  1599#	  3130
ATA	  3061#
ATTEN	  2882#
ATTNEN	  2908#	  3167
B	   437	  1617	  1623	  1624	  1628	  1630	  2313	  2314	  2315	  2316	  2317	  2319	  2329	  2343
	  2361	  2384	  2385	  2390	  2408#	  2473	  2474	  2475	  2476	  2477	  2478	  2479	  2482	  2483
	  2753	  2754	  2755	  2756	  2757	  2759	  2760	  2762	  3087	  3089	  3105	  3106	  3107	  3109
	  3110	  3111	  3112	  3113	  3114	  3115	  3116	  3117	  3118	  3119	  3125	  3126	  3128	  3129
	  3131	  3132	  3248	  3250	  3254	  3255	  3256	  3257	  3258
BACKUP	  2316	  2328#
BADBIT	  2752#	  2815	  2837	  2849
BADTAP	  2745#	  2752	  2849
BLKCNT	  2967#	  2975#	  3095	  3225
BLOCKO	  2513	  2526	  2529	  2537	  2544	  2558	  2563#	  3137	  3165	  3176	  3234	  3237	  3239
BOT	  2737#	  3074#
BPI800	  2721#	  2798	  2826	  2835	  2841	  2843	  2847
BSB	  2435#	  2688
BSF	  2436#	  2691
BUSLP	  2885#
BUSY	  2444#
BYTSAV	  1869#	  1869	  1871	  1872	  1873	  1874
C	  1615	  1616	  1618	  1625	  2350	  2352	  2355	  2357	  2366	  2367	  2370	  2372	  2378	  2380
	  2381	  2382	  2387	  2388	  2409#
CERR	  3062#	  3244
CH.ERS	  2927#
CH.LER	  2922#	  2927
CH.LWC	  2924#	  2927
CH.NXM	  2921#	  2927
CH.OVR	  2926#	  2927
CH.PAR	  2918#	  2927
CH.RHE	  2923#	  2927
CH.SER	  2919#	  2927
CH.SWC	  2925#	  2927
CH.WCZ	  2920#	  2927
CHAIN	   172#	   667
CHAN7	  2749#
CHECK	  2805	  2813#
CHECK0	  2816	  2823#
CHECK1	  2631#
CHECK2	  2626	  2638#
CHECK3	  2642#	  2821
CHECK5	  3170	  3179	  3194#
CHJMP	  2963#
CHJMPG	  2439#	  2671                                                                                                     SEQ 0138
CHNCMD	    74#	  2789	  2796	  2800	  2817	  3146	  3266
CHNER	  2900#
CHNRDY	  2903#
CHRCTR	  1217	  1227	  1230	  1235	  1237	  1302	  1313	  1395	  1414	  3574#
CLEAR	  2428#	  2490	  3045#
CLKFLG	   769	   902	  3562#
CLRCOR	  1996	  2095	  2119#
CLRCR1	  2120	  2132#
CMDADR	   310	   319	   392#
CMDDN	  2910#	  3167
CMDEX	   307	   310#
CMDEX1	   316	   319#
CMDHLP	   392	   455#
CMDLP	   304#	   308
CMDLP1	   305	   313#	   317
CMDLST	   304	   306	   313	   315	   366#
CMNCMD	   477#	   491
CMNPNT	  2034	  2040#	  2046
CNSFLG	   794	   805	   938	   940	  3564#
CNTLOF	  1244	  1271#	  1271	  1333	  1350
CONSW	   194#	  1424	  1498
CONT	  2429#	  2490
CP2	  1072#	  1102
CPI	  1071	  1098#
CPOPJ	   443#
CPOPJ1	   361	   501#	   507	   522	   995	  1444	  1661	  1663	  1875	  2188	  2203	  2255	  2265	  2359
	  2645
CRLF1	   292	   419	   432	   643	   727	   735	  1266#	  1479	  1695	  1715	  3274
CRRTN	   524	   597#
CRRTN1	   611#
CSRFLG	  2423#	  2680
CURR	  2315#	  2315	  2323	  2368	  2374	  2553	  2661
CXPND	   469	   748#
CXPND1	   752	   755#
DAC	  2464#
DATA	  2750#	  2806
DATLAT	  2744#	  2752
DB	  1073	  1104#
DB1	  1105	  1108#
DBPE	  2896#	  2912
DDT	   108#
DDTLNK	    70#
DECVER	     3#	    10	    36	  3642
DEN800	  1581	  1589	  1592#
DEVCM1	   340	   487#
DEVCM2	   493#	  2164
DEVCMD	   395	   484#
DEVFLG	   484	   487	  2163	  3556#
DEVPAR	  2450#
DEVRD	   504#	  1452
DEVSEL	   241	   363	  1546#	  1574	  1577
DF10	  2734#	  2783
DF22	  2733#	  2786                                                                                                     SEQ 0139
DF22F	  2914#	  3143
DH	  2867#	  3252
DH2	  2868#	  3252
DH3	  2869#	  3252
DH4	  2870#	  3252
DH5	  2871#	  3252
DH6	  2872#	  3252
DHSTRC	  2995#	  3264
DIAGLA	  1748#	  2397
DIAGLD	   265	   272	   277	   281	   338	   669	  1691	  1729	  1738#	  2654
DIAGMN	    89#	   917
DIAGNO	    88#	   407	  2135
DIGIT	    53#	   515	   558	   564	   565	   604	   606	   607	   837	  1429	  1440	  1443
DIGIT1	    55#	   563	   564	   608	   609
DIGIT2	    56#	   563	   608
DIGITA	    54#	   556	   557	  1429	  1438	  1439
DINFLG	   488	  1451	  3557#
DIRCK	  2380#	  2386
DIRECT	   397	  1681#
DIREND	  1700	  1707	  1711	  1715#	  1718	  1720
DIRFIL	  1699#	  1714	  1721
DIRFLG	  1690	  2160	  3560#
DIRLIN	  1695#	  1712
DIRPNT	  1693#	  2161
DIRRCD	  1702	  1717#
DNCLR	  2883#	  3112
DOVRER	  2904#	  2912
DPNTR	    48#	   490	   504
DPR	  3067#
DR.AS	  3025#
DR.CCY	  3033#
DR.CR	  3021#
DR.DCY	  3032#
DR.DT	  3027#
DR.EC1	  3036#
DR.EC2	  3037#
DR.ER1	  3023#
DR.ER2	  3029#
DR.ER3	  3035#
DR.FC	  3026#
DR.LA	  3028#
DR.MR	  3024#
DR.OFF	  3031#
DR.SN	  3034#
DR.SR	  3022#
DR.TC	  3030#
DRAES	  2936#
DRAS	  3004#
DRATTN	  2906#	  3167
DRCCY	  3013#
DRCR	  3000#	  3224	  3228	  3229
DRDCY	  3012#
DRDT	  3007#                                                                                                            SEQ 0140
DRDTS	  3005#
DREC1	  3016#
DREC2	  3017#
DRER1	  3002#	  3227
DRER2	  3009#
DRER3	  3015#
DRESSE	  2901#	  2912
DREX	  2897#	  2912
DRFC	  3006#	  3222	  3223
DRLA	  3008#
DRMR	  3003#
DROFF	  3011#
DRSEL	  2938#	  2947#	  2953#	  2965#	  2973#
DRSN	  3014#
DRSR	  3001#	  3226
DRTC	  3010#	  3221
DRY	  3068#	  3242
DSCR	  2881#
DSRFLG	  2453#
DTE	   151#	  1521
DTECLR	  1530#	  1687	  2148	  2207
DTEINT	   229	   718	  1503#
DTES	  2966#	  2974#
DTRA	  2887#
DUMP	  2722#	  2798	  2826	  2835	  2847
DX10	  1632	  2334	  2494#	  2494
DXBSB	  2502	  2633	  2688#
DXBSF	  2503	  2649	  2691#
DXCLR	  2460#	  2568
DXCODE	  2472#	  2517
DXDEV	  1636	  2473#
DXFORW	  2495	  2666#
DXFSF	  2505	  2666	  2698#
DXINIT	  2335	  2509#
DXRDF	  2501	  2624	  2684#
DXRDI	  2528#	  2534
DXREAD	  2495	  2622#
DXREVS	  2495	  2649#
DXREW	  2495	  2658#
DXREWD	  2504	  2658	  2695#
DXRTRY	  2624#	  2635
DXSTRT	  2518	  2557#
DXU	  2506	  2603#
DXWAIT	  2625	  2634	  2650	  2659	  2667	  2671#
ENDEP	  2467#	  2550	  2574	  2586	  2590	  2591	  2595	  2596	  2597	  2598	  2602	  2603	  2604	  2605
ENEXM	  2466#	  2706
EOF	  2740#	  2813	  3075#	  3173	  3204	  3211
EOT	  2741#	  2752	  3080#
EP	  2939#
ERR10	  2126	  2131	  2292	  3325#
ERR11	  2636	  3199	  3327#
ERR12	  2669	  2850	  3212	  3329#
ERR13	  2377	  2391	  3331#                                                                                            SEQ 0141
ERR14	  2516	  2542	  2679	  3333#
ERR15	  3335#
ERR2	  2066	  2168	  2172	  3307#
ERR6	  2075	  2079	  3317#
ERR7	  2086	  2088	  2197	  3319#
ERR8	  2223	  3321#
ERR9	  2267	  2632	  2824	  3195	  3323#
ERRBTS	  3101#	  3101	  3169	  3269
ERROR	  3273#	  3309	  3311	  3313	  3315	  3318	  3320	  3322	  3324	  3326	  3328	  3330	  3332	  3334
	  3336
EX	   470	   642#
EX1	   652#	   724
EX2	   666#
EX3	   674#
EX4	   335	   655	   726	   740#
EX5	   646#	   736
EXBAD	   625	   631#	   687
EXBUF	  2512	  2701#
EXC	  1067	  1076#	  1101	  1106
EXC1	  1080#	  1123
EXC2	  1086	  1090#
EXC3	  1087	  1091#
EXC4	  1082	  1093#
EXC5	  1084#	  1097
EXECDC	  1619	  1628#
EXECDI	  1618#	  1627
EXECDV	  1551	  1609#	  1613	  1614	  1622	  1626	  1631	  1641	  1672	  2480	  2499	  2758	  2773	  2781
	  3088	  3108	  3122	  3140	  3251
EXECLD	  1752	  1761	  2334#
EXEXEC	   690#
EXNEW	   691	   694	   697#
EXNOE	   622#	   692
EXNOU	   627#	   695
EXUSR	   689	   693#
F	   438	   439	   440	  2406#
FBSAV	  1768#	  1768	  1862
FCE	  3085#	  3178
FCRCNT	  1272	  3577#	  4077	  4082
FILLCR	  1250	  1271#
FILLLF	  1252	  1275#
FILLX	  1273	  1276#	  1281
FLFCNT	  1275	  3578#	  4078
FLNAM1	   540#
FLNAM2	   536	   556#
FLNAME	   298	   328	   478	   511#	   552	   571	   589	   599
FLNMLP	   520#	   526	   535	   548	   559	   566	   576
FNCTN	  2968#	  2976#
FNFND	  2311#
FORWRD	  2306	  2318	  2330	  2371	  3582#
FRAMES	  3084#	  3178
FRD36	  1803	  1827#
FRD8	  1805	  1858#
FRDLNK	    68#	   249                                                                                                     SEQ 0142
FRDTYP	  1798#	  1798	  1802	  1804
FREAD	   248	  1798#
FREAD1	  1812#	  1830	  1860
FREAD2	  1810	  1822#	  1828	  1859
FREAD3	  1809#
FSELEC	   246	  1726#
FSELF	  1776#
FSELNF	  1792#
FSELNK	    67#	   247
FSF	  2437#	  2698
FULL	   617#
G8BY1	  1869#
G8BY2	  1864	  1871#
G8BYT	  1858	  1862#
HEADER	   239	  3642#
HELP	   457	   612	  3661#
HLPCLR	   455#	   455	   613
HUNG	  2735#	  2752
IADDR	  2981#
IDB	  3076#
IDLE	  2747#	  2780
ILLCMD	  2452#
ILLOP	  2738#	  2752
IMGINM	   163#	   859	  1006
IMGNOF	   160#	   986
IMGNON	   161#	  1024
INHLD	  2422#
INLEND	    43#	   614
INLIST	   327	   330	   347	   349	   350	   477	   647	  3632#
INTFLG	  2430#	  2676
IOCLR	   139#	   216	   714
IP	    57#	   263	   270	   275	   279	   291	   300	   302	   327	   330	   331	   334	   336	   420
	   426	   430	   477	   602	   603	   607	   609	   610	   611	   612	   614	   632	   647	   652
	   654	   656	   660	   674	   675	   684	   716	   722	   723	  1688	  1728	  1744	  2236	  2238
	  2347	  2349
ISPDOF	   162#	   986
ISPDON	   164#	   903
ITERAT	   192#	   682	   894	   911	   927	   933	  1033	  1134
ITRCNT	    93#	   912	   934
JOBDON	  2746#	  2804	  2831
JOBFF	    65#	  2091
JOBFFW	  1994	  2093#	  2093	  2127	  2137
JOBREL	    66#	   205	  2121	  2212	  2293
JOBSA	    64#	  2082
JOBSAW	  1991	  2084#	  2084	  2085	  2133
JRSTX	  1069	  1114#
JRSTX1	  1115	  1120#
KAIFLG	   196#	   219	   227	   751	  1131
KLDDT	    99#	  1370
KLFLG	   195#	   218	   223	   228	   237	   268	   717	   750	   761	   809	   905	   922	   968	   984
	  1081	  1130	  1242	  1288	  1354	  1491	  1532	  1751	  3148	  3185
LDA10	  1880#	  2062
LDACH1	  1834	  1843#                                                                                                    SEQ 0143
LDACH2	  1849#
LDACHR	   494	  1809	  1833#	  1849	  1884	  1899	  1917	  2040	  2150
LDADR	  1981	  2001	  3597#
LDAEOF	  1839	  1853#
LDATA	  1992	  2004	  3598#
LDATAE	  1910	  1971	  3600#
LDBF	  1562	  1565	  1593	  1594	  2224	  2229	  2232	  2643	  3616#	  3627
LDBF1	  1561	  1564	  2228	  2231	  3617	  3621#
LDBF2	  1563	  1566	  2230	  2233	  3622	  3626#
LDBIT	  2934#
LDBLK	  1560	  1572	  1573	  2222	  3609#
LDBUF	  2179	  2186	  2187	  2220	  2221	  2225	  2325	  2337	  2338	  2642	  2644	  3611	  3612#
LDCHN	    60#	  1573	  1575	  1583	  1592	  2194	  2222	  2254	  2264	  2266	  2273	  2278	  2283	  2300
	  3593
LDCMA	  1927	  1959#
LDCMNT	  1887	  2033#
LDCNT	  1908	  1909	  1912	  1968	  1979	  1983	  3596#
LDCNV	  1915#	  1960
LDCNV1	  1917#	  1921	  1939	  1947	  1953
LDCNV2	  1952#	  1957
LDCNV3	  1930	  1955#
LDDIR	  2310	  2362#
LDDIRB	  2376#	  2400
LDDIRN	  2394	  2399#
LDDONE	  2002	  2029#
LDEOL	  1924	  1963#
LDEVIC	  1742#	  1742	  1779	  1792	  2235	  2302
LDEXCB	   156#	   970	   987	  1083
LDLNK	    69#
LDNAME	  2237	  2253	  2254	  2256	  3604#
LDOCTF	  1881#	  1881	  1906	  1929	  1965
LDPROC	  1881#	  1990	  1997	  2025	  2036
LDTBLK	  1889#	  1889	  1893	  2000	  2007	  2019	  2022
LDTEN	  1966	  1979#
LDTEN1	  1986	  2000#
LDTEN2	  2006#	  2024
LDTENZ	  1990#
LDUSRB	   157#	   970	   987	  1083
LDZBLK	  1882#	  1882	  1897	  1985
LENERR	  2451#
LERR2	  1885	  1900	  1918	  2041	  3308#
LERR3	  1896	  3310#
LERR4	  1905	  3312#
LERR5	  1975	  3314#
LET	    49#	   356	   360	   513	   536	   565	  1557	  1572	  1614	  1615	  1644	  1655	  1658	  1659
	  1661	  1662	  1664
LHSWS	   645	  1419#	  1423
LIST1	   398	  1676#
LLDUSB	   152#	   994	   998	  1096
LNXM	  2893#
LOAD8A	  2549#	  2552
LOFMSG	  1304	  1337#
LOOKU0	  2344#	  2361                                                                                                     SEQ 0144
LOOKU1	  2351	  2355#
LOOKU2	  2353	  2357#
LOOKU3	  2348	  2356	  2360#
LOOKUP	  2309	  2343#	  2393
LOWCMD	  2458#	  2488	  2490	  2627	  2638	  2672	  2673	  2794	  2797	  2818	  2825	  3260	  3262	  3264
LPAR	  2894#
LPT	  1287	  1290
LPTFLG	   468	  1238	  1303	  1312	  1686	  1697	  2147	  3558#
LPTOFL	  1293	  1298#
LPTSW	   170#	  1685	  2146
LR	  2933#	  2946#	  2959#	  3095	  3221	  3222	  3223	  3224	  3225	  3228	  3229	  3264
LSTFLG	  1676	  2158	  3559#
LSTPN1	  2150#	  2153
LSTPNT	  2143#	  2159
LWCER	  2898#
M	  1696	  1698	  1712	  1767	  1833	  1835	  1847	  1848	  1862	  1863	  1864	  1874	  2169	  2173
	  2174	  2412#
MAGDEV	  1546#	  1546	  1558	  1681	  2181	  2226
MAGLD	  2301#	  2339
MAGONC	  1548#	  1548	  2183	  2268	  2303	  2305	  2307	  2312	  2324	  2367	  2375	  2524	  2554	  2653
	  3287
MAGRCD	  1593	  2396	  2414#	  2545	  2605	  2607	  2641	  2685	  2785	  2802
MARGIN	    98#	   904	   906
MASSEN	  2905#
MBCCLR	  2877#	  3110
MBE	  2879#	  3112
MCCODE	  2471#	  2704
MCLOAD	  2543	  2615#
MCNVER	     4#	    10	    36	  3642
MCREAD	  2536	  2584#
MCSTRT	  2470#	  2708
MEMPAR	  2425#	  2430	  2488	  2678
MGNADR	   851	   892	  1023	  1026	  1030	  1055	  3568#
MGNCNT	   890	  1019	  1031	  1042	  1052	  3566#
MGNFLG	   825#	   825	   853	   897
MGNGO	  1042#	  1047
MGNGO1	  1052#
MGNGO2	  1039#	  1051
MGNINC	   829#	   829	  1018
MGNITR	   895#	   895	   908	  1057
MGNMSG	   855	   864#
MGNONC	  1009	  1011	  3565#
MGNWRD	   889	   901	  1016	  1025	  1040	  1048	  3567#
MINUS	   532	   570#
MODLNK	    71#
MOL	  3064#	  3139
MONCTL	    94#	   698	  1137
MONFLG	    96#	   935
MONTEN	    97#	  2198
MPADR	  2462#	  2571	  2575	  2582	  2587	  2592	  2599	  2610	  2617	  2703	  2707
MPCONT	  2469#	  2578	  2613	  2710
MPCTL	  2463#	  2569	  2573	  2577	  2580	  2585	  2589	  2594	  2601	  2612	  2615	  2619	  2701	  2705
	  2709                                                                                                             SEQ 0145
MPERR	  2424#	  2430	  2488	  2678
MPHALT	  2468#	  2578	  2581
MRGIN	   990	  1007	  1015#	  1043	  1056	  1059
MRGNCK	   898	  1005#
MRGNF	   893#	   893	   907	   924	   988	  1015
MSBSR	  3202	  3224#
MSCFC	  3222#
MSCMD	  3097	  3220#
MSDV	  3110#	  3270
MSERR	  3175	  3227#
MSFORW	  3133	  3208#
MSFSR	  3209	  3228#
MSGO	  3198	  3203	  3210	  3217	  3237#
MSJUMP	  3099#	  3099	  3158	  3267
MSLOW2	  3094#	  3094	  3180	  3263
MSLOWC	  3092#	  3092	  3159	  3261
MSRD	  3096	  3164	  3225#	  3265
MSRDY	  3171	  3238#	  3243
MSREAD	  3133	  3148#
MSRESO	  3123	  3125	  3132	  3221#	  3233
MSREVS	  3133	  3201#
MSREW	  3133	  3215#
MSREWD	  3216	  3229#
MSRSET	  3135	  3163	  3196	  3201	  3208	  3215	  3231#
MSRTRY	  3163#	  3200
MSSTAT	  3136	  3226#	  3238
MUUO	   146#	  1064	  1068	  1077	  1108
MUUOER	   878#	   958	  1118
MUUOH	   963	  1062#
MUUOPC	   147#	  1079	  1084	  1111	  1121
NAM	    50#	   515	   546	   551	   598	   601	   603
NAM1	    51#	   514	   551	   599	   600	   601	   602
NAM2	    52#	   516	   545	   547
NAMPNT	   421	   426#	   636	   668	  3285	  3301
NEUT	  3066#
NFERR	  1785#	  2243	  2251	  2365	  2401
NFERR1	  1788	  3298#
NOCMNT	  1727	  1734	  1736#	  1736	  1738	  2044	  2048
NOFNF	  1733#	  1733	  1740	  1785
NOOP	  2723#	  2777	  3042#
NOOP1	  2724#	  2843
NXM	  2426#	  2430	  2488	  2678
ONCE	   199#	   235	   289	  3288
ONETIM	   191#	  4085
ONETM1	   191	   205#
OPI	  2455#
P	    58#	    76	    77	    78	    79	   217	   290	   418	   501	   715	   981	  1208	  1211	  1539
	  1605	  1780	  1817	  1850	  2144	  2149	  2681	  3245	  3273	  3275
PAG	   145#	   970	   987	   993	   994	   997	   998	  1083	  1093	  1095	  1096	  1758	  1760	  3154
	  3156	  3189	  3190
PAGKL	   969	   991#
PAR	  2940#
PARITY	  2720#	  2798	  2826	  2835	  2847                                                                             SEQ 0146
PASS	   198#	   642	   648	   658	   683	   733	   930	   942
PCLP	  2960#	  3095	  3225
PCRFUL	  2909#
PDC	  2418#	  2474
PDC2	  2419#	  2476
PDC3	  2420#	  2478
PE	  2935#
PERIOD	   541	   551#
PERR	  2739#	  2752
PES	  3078#
PFSTRT	   106#	   409
PGMGO	   250	   251	   337	   489	  1683	  2202	  3290	  3554#
PGNAME	   232	   293	   728	  3551#
PI	   215	   713	   908	   925
PIA	  2884#	  2911#
PICLR	   140#	   215	   713
PIP	  3063#	  3241
PLIST	   217	   290	   418	   715	   981	  3552#
PNT16	   447#	  2045	  2049	  2152
PNTDEC	   734	  1207#	  1210
PNTLPT	  1239	  1284#
PNTOCT	  1197#	  1202	  3282
PNTTAB	  1483#	  1705	  1713
PRGCOR	  2061#	  2165
PRGNBR	  2314#	  2314	  2321
PRINT	   429	   441	   449	  1166	  1171	  1173	  1191	  1201	  1213	  1217#	  1307	  1389	  1462	  1478
	  1484	  3284
PRINT1	  1226	  1229	  1234#
PRINT2	  1233	  1253#	  1259	  1262	  1276	  1294
PRINT3	  1243	  1257#
PRINT4	  1241	  1261#
Q	  1766	  2064	  2132	  2133	  2134	  2135	  2136	  2137	  2138	  2139	  2187	  2411#	  2545	  2549
	  2767	  2769	  2777	  2798	  2802	  2818	  2819	  2826	  2835	  2841	  2843	  2847
RACKF	   252	   852	   891	  1027	  1053	  3569#
RAECLR	  2876#	  3112
RAEER	  2902#	  2912
RANBAS	   200#	   699	   702
RANDBS	    95#	   703
RBOUT	   530	   543	   544	   586#
RBUF	  2378	  2379	  2392	  2395	  2685	  2788	  2802	  2820	  3145	  3220	  3619#
RCERR	  2742#	  2752
RCLPA	  2880#	  3112
RDAT	  2941#	  2948#	  2954#	  3223
RDEOF	  2268#	  2629	  2814	  3174
RDF	  2438#	  2684	  3054#	  3095	  3225	  3264
RDITRG	  2525	  2568#
RDIWAT	  2528	  2580#
RDR	  3055#
READ	   520	  1451#	  1466	  1468
READ1	   508	  1454#
READBL	  1568	  1595	  2184	  2376	  2495	  2775	  3133	  3580#
READX	  2726#	  2798
REENTR	   107#	   410                                                                                                     SEQ 0147
RELIAB	   171#	   678
RELSE	  3046#
RERUN	   190#
RERUN1	   190	   707#
RESTRT	   188#	   983	  1002	  1058
RET	   637	   659	   670	   722#
RETRY	  2457#	  2622	  2793	  3161
RETURN	    90#	   914	   975	  2200
REVERS	  2328	  3581#
REVSER	  2652#	  2838	  3205
REW	  1596	  2304	  2369	  2496	  2776	  3134	  3583#
REWD	  2441#	  2695
REWEND	  2661#	  2845	  3219
REWIND	  2725#	  2841
RFILE	  1766#	  2242	  2247	  2250	  2326
RFILE1	  1772	  2158#
RFILL1	  2167#	  2175
RFILL2	  2171#	  2174
RFILL3	  2101	  2169#
RH.ERS	  2912#	  3100
RH0	  2856#	  3102
RH1	  2857#	  3102
RH10DC	  3249	  3257#
RH10DV	  1638	  3247#
RH2	  2858#	  3102
RH20	  3086#	  3086	  3181	  3247
RH20DV	  1640	  3086#
RH3	  2859#	  3102
RH4	  2860#	  3102
RH5	  2861#	  3102
RH6	  2862#	  3102
RH7	  2863#	  3102
RHCLK	  2888#
RHDIAG	  2986#
RHEBL	  2886#
RHIVR	  2989#
RHPBAR	  2991#
RHPTCR	  2990#
RHRDR	  2988#
RHREAD	  3158#
RHSBAR	  2993#
RHSTCR	  2992#	  3095	  3225
RHWRR	  2987#
RL	  1075	  1106#	  1112
RLINC	  2743#
RMS1	  2083	  2092	  2105#
RMS2	  2103#	  2110
RSEL	  2461#	  2569	  2571	  2573	  2575	  2577	  2580	  2582	  2585	  2587	  2589	  2592	  2594	  2599
	  2601	  2606	  2608	  2610	  2612	  2615	  2617	  2619	  2701	  2703	  2705	  2707	  2709
RUN	   188	   711#	  3292
RUNCTL	   646	   697	   725	  3573#
RUNIND	  2421#	  2510	  2539
RUNPR1	   330#	   351                                                                                                     SEQ 0148
RUNPR2	   314	   346#
RUNPRG	   324#	   344	   396	   485	  1677
RWND	  3044#	  3229
RWORD	  1693	  1699	  1706	  1710	  1719	  1827	  1838	  1866	  2065	  2167	  2171	  2179#
RWORD1	  2182	  2184#
RWORD2	  2180	  2186#
SADR	   320	  2195	  2215#
SADRQ	   321	   333	   399	  2207#
SAV13	  1769#	  1769	  1836	  1840	  1853
SAV14	  1770#	  1770	  1837	  1841	  1854
SAVAC0	  1220	  1254	  1300	  1315	  3575#
SAVAC1	  1218	  1253	  1301	  1314	  3576#
SAVEIP	   336	   420	   652	   674	   716	  2208	  3572#
SAVQ	  2132#	  2132	  2139
SAVT0	  2068#	  2068	  2096
SAVT1	  2069#	  2069	  2081	  2090	  2097
SAVT2	  2070#	  2070	  2098
SAVT3	  2071#	  2071	  2099
SAVT4	  2072#	  2072	  2100
SAXPN	   400	  1128#
SBERR	  2895#
SCFLAG	   511	   525	   575	   597	  1376	  1457	  3571#
SCRFUL	  2907#
SCSET	   528	   575#
SDWN	  3077#
SELECT	   187	   209#	   342	   359	   743	  1129	  1133	  1329	  1364	  1373	  1682	  1692	  1694	  1716
	  3291
SELERR	  2448#
SELSTR	   291	   300	   346	   348	  3595#
SELX	   236	   244#	   364
SELX1	   255	   278	   282	   289#	  3289
SELX2	   267	   274	   279#
SELX3	   266	   269	   275#
SELX4	   262	   268#
SELXR	   363#	   401
SEQERR	  2449#
SFSTRT	   105#	   408
SIXBP	   294	   427	   431	   437#	   442	   729	  1704	  1709	  3276
SIZE1	  2962#
SLA	  3073#
SMLUSR	   158#
SNSERR	  2454#
SPACE	  2727#
SPACE1	  2728#	  2847
SPACE2	  2729#	  2826
SPACE3	  2730#	  2835
SPBAKR	  3049#	  3224
SPECIA	  1726#	  1726	  1739	  1771	  1787	  2143
SPFWDR	  3048#	  3228
SSC	  3079#
START	   135	   187#	   422	   459	   463	   620	   884	  2134	  2151	  2199
START1	   109#	   411
START2	   110#	   412                                                                                                     SEQ 0149
START3	   111#	   413
START4	   112#	   414
START5	   113#	   415
STARTQ	  2030	  2170	  2193#
STAVL	  2427#	  2430	  2490	  2541
STBUF	  2557	  2707#
STOP	   500	  1763#
STORE	  2440#	  2686	  2689	  2692	  2699	  2964#	  3095	  3225
STORED	   393	   468#	   480
STRD2	   761#	   770	  1139
STRD3	   762	   767	   774#	   783
STRD3A	   782	   802#
STRD4	   778	   786#	   792	   799	   803
STRD4A	   796	   805#
STRD5	   787	   800	   806	   809#
STRD5A	   829#	   836	   837	   839	   841
STRD5C	   816	   825#
STRD6	   831	   842#	   848	   850
STRD7	   810	   843	   853#	   860
STRD8	   854	   862#
SUBLNK	    72#
SUBRTN	    87#	   254
SUSERF	   197#	   512	   570	   605	   653	   662	   920	  1000	  1142
SVJBRE	   206#	   206	  2122	  2124	  2128	  2211	  2289	  2294
SWCER	  2899#
T0	  2053#	  2068	  2074	  2076	  2084	  2093	  2096	  2105	  2106	  2107	  2111	  2113
T1	  2054#	  2069	  2081	  2085	  2087	  2090	  2097	  2103	  2104	  2105	  2112	  2113
T2	  2055#	  2070	  2076	  2078	  2098	  2106	  2108	  2109
T3	  2056#	  2071	  2077	  2078	  2082	  2091	  2099	  2109	  2111	  2112
T4	  2057#	  2072	  2100	  2103	  2107	  2108
TAB	  1542#	  1549	  2308	  2313	  2363	  2395	  2396
TAPECL	  2489	  2559	  3111	  3231	  3586#
TAPEDC	  1579	  1591	  3594#
TAPEDN	  2298	  3592#
TAPEEX	  2484	  2514	  2530	  2768	  2808	  3117	  3138	  3177	  3240	  3590#
TAPEGO	  2491	  2674	  2770	  2774	  2778	  2799	  2829	  3113	  3232	  3589#
TAPELD	  2493	  2547	  2563	  2763	  2795	  3119	  3588#
TAPEPF	  1461	  3555#
TAPERD	  2486	  2509	  2538	  2675	  2765	  2779	  2803	  2830	  3115	  3141	  3166	  3587#
TITLE	   189#
TMA	  2784	  2789#
TMC	  2717#	  2754
TMC2	  2718#	  2756
TMDEV	  1634	  2753#
TMDONE	  2812	  2830#	  2832
TMFORW	  2775	  2847#
TMGO	  2827	  2829#	  2836	  2842	  2844	  2848
TMRDS	  2803#	  2807	  2810
TMREAD	  2775	  2793#
TMREVS	  2775	  2835#
TMREW	  2775	  2841#
TMRTRY	  2796#	  2828
TMS	  2716#                                                                                                            SEQ 0150
TMS2	  2719#
TMWAIT	  2801	  2809	  2812#
TOUT	    81	  1184#	  1193
TOUTA	  1183#	  1194
TRA	  2937#
TRANS	  2321#	  2331
TRPENB	   143#	   970	   993	   997	  1083	  1094	  1759	  3155
TT2CHR	   353#	   766	   777	   791	   815	  1602
TTAB	   534	   563#
TTALTM	  1383	  1385	  1387	  1475#
TTY	  1245	  1247	  1278	  1279	  1323	  1326	  1356	  1358	  4045	  4047	  4055
TTYCFL	  1321#	  1321	  1351	  1398
TTYCHK	  1246	  1289	  1321#
TTYCMD	   394	   474#
TTYEXT	  1375	  1393	  1398#	  1471
TTYIN	    82	  1350#	  1453
TTYINA	  1377	  1382#	  1396
TTYIND	  1331	  1370#
TTYINU	  1353	  1411#
TTYINX	  1362#	  1407	  1413	  1416
TTYKL	  1355	  1403#	  1406
TTYOC1	  1430#	  1441
TTYOC2	  1432	  1443#
TTYOC3	  1436	  1446#
TTYOCT	    83	  1429#
TTYSPD	   201#	  4068
TTYSXB	  1539	  1644#	  1660
TTYSXX	  1647	  1661#	  1665
TYBAUD	   238	  4036#
TYBD1	  4045#	  4049
TYBD2	  4047#	  4051	  4053
TYBD3	  4048	  4050#
TYBD4	  4055#
TYBD5	  4070#
TYPE0	  2447#
UFORWD	  1595	  2278#
ULOAD	  3043#
UMAGLD	  2227	  2298#
UNIT	  1668#	  2497	  2771	  3120
UNITCK	  2445#
UNITEX	  2446#	  2628
UNITNM	  2465#
UPMP	   148#	   948	   950	   951	   953	   954	   955	   957	   959	   960	   961	   962	   964	   965
	   966	   967	   970	   992	   994	  1064	  1068	  1077	  1079	  1083	  1084	  1096	  1108	  1111
	  1121
UREADB	  1567	  1595	  2264#
UREVRS	  1595	  2273#
UREW	  1595	  2283#
USER	   193#	   209	   212	   213	   230	   233	   261	   285	   644	   688	   711	   748	   899	   982
	  1128	  1240	  1352	  1388	  1446	  1477	  1489	  1503	  1530	  1550	  1748	  2119	  2193	  2209
	  4036
USERF	   141#	   144#	   211	   972	  1085
USERLD	  1749	  2220#                                                                                                    SEQ 0151
USLD1	  2239	  2245#
USLKUP	  2241	  2246	  2249	  2253#
USRCMP	   159#	   970	  1083
USRERR	   881#	   952	   991
USRFLG	   780	   786	   802	   909	   928	  1141	  3563#
USRINT	   231	  2288#
USRITR	   896#	   896	   925	  1001
USRMAG	  1557	  1572#
USRRUN	   910	   920#
USSR1	   974	   980#
USSR2	   913	   981#	  1119
USSR3	   985	   997#
USSR4	   989	  1000#
VCNT0	  1022#
VCNT1	  1021	  1037#
VCNT2	  1036	  1046#
VCNT3	  1045	  1050#
VOLT5	   165#	  1022	  1037	  1046	  1050
VOLTLM	   166#	   826	  1037	  1046
VV	  3069#
W	  1701	  1703	  1708	  1717	  1829	  1843	  1844	  1845	  1846	  1847	  1869	  2029	  2169	  2173
	  2186	  2195	  2196	  2410#	  2527	  2533	  2546	  2552	  2622	  2631	  2793	  2823	  3161	  3194
WDCNT	  2820#	  3182	  3192
WHAT	   189	   418#
WHDEN	  1585	  1586	  1590#
WIND	  2736#	  2780
WRL	  3065#
WRTLCK	  2748#
WTCKF	  3050#
WTCKR	  3051#
WTF	  3052#
WTFLIG	  3053#
WTFM	  3047#
XECLR	  2878#	  3112
XFR	  2961#
XPAND	   174#	   756
XPNRN1	   899#	  1003	  1012	  1034	  1041	  1049
XPNRN2	   900	   911#	   921	   932
XPNRN3	   915#	   976
XPNRUN	   707	   889#	  1144
ZEROAC	   580#	   915	  2213
$$DTE0	  1509	  1521#
$DDT	   117#	   283	   406	  1372
$DTCHR	   129#
$DTCI	   123#	  1507
$DTCLK	   122#	  1506
$DTCMD	   126#	  1519
$DTEXX	  1258	  1404	  1496	  1519#	  1535
$DTF11	   125#	  1525
$DTFLG	   121#	  1505	  1522	  1524
$DTMTD	   130#
$DTMTI	   131#
$DTOPR	   128#	  1508                                                                                                     SEQ 0152
$DTSEQ	   127#	  1520
$DTSWR	   132#
$DTT11	   124#
$EMODE	    91#	   690
$PSIX	    80	  1149#
$PSIX1	  1154#	  1168
$PSIX2	  1157#	  1167
$PSIX3	  1167#	  1174
$PSIX4	  1162	  1170#
$PSIX5	  1160	  1176#
$STD	   116#	   403
$STL	   118#	   404
$STM	   119#	   405
$SV417	  3151#	  3151	  3187
$SWITC	    84	  1489#
$SWU	  1490	  1498#
$UMODE	    92#	   693
.LOC	   101#	   183

CLRBFI	  1447
CORE	  2125	  2130	  2291                                                                                             SEQ 0153
GET	    79#	   450	  1176	  1177	  1178	  1313	  1314	  1315	  1316	  1317	  1334	  2035	  3191	  3280
GO	    76#	    80	    81	    82	    83	    84	   229	   231	   238	   241	   265	   272	   277	   281
	   292	   294	   298	   328	   338	   363	   419	   421	   427	   429	   431	   432	   441	   449
	   469	   478	   494	   500	   520	   636	   643	   645	   668	   669	   718	   727	   729	   734
	   735	   766	   777	   791	   815	   915	   969	  1139	  1166	  1171	  1173	  1191	  1201	  1210
	  1229	  1246	  1258	  1289	  1293	  1307	  1389	  1404	  1462	  1478	  1479	  1535	  1590	  1602
	  1687	  1691	  1693	  1695	  1699	  1704	  1705	  1706	  1709	  1710	  1713	  1715	  1719	  1809
	  1827	  1838	  1858	  1866	  1884	  1885	  1896	  1899	  1900	  1905	  1917	  1918	  1975	  1996
	  2034	  2040	  2045	  2049	  2065	  2066	  2075	  2079	  2083	  2086	  2088	  2092	  2095	  2148
	  2150	  2152	  2167	  2168	  2171	  2172	  2184	  2197	  2207	  2213	  2223	  2241	  2246	  2249
	  2267	  2292	  2304	  2306	  2309	  2318	  2328	  2330	  2335	  2369	  2371	  2376	  2377	  2391
	  2393	  2497	  2513	  2516	  2526	  2529	  2537	  2542	  2544	  2558	  2625	  2632	  2634	  2636
	  2650	  2659	  2667	  2669	  2679	  2771	  2812	  2824	  2827	  2836	  2842	  2844	  2848	  2850
	  3120	  3130	  3135	  3137	  3163	  3165	  3171	  3176	  3195	  3196	  3198	  3199	  3201	  3203
	  3208	  3210	  3212	  3215	  3217	  3234	  3237	  3239	  3274	  3276	  3282	  3284	  3285	  3301
INCHRW	  1415
INCHWL	  1411
MSG	   176#	   878	   882	  1008
MTBSF.	  2273
MTCHR.	  1576
MTREW.	  2283
MTSKF.	  2278
NAME	     7#	    10
OUTCHR	  1261
PMSG	   178#	   295	   324	   460	   474	   586	   617	   622	   627	   633	   730	   740	   763	   774
	   788	   812	   832	   844	  1266	  1419	  1552	  1599	  1609	  1668	  3277	  3298
PNTAL	    81#	   240	   458
PNTMSG	    80#	   297	   326	   462	   476	   588	   619	   624	   629	   635	   732	   742	   765	   776
	   790	   814	   834	   846	   856	   883	  1010	  1268	  1421	  1554	  1601	  1611	  1670	  3279
	  3300
PTITLE	  3637#	  3642
PUT	    78#	   447	  1149	  1150	  1151	  1298	  1299	  1300	  1301	  1302	  1325	  2033	  3184
RTN	    77#	   355	   433	   443	   451	   502	   584	   615	   749	   753	   757	   862	  1179	  1190
	  1203	  1255	  1269	  1318	  1322	  1324	  1335	  1399	  1425	  1448	  1456	  1481	  1494	  1499
	  1504	  1515	  1526	  1531	  1533	  1536	  1569	  1597	  1606	  1650	  1654	  1656	  1673	  1763
	  1781	  1786	  1793	  1818	  1823	  1851	  1855	  1867	  2050	  2114	  2140	  2185	  2205	  2259
	  2269	  2274	  2279	  2284	  2290	  2295	  2346	  2508	  2511	  2560	  2564	  2651	  2662	  2668
	  2682	  2790	  2833	  2839	  2851	  3147	  3206	  3213	  3235	  3246	  3302	  4037	  4080	  4083
SETDDT	   286
SETNAM	   234	  2210
SWITCH	    84#	   666	   677	   755	  1135	  1684	  2145
TAPOP.	  1540#	  1584	  2299
TTICHR	    82#	   353	   357	   857	  1309	  1430	  1645
TTIOCT	    83#	   835	   847	  1422	  1671
TTSIXB	  1539#	  1555	  1612