ASMB,A,B,L,C
      HED 7920/13037 DISC DIAGNOSTIC FOR 2100 SERIES
*      79XX/13037 DISC DIAGNOSTIC FOR 2100 SERIES COMPUTERS 
* 
*         CONFIGURATION ADDRESS = 100B
* 
*         STARTING ADDRESS = 2000B
* 
*         SWITCH REGISTER DURING CONFIGURATION
*         BITS 0-5  SELECT CODE FOR THE I/O CHANNEL CONTAINING THE
*                   INTERFACE FOR THE DISC
*         BITS 6-13 SPARES
*         BIT  14   SET TO ZERO FOR DMA CHANNEL 6 
*                   SET TO ONE FOR DMA CHANNEL 7 (IF IT EXISTS) 
*         BIT  15   SPARE 
* 
*         SWITCH REGISTER DURING EXECUTION
* 
*         BIT  0    ALLOW DEFECTIVE AND SPARE TRACKS. 
*                   GENERATE DEFECTIVE TRACKS IN INTERACTIVE
*                   PART OF S1. 
*         BIT  1    SKIP TO END OF SECTION ONCE WHEN SET
*         BIT  2    IF SET TO ONE,ALTER CYLINDER TABLE AND/OR 
*                   HEAD TABLE AND/OR CHANGE UNIT REMOVAL 
*                   THRESHOLD AND/OR ALTER UNIT TABLE AND/OR
*                   PATTERN TABLE. RESET TO TERMINATE REQUESTS. 
*         BIT  3    IF SET TO ONE,EXECUTE OPERATOR DESIGN PROGRAM 
*         BIT  4    IF SET TO ONE, EXECUTE WRITE
*                   ADDRESS PART OF S1
*         BIT  5    IF SET TO ONE,SHORTEN TEST IN S2,S3,S4 AND S5 
*         BIT  6    IF SET TO ONE,RESTRICT CYLINDER SELECTION 
*         BIT  7    IF SET TO ONE,REPEAT LAST SECTION 
*         BIT  8    SUPPRESS SPACES,PRINT H65 INDEPENDENT OF BIT 10 
*                   IF ERROR OCCURS.
*         BIT  9    IF SET TO ONE,HALT AFTER EACH SECTION OF THE
*                   PROGRAM 
*         BIT  10   IF SET TO ONE,ALL NON-ERROR MESSAGES FOR THE
*                   TELEPRINTER WILL BE SUPPRESSED,EXCEPT CURRENT 
*                   OPERATION MESSAGES AND H51
*         BIT  11   IF SET TO ONE,ALL MESSAGES FOR THE TELEPRINTER
*                   WILL BE SUPPRESSED
*         BIT  12   IF SET TO ONE, PRINT TIMING MESSAGES
*                   IN S2 AND S4
*         BIT  13   IF SET TO ONE,LOOP ON LAST STEP 
*         BIT  14   IF SET TO ZERO,PROGRAM HALTS AFTER EACH ERROR 
*         BIT  15   IF SET TO ONE,PROGRAM WILL COME TO AN ORDERLY 
*                   HALT AT THE END OF CURRENT STEP 
* 
      ORG 100B
      SUP 
      JMP CNFIG,I        CONFIGURE PROGRAM
      ORG 105B     TO DEFINE ENDING ADDRESS FOR SIO DUMP
      DEF  PEND      LAST ADDRESS OF PROGRAM
      ORG 126B
      OCT  151403     DSN=151403 (1-10-78) REV.=1805
      ORG 130B
* 
*     CURRENT OPERATION (LOOP ADDRESS)
* 
COPR  OCT 102077    (HALT FOR OCTOPUS)
      STA STEPN     CAPTURE RETURN
      CPA  DSTEP     SEE IF AT SPECIFIED STEP 
      CCA,RSS         SKIP IF WE ARE
      JMP  COPR,I    OTHERWISE RETURN 
      STA  DSTEP     PLACE -1 IN DESIRED STEP INDICATOR 
      LIA  1         GET SWITCH REG. CONTENTS 
      IOR  BIT13
      OTA  1
      JMP  COPR,I   RETURN
* 
A     EQU 0        A REGISTER ADDRESS 
B     EQU 1        B REGISTER ADDRESS 
D     EQU  0
SC    EQU 0        THIS SYMBOL IS USED AT ALL PLACES
*                                  WHERE THE DISC CHANNEL NUMBER
*                                  IS STORED
CC    EQU 0         SAME AS SC
CH    EQU 0         SAME AS SC
DMAC  EQU 2        DMA CONTROL CHANNEL
DMAD  EQU DMAC+4   DMA INTERRUPT CHANNEL
SIOLO EQU 102B     ENTRY ADDRESS FOR SIO LIST OUTPUT
SIOFO EQU 103B      ENTRY ADDRESS FOR FAST OUTPUT 
* 
SZREF EQU 0        APPEARS WHERE A REFERENCE DEPENDS
*                                  ON THE SECTOR SIZE.
* 
LWAM  EQU 106B      LAST WORD OF AVAILABLE MEMORY 
CTYP  EQU  115B      COMPUTER TYPE
MSIZE EQU 117B      MEMORY SIZE 
TMR   EQU 121B      LINK TO ONE MSEC TIME DELAY 
I2ASC EQU 123B      LINK TO INTEGER TO ASCII CONV.
O2ASC EQU 124B      LINK TO OCTAL TO ASCII CONV.
* 
ABLCK OCT 0         USED IN ADDO
ACTAD OCT  1
ALLE  BSS 1         ALL ERRORS
ASC0X OCT  130
BILD  BSS  1
BLOCK OCT 0 
BPTRA BSS 1 
BSIZE DEC 1024
BUFAD BSS 1        PRIMARY BUFFER ADDRESS 
BUFAE BSS 1        SECONDARY BUFFER ADDRESS 
C7400 OCT  27400
CAUTN BSS 1         CAUTION FLAG FOR FATAL ERRORS 
CCHAR BSS 1 
CCHK  OCT  1        0=>EXPECTED STATUS RETURNED IN END
*                                   OF CYL CHECK (TEOC) IS
*                                   NORMAL COMPLETE 
*                                   1=>EXPECTED STATUS RETURNED IN
*                                   END OF CYL CHECK (TEOC) IS END OF 
CCNT  BSS 1 
COPRN NOP 
CSTOR  BSS  1 
CYL   BSS 1         CYLINDER NUMBER 
CTYPE BSS  1      HOLDS CURRENT TYPE INDEXES FOR DEVICE TYPES PRESENT 
CTYPT BSS  1     TEMPORARY STORAGE FOR MODIFIED CTYPE 
D6000 OCT  36000
DCNT  BSS  1
DERR  OCT  0    USED TO CHECK BUFFERS 
DERR1 BSS 1         USED TO CHECK BUFFERS 
DFLT  BSS 1 
DFRST BSS 1         USED TO CHECK BUFFERS 
DISCK OCT  0      DISABLE CHECKING IN OPDSN OF CYL,HEAD,SECTOR
*                                 IF = 1, DO CHECKING IF = 0
DMAWC BSS 1 
DMRF  OCT 0        DMA ERROR INDICATOR
DSTEP OCT  177777 
E7117 ASC  1,NO 
EFLAG BSS 1 
ELOC  BSS 1         LAST ERROR NUMBER 
ERR   BSS 1         NUMBER OF ERRORS
EXPTS OCT  1      0 => EXPECTED TERM. STATUS NOT PRINTED
*                                 1 => EXPECTED TERM. STATUS PRINTED
F2040 ASC  1,T
FERR  BSS 1         NUMBER OF FATAL ERRORS
FFLAG OCT 0 
FIFCT BSS  1      STORES NO. TO BE USED IN CHECKING FIFO
FIFLK BSS  1   FIFO LOCK FOR DETERMINING IF 16 OR 
*                              3 LEVELS OF FIFI PRESENT 
FINSH BSS  1     SAVES LAST ADDRESS IN MOVING DATA STRING FOR STATUS
FL6   BSS 1 
FLMSK BSS 1 
FLOOP BSS  1      EQUAL 0 IF NOT FROM BIT 2 LOOP
FSAVE BSS 1 
GLOB1 BSS 1 
GLOB2 BSS 1 
GLOB3 BSS 1 
GLOB4 BSS 1 
GLOB5 BSS 1 
GLOB6 BSS 1 
H0000 OCT  70000
HEAD  BSS 1        BITS 6 - 0 HEAD NUMBER 
IFRST BSS 1 
ISR   BSS 1 
LCNT  BSS 1 
LIMIT BSS 1 
LONGF OCT  1      0 => LONG FORM OF STATUS NOT GIVEN
*                 1 => LONG FORM OF STATUS GIVEN
LOCAL BSS 1 
M32K  OCT  0
MASK1 BSS 1 
MASK2 BSS 1 
MAX   DEC 40    NO. OF ERRORS FOR UNIT REMOVAL
MCPU  OCT  0   <> -1 IMPLIES ALLOW REG. TIME IN WAITS 
*                              = -1 IMPLIES ALLOW 1 SEC. IN WAITS 
*                              = 200B => RESET HOLD BIT IN VERIFY 
MDFLG BSS 1         SET TO 14B FOR MULTI-DRIVE
NBSZE DEC -1024 
NI    BSS 1 
NLOOP BSS  1
NOTLC BSS 1 
NOWDS OCT 0 
NSECT BSS  1
NUMP  DEC 3 
OLCYL BSS 1 
OPCNT BSS  1
OPSRT BSS  1
PASS  BSS 1        PASS NUMBER STORED HERE
PMASK OCT 0 
PSAVE NOP 
PTYPE BSS  1         INDEX ASSOC. WITH CURRENT DEVICE TYPE
RCYL  OCT 0 
RHDS  OCT 0 
RMASK OCT 0 
S400  DEF S40 
S4BUG BSS 1 
SAVA  BSS  1
SAVB  BSS  1
SCNT  BSS 1 
SECTR BSS 1        SECTOR WHERE CURRENT OPERATION 
*                                  WILL START 
SFLAG BSS 1 
SHTAS BSS 1 
SHTS2 BSS 1 
SOFT  BSS  1      0 => SOFT ERRORS NOT PRINTED
*                                 1 => SOFT ERRORS PRINTED
SOFTA DEF SOFT
SPDVR OCT  0   0 IMPLIES PRINT PCOP 
*                              1 IMPLIES PRINT S,P,D INFO.
STAS1 BSS 1 
STAS2 BSS 1 
STP56 BSS 1 
STEPN OCT 0 
STOVR BSS 1         SECOND TIME OVERRIDE
SVCTA BSS 1         USED TO TIME SEEKS IN S2 AND S4 
TCYL  OCT 0 
TEMP1 BSS 1 
TEMP2 BSS 1 
TEMP3 BSS 1 
TEMPS BSS 1 
TMXE  OCT  0
TRT   BSS  1      ADDRESS OF LAST ENTRY IN CYL. TABLE FOR THIS UNIT 
TSOFI DEF TSOFT 
TYPE  BSS  1     INDICATES COL. OF TABLE TO USE IN STATUS CONVERSION
*                               FOR OUTPUT
*                                 PLUS ONE
UNITS DEF UNITA 
UNITA OCT 0 
      BSS 7 
UNITC OCT 1 
UNIT  OCT 0 
UNSET OCT  0    DETERMINE IF DEFAULT FOR UNIT TABLE 
*                              HAS BEEN SET 
VAL1  BSS 1 
VAL2  BSS 1 
VALID OCT 0 
VALUE BSS 1 
WCNT  BSS 1        POSITIVE WORD COUNT FOR
*                                  CURRENT OPERATION
WD0   DEF * 
WD1   BSS 1 
WD2   BSS 1 
WD3   BSS 1 
WD4   BSS 1 
WD5   BSS  1
WD6   BSS  3
WTYPE BSS  1
WWCNT OCT  0
XMCPU OCT          0 => NOT IN MCPU MODE
*                                  1 => IN MCPU MODE
XXX1  BSS  1         USED FOR SHORT TEMP. STORAGE 
XXX2  BSS  1
XXX3  BSS  1
XXX4  BSS  1
CVT3  EQU WD1 
CVT1  EQU WD2 
CVT2  EQU WD3 
CVT   DEF WD1 
      SKP 
D0    DEC 0 
B1    DEC 1 
D1    EQU B1
BIT0  EQU B1
D2    DEC 2 
CRLFL EQU D2
BIT1  EQU D2
D3    DEC 3 
B3    EQU D3
D4    DEC 4 
BIT2  EQU D4
B4    EQU D4
D5    DEC 5 
D6    DEC 6 
D7    DEC 7 
B7    EQU D7
D8    DEC 8 
BIT3  EQU D8
B10   EQU D8
D9    DEC 9 
B11   EQU D9
D10   DEC 10
B12   EQU D10 
D11   DEC 11
D12   DEC 12
B14   EQU D12 
D13   DEC 13
B15   EQU D13 
D14   DEC 14
B16   EQU D14 
D15   DEC 15
B17   EQU D15 
BIT4  DEC 16
B20   EQU BIT4
D16   EQU BIT4
D17   DEC 17
D18   DEC 18
B22   EQU D18 
D19   DEC 19
B23   EQU D19 
D20   DEC 20
B24   EQU D20 
B25   DEC 21
D21   EQU B25 
B26   DEC 22
D22   EQU B26 
D23   DEC 23
B27   EQU D23 
B30   DEC 24
D24   EQU B30 
D25   DEC 25
B31   EQU D25 
B32   DEC 26
D26   EQU B32 
D27   DEC 27
B33   EQU D27 
D28   DEC 28
B34   EQU D28 
D29   DEC 29
B35   EQU D29 
D30   DEC 30
B36   EQU D30 
B37   DEC 31
D31   EQU B37 
B40   DEC 32
BIT5  EQU B40 
D32   EQU B40 
B41   DEC 33
D33   EQU B41 
D34   DEC 34
B43   DEC 35
D35   EQU B43 
B44   DEC 36
D36   EQU B44 
B45   DEC 37
D37   EQU B45 
B46   DEC 38
D38   EQU B46 
B47   DEC 39
D39   EQU B47 
D40   DEC 40
B51   DEC 41
D41   EQU B51 
B52   DEC 42
D42   EQU B52 
B53   DEC 43
D43   EQU B53 
B54   DEC 44
D44   EQU B54 
B55   DEC 45
D45   EQU B55 
B56   DEC 46
D46   EQU B56 
B57   DEC 47
D47   EQU B57 
B60   DEC 48
D48   EQU B60 
B61   DEC 49
B62   DEC 50
B64   DEC 52
B65   DEC 53
B66   DEC 54
B67   DEC 55
D55   EQU B67 
B70   DEC 56
D56   EQU B70 
B71   DEC 57
D57   EQU B71 
D58   DEC 58
B72   EQU  D58
D59   DEC 59
B73   EQU  D59
D60   DEC 60
B74   EQU D60 
D61   DEC 61
B76   OCT 76
B75   EQU  D61
D62   EQU B76 
B77   OCT 77
D63   EQU B77 
B100  DEC 64
BIT6  EQU B100
D64   EQU B100
B101  OCT 101 
B104  DEC 68
D68   EQU B104
B105  OCT  105
EE    EQU  B105 
B106  OCT  106
D71   DEC 71
B107  EQU D71 
D72   DEC 72
B110  EQU D72 
D75   DEC 75
D76   DEC 76
B114  EQU D76 
B115  OCT 115 
D77   EQU B115
NN    OCT 116 
B116  EQU NN
D78   EQU NN
B117  OCT 117 
D79   EQU B117
D80   DEC 80
B120  EQU D80 
B121  OCT 121 
D81   EQU B121
B122  OCT 122 
D82   EQU B122
B123  OCT 123 
D85   DEC 85
YY    OCT 131 
D90   DEC 90
B135  OCT  135
B140  OCT  140
B141  OCT  141
B146  OCT  146
B147  OCT  147
D106  DEC 106 
B177  OCT  177
BIT7  OCT 200 
HOLD  EQU BIT7
D128  EQU BIT7
D138  DEC 138 
B377  OCT 377 
BIT8  OCT 400 
D256  EQU BIT8
B400  EQU BIT8
D276  DEC 276 
D384  DEC 384 
B777  OCT  777
BIT9  OCT 1000
D512  EQU BIT9
D650  DEC 650 
A1400 OCT 1400
B1777 OCT 1777
BIT10 OCT 2000
D1024 EQU BIT10 
A2400 OCT 2400
A3000 OCT 3000
A3400 OCT 3400
B3777 OCT 3777
BIT11 OCT 4000
D2048 EQU BIT11 
A4000 EQU BIT11 
A4400 OCT 4400
A5000 OCT 5000
A5400 OCT 5400
A6000 OCT 6000
A6400 OCT 6400
CRLF  OCT 6412
A7000 OCT 7000
A7400 OCT 7400
BIT12 OCT 10000 
B0000 EQU BIT12 
B0400 OCT 10400 
B1000 OCT 11000 
B2000 OCT 12000 
B2400 OCT 12400 
B7400 OCT 17400 
B7777 OCT 17777 
BIT13 OCT 20000 
BLNK0 ASC  1, 0 
D8192 EQU BIT13 
C0000 EQU BIT13 
BB    OCT 20040 
B2060 OCT 20060 
C0377 OCT 20377 
C1440 OCT 21440 
D0400 OCT 30400 
D3514 OCT 33514 
D4000 OCT  34000
D7777 OCT  37777
BIT14 OCT 40000 
F3000 OCT 53000 
F6000 OCT  56000
BIT15 OCT 100000
J0000 OCT 110000
JMPI  OCT 126000
JSB1  JSB R1,I
P7400 OCT 177400
P7600 OCT 177600
P7637 OCT 177637
P7737 OCT 177737
P7700 OCT 177700
P7777 OCT  177777 
THLT2 OCT 106002
HLTC  OCT 102010
MM1   DEC -1
MM2   DEC -2
MM3   DEC -3
MM4   DEC -4
MM5   OCT -5
MM6   OCT -6
MM7   DEC -7
MM8   DEC -8
P7770 EQU MM8 
MM10  DEC -10 
MM12  DEC -12 
MM13  DEC -13 
MM14  DEC  -14
MM15  DEC  -15
MM16  DEC -16 
MM31  DEC -31 
MM48  OCT -60 
MM56  OCT -70 
MM58  OCT -72 
MM64  EQU P7700 
MM71  DEC  -71
MM105 DEC -105
MM124 DEC -124
MM128 EQU P7600 
M256  EQU P7400 
MM512 DEC -512
MM650 DEC -650
M1024 DEC -1024 
M1377 DEC -1377 
M7936 DEC -7936 
* 
* 
ASCD0 ASC 1,.0
ASCZZ ASC 1,00
BPTR  DEF BUFB     WRITE BUFFER 
BPTR1 DEF BUFB+128
BPTS  DEF  34000B      READ BUFFER BASE ADDRESS 
BPTO  DEF  36000B      OPDSN BUFFER BASE ADDRESS
DMACW OCT 0 
      SKP 
* 
* 
*     BASE PAGE LINKS AND POINTERS
* 
* 
.E6   DEF E6
ADDOI DEF ADDO
ASKI  DEF  ASK
CBLKI DEF CABLK 
BSEKI DEF  BSEEK
CLSMI DEF CLSMX 
CODEE DEF  TABLE
CODEF DEF  LAST+1 
COMDI DEF COMD
COMI  DEF COMMD 
CNFIG DEF INIT
CSTRI DEF  CSTR 
CYCKI DEF  CYCK 
TV19  DEF  TVP19   FOR WAKEUP COMMAND SEQUENCE
CYLCI DEF  CYLCH
DCHKI DEF DCHK
DDD   DEF D0
DENDI DEF DEND
DMATI DEF  DMAT 
DMERI DEF  DMERQ
DSOKI DEF DSOK
DUMPT DEF  DMPTX
EFER  DEF FER 
EFERC DEF FERC
ELER  DEF LER 
ENDSI DEF ENSTP 
ERHTI DEF ERHLT 
ERRNI DEF ERRAN 
FATLI DEF FATAL 
FCYKI DEF FCYCK 
FLAGI DEF  FLAG 
FTRDI DEF FTRDF 
FXITI DEF FIXIT 
HED0I DEF  HED0 
HELPI DEF HELP
H34SI DEF  H34S 
I131A DEF  M131A
INPTI DEF  INPUT
LOOPI DEF  LOOP 
MCHKI DEF MWCHK 
MESGN BSS 1 
NORMI DEF NORM
OPCTI DEF  OPCNT
OPD7A DEF  OPD7B
OPD7I DEF  OPD7 
OPDNI DEF OPDSN 
OPNDI DEF  OPEND
PCK2I DEF  PACK2
P013A DEF JP13A 
P013B DEF JP13B 
P065E DEF JP65E 
P146A DEF  M146A
PATR  DEF PATTR 
PCOPI DEF PCOPR 
PFMI  DEF FMI 
PRHDI DEF  PRTHD
PRNI  DEF  PRNT1
PUNTI DEF  PUNT 
R1    DEF RETRN 
RJCTI DEF RJECT 
RNCHI DEF RNCH
RPARI DEF RPAIR 
RQSAI DEF RQSTA 
RWSTI DEF RWSET 
RWTBL BSS  1
RWT48 DEF  RW48 
RWT64 DEF  RW64 
S23AI DEF  ST23A
S23BI DEF  ST23B
S23CI DEF  ST23C
S23DI DEF  ST23D
SENDI DEF SEND
SKIPI DEF SKIP
SLFHI DEF SLFHD 
SLHDI DEF SLHD
SLNHI DEF SLNH
STTCI DEF  STATC
SUNTI DEF  SUNIT
SW2I  DEF  SW2
TEOCI DEF  TEOC 
TP1GI DEF  TVP1G
TV1   DEF TVP1
TV2   DEF TVP2
TV4   DEF TVP4
TV5   DEF TVP5
TV6   DEF TVP6
TV8   DEF TVP8
TV9   DEF TVP9
TV10  DEF TVP10 
TV13  DEF TVP13 
TV14  DEF TVP14 
TV15  DEF TVP15 
TV17  DEF TVP17 
TV18  DEF TVP18 
TV20  DEF  TVP20
TV21  DEF  TVP21
TV22  DEF  TVP22
TV23  DEF  TVP23
TV24  DEF  TVP24
TV25  DEF  TVP25
UHERI DEF  UHERE
UNXFI DEF  UNXF 
VAL   DEF VALUE 
VARLC BSS 1 
WADRI DEF WADRA 
WAITI DEF  WAITS
WAXI  DEF  WAX
WENDI DEF WEND
WRCLI DEF  WRCL 
* 
*  POINTERS TO TABLES THAT ARE DEVICE DEPENDENT 
* 
THEAD DEF  DHTB        HEADS PRESENT ON GIVEN DEVICE TYPES
HDON  DEF  UHTB        HEADS SELECTED ON A GIVEN UNIT 
UTYPE DEF  UTTB        DEVICE TYPE OF A GIVEN UNIT
ATYPE DEF  ATTB        ASCII CODE FOR GIVEN DEVICE TYPE 
TYPTB DEF  ITTB        MAPPING FROM DEVICE TYPE INTO ENTRIES IN TABLE 
CYLTB DEF  CTTB        CYLINDER TABLE POINTERS FOR EACH DEVICE TYPE 
EUNBA DEF  UHCTB       UNITS WHOSE HEADS ARE TO CHANGE
DDTB  DEF  DDTBP       DEVICE DEPENDENT TABLE POINTER 
* 
*  VARIABLES THAT ARE DEVICE DEPENDENT
* 
DDTBF DEF  *+1          DEVICE DEPENDENT TABLE
CYPP  BSS  1            NO. OF CYLINDERS / PACK 
FTR   BSS  1            ADDR. OF LOC. CONTAINING FIRST TRACK OF 
*                                       CYL TABLE FOR THE CURRENT UNIT
SCPT  DEC  48      NO. OF SECTORS/TRACK 
TRPC  OCT  3       NO. OF TRACKS/CYLINDER 
MHEAD BSS  1            MINUS NO. OF HEADS
LASTC BSS  1            LAST CYLINDER 
MSC2  BSS  1            RELATED TO NO. OF SECTORS 
WDPT  BSS  1            WORDS /TRACK
SVCTV BSS  1        USED TO CALCULATE RANDOM SEEK TIMES 
*                                   VALUE IS DETERMINED EXPERIMENTALLY
*                                   FOR EACH DRIVE TYPE 
POFST BSS  1        POSITIVE OFFSET FOR CURRENT DRIVE TYPE
DHD6  OCT  7      ALL VALID HEADS FOR THIS DRIVE
HDONV OCT  3      VALID HEADS FOR THIS UNIT 
STYPE BSS  1        STORES DRIVE TYPE AS SEEN BY THE CONTROLLER 
*                                   FOR THE CURRENT UNIT
*                                   2 => 7905 
*                                   1 => 7920 
DRIND  BSS  1    DRIVE INDEX INTO TABLES
DDTBL DEF  HDONV
* 
* 
*         THE FOLLOWING WORDS AND EQUATES DETERMINE THOSE 
*     STATUSES, COMMANDS, SIZES, ETC. THAT MIGHT
*     VARY BECAUSE OF DESIGN CHANGES
* 
* 
CYCHK EQU A3400    CYCLIC CHECK COMMAND 
DFTB  EQU BIT13    DEFECTIVE TRACK BIT FOR ADDRESSES
PALT  EQU A6000    ALTERNATE POSITION COMMAND 
POSIT EQU BIT9     POSITION COMMAND 
READC EQU A2400     READ COMMAND
STATS EQU A1400     STATUS COMMAND
WRILB EQU BIT14    WRITE LOCKOUT BIT FOR ADDRESSES
WRITA EQU A5400    WRITE ADDRESS COMMAND
WRITC EQU BIT11     WRITE COMMAND 
CLRD  EQU D0        COLD LOAD READ
RECAL EQU BIT8      RECALIBRATE 
RSECA EQU BIT10     REQUEST SECTOR ADDRESS
RFULS EQU A3000     READ FULL SECTOR
WFULS EQU A4400     WRITE FULL SECTOR 
CLEAR EQU A5000 
RQSYN EQU A6400     REQUEST SYNDROME
RWOFF EQU A7000     READ WITH OFFSET
SFMSK EQU A7400     SET FILE MASK 
RWOVY EQU B1000     READ WITHOUT VERIFY 
RQADD EQU B2000     REQUEST DISC ADDRESS
DISCT EQU B2400     NOP-DISCONNECT
* 
*     STATUS DEFINITION 
* 
*       WORD 1 (STAS1)
* 
*         BIT0-BIT7 UNIT NUMBER 
*         BIT8-BIT12 ENODED STATUS
*         BIT13     DEFECTIVE TRACK 
*         BIT14     PROTECTED TRACK 
*         BIT15     SPARE TRACK 
* 
*       ENCODED PART OF WORD 1
* 
*         00 NORMAL COMPLETION
*         01 ILLEGAL OPCODE 
*         02 UNIT AVAILABLE 
*         07 CYLINDER COMPARE ERROR 
*         10 UNCORRECTABLE DATA ERROR 
*         11 HEAD-SECTOR COMPARE ERROR
*         12 I/O PROGRAM ERROR
*         14 END OF CYLINDER
*         16 OVERRUN
*         17 CORRECTABLE DATA ERROR 
*         20 ILLEGAL ACCESS TO SPARE TRACK
*         21 DEFECTIVE TRACK
*         22 ACCESS NOT READY DURING DATA OPERATION 
*         23 STATUS-2 ERROR 
*         26 ATTEMPT TO WRITE ON PROTECTED OR DEFECTIVE TRACK 
*         27 UNIT UNAVAILABLE 
*         37 DRIVE ATTENTION
* 
*      WORD 2 (STAS2) 
* 
PBBIT EQU BIT0      DRIVE BUSY
NRBIT EQU BIT1      DRIVE NOT READY 
*                         BIT2      SEEK CHECK
FSBIT EQU BIT3      FIRST STATUS
FAULT EQU BIT4      FAULT 
FOBIT EQU BIT5      FORMAT
FLBIT EQU BIT6      PROTECTED 
*                         BIT7      ATTENTION 
*                         BIT8      SECTOR COMPARE
*                         BIT9-BIT14 ADDRESS OF LAST AVAILABLE
*                                    SURFACE
*                         BIT15     STATUS-2 ERROR (BIT0 LOR BIT1 
*                                   LOR BIT2) 
* 
                                                                                                                                                                                                                                  