Trailing-Edge
-
PDP-10 Archives
-
dec-10-omona-u-mc9
-
dxmpa.seq
There are 2 other files named dxmpa.seq in the archive. Click here to see a list.
MAINDEC-10-DXMPA-D-D PAGE 1
*** SEQ 0001
PRODUCT CODE: MAINDEC-10-DXMPA-D-D
PRODUCT NAME: DX10 IO PROCESSOR MICROCODE
VERSION 4
AUTHOR: FRANK BERNABY, DALE R. KECK
MAINTAINER: DIAGNOSTIC ENGINEERING
DATE: DECEMBER 1976
COPYRIGHT (C) 1975, 1976
DIGITAL EQUIPMENT CORPORATION
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 THE 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 DEC.
THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY
DIGITAL EQUIPMENT CORPORATION.
DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
MAINDEC-10-DXMPA-D-D PAGE 2
*** SEQ 0002
TABLE OF CONTENTS
-----------------
SECTION REMARKS PAGE
------- ------- ----
1.0 INTRODUCTION 3
2.0 ERROR HANDLING 5
2.1 NORMAL STATUS LOGOUT FORMAT 5
2.2 EXTENDED STORE FORMAT 6
2.3 SEQUENCE ERROR TYPE CODE TABLE 7
3.0 HARDWARE READ-IN 8
4.0 MICRO-DIAGNOSTICS 9
4.1 MULTIPLE ENTRY POINTS 10
4.2 ENTRY POINT 205 10
4.3 DIAGNOSTIC ERROR CODES 11
5.0 HISTORY FILE 13
6.0 FLOW CHARTS
7.0 MICRO-DIAGNOSTIC LISTING
MAINDEC-10-DXMPA-D-D PAGE 3
*** SEQ 0003
1.0 INTRODUCTION
THE DX10 MICROCODE IS A PDP-8 PROGRAM WHICH MANIPULATES THE
DX10 HARDWARE TO ALLOW THAT HARDWARE TO FUNCTION AS AN INDEPENDENT
I/O PROCESSOR. THIS PROCESSOR, THE DX10, HAS THE ABILITY TO INTERFACE
TO THE PDP-10 VIA BOTH THE I/O BUS AND THE MEMORY BUS. IT ALSO INTERFACES
TO AN STC MAGTAPE CONTROLLER, THE TX01, VIA AN IBM TYPE CHANNEL BUS.
THE LOGIC WITHIN THE DX10 IS MANIPULATED BY A SERIES OF SPECIAL
IOT'S. BASICALLY, THEY ALLOW THE SETTING AND CLEARING OF FLIP-FLOPS,THE
SELECTION OF REGISTERS, AND THE LOADING AND READING OF THESE REGISTERS.
THE MICROCODE WILL PERFORM THESE SEQUENCES IN A PRESCRIBED MANNER
WHICH WILL ALLOW IT TO FETCH COMMANDS FROM PDP-10 MEMORY AND PROCESS
THESE COMMANDS. THE COMMANDS WILL TYPICALLY DIRECT THE MICROCODE TO
READ AND WRITE MAGTAPE.
THE MICROCODE IS LOADED BY A PDP-10 PROGRAM USING THE
DX10 HARDWARE FEATURE WHICH ALLOWS LOADING AND READING THE MEMORY
OF THE PDP-8A WITH DATAO/DATAI COMMANDS.
IT IS THEN STARTED AT PDP-8 MEMORY LOCATION 200. THE 8 WILL
FIRST INITIALIZE THE DX10 THEN WILL PERFORM A SYSTEM RESET ON
THE MAGTAPE CONTROLLER. A SET OF DIAGNOSTICS WILL BE RUN TO INSURE
THE HARDWARE IS FUNCTIONAL. THEN THE 8 ENTERS AN IDLE LOOP WHERE
IT WAITS FOR FURTHER DIRECTION FROM THE PDP-10.
MAINDEC-10-DXMPA-D-D PAGE 4
*** SEQ 0004
THIS DIRECTION COMES FROM THE CHANNEL COMMAND REGISTER. THE
PDP-10 CAN PUT 4 BASIC COMMANDS INTO THIS REGISTER.
IF THE 10 SETS BOTH CLEAR AND CONTINUE IN THE COMMAND REGISTER,
THIS TELLS THE 8 TO START THE CHANNEL PROGRAM AT THE ADDRESS SPECIFIED
IN THE ICPC REGISTER.
IF THE 10 SETS ONLY CONTINUE, THIS TELLS THE 8 TO CONTINUE
THE CHANNEL PROGRAM AT THE ADDRESS SPECIFIED IN THE CPC REGISTER.
IF THE 10 SETS ONLY CLEAR, THIS TELLS THE 8 TO PERFORM A SYSTEMS
RESET.
IF THE 10 SETS THE STATUS REQUEST BIT, THIS TELLS THE 8 TO
PERFORM A STORE STATUS OPERATION. THE ADDRESS OF THE STATUS BUFFER
COMES FROM THE ADDRESS SPECIFIED IN THE ICPC REGISTER.
ONCE A CHANNEL PROGRAM IS STARTED IT CONTINUES RUNNING UNTIL
ONE OF TWO THINGS HAPPENS. EITHER THE TAPE SYSTEM ENCOUNTERS AN ERROR
OR A CHANNEL COMMAND IS FETCHED WITH THE GO BIT OFF.
IF AN ERROR IS STOPPING THE CHANNEL PROGRAM, THE MICROCODE WILL
CLEAR THE CONTINUE BIT, PERFORM A STORE STATUS OPERATION, GENERATE
A PDP-10 INTERRUPT, AND FINALLY RETURN TO THE IDLE LOOP FOR FURTHER
INSTRUCTION FROM THE PDP-10.
THE MICROCODE IS RESPONSIBLE FOR DETECTING SEVERAL ERRORS.
IF IT SHOULD DETECT ONE OF THESES IT WILL SET THE CORRECT BIT IN THE CSR
AND STORE ERROR STATUS.
THESE ERRORS ARE:
1.SELECTION ERROR- THIS ERROR WILL OCCUR IF THE CHANNEL
PROGRAM SENDS THE ADDRESS OF A DEVICE
THAT IS NOT PRESENT.
2.SEQUENCE ERROR- THE MICROCODE WILL ENCODE THE TYPE OF
SEQUENCE ERROR INTO THE CODE FIELD OF THE
STATUS STORE INTO ICPC+1.(SEE TABLE IN SECTION 2.3)
3.DEVICE PARITY- THIS ERROR INDICATES A CHANNEL BUS PARITY
ERROR OCCURRED WHILE READING OR WRITTING DATA.
4.LENGTH ERROR- THIS ERROR MEANS THAT THE RECORD JUST
READ WAS EITHER SHORTER OR LONGER THAN EXPECTED.
5.OPI ERROR- OPERATION INCOMPLETE ERROR SETS IF A TRANSFER
FAILS TO COMPLETE WITHIN 10 SECONDS.
(EACH XFER CMD WORD IS TIMED)
MAINDEC-10-DXMPA-D-D PAGE 5
*** SEQ 0005
2.0 ERROR HANDLING
THIS MICRO-CODE WILL AUTOMATICALLY ATTEMPT RECOVERY FROM
TAPE ERRORS IF BIT 3 OF THE DEVICE COMMAND INSTRUCTION IS SET.
ERRORS THAT CAN BE RECOVERED ARE DATA CHECK, DX10 SILO
DATA PARITY ERRORS, AND INTERMITTENT BUS OUT CHECKS.
WRITE ERRORS ARE RETRIED BY BACKSPACING OVER THE RECORD JUST
WRITTEN, READING IN REVERSE UNTIL A RECORD WITH NO ERROR IS FOUND OR LOAD
POINT IS FOUND, THEN SPACING OVER THE GOOD RECORD, ERASING 4.2 INCHES
OF TAPE AND WRITING THE RECORD AGAIN. IF THE ERROR PERSISTS, THE
SEQUENCE IS REPEATED UP TO 75 TIMES, EACH TIME ERASING AN ADDITIONAL
3.6 INCHES OF TAPE.
READ ERRORS ARE RETRIED BY ATTEMPTING TO RE-READ THE RECORD IN
THE SAME DIRECTION 30 TIMES, MOVING THE TAPE PAST THE TAPE CLEANER
BLADE AFTER EVERY FOURTH READ. IF THESE RE-READS FAIL, THE RECORD IS
READ IN THE OPPOSITE DIRECTION UP TO A MAXIMUM OF 30 TIMES. THE READ
IN OPPOSITE DIRECTION IS NOT ATTEMPTED IF THE RECORD IS LONGER THAN
THE LENGTH REQUESTED OR IF THE RECORD CANNOT BE READ INTO THE SAME
POSITION IN MEMORY BECAUSE OF HARDWARE RESTRICTIONS. THE READ OPPOSITE
IS ACCOMPLISHED BY BUILDING A CHANNEL TRANSFER LIST IN PDP-8A MEMORY.
THREE PAGES ARE RESERVED FOR THIS LIST, SO A LIST OF UP TO 42 XFER WORDS
CAN BE READ.
IF THE MICROCODE DETECTS AN ERROR THAT CANNOT BE RECOVERED,
IT WILL SET THE APPROPRIATE STATUS BITS AND STORE THE ERROR STATUS.
IF THE DX10 ENCOUNTERS A NXM ERROR, OR A MEMORY
PARITY ERROR THE PDP-8 IS HALTED AND THE PDP-10 IS INTERRUPTED.
IF THE MICROCODE ENCOUNTERS EITHER A SELECTION ERROR OR
SEQUENCE ERROR IT WILL STORE THE ERROR STATUS, HALT THE CHANNEL PROGRAM,
PERFORM A SYSTEMS RESET, AND RETURN TO THE IDLE LOOP. SELECTION ERROR
MEANS THAT THE DEVICE WASN'T ADDRESSABLE.
ASSOCIATED WITH THE SEQUENCE ERROR BIT IS A TYPE CODE FIELD
THAT IS STORED INTO ICPC+1. THIS FIELD FURTHER DEFINES WHAT TYPE OF
SEQUENCE ERROR OCCURRED.
2.1 NORMAL STATUS LOGOUT FORMAT
THE NORMAL LOGOUT STATUS IS STORED INTO ICPC+1,+2, AND +3.
THE FORMAT IS:
ICPC+1/ DSR<0:7>,CSR<8:19>,SEQCOD<22:27>,DAR<28:35>
ICPC+2/ BYTE COUNTER<0:13>,CPC<14:35>
ICPC+3/RECORD LENGTH<12:35>
MAINDEC-10-DXMPA-D-D PAGE 6
*** SEQ 0006
2.2 EXTENDED STORE FORMAT
IF THE MICROCODE DETECTS AN ERROR WHILE PROCESSING A COMMAND
AND THE ERROR IS NOT A SEQUENCE OR SELECTION ERROR, IT WILL ATTEMPT
TO STORE EXTENDED STATUS.
IF ICPC+3 CONTAINS A STATUS POINTER IT WILL DO THE EXTENDED STORE.
IF ICPC+3 DOESN'T CONTAIN THE POINTER, NO EXTENDED STATUS IS STORED.
IF ICPC+3 CONTAINED -^D24B13+300 (777200000300) THEN THE
FOLLOWING INFORMATION WOULD BE STORED STARTING AT LOCATION 300.
ICPC+1/DSR<0:7>,CSR<8:18>,SEQCOD<22:27>,DAR<28:35>
ICPC+2/BYTE COUNTER<0:13,>CPC<14:35>
ICPC+3/777200,,300 ---------------> 300/RECORD LENGTH<12:35>
301/TAG LINES,,BUS LINES
302/DAC<14:35>
303/VERSION<0:5>,EDIT<6:17>,FR<18:35>
304/SENSE BYTES 0,1,2,3
305/SENSE BYTES 4,5,6,7
306/SENSE BYTES 8,9,10,11
307/SENSE BYTES 12,13,14,15
310/SENSE BYTES 16,17,18,19
311/SENSE BYTES 20,21,22,23
NOTE:
THE NUMBER OF BYTES STORED IS CONTROLLED BY THE BYTE COUNT
FIELD OF THE WORD IN ICPC+3. THE FORMAT IS BYTE COUNT <0:13>;ADDRESS <14:35>.
****************************************************************
IF A SEQUENCE ERROR IS DETECTED WHILE READING
THEN ICPC+1 AND ICPC+2 IS OVERWRITTEN WITH
THE ERROR INFORMATION!
****************************************************************
FORCING AN EXTENDED STORE ON REWIND INITIATION COULD CAUSE
THE LOSS OF THE COMPLETION INTERRUPT
***************************************************************
MAINDEC-10-DXMPA-D-D PAGE 7
*** SEQ 0007
2.3 SEQUENCE ERROR TYPE CODE TABLE
ERROR # REMARKS
------- -------
00 CHANNEL PROGRAM IS STRUCTURED INCORRECTLY
02 BUS IN PARITY ERROR
26 A READ OR WRITE COMMAND WASN'T FOLLOWED BY XFER'S
36 NOT ALL OF THE DESIRED SENSE BYTES WHERE XFER'D IN
EXTENDED STORE OF STATUS
43 INITIAL SELECTION ERROR READING SENSE BYTES
MAINDEC-10-DXMPA-D-D PAGE 8
*** SEQ 0008
3.0 HARDWARE READIN
THE HARDWARE READ-IN MICROCODE IS BUFFERED IN A 128 WORD ROM.
THIS ROM IS BLOCK TRANSFERRED INTO THE LAST PAGE OF PDP-8 MEMORY
WHEN THE HARDWARE READIN KEY IS STRUCK ON THE PROCESSOR.THIS PAGE
OF CODE WILL READ THE FIRST RECORD ON THE FIRST READY DRIVE INTO
PDP-10 MEMORY AND THEN START THE PDP-10 AT LOCATION 100.
THE CODE FLOWS AS FOLLOWS:
1.INITIALIZE DX10
2.SETUP REWIND COMMAND IN CMD
3.CLEAR DEVICE ADDRESS = 0
4.PERFORM REWIND
5.IF ERROR-INCREMENT DEVICE ADDR AND GO TO STEP 4
6.HERE WHEN READY UNIT FOUND
7.CHANGE COMMAND TO READ DATA
8.SETUP BYTE COUNTER AND DATA ADDRESS REGISTERS
9.START READ COMMAND
10.LOAD CHANNEL BUS CONTROL REGISTER
11.WAIT FOR BLOCK DONE
12.START PDP-10 AT LOCATION 100
MAINDEC-10-DXMPA-D-D PAGE 9
*** SEQ 0009
4.0 MICRO-DIAGNOSTICS
THE MICROCODE WILL TEST PORTIONS OF THE DX10 HARDWARE
UPON INITIAL START-UP AND PERIODICALLY
WHILE IT'S IN THE IDLE LOOP. TO INSURE GOOD RESPONSE TO -10 COMMANDS
THE -8 CHECKS THE CONTINUE FLOP PRIOR TO EACH TEST.
THE 26 TESTS INCLUDE THE FOLLOWING:
TEST REMARKS
---- -------
1-10 TEST THE SPECIAL IOT'S ABILITY TO CLEAR THE AC
11 TEST THE 8R LOAD AND READ COMMANDS
12 TEST THE 8R SELECTION LOGIC
13 TEST THE SILO LOGIC IN DUMP MODE
14 TEST THE SILO LOGIC IN DUMP MODE WITH SLOW CLK
15 TEST THE SILO LOGIC IN BYTE MODE
16 TEST THE SILO LOGIC IN BYTE MODE WITH SLOW CLK
17 TEST THE SILO LOGIC IN ASCIZ MODE
20 TEST THE SILO LOGIC IN ASCIZ MODE WITH SLOW CLK
21 TEST THE SILO LOGIC IN SIXBIT MODE
22 TEST THE SILO LOGIC IN SIXBIT MODE WITH SLOW CLK
23 TEST THE BLOCK DONE LOGIC(INCLUDING INTERRUPT)
24 TEST THE CPC REGISTER
25 TEST THE DAC REGISTER
26 TEST THE CHANNEL BUS INTERFACE BY PERFORMING
A SENSE COMMAND TO DEVICE ADDRESS 0.
(NOTE: TEST 26 IS NOT RUN WHEN THE DIAGNOSTICS
ARE CALLED FROM THE IDLE LOOP.)
IF THE MICROCODE DETECTS A DIAGNOSTIC ERROR IT WILL HALT AT
207 AFTER FIRST LOADING IBUS #17 WITH THE ERROR CODE.THIS SAME CODE IS
AVAILABLE IN -8 MEMORY LOCATION 5.
MAINDEC-10-DXMPA-D-D PAGE 10
*** SEQ 0010
4.1 MULTIPLE ENTRY POINTS
THE MICROCODE HAS THE FOLLOWING ENTRY POINTS:
POINT REMARKS
----- -------
200 NORMAL COLD START ADDRESS
201 NORMAL RESTART ADDRESS
202 START WITHOUT DIAGNOSTICS ENABLED
203 RESERVED
204 RESERVED
205 START DIAGNOSTICS ONLY(IMPLICT LOOP ON ERROR)
206 RESERVED
207 DIAGNOSTIC ERROR HALT LOCATION
4.2 ENTRY POINT 205 (DIAGNOSTICS ONLY-LOOP ON ERROR)
WHEN THE MICROCODE IS STARTED AT 205, ONLY THE DIAGNOSTICS WILL
RUN. AS LONG AS NO ERRORS ARE OCCURRING, AN INCREMENTING COUNT WILL BE
DISPLAYED IN REG #17. IF AN ERROR OCCURS, THE ERROR CODE IS LOADED
INTO REG #17 AND THE DIAGNOSTIC WILL LOOP ON THE FAILURE.
MAINDEC-10-DXMPA-D-D PAGE 11
*** SEQ 0011
4.3 DIAGNOSTIC ERROR CODES
ERROR# REMARKS
------ -------
100 LBO DIDN'T CLEAR AC
101 STM DIDN'T CLEAR AC
102 INT DIDN'T CLEAR AC
103 L8S DIDN'T CLEAR AC
104 LCB DIDN'T CLEAR AC
105 L8C DIDN'T CLEAR AC
106 L8B DIDN'T CLEAR AC
107 L8A DIDN'T CLEAR AC
110 8R BYTE A WAS READ BAD(L8A&G8A)
111 8R BYTE B WAS READ BAD(L8B&G8B)
112 8R BYTE C WAS READ BAD(L8C&G8C)
113 8R2 SELECTION BAD
114 8R1 SELECTION BAD
115 8R0 SELECTION BAD
116 WRAP AROUND SELECTION OF 8R3 BAD
117 WRAP AROUND SELECTION OF 8R0 BAD
120 INT DIDN'T SELECT 8R0
121 DUMP MODE SILO TEST FAILED
122 DUMP MODE SILO TEST(SLOW CLK) FAILED
123 BYTE MODE SILO TEST FAILED
124 BYTE MODE SILO TEST (SLOW CLK) FAILED
125 ASCIZ MODE SILO TEST FAILED
126 ASCIZ MODE SILO TEST (SLOW CLK) FAILED
127 SIXBIT MODE SILO TEST FAILED
130 SIXBIT MODE SILO TEST (SLOW CLK) FAILED
131 TBD DIDN'T SKIP ON OVERFLOW
132 NO INTERRUPT ON OVERFLOW
133 RESETTING OVERFLOW DIDN'T CLEAR INTERRUPT
134 CPC DATA TEST FAILED
135 DAC DATA TEST FAILED
MAINDEC-10-DXMPA-D-D PAGE 12
*** SEQ 0012
136 CONTROL UNIT DID NOT RESPOND TO SELECTION SEQUENCE
137 CONTROL UNIT DID NOT RESPOND TO DEVICE ADDRESS 0
140 ADDRESS IN DID NOT SET IN SELECTION SEQUENCE
141 BAD PARITY ON BUS IN WITH ADDRESS IN PRESENTED
142 NOT ZERO ADDRESS RECEIVED WHEN ATTEMPTING TO SELECT UNIT ZERO
143 ADDRESS IN DID NOT DROP DURING SELECTION SEQUENCE
144 STATUS IN DID NOT SET DURING SELECTION SEQUENCE
145 BAD PARITY ON BUS IN WITH STATUS BYTE PRESENTED
146 INITIAL STATUS BYTE WAS NON-ZERO IN SENSE COMMAND
147 STATUS IN DID NOT DROP WHEN SERVICE OUT WAS SET
DURING PRESENTATION OF STATUS BYTE
150 SRV IN DID NOT SET PRESENTING A SENSE BYTE
151 PARITY ERROR ON BUS IN WHILE PRESENTING A SENSE BYTE
152 SERVICE IN DID NOT DROP IN RESPONSE TO SERVICE OUT
DURING PRESENTATION OF SENSE BYTE
153 STATUS IN DID NOT SET AFTER PRESENTING 24 SENSE BYTES
154 PARITY ERROR IN STATUS BYTE AFTER SENSE COMMAND
155 STATUS IN DID NOT DROP AFTER PRESENTING ENDING STATUS
IN SENSE COMMAND
156 OPERATIONAL IN DID NOT DROP AFTER SENSE COMMAND
157 REQUEST IN NEVER SET AFTER SHORT BUSY SEQUENCE
160 ADDRESS IN DID NOT SET IN CU INITIATED SEQUENCE
161 PARITY ERROR ON BUS IN WHILE READING ADDRESS IN
CU INITIATED SELECTION SEQUENCE
162 NON-ZERO ADDRESS PRESENTED IN CU INITIATED SELECTION SEQUENCE
163 ADDRESS IN DID NOT DROP IN CU INITIATED SELECTION SEQUENCE
164 STATUS IN DID NOT SET IN CU INITIATED SELECTION SEQUENCE
165 STATUS IN DID NOT DROP IN CU INITIATED SELECTION SEQUENCE
166 OPR IN DID NOT DROP AFTER CU INITIATED SELECTION SEQUENCE
167 SERVICE OUT DIDN'T SET WHILE TRANSFERRING DATA IN TESTS 13 - 23
170 SERVICE OUT DIDN'T CLEAR WHILE TRANSFERRING DATA IN TESTS 13 - 23
MAINDEC-10-DXMPA-D-D PAGE 13
*** SEQ 0013
5.0 HISTORY FILE
VERSION PROBLEM FIX
------- ------- ---
1(0) SKIP READ DATA ERR -ADD CLL INSTRUCTION TO TRMCHK SKP READ CODE
1(1) SENSE BYTE DISPLACEMENT -CHG METHOD OF CALCULATING DAC ADR FOR BYTES
1(2) CPC<14:17> CHOPPING -SAVE CPC BEFORE DOING INT INSTRUCTION
1(3) OPI PROBLEM -CLR SEL & HOLD OUT AFTER DETECTING ERROR
1(4) TIE NOT WORKING -FIX CALCBC CODE TO CALCULATE GOOD CBC FOR TIE
1(5) SLOW SILO CHIPS -DELAY START OF ANY SENSE COMMAND
1(6) NO PAR ERR ON TERM -CHG SHRTRC TO DETECT PARITY BEFORE CLR OF RUN
1(7) LOAD OF BYTE CNT GENERATES MEM CYC -WHEN LOADING CPC INSURE THAT
SIGN BIT OF BYTE CNT=0
1(10) IMPLEMENT SLOW CLOCK -CHG WRITE STARTUP TO USE SLOW CLOCK
-ADD MICRO-DIAGNOSTICS FOR SLOW CLK
REWIND RACE PROBLEM -ACCEPT CU INTERRUPTS AT COMMAND STARTUP
TO LOOP(ENABLE BY STARTING AT 205)
-CHG THE ROLL OF REG 17 AND 16.REG 17
DISPLAYS ONLY THE ERROR CODES WHILE REG
16 WILL NOW DISPLAY THE IDLE LOOP COUNT.
2(0) M8599 PROBLEM -ADD EXTRA LOAD OF DAC TO RDSEN
2(1) OPI PROBLEM -CORRECT WAITB ROUTINE (10 SECOND TIMER)
2(2) UCODE DIAG PROBLEM -CORRECT LOOPING ON ERROR IN UCODE
DIAGNOSTICS
2(3) MP ERRORS WITH SHORT -INCLUDE STM IN LOOP TO SEARCH FOR NEXT
RECORD ERRORS COMMAND ON STACK
2(4) SHORT RECORD ERRORS -(1)ADD WAIT FOR NOT BYTE AVAILABLE BEFORE
LOADING CBC FOR ALL BUT FIRST XFER WORD ON
A WRITE OPERATION TO BE SURE SILO
RECEIVES ALL BYTES
(2)PREVENT CLEARING ACCUMULATED BYTE COUNT
WHEN STORING CU INITIATED STATUS
2(5)
MAINDEC-10-DXMPA-D-D PAGE 14
*** SEQ 0014
VERSION DATE REASON FOR NEW VERSION
------- ---- ----------------------
4(0) DEC 1976 1.COMPLETE RE-WRITE TO REDUCE HANDSHAKE
TIME BETWEEN PDP-10 AND TX01.
2.ADD AUTOMATIC ERROR RETRY ROUTINE
WHICH CAN BE TURNED ON WITH BIT 3
DEVICE COMMAND INSTRUCTION.
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE A
*** SEQ 0015
FLOW CHART
****************
DXMPA - DX10 MICROCODE
****************
COPYRIGHT 1976
DIGITAL EQUIPMENT CORPORATION
MAYNARD, MASS. 01754
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE B
*** SEQ 0016
TABLE OF CONTENTS
*******************
PAGE 01 START ADDRESSES
PAGE 02 IDLE LOOP
PAGE 03 GET REWIND OR UNLOAD STATUS
PAGE 04 SYSTEM RESET ROUTINES
PAGE 05 STORE CPU REQUESTED STATUS
PAGE 06 START UP CHANNEL PROGRAM
PAGE 07 DEVICE COMMAND EXECUTION
PAGE 08 CMDGO SUBROUTINE - DEVICE COMMAND START-UP
PAGE 09 CMDGO SUBROUTINE - SEND COMMAND TO DEVICE, GET STATUS BYTE
PAGE 10 CMDGO SUBROUTINE - START A DATA TRANSFER
PAGE 11 CMDGO SUBROUTINE - WAIT FOR CONTROL COMMAND TO COMPLETE
PAGE 12 CMDGO SUBROUTINE - STORE CONTROL COMMAND ERROR STATUS
PAGE 13 CMDGO SUBROUTINE - SHORT BUSY HANDLER
PAGE 14 CMDGO SUBROUTINE - INTERRUPT SERVICE ROUTINE FOR BLOCK DONE
PAGE 15 CMDGO SUBROUTINE - WAIT FOR INTERRUPT
PAGE 16 CMDGO SUBROUTINE - EXIT
PAGE 17 AUTOMATIC RETRY DISPATCHER
PAGE 18 BUS OUT CHECK RETRY ROUTINE
PAGE 19 CHANNEL ERROR RETRY ROUTINE
PAGE 20 WRITE ERROR RETRY ROUTINE
PAGE 21 ERASE GAP ERROR RETRY ROUTINE
PAGE 22 READ ERROR RETRY ROUTINE
PAGE 23 READ ERROR RETRY ROUTINE - END OF PASS
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 01
START ADDRESSES *** SEQ 0017
START ADDRESS 200 START ADDRESS 201 START ADDRESS 202
*********** *********** ***********
**ST200 ** **ST201 ** **ST202 **
*********** *****I***** ***********
I I I
*********************** I ***********************
* * I * SET NO DIAGNOSTICS *
* INITIALIZE DX10 * I * FLAG *
* * I * *
*********************** I ***********************
I I I
*********************** I<-----------------------------
* SET ONETIME * I
* DIAGNOSTIC FLAG * V
* * ***********************
*********************** * *
I RESETB(04) * INITIALIZE DX10 *
************************* * *
** ** ***********************
**PERFORM SYSTEM RESET ** I
** ** I
************************* I
I I
************************* I
** ** I
** RUN THE DIAGNOSTICS ** I
** ** I
************************* I
I<-----------------------------
I RESETB(04)
*************************
** **
**PERFORM SYSTEM RESET **
** **
*************************
I
***********************
* RESET ALL CONTROL *
* FLAGS *
* *
***********************
I
***********************
*SET CHANNEL STATUS TO*
* IDLE *
* *
***********************
I
************
*IDLE(02) *
************
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 02
IDLE LOOP *** SEQ 0018
*********** WAIT HERE FOR COMMAND FROM DEC-SYSTEM-10
**IDLE **
*********** RUN DIAGNOSTICS ONCE EVERY 512 LOOPS
I UNLESS INHIBITED
***********************
*CLEAR SUPPRESS OUT TO*
* CANCEL COMMAND *
* CHAINING *
***********************
I
***********************
* * ***
* CLEAR WAIT COUNT * *3*
* * ***
*********************** I
I ***********************
*********************** * *
*** * SET TEMP COUNT TO * *INCREMENT TEMP COUNT *
*1*------>* -512 * * *
*** * * ***********************
*********************** I
I GETRWS(03) -----------------
----------------- ************************* /TEMP COUNT EQUAL \NO ***
*** / REQUEST IN TAG \YES ** READ AND REPORT ** / ZERO? \------->*2*
*2*------->/ LINE SET? \------>** REWIND DONE STATUS ** / \ ***
*** / \ ** ** -----------------------
----------------------- ************************* I YES
I NO I I
I<----------------------------- ----------------- *************************
----------------- / DIAGNOSTICS \NO ** **
/ \YES ************ / INHIBITED? \------>** RUN THE DIAGNOSTICS **
/ CONTINUE SET? \------->*STPRG(06) * / \ ** **
/ \ ************ ----------------------- *************************
----------------------- I YES I
I NO I<-----------------------------
I I
----------------- ***********************
/ \YES ************ *INCREMENT WAIT COUNT *
/ CLEAR SET? \------->*RESET(04) * * AND DISPLAY IN IBUS *
/ \ ************ * REGISTER 16 LIGHTS *
----------------------- ***********************
I NO I
I ***
----------------- *1*
/ STATUS REQUEST \YES ************ ***
/ IN? \------->*STRREQ(05)*
/ \ ************
-----------------------
I NO
I
***
*3*
***
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 03
GET REWIND OR UNLOAD STATUS *** SEQ 0019
*********** ***
**GETRWS ** *1*
*********** ***
I I
***************** *****************
* * * *
* SET HOLD OUT * *SET SERVICE OUT*
* * * *
***************** *****************
I I
***************** *****************
* * * CLEAR SELECT *
*SET SELECT OUT * * OUT *
* * * *
***************** *****************
I<------------------ I
----------------- I *****************
/ \NO I * *
/ ADDRESS IN? \------->I *CLEAR HOLD OUT *
/ \ * *
----------------------- *****************
I YES I
*********************** *****************
* READ DEVICE ADDRESS * * CLEAR SERVICE *
* FROM BUS IN LINES * * OUT *
* * * *
*********************** *****************
I I
***************** ----------------- ***********************
* * / DEVICE END IN \YES *SET CHANNEL STATUS TO*
*SET COMMAND OUT* / STATUS BYTE? \------->* CU INITIATED *
* * / \ * *
***************** ----------------------- ***********************
I I NO I
***************** I *************************
* CLEAR COMMAND * I ** **
* OUT * I ** STORE STATUS **
* * I ** **
***************** I *************************
I<------------------ I I
----------------- I I -----------------
/ \NO I I NO / UNIT CHECK IN \
/ STATUS IN? \------->I I<------------------/ STATUS BYTE? \
/ \ I / \
----------------------- I -----------------------
I YES I I YES
*********************** I ***********************
*READ STATUS BYTE FROM* I * *
* BUS IN LINES * I * READ SENSE BYTES *
* * I * *
*********************** V ***********************
I *********** I
*** **RETURN **<------------------------
*1* ***********
***
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 04
SYSTEM RESET ROUTINES *** SEQ 0020
************ ***********
*RESET * **RESETB **
************ ***********
I I
----------------- *****************
/ \YES ************ *CLEAR SUPPRESS *
/ CONTINUE SET? \------->*STPRG(06) * * OUT *
/ \ ************ * *
----------------------- *****************
I NO I
***************** *****************
*CLEAR CLEAR AND* * CLEAR *
* CONTINUE * *OPERATIONAL OUT*
* * * *
***************** *****************
I I
***************** *****************
*CLEAR SUPPRESS * * CLEAR ADDRESS *
* OUT * * OUT *
* * * *
***************** *****************
I I
***************** *****************
* CLEAR * * *
*OPERATIONAL OUT* *CLEAR HOLD OUT *
* * * *
***************** *****************
I I
*********************** *****************
* WAIT SIX * * CLEAR SELECT *
* MICRO-SECONDS * * OUT *
* * * *
*********************** *****************
I I
***************** *****************
*SET OPERATIONAL* * CLEAR SERVICE *
* OUT * * OUT *
* * * *
***************** *****************
I I
************ *****************
*IDLE(02) * * CLEAR COMMAND *
************ * OUT *
* *
*****************
I
*****************
*SET OPERATIONAL*
* OUT *
* *
*****************
I
***********
**RETURN **
***********
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 05
STORE CPU REQUESTED STATUS *** SEQ 0021
************
*STRREQ *
************
I
I
***********************
*SET CHANNEL STATUS TO*
* IDLE *
* *
***********************
I
I
*************************
** **
** STORE STATUS **
** **
*************************
I
I
************
*IDLE(02) *
************
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 06
START UP CHANNEL PROGRAM *** SEQ 0022
************
*STPRG *
************
I
----------------- ***********************
/ \YES * *
************ / CLEAR SET? \------->* LOAD CPC FROM ICPC *
*IFETCH * / \ * *
************ ----------------------- ***********************
I I NO I
----------------------->I<-----------------------------
***********************
************ * *
*DECODE(07)* * READ FROM 10 MEMORY *
************ * *
I ***********************
----------------------->I
-----------------
/BIT 0 OF COMMAND \YES ************
/ SET? \------->*SQER00 * TRIED TO EXECUTE A TRANSFER COMMAND
/ \ ************
-----------------------
I NO
-----------------
/BIT 1 OF COMMAND \YES ************
/ SET? \------->*DOCMD(07) *
/ \ ************
-----------------------
I NO
----------------- ***********************
/BIT 2 OF COMMAND \NO * CLEAR CLEAR AND *
/ SET? (GO) \------->* CONTINUE *
/ \ * *
----------------------- ***********************
I YES I
I<-----------------------------
----------------- ***********************
/BIT 3 OF COMMAND \YES * *
/ SET? (JUMP) \------->*LOAD CPC FROM COMMAND*
/ \ * *
----------------------- ***********************
I NO I
I<-----------------------------
----------------- *************************
/BIT 4 OF COMMAND \YES ** **
/ SET? (STORE) \------>** STORE STATUS **
/ \ ** **
----------------------- *************************
I NO I
I<-----------------------------
-----------------
************ NO / \YES ************
*IDLE(02) *<-------/ CONTINUE SET? \------->*IFETCH(06)*
************ / \ ************
-----------------------
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 07
DEVICE COMMAND EXECUTION *** SEQ 0023
************
*DOCMD *
************
I
***********************
*SAVE THE COMMAND AND *
* CURRENT CPC *
* *
***********************
I CMDGO(08)
*************************
************ ** **
*EXCMD(22) * ** DO THE COMMAND ** ************ ************
************ ** ** *EXCMD(22) * *NRETRY(17)*
I ************************* ************ ************
----------------------------->I I I
----------------- ----------------- *************************
/ \YES / AUTOMATIC ERROR \NO ** **
/ ANY ERRORS? \------------------>/RECOVERY REQUESTED?\------>** STORE STATUS **
/ \ / \ ** **
----------------------- ----------------------- *************************
I NO I YES I
I ************ ************
----------------- *RETRY(17) * *IDLE(02) *
/ \NO ************ ************ ************
/ CONTINUE SET? \------->*IDLE(02) *
/ \ ************
-----------------------
I YES
I
-----------------
/ WAS COMMAND A \NO ************
/ BURST TYPE? \------->*IFETCH(06)*
/ \ ************
-----------------------
I YES
I
************
*DECODE(06)*
************
NEXT COMMAND WAS ALREADY
READ FROM MEMORY AT END
OF XFER LIST
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 08
CMDGO SUBROUTINE - DEVICE COMMAND START-UP *** SEQ 0024
***********
**CMDGO **
***********
I
***********************
*PUT DEVICE ADDRESS ON*
* BUS OUT LINES *
* *
***********************
I
*****************
* *
*SET ADDRESS OUT*
* *
*****************
I
*****************
* *
* SET HOLD OUT *
* *
*****************
I
*****************
* *
*SET SELECT OUT *
* *
*****************
I<------------------------------------------------------------------------------
I I
----------------- ----------------- ----------------- I
/ \NO / \NO / \NO I
/ OPERATIONAL IN? \-------> / SELECT IN? \-------> / STATUS IN? \------->I
/ \ / \ / \
----------------------- ----------------------- -----------------------
I YES I YES I YES
***************** I I
* CLEAR ADDRESS * *********************** ************
* OUT * *SET SELECT ERROR BIT * *SHORTB(13)*
* * * IN CHANNEL STATUS * ************
***************** * *
I ***********************
***************** I
*CLEAR SUPPRESS * ***********************
* OUT * * CLEAR ADDRESS OUT, *
* * * HOLD OUT AND SELECT *
***************** * OUT *
I ***********************
************ I
*SENDCM(09)* *************************
************ ** ** ************
** STORE STATUS **----->*IDLE(02) *
** ** ************
*************************
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 09
CMDGO SUBROUTINE - SEND COMMAND TO DEVICE, GET STATUS BYTE *** SEQ 0025
************
*SENDCM(08)*
************
I<------------------
----------------- I
/ \NO I
/ ADDRESS IN? \------->I
/ \
-----------------------
I YES
***********************
*PUT DEVICE COMMAND ON*
* BUS IN LINES *
* *
***********************
I
*****************
* *
*SET COMMAND OUT*
* *
*****************
I
----------------- ***********************
/IS COMMAND REWIND\YES * CLEAR HOLD OUT AND *
/ OR UNLOAD? \------->* SELECT OUT *
/ \ * *
----------------------- ***********************
I NO I
I<-----------------------------
*****************
* CLEAR COMMAND *
* OUT *
* *
*****************
I<------------------
----------------- I
/ \NO I
/ STATUS IN? \------->I
/ \
-----------------------
I YES
I
----------------- ----------------- -----------------
/ANY ERROR BITS IN\NO / IS COMMAND TEST \NO / CHANNEL END IN \NO ************
/ STATUS BYTE? \-------> / IO? \-------> / STATUS BYTE? \------->*FNDX(10) *
/ \ / \ / \ ************
----------------------- ----------------------- -----------------------
I YES I YES I YES
************ ************ ************
*STERR0(12)* *CMDEND(11)* *CTLCMD(11)*
************ ************ ************
STATUS BYTE ERROR BITS ARE ATTENTION, CU END, BUSY, UNIT CHECK, UNIT EXCEPTION
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 10
CMDGO SUBROUTINE - START A DATA TRANSFER *** SEQ 0026
************
*FNDX *
************
I
***********************
*READ A TRANSFER WORD *
* FROM -10 MEMORY * THIS MAY INCLUDE PROCESSING A CHANNEL JUMP COMMAND
* *
***********************
I
-----------------
/ WAS A TRANSFER \NO ************
/ WORD FOUND? \------->*SQER26 * ************
/ \ ************ *ON(14) *
----------------------- ************
I YES ------------------------>I
*********************** I ***********************
*LOAD DATA ADDRESS AND* I * TURN ON INTERRUPT *
* BYTE COUNTERS * I * SYSTEM *
* * I * *
*********************** I ***********************
I I I
*********************** I ************
* COMPUTE CORRECT * I *WAIT(15) *
* CONTROL BITS FOR * I ************
* CHANNEL CONTROL REG * I
*********************** I WAIT ROUTINE WILL NORMALLY BE
I I INTERRUPTED BEFORE TERMINATION
***************** I
* * I
*SET SERVICE OUT* I INTERRUPT
* * I I
***************** I I
I I V
***************** I ************
* CLEAR SERVICE * I *BLKDNI(14)*
* OUT * I ************
* * I
***************** I
I I
*********************** I
*LOAD CHANNEL CONTROL * I
* REGISTER * I
* * I
*********************** I
I I
---------------------------------->I
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 11
CMDGO SUBROUTINE - WAIT FOR CONTROL COMMAND TO COMPLETE *** SEQ 0027
************
*CTLCMD(09)*
************
I
-----------------
/ DEVICE END IN \YES *** ************
/ STATUS BYTE? \------->*1* *CMDEND(09)*
/ \ *** ************
----------------------- ------------------->I
I NO I *****************
----------------- I * *
/IS COMMAND REWIND\YES I *SET SERVICE OUT*
/ OR UNLOAD? \---------------------------->I * *
/ \ *****************
----------------------- I
I NO ***********************
***************** * CLEAR SELECT OUT, *
* * *HOLD OUT AND SERVICE *
*SET SERVICE OUT* * OUT *
* * ***********************
***************** I
I I
***************** ***********
* CLEAR SERVICE * **RETURN **
* OUT * ***********
* *
*****************
I<------------------
----------------- I
/ \NO I
/ STATUS IN? \------->I
/ \
-----------------------
I YES
*****************
*READ THE STATUS*
* BYTE * ***
* * *1*
***************** ***
I I
----------------- -----------------
/IS COMMAND ERASE \NO / \YES
/ GAP? \-------> / IS COMMAND A NOP? \--->I
/ \ / \ I
----------------------- ----------------------- I
I YES I NO I
----------------------------->I I
***************** I
* SET SUPPRESS * I ************
* OUT *--------->*CMDEND(11)*
* * ************
*****************
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 12
CMDGO SUBROUTINE - STORE CONTROL COMMAND ERROR STATUS *** SEQ 0028
************
*STERR0(09)*
************
I
I
*************************
** STORE INITIAL ERROR **
** STATUS **
** **
*************************
I
*****************
* *
*SET SERVICE OUT*
* *
*****************
I
I
***********************
* CLEAR SELECT OUT, *
*HOLD OUT AND SERVICE *
* OUT *
***********************
I
I
************
*IDLE(02) *
************
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 13
CMDGO SUBROUTINE - SHORT BUSY HANDLER *** SEQ 0029
************
*SHORTB(08)*
************
I
***********************
* CLEAR SELECT OUT, *
*HOLD OUT AND ADDRESS *
* OUT *
***********************
I<------------------
----------------- I
/ \NO I
/ REQUEST IN? \------->I
/ \
-----------------------
I YES
I GETRWS(03)
*************************
** READ AND REPORT **
** REWIND DONE STATUS **
** **
*************************
I
************
*CMDGO(08) *
************
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 14
CMDGO SUBROUTINE - INTERRUPT SERVICE ROUTINE FOR BLOCK DONE *** SEQ 0030
************ ----------------- ***********************
*BLKDNI(10)* *** / READING FROM \NO * *
************ *1--------->/ DEVCIE? \------->* SET LAST BLOCK *
I *** / \ * *
*********************** ----------------------- ***********************
*TURN INTERRUPT SYSTEM* I YES I
* OFF * ----------------- I
* * /ANY MORE DATA IN \NO ************
*********************** / SILO? \------------->*SRVDEV(16)*
I / \ ************
*********************** -----------------------
* READ NEXT CONTROL * I YES
*WORD FROM -10 MEMORY * I<---------------------
* * *********************** I
*********************** * LOAD CHANNEL BUS * I
I *CONTROL REGISTER WITH* I
----------------- * MEMORY INHIBIT * I
/ BYTE COUNTER \NO ************ *********************** I
/ OVERFLOW? \------->*SHRTRC(16)* I I
/ \ ************ *********************** I
----------------------- * LOAD BYTE COUNTER * I
I YES * WITH LARGE NEGATIVE * I
----------------- * NUMBER * I
/ANY MORE TRANSFER\NO *** *********************** I
/ WORDS? \------->*1* I I
/ \ *** *********************** I
----------------------- * TURN ON INTERRUPT * I
I YES * SYSTEM * I
I * * I
*********************** *********************** I
* LOAD CHANNEL BUS * I I
* CONTROL REGISTER * ************ I
* * *WAIT(15) * I
*********************** ************ I
I I
*********************** WAIT ROUTINE WILL NORMALLY BE I
*LOAD DATA ADDRESS AND* INTERRUPTED BEFORE TERMINATION I
* BYTE COUNTERS * I
* * INTERRUPT I
*********************** I I
I V I
************ *********************** I
*ON(10) * * TURN OFF INTERRUPT * I
************ * SYSTEM * I
* * I
*********************** I
I I
----------------- I
/ BYTE COUNTER \NO I
/ OVERFLOW? \---------->I
/ \
-----------------------
I YES
************
*LONGRC(16)*
************
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 15
CMDGO SUBROUTINE - WAIT FOR INTERRUPT *** SEQ 0031
************
*WAIT(10) *
************
I<------------------------------------------------
----------------- ----------------- I
/ 10 SECONDS \NO / \NO I
/ ELAPSE? \-------> / STATUS IN? \------->I
/ \ / \ I
----------------------- ----------------------- I
I YES I YES I
*********************** ----------------- I
* TURN OFF INTERRUPT * / WRITING TO \NO I
* SYSTEM * / DEVICE? \------->I
* * / \
*********************** -----------------------
I I YES
*********************** ***********************
* SET OPERATION * * TURN OFF INTERRUPT *
*INCOMPLETE IN STATUS * * SYSTEM *
* * * *
*********************** ***********************
I I
*********************** ************
* * *SHRTRC(16)*
* RESET THE DEVICE * ************
* *
***********************
I
*************************
** **
** STORE STATUS **
** **
*************************
I
************
*IDLE(02) *
************
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 16
CMDGO SUBROUTINE - EXIT *** SEQ 0032
************
*SHRTRC(15)*
************
I
***********************
************ *READ REST OF TRANSFER*
*LONGRC(14)* * LIST *
************ * *
I ***********************
------------------->I
***********************
************ * SET LENGTH ERROR IN *
*SRVDEV(14)* * STATUS *
************ * *
I ***********************
------------------->I
----------------- ***********************
/ CHANNEL PARITY \YES * SET PARITY ERROR IN *
/ ERROR? \------->* STATUS *
/ \ * *
----------------------- ***********************
I NO I
I<-----------------------------
I<------------------
----------------- I
/ \NO I
/ STATUS IN? \------->I
/ \
-----------------------
I YES
***********************
*CLEAR CHANNEL CONTROL*
* REGISTER *
* *
***********************
I
***********************
* *
*READ THE STATUS BYTE *
* *
***********************
I
***********************
* *
* SET SERVICE OUT *
* *
***********************
I
***********************
* CLEAR SELECT OUT, * ***********
*HOLD OUT AND SERVICE *------>**RETURN **
* OUT * ***********
***********************
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 17
AUTOMATIC RETRY DISPATCHER *** SEQ 0033
************
*RETRY(07) *
************
I
----------------- -----------------
/ \NO / CHANNEL PARITY \NO ************
/ UNIT CHECK? \-------> / ERROR? \------->*NRETRY(07)*
/ \ / \ ************
----------------------- -----------------------
I YES I YES
*********************** ************
* * *CHCHK(19) *
* READ SENSE BYTES * ************
* *
***********************
I
-----------------
/ \YES ************
/ EQUIPMENT CHECK? \------->*NRETRY(07)* ------------------->I
/ \ ************ I I
----------------------- I V
I NO I -----------------
----------------- I / \YES ************
/ \YES ************ I / WRITE OR WTM? \------->*WRTRET(20)*
/ BUS OUT CHECK? \------->*BOCHK(18) * I / \ ************
/ \ ************ I -----------------------
----------------------- I I NO
I NO I -----------------
----------------- I / \YES ************
/INTERVEN. REQ'D, \YES ************ I / ERG? \------->*ERGRET(21)*
/ COMMAND REJECT OR \------->*NRETRY(07)* I / \ ************
/ DATA CONVTR CHECK? \ ************ I -----------------------
----------------------- I I NO
I NO I -----------------
----------------- I / READ FORWARD OR \YES ************
/ \YES ************ I / BACKWARD? \------->*RDRET(22) *
/ OVERRUN? \------->*CHCHK(19) * I / \ ************
/ \ ************ I -----------------------
----------------------- I I NO
I NO I ************
----------------- I *NRETRY(07)*
/ \YES I ************
/ DATA CHECK? \---------------------------->I
/ \
-----------------------
I NO
************
*NRETRY(07)*
************
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 18
BUS OUT CHECK RETRY ROUTINE *** SEQ 0034
************
*BOCHK *
************
I
-----------------
/ DEVICE END IN \NO
/ STATUS? \------->I
/ \ I
----------------------- I
I YES I
----------------- I
/ \NO I
/ WRITE COMMAND? \------->I
/ \ I
----------------------- I
I YES I
I CMDGO(08) I
************************* I
** ** I
**BACKSPACE ONE RECORD ** I
** ** I
************************* V
I<------------------
I CMDGO(08)
*************************
** **
** TRY COMMAND AGAIN **
** **
*************************
I
-----------------
/ \NO ************
/ ERROR? \------->*EXCMD(07) *
/ \ ************
-----------------------
I YES
-----------------
/ RETRIED 5 TIMES \NO ************
/ YET? \------->*BOCHK(18) *
/ \ ************
-----------------------
I YES
************
*NRETRY(07)*
************
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 19
CHANNEL ERROR RETRY ROUTINE *** SEQ 0035
************
*CHCHK(17) *
************
I CMDGO(08)
----------------- *************************
/ WRITE OR READ \YES ** **
/ FORWARD? \------>**BACKSPACE ONE RECORD **----->I
/ \ ** ** I
----------------------- ************************* I
I NO CMDGO(08) I
----------------- ************************* I
/ \YES ** ** I
/ READ BACKWARD \------>** SKIP ONE RECORD **----->I
/ \ ** ** I
----------------------- ************************* I
I NO V
I<------------------------------------------------
I CMDGO(08)
*************************
** **
** TRY COMMAND AGAIN **
** **
*************************
I
-----------------
/ \NO ************
/ ERROR? \------->*EXCMD(07) *
/ \ ************
-----------------------
I YES
-----------------
/ RETRIED 5 TIMES \NO ************
/ YET? \------->*CHCHK(19) *
/ \ ************
-----------------------
I YES
************
*NRETRY(07)*
************
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 20
WRITE ERROR RETRY ROUTINE *** SEQ 0036
************
*WRTRET *
************
I CMDGO(08)
************************* ------------------------------>I
** ** ^ I
**BACKSPACE ONE RECORD ** I V CMDGO(08)
** ** I *************************
************************* I ** **
------------------->I I ** SKIP ONE RECORD **
^ I CMDGO(08) I ** **
I ************************* I *************************
I ** READ A RECORD ** I ------------------>I
I ** BACKWARD WITHOUT ** I ^ I CMDGO(08)
I ** TRANSFERRING DATA ** I I *************************
I ************************* I I ** ** FIRST RETRY ERASES ONE TIME,
I I I I ** ERASE TAPE ** SECOND RETRY ERASES TWO TIMES,
I ----------------- I I ** ** ETC.
I / \NO I I *************************
I / ERROR? \------->I I I CMDGO(08)
I / \ I *************************
I ----------------------- I ** **
I I YES I ** TRY COMMAND AGAIN **
I ----------------- I ** **
I NO / \YES I *************************
I <-------/ HIT BOT? \------------------->I I
/ \ -----------------
----------------------- / \NO ************
/ ERROR? \------->*EXCMD(07) *
/ \ ************
-----------------------
I YES
-----------------
/RETRIED 75 TIMES \NO ************
/ YET? \------->*WRTRET(20)*
/ \ ************
-----------------------
I YES
************
*NRETRY(07)*
************
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 21
ERASE GAP ERROR RETRY ROUTINE *** SEQ 0037
************
*ERGRET *
************
I CMDGO(08)
*************************
** **
** TRY COMMAND AGAIN **
** **
*************************
I
-----------------
/ \NO ************
/ ERROR? \------->*EXCMD(07) *
/ \ ************
-----------------------
I YES
-----------------
/ RETRIED 3 TIMES \NO ************
/ YET? \------->*ERGRET(21)*
/ \ ************
-----------------------
I YES
************
*NRETRY(07)*
************
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 22
READ ERROR RETRY ROUTINE *** SEQ 0038
************
*RDRET *
************
I
***********************
* SET PASS COUNTER TO * PASS ZERO REREADS IN SAME DIRECTION AS ERROR,
* ZERO * PASS ONE REREADS IN OPPOSITE DIRECTION
* *
*** ***********************
*1*----------------->I
*** ----------------- -----------------
/ NOISE SET IN \NO /WERE LESS THAN 4 \YES ***
/ SENSE BYTE 1? \-------> / BYTES READ? \------->*2*
/ \ / \ ***
----------------------- -----------------------
I YES I NO
I<----------------------------- CMDGO(08)
----------------- *************************
/ TIME TO CLEAN \YES ** BACKSPACE TO 4 ** TAPE IS CLEANED AFTER
/ TAPE? \------>** RECORDS IN FRONT OF ** EVERY FOUR REREADS
/ \ ** RECORD IN ERROR **
----------------------- *************************
I NO I
I<----CMDGO(08)----------------
*************************
************ ** POSITION TAPE FOR **
*PASS2(23) * ** REREAD OF RECORD IN **
************ ** ERROR **
I *************************
------------------->I CMDGO(08)
----------------- *************************
/IS TRACK IN ERROR\NO ** SEND TRACK IN ERROR **
/ AN 03? \------>** TO TAPE CONTROLLER **
/ \ ** **
----------------------- *************************
*** I YES I
*2*----------------->I<-----------------------------
*** I CMDGO(08)
*************************
** TRY READ COMMAND **
** AGAIN **
** **
*************************
I CMDGO(08)
----------------- ----------------- *************************
/ \NO / \NO ** REPOSITION TO **
/ ERROR? \---------------------------->/ IN PASS ZERO? \------>** OPPOSITE END OF **
/ \ / \ ** RECORD **
----------------------- ----------------------- *************************
I YES I YES I
I I<-----------------------------
----------------- ************
*** NO /RETRIED 30 TIMES \YES ************ *EXCMD(07) *
*1*<-------/ IN THIS PASS? \------->*ENDPAS(23)* ************
*** / \ ************
-----------------------
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 23
READ ERROR RETRY ROUTINE - END OF PASS *** SEQ 0039
************
*ENDPAS *
************
I CMDGO(08)
----------------- ************************* -----------------
/ \YES ** TRY ORIGINAL READ ** / \NO ************
/ IN PASS ONE? \------>** COMMAND AGAIN **-----> / ERROR? \------->*EXCMD(07) *
/ \ ** ** / \ ************
----------------------- ************************* -----------------------
I NO I YES
I ************
*********************** *NRETRY(07)*
*BUILD A NEW XFER LIST* ************
*IN 8-MEMORY FOR READ *
*IN OPPOSITE DIRECTION*
***********************
I
I
-----------------
/ WILL XFER LIST \NO ************ IF RECORD DIFFERS IN SIZE FROM XFER LIST, DX10
/LOAD DATA INTO SAME\------->*NRETRY(07)* MAY NOT BE ABLE TO ASSEMBLE THE SAME 10-MEMORY
/POSITION IN 10-MEMORY\ ************ WORDS IN OPPOSITE DIRECTION
-----------------------
I YES
I
***********************
* SET PASS COUNTER TO *
* ONE *
* *
***********************
I
I
************
*PASS2(22) *
************
DXMPA - DX10 MICROCODE DECFLO VER 00.11 30-DEC-76 14:52 PAGE 24
FLOW CHART CROSS REFERENCE LIST *** SEQ 0040
BLKDNI 10 14
BOCHK 17 18 18
CHCHK 17 17 19 19
CMDEND 09 11 11
CMDGO 07 08# 13 18 18 19 19 19 20 20 20 20 20 21 22 22 22 22
22 23
CTLCMD 09 11
DECODE 06 07
DOCMD 06 07
ENDPAS 22 23
ERGRET 17 21 21
EXCMD 07 07 18 19 20 21 22 23
FNDX 09 10
GETRWS 02 03# 13
IDLE 01 02# 04 05 06 07 07 08 12 15
IFETCH 06 06 07
LONGRC 14 16
NRETRY 07 17 17 17 17 17 18 19 20 21 23 23
ON 10 14
PASS2 22 23
RDRET 17 22
RESET 02 04
RESETB 01 01 04#
RETRY 07 17
RETURN 03 04 11 16
SENDCM 08 09
SHORTB 08 13
SHRTRC 14 15 16
SQER00 06
SQER26 10
SRVDEV 14 16
ST200 01#
ST201 01#
ST202 01#
STERR0 09 12
STPRG 02 04 06
STRREQ 02 05
WAIT 10 14 15
WRTRET 17 20 20
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 82
*** SEQ 0041
/************************************************************
/
/ THE FOLLOWING ROUTINES,FROM TSTBEG TO TSTEND ARE
/ SELF TEST ROUTINES.THIS IS WHERE THE -8A ATTEMPTS
/ TO INSURE THAT ALL OF THE SPECIAL IOT'S ARE STILL
/ FUNCTIONAL.
/
/ IF AN ERROR OCCURS,IT IS REPORTED BY A DIAGNOSTIC ERROR
/ CODE IN THE RANGE OF 100 TO 177.
/ THIS STATUS IS STORED INTO LOCATION 5
/ AND DISPLAYED IN LIGHTS FOR REGISTER 17
/************************************************************
/************************************************************
/
/ INHIBIT DIAGNOSTICS ENTRY POINT
/
/************************************************************
5000 0000 STPTST, 0
5001 6007 INT /INITIALIZE THE SYSTEM
5002 7240 CLA CMA /GEN A -1
5003 3050 DCA NODIAG /SET NO DIAGNOSTICS FLAG
5004 5777' JMP START
/************************************************************
/
/ CONTINUOUS DIAGNOSTIC EXECUTION ENTRY PT!
/
/************************************************************
5005 7240 DIAG, CLA CMA /GEN -1
5006 3051 DCA LOOPER /SET TEST FLG
5007 3053 DCA ONETIM /CLEAR ONE TIME FLAG
5010 3005 DCA ECODE /INIT ERROR NUMBER LOC
5011 4214 JMS TSTBEG /RUN THE DIAGNOSTICS
5012 5211 JMP .-1 /FOREVER
5013 5614 TSTEXT, JMP I TSTBEG /RETURN FROM DIAGNOSTICS CALL
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 83
*** SEQ 0042
/************************************************************
/
/ NORMAL DIAGNOSTIC ENTRY PT
/
/************************************************************
5014 0000 TSTBEG, 0
5015 7307 CLA IAC CLL RTL /GET CPC ADDRESS
5016 7125 STL IAC RAL /SELECT
5017 6516 LIS /ON IBUS
5020 6556 GIR /READ <18:35>
5021 6516 LIS /SELECT <14:17>
5022 6555 GIL /READ THEM
5023 6503 G8A /GET BYTE A
5024 3040 DCA T1 /SAVE IT
5025 6504 G8B /GET BYTE B
5026 3041 DCA T2 /SAVE IT
5027 6505 G8C /GET BYTE C
5030 3042 DCA T3 /SAVE IT
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 84
*** SEQ 0043
/************************************************************
/
/ TEST THAT L8A,L8B,L8C,L8S,LIS,INT,LCB,SLB
/ STM,I8S, & LBO ALL CLEAR THE AC
/
/************************************************************
5031 4532 TST01, JMS I [CHKCON] /CHK CONTINUE & GO TO TSTEND IF=1
5032 7240 CLA CMA /GEN -1
5033 6517 LBO /DO BUS OUT
5034 7440 SZA /SKP IF AC ZERO
5035 5776' JMP DER100 /LBO DIDN'T CLR THE AC
5036 7240 TST02, CLA CMA /GEN -1
5037 6502 STM /SET THE MP ERR TIMER
5040 7440 SZA /SKP IF AC IS CLEAR'D
5041 5775' JMP DER101 /STM DIDN'T CLR AC
5042 7240 TST03, CLA CMA /GEN -1
5043 6007 INT /DO INT
5044 7440 SZA /SKP IF AC IS CLR'D
5045 5774' JMP DER102 /INT DIDN'T CLR AC
5046 7240 TST04, CLA CMA /GEN -1
5047 6511 L8S /SELECT 8R
5050 7440 SZA /SKP IF AC CLEAR'D
5051 5773' JMP DER103 /L8S DIDN'T CLR AC
5052 7201 TST05, CLA IAC /GEN 1
5053 6510 LCB /DO LCB
5054 7440 SZA /SKP IF AC CLEAR'D
5055 5772' JMP DER104 /LCB DIDN'T CLR AC
5056 6510 LCB /CLR RUN
5057 7240 TST06, CLA CMA /GEN -1
5060 6515 L8C /DO 8R<24:35> LOAD
5061 7440 SZA /SKP IF AC CLR'D
5062 5771' JMP DER105 /L8C DIDN'T CLR AC
5063 7240 TST07, CLA CMA /GEN -1
5064 6514 L8B /DO 8R<12:23> LOAD
5065 7440 SZA /SKP IF AC CLEAR'D
5066 5770' JMP DER106 /L8B DIDN'T CLEAR AC
5067 7240 TST10, CLA CMA /GEN -1
5070 6513 L8A /DO 8R<0:11> LOAD
5071 7440 SZA /SKP IF AC CLR'D
5072 5767' JMP DER107 /L8A DIDN'T CLR AC
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 85
*** SEQ 0044
/************************************************************
/
/ CHECK LOADING OF AN 8R
/
/************************************************************
5073 4532 TST11, JMS I [CHKCON] /CHK CONT AND GO TO TSTEND IF SET
5074 1131 TAD [1] /GET L8A DATA BYTE
5075 6513 L8A /LOAD 8R<0:11>
5076 1130 TAD [2] /GET L8B DATA BYTE
5077 6514 L8B /LOAD 8R<12:23>
5100 1157 TAD [3] /GET L8C DATA BYTE
5101 6515 L8C /LOAD 8R<24:35>
5102 6503 G8A /READ BACK BYTE A
5103 1165 TAD [-1] /COMPARE BYTE'S
5104 7440 SZA /SKP IF OK
5105 5766' JMP DER110 /BYTE A READ BAD
5106 6504 G8B /READ BACK BYTE B
5107 1144 TAD [-2] /COMPARE
5110 7440 SZA /SKP IF OK
5111 5765' JMP DER111 /BYTE B BAD
5112 6505 G8C /READ BACK BYTE C
5113 1155 TAD [-3] /COMPARE
5114 7440 SZA /SKP IF OK
5115 5764' JMP DER112 /BYTE C BAD
5116 5763' JMP TST12 /JUMP AROUND LITERALS TO TEST 12
5163 5200
5164 6361
5165 6362
5166 6363
5167 6364
5170 6365
5171 6366
5172 6367
5173 6370
5174 6371
5175 6372
5176 6373
5177 0214
5200 PAGE
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 86
*** SEQ 0045
/************************************************************
/
/ TEST 8R SELECTION INSTRUCTIONS
/
/************************************************************
5200 4532 TST12, JMS I [CHKCON] /CHK CONT AND GO TO TSTEND IF SET
5201 7200 CLA /RESET AC
5202 6511 L8S /SELECT 8R0
5203 1131 TAD [1] /GET BYTE A
5204 6515 L8C /PUT INTO 8R0<24:35>
5205 6557 I8S /SELECT 8R1
5206 1130 TAD [2] /GET BYTE B
5207 6515 L8C /PUT INTO 8R1<24:35>
5210 6557 I8S /SELECT 8R2
5211 1157 TAD [3] /GET BYTE C
5212 6515 L8C /PUT INTO 8R2<24:35>
5213 6557 I8S /SELECT 8R3
5214 1134 TAD [4] /GET BYTE D
5215 6515 L8C /PUT INTO 8R3<24:35>
5216 6552 D8S /SELECT 8R2
5217 6505 G8C /GET BYTE C
5220 1155 TAD [-3] /COMPARE BYTE C
5221 7440 SZA /SKP IF OK
5222 5777' JMP DER113 /8R2 SELECTION BAD
5223 6552 D8S /SELECT 8R1
5224 6505 G8C /GET BYTE B
5225 1144 TAD [-2] /COMPARE BYTE B
5226 7440 SZA /SKP IF OK
5227 5776' JMP DER114 /8R1 SELECTION IS BAD
5230 6552 D8S /SELECT 8R0
5231 6505 G8C /GET BYTE A
5232 1165 TAD [-1] /COMPARE BYTE A
5233 7440 SZA /SKP IF OK
5234 5775' JMP DER115 /SELECTION OF 8R0 BAD
5235 6552 D8S /SELECT 8R3
5236 6505 G8C /GET BYTE D
5237 1136 TAD [-4] /COMPARE BYTE D
5240 7440 SZA /SKP IF OK
5241 5774' JMP DER116 /WRAP AROUND SELECT BAD
5242 6557 I8S /SELECT 8R0
5243 6505 G8C /GET BYTE A
5244 1165 TAD [-1] /COMPARE BYTE A
5245 7440 SZA /SKP IF OK
5246 5773' JMP DER117 /WRAP AROUND SELECTION BAD
5247 6557 I8S /SELECT 8R1
5250 6007 INT /DO INIT OF DX10
5251 6505 G8C /GET BYTE A
5252 1165 TAD [-1] /COMPARE
5253 7440 SZA /SKP IF OK
5254 5772' JMP DER120 /INT INSTRUCTION DOESN'T SEL 8R0
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 87
*** SEQ 0046
/************************************************************
/
/ TEST DUMP MODE SKP READ THRU SILO TO DR
/
/************************************************************
5255 4532 TST13, JMS I [CHKCON] /CHECK CONTINUE AND GO TO TSTEND IF SET
5256 1371 TAD (CORDMP-1) /GET COMPARE PNTR
5257 4770' JMS SILLST /SETUP SILO LIST
5260 4767' JMS STBSLP /SET LOOP BUS OUT TO BUS IN
5261 7330 CLA STL RAR /GEN 4000
5262 6513 L8A /PUT INTO 8R <0:11>
5263 6514 L8B /CLR OTHER BITS
5264 6515 L8C
5265 4766' JMS LDDAC /LOAD DAC & BYTE CNT
5266 1365 TAD (DMPSKP) /GET DUMP MODE SKIP CBC
5267 6510 LCB /LOAD IT
5270 6502 STM /KICK THE TIMER
5271 1364 TAD (-5) /GET BYTE CNT
5272 4763' JMS WSILO /WRITE THE SILO
5273 4762' JMS GETDR /READ THE DR
5274 4761' JMS CMP8R /COMPARE IT WITH IN CORE PATTERN
5275 5760' JMP DER121 /DUMP MODE DATA FAILURE(DR OR SILO)
5276 4757' JMS CLBSLP /CLR LOOP BUS OUT TO BUS IN
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 88
*** SEQ 0047
/************************************************************
/
/ TEST DUMP MODE SKP READ THRU SILO TO DR(SLOW CLK)
/
/************************************************************
5277 4532 TST14, JMS I [CHKCON] /CHECK CONTINUE AND GO TO TSTEND IF SET
5300 6564 SSC /SET THE SLOW CLOCK
5301 1371 TAD (CORDMP-1) /GET COMPARE PNTR
5302 4770' JMS SILLST /SETUP SILO LIST
5303 4767' JMS STBSLP /SET LOOP BUS OUT TO BUS IN
5304 7330 CLA STL RAR /GEN 4000
5305 6513 L8A /PUT INTO 8R <0:11>
5306 6514 L8B /CLR OTHER BITS
5307 6515 L8C
5310 4766' JMS LDDAC /LOAD DAC & BYTE CNT
5311 1365 TAD (DMPSKP) /GET DUMP MODE SKIP CBC
5312 6510 LCB /LOAD IT
5313 6502 STM /KICK THE TIMER
5314 1364 TAD (-5) /GET BYTE CNT
5315 4763' JMS WSILO /WRITE THE SILO
5316 4762' JMS GETDR /READ THE DR
5317 4761' JMS CMP8R /COMPARE IT WITH IN CORE PATTERN
5320 5756' JMP DER122 /DUMP MODE DATA FAILURE(DR OR SILO)
5321 4757' JMS CLBSLP /CLR LOOP BUS OUT TO BUS IN
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 89
*** SEQ 0048
/************************************************************
/
/ TEST BYTE MODE SKP READ THRU SILO TO DR
/
/************************************************************
5322 4532 TST15, JMS I [CHKCON] /CHECK CONTINUE AND GO TO TSTEND IF SET
5323 1355 TAD (BYTMDE-1) /GET COMPARE PNTR
5324 4770' JMS SILLST /SETUP SILO LIST
5325 4767' JMS STBSLP /SET LOOP BUS OUT TO BUS IN
5326 7330 CLA STL RAR /GEN 4000
5327 6513 L8A /PUT INTO 8R <0:11>
5330 6514 L8B /CLR OTHER BITS
5331 6515 L8C
5332 4766' JMS LDDAC /LOAD DAC & BYTE CNT
5333 1354 TAD (BYTSKP) /GET DUMP MODE SKIP CBC
5334 6510 LCB /LOAD IT
5335 6502 STM /KICK THE TIMER
5336 1136 TAD [-4] /GET BYTE CNT
5337 4763' JMS WSILO /WRITE THE SILO
5340 4762' JMS GETDR /READ THE DR
5341 4761' JMS CMP8R /COMPARE IT WITH IN CORE PATTERN
5342 5753' JMP DER123 /BYTE MODE DATA FAILURE(DR OR SILO)
5343 4757' JMS CLBSLP /CLR LOOP BUS OUT TO BUS IN
5344 5752' JMP TST16 /JMP AROUND LITERALS
5352 5400
5353 6350
5354 0550
5355 6744
5356 6351
5357 6707
5360 6352
5361 6515
5362 6446
5363 6600
5364 7773
5365 0450
5366 6505
5367 6676
5370 6641
5371 6741
5372 6353
5373 6354
5374 6355
5375 6356
5376 6357
5377 6360
5400 PAGE
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 90
*** SEQ 0049
/************************************************************
/
/ TEST BYTE MODE SKP READ THRU SILO TO DR(SLOW CLK)
/
/************************************************************
5400 4532 TST16, JMS I [CHKCON] /CHECK CONTINUE AND GO TO TSTEND IF SET
5401 6564 SSC /SET SLOW CLOCK
5402 1377 TAD (BYTMDE-1) /GET COMPARE PNTR
5403 4776' JMS SILLST /SETUP SILO LIST
5404 4775' JMS STBSLP /SET LOOP BUS OUT TO BUS IN
5405 7330 CLA STL RAR /GEN 4000
5406 6513 L8A /PUT INTO 8R <0:11>
5407 6514 L8B /CLR OTHER BITS
5410 6515 L8C
5411 4774' JMS LDDAC /LOAD DAC & BYTE CNT
5412 1373 TAD (BYTSKP) /GET DUMP MODE SKIP CBC
5413 6510 LCB /LOAD IT
5414 6502 STM /KICK THE TIMER
5415 1136 TAD [-4] /GET BYTE CNT
5416 4772' JMS WSILO /WRITE THE SILO
5417 4771' JMS GETDR /READ THE DR
5420 4770' JMS CMP8R /COMPARE IT WITH IN CORE PATTERN
5421 5767' JMP DER124 /BYTE MODE DATA FAILURE(DR OR SILO)
5422 4766' JMS CLBSLP /CLR LOOP BUS OUT TO BUS IN
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 91
*** SEQ 0050
/************************************************************
/
/ TEST ASCIZ MODE SKP READ THRU SILO TO DR
/
/************************************************************
5423 4532 TST17, JMS I [CHKCON] /CHECK CONTINUE AND GO TO TSTEND IF SET
5424 1365 TAD (ASZMDE-1) /GET COMPARE PNTR
5425 4776' JMS SILLST /SETUP SILO LIST
5426 4775' JMS STBSLP /SET LOOP BUS OUT TO BUS IN
5427 7330 CLA STL RAR /GEN 4000
5430 6513 L8A /PUT INTO 8R <0:11>
5431 6514 L8B /CLR OTHER BITS
5432 6515 L8C
5433 4774' JMS LDDAC /LOAD DAC & BYTE CNT
5434 1364 TAD (ASZSKP) /GET DUMP MODE SKIP CBC
5435 6510 LCB /LOAD IT
5436 6502 STM /KICK THE TIMER
5437 1363 TAD (-5) /GET BYTE CNT
5440 4772' JMS WSILO /WRITE THE SILO
5441 4771' JMS GETDR /READ THE DR
5442 4770' JMS CMP8R /COMPARE IT WITH IN CORE PATTERN
5443 5762' JMP DER125 /ASCIZ MODE DATA FAILURE(DR OR SILO)
5444 4766' JMS CLBSLP /CLR LOOP BUS OUT TO BUS IN
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 92
*** SEQ 0051
/************************************************************
/
/ TEST ASCIZ MODE SKP READ THRU SILO TO DR(SLOW CLK)
/
/************************************************************
5445 4532 TST20, JMS I [CHKCON] /CHECK CONTINUE AND GO TO TSTEND IF SET
5446 6564 SSC /SET SLOW CLOCK
5447 1365 TAD (ASZMDE-1) /GET COMPARE PNTR
5450 4776' JMS SILLST /SETUP SILO LIST
5451 4775' JMS STBSLP /SET LOOP BUS OUT TO BUS IN
5452 7330 CLA STL RAR /GEN 4000
5453 6513 L8A /PUT INTO 8R <0:11>
5454 6514 L8B /CLR OTHER BITS
5455 6515 L8C
5456 4774' JMS LDDAC /LOAD DAC & BYTE CNT
5457 1364 TAD (ASZSKP) /GET DUMP MODE SKIP CBC
5460 6510 LCB /LOAD IT
5461 6502 STM /KICK THE TIMER
5462 1363 TAD (-5) /GET BYTE CNT
5463 4772' JMS WSILO /WRITE THE SILO
5464 4771' JMS GETDR /READ THE DR
5465 4770' JMS CMP8R /COMPARE IT WITH IN CORE PATTERN
5466 5761' JMP DER126 /ASCIZ MODE DATA FAILURE(DR OR SILO)
5467 4766' JMS CLBSLP /CLR LOOP BUS OUT TO BUS IN
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 93
*** SEQ 0052
/************************************************************
/
/ TEST SIXBIT MODE SKP READ THRU SILO TO DR
/
/************************************************************
5470 4532 TST21, JMS I [CHKCON] /CHECK CONTINUE AND GO TO TSTEND IF SET
5471 1360 TAD (SIXBIT-1) /GET COMPARE PNTR
5472 4776' JMS SILLST /SETUP SILO LIST
5473 4775' JMS STBSLP /SET LOOP BUS OUT TO BUS IN
5474 7330 CLA STL RAR /GEN 4000
5475 6513 L8A /PUT INTO 8R <0:11>
5476 6514 L8B /CLR OTHER BITS
5477 6515 L8C
5500 4774' JMS LDDAC /LOAD DAC & BYTE CNT
5501 1357 TAD (SIXSKP) /GET DUMP MODE SKIP CBC
5502 6510 LCB /LOAD IT
5503 6502 STM /KICK THE TIMER
5504 1356 TAD (-6) /GET BYTE CNT
5505 4772' JMS WSILO /WRITE THE SILO
5506 4771' JMS GETDR /READ THE DR
5507 4770' JMS CMP8R /COMPARE IT WITH IN CORE PATTERN
5510 5755' JMP DER127 /SIXBIT MODE DATA FAILURE(DR OR SILO)
5511 4766' JMS CLBSLP /CLR LOOP BUS OUT TO BUS IN
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 94
*** SEQ 0053
/************************************************************
/
/ TEST SIXBIT MODE SKP READ THRU SILO TO DR(SLOW CLOCK)
/
/************************************************************
5512 4532 TST22, JMS I [CHKCON] /CHECK CONTINUE AND GO TO TSTEND IF SET
5513 6564 SSC /SET THE SLOW CLOCK
5514 1360 TAD (SIXBIT-1) /GET COMPARE PNTR
5515 4776' JMS SILLST /SETUP SILO LIST
5516 4775' JMS STBSLP /SET LOOP BUS OUT TO BUS IN
5517 7330 CLA STL RAR /GEN 4000
5520 6513 L8A /PUT INTO 8R <0:11>
5521 6514 L8B /CLR OTHER BITS
5522 6515 L8C
5523 4774' JMS LDDAC /LOAD DAC & BYTE CNT
5524 1357 TAD (SIXSKP) /GET DUMP MODE SKIP CBC
5525 6510 LCB /LOAD IT
5526 6502 STM /KICK THE TIMER
5527 1356 TAD (-6) /GET BYTE CNT
5530 4772' JMS WSILO /WRITE THE SILO
5531 4771' JMS GETDR /READ THE DR
5532 4770' JMS CMP8R /COMPARE IT WITH IN CORE PATTERN
5533 5754' JMP DER130 /SIXBIT MODE DATA FAILURE(DR OR SILO)
5534 4766' JMS CLBSLP /CLR LOOP BUS OUT TO BUS IN
5535 5753' JMP TST23 /GO AROUND LITERALS
5553 5600
5554 6343
5555 6344
5556 7772
5557 0750
5560 6752
5561 6345
5562 6346
5563 7773
5564 0650
5565 6747
5566 6707
5567 6347
5570 6515
5571 6446
5572 6600
5573 0550
5574 6505
5575 6676
5576 6641
5577 6744
5600 PAGE
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 95
*** SEQ 0054
/************************************************************
/
/ TEST BYTE COUNTER OVERFLOW LOGIC
/
/************************************************************
5600 4532 TST23, JMS I [CHKCON] /CHECK CONTINUE AND GO TO TSTEND IF SET
5601 4777' JMS STBSLP /SET LOOP BUS OUT TO BUS IN
5602 7240 CLA CMA /GEN 7777
5603 6513 L8A /PUT INTO 8R <0:11>
5604 6514 L8B /CLR OTHER BITS
5605 6515 L8C
5606 4776' JMS LDDAC /LOAD DAC & BYTE CNT
5607 1375 TAD (SIXSKP) /GET DUMP MODE SKIP CBC
5610 6510 LCB /LOAD IT
5611 6502 STM /KICK THE TIMER
5612 1136 TAD [-4] /GET BYTE CNT
5613 4774' JMS WSILO /WRITE THE SILO
5614 6521 TBD /SKP ON BYTE OVERFLOW
5615 5773' JMP DER131 /BYTE COUNTER DIDN'T OVERFLOW
5616 6003 SRQ /SKP ON INTERRUPT REQ
5617 5772' JMP DER132 /OVERFLOW DIDN'T CAUSE INTERRUPT
5620 4776' JMS LDDAC /RELOAD BYTE COUNT
5621 6003 SRQ /SKP IF STILL OVERFLOW
5622 7410 SKP /OVERFLOW WAS CLR'D
5623 5771' JMP DER133 /RELOADING BYTE COUNTER DIDN'T CLR INT
5624 4770' JMS CLBSLP /CLR LOOP BUS OUT TO BUS IN
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 96
*** SEQ 0055
/************************************************************
/
/ TEST CPC FOR HOLDING DATA
/
/************************************************************
5625 4532 TST24, JMS I [CHKCON] /CHECK CONTINUE AND GO TO TSTEND IF SET
5626 4767' JMS SETLST /SETUP PATTERN LIST
5627 1136 TAD [-4] /GET PATTERN COUNT
5630 3043 DCA ICNT /SAVE IT
5631 7200 T24A, CLA /RESET AC
5632 6511 L8S /SELECT 8R0
5633 4766' JMS LD8R /LOAD THE 8R WITH DATA PATTERN
5634 4765' JMS LDCPC /LOAD THE CPC
5635 6557 I8S /SELECT 8R1
5636 4764' JMS GETCPC /GET THE CPC BACK
5637 4763' JMS CMP8R /DO DATA COMPARE
5640 5762' JMP DER134 /CPC DATA FAILURE
5641 2043 ISZ ICNT /UPDATE CNT
5642 5231 JMP T24A /LOOP FOR MORE DATA TEST
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 97
*** SEQ 0056
/************************************************************
/
/ TEST DAC FOR HOLDING DATA
/
/************************************************************
5643 4532 TST25, JMS I [CHKCON] /CHECK CONTINUE AND GO TO TSTEND IF SET
5644 4767' JMS SETLST /SETUP PATTERN LIST
5645 1136 TAD [-4] /GET PATTERN COUNT
5646 3043 DCA ICNT /SAVE IT
5647 7200 T25A, CLA /RESET AC
5650 6511 L8S /SELECT 8R0
5651 4766' JMS LD8R /LOAD THE 8R WITH DATA PATTERN
5652 4776' JMS LDDAC /LOAD THE DAC
5653 6557 I8S /SELECT 8R1
5654 4761' JMS GETDAC /GET THE DAC BACK
5655 4763' JMS CMP8R /DO DATA COMPARE
5656 5760' JMP DER135 /DAC DATA FAILURE
5657 2043 ISZ ICNT /UPDATE CNT
5660 5247 JMP T25A /LOOP FOR MORE DATA TEST
5661 4532 JMS I [CHKCON] /CHECK CONTINUE
5662 1051 TAD LOOPER /GET LOOPER FLAG
5663 7640 SZA CLA /SKIP IF CLEAR
5664 5757' JMP TST26 /GO ON TO NEXT TEST
5665 5756' JMP TSTEND /GO TO END OF TEST
5756 6265
5757 6000
5760 6336
5761 6475
5762 6337
5763 6515
5764 6465
5765 6455
5766 6436
5767 6430
5770 6707
5771 6340
5772 6341
5773 6342
5774 6600
5775 0750
5776 6505
5777 6676
6000 PAGE
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 98
*** SEQ 0057
/************************************************************
/
/ TEST CONNECTION TO TX01 BY PERFORMING A SENSE COMMAND
/
/ NOTE: THIS TEST IS NOT RUN WHEN CALLED
/ FROM IDLE LOOP
/
/************************************************************
6000 4532 TST26, JMS I [CHKCON] /SET LOOP ADDRESS
6001 4777' JMS RESETB /PERFORM A SYSTEM RESET
6002 6502 TST26R, STM /KICK THE TIMER
6003 6517 LBO /LOAD DEVICE ADDRESS 0
6004 6571 SAD /SET ADDRESS OUT
6005 6575 SHL /SET HOLD OUT
6006 6576 SSE /SET SELECT OUT
6007 6502 STM /KICK THE TIMER
6010 6507 GTI /READ TAG IN LINES
6011 0163 AND [STATIN+OPRIN+SELIN] /CLEAR ALL BUT NORMAL RESPONSE LINES
6012 7450 SNA /SKIP IF ANY ARE SET
6013 5776' JMP DER136 /CONTROL UNIT DID NOT RESPOND TO SELECTION SEQUENCE
6014 0130 AND [SELIN] /KEEP ONLY SELECT IN
6015 7440 SZA /SKIP IF NOT SELECT IN IN RESPONSE
6016 5775' JMP DER137 /CONTROL UNIT DID NOT DECODE DEVICE ADDRESS 0
/OR CONTROL UNIT IS OFF-LINE
6017 6507 GTI /READ TAG IN LINES
6020 0134 AND [OPRIN] /KEEP ONLY OPERATIONAL IN
6021 7450 SNA /SKIP IF RESPONSE WAS OPERATIONAL IN
6022 5774' JMP TST26B /SERVICE SHORT BUSY SEQUENCE
6023 6531 CAD /CLEAR ADDRESS OUT
6024 6502 STM /KICK THE TIMER
6025 6507 GTI /READ TAG IN LINES
6026 0127 AND [ADRIN] /KEEP ONLY ADDRESS IN
6027 7450 SNA /SKIP IF ADDRESS IN SET
6030 5773' JMP DER140 /ADDRESS IN DID NOT SET IN SELECTION SEQUENCE
6031 6541 TBP /TEST BUS PARITY
6032 5772' JMP DER141 /BAD PARITY ON BUS IN WITH ADDRESS IN PRESENTED
6033 6506 GBI /READ BUS IN LINES
6034 7440 SZA /SKIP IF BUS IN LINES ARE ALL ZERO
6035 5771' JMP DER142 /NOT ZERO ADDRESS RECEIVED WHEN ATTEMPTED TO
/SELECT UNIT ZERO
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 99
*** SEQ 0058
6036 1134 TAD [SNS] /GET SENSE COMMAND CODE
6037 6517 LBO /PUT SENSE COMMAND ON BUS
6040 6572 SCM /SET COMMAND OUT
6041 7000 NOP /STALL
6042 6502 STM /KICK THE TIMER
6043 6507 GTI /READ TAG IN LINES
6044 0127 AND [ADRIN] /KEEP ONLY ADDRESS IN
6045 7440 SZA /SKIP IF ADDRESS IN DROPPED
6046 5770' JMP DER143 /ADDRESS IN DID NOT DROP DURING SELECTION SEQUENCE
6047 6532 CCM /CLEAR COMMAND OUT
6050 7000 NOP /STALL
6051 7000 NOP /STALL
6052 6502 STM /KICK THE TIMER
6053 6507 GTI /READ TAG IN LINES
6054 0126 AND [STATIN] /KEEP ONLY STATUS IN
6055 7450 SNA /SKIP IF STATUS IN SET
6056 5767' JMP DER144 /STATUS IN DID NOT SET DURING TEST IO COMMAND
6057 6541 TBP /TEST BUS PARITY
6060 5766' JMP DER145 /BAD PARITY ON BUS IN WITH STATUS BYTE PRESENTED
6061 6506 GBI /READ BUS IN LINES
6062 7440 SZA /SKIP IF STATUS BYTE IS ZERO
6063 5765' JMP DER146 /NON-ZERO INITIAL STATUS BYTE PRESENTED IN SENSE COMMAND
6064 6573 SVA /SET SERVICE OUT
6065 7000 NOP /STALL
6066 6502 STM /KICK THE TIMER
6067 6507 GTI /READ TAG IN LINES
6070 0126 AND [STATIN] /KEEP ONLY STATUS IN
6071 7440 SZA /SKIP IF STATUS IN DROPPED
6072 5764' JMP DER147 /STATUS IN DID NOT DROP WHEN SERVICE OUT WAS SET
/DURING PRESENTATION OF STATUS BYTE
6073 6533 CSV /CLEAR SERVICE OUT
6074 1125 TAD [-30] /GET COUNT OF SENSE BYTES
6075 3030 DCA TEMP /PUT IN MEMORY
6076 1151 TAD [SBYT00-1] /GET ADDRESS OF STORAGE TABLE
6077 3010 DCA 10 /PUT IN AUTO-INDEX REGISTER
6100 6507 TST26A, GTI /READ TAG IN LINES
6101 7002 BSW /MOVE SERVICE IN TO BIT 0
6102 7500 SMA /SKIP IF SET
6103 5763' JMP DER150 /SRV IN DID NOT SET PRESENTING A SENSE BYTE
6104 6541 TBP /GET PARITY ON BUS IN
6105 5762' JMP DER151 /PARITY ERROR ON BUS IN LINES WHILE READING A SENSE BYTE
6106 6506 GBI /READ SENSE BYTE
6107 3410 DCA I 10 /PUT SENSE BYTE INTO TABLE
6110 6573 SVA /SET SERVICE OUT
6111 6502 STM /KICK THE TIMER
6112 6507 GTI /READ TAG IN LINES
6113 7002 BSW /MOVE SERVICE IN TO BIT 0
6114 7510 SPA /SKIP IF CLEAR
6115 5761' JMP DER152 /SERVICE IN DID NOT DROP IN RESPONSE TO SERVICE OUT
/DURING PRESENTATION OF SENSE BYTES
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 100
*** SEQ 0059
6116 6533 CSV /CLEAR SERVICE OUT
6117 2030 ISZ TEMP /COUTN THE SENSE BYTES
6120 5300 JMP TST26A /GO BACK FOR ANOTHER SENSE BYTE
6121 6507 GTI /READ TAG IN LINES
6122 0126 AND [STATIN] /KEEP ONLY STATUS IN
6123 7450 SNA /SKIP IF STATUS IN SET
6124 5760' JMP DER153 /STATUS IN DID OT SET AFTER PRESENTING 24 SENSE BYTES
6125 6541 TBP /CHECK BUS IN PARITY
6126 5757' JMP DER154 /PARITY ERROR IN STATUS BYTE AFTER SENSE COMMAND
6127 6573 SVA /SET SERVICE OUT
6130 6502 STM /KICK THE TIMER
6131 6507 GTI /READ TAG IN LINES
6132 0126 AND [STATIN] /KEEP ONLY STATUS IN
6133 7440 SZA /SKIP IF STATUS IN CLEARED
6134 5756' JMP DER155 /STATUS IN DID NOT DROP AFTER PRESENTING ENDING STATUS
/IN SENSE COMMAND
6135 6533 CSV /CLEAR SERVICE OUT
6136 6536 CSE /CLEAR SELECT OUT
6137 6535 CHL /CLEAR HOLD OUT
6140 6502 STM /KICK THE TIMER
6141 6507 GTI /READ TAG IN LINES
6142 0134 AND [OPRIN] /KEEP ONLY OPERATIONAL IN
6143 7440 SZA /SKIP IF OPERATIONAL IN DROPPED
6144 5755' JMP DER156 /OPERATIONAL IN DID NOT DROP AFTER SENSE COMMAND
6145 4532 JMS I [CHKCON] /CHECK IF TO LOOP
6146 5754' JMP TSTEND /EXIT THE TESTS
6154 6265
6155 6315
6156 6316
6157 6317
6160 6320
6161 6321
6162 6322
6163 6323
6164 6324
6165 6325
6166 6326
6167 6327
6170 6330
6171 6331
6172 6332
6173 6333
6174 6200
6175 6334
6176 6335
6177 0330
6200 PAGE
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 101
*** SEQ 0060
6200 6536 TST26B, CSE /CLEAR SELECT OUT
6201 6535 CHL /CLEAR HOLD OUT
6202 6531 CAD /CLEAR ADDRESS OUT
6203 3030 DCA TEMP /CLEAR TEMP LOCATION
6204 6507 TST26C, GTI /READ TAG IN LINES
6205 0131 AND [REQIN] /KEEP ONLY REQ IN
6206 7440 SZA /SKIP IF NOT YET SET
6207 5214 JMP TST26D /IT SET, SELECT THE UNIT
6210 6502 STM /KICK THE TIMER
6211 2030 ISZ TEMP /INCREMENT WAIT TIME
6212 5204 JMP TST26C /KEEP WAITING
6213 5314 JMP DER157 /REQUEST IN NEVER SET AFTER SHORT BUSY SEQUENCE
6214 6575 TST26D, SHL /SET HOLD OUT
6215 6576 SSE /SET SELECT OUT
6216 6502 STM /KICK THE TIMER
6217 6507 GTI /READ TAG IN LINES
6220 0127 AND [ADRIN] /KEEP ONLY ADDRESS IN
6221 7450 SNA /SKIP IF SET
6222 5313 JMP DER160 /ADDRESS IN DID NOT SET IN CU INITIATED SELECTION SEQUENCE
6223 6541 TBP /CHECK BUS IN PARITY
6224 5312 JMP DER161 /PARITY ERROR ON BUS IN LINES WHILE READING ADDRESS
6225 6506 GBI /READ ADDRESS
6226 7440 SZA /SKIP IF ADDRESS IS ZERO
6227 5311 JMP DER162 /NON-ZERO ADDRESS PRESENTED IN CU INITIATED SELECTION SEQUENCE
6230 6572 SCM /SET COMMAND OUT
6231 7000 NOP /STALL
6232 6507 GTI /READ TAG IN LINES
6233 0127 AND [ADRIN] /KEEP ONLY ADDRESS IN
6234 7440 SZA /SKIP IF CLEARED
6235 5310 JMP DER163 /ADDRESS IN DID NOT DROP IN CU INITIATED SELECTION SEQUENCE
6236 6532 CCM /CLEAR COMMAND OUT
6237 6502 STM /KICK THE TIMER
6240 7000 NOP /STALL
6241 7000 NOP
6242 6507 GTI /READ TAG IN LINES
6243 0126 AND [STATIN] /KKEEP ONLY STATUS IN
6244 5307 JMP DER164 /STATUS IN DID NOT SET IN CU INITIATED SELECTION SEQUENCE
6245 6573 SVA /SET SERVICE OUT
6246 6502 STM /KICK THE TIMER
6247 7000 NOP /STALL
6250 6507 GTI /READ TAG IN LINES
6251 0126 AND [STATIN] /KEEP ONLY STATUS IN
6252 7440 SZA /SKIP IF CLEARED
6253 5306 JMP DER165 /STATUS IN DID NOT DROP IN CU INITIATED SELECTION SEQUENCE
6254 6536 CSE /CLEAR SELECT OUT
6255 6535 CHL /CLEAR HOLD OUT
6256 6533 CSV /CLEAR SERVICE OUT
6257 7000 NOP /STALL
6260 6507 GTI /READ TAG IN LINES
6261 0134 AND [OPRIN] /KEEP ONLY OPERATIONAL IN
6262 7440 SZA /SKIP IF CLEARED
6263 5305 JMP DER166 /OPR IN DID NOT DROP AFTER CU INITIATED SELECTION SEQUENCE
6264 5777' JMP TST26R /TRY SENSE COMMAND AGAIN
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 102
*** SEQ 0061
/************************************************************
/
/ END OF SELF TESTING
/
/************************************************************
6265 6007 TSTEND, INT /INITIALIZE DX10
6266 1042 TAD T3 /GET BYTE C
6267 6515 L8C
6270 1041 TAD T2 /GET BYTE G
6271 6514 L8B
6272 1040 TAD T1 /GET BYTE A
6273 6513 L8A
6274 7307 CLA IAC CLL RTL /GET CPC ADDRESS
6275 7125 STL IAC RAL /SELECT
6276 6516 LIS /ON IBUS
6277 6554 LIR /LOAD <18:35>
6300 6516 LIS /SELECT <14:17>
6301 6553 LIL /LOAD THOSE BITS
6302 5776' JMP TSTEXT /EXIT
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 103
*** SEQ 0062
/************************************************************
/
/ DIAGNOSTIC ERROR HANDLER
/
/************************************************************
6303 2005 DER170, ISZ ECODE /SERVICE OUT DIDN'T CLEAR WHILE TRANSFERRING DATA
/IN TESTS 17 - 23
6304 2005 DER167, ISZ ECODE /SERVICE OUT DIDN'T SET WHILE TRANSFERRING DATA
/IN TESTS 17 - 23
6305 2005 DER166, ISZ ECODE /OPR IN DID NOT DROP AFTER CU INITIATED SELECTION SEQUENCE
6306 2005 DER165, ISZ ECODE /STATUS IN DID NOT DROP IN CU INITIATED SELECTION SEQUENCE
6307 2005 DER164, ISZ ECODE /STATUS IN DID NOT SET IN CU INITIATED SELECION SEQUENCE
6310 2005 DER163, ISZ ECODE /ADDRESS IN DID NOT DROP IN CU INITIATED SELECTION SEQUENCE
6311 2005 DER162, ISZ ECODE /NON-ZERO ADDRESS PRESENTED IN CU INITIATED SELECTION SEQUENCE
6312 2005 DER161, ISZ ECODE /PARITY ERROR ON BUS IN WHILE READING ADDRESS
/IN CU INITIATED SELECTION SEQUENCE
6313 2005 DER160, ISZ ECODE /ADDRESS IN DID NOT SET IN CU INITIATED SEQUENCE
6314 2005 DER157, ISZ ECODE /REQUEST IN NEVER SET AFTER SHORT BUSY SEQUENCE
6315 2005 DER156, ISZ ECODE /OPERATIONAL IN DID NOT DROP AFTER SENSE COMMAND
6316 2005 DER155, ISZ ECODE /STATUS IN DID NOT DROP AFTER PRESENTING ENDING STATUS
/IN SENSE COMMAND
6317 2005 DER154, ISZ ECODE /PARITY ERROR IN STATUS BYTE AFTER SENSE COMMAND
6320 2005 DER153, ISZ ECODE /STATUS IN DID NOT SET AFTER PRESENTING 24 SENSE BYTES
6321 2005 DER152, ISZ ECODE /SERVICE IN DID NOT DROP IN RESPONSE TO SERVICE OUT
/DURING PRESENTATION OF SENSE BYTE
6322 2005 DER151, ISZ ECODE /PARITY ERROR ON BUS IN WHILE READING A SENSE BYTE
6323 2005 DER150, ISZ ECODE /SRV IN DID NOT SET PRESENTING A SENSE BYTE
6324 2005 DER147, ISZ ECODE /STATUS IN DID NOT DROP WHEN SERVICE OUT WAS SET
/DURING PRESENTATION OF STUTUS BYTE
6325 2005 DER146, ISZ ECODE /INITIAL STATUS BYTE WAS NON-ZERO IN SENSE COMMAND
6326 2005 DER145, ISZ ECODE /BAD PARITY ON BUS IN WITH STATUS BYTE PRESENTED
6327 2005 DER144, ISZ ECODE /STATUS IN DID NOT SET DURING SELECTIONS SEQUENCE
6330 2005 DER143, ISZ ECODE /ADDRESS IN DID NOT DROP DURING SELECTION SEQUENCE
6331 2005 DER142, ISZ ECODE /NOT ZERO ADDRESS RECEIVED WHEN ATTEMPTED TO SELECT UNIT ZERO
6332 2005 DER141, ISZ ECODE /BAD PARITY ON BUS IN WITH ADDRESS IN PRESENTED
6333 2005 DER140, ISZ ECODE /ADDRESS IN DID NOT SET IN SELECTION SEQUENCE
6334 2005 DER137, ISZ ECODE /CONTROL UNIT DID NOT RESPOND TO DEVICE ADDRESS 0
6335 2005 DER136, ISZ ECODE /CONTROL UNIT DID NOT RESPOND TO SELECTION SEQUENCE
6336 2005 DER135, ISZ ECODE /DAC DATA FAILURE
6337 2005 DER134, ISZ ECODE /CPC DATA FAILURE
6340 2005 DER133, ISZ ECODE /INTERRUPT CONDITION DIDN'T CLR
6341 2005 DER132, ISZ ECODE /OVERFLOW DIDN'T CAUSE INTERRUPT
6342 2005 DER131, ISZ ECODE /BYTE COUNTER DIDN'T OVERFLOW
6343 2005 DER130, ISZ ECODE /SKP READ IN SIXBIT FAILED(SLOW CLK)
6344 2005 DER127, ISZ ECODE /SKP READ IN SIXBIT FAILED
6345 2005 DER126, ISZ ECODE /SKP READ IN ASCIZ FAILED(SLOW CLK)
6346 2005 DER125, ISZ ECODE /SKP READ IN ASCIZ FAILED
6347 2005 DER124, ISZ ECODE /SKP READ IN BYTE FAILED(SLOW CLK)
6350 2005 DER123, ISZ ECODE /SKP READ IN BYTE FAILED
6351 2005 DER122, ISZ ECODE /SKP READ IN DUMP FAILED(SLOW CLK)
6352 2005 DER121, ISZ ECODE /SKP READ IN DUMP FAILED
6353 2005 DER120, ISZ ECODE /INT DIDN'T SELECT 8R0
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 104
*** SEQ 0063
6354 2005 DER117, ISZ ECODE /WRAP AROUND SELECT OF 8R0 BAD
6355 2005 DER116, ISZ ECODE /WRAP AROUND SELECT OF 8R3 BAD
6356 2005 DER115, ISZ ECODE /8R0 SELECTION BAD
6357 2005 DER114, ISZ ECODE /8R1 SELECTION BAD
6360 2005 DER113, ISZ ECODE /8R2 SELECTION BAD
6361 2005 DER112, ISZ ECODE /8R BYTE C READ BAD
6362 2005 DER111, ISZ ECODE /8R BYTE B READ BAD
6363 2005 DER110, ISZ ECODE /8R BYTE A READ BAD
6364 2005 DER107, ISZ ECODE /L8A DIDN'T CLR AC
6365 2005 DER106, ISZ ECODE /L8B DIDN'T CLR AC
6366 2005 DER105, ISZ ECODE /L8C DIDN'T CLR AC
6367 2005 DER104, ISZ ECODE /LCB DIDN'T CLR AC
6370 2005 DER103, ISZ ECODE /L8S DIDN'T CLR AC
6371 2005 DER102, ISZ ECODE /INT DIDN'T CLR AC
6372 2005 DER101, ISZ ECODE /STM DIDN'T CLR AC
6373 5775' DER100, JMP DERROR /LBO DIDN'T CLR AC
6375 6400
6376 5013
6377 6002
6400 PAGE
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 105
*** SEQ 0064
/************************************************************
/
/ STORE DIAGNOSTIC ERROR CODE
/
/************************************************************
6400 7203 DERROR, CLA IAC BSW /GEN 100 CODE
6401 1005 TAD ECODE /ADJUST COUNT
6402 3005 DCA ECODE /PUT BACK
6403 7327 CLA IAC STL RTL /GET ADDRESS 17
6404 7125 IAC STL RAL /SELECT
6405 6516 LIS /ON IBUS
6406 1005 TAD ECODE /GET ERROR #
6407 6515 L8C /PUT IT INTO 8R
6410 7200 CLA /RESET AC
6411 6514 L8B /ZERO OTHER BITS
6412 6554 LIR /LOAD REG# 17
6413 6007 INT /INIT SYSTEM
6414 1053 TAD ONETIM /GET ONE TIME FLAG
6415 7440 SZA /SKIP IF NOT SET
6416 5777' JMP ST207 /HALT ON ERROR
6417 1051 TAD LOOPER /GET LOOPING FLG
6420 7650 SNA CLA /SKP IF SET
6421 5777' JMP ST207 /OTHERWISE HLT
6422 7201 CLA IAC /GEN A 1
6423 3051 DCA LOOPER /PUT IN LOOPER TO LOOP FOREVER
6424 1336 TAD CHKCON /GET LOOP ADDRESS
6425 3052 DCA LPADR /SAVE IT
6426 3005 DCA ECODE /CLEAR ERROR CODE
6427 5452 JMP I LPADR /LOOP ON ERROR
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 106
*** SEQ 0065
/************************************************************
/
/ SETUP PATTERN LIST IN AUTO INDEX 10 & 11
/
/************************************************************
6430 0000 SETLST, 0 /ENTRY
6431 1124 TAD [DATPTN-1] /GET PATTERN ADDR
6432 3010 DCA 10 /SETUP IN AUTO-INDEX
6433 1124 TAD [DATPTN-1] /GET IT AGAIN
6434 3011 DCA 11 /SETUP IN COMPARE AUTO-INDEX
6435 5630 JMP I SETLST /EXIT
/************************************************************
/
/ LOAD 8R WITH DATA PATTERN
/
/************************************************************
6436 0000 LD8R, 0 /ENTRY
6437 1410 TAD I 10 /GET BYTE A
6440 6513 L8A /LOAD 8R<0:11>
6441 1410 TAD I 10 /GET BYTE B
6442 6514 L8B /LOAD 8R<12:23>
6443 1410 TAD I 10 /GET BYTE C
6444 6515 L8C /LOAD 8R<24:35>
6445 5636 JMP I LD8R /EXIT
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 107
*** SEQ 0066
/************************************************************
/
/ GET DATA REGISTER
/
/************************************************************
6446 0000 GETDR, 0 /ENTRY
6447 7200 CLA /RESET AC
6450 1131 TAD [DR] /GET DR ADR
6451 6516 LIS /SELECT IT
6452 6555 GIL /READ IT
6453 6556 GIR
6454 5646 JMP I GETDR /EXIT
/************************************************************
/
/ LOAD CPC REGISTER
/
/************************************************************
6455 0000 LDCPC, 0 /ENTRY
6456 7200 CLA /RESET AC
6457 1123 TAD [CPC] /GET ADR
6460 6516 LIS /SELECT CPC
6461 6554 LIR /LOAD <18:35>
6462 6516 LIS /SELECT <14:17>
6463 6553 LIL /LOAD IT
6464 5655 JMP I LDCPC /EXIT
/************************************************************
/
/ GET CPC REGISTER
/
/************************************************************
6465 0000 GETCPC, 0 /ENTRY
6466 7200 CLA /RESET AC
6467 1123 TAD [CPC] /GET ADR
6470 6516 LIS /SELECT CPC
6471 6556 GIR /READ <18:35>
6472 6516 LIS /SELECT HIGH BITS<14:17>
6473 6555 GIL /READ THEM
6474 5665 JMP I GETCPC /EXIT
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 108
*** SEQ 0067
/************************************************************
/
/ GET DATA ADDRESS REGISTER
/
/************************************************************
6475 0000 GETDAC, 0 /ENTRY
6476 7200 CLA /RESET AC
6477 1122 TAD [DAC] /GET ADR
6500 6516 LIS /SELECT DAC
6501 6556 GIR /READ <18:35>
6502 6516 LIS /SELECT DAC<14:17>
6503 6555 GIL /READ THOSE BITS
6504 5675 JMP I GETDAC /EXIT
/************************************************************
/
/ LOAD DATA ADDRESS REGISTER
/
/************************************************************
6505 0000 LDDAC, 0 /ENTRY
6506 7200 CLA /RESET AC
6507 1122 TAD [DAC] /GET ADDR
6510 6516 LIS /SELECT DAC
6511 6554 LIR /WRITE THOSE BITS<18:35>
6512 6516 LIS /SELECT DAC<14:17>
6513 6553 LIL /WRITE THOSE BITS
6514 5705 JMP I LDDAC /EXIT
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 109
*** SEQ 0068
/************************************************************
/
/ COMPARE 8R REGISTER WITH RGA,RGB,RGC
/
/************************************************************
6515 0000 CMP8R, 0 /ENTRY
6516 6503 G8A /GET BYTE A
6517 7041 CIA /NEGATE
6520 1411 TAD I 11 /COMPARE WITH BYTE A IN MEM
6521 7640 SZA CLA /SKP IF EQUAL
6522 5335 JMP CPEX /EXIT
6523 6504 G8B /GET BYTE B
6524 7041 CIA /NEGATE
6525 1411 TAD I 11 /COMPARE WITH BYTE B IN MEM
6526 7640 SZA CLA /SKP IF EQUAL
6527 5335 JMP CPEX /EXIT ON BYTE B FAILURE
6530 6505 G8C /GET BYTE C
6531 7041 CIA /MAKE NEGATIVE
6532 1411 TAD I 11 /COMPARE WITH BYTE C IN MEM
6533 7650 SNA CLA /SKP IF NOT EQUAL
6534 2315 ISZ CMP8R /SETUP GOOD RET
6535 5715 CPEX, JMP I CMP8R /EXIT
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 110
*** SEQ 0069
/************************************************************
/
/ CHECK CONTINUE FLOP
/
/************************************************************
6536 0000 CHKCON, 0 /ENTRY
6537 6502 STM /KICK THE TIMER
6540 6007 INT /INIT SYSTEM
6541 1051 TAD LOOPER /GET LOOPING FLG
6542 7440 SZA /SKP IF NOT SET
6543 5347 JMP CHKLOP /GO CHECK IF LOOPING
6544 6525 TCT /CHECK THE CONTINUE FLOP
6545 5736 JMP I CHKCON /NOT SET, RETURN FOR MORE TESTING
6546 5776' JMP TSTEND /SET, EXIT NOW
6547 7004 CHKLOP, RAL /SHIFT SIGN BIT INTO LINK
6550 7200 CLA /CLEAR THE AC
6551 1053 TAD ONETIM /GET ONE TIME FLAG
6552 7640 SZA CLA /SKIP IF CLEAR
6553 5736 JMP I CHKCON /CONTINUE TESTING
6554 7420 SNL /SKIP IF LOOPER WAS NEGATIVE
6555 5452 JMP I LPADR /RETURN TO LOOP
6556 5736 JMP I CHKCON /CONTINUE
6576 6265
6577 0207
6600 PAGE
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 111
*** SEQ 0070
/************************************************************
/
/ WRITE THE SILO SUBROUTINE
/
/************************************************************
6600 0000 WSILO, 0 /ENTRY PT.
6601 3317 DCA BYTCNT /SAVE # OF BYTES TO WRITE
6602 1410 TAD I 10 /GET A BYTE
6603 6517 LBO /LOAD BYTE OUT
6604 4217 JMS SRVIN1 /SET SERVICE IN
6605 4246 JMS WSRVO1 /WAIT FOR SERVICE OUT TO SET
6606 4230 JMS SRVIN0 /CLR SERVICE IN
6607 4262 JMS WSRVO0 /WAIT FOR SERVICE OUT TO CLR
6610 2317 ISZ BYTCNT /UPDATE BYTE COUNT
6611 5202 JMP WSILO+2 /LOOP TO SEND MORE BYTES
6612 1171 TAD [-100] /GET WAIT CNT FOR SILO PROPOGATION
6613 3030 DCA TEMP /SAVE IT
6614 2030 ISZ TEMP /UPDATE WAIT CNT
6615 5214 JMP .-1 /STALLING FOR SILO
6616 5600 JMP I WSILO /EXIT PT.
/************************************************************
/
/ SET SERVICE IN
/
/************************************************************
6617 0000 SRVIN1, 0 /ENTRY PT.
6620 7200 CLA /RESET AC
6621 1377 TAD (407) /GET SERVICE IN BIT
6622 6515 L8C /LOAD INTO 8R
6623 6514 L8B /CLR OTHER BITS
6624 7205 CLA IAC RAL /GEN 2
6625 6516 LIS /SELECT IBUS #2
6626 6554 LIR /SET SERVICE IN
6627 5617 JMP I SRVIN1 /EXIT PT.
/************************************************************
/
/ CLR SERVICE IN
/
/************************************************************
6630 0000 SRVIN0, 0 /ENTRY PT.
6631 7200 CLA /RESET AC
6632 1376 TAD (7) /GET CLR SUP OUT BITS
6633 6515 L8C /CLR SERVICE IN BIT IN 8R
6634 6514 L8B /CLR OTHER BITS
6635 7205 CLA IAC RAL /GEN 2
6636 6516 LIS /SELECT IBUS #2
6637 6554 LIR /CLR SERVICE IN
6640 5630 JMP I SRVIN0 /EXIT PT.
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 112
*** SEQ 0071
/************************************************************
/
/ SET SILO WRITE LIST
/
/************************************************************
6641 0000 SILLST, 0 /ENTRY PT.
6642 3011 DCA 11 /SAVE COMPARE DR PNTR
6643 1375 TAD (BYTPTN-1) /GET BYTE LIST PNTR
6644 3010 DCA 10 /SAVE ON AUTO-INDEX
6645 5641 JMP I SILLST /EXIT PT.
/************************************************************
/
/ WAIT FOR SERVICE OUT TO SET
/
/************************************************************
6646 0000 WSRVO1, 0 /ENTRY PT.
6647 3030 DCA TEMP /CLR WAIT REG
6650 7205 CLA IAC RAL /GEN 2
6651 6516 LIS /SELECT IBUS #2
6652 6556 GIR /READ IBUS #2 INTO 8R
6653 6505 G8C /GET BUS OUT LINES INTO AC
6654 0164 AND [SRVOUT] /KEEP ONLY SERVICE OUT
6655 7640 SZA CLA /SKP IF ZERO
6656 5646 JMP I WSRVO1 /EXIT IF A ONE
6657 2030 ISZ TEMP /UPDATE WAIT CNT
6660 5250 JMP WSRVO1+2 /LOOP IF ALLOWED
6661 5774' JMP DER167 /SERVICE OUT DIDN'T SET
/************************************************************
/
/ WAIT FOR SERVICE OUT TO CLEAR
/
/************************************************************
6662 0000 WSRVO0, 0 /ENTRY PT.
6663 3030 DCA TEMP /CLR WAIT CNT
6664 7205 CLA IAC RAL /GEN 2
6665 6516 LIS /SELECT IBUS #2
6666 6556 GIR /READ IBUS #2 INTO 8R
6667 6505 G8C /READ BUS OUT LINES INTO AC
6670 0164 AND [SRVOUT] /KEEP ONLY SERVICE OUT
6671 7650 SNA CLA /SKP IF SET
6672 5662 JMP I WSRVO0 /EXIT IF RESET
6673 2030 ISZ TEMP /UPDATE WAIT CNT
6674 5264 JMP WSRVO0+2 /LOOP BACK IF ALLOWED
6675 5773' JMP DER170 /SERVICE OUT DIDN'T CLR
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 113
*** SEQ 0072
/************************************************************
/
/ SET LOOP BUS IN TO BUS OUT
/
/************************************************************
6676 0000 STBSLP, 0 /ENTRY PT.
6677 7200 CLA /RESET AC
6700 1372 TAD (400) /GET SET LOOP
6701 6515 L8C /PUT INTO 8R
6702 6514 L8B /CLR OTHER BITS
6703 7325 CLA STL IAC RAL /GEN 3
6704 6516 LIS /SELECT IBUS #3
6705 6554 LIR /SET LOOP BUS OUT TO BUS IN
6706 5676 JMP I STBSLP /EXIT PT.
/************************************************************
/
/ CLEAR BUS IN TO BUS OUT
/
/************************************************************
6707 0000 CLBSLP, 0 /ENTRY PT.
6710 6007 INT /RESET AC & INIT DX10
6711 6515 L8C /CLR BUS LOOP BIT
6712 6514 L8B /CLR OTHER BITS
6713 7325 CLA STL IAC RAL /GEN 3
6714 6516 LIS /SELECT IBUS #3
6715 6554 LIR /CLR BUS OUT TO BUS IN LOOP
6716 5707 JMP I CLBSLP /EXIT PT.
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 114
*** SEQ 0073
/************************************************************
/
/ DATA PATTERNS USED IN SELF-TESTING
/
/************************************************************
6717 0000 BYTCNT, 0 /BYTE CNT LOC FOR WSILO
6720 3777 DATPTN, 3777 /.ONES BYTE A
6721 7777 7777 /.ONES BYTE B
6722 7777 7777 /.ONES BYTE C
6723 0000 0000 /.ZEROS BYTE A
6724 0000 0000 /.ZEROS BYTE B
6725 0000 0000 /.ZEROS BYTE C
6726 2525 2525 /.ALT1 BYTE A
6727 2525 2525 /.ALT1 BYTE B
6730 2525 2525 /.ALT1 BYTE C
6731 1252 1252 /.ALT2 BYTE A
6732 5252 5252 /.ALT2 BYTE B
6733 5252 5252 /.ALT2 BYTE C
6734 0011 BYTPTN, 011 /BYTE A
6735 0022 022 /BYTE B
6736 0033 033 /BYTE C
6737 0044 044 /BYTE D
6740 0055 055 /BYTE E
6741 0066 066 /BYTE F
/DX10 MICROCODE FOR STC MAGNETIC TAPE VERSION #4 EDIT #0 PAL10 V142A 30-DEC-76 14:51 PAGE 115
*** SEQ 0074
6742 0221 CORDMP, 0221 /CORE DUMP MODE COMPARE WORD1
6743 1033 1033 /CORE DUMP MODE COMPARE WORD 2
6744 1115 1115 /CORE DUMP MODE COMPARE WORD 3
6745 0221 BYTMDE, 0221 /BYTE MODE COMPARE WORD 1
6746 1033 1033 /BYTE MODE COMPARE WORD 2
6747 1100 1100 /BYTE MODE COMPARE WORD 3
6750 0444 ASZMDE, 0444 /ASCIZ MODE COMPARE WORD 1
6751 4332 4332 /ASCIZ MODE COMPARE WORD 2
6752 2132 2132 /ASCIZ MODE COMPARE WORD 3
6753 1122 SIXBIT, 1122 /SIXBIT MODE COMPARE WORD 1
6754 3344 3344 /SIXBIT MODE COMPARE WORD2
6755 5566 5566 /SIXBIT MODE COMPARE WORD 3
6772 0400
6773 6303
6774 6304
6775 6733
6776 0007
6777 0407
7000 PAGE