Google
 

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






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

	PRODUCT CODE:		AH-F487C-DD

	DIAGNOSTIC CODE:	DSQDD

	PRODUCT NAME:	 	DSQDDC0 DECSYSTEM 2020 MAGTAPE
				DIAGNOSTIC MONITOR

	VERSION:		0.3

	DATE RELEASED:		APRIL 1979

	MAINTAINED BY:		DIAGNOSTIC ENGINEERING

	AUTHOR:			JOHN R. KIRCHOFF

		        COPYRIGHT (C) 1978, 1979

	        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-DSQDD.TXT (SMMAG)
						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-DSQDD.TXT (SMMAG)
						PAGE 3                                                                     SEQ 0003

1.0	ABSTRACT

	THE DECSYSTEM 2020 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
	DECSYSTEM 2020 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
	SMMON (MAINDEC-10-DSQDC) WITH THE ONLY DIFFERENCE BEING
	THE LOAD DEVICES SUPPORTED.  SMMAG MUST BE USED WHEN LOADING
	FROM MAGTAPE IS DESIRED.

	THE DECSYSTEM2020 SUBROUTINE PROGRAM AND DDT ARE AUTOMATICALLY
	LOADED ON SYSTEM STARTUP OR DEVICE SPECIFICATION IF THEY ARE
	NOT ALREADY RESIDENT IN THE 2020 MEMORY.
				MAINDEC-10-DSQDD.TXT (SMMAG)
						PAGE 4                                                                     SEQ 0004

2.0	REQUIREMENTS

2.1	EQUIPMENT

	A DECSYSTEM 2020 WITH A MINIMUM OF 32K OF MEMORY.
	CONSOLE PROCESSOR
	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

	READ-IN FROM DIAGNOSTIC MAGTAPE
	USER - "RUN SMMAG.SAV"

	TO GET SMMAG 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: 3 FILES
		.COPY SMMAG.SAV=MTA0:
	ON TOPS-20 MONITOR:
		@ASSIGN MTA0:
		@REWIND MTA0:
		@SET TAPE DENSITY 800(1600) BPI
		@SKIP MTA0: 3 FILES
		@COPY (FROM) MTA0: (TO) SMMAG.SAV
				MAINDEC-10-DSQDD.TXT (SMMAG)
						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:

	* SMMAG - 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 "SMMAG" WILL
	    AUTOMATICALLY LOAD "SUBSM" AND "SMDDT".
				MAINDEC-10-DSQDD.TXT (SMMAG)
						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
	 0 = UBA 3, RH ADR 772440
	 1 = UBA 1, RH ADR 772440
	 2 = UBA 2, RH ADR 772440
	 3 = UBA 3, RH ADR 772440
	ALL DEVICES THEN ASK FOR DRIVE & SLAVE #
	 A TWO DIGIT NUMBER IS USED (FIRST DIGIT SPECIFIES
	 DRIVE # OF TM02/TM03, SECOND DIGIT SPECIFIES SLAVE # OF TRANSPORT)
				MAINDEC-10-DSQDD.TXT (SMMAG)
						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.

	SMMAG 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.  ALSO IF A FILE WITH A "CMD" EXTENSION IS
	GIVEN A COMMAND LIST WILL BE PERFORMED AS IN THE "D" OPTION.  THE
	LH SWITCHES WILL NOT BE ASKED FOR AND THE "HALT ON ERROR" SWITCH
	WILL BE SET.
				MAINDEC-10-DSQDD.TXT (SMMAG)
						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".  IN THIS CASE THE LH SWITCHES WILL BE REQUESTED.

	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 "SMMAG", 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:

	SMMAG PASS 000001
	SMMAG 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".

	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-DSQDD.TXT (SMMAG)
						PAGE 9                                                                     SEQ 0009

3.4	LOAD DEVICES

	A. EXEC MODE DEVICES ARE AS FOLLOWS:

	   1. RH11 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-DSQDD.TXT (SMMAG)
						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-DSQDD.TXT (SMMAG)
						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 OR A FOR SPECIAL USER MODE -

		Y = SPECIAL USER MODE
		A = SPECIAL USER MODE AFTER FIRST PASS
		CR = NO
				MAINDEC-10-DSQDD.TXT (SMMAG)
						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.
				MAINDEC-10-DSQDD.TXT (SMMAG)
						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.

	H.  IF A "CMD" FILE IS CALLED THE NEW "CMD" FILE WILL BE SETUP
	    AS THE COMMAND LIST.

	SAMPLE COMMAND LIST:

	NAME	PASSES	RH SWS	ITERATIONS
	DSKAA	10	0	1000
	DSKAB	1	123456	200
	DSKAC	0	000001	1
	^Z
				MAINDEC-10-DSQDD.TXT (SMMAG)
						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 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

	E. 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-DSQDD.TXT (SMMAG)
						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.

	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
		HISTORY FILE FOR DSQDD - SMMAG                                                                             SEQ 0016
		------------------------------

---------------------------------------------------------------

CODE:		MAINDEC-10-DSQDD (SMMAG)

TITLE:		DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR

VERSION		0.3

DATE:		APRIL 1979

REASON:		UPDATED TO CORRECT A PROBLEM WITH THE "FREAD" OPERATION
		AND THE CACHE.
---------------------------------------------------------------

VERSION:	0.2

DATE:		DECEMBER 1978

REASON:		UPDATED TO PROVIDE AUTOMATIC COMMAND FILE SELECTION TO 
		IMPROVE EASE OF OPERATION.  ADDED CAPABILITY OF ONE COMMAND
		LIST TO CALL ANOTHER.  FIXED PROBLEM WITH TM03 SELECTION.
		ADDED MAINTENANCE MODE OPERATION.
		ADDED "SMBC2" TO MAGTAPE.
---------------------------------------------------------------

VERSION:	0.1

DATE:		MARCH 1978

REASON:		ORIGINAL RELEASE OF THIS PROGRAM FOR KS-10.
---------------------------------------------------------------
SMMAG DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:25:17   PAGE 1             
                                                                                                                           SEQ 0017




















				   DOCUMENT
				**************
        SMMAG DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 ^
				**************

















		    COPYRIGHT 1979
		    DIGITAL EQUIPMENT CORPORATION
		    MAYNARD, MASS. 01754

SMMAG DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:25:17   PAGE 2             
                                                                                                                           SEQ 0018

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


	43	PARAMETERS

	205	CONTROL SECTION

	356	RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM

	512	COMMAND LIST PROCESSING

	557	FLNAME - FILE NAME AND CONTROL INFO INPUT

	686	EXECUTE THE INPUT COMMAND LIST

	808	EXPANDED COMMAND FORMAT SETUP

	835	SPECIAL RUN SEQUENCING

	932	SPECIAL USER MODE I/O HANDLER

	989	MESSAGE PRINTER

	1176	TELETYPE  INPUT

	1319	SPECIAL ROUTINES

	1480	DEVICE SELECTION

	1682	PROGRAM FILE SELECTION

	1740	"SUBRTN" PROGRAM FILE READ

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

	2003	PROGRAM CORE AREA SETUP

	2172	USER MODE LOADER

	2257	MAGTAPE LOADER

	2368	EXEC MAGTAPE LOAD ROUTINES

	2799	ERROR REPORTER

	2833	STORAGE ASSIGNMENTS
SMMAG DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:25:17   PAGE 3             
                                                                                                                           SEQ 0019

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


	3080	SPECIAL STARTUP MESSAGES AND INITIALIZATION
SMMAG DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:25:17   PAGE 4             
                                                                                                                           SEQ 0020
		1	MAINDEC-10-SMMAG

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

		19	THIS PROGRAM WILL EXECUTE KS-10 DIAGNOSTICS AND RELIABILITY
			PROGRAMS THAT ARE CAPABLE OF BEING RUN UNATTENDED.
			RUNS ON KS10 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 KS10

		28	COPYRIGHT 1978,1979
			DIGITAL EQUIPMENT CORPORATION
			MARLBORO, MASS. 01752

		32	JOHN R. KIRCHOFF

		*****************************************************************
	43	PARAMETERS
		*****************************************************************

		45	ACCUMULATORS

		66	COMMAND DEFINITIONS

		99	DIAGNOSTIC SPECIAL ADDRESSES

		117	SPECIAL DIAGNOSTIC START ADDRESSES

		128	SM-10 EPT PARAMETERS

		144	PROCESSOR CONTROL BITS

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

		172	IO INSTRUCTIONS

		187	UNIBUS BIT NUMBERS

SMMAG DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:25:17   PAGE 5             
                                                                                                                           SEQ 0021
		*****************************************************************
	205	CONTROL SECTION
		*****************************************************************

		227	START - STARTING ADDRESS AND CONTROL FLAGS

		245	ONETM1 - STARTUP & PROCESSOR TYPE DETERMINATION

		252	SELECT - START/RESTART INITIALIZATION

		283	SELX - DIAMON LINKAGE SETUP

		298	AUTOMATICALLY LOAD "SUBSM" AND "SMDDT"

		318	PROCESS OPERATOR COMMAND

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

		464	WHAT - IDENTIFY LAST PROGRAM

		472	NAMPNT - PRINT FILE NAME AND EXTENSION

		483	SIXBP - SIX BIT PRINTER

		493	PNT16 - PRINT ASCII CHAR IN AC16

		501	CMDHLP, PRINT HELP TEXT

		*****************************************************************
	512	COMMAND LIST PROCESSING
		*****************************************************************

		514	STORED - USE INTERNAL COMMAND LIST

		520	TTYCMD - TELETYPE INPUT COMMAND LIST

		530	DEVCMD - DEVICE COMMAND LIST

SMMAG DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:25:17   PAGE 6             
                                                                                                                           SEQ 0022
		*****************************************************************
	557	FLNAME - FILE NAME AND CONTROL INFO INPUT
		*****************************************************************

		566	FLNMLP - INPUT AND PROCESS CHARACTERS

		586	FLNAM1 - FILE NAME PROCESS

		597	PERIOD - STORE FILE NAME, GO PROCESS EXTENSION

		602	FLNAM2 - PROCESS DIGITS

		609	TTAB - FIELD SEPARATOR, STORE PREVIOUS FIELD

		616	MINUS - SET SPECIAL USER MODE

		621	SCSET - SEMICOLON, REST IS COMMENT

		626	ZEROAC - ZERO AC'S BEFORE STARTING PROGRAM

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

		643	CRRTN - CR, STORE COMMAND LIST INFORMATION

		*****************************************************************
	686	EXECUTE THE INPUT COMMAND LIST
		*****************************************************************

		688	EX - INITIALIZATION

		701	EX1 - START PASS

		717	EX2 - PRINT NAME AND LOAD PROGRAM

		728	EX3 - SETUP PROGRAM OPERATION PARAMETERS

		770	RERUN1 - DISPATCH TO EXPANDED SETUP

		774	RUN - PROGRAM RUN, CLEAR PROCESSOR FOR NEXT

		784	RET - ANY MORE PROGRAMS ON COMMAND LIST

		802	EX4 - ALL FINISHED

SMMAG DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:25:17   PAGE 7             
                                                                                                                           SEQ 0023
		*****************************************************************
	808	EXPANDED COMMAND FORMAT SETUP
		*****************************************************************

		810	CXPND - EXPANDED ALLOWED

		819	STRD3 - SPECIAL USER MODE

		*****************************************************************
	835	SPECIAL RUN SEQUENCING
		*****************************************************************

		837	XPNRUN - DETERMINE AND SETUP FOR SPECIAL OPERATIONS

		856	USRRUN - SPECIAL USER MODE RUN SEQUENCING

		872	SETUP PAGE MAP AND TRAPS

		903	USSR1 - PROGRAM COMPLETION CONTROL

		923	MUUOER & USRERR - USER ERROR REPORTING

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

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

		*****************************************************************
	989	MESSAGE PRINTER
		*****************************************************************

		991	PNTMSG - PRINT SIXBIT MESSAGES

		1025	PNTAL - PRINT ASCII MESSAGES

		1039	PNTOCT - PRINT OCTAL NUMBERS

		1049	PNTDEC - PRINT DECIMAL NUMBERS

		1059	PRINT - PRINT AN ASCII CHARACTER

		1096	MISCELLANEOUS

		1112	PNTLPT - LINE PRINTER DRIVER

		1125	LPTOFL - LINE PRINTER OFF-LINE

SMMAG DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:25:17   PAGE 8             
                                                                                                                           SEQ 0024
		1148	TTYCHK - TELETYPE CHECK ROUTINE

		*****************************************************************
	1176	TELETYPE  INPUT
		*****************************************************************

		1178	TTICHR - INPUT A TELETYPE CHARACTER

		1186	TTYINX - CHECK FOR SPECIAL CHAR PROCESS

		1198	TTYIND - TRANSFER TO DDT

		1210	TTYINA - COMPLETE CHARACTER PROCESS

		1230	TTYINU - USER MODE CHARACTER INPUT

		1239	CHECK EXEC TTY FOR ^C ABORT

		1250	USER MODE LH SWITCHES FOR CHAIN OPERATION

		1260	TTIOCT - TELETYPE OCTAL NUMBER INPUT

		1283	READ - COMMAND FILE READ PROCESS

		1307	TTALTM - ALTMODE PROCESS

		*****************************************************************
	1319	SPECIAL ROUTINES
		*****************************************************************

		1321	SWITCH - READ CONSOLE SWITCHES

		1327	SMINT - SM10 INITIALIZATION

		1350	CTY CONTROL ROUTINES

		1459	AC USAGE

		*****************************************************************
	1480	DEVICE SELECTION
		*****************************************************************

		1485	AUTOSL - EXEC AUTOMATICALLY SELECT DEVICE

		1491	DEVSEL - ASK WHICH DEVICE

		1520	USRMAG - SELECT USER MODE MAGTAPE DEVICE OR DISK

		1559	EXECDV - EXEC MODE DEVICE NUMBER INPUT

SMMAG DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:25:17   PAGE 9             
                                                                                                                           SEQ 0025
		1598	TTSIXB - INPUT SIXBIT WORD

		1632	LIST1 - LIST FILES

		1637	DIRECT - PRINT DIRECTORY

		*****************************************************************
	1682	PROGRAM FILE SELECTION
		*****************************************************************

		1684	FSELECT - "SUBRTN" FILE SELECTION

		1691	DIAGLD - "DIAMON" FILE SELECTION

		1711	RFILE - FILE FOUND AND SETUP

		1722	FSELF - "SUBRTN" FILE FOUND RETURN

		1731	NFERR - FILE NOT FOUND

		1736	FSELNF - "SUBRTN" FILE NOT FOUND

		*****************************************************************
	1740	"SUBRTN" PROGRAM FILE READ
		*****************************************************************

		1742	FREAD - DETERMINE READ TYPE

		1753	FREAD3 - CHARACTER READ

		1766	FREAD2 - END OF FILE

		1771	FRD36 - 36 BIT WORD READ

		1777	LDACHR - ASCII CHARACTER PROCESS

		1806	FRD8 - 8 BIT WORD READ

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

		1828	PDPROC - FORMAT CONTROL PROCESS

		1863	LDCNV - CONVERT ASCIIZED BACK INTO BITS

		1911	LDEOL - END OF LINE, CHECKSUM LOAD LINE

		1927	LDTEN - CREATE LOAD ADDRESS AND WORD COUNT

SMMAG DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:25:17   PAGE 10            
                                                                                                                           SEQ 0026
		1938	LDTENZ - CLEAR TEN CORE, JOB START TO JOB FIRST FREE

		1948	LDTEN1 - TRANSFER TEN WORDS TO MEMORY

		1979	LDDONE - COMPLETED, GO TO START ROUTINE

		1984	LDCMNT - LOAD FILE COMMENT LINE

		1991	CMNPNT - PRINT COMMENT LINE

		*****************************************************************
	2003	PROGRAM CORE AREA SETUP
		*****************************************************************

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

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

		2089	LSTPNT - LIST FILES (ASCIZ)

		2104	RFILE1 - HERE WHEN FILE FOUND

		2131	RWORD - READ DATA WORD FROM FILE

		2145	STARTQ - HERE ON TRANSFER WORD

		*****************************************************************
	2172	USER MODE LOADER
		*****************************************************************

		2174	USERLD - LOOKUP FILE ON THE USERS DISK

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

		*****************************************************************
	2257	MAGTAPE LOADER
		*****************************************************************

SMMAG DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:25:17   PAGE 11            
                                                                                                                           SEQ 0027
		*****************************************************************
	2368	EXEC MAGTAPE LOAD ROUTINES
		*****************************************************************

		2377	MAGTAPE CONTROL COMMANDS

		2393	MAGTAPE CONTROL AND STATUS 1 BITS

		2406	MAGTAPE CONTROL AND STATUS REG 2 BITS

		2422	MAGTAPE DRIVE STATUS REG BITS

		2440	MAGTAPE ERROR REG BITS

		2458	MAGTAPE TAPE CONTROL BITS

		2474	UNIBUS DEFINITIONS

		2509	AUTORH - AUTO SELECT DRIVE

		2524	MSRSET, MAGTAPE RESET & SELECTION

		2639	DOIO, PERFORM MAGTAPE OPERATION

		2643	WAIT, WAIT FOR COMPLETION OR ERROR

		2703	MT11CH, CHANNEL TABLE FOR MAGTAPE

		2720	SMMON, SMMAG, SMAPT - LOAD DIAGNOSTIC MONITOR'S

		2767	ERROR - ERROR REPORTING

		2792	NFERR1 - PROGRAM NOT FOUND ERROR

		*****************************************************************
	2799	ERROR REPORTER
		*****************************************************************

		2801	ERROR REPORT MESSAGES

SMMAG DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 ^          DECDOC VER  00.24   11-APR-79 13:25:17   PAGE 12            
                                                                                                                           SEQ 0028
		*****************************************************************
	2833	STORAGE ASSIGNMENTS
		*****************************************************************

		*****************************************************************
	3080	SPECIAL STARTUP MESSAGES AND INITIALIZATION
		*****************************************************************

		3082	HEADER

		3107	HELP
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 1
SMMAG	MAC	11-Apr-79 13:04	                                                                                           SEQ 0029

     1					;*MAINDEC-10-SMMAG
     2
     3			000003		DECVER=3
     4			000000		MCNVER=0
     5
     6						XLIST
     7						LIST
     8						LALL
     9
    10					NAME	\MCNVER,\DECVER^
    11
    12					TITLE	SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 ^
    13
    14
    15					;*THIS PROGRAM PROVIDES THE PROGRAM LOADING CAPABILITY FOR KS-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 KS-10 DIAGNOSTICS AND RELIABILITY
    20					;*PROGRAMS THAT ARE CAPABLE OF BEING RUN UNATTENDED.
    21					;*RUNS ON KS10 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 KS10
    27
    28					;*COPYRIGHT 1978,1979
    29					;*DIGITAL EQUIPMENT CORPORATION
    30					;*MARLBORO, MASS. 01752
    31
    32					;*JOHN R. KIRCHOFF
    33
    34	000137					LOC	137
    35	000137	000000	000003		MCNVER,,DECVER
    36
    37						NOSYM
    38
    39					;ASSEMBLE AS FOLLOWS:
    40					;	SMMAG.MAC
    41
    42			027770		INLEND=27770			;COMMAND LIST END ADDRESS
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 2
SMMAG	MAC	11-Apr-79 13:04		PARAMETERS                                                                         SEQ 0030

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

    89
    90		264000	021524		OPDEF	CTYINI	[JSR	$TYINI]	;CTY INITIALIZATION
    91		264000	021536		OPDEF	CTYCLR	[JSR	$TYCLR]	;CTY CLEAR
    92		264000	021540		OPDEF	CTYTYI	[JSR	$CYTYI]	;CTY INPUT
    93		264000	021614		OPDEF	CTYTYO	[JSR	$CYTYO]	;CTY OUTPUT
    94		264000	021551		OPDEF	KTYTYI	[JSR	$KYTYI]	;KLINIK INPUT
    95		264000	021627		OPDEF	KTYTYO	[JSR	$KYTYO]	;KLINIK OUTPUT
    96		264000	021562		OPDEF	BTYTYI	[JSR	$BYTYI]	;BOTH INPUT
    97		264000	021642		OPDEF	BTYTYO	[JSR	$BYTYO]	;BOTH OUTPUT
    98
    99					;*DIAGNOSTIC SPECIAL ADDRESSES
   100
   101			001005		SUBRTN=	1005			;"SUBRTN" IDENTIFICATION WORD
   102			030000		DIAGNOS=30000			;DIAGNOSTIC START ADDRESS
   103			030002		DIAGMN=	30002			;PROG START ADDRESS
   104			030012		RETURN=	30012			;RETURN ADR STORAGE
   105			030031		$EMODE=	30031			;EXEC ALLOWED
   106			030032		$UMODE=	30032			;USER ALLOWED
   107			030024		ITRCNT=	30024			;PROG ITERATIONS
   108			030043		MONCTL=	30043			;DIAG MON CONTROL FLAG
   109			030022		RANDBS=	30022			;PROG RANDOM BASE
   110			030042		MONFLG=	30042			;SPECIAL USER CONTROL FLAG
   111			030044		MONTEN=	30044			;LOADED BY DIAMON FLAG
   112			030055		MARGIN=	30055			;KI10 MARGIN WORD
   113			010000		SMDDT=	10000			;SMDDT PROGRAM START ADDRESS
   114
   115			020000		.LOC=	20000			;STARTING ADDRESS
   116
   117					;*SPECIAL DIAGNOSTIC START ADDRESSES
   118
   119			030004		SFSTRT=	30004			;SPECIAL FEATURE START
   120			030005		PFSTRT=	30005			;POWER FAIL RESTART
   121			030006		REENTR=	30006			;PROGRAM REENTER START
   122			030007		DDT=	30007			;DDT START
   123			030013		START1=	30013			;START 1
   124			030014		START2=	30014			;START 2
   125			030015		START3=	30015			;START 3
   126			030016		START4=	30016			;START 4
   127			030017		START5=	30017			;START 5
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 4
SMMAG	MAC	11-Apr-79 13:04		PARAMETERS                                                                         SEQ 0032

   128					;*SM-10 EPT PARAMETERS
   129
   130			000440		$STD=	440			;PDP-10 DIAGNOSTIC START ADDRESS
   131			000441		$DDT=	441			;PDP-10 DDT START ADDRESS
   132			000442		$STL=	442			;PDP-10 LOADER START ADDRESS
   133			000443		$STM=	443			;PDP-10 MONITOR START ADDRESS
   134
   135			000031		$80STAT=31			;8080 STATUS WORD
   136		000020	000000		$80MM=	1B13			;MAINTENANCE MODE BIT
   137			000032		$80CIW=	32			;8080 TO KS-10 INPUT WORD
   138			000033		$80COW=	33			;KS-10 TO 8080 OUTPUT WORD
   139			000034		$80KIW=	34			;8080 TO KS-10 INPUT WORD - KLINIK
   140			000035		$80KOW=	35			;KS-10 TO 8080 OUTPUT WORD - KLINIK
   141			000400		$80CHR=	1B27			;CHAR AVAIL BIT
   142			012000		$80INT=	012000			;INTERRUPT 8080
   143
   144					;*PROCESSOR CONTROL BITS
   145
   146			200000		IOCLR=	200000			;APR, I/O CLEAR
   147			010000		PICLR=	10000			;PI, PI CLEAR
   148			010000		USERF=	10000			;USER MODE FLAG
   149
   150			020000		TRPENB=	020000			;ENABLE TRAPS
   151			010000		USERF=	10000			;USER MODE FLAG
   152			000010		PAG=	010			;PAGING I/O DEVICE CODE
   153			000424		MUUO=	424			;MUUO STORAGE
   154			000425		MUUOPC=	425			;C(PC) OF MUUO STORAGE
   155			017000		UPMP=	17000			;USER PAGE MAP PAGE
   156			140000		LLDUSB=	140000			;LOAD SM10 USER BASE REGISTER
   157
   158					;*SWITCH ASSIGNMENTS, RH SW'S NOT USED BY CALLED PROG
   159
   160			020000		LPTSW=	20000			;SW 4, PRINT ON LPT
   161			002000		ERSTOP=	2000			;SW 7, STOP ON ERROR
   162			000400		RELIAB=	400			;SW 9, RELIABILITY MODE
   163			000004		CHAIN=	4			;SW 15, INHIBIT PROGRAM TITLE PRINT
   164
   165			400000		XPAND=	400000			;SW 18, EXPANDED CONTROL SEQUENCING
   166
   167					DEFINE	MSG	(ARG),<[SIXBIT\ARG'_\]>
   168
   169					DEFINE	PMSG	(ARG),<
   170						MOVEI	[SIXBIT\ARG'_\]
   171						PNTMSG>
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 5
SMMAG	MAC	11-Apr-79 13:04		PARAMETERS                                                                         SEQ 0033

   172					;*IO INSTRUCTIONS
   173
   174		710000	000000		OPDEF	TIOE	[710B8]
   175		711000	000000		OPDEF	TION	[711B8]
   176		712000	000000		OPDEF	RDIO	[712B8]
   177		713000	000000		OPDEF	WRIO	[713B8]
   178		714000	000000		OPDEF	BSIO	[714B8]
   179		715000	000000		OPDEF	BCIO	[715B8]
   180		720000	000000		OPDEF	TIOEB	[720B8]
   181		721000	000000		OPDEF	TIONB	[721B8]
   182		722000	000000		OPDEF	RDIOB	[722B8]
   183		723000	000000		OPDEF	WRIOB	[723B8]
   184		724000	000000		OPDEF	BSIOB	[724B8]
   185		725000	000000		OPDEF	BCIOB	[725B8]
   186
   187					;*UNIBUS BIT NUMBERS
   188
   189			000001		EBIT0==1
   190			000002		EBIT1==2
   191			000004		EBIT2==4
   192			000010		EBIT3==10
   193			000020		EBIT4==20
   194			000040		EBIT5==40
   195			000100		EBIT6==100
   196			000200		EBIT7==200
   197			000400		EBIT8==400
   198			001000		EBIT9==1000
   199			002000		EBIT10==2000
   200			004000		EBIT11==4000
   201			010000		EBIT12==10000
   202			020000		EBIT13==20000
   203			040000		EBIT14==40000
   204			100000		EBIT15==100000
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 6
SMMAG	MAC	11-Apr-79 13:04		CONTROL SECTION                                                                    SEQ 0034

   205					SUBTTL	CONTROL SECTION
   206
   207	000421					LOC	421
   208	000421	255 00 0 00 000000 		JFCL			;ARITHMETIC TRAP NO-OP
   209	000422	254 04 0 00 000422 		HALT	.		;PUSHDOWN TRAP ERROR
   210	000423	254 04 0 00 000423 		HALT	.		;TRAP 3 TRAP ERROR
   211
   212	000430					LOC	430
   213	000430	000000	000432			432
   214	000431	000000	000433			433
   215	000432	254 04 0 00 000432 		HALT	.		;MUUO NO TRAP ERROR
   216	000433	254 04 0 00 000433 		HALT	.		;MMUO TRAP ERROR
   217
   218	000442					LOC	442
   219	000442	254 00 0 00 020000 		JRST	START		;"STL" START ADDRESS
   220
   221	000502					LOC	502
   222	000502	000000	000503			503
   223	000503	254 04 0 00 000503 		HALT	.		;PAGE FAIL ERROR
   224
   225	020000					LOC	.LOC
   226
   227					;*START - STARTING ADDRESS AND CONTROL FLAGS
   228
   229	020000	254 00 0 00 020024 	START:	JRST	SELECT
   230	020001	254 00 0 00 020636 	RESTRT:	JRST	RUN
   231	020002	254 00 0 00 020315 	TITLE:	JRST	WHAT
   232	020003	254 00 0 00 020635 	RERUN:	JRST	RERUN1
   233	020004	254 00 0 00 020020 	ONETIM:	JRST	ONETM1
   234	020005	000000	000000		ITERAT:	0
   235	020006	000000	000000		USER:	0
   236	020007	000000	000000		CONSW:	0			;USER MODE SWITCHES
   237	020010	000000	000000		SMFLG:	0
   238	020011	000000	000000		KAIFLG:	0
   239	020012	000000	000000		SUSERF:	0
   240	020013	000000	000000		PASS:	0
   241	020014	000000	000000		ONCE:	0
   242	020015	000000	000000		RANBAS:	0
   243	020016	000000	000000		TTYSPD:	0			;TTY BAUD RATE
   244	020017	000000	000000			0
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 7
SMMAG	MAC	11-Apr-79 13:04		CONTROL SECTION                                                                    SEQ 0035

   245					;*ONETM1 - STARTUP & PROCESSOR TYPE DETERMINATION
   246
   247	020020	200 00 0 00 000044 	ONETM1:	MOVE	JOBREL		;SAVE "DIAMON" MAX SIZE
   248	020021	202 00 0 00 024045 		MOVEM	SVJBREL#
   249	020022	402 00 0 00 020014 		SETZM	ONCE
   250	020023	402 00 0 00 020007 		SETZM	CONSW
   251
   252					;*SELECT - START/RESTART INITIALIZATION
   253
   254	020024	402 00 0 00 024010 	SELECT:	SETZM	DSKFLG#
   255	020025	402 00 0 00 020006 		SETZM	USER
   256	020026	265 00 0 00 020027 		JSP	0,.+1
   257	020027	603 00 0 00 010000 		TLNE	0,USERF
   258	020030	476 00 0 00 020006 		SETOM	USER		;USER MODE
   259	020031	332 00 0 00 020006 		SKIPE	USER
   260	020032	254 00 0 00 020036 		JRST	.+4
   261	020033	7 004 20 0 00 010000 		CONO	PI,PICLR
   262	020034	7 000 20 0 00 200000 		CONO	APR,IOCLR
   263	020035	7 010 20 0 00 000000 		CONO	PAG,0
   264	020036	200 17 0 00 023532 		MOVE	P,[-40,,PLIST]
   265	020037	402 00 0 00 020010 		SETZM	SMFLG
   266	020040	402 00 0 00 020011 		SETZM	KAIFLG
   267	020041	200 01 0 00 023533 		MOVE	1,[1,,1]
   268	020042	251 01 0 00 000001 		BLT	1,1
   269	020043	316 01 0 00 023533 		CAMN	1,[1,,1]	;BLT CHANGES AC ON SM10
   270	020044	254 04 0 00 020044 		HALT	.		;WRONG PROCESSOR
   271	020045	476 00 0 00 020010 		SETOM	SMFLG
   272	020046	260 17 0 00 021504 		GO	SMINT		;SM-10, INIT TTY
   273	020047	332 00 0 00 020006 		SKIPE	USER
   274	020050	260 17 0 00 022745 		GO	USRINT		;USER INITIALIZATION
   275	020051	200 01 0 00 024051 		MOVE	1,PGNAME
   276	020052	332 00 0 00 020006 		SKIPE	USER
   277	020053	047 01 0 00 000043 		SETNAM	1,		;USER, SET NAME BACK
   278	020054	332 00 0 00 020014 		SKIPE	ONCE
   279	020055	254 00 0 00 020061 		JRST	SELX		;NOT FIRST TIME
   280	020056	201 00 0 00 027001 		MOVEI	HEADER
   281	020057	260 17 0 00 021135 		PNTAL			;PRINT HEADER
   282	020060	260 17 0 00 021660 		GO	AUTOSL		;SELECT LOAD DEVICE
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 8
SMMAG	MAC	11-Apr-79 13:04		CONTROL SECTION                                                                    SEQ 0036

   283					;*SELX - DIAMON LINKAGE SETUP
   284
   285	020061	201 00 0 00 030001 	SELX:	MOVEI	30001		;SETUP $START AS
   286	020062	202 00 0 00 027774 		MOVEM	27774		;LOAD LINK
   287	020063	201 00 0 00 022124 		MOVEI	FSELECT		;SETUP FILE SELECT LINK
   288	020064	202 00 0 00 027772 		MOVEM	FSELNK
   289	020065	201 00 0 00 022170 		MOVEI	FREAD		;SETUP FILE READ LINK
   290	020066	202 00 0 00 027773 		MOVEM	FRDLNK
   291	020067	402 00 0 00 024112 		SETZM	PGMGO
   292	020070	200 00 0 00 023534 		MOVE	[PGMGO,,PGMGO+1]
   293	020071	251 00 0 00 024125 		BLT	CNSFLG
   294	020072	200 00 0 00 023535 		MOVE	[SIXBIT/SUBRTN/]
   295	020073	316 00 0 00 001005 		CAMN	SUBRTN		;IS "SUBRTN" LOADED ?
   296	020074	254 00 0 00 020114 		JRST	SELX1		;YES
   297
   298					;*AUTOMATICALLY LOAD "SUBSM" AND "SMDDT"
   299
   300	020075	336 00 0 00 020006 		SKIPN	USER
   301	020076	254 00 0 00 020103 		JRST	.+5		;EXEC
   302						MOVEI	IP,[SIXBIT/SUBUSR/
   303	020077	201 16 0 00 023536 			    0]
   304	020100	260 17 0 00 022130 		GO	DIAGLD-2	;USER, LOAD "SUBUSR"
   305	020101	254 00 0 00 020114 		JRST	SELX1		;CAN'T FIND, ALREADY REPORTED
   306	020102	254 00 0 00 020106 		JRST	.+4
   307						MOVEI	IP,[SIXBIT/SUBSM/
   308	020103	201 16 0 00 023540 			    0]
   309	020104	260 17 0 00 022130 		GO	DIAGLD-2	;EXEC, LOAD "SUBSM"
   310	020105	254 00 0 00 020114 		JRST	SELX1		;CAN'T FIND, ALREADY REPORTED
   311						MOVEI	IP,[SIXBIT/SMDDT/
   312	020106	201 16 0 00 023542 			    0]
   313	020107	260 17 0 00 022130 		GO	DIAGLD-2	;LOAD DDT ALSO
   314	020110	254 00 0 00 020114 		JRST	SELX1
   315	020111	201 00 0 00 000441 		MOVEI	$DDT
   316	020112	332 00 0 00 020006 		SKIPE	USER
   317	020113	202 00 0 00 000074 		MOVEM	74		;SET USER DDT START ADDRESS
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 9
SMMAG	MAC	11-Apr-79 13:04		CONTROL SECTION                                                                    SEQ 0037

   318					;*PROCESS OPERATOR COMMAND
   319
   320	020114	476 00 0 00 020014 	SELX1:	SETOM	ONCE
   321	020115	200 17 0 00 023532 		MOVE	P,[-40,,PLIST]
   322	020116	201 16 0 00 024152 		MOVEI	IP,SELSTR
   323	020117	260 17 0 00 021227 		GO	CRLF1		;TYPE A CARRIAGE AND LINE FEED
   324	020120	200 01 0 00 024051 		MOVE	A,PGNAME	;GET PROGRAM NAME
   325	020121	260 17 0 00 020332 		GO	SIXBP		;PRINT IT
   326	020122	476 00 0 00 024003 		SETOM	ASKSW#
   327	020123	205 00 0 00 002000 		MOVSI	ERSTOP
   328	020124	202 00 0 00 020007 		MOVEM	CONSW		;SET TO STOP ON ERROR IF AUTO CMD MODE
   329						PMSG	< CMD - >^
   330	020125	201 00 0 00 023544 		MOVEI	[SIXBIT\ CMD - _\]
   331	020126	260 17 0 00 021101 		PNTMSG^
   332	020127	260 17 0 00 020415 		GO	FLNAME		;GET COMMAND OR FILE NAME
   333	020130	255 00 0 00 000000 		JFCL
   334	020131	201 16 0 00 024152 		MOVEI	IP,SELSTR
   335	020132	402 00 0 00 000001 		SETZM	1
   336	020133	200 00 0 16 000000 		MOVE	(IP)
   337
   338	020134	336 00 0 01 020226 	CMDLP:	SKIPN	CMDLST(1)	;CHECK FOR SPECIAL COMMANDS
   339	020135	344 01 0 00 020143 		AOJA	1,CMDLP1	;NOT IN FIRST PART OF LIST
   340	020136	316 00 0 01 020226 		CAMN	CMDLST(1)
   341	020137	254 00 0 00 020141 		JRST	CMDEX		;FOUND
   342	020140	344 01 0 00 020134 		AOJA	1,CMDLP
   343
   344	020141	200 00 0 01 020262 	CMDEX:	MOVE	0,CMDADR(1)	;GET START ADDRESS
   345	020142	254 00 1 00 000000 		JRST	@0		;GO TO COMMAND ROUTINE
   346
   347	020143	336 00 0 01 020226 	CMDLP1:	SKIPN	CMDLST(1)	;SPECIAL START COMMANDS
   348	020144	254 00 0 00 020205 		JRST	RUNPR2		;NOT FOUND, MUST BE PROGRAM NAME
   349	020145	316 00 0 01 020226 		CAMN	CMDLST(1)
   350	020146	254 00 0 00 020150 		JRST	CMDEX1		;FOUND
   351	020147	344 01 0 00 020143 		AOJA	1,CMDLP1
   352
   353	020150	200 00 0 01 020262 	CMDEX1:	MOVE	0,CMDADR(1)	;GET SPECIAL START ADDRESS
   354	020151	542 00 0 00 022656 		HRRM	SADR		;SET FOR START
   355	020152	254 00 0 00 022646 		JRST	SADRQ		;GO START
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 10
SMMAG	MAC	11-Apr-79 13:04		RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM                                           SEQ 0038

   356					SUBTTL	RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM
   357
   358	020153				RUNPRG:	PMSG	<^FILE.EXT - >^
   359	020153	201 00 0 00 023546 		MOVEI	[SIXBIT\^FILE.EXT - _\]
   360	020154	260 17 0 00 021101 		PNTMSG^
   361	020155	201 16 0 00 027001 		MOVEI	IP,INLIST
   362	020156	260 17 0 00 020415 		GO	FLNAME		;GET FILE NAME
   363	020157	255 00 0 00 000000 		JFCL
   364
   365	020160	201 16 0 00 027001 	RUNPR1:	MOVEI	IP,INLIST
   366	020161	554 00 0 16 000000 		HLRZ	(IP)
   367	020162	306 00 0 00 470000 		CAIN	(SIXBIT/G/)
   368	020163	254 00 0 00 022646 		JRST	SADRQ
   369	020164	336 00 0 16 000000 		SKIPN	(IP)
   370	020165	254 00 0 00 020663 		JRST	EX4		;NO PROGRAM TO RUN
   371
   372	020166	510 00 0 16 000001 		HLLZ	1(IP)		;GET EXT
   373	020167	326 00 0 00 020174 		JUMPN	0,.+5		;EXT SUPPLIED
   374	020170	336 00 0 00 024114 		SKIPN	DEVFLG		;DOING DEVICE COMMAND FILE ?
   375	020171	254 00 0 00 020174 		JRST	.+3		;NO
   376	020172	205 00 0 00 435544 		MOVSI	(SIXBIT/CMD/)	;YES, USE "CMD" AS DEFAULT EXT
   377	020173	502 00 0 16 000001 		HLLM	1(IP)
   378
   379	020174	202 16 0 00 024134 		MOVEM	IP,SAVEIP
   380	020175	476 00 0 00 024112 		SETOM	PGMGO		;SET LOAD & GO FLAG
   381
   382	020176	260 17 0 00 022132 		GO	DIAGLD		;GO GET PROGRAM
   383	020177	254 00 0 00 020201 		JRST	.+2
   384
   385	020200	254 00 0 00 020372 		JRST	DEVCM1		;MUST BE DEVICE COMMAND LIST
   386	020201	336 00 0 00 024121 		SKIPN	ALTMFLG		;ALTMODE SELECTION ?
   387	020202	254 00 0 00 020024 		JRST	SELECT		;NO, ERROR
   388	020203	402 00 0 00 024121 		SETZM	ALTMFLG
   389	020204	254 00 0 00 020153 		JRST	RUNPRG		;YES, ASK FOR NEXT PROGRAM
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 11
SMMAG	MAC	11-Apr-79 13:04		RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM                                           SEQ 0039

   390	020205	200 00 0 00 024152 	RUNPR2:	MOVE	SELSTR
   391	020206	202 00 0 00 027001 		MOVEM	INLIST
   392	020207	200 00 0 00 024153 		MOVE	SELSTR+1
   393	020210	202 00 0 00 027002 		MOVEM	INLIST+1
   394	020211	402 00 0 00 027004 		SETZM	INLIST+3
   395	020212	254 00 0 00 020160 		JRST	RUNPR1
   396
   397	020213	260 17 0 00 021325 	TT2CHR:	TTICHR			;INPUT 1ST CHAR
   398	020214	306 00 0 00 000012 		CAIN	12
   399	020215	263 17 0 00 000000 		RTN			;ONLY A CR
   400	020216	202 00 0 00 000006 		MOVEM	0,LET
   401	020217	260 17 0 00 021325 		TTICHR			;INPUT 2ND CHAR, SHOULD BE CR
   402	020220	302 00 0 00 000012 		CAIE	12
   403	020221	254 00 0 00 020024 		JRST	SELECT		;WASN'T
   404	020222	200 00 0 00 000006 		MOVE	0,LET		;GET 1ST CHAR BACK
   405	020223	254 00 0 00 020406 		JRST	CPOPJ1		;SKIP RETURN
   406
   407	020224	260 17 0 00 021663 	SELXR:	GO	DEVSEL		;SELECT DEVICE
   408	020225	254 00 0 00 020061 		JRST	SELX
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 12
SMMAG	MAC	11-Apr-79 13:04		RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM                                           SEQ 0040

   409	020226	50 00 00 00 00 00 	CMDLST:	SIXBIT/H/
   410	020227	51 00 00 00 00 00 		SIXBIT/I/
   411	020230	64 00 00 00 00 00 		SIXBIT/T/
   412	020231	44 00 00 00 00 00 		SIXBIT/D/
   413	020232	63 00 00 00 00 00 		SIXBIT/S/
   414	020233	46 00 00 00 00 00 		SIXBIT/F/
   415	020234	54 00 00 00 00 00 		SIXBIT/L/
   416	020235	47 00 00 00 00 00 		SIXBIT/G/
   417	020236	70 00 00 00 00 00 		SIXBIT/X/
   418	020237	62 00 00 00 00 00 		SIXBIT/R/
   419	020240	63 55 55 57 56 00 		SIXBIT/SMMON/
   420	020241	63 55 55 41 47 00 		SIXBIT/SMMAG/
   421	020242	63 55 41 60 64 00 		SIXBIT/SMAPT/
   422	020243	000000	000000			0
   423	020244	63 64 44 00 00 00 		SIXBIT/STD/
   424	020245	63 64 54 00 00 00 		SIXBIT/STL/
   425	020246	63 64 55 00 00 00 		SIXBIT/STM/
   426	020247	44 44 64 00 00 00 		SIXBIT/DDT/
   427	020250	63 64 41 62 64 00 		SIXBIT/START/
   428	020251	63 46 63 64 62 64 		SIXBIT/SFSTRT/
   429	020252	60 46 63 64 62 64 		SIXBIT/PFSTRT/
   430	020253	62 45 45 00 00 00 		SIXBIT/REE/
   431	020254	63 64 41 62 64 21 		SIXBIT/START1/
   432	020255	63 64 41 62 64 22 		SIXBIT/START2/
   433	020256	63 64 41 62 64 23 		SIXBIT/START3/
   434	020257	63 64 41 62 64 24 		SIXBIT/START4/
   435	020260	63 64 41 62 64 25 		SIXBIT/START5/
   436	020261	000000	000000			0
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 13
SMMAG	MAC	11-Apr-79 13:04		RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM                                           SEQ 0041

   437	020262	000000	020346		CMDADR:	CMDHLP
   438	020263	000000	020356			STORED
   439	020264	000000	020361			TTYCMD
   440	020265	000000	020367			DEVCMD
   441	020266	000000	020153			RUNPRG
   442	020267	000000	022052			DIRECT
   443	020270	000000	022050			LIST1
   444	020271	000000	022646			SADRQ
   445	020272	000000	021067			SAXPN
   446	020273	000000	020224			SELXR
   447	020274	000000	023403			SMMON
   448	020275	000000	023405			SMMAG
   449	020276	000000	023407			SMAPT
   450	020277	000000	000000			0
   451	020300	000000	000440			$STD
   452	020301	000000	000442			$STL
   453	020302	000000	000443			$STM
   454	020303	000000	000441			$DDT
   455	020304	000000	030000			DIAGNOS
   456	020305	000000	030004			SFSTRT
   457	020306	000000	030005			PFSTRT
   458	020307	000000	030006			REENTR
   459	020310	000000	030013			START1
   460	020311	000000	030014			START2
   461	020312	000000	030015			START3
   462	020313	000000	030016			START4
   463	020314	000000	030017			START5
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 14
SMMAG	MAC	11-Apr-79 13:04		RUNPRG - RETRIEVE AND RUN SINGLE PROGRAM                                           SEQ 0042

   464					;*WHAT - IDENTIFY LAST PROGRAM
   465
   466	020315	200 17 0 00 023532 	WHAT:	MOVE	P,[-40,,PLIST]
   467	020316	260 17 0 00 021227 		GO	CRLF1
   468	020317	200 16 0 00 024134 		MOVE	IP,SAVEIP
   469	020320	260 17 0 00 020322 		GO	NAMPNT		;PRINT TITLE OF LAST PROGRAM
   470	020321	254 00 0 00 020000 		JRST	START
   471
   472					;*NAMPNT - PRINT FILE NAME AND EXTENSION
   473
   474	020322	200 01 0 16 000000 	NAMPNT:	MOVE	A,(IP)
   475	020323	260 17 0 00 020332 		GO	SIXBP
   476	020324	201 00 0 00 000056 		MOVEI	"."
   477	020325	260 17 0 00 021166 		GO	PRINT
   478	020326	510 01 0 16 000001 		HLLZ	A,1(IP)
   479	020327	260 17 0 00 020332 		GO	SIXBP
   480	020330	260 17 0 00 021227 		GO	CRLF1
   481	020331	263 17 0 00 000000 		RTN
   482
   483					;*SIXBP - SIX BIT PRINTER
   484
   485	020332	201 02 0 00 000000 	SIXBP:	MOVEI	B,0		;SO DON'T SHIFT IN JUNK
   486	020333	402 00 0 00 000000 		SETZM	F
   487	020334	246 00 0 00 000006 		LSHC	F,6		;GET A SIXBIT CHAR
   488	020335	271 00 0 00 000040 		ADDI	F,40		;MAKE IT ASCII
   489	020336	260 17 0 00 021166 		GO	PRINT		;TYPE IT
   490	020337	326 01 0 00 020332 		JUMPN	A,SIXBP		;IF ANY MORE, TYPE THEM
   491	020340	263 17 0 00 000000 	CPOPJ:	RTN
   492
   493					;*PNT16 - PRINT ASCII CHAR IN AC16
   494
   495	020341	261 17 0 00 000000 	PNT16:	PUT	0
   496	020342	200 00 0 00 000016 		MOVE	0,16
   497	020343	260 17 0 00 021166 		GO	PRINT
   498	020344	262 17 0 00 000000 		GET	0
   499	020345	263 17 0 00 000000 		RTN
   500
   501					;*CMDHLP, PRINT HELP TEXT
   502
   503	020346	332 00 0 00 024013 	CMDHLP:	SKIPE	HLPCLR#		;HAS HELP BEEN OVERWRITTEN ?
   504	020347	254 00 0 00 020353 		JRST	.+4		;YES
   505	020350	201 00 0 00 027021 		MOVEI	HELP		;PRINT HELP
   506	020351	260 17 0 00 021135 		PNTAL
   507	020352	254 00 0 00 020000 		JRST	START
   508						PMSG	<NO HELP>^
   509	020353	201 00 0 00 023551 		MOVEI	[SIXBIT\NO HELP_\]
   510	020354	260 17 0 00 021101 		PNTMSG^
   511	020355	254 00 0 00 020000 		JRST	START
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 15
SMMAG	MAC	11-Apr-79 13:04		COMMAND LIST PROCESSING                                                            SEQ 0043

   512					SUBTTL	COMMAND LIST PROCESSING
   513
   514					;*STORED - USE INTERNAL COMMAND LIST
   515
   516	020356	402 00 0 00 024116 	STORED:	SETZM	LPTFLG
   517	020357	260 17 0 00 020666 		GO	CXPND		;SETUP EXPANDED OPERATIONS
   518	020360	254 00 0 00 020544 		JRST	EX
   519
   520					;*TTYCMD - TELETYPE INPUT COMMAND LIST
   521
   522	020361				TTYCMD:	PMSG	<^NAME]PASSES]RH SWS]ITERATIONS^>^
   523	020361	201 00 0 00 023553 		MOVEI	[SIXBIT\^NAME]PASSES]RH SWS]ITERATIONS^_\]
   524	020362	260 17 0 00 021101 		PNTMSG^
   525	020363	201 16 0 00 027001 	CMNCMD:	MOVEI	IP,INLIST
   526	020364	260 17 0 00 020415 		GO	FLNAME
   527	020365	254 00 0 00 020364 		JRST	.-1		;INPUT TILL ^Z
   528	020366	254 00 0 00 020356 		JRST	STORED
   529
   530					;*DEVCMD - DEVICE COMMAND LIST
   531
   532	020367	402 00 0 00 024003 	DEVCMD:	SETZM	ASKSW
   533	020370	476 00 0 00 024114 		SETOM	DEVFLG		;SET DEVICE CMD LIST FLAG
   534	020371	254 00 0 00 020153 		JRST	RUNPRG		;GET COMMAND FILE
   535
   536	020372	402 00 0 00 024114 	DEVCM1:	SETZM	DEVFLG		;CLEAR DEVICE CMD LIST FLAG
   537	020373	476 00 0 00 024115 		SETOM	DINFLG		;SET "READ" FOR DEVICE IN
   538	020374	402 00 0 00 024112 		SETZM	PGMGO		;CLEAR FOR COMMAND OPERATION
   539	020375	200 05 0 00 023561 		MOVE	DPNTR,[POINT 7,31000]
   540	020376	254 00 0 00 020363 		JRST	CMNCMD		;GO RUN COMMAND LIST
   541
   542	020377	200 13 0 00 023561 	DEVCM2:	MOVE	13,[POINT 7,31000]
   543	020400	260 17 0 00 022216 		GO	LDACHR		;READ A CHAR
   544	020401	254 00 0 00 020404 		JRST	.+3		;EOF
   545	020402	136 16 0 00 000013 		IDPB	16,13
   546	020403	254 00 0 00 020400 		JRST	.-3
   547	020404	201 16 0 00 000177 		MOVEI	16,177		;FLAG END OF INPUT
   548	020405	136 16 0 00 000013 		IDPB	16,13
   549	020406	350 00 0 17 000000 	CPOPJ1:	AOS	(P)		;DONE, RETURN TO "DEVCM1"
   550	020407	263 17 0 00 000000 		RTN
   551
   552	020410	134 00 0 00 000005 	DEVRD:	ILDB	0,DPNTR		;GET CHARS FROM 31000 UP
   553	020411	322 00 0 00 020410 		JUMPE	0,.-1		;IGNORE NULLS
   554	020412	306 00 0 00 000177 		CAIN	0,177
   555	020413	254 00 0 00 020406 		JRST	CPOPJ1		;177 BYTE SIGNIFIES END
   556	020414	254 00 0 00 021447 		JRST	READ1		;FOR "READ"
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 16
SMMAG	MAC	11-Apr-79 13:04		FLNAME - FILE NAME AND CONTROL INFO INPUT                                          SEQ 0044

   557					SUBTTL	FLNAME - FILE NAME AND CONTROL INFO INPUT
   558
   559	020415	402 00 0 00 024133 	FLNAME:	SETZM	SCFLAG
   560	020416	402 00 0 00 020012 		SETZM	SUSERF
   561	020417	661 06 0 00 400000 		TLO	LET,400000	;SET LETTERS FLAG
   562	020420	400 10 0 00 000000 		SETZ	NAM1,		;CLEAR CONTROLS
   563	020421	403 07 0 00 000012 		SETZB	NAM,DIGIT
   564	020422	201 11 0 00 000036 		MOVEI	NAM2,^D30	;SETUP CHAR POSITIONING
   565
   566					;*FLNMLP - INPUT AND PROCESS CHARACTERS
   567
   568	020423	260 17 0 00 021444 	FLNMLP:	GO	READ
   569	020424	306 00 0 00 000032 		CAIN	32
   570	020425	254 00 0 00 020406 		JRST	CPOPJ1		;^Z, LOGICAL END OF INPUT
   571	020426	306 00 0 00 000012 		CAIN	12
   572	020427	254 00 0 00 020503 		JRST	CRRTN		;CR, (ACTUALLY LF) COMPLETES LINE
   573	020430	332 00 0 00 024133 		SKIPE	SCFLAG
   574	020431	254 00 0 00 020423 		JRST	FLNMLP		;<;> TYPED, IGNORE REST OF LINE
   575	020432	306 00 0 00 000073 		CAIN	73
   576	020433	254 00 0 00 020471 		JRST	SCSET		;<;>
   577	020434	306 00 0 00 000177 		CAIN	177
   578	020435	254 00 0 00 020500 		JRST	RBOUT		;RUBOUT
   579	020436	306 00 0 00 000055 		CAIN	55		;MINUS IS SPECIAL USER MODE FLAG
   580	020437	254 00 0 00 020467 		JRST	MINUS
   581	020440	306 00 0 00 000011 		CAIN	11
   582	020441	254 00 0 00 020463 		JRST	TTAB		;TAB IS FIELD SEPARATOR
   583	020442	322 00 0 00 020423 		JUMPE	FLNMLP		;REJECT 0'S
   584	020443	325 06 0 00 020457 		JUMPGE	LET,FLNAM2	;JUMP IF ASSEMBLE DIGITS
   585
   586					;*FLNAM1 - FILE NAME PROCESS
   587
   588	020444	306 00 0 00 000056 	FLNAM1:	CAIN	56
   589	020445	254 00 0 00 020455 		JRST	PERIOD		;DOT, NAME.EXT SEPARATOR
   590	020446	275 00 0 00 000040 		SUBI	40		;CONVERT TO 6BIT
   591	020447	321 00 0 00 020500 		JUMPL	RBOUT		;CNTL CHAR, TREAT AS RUBOUT
   592	020450	322 00 0 00 020500 		JUMPE	RBOUT		;0 IS ERROR
   593	020451	242 00 0 11 000000 		LSH	0,(NAM2)	;POSITION CHAR
   594	020452	434 07 0 00 000000 		IOR	NAM,0		;MERGE INTO NAME
   595	020453	275 11 0 00 000006 		SUBI	NAM2,6		;CHANGE POSITIONING FOR NEXT
   596	020454	254 00 0 00 020423 		JRST	FLNMLP		;GET NEXT CHAR
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 17
SMMAG	MAC	11-Apr-79 13:04		FLNAME - FILE NAME AND CONTROL INFO INPUT                                          SEQ 0045

   597					;*PERIOD - STORE FILE NAME, GO PROCESS EXTENSION
   598
   599	020455	202 07 0 00 000010 	PERIOD:	MOVEM	NAM,NAM1	;SAVE FILE NAME
   600	020456	254 00 0 00 020421 		JRST	FLNAME+4	;PROCESS EXTENTION
   601
   602					;*FLNAM2 - PROCESS DIGITS
   603
   604	020457	200 13 0 00 000000 	FLNAM2:	MOVE	DIGITA,0
   605	020460	242 13 0 00 000041 		LSH	DIGITA,^D33
   606	020461	246 12 0 00 000003 		LSHC	DIGIT,3		;ASSEMBLE DIGITS
   607	020462	254 00 0 00 020423 		JRST	FLNMLP
   608
   609					;*TTAB - FIELD SEPARATOR, STORE PREVIOUS FIELD
   610
   611	020463	202 14 0 00 000015 	TTAB:	MOVEM	DIGIT1,DIGIT2
   612	020464	202 12 0 00 000014 		MOVEM	DIGIT,DIGIT1
   613	020465	403 06 0 00 000012 		SETZB	LET,DIGIT
   614	020466	254 00 0 00 020422 		JRST	FLNMLP-1
   615
   616					;*MINUS - SET SPECIAL USER MODE
   617
   618	020467	476 00 0 00 020012 	MINUS:	SETOM	SUSERF		;MINUS, SET SPECIAL USER FLAG
   619	020470	254 00 0 00 020420 		JRST	FLNAME+3
   620
   621					;*SCSET - SEMICOLON, REST IS COMMENT
   622
   623	020471	476 00 0 00 024133 	SCSET:	SETOM	SCFLAG
   624	020472	254 00 0 00 020423 		JRST	FLNMLP
   625
   626					;*ZEROAC - ZERO AC'S BEFORE STARTING PROGRAM
   627
   628	020473	205 16 0 00 777762 	ZEROAC:	MOVSI	16,-16
   629	020474	402 00 0 16 000000 		SETZM	0(16)
   630	020475	253 16 0 00 020474 		AOBJN	16,.-1
   631	020476	402 00 0 00 000016 		SETZM	16
   632	020477	263 17 0 00 000000 		RTN
   633
   634	020500				RBOUT:	PMSG	<XXX^>^
   635	020500	201 00 0 00 023562 		MOVEI	[SIXBIT\XXX^_\]
   636	020501	260 17 0 00 021101 		PNTMSG^
   637	020502	254 00 0 00 020415 		JRST	FLNAME
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 18
SMMAG	MAC	11-Apr-79 13:04		FLNAME - FILE NAME AND CONTROL INFO INPUT                                          SEQ 0046

   638					;*COMMAND LIST FORMAT
   639					;*	NAME
   640					;*	EXT,,ITERATIONS	(BIT 18 SET IF SPEC USER)
   641					;*	PASSES,,SWITCHES
   642
   643					;*CRRTN - CR, STORE COMMAND LIST INFORMATION
   644
   645	020503	402 00 0 00 024133 	CRRTN:	SETZM	SCFLAG
   646	020504	336 00 0 00 000007 		SKIPN	NAM
   647	020505	322 10 0 00 020415 		JUMPE	NAM1,FLNAME	;REPEAT IF JUST CR
   648	020506	336 00 0 00 000010 		SKIPN	NAM1		;NAME ONLY ?
   649	020507	250 07 0 00 000010 		EXCH	NAM,NAM1	;YES
   650	020510	202 10 0 16 000000 		MOVEM	NAM1,(IP)	;STORE THE FILE NAME
   651	020511	512 07 0 16 000001 		HLLZM	NAM,1(IP)	;AND EXTENSION
   652	020512	620 12 0 00 400000 		TRZ	DIGIT,400000
   653	020513	332 00 0 00 020012 		SKIPE	SUSERF
   654	020514	660 12 0 00 400000 		TRO	DIGIT,400000	;SET SPEC USER BIT
   655	020515	542 12 0 16 000001 		HRRM	DIGIT,1(IP)	;ITERATIONS (IF SPEC USER BIT 18 SET)
   656	020516	504 14 0 00 000015 		HRL	DIGIT1,DIGIT2	;PASSES,,SWITCHES
   657	020517	202 14 0 16 000002 		MOVEM	DIGIT1,2(IP)
   658	020520	271 16 0 00 000003 		ADDI	IP,3		;INCREMENT POINTER
   659	020521	402 00 0 16 000000 	CRRTN1:	SETZM	(IP)		;CLEAR LAST WORD
   660	020522	301 16 0 00 027021 		CAIL	IP,HELP		;OVERWRITTEN HELP MESSAGE
   661	020523	476 00 0 00 024013 		SETOM	HLPCLR		;YES, NO MORE HELP AVAILABLE
   662	020524	305 16 0 00 027770 		CAIGE	IP,INLEND
   663	020525	263 17 0 00 000000 		RTN
   664
   665	020526				FULL:	PMSG	<^?CMDLST TOO LONG>^
   666	020526	201 00 0 00 023563 		MOVEI	[SIXBIT\^?CMDLST TOO LONG_\]
   667	020527	260 17 0 00 021101 		PNTMSG^
   668	020530	254 00 0 00 020000 		JRST	START
   669
   670	020531				EXNOE:	PMSG	<^%USER ONLY>^
   671	020531	201 00 0 00 023566 		MOVEI	[SIXBIT\^%USER ONLY_\]
   672	020532	260 17 0 00 021101 		PNTMSG^
   673	020533	254 00 0 00 020536 		JRST	EXBAD
   674
   675	020534				EXNOU:	PMSG	<^%EXEC ONLY>^
   676	020534	201 00 0 00 023570 		MOVEI	[SIXBIT\^%EXEC ONLY_\]
   677	020535	260 17 0 00 021101 		PNTMSG^
   678
   679	020536	201 00 0 00 000001 	EXBAD:	MOVEI	0,1		;SET CMD LIST PASS COUNT TO INHIBIT
   680	020537	506 00 0 16 000002 		HRLM	0,2(IP)		;FURTHER REQUEST OF THIS PROGRAM
   681						PMSG	<^%UNCHAINABLE->^
   682	020540	201 00 0 00 023572 		MOVEI	[SIXBIT\^%UNCHAINABLE-_\]
   683	020541	260 17 0 00 021101 		PNTMSG^
   684	020542	260 17 0 00 020322 		GO	NAMPNT		;INCORRECT FORMAT
   685	020543	254 00 0 00 020645 		JRST	RET
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 19
SMMAG	MAC	11-Apr-79 13:04		EXECUTE THE INPUT COMMAND LIST                                                     SEQ 0047

   686					SUBTTL	EXECUTE THE INPUT COMMAND LIST
   687
   688					;*EX - INITIALIZATION
   689
   690	020544	402 00 0 00 020013 	EX:	SETZM	PASS
   691	020545	260 17 0 00 021227 		GO	CRLF1
   692
   693	020546	336 00 0 00 024003 		SKIPN	ASKSW
   694	020547	260 17 0 00 021415 		GO	LHSWS		;GET LH CONTROL SWITCHES
   695	020550	476 00 0 00 024003 		SETOM	ASKSW
   696
   697	020551	402 00 0 00 024135 	EX5:	SETZM	RUNCTL
   698	020552	201 16 0 00 027001 		MOVEI	IP,INLIST	;INIT LIST POINTER
   699	020553	350 00 0 00 020013 		AOS	PASS
   700
   701					;*EX1 - START PASS
   702
   703	020554	202 16 0 00 024134 	EX1:	MOVEM	IP,SAVEIP
   704	020555	402 00 0 00 020012 		SETZM	SUSERF
   705	020556	336 00 0 16 000000 		SKIPN	(IP)
   706	020557	254 00 0 00 020663 		JRST	EX4		;NO PROGRAMS TO RUN
   707
   708	020560	554 01 0 16 000002 		HLRZ	1,2(IP)		;GET PASSES TO RUN
   709	020561	322 01 0 00 020564 		JUMPE	1,.+3		;0, RUN ALWAYS
   710	020562	315 01 0 00 020013 		CAMGE	1,PASS		;RUN FOR REQUESTED PASSES
   711	020563	254 00 0 00 020645 		JRST	RET
   712
   713	020564	200 00 0 16 000001 		MOVE	1(IP)		;PROG RUN IN SPECIAL
   714	020565	602 00 0 00 400000 		TRNE	400000
   715	020566	476 00 0 00 020012 		SETOM	SUSERF		;USER MODE ?
   716
   717					;*EX2 - PRINT NAME AND LOAD PROGRAM
   718
   719	020567	260 17 0 00 021502 	EX2:	SWITCH			;READ SWITCHES
   720	020570	607 00 0 00 000004 		TLNN	0,CHAIN		;INHIBIT TITLE PRINT ?
   721	020571	260 17 0 00 020322 		GO	NAMPNT
   722
   723	020572	260 17 0 00 021404 		GO	CKTTY		;DID EXEC USER TYPE ^C ?
   724	020573	260 17 0 00 022130 		GO	DIAGLD-2	;GET THE PROGRAM
   725	020574	254 00 0 00 020645 		JRST	RET		;PROGRAM NOT FOUND
   726	020575	260 17 0 00 021404 		GO	CKTTY		;DID EXEC USER TYPE ^C ?
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 20
SMMAG	MAC	11-Apr-79 13:04		EXECUTE THE INPUT COMMAND LIST                                                     SEQ 0048

   727
   728					;*EX3 - SETUP PROGRAM OPERATION PARAMETERS
   729
   730	020576	332 00 0 00 024005 	EX3:	SKIPE	CMDFLG
   731	020577	254 00 0 00 020372 		JRST	DEVCM1		;DOING NEW CMD FILE
   732
   733	020600	200 16 0 00 024134 		MOVE	IP,SAVEIP
   734	020601	550 01 0 16 000001 		HRRZ	1,1(IP)		;GET THE ITERATION COUNT
   735	020602	620 01 0 00 400000 		TRZ	1,400000	;CLEAR SPEC USER, IF SET
   736	020603	260 17 0 00 021502 		SWITCH			;READ SWITCHES
   737	020604	607 00 0 00 000400 		TLNN	0,RELIAB	;RELIABILITY MODE ?
   738	020605	242 01 0 00 777772 		LSH	1,-6		;NO, 100(8):1 REDUCTION
   739	020606	336 00 0 00 000001 		SKIPN	1
   740	020607	271 01 0 00 000001 		ADDI	1,1		;ALWAYS ALLOW 1 ITERATION
   741	020610	202 01 0 00 020005 		MOVEM	1,ITERAT
   742
   743	020611	210 00 0 00 020013 		MOVN	PASS
   744	020612	504 00 0 16 000002 		HRL	2(IP)		;SETUP MONITR CONTROL
   745
   746	020613	200 01 0 00 030002 		MOVE	1,30002
   747	020614	312 01 0 00 023575 		CAME	1,[JRST	@27774]
   748	020615	254 00 0 00 020536 		JRST	EXBAD		;INCORRECT FORMAT
   749
   750	020616	332 00 0 00 020006 		SKIPE	USER		;IN USER MODE ?
   751	020617	254 00 0 00 020623 		JRST	EXUSR		;YES
   752
   753	020620	332 00 0 00 030031 	EXEXEC:	SKIPE	$EMODE		;EXEC, THIS PROG RUN IN EXEC ?
   754	020621	254 00 0 00 020626 		JRST	EXNEW		;YES
   755	020622	254 00 0 00 020531 		JRST	EXNOE		;NO
   756
   757	020623	332 00 0 00 030032 	EXUSR:	SKIPE	$UMODE		;USER, THIS PROGRAM RUN IN USER ?
   758	020624	254 00 0 00 020626 		JRST	EXNEW		;YES
   759	020625	254 00 0 00 020534 		JRST	EXNOU		;NO
   760
   761	020626	476 00 0 00 024135 	EXNEW:	SETOM	RUNCTL
   762	020627	206 00 0 00 030043 		MOVSM	MONCTL		;LH = -PASS COUNT, RH = RH SWITCHES
   763
   764	020630	200 00 0 00 020015 		MOVE	0,RANBAS	;GENERATE PROG RANDOM BASE NUMBER
   765	020631	270 00 0 00 023576 		ADD	0,[165742335216]
   766	020632	241 00 0 00 777777 		ROT	0,-1
   767	020633	447 00 0 00 020015 		EQVB	0,RANBAS
   768	020634	202 00 0 00 030022 		MOVEM	0,RANDBS	;PUT IN PROG DATA AREA
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 21
SMMAG	MAC	11-Apr-79 13:04		EXECUTE THE INPUT COMMAND LIST                                                     SEQ 0049

   769
   770					;*RERUN1 - DISPATCH TO EXPANDED SETUP
   771
   772	020635	254 00 0 00 020706 	RERUN1:	JRST	XPNRUN
   773
   774					;*RUN - PROGRAM RUN, CLEAR PROCESSOR FOR NEXT
   775
   776	020636	332 00 0 00 020006 	RUN:	SKIPE	USER
   777	020637	254 00 0 00 020642 		JRST	.+3
   778	020640	7 004 20 0 00 010000 		CONO	PI,PICLR
   779	020641	7 000 20 0 00 200000 		CONO	APR,IOCLR
   780	020642	200 17 0 00 023532 		MOVE	P,[-40,,PLIST]
   781	020643	200 16 0 00 024134 		MOVE	IP,SAVEIP
   782	020644	260 17 0 00 021504 		GO	SMINT		;CLEAR SM
   783
   784					;*RET - ANY MORE PROGRAMS ON COMMAND LIST
   785
   786	020645	271 16 0 00 000003 	RET:	ADDI	IP,3		;INCREMENT POINTER TO NEXT COMMAND
   787	020646	332 00 0 16 000000 		SKIPE	(IP)
   788	020647	254 00 0 00 020554 		JRST	EX1		;RUN NEXT PROGRAM
   789	020650	336 00 0 00 024135 		SKIPN	RUNCTL		;ANY PROGRAMS RUN THIS PASS ?
   790	020651	254 00 0 00 020663 		JRST	EX4		;NO
   791	020652	260 17 0 00 021227 		GO	CRLF1		;PRINT A CARRIAGE RETURN AND LINE FEED
   792	020653	200 01 0 00 024051 		MOVE	A,PGNAME	;GET PROGRAM NAME
   793	020654	260 17 0 00 020332 		GO	SIXBP		;PRINT IT
   794						PMSG	< PASS >^
   795	020655	201 00 0 00 023577 		MOVEI	[SIXBIT\ PASS _\]
   796	020656	260 17 0 00 021101 		PNTMSG^
   797	020657	200 00 0 00 020013 		MOVE	PASS		;PRINT PASS COUNTER
   798	020660	260 17 0 00 021157 		GO	PNTDEC
   799	020661	260 17 0 00 021227 		GO	CRLF1
   800	020662	254 00 0 00 020551 		JRST	EX5
   801
   802					;*EX4 - ALL FINISHED
   803
   804	020663				EX4:	PMSG	<^CMD'S REQUIRED>^
   805	020663	201 00 0 00 023601 		MOVEI	[SIXBIT\^CMD'S REQUIRED_\]
   806	020664	260 17 0 00 021101 		PNTMSG^
   807	020665	254 00 0 00 020024 		JRST	SELECT
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 22
SMMAG	MAC	11-Apr-79 13:04		EXPANDED COMMAND FORMAT SETUP                                                      SEQ 0050

   808					SUBTTL	EXPANDED COMMAND FORMAT SETUP
   809
   810					;*CXPND - EXPANDED ALLOWED
   811
   812	020666	332 00 0 00 020006 	CXPND:	SKIPE	USER
   813	020667	263 17 0 00 000000 		RTN			;NO EXPANDED FEATURES IN USER MODE
   814
   815	020670	260 17 0 00 021502 	CXPND1:	SWITCH
   816	020671	606 00 0 00 400000 		TRNN	XPAND		;ALLOW EXPANDED FEATURES ?
   817	020672	263 17 0 00 000000 		RTN			;NO
   818
   819					;*STRD3 - SPECIAL USER MODE
   820
   821	020673				STRD3:	PMSG	<^Y OR A FOR SPECIAL USER MODE - >^
   822	020673	201 00 0 00 023604 		MOVEI	[SIXBIT\^Y OR A FOR SPECIAL USER MODE - _\]
   823	020674	260 17 0 00 021101 		PNTMSG^
   824	020675	260 17 0 00 020213 		GO	TT2CHR
   825	020676	254 00 0 00 020705 		JRST	STRD4		;CR, NO SPECIAL USER
   826	020677	306 00 0 00 000131 		CAIN	"Y"
   827	020700	477 00 0 00 024123 		SETOB	0,USRFLG	;IF Y SET FLAG
   828	020701	306 00 0 00 000101 		CAIN	"A"		;A, USER AFTER 1ST PASS
   829	020702	254 00 0 00 020704 		JRST	STRD3A
   830	020703	325 00 0 00 020673 		JUMPGE	0,STRD3		;OTHER IS GOOF
   831
   832	020704	202 00 0 00 024123 	STRD3A:	MOVEM	0,USRFLG	;USRFLG = +, SPECIAL USER AFTER PASS 1
   833
   834	020705	263 17 0 00 000000 	STRD4:	RTN
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 23
SMMAG	MAC	11-Apr-79 13:04		SPECIAL RUN SEQUENCING                                                             SEQ 0051

   835					SUBTTL	SPECIAL RUN SEQUENCING
   836
   837					;*XPNRUN - DETERMINE AND SETUP FOR SPECIAL OPERATIONS
   838
   839	020706	200 00 0 00 020005 	XPNRUN:	MOVE	ITERAT
   840	020707	202 00 0 00 024047 		MOVEM	USRITR#
   841
   842	020710	332 00 0 00 020006 	XPNRN1:	SKIPE	USER
   843	020711	254 00 0 00 020714 		JRST	XPNRN2		;USER MODE
   844	020712	332 00 0 00 024123 		SKIPE	USRFLG
   845	020713	254 00 0 00 020723 		JRST	USRRUN		;SPECIAL USER MODE OPERATION
   846
   847	020714	200 00 0 00 020005 	XPNRN2:	MOVE	0,ITERAT
   848	020715	202 00 0 00 030024 		MOVEM	0,ITRCNT
   849	020716	201 00 0 00 020776 		MOVEI	USSR2
   850	020717	202 00 0 00 030012 		MOVEM	RETURN
   851
   852	020720	260 17 0 00 020473 	XPNRN3:	GO	ZEROAC
   853	020721	402 00 0 00 000017 		SETZM	17
   854	020722	254 00 0 00 030002 		JRST	DIAGMN		;GO TO PROGRAM
   855
   856					;*USRRUN - SPECIAL USER MODE RUN SEQUENCING
   857
   858	020723	336 00 0 00 020012 	USRRUN:	SKIPN	SUSERF		;ALLOW SPECIAL USER ?
   859	020724	254 00 0 00 020714 		JRST	XPNRN2		;NO, RUN IN EXEC
   860	020725	201 00 0 00 000001 		MOVEI	1
   861	020726	202 00 0 00 020005 		MOVEM	ITERAT		;RETURN TO DIAMON AFTER EACH PASS
   862	020727	337 00 0 00 024123 		SKIPG	USRFLG		;USRFLG - ='S RUN ALL
   863	020730	254 00 0 00 020734 		JRST	.+4		;PASSES
   864	020731	200 02 0 00 020013 		MOVE	2,PASS		;USRFLG + AND PASS 1 ='S
   865	020732	306 02 0 00 000001 		CAIN	2,1		;RUN IN EXEC MODE
   866	020733	254 00 0 00 020714 		JRST	XPNRN2
   867	020734	200 00 0 00 020005 		MOVE	ITERAT
   868	020735	202 00 0 00 030024 		MOVEM	ITRCNT
   869	020736	402 00 0 00 030042 		SETZM	MONFLG		;CLEAR MONFLG
   870	020737	205 01 0 00 777400 		MOVSI	1,-400		;SETUP USER PAGE MAP
   871	020740	200 00 0 00 023612 		MOVE	0,[557776,,557777]
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 24
SMMAG	MAC	11-Apr-79 13:04		SPECIAL RUN SEQUENCING                                                             SEQ 0052

   872					;*SETUP PAGE MAP AND TRAPS
   873
   874	020741	270 00 0 00 023613 		ADD	0,[2,,2]
   875	020742	202 00 0 01 017000 		MOVEM	0,UPMP(1)
   876	020743	253 01 0 00 020741 		AOBJN	1,.-2
   877	020744	200 00 0 00 023614 		MOVE	0,[UPMP+160,,UPMP+400]	;SET EPPM SAME AS USER 340-377
   878	020745	251 00 0 00 017417 		BLT	0,UPMP+417
   879	020746	200 00 0 00 023615 		MOVE	0,[JSR USRERR]
   880	020747	202 00 0 00 017420 		MOVEM	0,UPMP+420
   881	020750	202 00 0 00 017422 		MOVEM	0,UPMP+422
   882	020751	202 00 0 00 017423 		MOVEM	0,UPMP+423
   883	020752	205 00 0 00 255000 		MOVSI	0,(JFCL)
   884	020753	202 00 0 00 017421 		MOVEM	0,UPMP+421
   885	020754	201 00 0 00 021014 		MOVEI	0,MUUOER
   886	020755	202 00 0 00 017430 		MOVEM	0,UPMP+430
   887	020756	202 00 0 00 017431 		MOVEM	0,UPMP+431
   888	020757	202 00 0 00 017432 		MOVEM	0,UPMP+432
   889	020760	202 00 0 00 017433 		MOVEM	0,UPMP+433
   890	020761	201 00 0 00 021022 		MOVEI	0,MUUOH		;SETUP FOR HANDLER
   891	020762	202 00 0 00 017434 		MOVEM	0,UPMP+434
   892	020763	202 00 0 00 017435 		MOVEM	0,UPMP+435
   893	020764	202 00 0 00 017436 		MOVEM	0,UPMP+436
   894	020765	202 00 0 00 017437 		MOVEM	0,UPMP+437
   895	020766	260 17 0 00 021001 		GO	PAGSM		;SM10
   896	020767	254 02 1 00 020770 		JRSTF	@.+1
   897	020770	010000	020771			USERF,,.+1		;ENTER USER MODE
   898	020771	254 01 0 00 020772 		JRST	1,.+1		;ENTRY
   899	020772	201 00 0 00 020775 		MOVEI	USSR1
   900	020773	202 00 0 00 030012 		MOVEM	RETURN
   901	020774	254 00 0 00 020720 		JRST	XPNRN3		;GO TO PROGRAM
   902
   903					;*USSR1 - PROGRAM COMPLETION CONTROL
   904
   905	020775	077000	000000		USSR1:	77B8			;MUUO 77, RETURN TO EXEC MODE
   906	020776	332 00 0 00 020006 	USSR2:	SKIPE	USER
   907	020777	254 00 0 00 020001 		JRST	RESTRT		;USER MODE, COMPLETED
   908	021000	254 00 0 00 021006 		JRST	USSR3
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 25
SMMAG	MAC	11-Apr-79 13:04		SPECIAL RUN SEQUENCING                                                             SEQ 0053

   909	021001	201 00 0 00 021017 	PAGSM:	MOVEI	0,USRERR+1
   910	021002	202 00 0 00 017427 		MOVEM	0,UPMP+427
   911	021003	7 010 20 0 00 020000 		CONO	PAG,TRPENB
   912	021004	7 010 14 0 00 023616 		DATAO	PAG,[LLDUSB,,400000!<UPMP_-^D9>]
   913	021005	263 17 0 00 000000 		RTN
   914
   915	021006	7 010 20 0 00 020000 	USSR3:	CONO	PAG,TRPENB
   916	021007	7 010 14 0 00 023617 		DATAO	PAG,[LLDUSB,,400000]
   917
   918	021010	332 00 0 00 020012 	USSR4:	SKIPE	SUSERF		;RUNNING SPECIAL USER ?
   919	021011	376 00 0 00 024047 		SOSN	USRITR		;YES, FINISHED USER ITERATIONS ?
   920	021012	254 00 0 00 020001 		JRST	RESTRT		;FINISHED ALL ITERATIONS
   921	021013	254 00 0 00 020710 		JRST	XPNRN1		;NOT FINISHED, CONTINUE
   922
   923					;*MUUOER & USRERR - USER ERROR REPORTING
   924
   925	021014	201 00 0 00 023620 	MUUOER:	MOVEI	MSG	<^?MUUO ERROR^>^[SIXBIT\^?MUUO ERROR^_\]^
   926	021015	254 00 0 00 021020 		JRST	.+3
   927
   928	021016	000000	000000		USRERR:	0
   929	021017	201 00 0 00 023623 		MOVEI	MSG	<^?USER TRAP ERROR^>^[SIXBIT\^?USER TRAP ERROR^_\]^
   930	021020	260 17 0 00 021101 		PNTMSG
   931	021021	254 00 0 00 020000 		JRST	START
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 26
SMMAG	MAC	11-Apr-79 13:04		SPECIAL USER MODE I/O HANDLER                                                      SEQ 0054

   932					SUBTTL	SPECIAL USER MODE I/O HANDLER
   933
   934	021022	202 00 0 00 024001 	MUUOH:	MOVEM	0,ACS0#		;SAVE AC0 AND AC1
   935	021023	202 01 0 00 024002 		MOVEM	1,ACS1#
   936	021024	554 01 0 00 017424 		HLRZ	1,UPMP+MUUO	;GET MUUO INSTRUCTION FIELD
   937	021025	242 01 0 00 777767 		LSH	1,-^D9
   938	021026	306 01 0 00 000257 		CAIN	1,257
   939	021027	254 00 0 00 021032 		JRST	EXC		;IF MAP, DO AS MUUO FOR SM10
   940	021030	200 01 0 00 017424 		MOVE	1,UPMP+MUUO	;GET MUUO
   941	021031	325 01 0 00 021055 		JUMPGE	1,JRSTX		;A JRST, JEN OR MUUO
   942	021032	200 01 0 00 024002 	EXC:	MOVE	1,ACS1		;RESTORE AC1
   943	021033	256 00 0 00 017424 		XCT	UPMP+MUUO	;EXECUTE
   944	021034	334 00 0 00 000000 		SKIPA
   945	021035	350 00 0 00 017425 		AOS	UPMP+MUUOPC	;INC RETURN IF CONSO, CONSZ SKIP
   946	021036	202 01 0 00 024002 	EXC1:	MOVEM	1,ACS1		;RESAVE AC1
   947	021037	254 00 0 00 021050 		JRST	EXC4
   948	021040	200 01 0 00 017425 	EXC5:	MOVE	1,UPMP+MUUOPC	;SETUP RETURN
   949	021041	661 01 0 00 010000 		TLO	1,USERF
   950	021042	502 01 0 00 021046 		HLLM	1,EXC2		;SETUP FLAGS
   951	021043	542 01 0 00 021047 		HRRM	1,EXC3		;SETUP RETURN PC
   952	021044	200 01 0 00 024002 		MOVE	1,ACS1		;RESTORE AC1
   953	021045	254 02 1 00 021046 		JRSTF	@.+1		;RESTORE FLAGS, GO TO USER
   954	021046	000000	021047		EXC2:	0,,.+1
   955	021047	254 01 0 00 000000 	EXC3:	JRST	1,0		;ENTRY
   956
   957	021050	7 010 24 0 00 000001 	EXC4:	CONI	PAG,1
   958	021051	660 01 0 00 020000 		TRO	1,TRPENB
   959	021052	7 010 20 0 01 000000 		CONO	PAG,(1)
   960	021053	7 010 14 0 00 023616 		DATAO	PAG,[LLDUSB,,400000!<UPMP_-^D9>]
   961	021054	254 00 0 00 021040 		JRST	EXC5
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 27
SMMAG	MAC	11-Apr-79 13:04		SPECIAL USER MODE I/O HANDLER                                                      SEQ 0055

   962	021055	603 01 0 00 700000 	JRSTX:	TLNE	1,700000
   963	021056	254 00 0 00 021063 		JRST	JRSTX1
   964	021057	641 01 0 00 077000 		TLC	1,077000
   965	021060	643 01 0 00 077000 		TLCE	1,077000
   966	021061	254 00 0 00 021014 		JRST	MUUOER		;INCORRECT MUUO
   967	021062	254 00 0 00 020776 		JRST	USSR2		;MUUO 77, RETURN TO DIAG MON
   968	021063	603 01 0 00 000200 	JRSTX1:	TLNE	1,200
   969	021064	254 04 1 00 017425 		HALT	@UPMP+MUUOPC	;HALT, POINTING TO ACTUAL HALT
   970	021065	254 10 0 00 021066 		JRST	10,.+1		;JEN, DISMISS INTERRUPT
   971	021066	254 00 0 00 021036 		JRST	EXC1
   972
   973					;*SAXPN - STANDALONE EXPANDED RUNNING
   974					;*	  SPECIAL USER AND/OR MARGINS
   975
   976	021067	332 00 0 00 020006 	SAXPN:	SKIPE	USER
   977	021070	254 00 0 00 020024 		JRST	SELECT		;ILLEGAL IN USER MODE
   978	021071	476 00 0 00 020005 		SETOM	ITERAT		;RUN PROGRAM FOREVER
   979	021072	260 17 0 00 021502 		SWITCH
   980	021073	505 00 0 00 777777 		HRLI	-1
   981	021074	202 00 0 00 030043 		MOVEM	MONCTL		;LH = -PASS CNT, RH = RH SWS
   982
   983	021075	260 17 0 00 020673 		GO	STRD3		;SETUP 	EXPANDED FEATURES
   984
   985	021076	332 00 0 00 024123 		SKIPE	USRFLG		;IF SPECIAL USER WAS SELECTED
   986	021077	476 00 0 00 020012 		SETOM	SUSERF		;SET FLAG TO RUN THAT WAY
   987
   988	021100	254 00 0 00 020706 		JRST	XPNRUN		;GO RUN PROGRAM
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 28
SMMAG	MAC	11-Apr-79 13:04		MESSAGE PRINTER                                                                    SEQ 0056

   989					SUBTTL	MESSAGE PRINTER
   990
   991					;*PNTMSG - PRINT SIXBIT MESSAGES
   992
   993	021101	261 17 0 00 000002 	$PSIX:	PUT	2
   994	021102	261 17 0 00 000003 		PUT	3
   995	021103	261 17 0 00 000004 		PUT	4
   996	021104	550 04 0 00 000000 		HRRZ	4,0		;MESSAGE ADDRESS
   997
   998	021105	201 03 0 00 000006 	$PSIX1:	MOVEI	3,6		;6 CHARS PER 6BIT WORD
   999	021106	200 01 0 04 000000 		MOVE	1,(4)		;GET FIRST/NEXT WORD OF MESSAGE
  1000
  1001	021107	400 02 0 00 000000 	$PSIX2:	SETZ	2,
  1002	021110	245 01 0 00 000006 		ROTC	1,6		;C(AC2)= CHAR TO BE PRINTED
  1003	021111	306 02 0 00 000077 		CAIN	2,77
  1004	021112	254 00 0 00 021130 		JRST	$PSIX5		;"BACKARROW", DONE
  1005	021113	306 02 0 00 000076 		CAIN	2,76
  1006	021114	254 00 0 00 021123 		JRST	$PSIX4		;"UPARROW", CR/LF
  1007	021115	306 02 0 00 000075 		CAIN	2,75
  1008	021116	201 02 0 00 000151 		MOVEI	2,151		;"BRACKET", CHANGE TO TAB
  1009	021117	201 00 0 02 000040 		MOVEI	0,40(2)		;CHANGE TO ASCII
  1010	021120	260 17 0 00 021166 		GO	PRINT		;PRINT CHAR
  1011	021121	366 03 0 00 021107 	$PSIX3:	SOJN	3,$PSIX2	;PRINTED ALL CHARS FROM THIS WORD ?
  1012	021122	344 04 0 00 021105 		AOJA	4,$PSIX1	;YES, DO NEXT WORD
  1013
  1014	021123	201 00 0 00 000015 	$PSIX4:	MOVEI	15
  1015	021124	260 17 0 00 021166 		GO	PRINT		;PRINT CR
  1016	021125	201 00 0 00 000012 		MOVEI	12
  1017	021126	260 17 0 00 021166 		GO	PRINT		;PRINT LF
  1018	021127	254 00 0 00 021121 		JRST	$PSIX3
  1019
  1020	021130	262 17 0 00 000004 	$PSIX5:	GET	4
  1021	021131	262 17 0 00 000003 		GET	3
  1022	021132	262 17 0 00 000002 		GET	2
  1023	021133	263 17 0 00 000000 		RTN
  1024
  1025					;*PNTAL - PRINT ASCII MESSAGES
  1026
  1027	021134	354 00 0 00 021136 	TOUTA:	AOSA	.+2		;INCREMENT MSG ADDRESS
  1028	021135	542 00 0 00 021136 	TOUT:	HRRM	0,.+1		;C(0) = ADR OF MSG
  1029	021136	200 01 0 00 000000 		MOVE	1,0		;GET CHARACTERS
  1030	021137	660 01 0 00 000001 		TRO	1,1		;SET FLAG BIT
  1031	021140	246 00 0 00 000007 		LSHC	0,7		;CHAR TO 0
  1032	021141	405 00 0 00 000177 		ANDI	177		;MASK
  1033	021142	336 00 0 00 000000 		SKIPN	0		;IF NULL, EXIT
  1034	021143	263 17 0 00 000000 		RTN
  1035	021144	260 17 0 00 021166 		GO	PRINT		;PRINT C(0)
  1036	021145	312 01 0 00 023627 		CAME	1,[400000,,0]
  1037	021146	254 00 0 00 021140 		JRST	TOUT+3		;GET NEXT CHAR IN WORD
  1038	021147	254 00 0 00 021134 		JRST	TOUTA		;GET NEXT WORD
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 29
SMMAG	MAC	11-Apr-79 13:04		MESSAGE PRINTER                                                                    SEQ 0057

  1039					;*PNTOCT - PRINT OCTAL NUMBERS
  1040
  1041	021150	201 02 0 00 000006 	PNTOCT:	MOVEI	2,6		;OCTAL PRINT
  1042	021151	504 01 0 00 000000 		HRL	1,0
  1043	021152	201 00 0 00 000006 		MOVEI	0,6
  1044	021153	246 00 0 00 000003 		LSHC	0,3
  1045	021154	260 17 0 00 021166 		GO	PRINT
  1046	021155	367 02 0 00 021152 		SOJG	2,PNTOCT+2
  1047	021156	263 17 0 00 000000 		RTN
  1048
  1049					;*PNTDEC - PRINT DECIMAL NUMBERS
  1050
  1051	021157	231 00 0 00 000012 	PNTDEC:	IDIVI	0,^D10		;DECIMAL PRINTER
  1052	021160	506 01 0 17 000000 		HRLM	1,(P)
  1053	021161	332 00 0 00 000000 		SKIPE	0
  1054	021162	260 17 0 00 021157 		GO	PNTDEC
  1055	021163	554 00 0 17 000000 		HLRZ	0,(P)
  1056	021164	271 00 0 00 000060 		ADDI	0,"0"
  1057	021165	254 00 0 00 021166 		JRST	PRINT
  1058
  1059					;*PRINT - PRINT AN ASCII CHARACTER
  1060
  1061	021166	350 00 0 00 024136 	PRINT:	AOS	CHRCTR
  1062	021167	202 01 0 00 024140 		MOVEM	1,SAVAC1
  1063	021170	405 00 0 00 000177 		ANDI	177
  1064	021171	202 00 0 00 024137 		MOVEM	0,SAVAC0
  1065	021172	302 00 0 00 000011 		CAIE	11
  1066	021173	254 00 0 00 021203 		JRST	PRINT1		;NOT TAB
  1067	021174	370 00 0 00 024136 		SOS	CHRCTR
  1068	021175	201 00 0 00 000040 		MOVEI	40
  1069	021176	260 17 0 00 021203 		GO	PRINT1
  1070	021177	350 01 0 00 024136 		AOS	1,CHRCTR	;OUTPUT REQUIRED SPACE'S FOR TAB FUNCTION
  1071	021200	602 01 0 00 000007 		TRNE	1,7
  1072	021201	254 00 0 00 021175 		JRST	.-4
  1073	021202	254 00 0 00 021222 		JRST	PRINT2
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 30
SMMAG	MAC	11-Apr-79 13:04		MESSAGE PRINTER                                                                    SEQ 0058

  1074	021203	306 00 0 00 000012 	PRINT1:	CAIN	0,12		;LF ?
  1075	021204	402 00 0 00 024136 		SETZM	CHRCTR		;YES, CLEAR CHAR COUNTER
  1076	021205	306 00 0 00 000014 		CAIN	0,14		;FORM FEED ?
  1077	021206	402 00 0 00 024136 		SETZM	CHRCTR		;YES, CLEAR CHAR COUNTER
  1078	021207	332 00 0 00 024116 		SKIPE	LPTFLG
  1079	021210	254 00 0 00 021242 		JRST	PNTLPT		;PRINT ON LINE PRINTER
  1080	021211	332 00 0 00 020006 		SKIPE	USER
  1081	021212	254 00 0 00 021225 		JRST	PRINT4
  1082	021213	336 00 0 00 024006 		SKIPN	CNTLOF		;CONTROL O'ED ?
  1083	021214	264 00 0 00 021642 		BTYTYO			;TYPE CHAR
  1084	021215	260 17 0 00 021277 		GO	TTYCHK		;CHECK FOR OPERATOR CONTROL
  1085	021216	306 00 0 00 000015 		CAIN	15
  1086	021217	254 00 0 00 021232 		JRST	FILLCR		;FILL CR
  1087	021220	306 00 0 00 000012 		CAIN	12
  1088	021221	254 00 0 00 021235 		JRST	FILLLF		;FILL LF
  1089	021222	200 01 0 00 024140 	PRINT2:	MOVE	1,SAVAC1
  1090	021223	200 00 0 00 024137 		MOVE	0,SAVAC0
  1091	021224	263 17 0 00 000000 		RTN			;EXIT
  1092
  1093	021225	051 01 0 00 000000 	PRINT4:	OUTCHR
  1094	021226	254 00 0 00 021222 		JRST	PRINT2
  1095
  1096					;*MISCELLANEOUS
  1097
  1098	021227				CRLF1:	PMSG	<^>^
  1099	021227	201 00 0 00 023560 		MOVEI	[SIXBIT\^_\]
  1100	021230	260 17 0 00 021101 		PNTMSG^
  1101	021231	263 17 0 00 000000 		RTN
  1102
  1103	021232	402 00 0 00 024006 	FILLCR:	SETZM	CNTLOF#		;CLEAR CONTROL O FLAG
  1104	021233	200 01 0 00 024141 		MOVE	1,FCRCNT	;GET CR FILL COUNT
  1105	021234	254 00 0 00 021240 		JRST	FILLX+2		;SEND EXTRA CR
  1106
  1107	021235	200 01 0 00 024142 	FILLLF:	MOVE	1,FLFCNT	;GET LF FILL COUNT
  1108	021236	361 01 0 00 021222 	FILLX:	SOJL	1,PRINT2
  1109	021237	201 00 0 00 000000 		MOVEI	0,0		;USE 000 AS FILLER
  1110	021240	264 00 0 00 021642 		BTYTYO
  1111	021241	254 00 0 00 021236 		JRST	FILLX
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 31
SMMAG	MAC	11-Apr-79 13:04		MESSAGE PRINTER                                                                    SEQ 0059

  1112					;*PNTLPT - LINE PRINTER DRIVER
  1113
  1114	021242	201 01 0 00 321206 	PNTLPT:	MOVEI	1,^D<<1000*750>/7>
  1115	021243	405 00 0 00 000177 		ANDI	0,177
  1116	021244	242 00 0 00 000001 		LSH	0,1
  1117					;	GO	SMLPT
  1118	021245	260 17 0 00 021277 		GO	TTYCHK		;CHECK FOR ABORT
  1119					;	GO	SMLPTR		;WAIT APPROX 750 MS
  1120	021246	367 01 0 00 021243 		SOJG	1,.-3
  1121	021247	337 00 0 00 000001 		SKIPG	1		;DID LPT RESPOND ?
  1122	021250	260 17 0 00 021252 		GO	LPTOFL		;ASK OPERATOR TO REENABLE IT
  1123	021251	254 00 0 00 021222 		JRST	PRINT2
  1124
  1125					;*LPTOFL - LINE PRINTER OFF-LINE
  1126
  1127	021252	261 17 0 00 000000 	LPTOFL:	PUT	0
  1128	021253	261 17 0 00 000001 		PUT	1
  1129	021254	261 17 0 00 024137 		PUT	SAVAC0
  1130	021255	261 17 0 00 024140 		PUT	SAVAC1
  1131	021256	261 17 0 00 024136 		PUT	CHRCTR
  1132	021257	402 00 0 00 024116 		SETZM	LPTFLG		;SEND MESSAGE TO TTY
  1133	021260	200 01 0 00 023630 		MOVE	1,[POINT 7,LOFMSG]
  1134	021261	134 00 0 00 000001 		ILDB	0,1
  1135	021262	322 00 0 00 021265 		JUMPE	0,.+3
  1136	021263	260 17 0 00 021166 		GO	PRINT
  1137	021264	254 00 0 00 021261 		JRST	.-3
  1138	021265	260 17 0 00 021325 		TTICHR			;WAIT FOR OPERATOR
  1139	021266	302 00 0 00 000012 		CAIE	12
  1140	021267	254 00 0 00 021265 		JRST	.-2
  1141	021270	476 00 0 00 024116 		SETOM	LPTFLG		;REENABLE LINE PRINTER
  1142	021271	262 17 0 00 024136 		GET	CHRCTR
  1143	021272	262 17 0 00 024140 		GET	SAVAC1
  1144	021273	262 17 0 00 024137 		GET	SAVAC0
  1145	021274	262 17 0 00 000001 		GET	1
  1146	021275	262 17 0 00 000000 		GET	0
  1147	021276	263 17 0 00 000000 		RTN
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 32
SMMAG	MAC	11-Apr-79 13:04		MESSAGE PRINTER                                                                    SEQ 0060

  1148					;*TTYCHK - TELETYPE CHECK ROUTINE
  1149
  1150	021277	332 00 0 00 024046 	TTYCHK:	SKIPE	TTYCFLG#	;INPUT CHECKING ALLOWED ?
  1151	021300	263 17 0 00 000000 		RTN			;NO
  1152
  1153	021301	261 17 0 00 000000 		PUT	0
  1154	021302	264 00 0 00 021562 		BTYTYI			;ANY TYPEIN ?
  1155	021303	262 17 0 00 000000 		GET	0
  1156	021304	263 17 0 00 000000 		RTN			;NO
  1157
  1158	021305	306 00 0 00 000003 		CAIN	0,003
  1159	021306	254 00 0 00 020024 		JRST	SELECT		;^C, START OVER
  1160	021307	306 00 0 00 000004 		CAIN	0,004
  1161	021310	254 00 0 00 021343 		JRST	TTYIND		;^D, START DDT
  1162	021311	306 00 0 00 000017 		CAIN	0,017
  1163	021312	476 00 0 00 024006 		SETOM	CNTLOF		;^O, INHIBIT OUTPUT
  1164	021313	262 17 0 00 000000 		GET	0
  1165	021314	263 17 0 00 000000 		RTN
  1166
  1167	021315				LOFMSG:	ASCIZ/
  1168	021315	015 012 114 120 124 	LPT OFF-LINE, TYPE CR WHEN READY - /
  1169	021316	040 117 106 106 055 
  1170	021317	114 111 116 105 054 
  1171	021320	040 124 131 120 105 
  1172	021321	040 103 122 040 127 
  1173	021322	110 105 116 040 122 
  1174	021323	105 101 104 131 040 
  1175	021324	055 040 000 000 000 
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 33
SMMAG	MAC	11-Apr-79 13:04		TELETYPE  INPUT                                                                    SEQ 0061

  1176					SUBTTL	TELETYPE  INPUT
  1177
  1178					;*TTICHR - INPUT A TELETYPE CHARACTER
  1179
  1180	021325	402 00 0 00 024006 	TTYIN:	SETZM	CNTLOF
  1181	021326	476 00 0 00 024046 		SETOM	TTYCFLG		;PREVENT INPUT CHECKS ON ECHO
  1182	021327	332 00 0 00 020006 		SKIPE	USER
  1183	021330	254 00 0 00 021376 		JRST	TTYINU
  1184	021331	260 17 0 00 021517 		GO	SMTYI
  1185
  1186					;*TTYINX - CHECK FOR SPECIAL CHAR PROCESS
  1187
  1188	021332	405 00 0 00 000177 	TTYINX:	ANDI	177		;CLEAR PARITY BIT
  1189	021333	306 00 0 00 000023 		CAIN	023
  1190	021334	254 00 0 00 021325 		JRST	TTYIN		;XOFF
  1191	021335	306 00 0 00 000021 		CAIN	021
  1192	021336	254 00 0 00 021325 		JRST	TTYIN		;XON
  1193	021337	306 00 0 00 000003 		CAIN	003
  1194	021340	254 00 0 00 020024 		JRST	SELECT		;^C, START OVER
  1195	021341	302 00 0 00 000004 		CAIE	004
  1196	021342	254 00 0 00 021347 		JRST	.+5
  1197
  1198					;*TTYIND - TRANSFER TO DDT
  1199
  1200	021343	200 00 0 00 010001 	TTYIND:	MOVE	SMDDT+1		;GET DDT IDENTIFIER
  1201	021344	316 00 0 00 023631 		CAMN	[ASCII/DDT/]
  1202	021345	254 00 0 00 000441 		JRST	$DDT		;^D, START DDT
  1203	021346	254 00 0 00 020024 		JRST	SELECT		;NOT THERE, START OVER
  1204	021347	306 00 0 00 000177 		CAIN	177
  1205	021350	254 00 0 00 021374 		JRST	TTYEXT		;RUBOUT
  1206	021351	332 00 0 00 024133 		SKIPE	SCFLAG		;IN COMMENT ?
  1207	021352	254 00 0 00 021355 		JRST	TTYINA
  1208	021353	306 00 0 00 000040 		CAIN	40		;SPACE, CHANGE TO TAB
  1209	021354	201 00 0 00 000011 		MOVEI	11
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 34
SMMAG	MAC	11-Apr-79 13:04		TELETYPE  INPUT                                                                    SEQ 0062

  1210					;*TTYINA - COMPLETE CHARACTER PROCESS
  1211
  1212	021355	306 00 0 00 000033 	TTYINA:	CAIN	33
  1213	021356	254 00 0 00 021471 		JRST	TTALTM		;ALTMODE
  1214	021357	306 00 0 00 000176 		CAIN	176
  1215	021360	254 00 0 00 021471 		JRST	TTALTM		;ALTMODE
  1216	021361	306 00 0 00 000175 		CAIN	175
  1217	021362	254 00 0 00 021471 		JRST	TTALTM		;ALTMODE
  1218	021363	336 00 0 00 020006 		SKIPN	USER
  1219	021364	260 17 0 00 021166 		GO	PRINT
  1220	021365	301 00 0 00 000140 		CAIL	140		;CONVERT TO UPPER CASE
  1221	021366	620 00 0 00 000040 		TRZ	40
  1222	021367	302 00 0 00 000015 		CAIE	15		;IF CR
  1223	021370	254 00 0 00 021374 		JRST	TTYEXT
  1224	021371	201 00 0 00 000012 		MOVEI	12		;PRINT AND EXIT WITH LF
  1225	021372	402 00 0 00 024136 		SETZM	CHRCTR
  1226	021373	254 00 0 00 021355 		JRST	TTYINA
  1227	021374	402 00 0 00 024046 	TTYEXT:	SETZM	TTYCFLG
  1228	021375	263 17 0 00 000000 		RTN
  1229
  1230					;*TTYINU - USER MODE CHARACTER INPUT
  1231
  1232	021376	051 04 0 00 000000 	TTYINU:	INCHWL
  1233	021377	302 00 0 00 000015 		CAIE	0,15
  1234	021400	254 00 0 00 021332 		JRST	TTYINX
  1235	021401	402 00 0 00 024136 		SETZM	CHRCTR
  1236	021402	051 00 0 00 000000 		INCHRW
  1237	021403	254 00 0 00 021332 		JRST	TTYINX
  1238
  1239					;*CHECK EXEC TTY FOR ^C ABORT
  1240
  1241	021404	332 00 0 00 020006 	CKTTY:	SKIPE	USER
  1242	021405	263 17 0 00 000000 		RTN			;IN USER MODE
  1243	021406	264 00 0 00 021562 		BTYTYI			;ANY INPUT ?
  1244	021407	263 17 0 00 000000 		RTN			;NO
  1245	021410	310 00 0 00 000000 		CAM
  1246	021411	405 00 0 00 000177 		ANDI	177
  1247	021412	306 00 0 00 000003 		CAIN	003		;CONTROL C ?
  1248	021413	254 00 0 00 020024 		JRST	SELECT		;YES, ABORT
  1249	021414	263 17 0 00 000000 		RTN			;NO, CONTINUE
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 35
SMMAG	MAC	11-Apr-79 13:04		TELETYPE  INPUT                                                                    SEQ 0063

  1250					;*USER MODE LH SWITCHES FOR CHAIN OPERATION
  1251
  1252	021415				LHSWS:	PMSG	<LH SWS - >^
  1253	021415	201 00 0 00 023632 		MOVEI	[SIXBIT\LH SWS - _\]
  1254	021416	260 17 0 00 021101 		PNTMSG^
  1255	021417	260 17 0 00 021423 		TTIOCT
  1256	021420	254 00 0 00 021415 		JRST	LHSWS
  1257	021421	516 00 0 00 020007 		HRLZM	0,CONSW
  1258	021422	263 17 0 00 000000 		RTN
  1259
  1260					;*TTIOCT - TELETYPE OCTAL NUMBER INPUT
  1261
  1262	021423	403 12 0 00 000013 	TTYOCT:	SETZB	DIGIT,DIGITA
  1263	021424	260 17 0 00 021325 	TTYOC1:	TTICHR			;INPUT A CHAR
  1264	021425	306 00 0 00 000012 		CAIN	12		;CR(LF), DONE
  1265	021426	254 00 0 00 021436 		JRST	TTYOC2
  1266
  1267	021427	301 00 0 00 000060 		CAIL	"0"		;A VALID DIGIT ?
  1268	021430	303 00 0 00 000067 		CAILE	"7"
  1269	021431	254 00 0 00 021440 		JRST	TTYOC3		;NO
  1270
  1271	021432	200 13 0 00 000000 		MOVE	DIGITA,0
  1272	021433	242 13 0 00 000041 		LSH	DIGITA,^D33
  1273	021434	246 12 0 00 000003 		LSHC	DIGIT,3		;INSERT NEW OCTAL
  1274	021435	254 00 0 00 021424 		JRST	TTYOC1
  1275
  1276	021436	200 00 0 00 000012 	TTYOC2:	MOVE	0,DIGIT		;PUT NUMBER IN AC0
  1277	021437	254 00 0 00 020406 		JRST	CPOPJ1
  1278
  1279	021440	336 00 0 00 020006 	TTYOC3:	SKIPN	USER
  1280	021441	263 17 0 00 000000 		RTN
  1281	021442	051 11 0 00 000000 		CLRBFI			;CLEAR INPUT
  1282	021443	263 17 0 00 000000 		RTN
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 36
SMMAG	MAC	11-Apr-79 13:04		TELETYPE  INPUT                                                                    SEQ 0064

  1283					;*READ - COMMAND FILE READ PROCESS
  1284
  1285	021444	332 00 0 00 024115 	READ:	SKIPE	DINFLG		;DEVICE COMMAND LIST
  1286	021445	254 00 0 00 020410 		JRST	DEVRD		;YES
  1287	021446	254 00 0 00 021325 		JRST	TTYIN		;TTY REQUESTED
  1288	021447	405 00 0 00 000177 	READ1:	ANDI	177
  1289	021450	306 00 0 00 000177 		CAIN	177
  1290	021451	263 17 0 00 000000 		RTN			;RUBOUT
  1291	021452	332 00 0 00 024133 		SKIPE	SCFLAG		;IN COMMENT ?
  1292	021453	254 00 0 00 021456 		JRST	.+3		;YES
  1293	021454	306 00 0 00 000040 		CAIN	40		;SPACE, CHANGE TO TAB
  1294	021455	201 00 0 00 000011 		MOVEI	11
  1295	021456	332 00 0 00 024113 		SKIPE	TAPEPF		;PRINT TAPE ?
  1296	021457	260 17 0 00 021166 		GO	PRINT		;YES
  1297	021460	301 00 0 00 000140 		CAIL	140		;CONVERT TO UPPER CASE
  1298	021461	620 00 0 00 000040 		TRZ	40
  1299	021462	306 00 0 00 000012 		CAIN	12		;IF LF IGNORE
  1300	021463	254 00 0 00 021444 		JRST	READ
  1301	021464	306 00 0 00 000014 		CAIN	14		;IF FF IGNORE
  1302	021465	254 00 0 00 021444 		JRST	READ
  1303	021466	306 00 0 00 000015 		CAIN	15		;IF CR CHANGE TO LF
  1304	021467	201 00 0 00 000012 		MOVEI	12
  1305	021470	254 00 0 00 021374 		JRST	TTYEXT
  1306
  1307					;*TTALTM - ALTMODE PROCESS
  1308
  1309	021471	476 00 0 00 024121 	TTALTM:	SETOM	ALTMFLG		;SET ALTMODE FLAG
  1310	021472	201 00 0 00 000044 		MOVEI	"$"		;PRINT $ CR/LF
  1311	021473	336 00 0 00 020006 		SKIPN	USER		;DON'T PRINT $ IF USER
  1312	021474	260 17 0 00 021166 		GO	PRINT
  1313	021475	260 17 0 00 021227 		GO	CRLF1
  1314	021476	201 00 0 00 000012 		MOVEI	12		;RETURN WITH LF
  1315	021477	263 17 0 00 000000 		RTN
  1316
  1317	021500	201 00 0 00 000011 	PNTTAB:	MOVEI	"	"
  1318	021501	254 00 0 00 021166 		JRST	PRINT		;PRINT A TAB & RTN
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 37
SMMAG	MAC	11-Apr-79 13:04		SPECIAL ROUTINES                                                                   SEQ 0065

  1319					SUBTTL	SPECIAL ROUTINES
  1320
  1321					;*SWITCH - READ CONSOLE SWITCHES
  1322
  1323	021502				$SWITCH:
  1324	021502	200 00 0 00 020007 	$SWU:	MOVE	0,CONSW		;GET STORED SWITCHES
  1325	021503	263 17 0 00 000000 		RTN
  1326
  1327					;*SMINT - SM10 INITIALIZATION
  1328
  1329	021504	332 00 0 00 020006 	SMINT:	SKIPE	USER
  1330	021505	263 17 0 00 000000 		RTN
  1331
  1332	021506	200 00 0 00 023634 		MOVE	[540000,,540001]	;SET UP PAGE TABLES
  1333	021507	205 01 0 00 777620 		MOVSI	1,-160		;TO RESET CONDITION
  1334	021510	202 00 0 01 000600 		MOVEM	600(1)
  1335	021511	270 00 0 00 023613 		ADD	[2,,2]		;SO PAGING
  1336	021512	253 01 0 00 021510 		AOBJN	1,.-2		;CAN BE TURNED ON
  1337
  1338	021513	205 00 0 00 255000 		MOVSI	(JFCL)
  1339	021514	202 00 0 00 000421 		MOVEM	421		;NO-OP ARITMETIC TRAP
  1340
  1341	021515	264 00 0 00 021524 		CTYINI			;INITIALIZE CTY
  1342
  1343	021516	263 17 0 00 000000 		RTN
  1344
  1345	021517	264 00 0 00 021562 	SMTYI:	BTYTYI			;GET INPUT CHAR
  1346	021520	254 00 0 00 021517 		JRST	.-1		;NO, WAIT FOR IT
  1347	021521	254 04 0 00 021521 		HALT	.
  1348	021522	322 00 0 00 021517 		JUMPE	0,SMTYI
  1349	021523	263 17 0 00 000000 		RTN
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 38
SMMAG	MAC	11-Apr-79 13:04		SPECIAL ROUTINES                                                                   SEQ 0066

  1350					;*CTY CONTROL ROUTINES
  1351
  1352	021524	000000	000000		$TYINI:	0
  1353	021525	402 00 0 00 000032 		SETZM	$80CIW		;CLEAR INPUT WORD
  1354	021526	402 00 0 00 000033 		SETZM	$80COW		;CLEAR OUTPUT WORD
  1355	021527	402 00 0 00 000034 		SETZM	$80KIW		;CLEAR INPUT WORD
  1356	021530	402 00 0 00 000035 		SETZM	$80KOW		;CLEAR OUTPUT WORD
  1357	021531	402 00 0 00 024024 		SETZM	MMFLAG#
  1358	021532	200 00 0 00 000031 		MOVE	0,$80STAT	;GET CONSOLE STATUS WORD
  1359	021533	603 00 0 00 000020 		TLNE	0,($80MM)	;MAINTENANCE MODE BIT SET ?
  1360	021534	476 00 0 00 024024 		SETOM	MMFLAG		;YES, SET TTY IN MAINT MODE
  1361	021535	254 00 1 00 021524 		JRST	@$TYINI
  1362
  1363	021536	000000	000000		$TYCLR:	0
  1364	021537	254 00 1 00 021536 		JRST	@$TYCLR		;NOTHING REQUIRED
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 39
SMMAG	MAC	11-Apr-79 13:04		SPECIAL ROUTINES                                                                   SEQ 0067

  1365
  1366	021540	000000	000000		$CYTYI:	0
  1367	021541	200 00 0 00 000032 		MOVE	0,$80CIW	;GET INPUT WORD
  1368	021542	606 00 0 00 000400 		TRNN	0,$80CHR	;CHAR FLAG BIT SET ?
  1369	021543	254 00 1 00 021540 		JRST	@$CYTYI		;NO
  1370
  1371	021544	402 00 0 00 000032 		SETZM	$80CIW		;CLEAR INPUT WORD
  1372	021545	405 00 0 00 000177 		ANDI	0,177
  1373
  1374	021546	350 00 0 00 021540 		AOS	$CYTYI
  1375	021547	350 00 0 00 021540 		AOS	$CYTYI
  1376	021550	254 00 1 00 021540 		JRST	@$CYTYI		;DOUBLE SKIP RETURN, CHAR IN AC0
  1377
  1378	021551	000000	000000		$KYTYI:	0
  1379	021552	200 00 0 00 000034 		MOVE	0,$80KIW	;GET INPUT WORD
  1380	021553	606 00 0 00 000400 		TRNN	0,$80CHR	;CHAR FLAG BIT SET ?
  1381	021554	254 00 1 00 021551 		JRST	@$KYTYI		;NO
  1382
  1383	021555	402 00 0 00 000034 		SETZM	$80KIW		;CLEAR INPUT WORD
  1384	021556	405 00 0 00 000177 		ANDI	0,177
  1385
  1386	021557	350 00 0 00 021551 		AOS	$KYTYI
  1387	021560	350 00 0 00 021551 		AOS	$KYTYI
  1388	021561	254 00 1 00 021551 		JRST	@$KYTYI		;DOUBLE SKIP RETURN, CHAR IN AC0
  1389
  1390	021562	000000	000000		$BYTYI:	0
  1391	021563	264 00 0 00 021540 		CTYTYI			;ANY CTY INPUT ?
  1392	021564	254 00 0 00 021571 		JRST	.+5		;NO
  1393	021565	254 04 0 00 021565 		HALT	.
  1394	021566	350 00 0 00 021562 		AOS	$BYTYI
  1395	021567	350 00 0 00 021562 		AOS	$BYTYI
  1396	021570	254 00 1 00 021562 		JRST	@$BYTYI		;DOUBLE SKIP RETURN, CHAR IN AC0
  1397	021571	264 00 0 00 021551 		KTYTYI			;ANY KLINIK INPUT ?
  1398	021572	254 00 1 00 021562 		JRST	@$BYTYI		;NO
  1399	021573	254 04 0 00 021573 		HALT	.
  1400	021574	254 00 0 00 021566 		JRST	.-6
  1401
  1402	021575	000000	000000		$COMTI:	0
  1403	021576	332 00 0 00 024024 		SKIPE	MMFLAG		;IN MAINTENANCE MODE ?
  1404	021577	254 00 0 00 021606 		JRST	.+7		;YES
  1405
  1406	021600	264 00 0 00 021540 		CTYTYI			;ANY CTY INPUT ?
  1407	021601	254 00 1 00 021575 		JRST	@$COMTI		;NO
  1408	021602	254 04 0 00 021602 		HALT	.
  1409	021603	350 00 0 00 021575 		AOS	$COMTI
  1410	021604	350 00 0 00 021575 		AOS	$COMTI
  1411	021605	254 00 1 00 021575 		JRST	@$COMTI		;DOUBLE SKIP RETURN, CHAR IN AC0
  1412
  1413	021606	264 00 0 00 021551 		KTYTYI			;ANY KLINIK INPUT ?
  1414	021607	254 00 1 00 021575 		JRST	@$COMTI		;NO
  1415	021610	254 04 0 00 021610 		HALT	.
  1416	021611	350 00 0 00 021575 		AOS	$COMTI
  1417	021612	350 00 0 00 021575 		AOS	$COMTI
  1418	021613	254 00 1 00 021575 		JRST	@$COMTI		;DOUBLE SKIP RETURN, CHAR IN AC0
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 40
SMMAG	MAC	11-Apr-79 13:04		SPECIAL ROUTINES                                                                   SEQ 0068

  1419
  1420	021614	000000	000000		$CYTYO:	0
  1421	021615	660 00 0 00 000400 		TRO	0,$80CHR	;SET FLAG BIT
  1422	021616	202 00 0 00 000033 		MOVEM	0,$80COW	;PUT IN COMM AREA
  1423	021617	7 000 24 0 00 000000 		CONI	APR,0		;GET PRESENT APR
  1424	021620	405 00 0 00 000007 		ANDI	7		;KEEP PI ASSIGNMENT
  1425	021621	660 00 0 00 012000 		TRO	$80INT		;SET INTERRUPT 8080
  1426	021622	7 000 20 1 00 000000 		CONO	APR,@0		;INTERRUPT 8080
  1427	021623	200 00 0 00 000033 		MOVE	0,$80COW	;GET OUTPUT WORD
  1428	021624	602 00 0 00 000400 		TRNE	0,$80CHR	;8080 SENT THIS CHAR ?
  1429	021625	254 00 0 00 021623 		JRST	.-2		;NO, WAIT
  1430	021626	254 00 1 00 021614 		JRST	@$CYTYO		;YES
  1431
  1432	021627	000000	000000		$KYTYO:	0
  1433	021630	660 00 0 00 000400 		TRO	0,$80CHR	;SET FLAG BIT
  1434	021631	202 00 0 00 000035 		MOVEM	0,$80KOW	;PUT IN COMM AREA
  1435	021632	7 000 24 0 00 000000 		CONI	APR,0		;GET PRESENT APR
  1436	021633	405 00 0 00 000007 		ANDI	7		;KEEP PI ASSIGNMENT
  1437	021634	660 00 0 00 012000 		TRO	$80INT		;SET INTERRUPT 8080
  1438	021635	7 000 20 1 00 000000 		CONO	APR,@0		;INTERRUPT 8080
  1439	021636	200 00 0 00 000035 		MOVE	0,$80KOW	;GET OUTPUT WORD
  1440	021637	602 00 0 00 000400 		TRNE	0,$80CHR	;8080 SENT THIS CHAR ?
  1441	021640	254 00 0 00 021636 		JRST	.-2		;NO, WAIT
  1442	021641	254 00 1 00 021627 		JRST	@$KYTYO		;YES
  1443
  1444	021642	000000	000000		$BYTYO:	0
  1445	021643	202 00 0 00 024050 		MOVEM	0,$BYTYC#	;SAVE OUTPUT CHAR
  1446	021644	264 00 0 00 021614 		CTYTYO			;OUTPUT CHAR TO CTY
  1447	021645	200 00 0 00 024050 		MOVE	0,$BYTYC	;GET OUTPUT CHAR
  1448	021646	332 00 0 00 024024 		SKIPE	MMFLAG		;IN MAINTENANCE MODE ?
  1449	021647	264 00 0 00 021627 		KTYTYO			;YES, OUTPUT CHAR TO KLINIK
  1450	021650	254 00 1 00 021642 		JRST	@$BYTYO
  1451
  1452	021651	000000	000000		$COMTO:	0
  1453	021652	332 00 0 00 024024 		SKIPE	MMFLAG		;IN MAINTENANCE MODE ?
  1454	021653	254 00 0 00 021656 		JRST	.+3		;YES
  1455	021654	264 00 0 00 021614 		CTYTYO			;OUTPUT CHAR TO CTY
  1456	021655	254 00 1 00 021651 		JRST	@$COMTO
  1457	021656	264 00 0 00 021627 		KTYTYO			;OUTPUT CHAR TO KLINIK
  1458	021657	254 00 1 00 021651 		JRST	@$COMTO
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 41
SMMAG	MAC	11-Apr-79 13:04		SPECIAL ROUTINES                                                                   SEQ 0069

  1459					;*AC USAGE
  1460
  1461			000000		F=	0			;FLAGS
  1462
  1463			000001		T1=	1			;TEMP
  1464			000002		T2=	2
  1465			000003		T3=	3
  1466			000004		T4=	4
  1467
  1468			000005		Q1=	5			;GENERALLY HOLDS A SINGLE CHAR
  1469			000006		Q2=	6			;BYTE POINTER TO INPUT STRING
  1470			000007		Q3=	7			;BYTE POINTER TO OUTPUT STRING
  1471
  1472			000010		P1=	10			;PRESERVED
  1473			000011		P2=	11
  1474			000012		P3=	12			;A NUMBER
  1475			000013		P4=	13			;DESTINATION POINTER (DISK ADR, BYTE POINTER)
  1476			000014		P5=	14			;DISK ADR OR PARSER STATE
  1477
  1478			000015		PNT=	15
  1479			000016		PNT1=	16
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 42
SMMAG	MAC	11-Apr-79 13:04		DEVICE SELECTION                                                                   SEQ 0070

  1480					SUBTTL	DEVICE SELECTION
  1481
  1482		260740	022013		OPDEF	TTSIXB	[PUSHJ P,TTYSXB]
  1483		047000	000154		OPDEF	TAPOP.	[CALLI 154]
  1484
  1485					;*AUTOSL - EXEC AUTOMATICALLY SELECT DEVICE
  1486
  1487	021660	260 17 0 00 021707 	AUTOSL:	GO	DEVSXX		;INIT FLAGS
  1488	021661	336 00 0 00 020006 		SKIPN	USER
  1489	021662	254 00 0 00 023144 		JRST	AUTORH		;EXEC - AUTO SELECT DRIVE
  1490
  1491					;*DEVSEL - ASK WHICH DEVICE
  1492
  1493	021663	260 17 0 00 021707 	DEVSEL:	GO	DEVSXX		;INIT FLAGS
  1494	021664	336 00 0 00 020006 		SKIPN	USER		;SKIP IF USER MODE
  1495	021665	254 00 0 00 021753 		JRST	EXECDV		;NO
  1496						PMSG	<^DEV:(CR FOR DSK) - >^
  1497	021666	201 00 0 00 023635 		MOVEI	[SIXBIT\^DEV:(CR FOR DSK) - _\]
  1498	021667	260 17 0 00 021101 		PNTMSG^
  1499	021670	260 17 0 00 022013 		TTSIXB			;INPUT DEVICE NAME
  1500	021671	254 00 0 00 021666 		JRST	.-3		;ASK AGAIN
  1501	021672	326 06 0 00 021714 		JUMPN	LET,USRMAG	;IF NAME TYPED, MUST BE A MAGTAPE
  1502	021673	402 00 0 00 024022 		SETZM	MAGDEV		;CLEAR MAGTAPE DEVICE FLAG
  1503	021674	205 00 0 00 446353 		MOVSI	'DSK'		;SET UP DEVICE AS DSK
  1504	021675	202 00 0 00 024225 		MOVEM	LDBLK+1		;PUT IN OPEN INFO BLOCK
  1505	021676	200 00 0 00 023641 		MOVE	[201,,LDBF1+1]	;SET UP DATA BUFFER
  1506	021677	202 00 0 00 024776 		MOVEM	LDBF+1		;IN A RING OF THREE BUFFERS
  1507	021700	541 00 0 00 025404 		HRRI	LDBF2+1
  1508	021701	202 00 0 00 025201 		MOVEM	LDBF1+1
  1509	021702	541 00 0 00 024776 		HRRI	LDBF+1
  1510	021703	202 00 0 00 025404 		MOVEM	LDBF2+1
  1511	021704	201 00 0 00 022731 		MOVEI	UREADB		;SET UP READ BLOCK DISPATCH
  1512	021705	202 00 0 00 024143 		MOVEM	READBL		;TO USER MODE READ ROUTINE
  1513	021706	263 17 0 00 000000 		RTN
  1514
  1515	021707	476 00 0 00 024022 	DEVSXX:	SETOM	MAGDEV#		;SET MAGTAPE DEVICE FLAG
  1516	021710	201 00 0 00 777777 		MOVEI	-1		;SET MAGTAPE POSITION FLAG
  1517	021711	202 00 0 00 024023 		MOVEM	MAGONCE#	;TO TAPE POSITION UNKNOWN
  1518	021712	402 00 0 00 026001 		SETZM	TAB+1		;MARK DIRECTORY EMPTY
  1519	021713	263 17 0 00 000000 		RTN
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 43
SMMAG	MAC	11-Apr-79 13:04		DEVICE SELECTION                                                                   SEQ 0071

  1520					;*USRMAG - SELECT USER MODE MAGTAPE DEVICE OR DISK
  1521
  1522			000016		LDCHN=	16			;USER LOAD CHANNEL
  1523
  1524	021714	202 06 0 00 024225 	USRMAG:	MOVEM	LET,LDBLK+1	;PUT NAME IN LDBLK
  1525	021715	050 16 0 00 024224 		OPEN	LDCHN,LDBLK	;OPEN DEVICE
  1526	021716	254 00 0 00 021663 		JRST	DEVSEL		;DEVICE NOT AVAILABLE
  1527	021717	201 00 0 00 000016 		MOVEI	LDCHN		;GET CHANNEL NUMBER
  1528	021720	047 00 0 00 000112 		MTCHR.			;READ CHARACTERISTICS OF DEVICE
  1529	021721	254 00 0 00 021663 		JRST	DEVSEL		;DEVICE NOT A MAGNETIC TAPE
  1530	021722	201 00 0 00 000003 		MOVEI	3		;GET CODE FOR 800 BPI
  1531	021723	202 00 0 00 024151 		MOVEM	TAPEDC		;STORE IT
  1532	021724	602 00 0 00 000020 		TRNE	1B31		;CHECK IF 7-TRACK
  1533	021725	254 00 0 00 021736 		JRST	DEN800		;7-TRACK, MUST BE 800 BPI
  1534						MOVE	[XWD 2,[1002	;READ CONTROLLER TYPE CODE
  1535	021726	200 00 0 00 023644 				LDCHN ]]	;  FOR MAGTAPE
  1536	021727	047 00 0 00 000154 		TAPOP.			;OBTAIN THE CODE
  1537	021730	254 00 0 00 021734 		JRST	WHDEN		;ERROR, ASK ANYWAY
  1538	021731	321 00 0 00 021734 		JUMPL	WHDEN		;IF NEGATIVE, ASK FOR DENSITY
  1539	021732	307 00 0 00 000003 		CAIG	3		;IF TM10, DENSITY MUST BE 800
  1540									;IF DX10, DON'T CARE ABOUT DENSITY
  1541	021733	254 00 0 00 021736 		JRST	DEN800		;DON'T ASK
  1542	021734	260 17 0 00 021744 	WHDEN:	GO	ASKDEN		;ASK WHICH DENSITY
  1543	021735	350 00 0 00 024151 		AOS	TAPEDC		;SET DENSITY CODE TO 1600 BPI
  1544	021736	071 16 0 00 000000 	DEN800:	RELEASE LDCHN,		;RELEASE THE CHANNEL
  1545	021737	200 00 0 00 023645 		MOVE	[MAGRCD+1,,LDBF+1]	;SET UP USER BUFFER
  1546	021740	202 00 0 00 024776 		MOVEM	LDBF+1		; A RING OF ONLY ONE BUFFER
  1547	021741	200 00 0 00 023652 		MOVE	[[EXP UREADB,UREVRS,UFORWD,UREW],,READBL]	;LOAD
  1548	021742	251 00 0 00 024146 		BLT	REW		;DISPATCH LOCATIONS FOR USER ROUTINES
  1549	021743	263 17 0 00 000000 		RTN			;RETURN
  1550
  1551	021744				ASKDEN:	PMSG	<1600 BPI ? - >^
  1552	021744	201 00 0 00 023653 		MOVEI	[SIXBIT\1600 BPI ? - _\]
  1553	021745	260 17 0 00 021101 		PNTMSG^
  1554	021746	260 17 0 00 020213 		GO	TT2CHR		;LOOK FOR YES ANSWER
  1555	021747	254 00 0 00 021752 		JRST	.+3		;CARRIAGE RETURN ONLY, SAME AS YES
  1556	021750	302 00 0 00 000131 		CAIE	"Y"		;SKIP IF Y TYPED
  1557	021751	350 00 0 17 000000 		AOS	(P)		;CAUSE SKIP RETURN
  1558	021752	263 17 0 00 000000 		RTN
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 44
SMMAG	MAC	11-Apr-79 13:04		DEVICE SELECTION                                                                   SEQ 0072

  1559					;*EXECDV - EXEC MODE DEVICE NUMBER INPUT
  1560
  1561	021753				EXECDV:	PMSG	<^UBA # - >^
  1562	021753	201 00 0 00 023656 		MOVEI	[SIXBIT\^UBA # - _\]
  1563	021754	260 17 0 00 021101 		PNTMSG^
  1564	021755	260 17 0 00 021423 		TTIOCT
  1565	021756	254 00 0 00 021753 		JRST	EXECDV
  1566	021757	306 00 0 00 000000 		CAIN	0,0
  1567	021760	254 00 0 00 022003 		JRST	EXEDV0		;0 = UBA 3, RH ADR 772440
  1568	021761	306 00 0 00 000001 		CAIN	0,1
  1569	021762	254 00 0 00 022005 		JRST	EXEDV1		;1 = UBA 1, RH ADR 772440
  1570	021763	306 00 0 00 000002 		CAIN	0,2
  1571	021764	254 00 0 00 022007 		JRST	EXEDV2		;2 = UBA 2, RH ADR 772440
  1572	021765	306 00 0 00 000003 		CAIN	0,3
  1573	021766	254 00 0 00 022011 		JRST	EXEDV3		;3 = UBA 3, RH ADR 772440
  1574
  1575	021767	260 17 0 00 021771 	EXEDVX:	GO	EXEDXX		;SETUP INDIRECT POINTER TABLE
  1576	021770	254 00 0 00 023117 		JRST	RH11DV
  1577
  1578	021771	200 01 0 00 022002 	EXEDXX:	MOVE	A,MTPNTR
  1579	021772	202 00 0 01 000000 		MOVEM	(A)		;SETUP INDIRECT POINTER TABLE
  1580	021773	271 00 0 00 000002 		ADDI	2
  1581	021774	253 01 0 00 021772 		AOBJN	A,.-2
  1582	021775	201 00 0 00 763000 		MOVEI	MTUBP0
  1583	021776	542 00 0 00 023402 		HRRM	UNBMP0		;SETUP INDIRECT UNIBUS MAP POINTER
  1584	021777	201 00 0 00 040000 		MOVEI	UNVBIT
  1585	022000	542 00 0 00 023220 		HRRM	$MSUVB		;SET PROPER UNIBUS VALID BIT
  1586	022001	263 17 0 00 000000 		RTN
  1587
  1588	022002	777761	023364		MTPNTR:	-^D15,,MTCS1
  1589
  1590	022003	200 00 0 00 023660 	EXEDV0:	MOVE	[3,,772440]
  1591	022004	254 00 0 00 021767 		JRST	EXEDVX
  1592	022005	200 00 0 00 023661 	EXEDV1:	MOVE	[1,,772440]
  1593	022006	254 00 0 00 021767 		JRST	EXEDVX
  1594	022007	200 00 0 00 023662 	EXEDV2:	MOVE	[2,,772440]
  1595	022010	254 00 0 00 021767 		JRST	EXEDVX
  1596	022011	200 00 0 00 023660 	EXEDV3:	MOVE	[3,,772440]
  1597	022012	254 00 0 00 021767 		JRST	EXEDVX
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 45
SMMAG	MAC	11-Apr-79 13:04		DEVICE SELECTION                                                                   SEQ 0073

  1598					;*TTSIXB - INPUT SIXBIT WORD
  1599
  1600	022013	400 06 0 00 000000 	TTYSXB:	SETZ	LET,		;CLEAR LETTER AC
  1601	022014	260 17 0 00 021325 		TTICHR			;INPUT ONE CHARACTER
  1602	022015	306 00 0 00 000072 		CAIN	":"
  1603	022016	254 00 0 00 022014 		JRST	TTYSXB+1
  1604	022017	306 00 0 00 000012 		CAIN	12		;RETURN +2 IF CARRIAGE RETURN
  1605	022020	254 00 0 00 022036 		JRST	TTYSXX
  1606	022021	301 00 0 00 000060 		CAIL	"0"		;CHECK IF CHARACTER
  1607	022022	303 00 0 00 000132 		CAILE	"Z"		;  IS A LETTER OR DIGIT
  1608	022023	263 17 0 00 000000 		RTN			;NO
  1609	022024	307 00 0 00 000071 		CAIG	"9"		;KEEP CHECKING
  1610	022025	254 00 0 00 022030 		JRST	.+3
  1611	022026	305 00 0 00 000101 		CAIGE	"A"
  1612	022027	263 17 0 00 000000 		RTN
  1613	022030	603 06 0 00 770000 		TLNE	LET,770000	;SIX CHARACTERS ALREADY INPUT?
  1614	022031	263 17 0 00 000000 		RTN			;YES, GIVE ERROR RETURN
  1615	022032	275 00 0 00 000040 		SUBI	40		;CONVERT TO SIXBIT
  1616	022033	242 06 0 00 000006 		LSH	LET,6		;SHIFT PREVIOUS LETTERS
  1617	022034	436 00 0 00 000006 		ORM	LET		;OR WITH THIS LETTER
  1618	022035	254 00 0 00 022014 		JRST	TTYSXB+1	;GET NEXT
  1619	022036	322 06 0 00 020406 	TTYSXX:	JUMPE	LET,CPOPJ1	;RETURN NOW IF NO LETTERS TYPED
  1620	022037	603 06 0 00 770000 		TLNE	LET,770000	;LEFT JUSTIFY INPUT LETTERS
  1621	022040	254 00 0 00 020406 		JRST	CPOPJ1		;RETURN +2
  1622	022041	242 06 0 00 000006 		LSH	LET,6		;SHIFT LEFT
  1623	022042	254 00 0 00 022036 		JRST	TTYSXX		;CHECK AGAIN
  1624
  1625
  1626	022043				UNIT:	PMSG	<DRIVE & SLAVE ## - >^
  1627	022043	201 00 0 00 023663 		MOVEI	[SIXBIT\DRIVE & SLAVE ## - _\]
  1628	022044	260 17 0 00 021101 		PNTMSG^
  1629	022045	260 17 0 00 021423 		TTIOCT			;GET UNIT NUMBER
  1630	022046	254 00 0 00 021753 		JRST	EXECDV		;ERROR
  1631	022047	263 17 0 00 000000 		RTN
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 46
SMMAG	MAC	11-Apr-79 13:04		DEVICE SELECTION                                                                   SEQ 0074

  1632					;*LIST1 - LIST FILES
  1633
  1634	022050	476 00 0 00 024117 	LIST1:	SETOM	LSTFLG
  1635	022051	254 00 0 00 020153 		JRST	RUNPRG
  1636
  1637					;*DIRECT - PRINT DIRECTORY
  1638
  1639	022052	336 00 0 00 024022 	DIRECT:	SKIPN	MAGDEV		;ILLEGAL FOR DSK
  1640	022053	254 00 0 00 020024 		JRST	SELECT
  1641	022054	476 00 0 00 024112 		SETOM	PGMGO		;SET LOAD AND GO FLAG
  1642	022055	260 17 0 00 021502 		SWITCH
  1643	022056	603 00 0 00 020000 		TLNE	LPTSW
  1644	022057	476 00 0 00 024116 		SETOM	LPTFLG
  1645	022060	264 00 0 00 021536 		CTYCLR
  1646						MOVEI	IP,[SIXBIT/SMTAPE/
  1647	022061	201 16 0 00 023667 			    SIXBIT/MTA/]	;SET UP DIRECTORY NAME
  1648	022062	476 00 0 00 024120 		SETOM	DIRFLG		;SET PRINTING DIRECTORY FLAG
  1649	022063	260 17 0 00 022132 		GO	DIAGLD		;SET UP THE FILE
  1650	022064	254 00 0 00 020024 		JRST	SELECT		;FILE NOT FOUND
  1651	022065	260 17 0 00 022615 	DIRPNT:	GO	RWORD		;READ FIRST WORD OF FILE
  1652	022066	254 00 0 00 020024 		JRST	SELECT		;NO WORDS IN FILE
  1653	022067	260 17 0 00 021227 	DIRLIN:	GO	CRLF1		;PRINT A CARRIAGE RETURN, LINE FEED
  1654	022070	201 07 0 00 000004 		MOVEI	M,4		;SET UP ENTRIES PER LINE COUNTER
  1655	022071	332 00 0 00 024116 		SKIPE	LPTFLG		;SKIP IF OUTPUTTING TO LINE PRINTER
  1656	022072	201 07 0 00 000010 		MOVEI	M,8		;YES, SET COUNT TO 8
  1657	022073	260 17 0 00 022615 	DIRFIL:	GO	RWORD		;READ FILE NAME
  1658	022074	254 00 0 00 022113 		JRST	DIREND		;END OF FILE
  1659	022075	607 04 0 00 770000 		TLNN	W,770000	;CHECK IF A FILE NAME
  1660	022076	254 00 0 00 022115 		JRST	DIRRCD		;NO, MUST BE END OF RECORD
  1661	022077	200 01 0 00 000004 		MOVE	A,W		;MOVE WORD TO A
  1662	022100	260 17 0 00 020332 		GO	SIXBP		;PRINT IT
  1663	022101	260 17 0 00 021500 		GO	PNTTAB		;PRINT A TAB
  1664	022102	260 17 0 00 022615 		GO	RWORD		;READ EXTENSION
  1665	022103	254 00 0 00 022113 		JRST	DIREND		;END OF FILE
  1666	022104	510 01 0 00 000004 		HLLZ	A,W		;MOVE WORD TO A
  1667	022105	260 17 0 00 020332 		GO	SIXBP		;PRINT IT
  1668	022106	260 17 0 00 022615 		GO	RWORD		;READ NEXT WORD
  1669	022107	254 00 0 00 022113 		JRST	DIREND		;END OF FILE
  1670	022110	363 07 0 00 022067 		SOJLE	M,DIRLIN	;END OF LINE?
  1671	022111	260 17 0 00 021500 		GO	PNTTAB		;NO, PRINT A TAB
  1672	022112	254 00 0 00 022073 		JRST	DIRFIL		;PRINT NEXT FILE NAME
  1673	022113	260 17 0 00 021227 	DIREND:	GO	CRLF1		;END THE LINE
  1674	022114	254 00 0 00 020024 		JRST	SELECT		;END OF DIRECTORY
  1675	022115	603 04 0 00 777777 	DIRRCD:	TLNE	W,-1		;ABSOLUTE END OF DIRECTORY FILE?
  1676	022116	254 00 0 00 022113 		JRST	DIREND		;YES
  1677	022117	202 07 0 00 024035 		MOVEM	M,SAVEM#
  1678	022120	260 17 0 00 022615 		GO	RWORD		;NO, READ HEADER WORD FROM NEXT RECORD
  1679	022121	254 00 0 00 022113 		JRST	DIREND		;END OF FILE
  1680	022122	200 07 0 00 024035 		MOVE	M,SAVEM
  1681	022123	254 00 0 00 022073 		JRST	DIRFIL		;PRINT THIS FILE NAME
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 47
SMMAG	MAC	11-Apr-79 13:04		PROGRAM FILE SELECTION                                                             SEQ 0075

  1682					SUBTTL	PROGRAM FILE SELECTION
  1683
  1684					;*FSELECT - "SUBRTN" FILE SELECTION
  1685
  1686	022124	476 00 0 00 024044 	FSELECT:SETOM	SPECIAL#	;SET SPECIAL MODE
  1687	022125	402 00 0 00 024031 		SETZM	NOCMNT
  1688	022126	202 00 0 00 000016 		MOVEM	0,IP		;SET POINTER TO FILE SPEC
  1689	022127	254 00 0 00 022134 		JRST	DIAGLD+2
  1690
  1691					;*DIAGLD - "DIAMON" FILE SELECTION
  1692
  1693	022130	476 00 0 00 024031 		SETOM	NOCMNT#		;INHIBIT COMMENT PRINTING
  1694	022131	254 00 0 00 022133 		JRST	.+2
  1695	022132	402 00 0 00 024031 	DIAGLD:	SETZM	NOCMNT
  1696	022133	402 00 0 00 024044 		SETZM	SPECIAL		;SET NORMAL MODE
  1697	022134	402 00 0 00 024000 		SETZM	A10FLG#
  1698	022135	402 00 0 00 024016 		SETZM	LDEVICE#
  1699	022136	402 00 0 00 024005 		SETZM	CMDFLG#
  1700
  1701	022137	554 00 0 16 000001 		HLRZ	0,1(IP)
  1702	022140	306 00 0 00 412120 		CAIN	0,(SIXBIT/A10/)
  1703	022141	476 00 0 00 024000 		SETOM	A10FLG
  1704
  1705	022142	332 00 0 00 020006 	DIAGLA:	SKIPE	USER		;SKIP IF EXEC MODE
  1706	022143	254 00 0 00 022657 		JRST	USERLD		;LOAD FROM DSK
  1707
  1708	022144	254 00 0 00 023015 		JRST	EXECLD		;LOAD EXEC
  1709
  1710	022145	263 17 0 00 000000 	STOP:	RTN			;NO ACTION NEEDED TO STOP A MAGTAPE
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 48
SMMAG	MAC	11-Apr-79 13:04		PROGRAM FILE SELECTION                                                             SEQ 0076

  1711					;*RFILE - FILE FOUND AND SETUP
  1712
  1713	022146	402 00 0 00 000005 	RFILE:	SETZM	Q		;CLEAR FILE READ WORD COUNTER
  1714	022147	201 07 0 00 000005 		MOVEI	M,5		;SET LDACHR BYTE COUNTER
  1715	022150	476 00 0 00 024011 		SETOM	FBSAV#		;SET 8 BIT READ FILE BYTE COUNTER
  1716	022151	202 07 0 00 024035 		MOVEM	M,SAVEM
  1717	022152	202 13 0 00 024033 		MOVEM	13,SAV13#
  1718	022153	202 14 0 00 024034 		MOVEM	14,SAV14#
  1719	022154	336 00 0 00 024044 		SKIPN	SPECIAL		;FILE FOUND
  1720	022155	254 00 0 00 022572 		JRST	RFILE1		;NORMAL OPERATION
  1721
  1722					;*FSELF - "SUBRTN" FILE FOUND RETURN
  1723
  1724	022156	202 00 0 00 024200 	FSELF:	MOVEM	0,ACSAVE	;SAVE ACS
  1725	022157	200 00 0 00 023671 		MOVE	0,[1,,ACSAVE+1]
  1726	022160	251 00 0 00 024216 		BLT	ACSAVE+16
  1727	022161	200 00 0 00 024016 		MOVE	0,LDEVICE	;RETURN DEVICE TYPE
  1728	022162	350 00 0 17 000000 		AOS	(P)
  1729	022163	263 17 0 00 000000 		RTN			;SKIP RETURN TO "SUBRTN"
  1730
  1731					;*NFERR - FILE NOT FOUND
  1732
  1733	022164	336 00 0 00 024044 	NFERR:	SKIPN	SPECIAL		;NOT FOUND
  1734	022165	254 00 0 00 023472 		JRST	NFERR1		;NORMAL OPERATION
  1735
  1736					;*FSELNF - "SUBRTN" FILE NOT FOUND
  1737
  1738	022166	200 00 0 00 024016 	FSELNF:	MOVE	0,LDEVICE	;"FSELECT" - NOT FOUND
  1739	022167	263 17 0 00 000000 		RTN			;NON-SKIP, ERROR RETURN
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 49
SMMAG	MAC	11-Apr-79 13:04		"SUBRTN" PROGRAM FILE READ                                                         SEQ 0077

  1740					SUBTTL	"SUBRTN" PROGRAM FILE READ
  1741
  1742					;*FREAD - DETERMINE READ TYPE
  1743
  1744	022170	202 00 0 00 024012 	FREAD:	MOVEM	0,FRDTYP#
  1745	022171	204 00 0 00 023671 		MOVS	[1,,ACSAVE+1]
  1746	022172	251 00 0 00 000016 		BLT	16		;RESTORE "DIAMON" ACS
  1747	022173	200 00 0 00 024200 		MOVE	ACSAVE
  1748	022174	335 00 0 00 024012 		SKIPGE	FRDTYP
  1749	022175	254 00 0 00 022212 		JRST	FRD36		;READ 36 BIT WORDS
  1750	022176	332 00 0 00 024012 		SKIPE	FRDTYP
  1751	022177	254 00 0 00 022242 		JRST	FRD8		;READ 8 BIT WORDS
  1752
  1753					;*FREAD3 - CHARACTER READ
  1754
  1755	022200	260 17 0 00 022216 	FREAD3:	GO	LDACHR		;LOAD AN ASCII CHARACTER
  1756	022201	254 00 0 00 022210 		JRST	FREAD2		;EOF
  1757
  1758	022202	202 00 0 00 024200 	FREAD1:	MOVEM	0,ACSAVE	;RESAVE "DIAMON" ACS
  1759	022203	200 00 0 00 023671 		MOVE	0,[1,,ACSAVE+1]
  1760	022204	251 00 0 00 024216 		BLT	ACSAVE+16
  1761
  1762	022205	200 00 0 00 000016 		MOVE	0,16		;PUT ASCII BYTE IN AC0
  1763	022206	350 00 0 17 000000 		AOS	(P)
  1764	022207	263 17 0 00 000000 		RTN			;SKIP RETURN
  1765
  1766					;*FREAD2 - END OF FILE
  1767
  1768	022210	402 00 0 00 000000 	FREAD2:	SETZM	0		;EOF CODE = 0
  1769	022211	263 17 0 00 000000 		RTN			;NON-SKIP RETURN
  1770
  1771					;*FRD36 - 36 BIT WORD READ
  1772
  1773	022212	260 17 0 00 022615 	FRD36:	GO	RWORD		;READ 36 BIT WORDS
  1774	022213	254 00 0 00 022210 		JRST	FREAD2		;EOF
  1775	022214	200 16 0 00 000004 		MOVE	16,W		;PUT 36 BIT WORD IN AC16
  1776	022215	254 00 0 00 022202 		JRST	FREAD1		;REST AS ABOVE
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 50
SMMAG	MAC	11-Apr-79 13:04		"SUBRTN" PROGRAM FILE READ                                                         SEQ 0078

  1777					;*LDACHR - ASCII CHARACTER PROCESS
  1778
  1779	022216	302 07 0 00 000005 	LDACHR:	CAIE	M,5		;USED ALL OF THIS 36 BIT WORD ?
  1780	022217	254 00 0 00 022231 		JRST	LDACH1		;NOT YET
  1781	022220	402 00 0 00 000007 		SETZM	M		;YES, READ NEXT 36 BIT WORD
  1782	022221	250 07 0 00 024035 		EXCH	M,SAVEM
  1783	022222	250 13 0 00 024033 		EXCH	13,SAV13
  1784	022223	250 14 0 00 024034 		EXCH	14,SAV14
  1785	022224	260 17 0 00 022615 		GO	RWORD
  1786	022225	254 00 0 00 022236 		JRST	LDAEOF		;EOF
  1787	022226	250 13 0 00 024033 		EXCH	13,SAV13
  1788	022227	250 14 0 00 024034 		EXCH	14,SAV14
  1789	022230	250 07 0 00 024035 		EXCH	M,SAVEM
  1790
  1791					LDACH1:	LDB	16,[POINT 7,W,6
  1792							POINT 7,W,13
  1793							POINT 7,W,20
  1794							POINT 7,W,27
  1795	022231	135 16 0 07 023672 			POINT 7,W,34](M)	;GET ASCII BYTE
  1796	022232	350 00 0 00 000007 		AOS	M		;COUNT IT
  1797	022233	322 16 0 00 022216 	LDACH2:	JUMPE	16,LDACHR	;IF NULL, IGNORE
  1798	022234	350 00 0 17 000000 		AOS	(P)		;SKIP RETURN
  1799	022235	263 17 0 00 000000 		RTN
  1800
  1801	022236	250 07 0 00 024035 	LDAEOF:	EXCH	M,SAVEM
  1802	022237	250 13 0 00 024033 		EXCH	13,SAV13
  1803	022240	250 14 0 00 024034 		EXCH	14,SAV14
  1804	022241	263 17 0 00 000000 		RTN
  1805
  1806					;*FRD8 - 8 BIT WORD READ
  1807
  1808	022242	260 17 0 00 022245 	FRD8:	GO	G8BYT		;GET AN 8 BIT BYTE
  1809	022243	254 00 0 00 022210 		JRST	FREAD2		;EOF
  1810	022244	254 00 0 00 022202 		JRST	FREAD1		;8 BIT BYTE IN AC16
  1811
  1812	022245	350 07 0 00 024011 	G8BYT:	AOS	M,FBSAV		;ADVANCE FILE BYTE
  1813	022246	405 07 0 00 000003 		ANDI	M,3		;(MOD 4)
  1814	022247	326 07 0 00 022253 		JUMPN	M,G8BY2		;NEED A NEW WORD ?
  1815
  1816	022250	260 17 0 00 022615 		GO	RWORD		;YES
  1817	022251	263 17 0 00 000000 		RTN			;EOF
  1818
  1819	022252	202 04 0 00 024004 	G8BY1:	MOVEM	W,BYTSAV#	;SAVE WORD
  1820
  1821					G8BY2:	LDB	16,[POINT 8,BYTSAV,17
  1822							    POINT 8,BYTSAV,9
  1823							    POINT 8,BYTSAV,35
  1824	022253	135 16 0 07 023677 			    POINT 8,BYTSAV,27](M)
  1825	022254	254 00 0 00 020406 		JRST	CPOPJ1		;LOAD & SKIP RETURN WITH BYTE
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 51
SMMAG	MAC	11-Apr-79 13:04		LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE                                           SEQ 0079

  1826					SUBTTL	LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE
  1827
  1828					;*PDPROC - FORMAT CONTROL PROCESS
  1829
  1830	022255				LDA10:
  1831	022255	402 00 0 00 024017 	LDPROC:	SETZM	LDOCTF#
  1832	022256	402 00 0 00 024021 		SETZM	LDZBLK#
  1833
  1834	022257	260 17 0 00 022216 		GO	LDACHR		;GET FILE TYPE CHAR
  1835	022260	260 17 0 00 023476 		GO	LERR2		;EOF
  1836	022261	306 16 0 00 000073 		CAIN	16,";"
  1837	022262	254 00 0 00 022432 		JRST	LDCMNT		;LINE STARTS WITH ;, COMMENT
  1838
  1839	022263	402 00 0 00 024020 		SETZM	LDTBLK#
  1840	022264	306 16 0 00 000101 		CAIN	16,"A"		;A, PDP-10 SUPER A10 FILE
  1841	022265	254 00 0 00 022273 		JRST	.+6
  1842	022266	306 16 0 00 000124 		CAIN	16,"T"		;T, PDP-10 ".A10" FILE
  1843						JRST	[SETOM	LDTBLK
  1844	022267	254 00 0 00 023703 			JRST	.+4]
  1845	022270	302 16 0 00 000132 		CAIE	16,"Z"		;Z, ".A10" CORE ZERO
  1846	022271	260 17 0 00 023500 		GO	LERR3
  1847	022272	476 00 0 00 024021 		SETOM	LDZBLK
  1848
  1849	022273	260 17 0 00 022216 		GO	LDACHR		;GET FORMAT CHAR
  1850	022274	260 17 0 00 023476 		GO	LERR2		;EOF
  1851
  1852	022275	306 16 0 00 000040 		CAIN	16," "		;SPACE, ASCIIZED
  1853	022276	254 00 0 00 022302 		JRST	.+4
  1854	022277	302 16 0 00 000117 		CAIE	16,"O"		;O, OCTAL
  1855	022300	260 17 0 00 023502 		GO	LERR4
  1856	022301	476 00 0 00 024017 		SETOM	LDOCTF
  1857
  1858	022302	200 16 0 00 023705 		MOVE	16,[LDCNT,,LDCNT+1]
  1859	022303	402 00 0 00 024152 		SETZM	LDCNT
  1860	022304	251 16 0 00 024216 		BLT	16,LDATAE	;CLEAR LOAD STORAGE
  1861
  1862	022305	201 13 0 00 024152 		MOVEI	13,LDCNT	;SETUP CONVERTED STORAGE POINTER
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 52
SMMAG	MAC	11-Apr-79 13:04		LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE                                           SEQ 0080

  1863					;*LDCNV - CONVERT ASCIIZED BACK INTO BITS
  1864
  1865	022306	402 00 0 00 000014 	LDCNV:	SETZM	14		;CLEAR CONVERTED WORD FORMER
  1866
  1867	022307	260 17 0 00 022216 	LDCNV1:	GO	LDACHR		;LOAD AN ASCII CHAR
  1868	022310	260 17 0 00 023476 		GO	LERR2		;EOF
  1869
  1870	022311	306 16 0 00 000015 		CAIN	16,15		;CR, IGNORE
  1871	022312	254 00 0 00 022307 		JRST	LDCNV1
  1872
  1873	022313	306 16 0 00 000012 		CAIN	16,12		;LF, END OF LINE
  1874	022314	254 00 0 00 022351 		JRST	LDEOL
  1875
  1876	022315	306 16 0 00 000054 		CAIN	16,54		;COMMA, FIELD SEPARATOR
  1877	022316	254 00 0 00 022347 		JRST	LDCMA
  1878
  1879	022317	332 00 0 00 024017 		SKIPE	LDOCTF
  1880	022320	254 00 0 00 022344 		JRST	LDCNV3		;LOADING OCTAL FORMAT
  1881
  1882	022321	301 16 0 00 000065 		CAIL	16,"5"		;5 TO : ?
  1883	022322	303 16 0 00 000072 		CAILE	16,":"
  1884	022323	254 00 0 00 022331 		JRST	.+6		;NO
  1885	022324	275 16 0 00 000065 		SUBI	16,"5"		;YES, INSERT SUPPRESSED ONES
  1886	022325	242 14 0 00 000006 		LSH	14,6
  1887	022326	660 14 0 00 000077 		TRO	14,77
  1888	022327	365 16 0 00 022325 		SOJGE	16,.-2
  1889	022330	254 00 0 00 022307 		JRST	LDCNV1
  1890
  1891	022331	301 16 0 00 000060 		CAIL	16,"0"		;0 TO 4 ?
  1892	022332	303 16 0 00 000064 		CAILE	16,"4"
  1893	022333	254 00 0 00 022340 		JRST	.+5		;NO
  1894	022334	405 16 0 00 000007 		ANDI	16,7		;YES, INSERT SUPPRESSED ZEROS
  1895	022335	242 14 0 00 000006 		LSH	14,6
  1896	022336	365 16 0 00 022335 		SOJGE	16,.-1
  1897	022337	254 00 0 00 022307 		JRST	LDCNV1
  1898
  1899	022340	242 14 0 00 000006 		LSH	14,6		;SHIFT WORD FORMER LEFT 6
  1900	022341	405 16 0 00 000077 		ANDI	16,77		;KEEP ASCIIZED OIT BITS
  1901
  1902	022342	434 14 0 00 000016 	LDCNV2:	OR	14,16		;INSERT NEW OIT
  1903	022343	254 00 0 00 022307 		JRST	LDCNV1
  1904
  1905	022344	242 14 0 00 000003 	LDCNV3:	LSH	14,3		;SHIFT WORD FORMER LEFT 3, OCTAL
  1906	022345	405 16 0 00 000007 		ANDI	16,7		;KEEP OCTAL OIT BITS
  1907	022346	254 00 0 00 022342 		JRST	LDCNV2
  1908
  1909	022347	202 14 0 13 000000 	LDCMA:	MOVEM	14,(13)		;STORE CONVERTED WORD
  1910	022350	344 13 0 00 022306 		AOJA	13,LDCNV	;COUNT AND GO FOR NEXT WORD
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 53
SMMAG	MAC	11-Apr-79 13:04		LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE                                           SEQ 0081

  1911					;*LDEOL - END OF LINE, CHECKSUM LOAD LINE
  1912
  1913	022351	202 14 0 13 000000 	LDEOL:	MOVEM	14,(13)		;STORE CHECKSUM
  1914
  1915	022352	332 00 0 00 024017 		SKIPE	LDOCTF
  1916	022353	254 00 0 00 022363 		JRST	LDTEN		;OCTAL, NO CHECKSUM
  1917
  1918	022354	201 13 0 00 024152 		MOVEI	13,LDCNT	;CHECKSUM LOAD STORAGE
  1919	022355	402 00 0 00 000014 		SETZM	14
  1920	022356	270 14 0 13 000000 		ADD	14,(13)
  1921	022357	302 13 0 00 024216 		CAIE	13,LDATAE
  1922	022360	344 13 0 00 022356 		AOJA	13,.-2
  1923
  1924	022361	602 14 0 00 177777 		TRNE	14,177777	;16 BIT CHECKSUM = 0 ?
  1925	022362	260 17 0 00 023504 		GO	LERR5		;NO, CHECKSUM ERROR
  1926
  1927					;*LDTEN - CREATE LOAD ADDRESS AND WORD COUNT
  1928
  1929	022363	135 13 0 00 023706 	LDTEN:	LDB	13,[POINT 2,LDCNT,27]
  1930	022364	242 13 0 00 000020 		LSH	13,^D16
  1931	022365	434 13 0 00 024153 		OR	13,LDADR	;CREATE PDP-10 LOAD ADDRESS
  1932
  1933	022366	135 14 0 00 023707 		LDB	14,[POINT 8,LDCNT,35]	;WORD COUNT
  1934
  1935	022367	336 00 0 00 024021 		SKIPN	LDZBLK
  1936	022370	254 00 0 00 022400 		JRST	LDTEN1		;LOAD TEN DATA WORDS
  1937
  1938					;*LDTENZ - CLEAR TEN CORE, JOB START TO JOB FIRST FREE
  1939
  1940	022371	322 14 0 00 022255 	LDTENZ:	JUMPE	14,LDPROC	;WC=0, NO ZEROING
  1941	022372	202 13 0 00 024015 		MOVEM	13,JOBSAW	;SETUP JOB START ADDRESS
  1942	022373	270 13 0 14 024153 		ADD	13,LDATA-1(14)
  1943	022374	367 14 0 00 022373 		SOJG	14,.-1		;ADD UP ZERO COUNT
  1944	022375	202 13 0 00 024014 		MOVEM	13,JOBFFW	;SETUP JOB FIRST FREE ADDRESS
  1945
  1946	022376	260 17 0 00 022527 		GO	CLRCOR		;CLEAR PDP-10 CORE
  1947	022377	254 00 0 00 022255 		JRST	LDPROC
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 54
SMMAG	MAC	11-Apr-79 13:04		LDA10 - LOAD PDP-10 ASCIIZED ".A10" FILE                                           SEQ 0082

  1948					;*LDTEN1 - TRANSFER TEN WORDS TO MEMORY
  1949
  1950	022400	336 00 0 00 024020 	LDTEN1:	SKIPN	LDTBLK
  1951	022401	200 13 0 00 024153 		MOVE	13,LDADR
  1952	022402	322 14 0 00 022430 		JUMPE	14,LDDONE	;WC=0, TRANSFER BLOCK
  1953
  1954	022403	201 15 0 00 024154 		MOVEI	15,LDATA	;SETUP PICKUP POINTER
  1955	022404	332 00 0 00 024124 		SKIPE	LDDMON
  1956	022405	254 00 0 00 023426 		JRST	LDTEN3
  1957
  1958	022406	200 16 0 15 000000 	LDTEN2:	MOVE	16,(15)		;GET 36 BIT WORD
  1959	022407	336 00 0 00 024020 		SKIPN	LDTBLK
  1960	022410	254 00 0 00 022416 		JRST	.+6
  1961	022411	200 16 0 15 000002 		MOVE	16,2(15)	;BITS 0 TO 7
  1962	022412	242 16 0 00 000020 		LSH	16,^D16
  1963	022413	434 16 0 15 000001 		OR	16,1(15)	;BITS 8 TO 23
  1964	022414	242 16 0 00 000020 		LSH	16,^D16
  1965	022415	434 16 0 15 000000 		OR	16,0(15)	;BITS 24 TO 35
  1966
  1967	022416	202 16 0 13 000000 		MOVEM	16,(13)		;STORE 36 BIT WORD IN MEMORY
  1968
  1969	022417	350 00 0 00 000013 		AOS	13		;INCREMENT PDP-10 ADDRESS
  1970	022420	271 15 0 00 000001 		ADDI	15,1		;BUMP PICKUP POINTER
  1971	022421	332 00 0 00 024020 		SKIPE	LDTBLK
  1972	022422	271 15 0 00 000002 		ADDI	15,2
  1973	022423	275 14 0 00 000001 		SUBI	14,1		;DECREMENT WORD COUNT
  1974	022424	332 00 0 00 024020 		SKIPE	LDTBLK
  1975	022425	275 14 0 00 000002 		SUBI	14,2
  1976	022426	327 14 0 00 022406 		JUMPG	14,LDTEN2	;DO TILL ALL WORDS USED
  1977	022427	254 00 0 00 022255 		JRST	LDPROC		;CONTINUE TILL TRANSFER BLOCK
  1978
  1979					;*LDDONE - COMPLETED, GO TO START ROUTINE
  1980
  1981	022430	200 04 0 00 000013 	LDDONE:	MOVE	W,13		;SETUP START ADDRESS
  1982	022431	254 00 0 00 022627 		JRST	STARTQ		;GO TO START ROUTINE
  1983
  1984					;*LDCMNT - LOAD FILE COMMENT LINE
  1985
  1986	022432	261 17 0 00 000000 	LDCMNT:	PUT	0
  1987	022433	260 17 0 00 022436 		GO	CMNPNT		;PRINT REST OF COMMENT LINE
  1988	022434	262 17 0 00 000000 		GET	0
  1989	022435	254 00 0 00 022255 		JRST	LDPROC
  1990
  1991					;*CMNPNT - PRINT COMMENT LINE
  1992
  1993	022436	260 17 0 00 022216 	CMNPNT:	GO	LDACHR
  1994	022437	254 00 0 00 023476 		JRST	LERR2
  1995	022440	306 16 0 00 000012 		CAIN	16,12		;LINE FEED ?
  1996	022441	254 00 0 00 022445 		JRST	.+4		;YES
  1997	022442	336 00 0 00 024031 		SKIPN	NOCMNT
  1998	022443	260 17 0 00 020341 		GO	PNT16		;PRINT COMMENT LINE
  1999	022444	254 00 0 00 022436 		JRST	CMNPNT
  2000	022445	336 00 0 00 024031 		SKIPN	NOCMNT
  2001	022446	260 17 0 00 020341 		GO	PNT16
  2002	022447	263 17 0 00 000000 		RTN
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 55
SMMAG	MAC	11-Apr-79 13:04		PROGRAM CORE AREA SETUP                                                            SEQ 0083

  2003					SUBTTL	PROGRAM CORE AREA SETUP
  2004
  2005					;*PRGCOR - SETUP CORE ZEROING FOR ".SAV" FILES
  2006
  2007	022450	332 00 0 00 024000 	PRGCOR:	SKIPE	A10FLG
  2008	022451	254 00 0 00 022255 		JRST	LDA10		;LOAD ".A10" FILE
  2009
  2010	022452	402 00 0 00 000005 		SETZM	Q
  2011	022453	260 17 0 00 022615 		GO	RWORD		;READ FIRST BLOCK/WORD
  2012	022454	260 17 0 00 023476 		GO	ERR2		;EOF, ILLEGAL
  2013
  2014	022455	202 04 0 00 024037 		MOVEM	W,SAVT0#
  2015	022456	202 05 0 00 024040 		MOVEM	Q,SAVT1#
  2016	022457	202 07 0 00 024041 		MOVEM	M,SAVT2#
  2017	022460	202 06 0 00 024042 		MOVEM	Q2,SAVT3#
  2018	022461	202 03 0 00 024043 		MOVEM	C,SAVT4#
  2019
  2020	022462	331 00 0 00 000004 		SKIPL	W
  2021	022463	260 17 0 00 023506 		GO	ERR6		;FIRST WORD NOT POINTER
  2022	022464	201 07 0 04 000176 		MOVEI	M,^D126(W)
  2023	022465	201 06 0 00 000137 		MOVEI	Q2,137		;FIRST POINTER LEGAL ?
  2024	022466	315 07 0 00 000006 		CAMGE	M,Q2
  2025	022467	260 17 0 00 023506 		GO	ERR6		;NO
  2026
  2027	022470	550 05 0 00 024040 		HRRZ	Q,SAVT1
  2028	022471	201 06 0 00 000120 		MOVEI	Q2,JOBSA
  2029	022472	260 17 0 00 022515 		GO	RMS1		;GET 'JOBSA'
  2030	022473	552 04 0 00 024015 		HRRZM	W,JOBSAW#
  2031	022474	336 05 0 00 024015 		SKIPN	Q,JOBSAW	
  2032	022475	260 17 0 00 023510 		GO	ERR7		;NO STARTING ADDRESS
  2033	022476	306 05 0 00 000140 		CAIN	Q,140
  2034	022477	260 17 0 00 023510 		GO	ERR7		;PROGRAMS CAN'T START AT 140
  2035
  2036	022500	550 05 0 00 024040 		HRRZ	Q,SAVT1
  2037	022501	201 06 0 00 000121 		MOVEI	Q2,JOBFF
  2038	022502	260 17 0 00 022515 		GO	RMS1		;GET 'JOBFF'
  2039	022503	202 04 0 00 024014 		MOVEM	W,JOBFFW#
  2040
  2041	022504	260 17 0 00 022527 		GO	CLRCOR		;CLEAR PROGRAM'S CORE AREA
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 56
SMMAG	MAC	11-Apr-79 13:04		PROGRAM CORE AREA SETUP                                                            SEQ 0084

  2042	022505	200 04 0 00 024037 		MOVE	W,SAVT0
  2043	022506	200 05 0 00 024040 		MOVE	Q,SAVT1
  2044	022507	200 07 0 00 024041 		MOVE	M,SAVT2
  2045	022510	200 06 0 00 024042 		MOVE	Q2,SAVT3
  2046	022511	200 03 0 00 024043 		MOVE	C,SAVT4
  2047	022512	254 00 0 00 022604 		JRST	RFILL3		;NOW GO LOAD PROGRAM
  2048
  2049	022513	274 05 0 00 000003 	RMS2:	SUB	Q,C
  2050	022514	340 05 0 00 000000 		AOJ	Q,
  2051	022515	200 04 0 05 000000 	RMS1:	MOVE	W,(Q)		;GET POINTER
  2052	022516	550 07 0 00 000004 		HRRZ	M,W		; X
  2053	022517	564 03 0 00 000004 		HLRO	C,W		; -N
  2054	022520	274 07 0 00 000003 		SUB	M,C		; X+N IN M
  2055	022521	315 07 0 00 000006 		CAMGE	M,Q2		;THIS POINTER TO REQ DATA ?
  2056	022522	254 00 0 00 022513 		JRST	RMS2		;NO, GET NEXT POINTER
  2057	022523	275 06 0 04 000000 		SUBI	Q2,(W)		;YES, HOW FAR FROM POINTER ?
  2058	022524	270 05 0 00 000006 		ADD	Q,Q2		;INCREMENT POINTER
  2059	022525	200 04 0 05 000000 		MOVE	W,(Q)		;GET REQ DATA
  2060	022526	263 17 0 00 000000 		RTN
  2061
  2062					;*CLRCOR - CLEAR CORE FOR DIAGNOSTIC SEGMENT
  2063					;*	   CLEARS CORE FROM 'JOBSA' TO 'JOBFF'
  2064
  2065	022527	332 00 0 00 024124 	CLRCOR:	SKIPE	LDDMON
  2066	022530	254 00 0 00 023414 		JRST	CLRCR2
  2067	022531	336 00 0 00 020006 		SKIPN	USER		;USER MODE ?
  2068	022532	254 00 0 00 022546 		JRST	CLRCR1		;NO
  2069	022533	200 00 0 00 000044 		MOVE	JOBREL		;YES, PRESENT JOBREL LT DIAMON'S ?
  2070	022534	317 00 0 00 024045 		CAMG	SVJBREL
  2071	022535	254 00 0 00 022541 		JRST	.+4		;YES
  2072	022536	200 00 0 00 024045 		MOVE	SVJBREL		;NO, REDUCE CORE TO DIAMON'S
  2073	022537	047 00 0 00 000011 		CORE
  2074	022540	254 00 0 00 023516 		JRST	ERR10
  2075	022541	200 00 0 00 024014 		MOVE	JOBFFW		;THIS PRG NEED MORE THAN DIAMON'S ?
  2076	022542	317 00 0 00 024045 		CAMG	SVJBREL
  2077	022543	254 00 0 00 022546 		JRST	.+3		;NO
  2078	022544	047 00 0 00 000011 		CORE			;YES, EXPAND CORE FOR PROGRAM
  2079	022545	254 00 0 00 023516 		JRST	ERR10
  2080	022546	202 05 0 00 024036 	CLRCR1:	MOVEM	Q,SAVQ#
  2081	022547	200 05 0 00 024015 		MOVE	Q,JOBSAW
  2082	022550	301 05 0 00 020000 		CAIL	Q,START		;DO NOT, REPEAT NOT, CLEAR "DIAMON" !
  2083	022551	301 05 0 00 030000 		CAIL	Q,DIAGNOS
  2084	022552	402 00 0 05 000000 		SETZM	(Q)
  2085	022553	315 05 0 00 024014 		CAMGE	Q,JOBFFW
  2086	022554	344 05 0 00 022550 		AOJA	Q,.-4
  2087	022555	200 05 0 00 024036 		MOVE	Q,SAVQ
  2088	022556	263 17 0 00 000000 		RTN
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 57
SMMAG	MAC	11-Apr-79 13:04		PROGRAM CORE AREA SETUP                                                            SEQ 0085

  2089					;*LSTPNT - LIST FILES (ASCIZ)
  2090
  2091	022557	476 00 0 00 024044 	LSTPNT:	SETOM	SPECIAL
  2092	022560	261 17 0 00 000000 		PUSH	P,0
  2093	022561	260 17 0 00 021502 		SWITCH
  2094	022562	603 00 0 00 020000 		TLNE	LPTSW
  2095	022563	476 00 0 00 024116 		SETOM	LPTFLG
  2096	022564	264 00 0 00 021536 		CTYCLR
  2097	022565	262 17 0 00 000000 		POP	P,0
  2098	022566	260 17 0 00 022216 	LSTPN1:	GO	LDACHR		;READ A CHAR
  2099	022567	254 00 0 00 020000 		JRST	START		;EOF
  2100	022570	260 17 0 00 020341 		GO	PNT16		;PRINT IT
  2101	022571	254 00 0 00 022566 		JRST	LSTPN1
  2102
  2103
  2104					;*RFILE1 - HERE WHEN FILE FOUND
  2105
  2106	022572	332 00 0 00 024117 	RFILE1:	SKIPE	LSTFLG
  2107	022573	254 00 0 00 022557 		JRST	LSTPNT		;LISTING FILE
  2108	022574	332 00 0 00 024120 		SKIPE	DIRFLG		;PRINTING DIRECTORY?
  2109	022575	254 00 0 00 022065 		JRST	DIRPNT		;YES, PRINT DIR OF MAGTAPE
  2110
  2111	022576	336 00 0 00 024005 		SKIPN	CMDFLG
  2112	022577	332 00 0 00 024114 		SKIPE	DEVFLG		;READING CMD LIST FILE ?
  2113	022600	254 00 0 00 020377 		JRST	DEVCM2		;YES
  2114	022601	254 00 0 00 022450 		JRST	PRGCOR		;SETUP PROGRAM'S CORE AREA
  2115
  2116	022602	260 17 0 00 022615 	RFILL1:	GO	RWORD		;READ POINTER OR TRANSFER WORD
  2117	022603	260 17 0 00 023476 		GO	ERR2		;EOF, ERROR
  2118
  2119	022604	331 07 0 00 000004 	RFILL3:	SKIPL	M,W		;WHICH IS IT?
  2120	022605	254 00 0 00 022627 		JRST	STARTQ		;TRANSFER WORD
  2121
  2122	022606	332 00 0 00 024124 		SKIPE	LDDMON
  2123	022607	254 00 0 00 023436 		JRST	RFILL4
  2124
  2125	022610	260 17 0 00 022615 	RFILL2: GO	RWORD		;READ DATA WORD
  2126	022611	260 17 0 00 023476 		GO	ERR2		;EOF, ERROR
  2127	022612	202 04 0 07 000001 		MOVEM	W,1(M)		;STORE IT IN CORE
  2128	022613	253 07 0 00 022610 		AOBJN	M,RFILL2	;COUNT THE CORE POINTER
  2129	022614	254 00 0 00 022602 		JRST	RFILL1		;IT RAN OUT, GET ANOTHER
  2130
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 58
SMMAG	MAC	11-Apr-79 13:04		PROGRAM CORE AREA SETUP                                                            SEQ 0086

  2131					;*RWORD - READ DATA WORD FROM FILE
  2132
  2133	022615	373 00 0 00 024231 	RWORD:	SOSLE	LDBUF+2		;CHECK IF ANY WORDS IN BUFFER
  2134	022616	254 00 0 00 022624 		JRST	RWORD2		;YES, GET A WORD
  2135	022617	336 00 0 00 024022 		SKIPN	MAGDEV		;SKIP IF READING FROM MAGTAPE
  2136	022620	254 00 0 00 022622 		JRST	RWORD1		;NO, GO AND READ
  2137	022621	335 00 0 00 024023 		SKIPGE	MAGONCE		;SKIP IF TAPE NO INTO A RECORD
  2138	022622	260 17 1 00 024143 	RWORD1:	GO	@READBL		;READ NEXT RECORD
  2139	022623	263 17 0 00 000000 		RTN			;EOF RETURN
  2140	022624	134 04 0 00 024230 	RWORD2:	ILDB	W,LDBUF+1	;GET DATA WORD
  2141	022625	200 05 0 00 024230 		MOVE	Q,LDBUF+1	;GET POINTER
  2142	022626	254 00 0 00 020406 		JRST	CPOPJ1		;RETURN +2
  2143
  2144
  2145					;*STARTQ - HERE ON TRANSFER WORD
  2146
  2147	022627	332 00 0 00 024124 	STARTQ:	SKIPE	LDDMON
  2148	022630	254 00 0 00 023420 		JRST	STARTM
  2149	022631	332 00 0 00 020006 		SKIPE	USER		;SKIP IF EXEC MODE
  2150	022632	071 16 0 00 000000 		RELEASE	LDCHN,		;RELEASE CHANNEL
  2151	022633	542 04 0 00 022656 		HRRM	W,SADR		;SAVE STARTING ADDRESS
  2152	022634	606 04 0 00 777777 		TRNN	W,-1		;ANY ADDRESS ?
  2153	022635	260 17 0 00 023510 		GO	ERR7		;NO, MUST NOT HAVE RIGHT FILE
  2154	022636	476 00 0 00 030044 		SETOM	MONTEN		;SET LOADED BY TEN FLAG
  2155	022637	201 00 0 00 020000 		MOVEI	START		;SETUP RETURN TO DIAMON
  2156	022640	202 00 0 00 030012 		MOVEM	RETURN
  2157	022641	542 00 0 00 000120 		HRRM	120		;SETUP JOB DATA AREA ALSO
  2158	022642	336 00 0 00 024112 		SKIPN	PGMGO		;LOAD & GO ?
  2159	022643	254 00 0 00 020406 		JRST	CPOPJ1		;NO, BACK TO MONITOR
  2160	022644	332 00 0 00 024121 		SKIPE	ALTMFLG
  2161	022645	263 17 0 00 000000 		RTN			;ALTMODE, RETURN TO LOADER
  2162
  2163	022646	264 00 0 00 021536 	SADRQ:	CTYCLR
  2164	022647	200 01 1 00 024134 		MOVE	A,@SAVEIP
  2165	022650	332 00 0 00 020006 		SKIPE	USER
  2166	022651	047 01 0 00 000043 		SETNAM	A,		;USER, IDENTIFY PROGRAM RUNNING
  2167	022652	200 00 0 00 024045 		MOVE	SVJBREL		;SET JOBREL AS "DIAMON" RUN SIZE
  2168	022653	202 00 0 00 000044 		MOVEM	JOBREL
  2169	022654	260 17 0 00 020473 		GO	ZEROAC		;CLEAR AC'S
  2170	022655	402 00 0 00 000017 		SETZM	17
  2171	022656	254 00 0 00 000000 	SADR:	JRST	0		;YES, GO
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 59
SMMAG	MAC	11-Apr-79 13:04		USER MODE LOADER                                                                   SEQ 0087

  2172					SUBTTL	USER MODE LOADER
  2173
  2174					;*USERLD - LOOKUP FILE ON THE USERS DISK
  2175
  2176	022657	402 00 0 00 024230 	USERLD:	SETZM	LDBUF+1
  2177	022660	402 00 0 00 024231 		SETZM	LDBUF+2
  2178	022661	050 16 0 00 024224 		OPEN	LDCHN,LDBLK	;SETUP INPUT FILE
  2179	022662	260 17 0 00 023512 		GO	ERR8
  2180	022663	200 00 0 00 023710 		MOVE	[400000,,LDBF+1]
  2181	022664	202 00 0 00 024227 		MOVEM	LDBUF		;SETUP BUFFER POINTER
  2182	022665	332 00 0 00 024022 		SKIPE	MAGDEV		;SKIP IF READING FROM DSK
  2183	022666	254 00 0 00 022755 		JRST	UMAGLD		;NO, GO TO MAG LOADER
  2184	022667	200 00 0 00 023641 		MOVE	[201,,LDBF1+1]
  2185	022670	202 00 0 00 024776 		MOVEM	LDBF+1		;CLEAR BUFFER USE BITS
  2186	022671	200 00 0 00 023711 		MOVE	[201,,LDBF2+1]
  2187	022672	202 00 0 00 025201 		MOVEM	LDBF1+1
  2188	022673	200 00 0 00 023712 		MOVE	[201,,LDBF+1]
  2189	022674	202 00 0 00 025404 		MOVEM	LDBF2+1
  2190	022675	201 00 0 00 000005 		MOVEI	5		;SET UP DSK CODE
  2191	022676	202 00 0 00 024016 		MOVEM	LDEVICE		;FOR SUBRTN
  2192	022677	200 00 0 16 000000 		MOVE	(IP)
  2193	022700	202 00 0 00 024220 		MOVEM	LDNAME		;SETUP FILE NAME
  2194	022701	510 00 0 16 000001 		HLLZ	1(IP)
  2195	022702	322 00 0 00 022706 		JUMPE	USLD1		;IF NO EXT, TRY A10 & SAV
  2196
  2197	022703	260 17 0 00 022720 		GO	USLKUP		;LOOKUP FILE
  2198	022704	254 00 0 00 022146 		JRST	RFILE		;FOUND
  2199	022705	254 00 0 00 022164 		JRST	NFERR		;NOT FOUND
  2200
  2201	022706	205 00 0 00 634166 	USLD1:	MOVSI	(SIXBIT/SAV/)
  2202	022707	260 17 0 00 022720 		GO	USLKUP		;LOOKUP "SAV"
  2203	022710	254 00 0 00 022146 		JRST	RFILE		;FOUND
  2204	022711	205 00 0 00 435544 		MOVSI	(SIXBIT/CMD/)
  2205	022712	260 17 0 00 022720 		GO	USLKUP		;LOOKUP "CMD"
  2206	022713	254 00 0 00 022146 		JRST	RFILE		;FOUND
  2207	022714	205 00 0 00 412120 		MOVSI	(SIXBIT/A10/)
  2208	022715	260 17 0 00 022720 		GO	USLKUP		;LOOKUP "A10"
  2209	022716	254 00 0 00 022146 		JRST	RFILE		;FOUND
  2210	022717	254 00 0 00 022164 		JRST	NFERR		;COUNDN'T FIND EITHER
  2211
  2212	022720	202 00 0 00 024221 	USLKUP:	MOVEM	LDNAME+1
  2213	022721	076 16 0 00 024220 		LOOKUP	LDCHN,LDNAME
  2214	022722	254 00 0 00 020406 		JRST	CPOPJ1		;NOT FOUND
  2215	022723	554 00 0 00 024221 		HLRZ	LDNAME+1
  2216	022724	306 00 0 00 435544 		CAIN	(SIXBIT/CMD/)
  2217	022725	476 00 0 00 024005 		SETOM	CMDFLG		;LOADING "CMD" FILE
  2218	022726	306 00 0 00 412120 		CAIN	(SIXBIT/A10/)
  2219	022727	476 00 0 00 024000 		SETOM	A10FLG		;LOADING "A10" FILE
  2220	022730	263 17 0 00 000000 		RTN
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 60
SMMAG	MAC	11-Apr-79 13:04		USER MODE LOADER                                                                   SEQ 0088

  2221					;USER MODE TAPE MOTION ROUTINES
  2222
  2223					;READ A DATA BLOCK
  2224
  2225	022731	056 16 0 00 000000 	UREADB:	IN	LDCHN,		;INPUT A WORD
  2226	022732	254 00 0 00 020406 		JRST	CPOPJ1		;RETURN +2
  2227	022733	063 16 0 00 740000 		STATZ	LDCHN,740000	;ERROR, SKIP IF ONLY EOF
  2228	022734	260 17 0 00 023514 		GO	ERR9		;NO, FATAL ERROR
  2229	022735	402 00 0 00 024023 	RDEOF:	SETZM	MAGONCE		;SET TAPE AT START OF FILE
  2230	022736	263 17 0 00 000000 		RTN			;EOF RETURN
  2231
  2232					;MOVE TAPE REVERSE
  2233
  2234	022737	072 16 0 00 000017 	UREVRS:	MTBSF.	LDCHN,		;MOVE TAPE BACKWARD OVER ONE FILE
  2235	022740	263 17 0 00 000000 		RTN
  2236
  2237					;MOVE TAPE FORWARD
  2238
  2239	022741	072 16 0 00 000016 	UFORWD:	MTSKF.	LDCHN,		;MOVE TAPE FORWARD OVER FILE
  2240	022742	263 17 0 00 000000 		RTN
  2241
  2242					;REWIND THE TAPE
  2243
  2244	022743	072 16 0 00 000001 	UREW:	MTREW.	LDCHN,		;REWIND THE TAPE
  2245	022744	263 17 0 00 000000 		RTN
  2246
  2247					;*USRINT - USER MODE INIT, SETUP MINIMUM OF 32K OF CORE
  2248
  2249	022745	201 00 0 00 077777 	USRINT:	MOVEI	<^D32*^D1024>-1
  2250	022746	317 00 0 00 024045 		CAMG	SVJBREL		;DO WE HAVE 32K MINIMUM ?
  2251	022747	263 17 0 00 000000 		RTN			;YES
  2252	022750	047 00 0 00 000011 		CORE			;NO, EXPAND CORE TO 32K
  2253	022751	260 17 0 00 023516 		GO	ERR10
  2254	022752	200 00 0 00 000044 		MOVE	JOBREL
  2255	022753	202 00 0 00 024045 		MOVEM	SVJBREL		;SAVE MAX CORE NOW
  2256	022754	263 17 0 00 000000 		RTN
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 61
SMMAG	MAC	11-Apr-79 13:04		MAGTAPE LOADER                                                                     SEQ 0089

  2257					SUBTTL	MAGTAPE LOADER
  2258
  2259	022755	200 00 0 00 023713 	UMAGLD:	MOVE	[XWD 3,TAPEDN]	;SET UP TO SELECT DENSITY
  2260	022756	047 00 0 00 000154 		TAPOP.			;SET DENSITY
  2261	022757	060 16 0 00 000613 		SETSTS	LDCHN,613	;NO TAPOP.S, SET STATUS BITS TO 800 BPI
  2262
  2263	022760	201 00 0 00 000006 	MAGLD:	MOVEI	6		;SET MAGTAPE CODE TO 6
  2264	022761	202 00 0 00 024016 		MOVEM	LDEVICE		;PUT IN LDEVICE FOR SUBRTN
  2265	022762	333 00 0 00 024023 		SKIPLE	MAGONCE		;TAPE POSITION KNOWN?
  2266	022763	260 17 1 00 024146 		GO	@REW		;NO, REWIND
  2267	022764	335 00 0 00 024023 		SKIPGE	MAGONCE		;AT START OF FILE?
  2268	022765	260 17 1 00 024145 		GO	@FORWRD		;NO, MOVE TO START
  2269	022766	402 00 0 00 024023 		SETZM	MAGONCE		;CLEAR FLAG, POSITION KNOWN
  2270	022767	201 01 0 00 026001 		MOVEI	A,TAB+1		;SET UP ADDRESS OF DIRECTORY
  2271	022770	260 17 0 00 023021 		GO	LOOKUP		;LOOK FOR FILE NAME
  2272	022771	254 00 0 00 023050 		JRST	LDDIR		;NOT THERE, GO READ DIRECTORY FILE
  2273
  2274	022772	201 00 0 00 777777 	FNFND:	MOVEI	-1		;SET TAPE POSITION FLAG
  2275	022773	202 00 0 00 024023 		MOVEM	MAGONCE		; TO POSITION UNKNOWN
  2276	022774	270 02 0 00 026000 		ADD	B,TAB		;COMPUTE FILE NUMBER
  2277	022775	202 02 0 00 024032 		MOVEM	B,PRGNBR#	;SAVE FILE NUMBER
  2278	022776	274 02 0 00 024007 		SUB	B,CURR#		;FIND NUMBER OF FILES TO SPACE
  2279	022777	321 02 0 00 023011 		JUMPL	B,BACKUP	;BACKSPACE TO SELECTED FILE
  2280	023000	323 02 0 00 023003 		JUMPLE	B,.+3		;GO AROUND IF AT FILE
  2281	023001	260 17 1 00 024145 		GO	@FORWRD		;SPACE FORWARD OVER UNWANTED FILES
  2282	023002	367 02 0 00 023001 		SOJG	B,.-1
  2283
  2284	023003	200 00 0 00 024032 	TRANS:	MOVE	PRGNBR		;GET PROGRAM NUMBER
  2285	023004	271 00 0 00 000001 		ADDI	1		;SET UP FOR POSITION AFTER PROG READ
  2286	023005	202 00 0 00 024007 		MOVEM	CURR		;STORE TAPE POSITION IN CURR
  2287	023006	476 00 0 00 024023 		SETOM	MAGONCE		;SET IN FILE FLAG
  2288	023007	402 00 0 00 024231 		SETZM	LDBUF+2		;CLEAR CHARACTERS IN BUFFER COUNTER
  2289	023010	254 00 0 00 022146 		JRST	RFILE		;GO TO READ FILE
  2290
  2291	023011	260 17 1 00 024144 	BACKUP:	GO	@REVERS		;BACKSPACE OVER UNWANTED FILES
  2292	023012	343 02 0 00 023011 		AOJLE	B,.-1
  2293	023013	260 17 1 00 024145 		GO	@FORWRD		;MOVE FORWARD OVER FILE MARK
  2294	023014	254 00 0 00 023003 		JRST	TRANS
  2295
  2296
  2297	023015	205 00 0 00 004400 	EXECLD:	MOVSI	4400		;SET UP BYTE POINTER
  2298	023016	202 00 0 00 024230 		MOVEM	LDBUF+1		;IN BUFFER HEADER
  2299	023017	402 00 0 00 024231 		SETZM	LDBUF+2		;CLEAR WORD COUNT
  2300	023020	254 00 0 00 022760 		JRST	MAGLD
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 62
SMMAG	MAC	11-Apr-79 13:04		MAGTAPE LOADER                                                                     SEQ 0090

  2301					;LOOKUP FILE NAME IN DIRECTORY IN CORE
  2302					;ENTER WITH ADR OF DIRECTORY RECORD IN A
  2303
  2304	023021	400 02 0 00 000000 	LOOKUP:	SETZ	B,		;CLEAR FILE COUNTER
  2305	023022	200 00 0 01 000000 	LOOKU0:	MOVE	(A)		;GET A FILE NAME
  2306	023023	607 00 0 00 770000 		TLNN	770000		;CHECK IF END OF RECORD
  2307	023024	263 17 0 00 000000 		RTN			;YES, FILE NOT FOUND
  2308	023025	312 00 0 16 000000 		CAME	(IP)		;COMPARE FILE NAME
  2309	023026	254 00 0 00 023046 		JRST	LOOKU3		;NO MATCH, KEEP LOOKING
  2310	023027	554 00 0 16 000001 		HLRZ	1(IP)		;GET SPECIFIED EXTENSION
  2311	023030	554 03 0 01 000001 		HLRZ	C,1(A)		;GET EXTENSION FROM DIRECTORY
  2312	023031	326 00 0 00 023037 		JUMPN	LOOKU1		;JUMP IF EXTENSION SPECIFIED
  2313	023032	306 03 0 00 435544 		CAIN	C,'CMD'		;LOOK FOR CMD EXTENSION
  2314	023033	254 00 0 00 023041 		JRST	LOOKU2		;FOUND
  2315	023034	306 03 0 00 412120 		CAIN	C,'A10'		;LOOK FOR A10 EXTENSION
  2316	023035	254 00 0 00 023041 		JRST	LOOKU2		;FOUND
  2317	023036	201 00 0 00 634166 		MOVEI	'SAV'		;LOOK FOR SAV EXTENSION
  2318	023037	312 00 0 00 000003 	LOOKU1:	CAME	C		;COMPARE WITH EXTENSION
  2319	023040	254 00 0 00 023046 		JRST	LOOKU3		;NO MATCH
  2320	023041	306 03 0 00 435544 	LOOKU2:	CAIN	C,'CMD'		;IS EXTENSION CMD?
  2321	023042	476 00 0 00 024005 		SETOM	CMDFLG		;YES, SET FLAG
  2322	023043	306 03 0 00 412120 		CAIN	C,'A10'		;IS EXTENSION A10?
  2323	023044	476 00 0 00 024000 		SETOM	A10FLG		;YES, SET FLAG
  2324	023045	254 00 0 00 020406 		JRST	CPOPJ1		;SUCCESSFUL RETURN
  2325	023046	271 01 0 00 000003 	LOOKU3:	ADDI	A,3		;MOVE TO NEXT NAME IN LIST
  2326	023047	344 02 0 00 023022 		AOJA	B,LOOKU0	;GO LOOK AT IT
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 63
SMMAG	MAC	11-Apr-79 13:04		MAGTAPE LOADER                                                                     SEQ 0091

  2327
  2328	023050	603 00 0 00 777777 	LDDIR:	TLNE	-1		;CHECK IF ENTIRE DIRECTORY
  2329	023051	332 00 0 00 026000 		SKIPE	TAB		;  IS IN CORE
  2330	023052	334 00 0 00 000000 		SKIPA			;NO
  2331	023053	254 00 0 00 022164 		JRST	NFERR		;FILE NOT FOUND
  2332	023054	201 03 0 00 777777 		MOVEI	C,-1		;SET TAPE POSITION FLAG
  2333	023055	202 03 0 00 024023 		MOVEM	C,MAGONCE	;TO POSITION UNKNOWN
  2334	023056	332 00 0 00 024007 		SKIPE	CURR		;SKIP IF AT BOT
  2335	023057	260 17 1 00 024146 		GO	@REW		;NO, REWIND THE TAPE
  2336	023060	201 03 0 00 000004 		MOVEI	C,4		;SPACE FORWARD TO DIRECTORY FILE
  2337	023061	260 17 1 00 024145 		GO	@FORWRD		;  SMTAPE.MTA
  2338	023062	367 03 0 00 023061 		SOJG	C,.-1
  2339	023063	201 00 0 00 000005 		MOVEI	5		;SET CURRENT TAPE POSITION
  2340	023064	202 00 0 00 024007 		MOVEM	CURR		;TO FILE AFTER DIRECTORY
  2341	023065	476 00 0 00 024023 		SETOM	MAGONCE		;SET IN FILE FLAG
  2342	023066	260 17 1 00 024143 	LDDIRB:	GO	@READBL		;READ A BLOCK OF DIRECTORY
  2343	023067	260 17 0 00 023524 		GO	ERR13		;ERROR
  2344	023070	200 03 0 00 025000 		MOVE	C,RBUF		;COMPUTE CHECKSUM OF DIRECTORY RECORD
  2345	023071	201 01 0 00 025001 		MOVEI	A,RBUF+1	;INDEX TO DATA WORDS
  2346	023072	270 03 0 01 000000 	DIRCK:	ADD	C,(A)		;ADD ENTRIES OF CURRENT FILE
  2347	023073	270 03 0 01 000001 		ADD	C,1(A)
  2348	023074	270 03 0 01 000002 		ADD	C,2(A)
  2349	023075	271 01 0 00 000003 		ADDI	A,3		;INCREASE POINTER OVER ENTRY
  2350	023076	200 02 0 01 000000 		MOVE	B,(A)		;GET NEXT WORD
  2351	023077	603 02 0 00 770000 		TLNE	B,770000	;CHECK IF A FILE NAME
  2352	023100	254 00 0 00 023072 		JRST	DIRCK		;YES, ADD THIS ENTRY
  2353	023101	554 00 0 00 000003 		HLRZ	C		;GET LEFT HALF OF COMPUTED CHECKSUM
  2354	023102	271 00 0 03 000000 		ADDI	(C)		;ADD RIGHT HALF TO IT
  2355	023103	550 00 0 00 000000 		HRRZ			;STRIP TO 18 BITS
  2356	023104	302 00 0 02 000000 		CAIE	(B)		;COMPARE TO CHECKSUM FROM TAPE
  2357	023105	260 17 0 00 023524 		GO	ERR13		;CHECKSUM ERROR
  2358	023106	201 01 0 00 025001 		MOVEI	A,RBUF+1	;SET UP TO LOOK FOR FILE NAME
  2359	023107	260 17 0 00 023021 		GO	LOOKUP		;IN RECORD JUST READ
  2360	023110	254 00 0 00 023114 		JRST	LDDIRN		;NOT HERE, LOOK IN NEXT RECORD OF DIRECTORY
  2361	023111	200 00 0 00 023714 		MOVE	[RBUF,,TAB]	;TRANSFER THIS DIRECTORY
  2362	023112	251 00 0 00 026777 		BLT	TAB+MAGRCD-1	;INTO TAB
  2363	023113	254 00 0 00 022142 		JRST	DIAGLA		;GO POSITION TO FILE
  2364
  2365	023114	607 00 0 00 777777 	LDDIRN:	TLNN	-1		;CHECK IF LAST RECORD OF DIRECTORY
  2366	023115	254 00 0 00 023066 		JRST	LDDIRB		;NO, READ NEXT DATA BLOCK
  2367	023116	254 00 0 00 022164 		JRST	NFERR		;YES, FILE NOT FOUND
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 64
SMMAG	MAC	11-Apr-79 13:04		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0092

  2368					SUBTTL	EXEC MAGTAPE LOAD ROUTINES
  2369
  2370			000036		MSRH=	36		;RH-11 BASE ADDRESS
  2371			000037		MSDRIVE=37		;DRIVE NUMBER
  2372			000040		MSSLAVE=40		;SLAVE & FORMAT
  2373
  2374			001000		MAGRCD=	^D512		;SIZE OF MAGTAPE RECORD IN WORDS
  2375			000012		RETRY=	^D10		;RETRY COUNT
  2376
  2377					;*MAGTAPE CONTROL COMMANDS
  2378
  2379			000001		MT.NOP=	01		;NO-OP
  2380			000003		MT.RWO=	03		;REWIND OFF-LINE
  2381			000007		MT.RW=	07		;REWIND
  2382			000011		MT.DC=	11		;DRIVE CLEAR
  2383			000025		MT.ERS=	25		;ERASE
  2384			000027		MT.WTM=	27		;WRITE TAPE MARK
  2385			000031		MT.SF=	31		;SPACE FORWARD
  2386			000033		MT.SR=	33		;SPACE REVERSE
  2387			000051		MT.WCF=	51		;WRITE CHECK FORWARD
  2388			000057		MT.WCR=	57		;WRITE CHECK REVERSE
  2389			000061		MT.WF=	61		;WRITE FORWARD
  2390			000071		MT.RF=	71		;READ FORWARD
  2391			000077		MT.RR=	77		;READ REVERSE
  2392
  2393					;*MAGTAPE CONTROL AND STATUS 1 BITS
  2394
  2395			100000		MTSC=	100000		;SPECIAL CONDITION
  2396			040000		MTTRE=	40000		;TRANSFER ERROR
  2397			020000		MTMCPE=	20000		;MASSBUS CONTROL PARITY ERROR
  2398			004000		MTDVA=	4000		;DRIVE AVAILABLE
  2399			002000		MTPSEL=	2000		;PORT SELECT
  2400			000200		MTRDY=	200		;READY
  2401			000100		MTIE=	100		;INTERRUPT ENABLE
  2402
  2403			000023		RH.PA=	23		;RP0X PACK ACK
  2404			000011		RH.DC=	11		;RP0X DRIVE CLEAR
  2405			000021		RH.RIP=	21		;RP0X READ-IN PRESET
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 65
SMMAG	MAC	11-Apr-79 13:04		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0093

  2406					;*MAGTAPE CONTROL AND STATUS REG 2 BITS
  2407
  2408			100000		MTDLT=	100000		;DATA LATE
  2409			040000		MTWCE=	40000		;WRITE CHECK ERROR
  2410			020000		MTPE=	20000		;PARITY ERROR
  2411			010000		MTNED=	10000		;NON-EXISTENT DRIVE
  2412			004000		MTNEM=	4000		;NON-EXISTENT MEMORY
  2413			002000		MTPGE=	2000		;PROGRAM ERROR
  2414			001000		MTMXF=	1000		;MISSED TRANSFER
  2415			000400		MTMDPE=	400		;MASSBUS DATA PARITY ERROR
  2416			000200		MTOR=	200		;OUTPUT READY
  2417			000100		MTIR=	100		;INPUT READY
  2418			000040		MTCLR=	40		;CONTROLLER CLEAR
  2419			000020		MTPAT=	20		;PARITY TEST
  2420			000010		MTBAI=	10		;BUS ADR INCREMENT INHIBIT
  2421
  2422					;*MAGTAPE DRIVE STATUS REG BITS
  2423
  2424			100000		MTATA=	100000		;ATTENTION
  2425			040000		MTERR=	40000		;ERROR
  2426			020000		MTPIP=	20000		;POSITIONING IN PROGRESS
  2427			010000		MTMOL=	10000		;MEDIUM ON-LINE
  2428			004000		MTWRL=	4000		;WRITE LOCKED
  2429			002000		MTEOT=	2000		;END OF TAPE
  2430			000400		MTDPR=	400		;DRIVE PRESENT
  2431			000200		MTDRY=	200		;DRIVE READY
  2432			000100		MTSSC=	100		;SLAVE STATUS CHANGE
  2433			000040		MTPES=	40		;PHASE ENCODED
  2434			000020		MTSDWN=	20		;SLOWING DOWN
  2435			000010		MTIDB=	10		;IDENTIFICATION BURST
  2436			000004		MTTM=	4		;TAPE MARK
  2437			000002		MTBOT=	2		;BEGINNING OF TAPE
  2438			000001		MTSLA=	1		;SLAVE ATTENTION
  2439
  2440					;*MAGTAPE ERROR REG BITS
  2441
  2442			100000		MTCOR=	100000		;CORRECTABLE DATA ERROR
  2443			040000		MTUNS=	40000		;UNSAFE
  2444			020000		MTOPI=	20000		;OPERATION INCOMPLETE
  2445			010000		MTDTE=	10000		;DRIVE TIMING ERROR
  2446			004000		MTNEF=	4000		;NON-EXECUTABLE FUNCTION
  2447			002000		MTCS=	2000		;CORRECTABLE SKEW
  2448			001000		MTFCE=	1000		;FRAME COUNT ERROR
  2449			000400		MTNSG=	400		;NON STANDARD GAP
  2450			000200		MTPEF=	200		;PE FORMAT ERROR
  2451			000100		MTINC=	100		;INCORRECTABLE DATA
  2452			000040		MTDPAR=	40		;DATA BUS PARITY
  2453			000020		MTFMT=	20		;FORMAT ERROR
  2454			000010		MTCPAR=	10		;CONTROL BUS PARITY
  2455			000004		MTRMR=	4		;REGISTER MODIFICATION REFUSED
  2456			000002		MTILR=	2		;ILLEGAL REGISTER
  2457			000001		MTILF=	1		;ILLEGAL FUNCTION
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 66
SMMAG	MAC	11-Apr-79 13:04		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0094

  2458					;*MAGTAPE TAPE CONTROL BITS
  2459
  2460			100000		MTACCL=	100000		;ACCELERATION
  2461			040000		MTFCS=	40000		;FRAME CONTROL STATUS
  2462			020000		MTTCW=	20000		;TAPE CONTROL WRITE
  2463			010000		MTEOA=	10000		;ENABLE ABORT ON DTATA TRANSFER ERROR
  2464
  2465			000000		MT200=	0		;200 BPI
  2466			000400		MT556=	400		;556 BPI
  2467			001000		MT800=	1000		;800 BPI
  2468			002000		MT1600=	2000		;1600 BPI
  2469
  2470			000000		MTFMT1=	0		;FORMAT ?????
  2471
  2472			000010		MTEVP=	10		;EVEN PARITY
  2473
  2474					;*UNIBUS DEFINITIONS
  2475
  2476			002000		MTPGSZ=	^D512*2			;PAGE SIZE FOR MAGTAPE TRANSFER
  2477
  2478			763000		MTUBP0=	763000			;ADDRESS OF UNIBUS MAP
  2479			040000		UNVBIT=	40000			;VALID UNIBUS BIT
  2480			010000		UNV36X=	10000			;36 BIT UNIBUS TRANSFER
  2481			020000		UNVDPB=	20000			;DISABLE UNIBUS PARITY BITS
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 67
SMMAG	MAC	11-Apr-79 13:04		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0095

  2482	023117	260 17 0 00 022043 	RH11DV:	GO	UNIT		;GET UNIT NUMBER
  2483	023120	303 00 0 00 000077 		CAILE	77		;CHECK IF LEGAL
  2484	023121	254 00 0 00 021753 		JRST	EXECDV		;NO, ERROR
  2485	023122	261 17 0 00 000000 		PUT	0
  2486	023123	405 00 0 00 000007 		ANDI	0,7
  2487	023124	202 00 0 00 024030 		MOVEM	0,MTSLAVE#	;SAVE SLAVE NUMBER
  2488	023125	262 17 0 00 000000 		GET	0
  2489	023126	242 00 0 00 777775 		LSH	-3
  2490	023127	405 00 0 00 000007 		ANDI	0,7
  2491	023130	202 00 0 00 024026 		MOVEM	0,MTDRIVE#	;SAVE DRIVE NUMBER
  2492
  2493	023131	201 02 0 00 001000 		MOVEI	B,MT800		;SET DENSITY CODE TO 800 BPI
  2494	023132	260 17 0 00 021744 		GO	ASKDEN		;ASK WHICH DENSITY
  2495	023133	201 02 0 00 002000 		MOVEI	B,MT1600	;MAKE IT 1600 BPI
  2496	023134	202 02 0 00 024025 		MOVEM	B,MTDENSITY#	;SAVE DENSITY
  2497
  2498	023135	201 00 0 00 000000 	RH11DX:	MOVEI	MTFMT1
  2499	023136	202 00 0 00 024027 		MOVEM	MTFORMAT#	;SET MAGTAPE FORMAT
  2500
  2501	023137	200 00 0 00 023721 		MOVE	[[EXP MSREAD,MSREVS,MSFORW,MSREW],,READBL]
  2502	023140	251 00 0 00 024146 		BLT	REW		;SET UP DISPATCH LOCATIONS TO MS ROUTINES
  2503
  2504	023141	260 17 0 00 023161 		GO	MSRSET		;RESET THE CONTROLLER
  2505	023142	254 00 0 00 021753 		JRST	EXECDV		;NO DRIVE THERE, ERROR
  2506
  2507	023143	263 17 0 00 000000 		RTN
  2508
  2509					;*AUTORH - AUTO SELECT DRIVE
  2510
  2511	023144	200 00 0 00 000036 	AUTORH:	MOVE	MSRH
  2512	023145	336 00 0 00 000000 		SKIPN
  2513	023146	254 00 0 00 021663 		JRST	DEVSEL		;NO RH-11 BASE ADDRESS
  2514	023147	260 17 0 00 021771 		GO	EXEDXX		;SETUP INDIRECT POINTER TABLE
  2515	023150	200 00 0 00 000037 		MOVE	MSDRIVE
  2516	023151	202 00 0 00 024026 		MOVEM	MTDRIVE		;SETUP DRIVE
  2517	023152	200 00 0 00 000040 		MOVE	MSSLAVE
  2518	023153	405 00 0 00 000007 		ANDI	7
  2519	023154	202 00 0 00 024030 		MOVEM	MTSLAVE		;SETUP SLAVE
  2520	023155	200 00 0 00 000040 		MOVE	MSSLAVE
  2521	023156	405 00 0 00 177770 		ANDI	177770
  2522	023157	202 00 0 00 024025 		MOVEM	MTDENSITY	;SETUP DENSITY
  2523	023160	254 00 0 00 023135 		JRST	RH11DX		;DO REST
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 68
SMMAG	MAC	11-Apr-79 13:04		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0096

  2524					;*MSRSET, MAGTAPE RESET & SELECTION
  2525
  2526	023161	201 01 0 00 000040 	MSRSET:	MOVEI	T1,MTCLR
  2527	023162	713 01 1 00 023370 		WRIO	T1,@MTCS2	;CLEAR MAGTAPE
  2528
  2529	023163	200 01 0 00 024026 		MOVE	T1,MTDRIVE
  2530	023164	713 01 1 00 023370 		WRIO	T1,@MTCS2	;SELECT DRIVE
  2531
  2532	023165	712 01 1 00 023364 		RDIO	T1,@MTCS1	;IS DRIVE AVAILABLE
  2533	023166	606 01 0 00 004000 		TRNN	T1,MTDVA
  2534	023167	254 00 0 00 023273 		 JRST	RSET1		;NO
  2535
  2536	023170	200 01 0 00 024030 		MOVE	T1,MTSLAVE	;GET SLAVE NUMBER
  2537	023171	434 01 0 00 024025 		OR	T1,MTDENSITY	;SET DENSITY
  2538	023172	434 01 0 00 024027 		OR	T1,MTFORMAT	;SET FORMAT
  2539	023173	713 01 1 00 023401 		WRIO	T1,@MTTC	;SELECT DRIVE
  2540
  2541	023174	712 01 1 00 023371 		RDIO	T1,@MTDS	;READ DRIVE STATUS
  2542	023175	602 01 0 00 140000 		TRNE	T1,MTATA!MTERR
  2543	023176	254 00 0 00 023276 		 JRST	RSET2		;ERROR IN DRIVE
  2544
  2545	023177	640 01 0 00 010600 		TRC	T1,MTMOL!MTDPR!MTDRY
  2546	023200	642 01 0 00 010600 		TRCE	T1,MTMOL!MTDPR!MTDRY
  2547	023201	254 00 0 00 023301 		 JRST	RSET3		;ERROR IN DRIVE
  2548
  2549	023202	712 01 1 00 023377 		RDIO	T1,@MTDT	;READ DRIVE TYPE
  2550	023203	606 01 0 00 040000 		TRNN	T1,040000
  2551	023204	254 00 0 00 023304 		 JRST	RSET4		;NOT A TU16/TU45 MAGTAPE
  2552
  2553	023205	400 01 0 00 000000 		SETZ	T1,
  2554	023206	713 01 1 00 023367 		WRIO	T1,@MTFC	;CLEAR FRAME COUNTER
  2555
  2556	023207	254 00 0 00 020406 		JRST	CPOPJ1		;OK, SKIP RETURN
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 69
SMMAG	MAC	11-Apr-79 13:04		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0097

  2557	023210	201 04 0 00 000071 	MSREAD:	MOVEI	T4,MT.RF	;MAGTAPE READ
  2558
  2559	023211	261 17 0 00 000011 		PUT	P2
  2560	023212	201 11 0 00 000012 		MOVEI	P2,RETRY	;RETRY COUNTER
  2561
  2562	023213	260 17 0 00 023161 	MSRTRY:	GO	MSRSET		;RESET THE RH11
  2563	023214	260 17 0 00 023526 		 GO	ERR14		;DRIVE NOT THERE
  2564
  2565	023215	201 01 0 00 025000 		MOVEI	T1,RBUF		;SET BUFFER ADDRESS
  2566	023216	261 17 0 00 000001 		PUT	T1
  2567	023217	242 01 0 00 777767 		LSH	T1,-^D9
  2568	023220	435 01 0 00 040000 	$MSUVB:	IORI	T1,UNVBIT
  2569	023221	713 01 1 00 023402 		WRIO	T1,@UNBMP0	;SET UNIBUS MAP
  2570
  2571	023222	262 17 0 00 000001 		GET	T1
  2572	023223	405 01 0 00 000777 		ANDI	T1,777
  2573	023224	242 01 0 00 000002 		LSH	T1,2		;CHANGE PAGE ADDRESS TO -11 ADR
  2574	023225	713 01 1 00 023366 		WRIO	T1,@MTBA	;SET UNIBUS ADDRESS
  2575
  2576	023226	211 01 0 00 002000 		MOVNI	T1,MTPGSZ
  2577	023227	713 01 1 00 023365 		WRIO	T1,@MTWC	;SET TRANSFER SIZE
  2578
  2579	023230	260 17 0 00 023307 		GO	DOIO		;DO I/O
  2580	023231	322 01 0 00 023251 		JUMPE	T1,EOFXIT	;END-OF-FILE
  2581	023232	327 01 0 00 023235 		JUMPG	T1,RWSXIT	;IF NO ERRORS, SUCCESS
  2582	023233	367 11 0 00 023253 		SOJG	P2,MSRTRX	;ERROR, GO RETRY
  2583	023234	254 00 0 00 023245 		JRST	RWFXIT		;FAILED
  2584
  2585	023235	712 01 1 00 023366 	RWSXIT:	RDIO	T1,@MTBA	;GET COMPLETION ADDRESS
  2586	023236	405 01 0 00 007777 		ANDI	T1,7777
  2587	023237	271 01 0 00 000002 		ADDI	T1,2		;ROUND UP
  2588	023240	242 01 0 00 777776 		LSH	T1,-2		;CONVERT TO -10 ADDRESS
  2589	023241	202 01 0 00 024231 		MOVEM	T1,LDBUF+2	;USE FOR WORD COUNT
  2590	023242	201 01 0 00 024777 		MOVEI	T1,LDBF+2
  2591	023243	542 01 0 00 024230 		HRRM	T1,LDBUF+1	;SETUP BUFFER START ADDRESS
  2592
  2593	023244	350 00 0 17 777777 		AOS	-1(P)		;SKIP RETURN
  2594
  2595	023245	7 010 24 0 00 000011 	RWFXIT:	CONI	PAG,P2		;FLUSH CACHE IF ON
  2596	023246	7 010 20 0 11 000000 		CONO	PAG,(P2)
  2597	023247	262 17 0 00 000011 		GET	P2
  2598	023250	263 17 0 00 000000 		RTN
  2599
  2600	023251	402 00 0 00 024023 	EOFXIT:	SETZM	MAGONCE		;EOF, SET TAPE AT START OF FILE
  2601	023252	254 00 0 00 023245 		JRST	RWFXIT		;NON-SKIP RETURN
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 70
SMMAG	MAC	11-Apr-79 13:04		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0098

  2602	023253	260 17 0 00 023161 	MSRTRX:	GO	MSRSET		;RESET
  2603	023254	260 17 0 00 023526 		 GO	ERR14
  2604
  2605	023255	211 01 0 00 000001 		MOVNI	T1,1
  2606	023256	713 01 1 00 023367 		WRIO	T1,@MTFC	;SET FRAME COUNT TO -1
  2607
  2608	023257	201 01 0 00 000033 		MOVEI	T1,MT.SR
  2609	023260	713 01 1 00 023364 		WRIO	T1,@MTCS1	;BACKSPACE THE TAPE
  2610
  2611	023261	260 17 0 00 023264 		GO	MSRDY		;WAIT TILL READY
  2612	023262	260 17 0 00 023520 		 GO	ERR11		;ERROR
  2613
  2614	023263	254 00 0 00 023213 		JRST	MSRTRY		;NOW TRY AGAIN
  2615
  2616	023264	712 01 1 00 023371 	MSRDY:	RDIO	T1,@MTDS	;READ STATUS
  2617
  2618	023265	606 01 0 00 020000 		TRNN	T1,MTPIP	;LOOK FOR DRIVE READY
  2619	023266	606 01 0 00 000200 		TRNN	T1,MTDRY	; & POSITIONING NOT IN PROGRESS
  2620	023267	254 00 0 00 023264 		JRST	MSRDY
  2621
  2622	023270	606 01 0 00 040000 		TRNN	T1,MTERR	;ANY ERRORS ?
  2623	023271	350 00 0 17 000000 		AOS	(P)		;NO, SKIP RETURN
  2624	023272	263 17 0 00 000000 		RTN
  2625											SALL
  2626	023273	201 00 0 00 023722 	RSET1:	PMSG	<?NOT AVAIL>
  2627	023274	260 17 0 00 021101 
  2628	023275	263 17 0 00 000000 		RTN
  2629	023276	201 00 0 00 023724 	RSET2:	PMSG	<?ERROR IN DRIVE>
  2630	023277	260 17 0 00 021101 
  2631	023300	263 17 0 00 000000 		RTN
  2632	023301	201 00 0 00 023727 	RSET3:	PMSG	<?MOL ERROR>
  2633	023302	260 17 0 00 021101 
  2634	023303	263 17 0 00 000000 		RTN
  2635	023304	201 00 0 00 023731 	RSET4:	PMSG	<?NOT A TAPE>
  2636	023305	260 17 0 00 021101 
  2637	023306	263 17 0 00 000000 		RTN
  2638											LALL
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 71
SMMAG	MAC	11-Apr-79 13:04		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0099

  2639					;*DOIO, PERFORM MAGTAPE OPERATION
  2640
  2641	023307	713 04 1 00 023364 	DOIO:	WRIO	T4,@MTCS1	;DO COMMAND
  2642
  2643					;*WAIT, WAIT FOR COMPLETION OR ERROR
  2644
  2645	023310	205 01 0 00 000002 	WAIT:	MOVSI	T1,2		;SET DELAY COUNT
  2646
  2647	023311	201 02 0 00 060200 		MOVEI	T2,MTTRE!MTMCPE!MTRDY
  2648	023312	711 02 1 00 023364 		TION	T2,@MTCS1	;WAIT
  2649	023313	367 01 0 00 023311 		SOJG	T1,WAIT+1
  2650	023314	323 01 0 00 023326 		JUMPLE	T1,WAITF	;TIMEOUT RETURN
  2651
  2652	023315	712 02 1 00 023371 		RDIO	T2,@MTDS	;READ DRIVE STATUS
  2653	023316	602 02 0 00 000004 		TRNE	T2,MTTM		;TAPE MARK ? (EOF)
  2654	023317	254 00 0 00 023324 		JRST	WEOF		;YES, GIVE END-OF-FILE RETURN
  2655
  2656	023320	712 02 1 00 023372 		RDIO	T2,@MTER	;READ ERROR REGISTER
  2657	023321	602 02 0 00 176777 		TRNE	T2,177777-MTFCE
  2658	023322	254 00 0 00 023326 		JRST	WAITF		;ERROR OTHER THAN LENGTH ERROR
  2659	023323	263 17 0 00 000000 		RTN			;OK
  2660
  2661	023324	400 01 0 00 000000 	WEOF:	SETZ	T1,		;EOF, SET T1=0 AS FLAG
  2662	023325	263 17 0 00 000000 		RTN
  2663
  2664	023326	474 01 0 00 000000 	WAITF:	SETO	T1,		;ERROR, SET T1=-1 AS FLAG
  2665	023327	263 17 0 00 000000 		RTN
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 72
SMMAG	MAC	11-Apr-79 13:04		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0100

  2666	023330	260 17 0 00 023161 	MSREVS:	GO	MSRSET		;RESET ERROR STATUS
  2667	023331	260 17 0 00 023526 		 GO	ERR14
  2668
  2669	023332	201 01 0 00 000033 		MOVEI	T1,MT.SR
  2670	023333	713 01 1 00 023364 		WRIO	T1,@MTCS1	;BACKSPACE THE TAPE
  2671
  2672	023334	260 17 0 00 023264 		GO	MSRDY		;WAIT TILL DONE
  2673	023335	255 00 0 00 000000 		JFCL
  2674	023336	602 01 0 00 000004 		TRNE	T1,MTTM		;IS TAPE MARK SET ?
  2675	023337	263 17 0 00 000000 		RTN			;YES, OK
  2676
  2677	023340	201 00 0 00 777777 		MOVEI	-1		;NO, SET POSITION UNKNOWN
  2678	023341	202 00 0 00 024023 		MOVEM	MAGONCE
  2679	023342	254 00 0 00 022132 		JRST	DIAGLD		;REWIND AND START OVER
  2680
  2681	023343	260 17 0 00 023161 	MSFORW:	GO	MSRSET		;RESET ERROR STATUS
  2682	023344	260 17 0 00 023526 		 GO	ERR14
  2683
  2684	023345	201 01 0 00 000031 		MOVEI	T1,MT.SF
  2685	023346	713 01 1 00 023364 		WRIO	T1,@MTCS1	;FORWARD SPACE THE TAPE
  2686
  2687	023347	260 17 0 00 023264 		GO	MSRDY		;WAIT TILL DONE
  2688	023350	255 00 0 00 000000 		JFCL
  2689	023351	606 01 0 00 000004 		TRNN	T1,MTTM		;SKIP IF TAPE MARK SET
  2690	023352	260 17 0 00 023522 		GO	ERR12		;ERROR
  2691	023353	263 17 0 00 000000 		RTN
  2692
  2693	023354	260 17 0 00 023161 	MSREW:	GO	MSRSET		;RESET ERROR STATUS
  2694	023355	260 17 0 00 023526 		 GO	ERR14
  2695
  2696	023356	201 01 0 00 000007 		MOVEI	T1,MT.RW
  2697	023357	713 01 1 00 023364 		WRIO	T1,@MTCS1	;REWIND
  2698
  2699	023360	260 17 0 00 023264 		GO	MSRDY		;WAIT TILL DONE
  2700	023361	255 00 0 00 000000 		JFCL
  2701	023362	402 00 0 00 024007 		SETZM	CURR		;MARK CURRENT FILE AT 0
  2702	023363	263 17 0 00 000000 		RTN
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 73
SMMAG	MAC	11-Apr-79 13:04		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0101

  2703					;*MT11CH, CHANNEL TABLE FOR MAGTAPE
  2704
  2705	023364	000000	000000		MTCS1:	0			;STATUS 1
  2706	023365	000000	000000		MTWC:	0			;WORD COUNT
  2707	023366	000000	000000		MTBA:	0			;BUS ADDRESS
  2708	023367	000000	000000		MTFC:	0			;FRAME COUNT
  2709	023370	000000	000000		MTCS2:	0			;STATUS 2
  2710	023371	000000	000000		MTDS:	0			;DRIVE STATUS
  2711	023372	000000	000000		MTER:	0			;ERROR
  2712	023373	000000	000000		MTAS:	0			;ATTENTION SUMMARY
  2713	023374	000000	000000		MTCC:	0			;CHARACTER CHECK
  2714	023375	000000	000000		MTDB:	0			;DATA BUFFER
  2715	023376	000000	000000		MTMR:	0			;MAINTENANCE REG
  2716	023377	000000	000000		MTDT:	0			;DRIVE TYPE
  2717	023400	000000	000000		MTSN:	0			;SERIAL NUMBER
  2718	023401	000000	000000		MTTC:	0			;TAPE CONTROL
  2719	023402	000000	000000		UNBMP0:	0			;UNIBUS MAP ADDRESS
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 74
SMMAG	MAC	11-Apr-79 13:04		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0102

  2720					;*SMMON, SMMAG, SMAPT - LOAD DIAGNOSTIC MONITOR'S
  2721
  2722					SMMON:	MOVEI	IP,[SIXBIT/SMMON/
  2723	023403	201 16 0 00 023733 			    0]
  2724	023404	254 00 0 00 023410 		JRST	SMAPT+1
  2725
  2726					SMMAG:	MOVEI	IP,[SIXBIT/SMMAG/
  2727	023405	201 16 0 00 023735 			    0]
  2728	023406	254 00 0 00 023410 		JRST	SMAPT+1
  2729
  2730					SMAPT:	MOVEI	IP,[SIXBIT/SMAPT/
  2731	023407	201 16 0 00 023737 			    0]
  2732
  2733	023410	476 00 0 00 024124 		SETOM	LDDMON
  2734	023411	260 17 0 00 022130 		GO	DIAGLD-2
  2735	023412	254 00 0 00 020114 		JRST	SELX1
  2736	023413	254 04 0 00 023413 		HALT	.
  2737
  2738	023414	402 00 0 00 030000 	CLRCR2:	SETZM	30000
  2739	023415	200 00 0 00 023741 		MOVE	[30000,,30001]
  2740	023416	251 00 0 00 037777 		BLT	37777
  2741	023417	263 17 0 00 000000 		RTN
  2742
  2743	023420	402 00 0 00 000036 	STARTM:	SETZM	MSRH		;NO AUTO SELECT
  2744	023421	550 04 0 00 000004 		HRRZ	W,W
  2745	023422	200 00 0 00 023742 		MOVE	[30000,,20000]	;TRANSFER DIAG MON
  2746	023423	200 01 0 00 023743 		MOVE	1,[BLT	27767]	;TO CORRECT PLACE
  2747	023424	200 02 0 00 023744 		MOVE	2,[JRST	@W]	;START IT
  2748	023425	254 00 0 00 000001 		JRST	1
  2749
  2750	023426	305 13 0 00 001000 	LDTEN3:	CAIGE	13,1000		;LOAD 0 TO 777 DIRECT
  2751	023427	254 00 0 00 022406 		JRST	LDTEN2
  2752	023430	305 13 0 00 020000 		CAIGE	13,20000
  2753	023431	260 17 0 00 023434 		GO	LDTEN4		;BAD DIAG MON ADDRESS
  2754	023432	271 13 0 00 010000 		ADDI	13,10000	;OFFSET LOAD
  2755	023433	254 00 0 00 022406 		JRST	LDTEN2
  2756
  2757	023434	200 01 0 00 023745 	LDTEN4:	MOVE	A,[SIXBIT/BADADR/]
  2758	023435	254 00 0 00 023445 		JRST	ERROR
  2759
  2760	023436	550 00 0 00 000007 	RFILL4:	HRRZ	0,M
  2761	023437	305 00 0 00 000777 		CAIGE	0,777		;LOAD 0 TO 777 DIRECT
  2762	023440	254 00 0 00 022610 		JRST	RFILL2
  2763	023441	305 00 0 00 017777 		CAIGE	0,17777
  2764	023442	260 17 0 00 023434 		GO	LDTEN4		;BAD DIAG MON ADDRESS
  2765	023443	271 07 0 00 010000 		ADDI	M,10000		;OFFSET LOAD
  2766	023444	254 00 0 00 022610 		JRST	RFILL2
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 75
SMMAG	MAC	11-Apr-79 13:04		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0103

  2767					;*ERROR - ERROR REPORTING
  2768
  2769	023445	261 17 0 00 000001 	ERROR:	PUSH	P,1
  2770	023446	260 17 0 00 021227 		GO	CRLF1
  2771	023447	201 00 0 00 000077 		MOVEI	"?"
  2772	023450	260 17 0 00 021166 		GO	PRINT
  2773	023451	262 17 0 00 000001 		POP	P,1
  2774	023452	260 17 0 00 020332 		GO	SIXBP
  2775						PMSG	< ERROR AT >^
  2776	023453	201 00 0 00 023746 		MOVEI	[SIXBIT\ ERROR AT _\]
  2777	023454	260 17 0 00 021101 		PNTMSG^
  2778	023455	262 17 0 00 000000 		GET	0
  2779	023456	370 00 0 00 000000 		SOS
  2780	023457	260 17 0 00 021150 		GO	PNTOCT		;PRINT PC OF ERROR
  2781	023460	201 00 0 00 000040 		MOVEI	" "
  2782	023461	260 17 0 00 021166 		GO	PRINT
  2783	023462	260 17 0 00 020322 		GO	NAMPNT
  2784	023463	201 00 0 00 777777 		MOVEI	-1		;SET MAGTAPE FLAG TO NOTE
  2785	023464	202 00 0 00 024023 		MOVEM	MAGONCE		;MAGTAPE POSITION IS UNKNOWN
  2786	023465	336 00 0 00 020014 		SKIPN	ONCE		;INITIAL LOAD ERROR ?
  2787	023466	254 00 0 00 020114 		JRST	SELX1		;YES
  2788	023467	332 00 0 00 024112 		SKIPE	PGMGO
  2789	023470	254 00 0 00 020024 		JRST	SELECT
  2790	023471	254 00 0 00 020636 		JRST	RUN
  2791
  2792					;*NFERR1 - PROGRAM NOT FOUND ERROR
  2793
  2794	023472				NFERR1:	PMSG	<^?PROGRAM NOT FOUND - >^
  2795	023472	201 00 0 00 023750 		MOVEI	[SIXBIT\^?PROGRAM NOT FOUND - _\]
  2796	023473	260 17 0 00 021101 		PNTMSG^
  2797	023474	260 17 0 00 020322 		GO	NAMPNT
  2798	023475	263 17 0 00 000000 		RTN
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 76
SMMAG	MAC	11-Apr-79 13:04		ERROR REPORTER                                                                     SEQ 0104

  2799					SUBTTL	ERROR REPORTER
  2800
  2801					;*ERROR REPORT MESSAGES
  2802
  2803	023476				ERR2:
  2804	023476	200 01 0 00 023754 	LERR2:	MOVE	A,[SIXBIT/ILLEOF/]
  2805	023477	254 00 0 00 023445 		JRST	ERROR
  2806	023500	200 01 0 00 023755 	LERR3:	MOVE	A,[SIXBIT/FLTYPE/]
  2807	023501	254 00 0 00 023445 		JRST	ERROR
  2808	023502	200 01 0 00 023756 	LERR4:	MOVE	A,[SIXBIT/FORMAT/]
  2809	023503	254 00 0 00 023445 		JRST	ERROR
  2810	023504	200 01 0 00 023757 	LERR5:	MOVE	A,[SIXBIT/CKSUM/]
  2811	023505	254 00 0 00 023445 		JRST	ERROR
  2812
  2813	023506	200 01 0 00 023760 	ERR6:	MOVE	A,[SIXBIT/1STPTR/]
  2814	023507	254 00 0 00 023445 		JRST	ERROR
  2815	023510	200 01 0 00 023761 	ERR7:	MOVE	A,[SIXBIT/STADR/]
  2816	023511	254 00 0 00 023445 		JRST	ERROR
  2817	023512	200 01 0 00 023762 	ERR8:	MOVE	A,[SIXBIT/OPEN/]
  2818	023513	254 00 0 00 023445 		JRST	ERROR
  2819	023514	200 01 0 00 023763 	ERR9:	MOVE	A,[SIXBIT/READ/]
  2820	023515	254 00 0 00 023445 		JRST	ERROR
  2821	023516	200 01 0 00 023764 	ERR10:	MOVE	A,[SIXBIT/CORE/]
  2822	023517	254 00 0 00 023445 		JRST	ERROR
  2823	023520	200 01 0 00 023765 	ERR11:	MOVE	A,[SIXBIT/BKSPAC/]
  2824	023521	254 00 0 00 023445 		JRST	ERROR
  2825	023522	200 01 0 00 023766 	ERR12:	MOVE	A,[SIXBIT/SKPFIL/]
  2826	023523	254 00 0 00 023445 		JRST	ERROR
  2827	023524	200 01 0 00 023767 	ERR13:	MOVE	A,[SIXBIT/DIR RD/]
  2828	023525	254 00 0 00 023445 		JRST	ERROR
  2829	023526	200 01 0 00 023770 	ERR14:	MOVE	A,[SIXBIT/DEVICE/]
  2830	023527	254 00 0 00 023445 		JRST	ERROR
  2831	023530	200 01 0 00 023771 	ERR15:	MOVE	A,[SIXBIT/DENSET/]
  2832	023531	254 00 0 00 023445 		JRST	ERROR
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 77
SMMAG	MAC	11-Apr-79 13:04		STORAGE ASSIGNMENTS                                                                SEQ 0105

  2833					SUBTTL	STORAGE ASSIGNMENTS
  2834	023532					LIT
  2835	023532	777740	024052
  2836	023533	000001	000001
  2837	023534	024112	024113
  2838	023535	63 65 42 62 64 56 
  2839	023536	63 65 42 65 63 62 
  2840	023537	000000	000000
  2841	023540	63 65 42 63 55 00 
  2842	023541	000000	000000
  2843	023542	63 55 44 44 64 00 
  2844	023543	000000	000000
  2845	023544	00 43 55 44 00 15 
  2846	023545	00 77 00 00 00 00 
  2847	023546	76 46 51 54 45 16 
  2848	023547	45 70 64 00 15 00 
  2849	023550	77 00 00 00 00 00 
  2850	023551	56 57 00 50 45 54 
  2851	023552	60 77 00 00 00 00 
  2852	023553	76 56 41 55 45 75 
  2853	023554	60 41 63 63 45 63 
  2854	023555	75 62 50 00 63 67 
  2855	023556	63 75 51 64 45 62 
  2856	023557	41 64 51 57 56 63 
  2857	023560	76 77 00 00 00 00 
  2858	023561	44 07 0 00 031000 
  2859	023562	70 70 70 76 77 00 
  2860	023563	76 37 43 55 44 54 
  2861	023564	63 64 00 64 57 57 
  2862	023565	00 54 57 56 47 77 
  2863	023566	76 05 65 63 45 62 
  2864	023567	00 57 56 54 71 77 
  2865	023570	76 05 45 70 45 43 
  2866	023571	00 57 56 54 71 77 
  2867	023572	76 05 65 56 43 50 
  2868	023573	41 51 56 41 42 54 
  2869	023574	45 15 77 00 00 00 
  2870	023575	254 00 1 00 027774 
  2871	023576	165742	335216
  2872	023577	00 60 41 63 63 00 
  2873	023600	77 00 00 00 00 00 
  2874	023601	76 43 55 44 07 63 
  2875	023602	00 62 45 61 65 51 
  2876	023603	62 45 44 77 00 00 
  2877	023604	76 71 00 57 62 00 
  2878	023605	41 00 46 57 62 00 
  2879	023606	63 60 45 43 51 41 
  2880	023607	54 00 65 63 45 62 
  2881	023610	00 55 57 44 45 00 
  2882	023611	15 00 77 00 00 00 
  2883	023612	557776	557777
  2884	023613	000002	000002
  2885	023614	017160	017400
  2886	023615	264 00 0 00 021016 
  2887	023616	140000	400017
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 77-1
SMMAG	MAC	11-Apr-79 13:04		STORAGE ASSIGNMENTS                                                                SEQ 0106

  2888	023617	140000	400000
  2889	023620	76 37 55 65 65 57 
  2890	023621	00 45 62 62 57 62 
  2891	023622	76 77 00 00 00 00 
  2892	023623	76 37 65 63 45 62 
  2893	023624	00 64 62 41 60 00 
  2894	023625	45 62 62 57 62 76 
  2895	023626	77 00 00 00 00 00 
  2896	023627	400000	000000
  2897	023630	44 07 0 00 021315 
  2898	023631	104 104 124 000 000 
  2899	023632	54 50 00 63 67 63 
  2900	023633	00 15 00 77 00 00 
  2901	023634	540000	540001
  2902	023635	76 44 45 66 32 10 
  2903	023636	43 62 00 46 57 62 
  2904	023637	00 44 63 53 11 00 
  2905	023640	15 00 77 00 00 00 
  2906	023641	000201	025201
  2907	023642	000000	001002
  2908	023643	000000	000016
  2909	023644	000002	023642
  2910	023645	001001	024776
  2911	023646	000000	022731
  2912	023647	000000	022737
  2913	023650	000000	022741
  2914	023651	000000	022743
  2915	023652	023646	024143
  2916	023653	21 26 20 20 00 42 
  2917	023654	60 51 00 37 00 15 
  2918	023655	00 77 00 00 00 00 
  2919	023656	76 65 42 41 00 03 
  2920	023657	00 15 00 77 00 00 
  2921	023660	000003	772440
  2922	023661	000001	772440
  2923	023662	000002	772440
  2924	023663	44 62 51 66 45 00 
  2925	023664	06 00 63 54 41 66 
  2926	023665	45 00 03 03 00 15 
  2927	023666	00 77 00 00 00 00 
  2928	023667	63 55 64 41 60 45 
  2929	023670	55 64 41 00 00 00 
  2930	023671	000001	024201
  2931	023672	35 07 0 00 000004 
  2932	023673	26 07 0 00 000004 
  2933	023674	17 07 0 00 000004 
  2934	023675	10 07 0 00 000004 
  2935	023676	01 07 0 00 000004 
  2936	023677	22 10 0 00 024004 
  2937	023700	32 10 0 00 024004 
  2938	023701	00 10 0 00 024004 
  2939	023702	10 10 0 00 024004 
  2940	023703	476 00 0 00 024020 
  2941	023704	254 00 0 00 022273 
  2942	023705	024152	024153
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 77-2
SMMAG	MAC	11-Apr-79 13:04		STORAGE ASSIGNMENTS                                                                SEQ 0107

  2943	023706	10 02 0 00 024152 
  2944	023707	00 10 0 00 024152 
  2945	023710	400000	024776
  2946	023711	000201	025404
  2947	023712	000201	024776
  2948	023713	000003	024147
  2949	023714	025000	026000
  2950	023715	000000	023210
  2951	023716	000000	023330
  2952	023717	000000	023343
  2953	023720	000000	023354
  2954	023721	023715	024143
  2955	023722	37 56 57 64 00 41 
  2956	023723	66 41 51 54 77 00 
  2957	023724	37 45 62 62 57 62 
  2958	023725	00 51 56 00 44 62 
  2959	023726	51 66 45 77 00 00 
  2960	023727	37 55 57 54 00 45 
  2961	023730	62 62 57 62 77 00 
  2962	023731	37 56 57 64 00 41 
  2963	023732	00 64 41 60 45 77 
  2964	023733	63 55 55 57 56 00 
  2965	023734	000000	000000
  2966	023735	63 55 55 41 47 00 
  2967	023736	000000	000000
  2968	023737	63 55 41 60 64 00 
  2969	023740	000000	000000
  2970	023741	030000	030001
  2971	023742	030000	020000
  2972	023743	251 00 0 00 027767 
  2973	023744	254 00 1 00 000004 
  2974	023745	42 41 44 41 44 62 
  2975	023746	00 45 62 62 57 62 
  2976	023747	00 41 64 00 77 00 
  2977	023750	76 37 60 62 57 47 
  2978	023751	62 41 55 00 56 57 
  2979	023752	64 00 46 57 65 56 
  2980	023753	44 00 15 00 77 00 
  2981	023754	51 54 54 45 57 46 
  2982	023755	46 54 64 71 60 45 
  2983	023756	46 57 62 55 41 64 
  2984	023757	43 53 63 65 55 00 
  2985	023760	21 63 64 60 64 62 
  2986	023761	63 64 41 44 62 00 
  2987	023762	57 60 45 56 00 00 
  2988	023763	62 45 41 44 00 00 
  2989	023764	43 57 62 45 00 00 
  2990	023765	42 53 63 60 41 43 
  2991	023766	63 53 60 46 51 54 
  2992	023767	44 51 62 00 62 44 
  2993	023770	44 45 66 51 43 45 
  2994	023771	44 45 56 63 45 64 
  2995	024000					VAR
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 78
SMMAG	MAC	11-Apr-79 13:04		STORAGE ASSIGNMENTS                                                                SEQ 0108

  2996	024051	63 55 55 41 47 00 	PGNAME:	SIXBIT /SMMAG/		;PROGRAM NAME
  2997	024052				PLIST:	BLOCK	40		;PUSH LIST
  2998
  2999	024112	000000	000000		PGMGO:	0			;LOAD & GO FLAG
  3000	024113	000000	000000		TAPEPF:	0			;PRINT TAPE FLAG
  3001	024114	000000	000000		DEVFLG:	0			;CMD LIST FROM DEVICE FLAG
  3002	024115	000000	000000		DINFLG:	0			;DEVICE IN FLAG
  3003	024116	000000	000000		LPTFLG:	0			;LINE PRINTER FLAG
  3004	024117	000000	000000		LSTFLG:	0			;LISTING FLAG
  3005	024120	000000	000000		DIRFLG:0			;DIRECTORY FLAG
  3006	024121	000000	000000		ALTMFLG:0			;ALTMODE FLAG
  3007	024122	000000	000000		CLKFLG:	0
  3008	024123	000000	000000		USRFLG:	0
  3009	024124	000000	000000		LDDMON:	0			;LOAD DIAG MONITOR
  3010	024125	000000	000000		CNSFLG:	0
  3011	024126	000000	000000		MGNONC:	0
  3012	024127	000000	000000		MGNCNT:	0
  3013	024130	000000	000000		MGNWRD:	0
  3014	024131	000000	000000		MGNADR:	0
  3015	024132	000000	000000		RACKF:	0
  3016
  3017	024133	000000	000000		SCFLAG:	0			;PROCESSING COMMENT FLAG
  3018	024134	000000	000000		SAVEIP:	0			;COMMAND LIST POINTER SAVE
  3019	024135	000000	000000		RUNCTL:	0			;RUN CONTROL
  3020	024136	000000	000000		CHRCTR:	0			;PRINT CHAR COUNTER
  3021	024137	000000	000000		SAVAC0:	0			;AC SAVE
  3022	024140	000000	000000		SAVAC1:	0			; "
  3023	024141	000000	000000		FCRCNT:	0			;CR FILLER COUNT
  3024	024142	000000	000000		FLFCNT:	0			;LF FILLER COUNT
  3025
  3026	024143	000000	000000		READBL:	0			;DISPATCH TO READ A DATA RECORD FROM TAPE
  3027	024144	000000	000000		REVERS:	0			;	"	MOVE TAPE REVERSE OVER FILE
  3028	024145	000000	000000		FORWRD:	0			;	"	MOVE TAPE FORWARD OVER FILE
  3029	024146	000000	000000		REW:	0			;	"	REWIND TAPE
  3030
  3031	024147	000000	002001		TAPEDN:	2001			;TAPOP. CODE TO SET DENSITY
  3032	024150	000000	000016			LDCHN			;MAGTAPE CHANNEL NUMBER
  3033	024151	000000	000004		TAPEDC:	4			;3 = 800 BPI, 4 = 1600 BPI
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 79
SMMAG	MAC	11-Apr-79 13:04		STORAGE ASSIGNMENTS                                                                SEQ 0109

  3034	024152				SELSTR:				;COMMAND SELECTION STORE
  3035	024152	000000	000000		LDCNT:	0			;A10 LOAD COUNT
  3036	024153	000000	000000		LDADR:	0			;A10 LOAD ADDRESS
  3037	024154				LDATA:	BLOCK ^D34-16		;A10 DATA STORAGE
  3038	024200				ACSAVE:	BLOCK	16
  3039	024216	000000	000000		LDATAE:	0			;A10 END OF DATA STORAGE
  3040	024217	000000	000000			0
  3041
  3042	024220	56 41 55 45 00 00 	LDNAME:	SIXBIT/NAME/
  3043	024221	45 70 64 00 00 00 		SIXBIT/EXT/
  3044	024222	000000	000000			0
  3045	024223	000000	000000			0
  3046
  3047	024224	000000	000013		LDBLK:	13
  3048	024225	44 63 53 00 00 00 		SIXBIT/DSK/
  3049	024226	000000	024227			LDBUF
  3050	024227				LDBUF:	BLOCK	3
  3051
  3052	024232				D$DIR:	BLOCK	8		;DIR NAME STRING STORAGE
  3053	024242				D$FIL:	BLOCK	8		;FILE NAME      "
  3054	024252				D$EXT:	BLOCK	8		;EXT		"
  3055	024262				D$VER:	BLOCK	2		;VERSION	"
  3056	024264				D$ISTR:	BLOCK	^D20		;INPUT		"
  3057
  3058	024775					LOC	25000-3
  3059	024775	000000	000000		LDBF:	0
  3060	024776	000201	025201			201,,LDBF1+1
  3061	024777	000000	000000			0
  3062	025000				RBUF:	BLOCK	200
  3063
  3064	025200	000000	000000		LDBF1:	0
  3065	025201	000201	025404			201,,LDBF2+1
  3066	025202	000000	000000			0
  3067	025203					BLOCK	200
  3068
  3069	025403	000000	000000		LDBF2:	0
  3070	025404	000201	024776			201,,LDBF+1
  3071	025405	000000	000000			0
  3072	025406					BLOCK	200
  3073
  3074			026000		TAB=RBUF+MAGRCD
  3075	026000					LOC	TAB
  3076	026000					BLOCK	MAGRCD
  3077	027000	000000	000000			0
  3078
  3079	027001				INLIST:	
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 80
SMMAG	MAC	11-Apr-79 13:04		SPECIAL STARTUP MESSAGES AND INITIALIZATION                                        SEQ 0110

  3080					SUBTTL	SPECIAL STARTUP MESSAGES AND INITIALIZATION
  3081
  3082					;*HEADER
  3083
  3084					DEFINE	PTITLE	(MCNVER,DECVER)	<
  3085						ASCIZ	%
  3086					* SMMAG [DSQDE] - DECSYSTEM 2020 DIAGNOSTIC MAGTAPE MONITOR - VER MCNVER'.'DECVER *
  3087					%>
  3088
  3089	027001				HEADER:	PTITLE	\MCNVER,\DECVER^
  3090						ASCIZ	%
  3091	027001	015 012 052 040 123 	* SMMAG [DSQDE] - DECSYSTEM 2020 DIAGNOSTIC MAGTAPE MONITOR - VER 0.3 *
  3092	027002	115 115 101 107 040 
  3093	027003	133 104 123 121 104 
  3094	027004	105 135 040 055 040 
  3095	027005	104 105 103 123 131 
  3096	027006	123 124 105 115 040 
  3097	027007	062 060 062 060 040 
  3098	027010	104 111 101 107 116 
  3099	027011	117 123 124 111 103 
  3100	027012	040 115 101 107 124 
  3101	027013	101 120 105 040 115 
  3102	027014	117 116 111 124 117 
  3103	027015	122 040 055 040 126 
  3104	027016	105 122 040 060 056 
  3105	027017	063 040 052 015 012 	%^
  3106	027020	000 000 000 000 000 
  3107					;*HELP
  3108
  3109	027021				HELP:	ASCIZ	%
  3110	027021	015 012 116 117 122 	NORMAL START = 20000
  3111	027022	115 101 114 040 123 
  3112	027023	124 101 122 124 040 
  3113	027024	075 040 062 060 060 
  3114	027025	060 060 015 012 122 	RESTART/ABORT = 20001
  3115	027026	105 123 124 101 122 
  3116	027027	124 057 101 102 117 
  3117	027030	122 124 040 075 040 
  3118	027031	062 060 060 060 061 
  3119	027032	015 012 120 122 111 	PRINT TEST TITLE = 20002
  3120	027033	116 124 040 124 105 
  3121	027034	123 124 040 124 111 
  3122	027035	124 114 105 040 075 
  3123	027036	040 062 060 060 060 
  3124	027037	062 015 012 122 105 	RESTART CURR TEST = 20003
  3125	027040	123 124 101 122 124 
  3126	027041	040 103 125 122 122 
  3127	027042	040 124 105 123 124 
  3128	027043	040 075 040 062 060 
  3129	027044	060 060 063 015 012 
  3130	027045	015 012 104 105 126 	DEVICES:  EXEC MODE;
  3131	027046	111 103 105 123 072 
  3132	027047	040 040 105 130 105 
  3133	027050	103 040 115 117 104 
  3134	027051	105 073 015 012 040 	  0 = UBA 3, RH ADR 772440
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 80-1
SMMAG	MAC	11-Apr-79 13:04		SPECIAL STARTUP MESSAGES AND INITIALIZATION                                        SEQ 0111

  3135	027052	040 060 040 075 040 
  3136	027053	125 102 101 040 063 
  3137	027054	054 040 122 110 040 
  3138	027055	101 104 122 040 067 
  3139	027056	067 062 064 064 060 
  3140	027057	015 012 040 040 061 	  1 = UBA 1, RH ADR 772440
  3141	027060	040 075 040 125 102 
  3142	027061	101 040 061 054 040 
  3143	027062	122 110 040 101 104 
  3144	027063	122 040 067 067 062 
  3145	027064	064 064 060 015 012 	  2 = UBA 2, RH ADR 772440
  3146	027065	040 040 062 040 075 
  3147	027066	040 125 102 101 040 
  3148	027067	062 054 040 122 110 
  3149	027070	040 101 104 122 040 
  3150	027071	067 067 062 064 064 
  3151	027072	060 015 012 040 040 	  3 = UBA 3, RH ADR 772440
  3152	027073	063 040 075 040 125 
  3153	027074	102 101 040 063 054 
  3154	027075	040 122 110 040 101 
  3155	027076	104 122 040 067 067 
  3156	027077	062 064 064 060 015 
  3157	027100	012 101 114 114 040 	ALL DEVICES THEN ASK FOR DRIVE & SLAVE ##
  3158	027101	104 105 126 111 103 
  3159	027102	105 123 040 124 110 
  3160	027103	105 116 040 101 123 
  3161	027104	113 040 106 117 122 
  3162	027105	040 104 122 111 126 
  3163	027106	105 040 046 040 123 
  3164	027107	114 101 126 105 040 
  3165	027110	043 043 015 012 040 	  A TWO DIGIT NUMBER IS USED (FIRST DIGIT SPECIFIES
  3166	027111	040 101 040 124 127 
  3167	027112	117 040 104 111 107 
  3168	027113	111 124 040 116 125 
  3169	027114	115 102 105 122 040 
  3170	027115	111 123 040 125 123 
  3171	027116	105 104 040 050 106 
  3172	027117	111 122 123 124 040 
  3173	027120	104 111 107 111 124 
  3174	027121	040 123 120 105 103 
  3175	027122	111 106 111 105 123 
  3176	027123	015 012 040 040 104 	  DRIVE # OF TM02, SECOND DIGIT SPECIFIES SLAVE # OF TRANSPORT)
  3177	027124	122 111 126 105 040 
  3178	027125	043 040 117 106 040 
  3179	027126	124 115 060 062 054 
  3180	027127	040 123 105 103 117 
  3181	027130	116 104 040 104 111 
  3182	027131	107 111 124 040 123 
  3183	027132	120 105 103 111 106 
  3184	027133	111 105 123 040 123 
  3185	027134	114 101 126 105 040 
  3186	027135	043 040 117 106 040 
  3187	027136	124 122 101 116 123 
  3188	027137	120 117 122 124 051 
  3189
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 80-2
SMMAG	MAC	11-Apr-79 13:04		SPECIAL STARTUP MESSAGES AND INITIALIZATION                                        SEQ 0112

  3190	027140	015 012 015 012 104 	DEVICES:  USER MODE;
  3191	027141	105 126 111 103 105 
  3192	027142	123 072 040 040 125 
  3193	027143	123 105 122 040 115 
  3194	027144	117 104 105 073 015 
  3195	027145	012 115 101 107 124 	MAGTAPE = PHYSICAL NAME OF UNIT   (EX. MTA0)
  3196	027146	101 120 105 040 075 
  3197	027147	040 120 110 131 123 
  3198	027150	111 103 101 114 040 
  3199	027151	116 101 115 105 040 
  3200	027152	117 106 040 125 116 
  3201	027153	111 124 040 040 040 
  3202	027154	050 105 130 056 040 
  3203	027155	115 124 101 060 051 
  3204	027156	015 012 104 111 123 	DISK = ONLY A CARRIAGE RETURN
  3205	027157	113 040 075 040 117 
  3206	027160	116 114 131 040 101 
  3207	027161	040 103 101 122 122 
  3208	027162	111 101 107 105 040 
  3209	027163	122 105 124 125 122 
  3210
  3211	027164	116 015 012 015 012 	COMMANDS;
  3212	027165	103 117 115 115 101 
  3213	027166	116 104 123 073 015 
  3214	027167	012 123 124 104 075 	STD=START DIAGNOSTIC
  3215	027170	123 124 101 122 124 
  3216	027171	040 104 111 101 107 
  3217	027172	116 117 123 124 111 
  3218	027173	103 015 012 123 124 	STM=REINITIALIZE START
  3219	027174	115 075 122 105 111 
  3220	027175	116 111 124 111 101 
  3221	027176	114 111 132 105 040 
  3222	027177	123 124 101 122 124 
  3223	027200	015 012 123 124 114 	STL=START LOADER
  3224	027201	075 123 124 101 122 
  3225	027202	124 040 114 117 101 
  3226	027203	104 105 122 015 012 	START=START DIAGNOSTIC
  3227	027204	123 124 101 122 124 
  3228	027205	075 123 124 101 122 
  3229	027206	124 040 104 111 101 
  3230	027207	107 116 117 123 124 
  3231	027210	111 103 015 012 123 	SFSTRT=SPECIAL FEATURE START
  3232	027211	106 123 124 122 124 
  3233	027212	075 123 120 105 103 
  3234	027213	111 101 114 040 106 
  3235	027214	105 101 124 125 122 
  3236	027215	105 040 123 124 101 
  3237	027216	122 124 015 012 120 	PFSTRT=POWER FAIL START
  3238	027217	106 123 124 122 124 
  3239	027220	075 120 117 127 105 
  3240	027221	122 040 106 101 111 
  3241	027222	114 040 123 124 101 
  3242	027223	122 124 015 012 122 	REE=REENTER
  3243	027224	105 105 075 122 105 
  3244	027225	105 116 124 105 122 
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 80-3
SMMAG	MAC	11-Apr-79 13:04		SPECIAL STARTUP MESSAGES AND INITIALIZATION                                        SEQ 0113

  3245	027226	015 012 104 104 124 	DDT=DDT
  3246	027227	075 104 104 124 015 
  3247	027230	012 123 124 101 122 	START1=SPECIAL START 1
  3248	027231	124 061 075 123 120 
  3249	027232	105 103 111 101 114 
  3250	027233	040 123 124 101 122 
  3251	027234	124 040 061 015 012 	START2=SPECIAL START 2
  3252	027235	123 124 101 122 124 
  3253	027236	062 075 123 120 105 
  3254	027237	103 111 101 114 040 
  3255	027240	123 124 101 122 124 
  3256	027241	040 062 015 012 123 	START3=SPECIAL START 3
  3257	027242	124 101 122 124 063 
  3258	027243	075 123 120 105 103 
  3259	027244	111 101 114 040 123 
  3260	027245	124 101 122 124 040 
  3261	027246	063 015 012 123 124 	START4=SPECIAL START 4
  3262	027247	101 122 124 064 075 
  3263	027250	123 120 105 103 111 
  3264	027251	101 114 040 123 124 
  3265	027252	101 122 124 040 064 
  3266	027253	015 012 123 124 101 	START5=SPECIAL START 5
  3267	027254	122 124 065 075 123 
  3268	027255	120 105 103 111 101 
  3269	027256	114 040 123 124 101 
  3270	027257	122 124 040 065 015 
  3271	027260	012 123 115 115 117 	SMMON=LOAD SMMON
  3272	027261	116 075 114 117 101 
  3273	027262	104 040 123 115 115 
  3274	027263	117 116 015 012 123 	SMMAG=LOAD SMMAG
  3275	027264	115 115 101 107 075 
  3276	027265	114 117 101 104 040 
  3277	027266	123 115 115 101 107 
  3278	027267	015 012 123 115 101 	SMAPT=LOAD SMAPT
  3279	027270	120 124 075 114 117 
  3280	027271	101 104 040 123 115 
  3281	027272	101 120 124 015 012 
  3282	027273	015 012 122 075 122 	R=RESELECT, X=XPN, I=INTERNAL, T=TTY, D=DEVICE,
  3283	027274	105 123 105 114 105 
  3284	027275	103 124 054 040 130 
  3285	027276	075 130 120 116 054 
  3286	027277	040 111 075 111 116 
  3287	027300	124 105 122 116 101 
  3288	027301	114 054 040 124 075 
  3289	027302	124 124 131 054 040 
  3290	027303	104 075 104 105 126 
  3291	027304	111 103 105 054 015 
  3292	027305	012 123 075 123 111 	S=SINGLE, F=DIR, L=LIST, G=GO
  3293	027306	116 107 114 105 054 
  3294	027307	040 106 075 104 111 
  3295	027310	122 054 040 114 075 
  3296	027311	114 111 123 124 054 
  3297	027312	040 107 075 107 117 
  3298	027313	015 012 000 000 000 	%
  3299
SMMAG	DECSYSTEM 2020 MAGTAPE DIAGNOSTIC MONITOR, VERSION 0.3 	MACRO %53(1020) 13:24 11-Apr-79 Page 80-4
SMMAG	MAC	11-Apr-79 13:04		SPECIAL STARTUP MESSAGES AND INITIALIZATION                                        SEQ 0114

  3300		254000	020004			END	JRST	ONETIM

NO ERRORS DETECTED

PROGRAM BREAK IS 000000
ABSOLUTE BREAK IS 027314
CPU TIME USED 00:10.044

22P CORE USED

A	    47#	   324	   474	   478	   490	   792	  1578	  1579	  1581	  1661	  1666	  2164	  2166	  2270
	  2305	  2311	  2325	  2345	  2346	  2347	  2348	  2349	  2350	  2358	  2757	  2804	  2806	  2808     SEQ 0115
	  2810	  2813	  2815	  2817	  2819	  2821	  2823	  2825	  2827	  2829	  2831
A10FLG	  1697#	  1697	  1703	  2007	  2219	  2323
ACS0	   934#	   934
ACS1	   935#	   935	   942	   946	   952
ACSAVE	  1724	  1725	  1726	  1745	  1747	  1758	  1759	  1760	  3038#
ALTMFL	   386	   388	  1309	  2160	  3006#
APR	   262	   779	  1423	  1426	  1435	  1438
ASKDEN	  1542	  1551#	  2494
ASKSW	   326#	   326	   532	   693	   695
AUTORH	  1489	  2511#
AUTOSL	   282	  1487#
B	    48#	   485	  2276	  2277	  2278	  2279	  2280	  2282	  2292	  2304	  2326	  2350	  2351	  2356
	  2493	  2495	  2496
BACKUP	  2279	  2291#
BYTSAV	  1819#	  1819	  1821	  1822	  1823	  1824
C	    49#	  2018	  2046	  2049	  2053	  2054	  2311	  2313	  2315	  2318	  2320	  2322	  2332	  2333
	  2336	  2338	  2344	  2346	  2347	  2348	  2353	  2354
CHAIN	   163#	   720
CHNCMD	    78#
CHRCTR	  1061	  1067	  1070	  1075	  1077	  1131	  1142	  1225	  1235	  3020#
CKTTY	   723	   726	  1241#
CLKFLG	  3007#
CLRCOR	  1946	  2041	  2065#
CLRCR1	  2068	  2080#
CLRCR2	  2066	  2738#
CMDADR	   344	   353	   437#
CMDEX	   341	   344#
CMDEX1	   350	   353#
CMDFLG	   730	  1699#	  1699	  2111	  2217	  2321
CMDHLP	   437	   503#
CMDLP	   338#	   342
CMDLP1	   339	   347#	   351
CMDLST	   338	   340	   347	   349	   409#
CMNCMD	   525#	   540
CMNPNT	  1987	  1993#	  1999
CNSFLG	   293	  3010#
CNTLOF	  1082	  1103#	  1103	  1163	  1180
CONSW	   236#	   250	   328	  1257	  1324
CPOPJ	   491#
CPOPJ1	   405	   549#	   555	   570	  1277	  1619	  1621	  1825	  2142	  2159	  2214	  2226	  2324	  2556
CRLF1	   323	   467	   480	   691	   791	   799	  1098#	  1313	  1653	  1673	  2770
CRRTN	   572	   645#
CRRTN1	   659#
CURR	  2278#	  2278	  2286	  2334	  2340	  2701
CXPND	   517	   812#
CXPND1	   815#
D$DIR	  3052#
D$EXT	  3054#
D$FIL	  3053#
D$ISTR	  3056#
D$VER	  3055#
DDT	   122#
DDTLNK	    74#                                                                                                            SEQ 0116
DECVER	     3#	    10	    35	  3089
DEN800	  1533	  1541	  1544#
DEVCM1	   385	   536#	   731
DEVCM2	   542#	  2113
DEVCMD	   440	   532#
DEVFLG	   374	   533	   536	  2112	  3001#
DEVRD	   552#	  1286
DEVSEL	   407	  1493#	  1526	  1529	  2513
DEVSXX	  1487	  1493	  1515#
DIAGLA	  1705#	  2363
DIAGLD	   304	   309	   313	   382	   724	  1649	  1689	  1695#	  2679	  2734
DIAGMN	   103#	   854
DIAGNO	   102#	   455	  2083
DIGIT	    59#	   563	   606	   612	   613	   652	   654	   655	  1262	  1273	  1276
DIGIT1	    61#	   611	   612	   656	   657
DIGIT2	    62#	   611	   656
DIGITA	    60#	   604	   605	  1262	  1271	  1272
DINFLG	   537	  1285	  3002#
DIRCK	  2346#	  2352
DIRECT	   442	  1639#
DIREND	  1658	  1665	  1669	  1673#	  1676	  1679
DIRFIL	  1657#	  1672	  1681
DIRFLG	  1648	  2108	  3005#
DIRLIN	  1653#	  1670
DIRPNT	  1651#	  2109
DIRRCD	  1660	  1675#
DOIO	  2579	  2641#
DPNTR	    54#	   539	   552
DSKFLG	   254#	   254
EBIT0	   189#
EBIT1	   190#
EBIT10	   199#
EBIT11	   200#
EBIT12	   201#
EBIT13	   202#
EBIT14	   203#
EBIT15	   204#
EBIT2	   191#
EBIT3	   192#
EBIT4	   193#
EBIT5	   194#
EBIT6	   195#
EBIT7	   196#
EBIT8	   197#
EBIT9	   198#
EOFXIT	  2580	  2600#
ERR10	  2074	  2079	  2253	  2821#
ERR11	  2612	  2823#
ERR12	  2690	  2825#
ERR13	  2343	  2357	  2827#
ERR14	  2563	  2603	  2667	  2682	  2694	  2829#
ERR15	  2831#
ERR2	  2012	  2117	  2126	  2803#                                                                                    SEQ 0117
ERR6	  2021	  2025	  2813#
ERR7	  2032	  2034	  2153	  2815#
ERR8	  2179	  2817#
ERR9	  2228	  2819#
ERROR	  2758	  2769#	  2805	  2807	  2809	  2811	  2814	  2816	  2818	  2820	  2822	  2824	  2826	  2828
	  2830	  2832
ERSTOP	   161#	   327
EX	   518	   690#
EX1	   703#	   788
EX2	   719#
EX3	   730#
EX4	   370	   706	   790	   804#
EX5	   697#	   800
EXBAD	   673	   679#	   748
EXC	   939	   942#
EXC1	   946#	   971
EXC2	   950	   954#
EXC3	   951	   955#
EXC4	   947	   957#
EXC5	   948#	   961
EXECDV	  1495	  1561#	  1565	  1630	  2484	  2505
EXECLD	  1708	  2297#
EXEDV0	  1567	  1590#
EXEDV1	  1569	  1592#
EXEDV2	  1571	  1594#
EXEDV3	  1573	  1596#
EXEDVX	  1575#	  1591	  1593	  1595	  1597
EXEDXX	  1575	  1578#	  2514
EXEXEC	   753#
EXNEW	   754	   758	   761#
EXNOE	   670#	   755
EXNOU	   675#	   759
EXUSR	   751	   757#
F	   486	   487	   488	  1461#
FBSAV	  1715#	  1715	  1812
FCRCNT	  1104	  3023#
FILLCR	  1086	  1103#
FILLLF	  1088	  1107#
FILLX	  1105	  1108#	  1111
FLFCNT	  1107	  3024#
FLNAM1	   588#
FLNAM2	   584	   604#
FLNAME	   332	   362	   526	   559#	   600	   619	   637	   647
FLNMLP	   568#	   574	   583	   596	   607	   614	   624
FNFND	  2274#
FORWRD	  2268	  2281	  2293	  2337	  3028#
FRD36	  1749	  1773#
FRD8	  1751	  1808#
FRDLNK	    72#	   290
FRDTYP	  1744#	  1744	  1748	  1750
FREAD	   289	  1744#
FREAD1	  1758#	  1776	  1810
FREAD2	  1756	  1768#	  1774	  1809                                                                                     SEQ 0118
FREAD3	  1755#
FSELEC	   287	  1686#
FSELF	  1724#
FSELNF	  1738#
FSELNK	    71#	   288
FULL	   665#
G8BY1	  1819#
G8BY2	  1814	  1821#
G8BYT	  1808	  1812#
HEADER	   280	  3089#
HELP	   505	   660	  3109#
HLPCLR	   503#	   503	   661
INLEND	    42#	   662
INLIST	   361	   365	   391	   393	   394	   525	   698	  3079#
IOCLR	   146#	   262	   779
IP	    63#	   302	   307	   311	   322	   334	   336	   361	   365	   366	   369	   372	   377	   379
	   468	   474	   478	   525	   650	   651	   655	   657	   658	   659	   660	   662	   680	   698
	   703	   705	   708	   713	   733	   734	   744	   781	   786	   787	  1646	  1688	  1701	  2192
	  2194	  2308	  2310	  2722	  2726	  2730
ITERAT	   234#	   741	   839	   847	   861	   867	   978
ITRCNT	   107#	   848	   868
JOBFF	    69#	  2037
JOBFFW	  1944	  2039#	  2039	  2075	  2085
JOBREL	    70#	   247	  2069	  2168	  2254
JOBSA	    68#	  2028
JOBSAW	  1941	  2030#	  2030	  2031	  2081
JRSTX	   941	   962#
JRSTX1	   963	   968#
KAIFLG	   238#	   266
LDA10	  1830#	  2008
LDACH1	  1780	  1791#
LDACH2	  1797#
LDACHR	   543	  1755	  1779#	  1797	  1834	  1849	  1867	  1993	  2098
LDADR	  1931	  1951	  3036#
LDAEOF	  1786	  1801#
LDATA	  1942	  1954	  3037#
LDATAE	  1860	  1921	  3039#
LDBF	  1506	  1509	  1545	  1546	  2180	  2185	  2188	  2590	  3059#	  3070
LDBF1	  1505	  1508	  2184	  2187	  3060	  3064#
LDBF2	  1507	  1510	  2186	  2189	  3065	  3069#
LDBLK	  1504	  1524	  1525	  2178	  3047#
LDBUF	  2133	  2140	  2141	  2176	  2177	  2181	  2288	  2298	  2299	  2589	  2591	  3049	  3050#
LDCHN	  1522#	  1525	  1527	  1535	  1544	  2150	  2178	  2213	  2225	  2227	  2234	  2239	  2244	  2261
	  3032
LDCMA	  1877	  1909#
LDCMNT	  1837	  1986#
LDCNT	  1858	  1859	  1862	  1918	  1929	  1933	  3035#
LDCNV	  1865#	  1910
LDCNV1	  1867#	  1871	  1889	  1897	  1903
LDCNV2	  1902#	  1907
LDCNV3	  1880	  1905#
LDDIR	  2272	  2328#
LDDIRB	  2342#	  2366                                                                                                     SEQ 0119
LDDIRN	  2360	  2365#
LDDMON	  1955	  2065	  2122	  2147	  2733	  3009#
LDDONE	  1952	  1981#
LDEOL	  1874	  1913#
LDEVIC	  1698#	  1698	  1727	  1738	  2191	  2264
LDLNK	    73#
LDNAME	  2193	  2212	  2213	  2215	  3042#
LDOCTF	  1831#	  1831	  1856	  1879	  1915
LDPROC	  1831#	  1940	  1947	  1977	  1989
LDTBLK	  1839#	  1839	  1843	  1950	  1959	  1971	  1974
LDTEN	  1916	  1929#
LDTEN1	  1936	  1950#
LDTEN2	  1958#	  1976	  2751	  2755
LDTEN3	  1956	  2750#
LDTEN4	  2753	  2757#	  2764
LDTENZ	  1940#
LDZBLK	  1832#	  1832	  1847	  1935
LERR2	  1835	  1850	  1868	  1994	  2804#
LERR3	  1846	  2806#
LERR4	  1855	  2808#
LERR5	  1925	  2810#
LET	    55#	   400	   404	   561	   584	   613	  1501	  1524	  1600	  1613	  1616	  1617	  1619	  1620
	  1622
LHSWS	   694	  1252#	  1256
LIST1	   443	  1634#
LLDUSB	   156#	   912	   916	   960
LOFMSG	  1133	  1167#
LOOKU0	  2305#	  2326
LOOKU1	  2312	  2318#
LOOKU2	  2314	  2316	  2320#
LOOKU3	  2309	  2319	  2325#
LOOKUP	  2271	  2304#	  2359
LPTFLG	   516	  1078	  1132	  1141	  1644	  1655	  2095	  3003#
LPTOFL	  1122	  1127#
LPTSW	   160#	  1643	  2094
LSTFLG	  1634	  2106	  3004#
LSTPN1	  2098#	  2101
LSTPNT	  2091#	  2107
M	    52#	  1654	  1656	  1670	  1677	  1680	  1714	  1716	  1779	  1781	  1782	  1789	  1795	  1796
	  1801	  1812	  1813	  1814	  1824	  2016	  2022	  2024	  2044	  2052	  2054	  2055	  2119	  2127
	  2128	  2760	  2765
MAGDEV	  1502	  1515#	  1515	  1639	  2135	  2182
MAGLD	  2263#	  2300
MAGONC	  1517#	  1517	  2137	  2229	  2265	  2267	  2269	  2275	  2287	  2333	  2341	  2600	  2678	  2785
MAGRCD	  1545	  2362	  2374#	  3074	  3076
MARGIN	   112#
MCNVER	     4#	    10	    35	  3089
MGNADR	  3014#
MGNCNT	  3012#
MGNONC	  3011#
MGNWRD	  3013#
MINUS	   580	   618#
MMFLAG	  1357#	  1357	  1360	  1403	  1448	  1453                                                                     SEQ 0120
MODLNK	    75#
MONCTL	   108#	   762	   981
MONFLG	   110#	   869
MONTEN	   111#	  2154
MSDRIV	  2371#	  2515
MSFORW	  2501	  2681#
MSRDY	  2611	  2616#	  2620	  2672	  2687	  2699
MSREAD	  2501	  2557#
MSREVS	  2501	  2666#
MSREW	  2501	  2693#
MSRH	  2370#	  2511	  2743
MSRSET	  2504	  2526#	  2562	  2602	  2666	  2681	  2693
MSRTRX	  2582	  2602#
MSRTRY	  2562#	  2614
MSSLAV	  2372#	  2517	  2520
MT.DC	  2382#
MT.ERS	  2383#
MT.NOP	  2379#
MT.RF	  2390#	  2557
MT.RR	  2391#
MT.RW	  2381#	  2696
MT.RWO	  2380#
MT.SF	  2385#	  2684
MT.SR	  2386#	  2608	  2669
MT.WCF	  2387#
MT.WCR	  2388#
MT.WF	  2389#
MT.WTM	  2384#
MT1600	  2468#	  2495
MT200	  2465#
MT556	  2466#
MT800	  2467#	  2493
MTACCL	  2460#
MTAS	  2712#
MTATA	  2424#	  2542
MTBA	  2574	  2585	  2707#
MTBAI	  2420#
MTBOT	  2437#
MTCC	  2713#
MTCLR	  2418#	  2526
MTCOR	  2442#
MTCPAR	  2454#
MTCS	  2447#
MTCS1	  1588	  2532	  2609	  2641	  2648	  2670	  2685	  2697	  2705#
MTCS2	  2527	  2530	  2709#
MTDB	  2714#
MTDENS	  2496#	  2496	  2522	  2537
MTDLT	  2408#
MTDPAR	  2452#
MTDPR	  2430#	  2545	  2546
MTDRIV	  2491#	  2491	  2516	  2529
MTDRY	  2431#	  2545	  2546	  2619
MTDS	  2541	  2616	  2652	  2710#                                                                                    SEQ 0121
MTDT	  2549	  2716#
MTDTE	  2445#
MTDVA	  2398#	  2533
MTEOA	  2463#
MTEOT	  2429#
MTER	  2656	  2711#
MTERR	  2425#	  2542	  2622
MTEVP	  2472#
MTFC	  2554	  2606	  2708#
MTFCE	  2448#	  2657
MTFCS	  2461#
MTFMT	  2453#
MTFMT1	  2470#	  2498
MTFORM	  2499#	  2499	  2538
MTIDB	  2435#
MTIE	  2401#
MTILF	  2457#
MTILR	  2456#
MTINC	  2451#
MTIR	  2417#
MTMCPE	  2397#	  2647
MTMDPE	  2415#
MTMOL	  2427#	  2545	  2546
MTMR	  2715#
MTMXF	  2414#
MTNED	  2411#
MTNEF	  2446#
MTNEM	  2412#
MTNSG	  2449#
MTOPI	  2444#
MTOR	  2416#
MTPAT	  2419#
MTPE	  2410#
MTPEF	  2450#
MTPES	  2433#
MTPGE	  2413#
MTPGSZ	  2476#	  2576
MTPIP	  2426#	  2618
MTPNTR	  1578	  1588#
MTPSEL	  2399#
MTRDY	  2400#	  2647
MTRMR	  2455#
MTSC	  2395#
MTSDWN	  2434#
MTSLA	  2438#
MTSLAV	  2487#	  2487	  2519	  2536
MTSN	  2717#
MTSSC	  2432#
MTTC	  2539	  2718#
MTTCW	  2462#
MTTM	  2436#	  2653	  2674	  2689
MTTRE	  2396#	  2647
MTUBP0	  1582	  2478#                                                                                                    SEQ 0122
MTUNS	  2443#
MTWC	  2577	  2706#
MTWCE	  2409#
MTWRL	  2428#
MUUO	   153#	   936	   940	   943
MUUOER	   885	   925#	   966
MUUOH	   890	   934#
MUUOPC	   154#	   945	   948	   969
NAM	    56#	   563	   594	   599	   646	   649	   651
NAM1	    57#	   562	   599	   647	   648	   649	   650
NAM2	    58#	   564	   593	   595
NAMPNT	   469	   474#	   684	   721	  2783	  2797
NFERR	  1733#	  2199	  2210	  2331	  2367
NFERR1	  1734	  2794#
NOCMNT	  1687	  1693#	  1693	  1695	  1997	  2000
ONCE	   241#	   249	   278	   320	  2786
ONETIM	   233#	  3300
ONETM1	   233	   247#
P	    64#	    80	    81	    82	    83	   264	   321	   466	   549	   780	  1052	  1055	  1482	  1557
	  1728	  1763	  1798	  2092	  2097	  2593	  2623	  2769	  2773
P1	  1472#
P2	  1473#	  2559	  2560	  2582	  2595	  2596	  2597
P3	  1474#
P4	  1475#
P5	  1476#
PAG	   152#	   263	   911	   912	   915	   916	   957	   959	   960	  2595	  2596
PAGSM	   895	   909#
PASS	   240#	   690	   699	   710	   743	   797	   864
PERIOD	   589	   599#
PFSTRT	   120#	   457
PGMGO	   291	   292	   380	   538	  1641	  2158	  2788	  2999#
PGNAME	   275	   324	   792	  2996#
PI	   261	   778
PICLR	   147#	   261	   778
PLIST	   264	   321	   466	   780	  2997#
PNT	  1478#
PNT1	  1479#
PNT16	   495#	  1998	  2001	  2100
PNTDEC	   798	  1051#	  1054
PNTLPT	  1079	  1114#
PNTOCT	  1041#	  1046	  2780
PNTTAB	  1317#	  1663	  1671
PRGCOR	  2007#	  2114
PRGNBR	  2277#	  2277	  2284
PRINT	   477	   489	   497	  1010	  1015	  1017	  1035	  1045	  1057	  1061#	  1136	  1219	  1296	  1312
	  1318	  2772	  2782
PRINT1	  1066	  1069	  1074#
PRINT2	  1073	  1089#	  1094	  1108	  1123
PRINT4	  1081	  1093#
Q	    51#	  1713	  2010	  2015	  2027	  2031	  2033	  2036	  2043	  2049	  2050	  2051	  2058	  2059
	  2080	  2081	  2082	  2083	  2084	  2085	  2086	  2087	  2141
Q1	  1468#
Q2	  1469#	  2017	  2023	  2024	  2028	  2037	  2045	  2055	  2057	  2058                                     SEQ 0123
Q3	  1470#
RACKF	  3015#
RANBAS	   242#	   764	   767
RANDBS	   109#	   768
RBOUT	   578	   591	   592	   634#
RBUF	  2344	  2345	  2358	  2361	  2565	  3062#	  3074
RDEOF	  2229#
READ	   568	  1285#	  1300	  1302
READ1	   556	  1288#
READBL	  1512	  1547	  2138	  2342	  2501	  3026#
REENTR	   121#	   458
RELIAB	   162#	   737
RERUN	   232#
RERUN1	   232	   772#
RESTRT	   230#	   907	   920
RET	   685	   711	   725	   786#
RETRY	  2375#	  2560
RETURN	   104#	   850	   900	  2156
REVERS	  2291	  3027#
REW	  1548	  2266	  2335	  2502	  3029#
RFILE	  1713#	  2198	  2203	  2206	  2209	  2289
RFILE1	  1720	  2106#
RFILL1	  2116#	  2129
RFILL2	  2125#	  2128	  2762	  2766
RFILL3	  2047	  2119#
RFILL4	  2123	  2760#
RH.DC	  2404#
RH.PA	  2403#
RH.RIP	  2405#
RH11DV	  1576	  2482#
RH11DX	  2498#	  2523
RMS1	  2029	  2038	  2051#
RMS2	  2049#	  2056
RSET1	  2534	  2626#
RSET2	  2543	  2629#
RSET3	  2547	  2632#
RSET4	  2551	  2635#
RUN	   230	   776#	  2790
RUNCTL	   697	   761	   789	  3019#
RUNPR1	   365#	   395
RUNPR2	   348	   390#
RUNPRG	   358#	   389	   441	   534	  1635
RWFXIT	  2583	  2595#	  2601
RWORD	  1651	  1657	  1664	  1668	  1678	  1773	  1785	  1816	  2011	  2116	  2125	  2133#
RWORD1	  2136	  2138#
RWORD2	  2134	  2140#
RWSXIT	  2581	  2585#
SADR	   354	  2151	  2171#
SADRQ	   355	   368	   444	  2163#
SAV13	  1717#	  1717	  1783	  1787	  1802
SAV14	  1718#	  1718	  1784	  1788	  1803
SAVAC0	  1064	  1090	  1129	  1144	  3021#
SAVAC1	  1062	  1089	  1130	  1143	  3022#                                                                            SEQ 0124
SAVEIP	   379	   468	   703	   733	   781	  2164	  3018#
SAVEM	  1677#	  1677	  1680	  1716	  1782	  1789	  1801
SAVQ	  2080#	  2080	  2087
SAVT0	  2014#	  2014	  2042
SAVT1	  2015#	  2015	  2027	  2036	  2043
SAVT2	  2016#	  2016	  2044
SAVT3	  2017#	  2017	  2045
SAVT4	  2018#	  2018	  2046
SAXPN	   445	   976#
SCFLAG	   559	   573	   623	   645	  1206	  1291	  3017#
SCSET	   576	   623#
SELECT	   229	   254#	   387	   403	   807	   977	  1159	  1194	  1203	  1248	  1640	  1650	  1652	  1674
	  2789
SELSTR	   322	   334	   390	   392	  3034#
SELX	   279	   285#	   408
SELX1	   296	   305	   310	   314	   320#	  2735	  2787
SELXR	   407#	   446
SFSTRT	   119#	   456
SIXBP	   325	   475	   479	   485#	   490	   793	  1662	  1667	  2774
SMAPT	   449	  2724	  2728	  2730#
SMDDT	   113#	  1200
SMFLG	   237#	   265	   271
SMINT	   272	   782	  1329#
SMMAG	   448	  2726#
SMMON	   447	  2722#
SMTYI	  1184	  1345#	  1348
SPECIA	  1686#	  1686	  1696	  1719	  1733	  2091
START	   219	   229#	   470	   507	   511	   668	   931	  2082	  2099	  2155
START1	   123#	   459
START2	   124#	   460
START3	   125#	   461
START4	   126#	   462
START5	   127#	   463
STARTM	  2148	  2743#
STARTQ	  1982	  2120	  2147#
STOP	  1710#
STORED	   438	   516#	   528
STRD3	   821#	   830	   983
STRD3A	   829	   832#
STRD4	   825	   834#
SUBLNK	    76#
SUBRTN	   101#	   295
SUSERF	   239#	   560	   618	   653	   704	   715	   858	   918	   986
SVJBRE	   248#	   248	  2070	  2072	  2076	  2167	  2250	  2255
T1	  1463#	  2526	  2527	  2529	  2530	  2532	  2533	  2536	  2537	  2538	  2539	  2541	  2542	  2545
	  2546	  2549	  2550	  2553	  2554	  2565	  2566	  2567	  2568	  2569	  2571	  2572	  2573	  2574
	  2576	  2577	  2580	  2581	  2585	  2586	  2587	  2588	  2589	  2590	  2591	  2605	  2606	  2608
	  2609	  2616	  2618	  2619	  2622	  2645	  2649	  2650	  2661	  2664	  2669	  2670	  2674	  2684
	  2685	  2689	  2696	  2697
T2	  1464#	  2647	  2648	  2652	  2653	  2656	  2657
T3	  1465#
T4	  1466#	  2557	  2641
TAB	  1518	  2270	  2276	  2329	  2361	  2362	  3074#	  3075                                                     SEQ 0125
TAPEDC	  1531	  1543	  3033#
TAPEDN	  2259	  3031#
TAPEPF	  1295	  3000#
TITLE	   231#
TOUT	    85	  1028#	  1037
TOUTA	  1027#	  1038
TRANS	  2284#	  2294
TRPENB	   150#	   911	   915	   958
TT2CHR	   397#	   824	  1554
TTAB	   582	   611#
TTALTM	  1213	  1215	  1217	  1309#
TTYCFL	  1150#	  1150	  1181	  1227
TTYCHK	  1084	  1118	  1150#
TTYCMD	   439	   522#
TTYEXT	  1205	  1223	  1227#	  1305
TTYIN	    86	  1180#	  1190	  1192	  1287
TTYINA	  1207	  1212#	  1226
TTYIND	  1161	  1200#
TTYINU	  1183	  1232#
TTYINX	  1188#	  1234	  1237
TTYOC1	  1263#	  1274
TTYOC2	  1265	  1276#
TTYOC3	  1269	  1279#
TTYOCT	    87	  1262#
TTYSPD	   243#
TTYSXB	  1482	  1600#	  1603	  1618
TTYSXX	  1605	  1619#	  1623
UFORWD	  1547	  2239#
UMAGLD	  2183	  2259#
UNBMP0	  1583	  2569	  2719#
UNIT	  1626#	  2482
UNV36X	  2480#
UNVBIT	  1584	  2479#	  2568
UNVDPB	  2481#
UPMP	   155#	   875	   877	   878	   880	   881	   882	   884	   886	   887	   888	   889	   891	   892
	   893	   894	   910	   912	   936	   940	   943	   945	   948	   960	   969
UREADB	  1511	  1547	  2225#
UREVRS	  1547	  2234#
UREW	  1547	  2244#
USER	   235#	   255	   258	   259	   273	   276	   300	   316	   750	   776	   812	   842	   906	   976
	  1080	  1182	  1218	  1241	  1279	  1311	  1329	  1488	  1494	  1705	  2067	  2149	  2165
USERF	   148#	   151#	   257	   897	   949
USERLD	  1706	  2176#
USLD1	  2195	  2201#
USLKUP	  2197	  2202	  2205	  2208	  2212#
USRERR	   879	   909	   928#
USRFLG	   827	   832	   844	   862	   985	  3008#
USRINT	   274	  2249#
USRITR	   840#	   840	   919
USRMAG	  1501	  1524#
USRRUN	   845	   858#
USSR1	   899	   905#
USSR2	   849	   906#	   967                                                                                             SEQ 0126
USSR3	   908	   915#
USSR4	   918#
W	    50#	  1659	  1661	  1666	  1675	  1775	  1791	  1792	  1793	  1794	  1795	  1819	  1981	  2014
	  2020	  2022	  2030	  2039	  2042	  2051	  2052	  2053	  2057	  2059	  2119	  2127	  2140	  2151
	  2152	  2744	  2747
WAIT	  2645#	  2649
WAITF	  2650	  2658	  2664#
WEOF	  2654	  2661#
WHAT	   231	   466#
WHDEN	  1537	  1538	  1542#
XPAND	   165#	   816
XPNRN1	   842#	   921
XPNRN2	   843	   847#	   859	   866
XPNRN3	   852#	   901
XPNRUN	   772	   839#	   988
ZEROAC	   628#	   852	  2169
$80CHR	   141#	  1368	  1380	  1421	  1428	  1433	  1440
$80CIW	   137#	  1353	  1367	  1371
$80COW	   138#	  1354	  1422	  1427
$80INT	   142#	  1425	  1437
$80KIW	   139#	  1355	  1379	  1383
$80KOW	   140#	  1356	  1434	  1439
$80MM	   136#	  1359
$80STA	   135#	  1358
$BYTYC	  1445#	  1445	  1447
$BYTYI	    96	  1390#	  1394	  1395	  1396	  1398
$BYTYO	    97	  1444#	  1450
$COMTI	  1402#	  1407	  1409	  1410	  1411	  1414	  1416	  1417	  1418
$COMTO	  1452#	  1456	  1458
$CYTYI	    92	  1366#	  1369	  1374	  1375	  1376
$CYTYO	    93	  1420#	  1430
$DDT	   131#	   315	   454	  1202
$EMODE	   105#	   753
$KYTYI	    94	  1378#	  1381	  1386	  1387	  1388
$KYTYO	    95	  1432#	  1442
$MSUVB	  1585	  2568#
$PSIX	    84	   993#
$PSIX1	   998#	  1012
$PSIX2	  1001#	  1011
$PSIX3	  1011#	  1018
$PSIX4	  1006	  1014#
$PSIX5	  1004	  1020#
$STD	   130#	   451
$STL	   132#	   452
$STM	   133#	   453
$SWITC	    88	  1323#
$SWU	  1324#
$TYCLR	    91	  1363#	  1364
$TYINI	    90	  1352#	  1361
$UMODE	   106#	   757
.LOC	   115#	   225

BCIO	   179#
BCIOB	   185#                                                                                                            SEQ 0127
BSIO	   178#
BSIOB	   184#
BTYTYI	    96#	  1154	  1243	  1345
BTYTYO	    97#	  1083	  1110
CLRBFI	  1281
CORE	  2073	  2078	  2252
CTYCLR	    91#	  1645	  2096	  2163
CTYINI	    90#	  1341
CTYTYI	    92#	  1391	  1406
CTYTYO	    93#	  1446	  1455
GET	    83#	   498	  1020	  1021	  1022	  1142	  1143	  1144	  1145	  1146	  1155	  1164	  1988	  2488
	  2571	  2597	  2778
GO	    80#	    84	    85	    86	    87	    88	   272	   274	   282	   304	   309	   313	   323	   325
	   332	   362	   382	   407	   467	   469	   475	   477	   479	   480	   489	   497	   517	   526
	   543	   568	   684	   691	   694	   721	   723	   724	   726	   782	   791	   793	   798	   799
	   824	   852	   895	   983	  1010	  1015	  1017	  1035	  1045	  1054	  1069	  1084	  1118	  1122
	  1136	  1184	  1219	  1296	  1312	  1313	  1487	  1493	  1542	  1554	  1575	  1649	  1651	  1653
	  1657	  1662	  1663	  1664	  1667	  1668	  1671	  1673	  1678	  1755	  1773	  1785	  1808	  1816
	  1834	  1835	  1846	  1849	  1850	  1855	  1867	  1868	  1925	  1946	  1987	  1993	  1998	  2001
	  2011	  2012	  2021	  2025	  2029	  2032	  2034	  2038	  2041	  2098	  2100	  2116	  2117	  2125
	  2126	  2138	  2153	  2169	  2179	  2197	  2202	  2205	  2208	  2228	  2253	  2266	  2268	  2271
	  2281	  2291	  2293	  2335	  2337	  2342	  2343	  2357	  2359	  2482	  2494	  2504	  2514	  2562
	  2563	  2579	  2602	  2603	  2611	  2612	  2666	  2667	  2672	  2681	  2682	  2687	  2690	  2693
	  2694	  2699	  2734	  2753	  2764	  2770	  2772	  2774	  2780	  2782	  2783	  2797
INCHRW	  1236
INCHWL	  1232
KTYTYI	    94#	  1397	  1413
KTYTYO	    95#	  1449	  1457
MSG	   167#	   925	   929
MTBSF.	  2234
MTCHR.	  1528
MTREW.	  2244
MTSKF.	  2239
NAME	     7#	    10
OUTCHR	  1093
PMSG	   169#	   329	   358	   508	   522	   634	   665	   670	   675	   681	   794	   804	   821	  1098
	  1252	  1496	  1551	  1561	  1626	  2626	  2629	  2632	  2635	  2775	  2794
PNTAL	    85#	   281	   506
PNTMSG	    84#	   331	   360	   510	   524	   636	   667	   672	   677	   683	   796	   806	   823	   930
	  1100	  1254	  1498	  1553	  1563	  1628	  2627	  2630	  2633	  2636	  2777	  2796
PTITLE	  3084#	  3089
PUT	    82#	   495	   993	   994	   995	  1127	  1128	  1129	  1130	  1131	  1153	  1986	  2485	  2559
	  2566
RDIO	   176#	  2532	  2541	  2549	  2585	  2616	  2652	  2656
RDIOB	   182#
RTN	    81#	   399	   481	   491	   499	   550	   632	   663	   813	   817	   834	   913	  1023	  1034
	  1047	  1091	  1101	  1147	  1151	  1156	  1165	  1228	  1242	  1244	  1249	  1258	  1280	  1282
	  1290	  1315	  1325	  1330	  1343	  1349	  1513	  1519	  1549	  1558	  1586	  1608	  1612	  1614
	  1631	  1710	  1729	  1739	  1764	  1769	  1799	  1804	  1817	  2002	  2060	  2088	  2139	  2161
	  2220	  2230	  2235	  2240	  2245	  2251	  2256	  2307	  2507	  2598	  2624	  2628	  2631	  2634
	  2637	  2659	  2662	  2665	  2675	  2691	  2702	  2741	  2798
SETNAM	   277	  2166
SWITCH	    88#	   719	   736	   815	   979	  1642	  2093                                                             SEQ 0128
TAPOP.	  1483#	  1536	  2260
TIOE	   174#
TIOEB	   180#
TION	   175#	  2648
TIONB	   181#
TTICHR	    86#	   397	   401	  1138	  1263	  1601
TTIOCT	    87#	  1255	  1564	  1629
TTSIXB	  1482#	  1499
WRIO	   177#	  2527	  2530	  2539	  2554	  2569	  2574	  2577	  2606	  2609	  2641	  2670	  2685	  2697
WRIOB	   183#