Consolidate license copies
[its.git] / system / t300.defs7
1 ;;; Copyright (c) 1999 Massachusetts Institute of Technology
2 ;;;
3 ;;; This program is free software; you can redistribute it and/or
4 ;;; modify it under the terms of the GNU General Public License as
5 ;;; published by the Free Software Foundation; either version 3 of the
6 ;;; License, or (at your option) any later version.
7 ;;;
8 ;;; This program is distributed in the hope that it will be useful,
9 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
10 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 ;;; General Public License for more details.
12 ;;;
13 ;;; You should have received a copy of the GNU General Public License
14 ;;; along with this program; if not, write to the Free Software
15 ;;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
16
17 .AUXIL
18
19 ;ALLOW USER TO USE SYMBOLS IN OTHER WAYS IF HE WISHES.
20 ;BUT NORMALLY, DEFSYM FOO==BAR DOES FOO==BAR WITH ERROR CHECK.
21
22 IFNDEF DEFSYM,[
23 DEFINE DEFSYM X/
24 IRPS Z,,[X]
25 IFNDEF Z,X
26 .ELSE [
27    $$TEM1==Z
28    X
29    IFN Z-$$TEM1,.ERR Z MULTIPLY .QUOTE`.QUOTE/DEFINED/`
30 ]
31 .ISTOP
32 TERMIN TERMIN
33
34 IFLE .MLLIT,.ERR .MLLIT MUST BE 1; SETTING IT TO 1.
35 .MLLIT==1
36 $$TEMP==1
37 ];IF Not DEFined DEFSYM
38 .ELSE $$TEMP==0
39 \f
40 ;DISK PHYSICAL PARAMETERS (CENTURY DATA T-300 AND 2561 CONTROLLER)
41 ;SINCE WE HAVE ALSO AN RH10 CONTROLLER, THESE ARE SUFFIXED WITH A 1
42
43 DEFSYM  NCYLS1==812.            ;# CYLINDERS NORMALLY USED
44 DEFSYM  XCYLS1==815.-NCYLS1     ;# CYLINDERS FOR SPARES, HACKS, ETC.
45 DEFSYM  NHEDS1==19.             ;# TRACKS/CYLINDER
46 DEFSYM  NSECS1==32.             ;# SECTORS/TRACK (256. 16-BIT WORDS)
47 DEFSYM  SECBL1==12.             ;# SECTORS/BLOCK
48 DEFSYM  NBLKC1==NHEDS1*NSECS1/SECBL1 ;# BLOCKS/CYLINDER
49 DEFSYM  NBLKS1==NCYLS1*NBLKC1   ;# BLOCKS NORMALLY USED
50 DEFSYM  XBLKS1==XCYLS1*NBLKC1   ;# BLOCKS FOR HACKS
51 DEFSYM  TBLKS1==NBLKS1+XBLKS1   ;TOTAL BLOCKS
52
53 DEFSYM  NTUTB1==4               ;4 BLOCKS PER TUT HERE
54 DEFSYM  TUTBL1==MFDBLK-NTUTB1   ;TUT ALSO STARTS AT A DIFFERENT PLACE
55
56 ;TAKE DECADE FROM RH1O DEFS
57 ;DEFSYM DECADE==NBLKSC          ;NUMBER OF BLOCKS TO ALLOCATE AT A TIME
58 ;                               ;QSWAPA AND QLASTB MUST BE MULTIPLES OF THIS.
59 ;                               ;DECADE SIZE = CYLINDER SIZE FOR KLFEDR'S SAKE
60
61 ;10/11 COMMUNICATION AREA IS 14. WORDS STARTING 48. WORDS INTO THE 64.-WORD DL10 AREA
62
63 DEFSYM  DSCCHK=DL10AR+60        ;MUST BE 2561 OCTAL
64 DEFSYM  DSCREQ=DL10AR+61        ;SET NON-ZERO BY 10 TO SIGNAL REQUEST TO 11
65 DEFSYM  DSCDON=DL10AR+62        ;SET NON-ZERO BY 11 TO SIGNAL DONE TO 10
66 DEFSYM  DSCFLT=DL10AR+63        ;0 NO FAULT
67 DEFSYM  %DFRST==100000          ;POWER CYCLED OR BROKEN, SO CONTROLLER WAS RESET
68 DEFSYM  %DFCQE==10000           ;CONSISTENCY ERROR IN COMMAND QUEUE
69 DEFSYM  %DFNXM==4000            ;NXM ERROR IN COMMAND QUEUE
70 DEFSYM  %DFPAR==2000            ;PARITY ERROR IN COMMAND QUEUE
71                                 ; IF ONE OF THESE BITS IS ON, BITS 1-0 AND DSCSTS 
72                                 ; ARE THE ERROR ADDRESS
73                                 ;BITS 7-0 SYSTEM FAULT CODE IF LEFT BYTE IS ZERO
74                                 ; SEE THE 2561 OEM MANUAL FOR MEANING OF FAULT CODES
75 DEFSYM  DSCSTS=DL10AR+64        ;STATUS BITS AS FOLLOWS
76 DEFSYM  %DSRTR==100000          ;COMMAND WAS RETRIED
77 DEFSYM  %DSECH==40000           ;UNCORRECTABLE DATA ERROR (ECC HARD)
78 DEFSYM  %DSECC==20000           ;CORRECTED DATA ERROR
79 DEFSYM  %DSIDE==10000           ;ID ERROR
80 DEFSYM  %DSHCE==4000            ;ADDRESS ERROR (HEADER COMPARE ERROR)
81 DEFSYM  %DSPRT==2000            ;WRITE-PROTECT STATUS OF SECTOR (ABORTS WRITE COMMAND)
82 DEFSYM  %DSALT==1000            ;ALTERNATE-SECTOR STATUS (ABORTS READ, WRITE, AND CHECK)
83 DEFSYM  %DSOVR==400             ;FIFO OVER-RUN, NOT CORRECTED BY 1 RETRY
84 DEFSYM  %DSSKE==200             ;SEEK ERROR FROM DRIVE
85 DEFSYM  %DSOFL==100             ;DRIVE OFF-LINE OR FAULT
86 DEFSYM  %DSFLT==20              ;DRIVE FAULT
87 DEFSYM  %DSNXM==10              ;NXM ON PDP11 MEMORY
88 DEFSYM  %DSPAR==4               ;PARITY ERROR IN PDP11 MEMORY
89 DEFSYM  %DSSFL==2               ;SYSTEM FAULT, SEE LOW BYTE OF DSCFLT
90 DEFSYM  %DSWLK==1               ;DRIVE WRITE-LOCKED, WRITE ABORTED
91
92 DEFSYM  DSCCMD=DL10AR+65        ;COMMAND CODE AS FOLLOWS
93 DEFSYM  %DMSNS==2               ;SENSE DRIVE STATE.  DSCSTS GETS CODE FOR DRIVE TYPE IN
94                                 ; BITS 14-8 (10 FOR T-300), AND %DSWLK, %DSFLT, %DSOFL, %DSSKE
95 DEFSYM  %DMTST==3               ;TEST SPECIFIED DRIVE (RUNS DIAGNOSTICS)
96 DEFSYM  %DMREC==4               ;RECALIBRATE
97 DEFSYM  %DMSEK==5               ;SEEK
98 DEFSYM  %DMWRT==6               ;WRITE DATA
99 DEFSYM  %DMRED==20              ;READ DATA.  ADD 1-10 FOR VARIOUS RECOVERY FEATURES AS
100                                 ; DOCUMENTED IN THE 2561 OEM MANUAL.
101
102 DEFSYM  DSCDRV=DL10AR+66        ;DRIVE NUMBER (0 IS FIRST DRIVE ON 11)
103 DEFSYM  DSCCYL=DL10AR+67        ;CYLINDER NUMBER
104 DEFSYM  DSCHED=DL10AR+70        ;HEAD NUMBER
105 DEFSYM  DSCSEC=DL10AR+71        ;SECTOR NUMBER
106 DEFSYM  DSCPNT=DL10AR+72        ;4 12-BIT BYTE POINTERS TO DATA TO TRANSFER
107
108 IFN $$TEMP,EXPUNG DEFSYM