// DATE 270915
// NOHALT
*
*** RUN MAINT.
*
// LOAD $MAINT,F1
// RUN
// COPY FROM-READER,TO-F1,RETAIN-R,LIBRARY-S,NAME-@HDW
       MACRO
       @HDW  &EXP-N
.*
.*     5703-XM1 HARDWARE I/O EQUATES.
.*
       TEXT
       PRINT OFF
       AIF   (&EXP EQ 'Y').ON          PRINT ON REQUESTED ?
       AIF   (&EXP EQ 'N').OFF         PRINT OFF REQUESTED ?
.ERR   MNOTE 00,'INVALID MACRO OPTION SPECIFIED.'
       AGO   .MEND
.ON    ANOP
       PRINT ON
.OFF   ANOP
       TITLE '@HDWEQ - SYSTEM HARDWARE I/O EQUATES'
**********************************************************************
*      DISK HARDWARE EQUATES                                         *
**********************************************************************
*
***    DISK CONTROL FIELD EQUATES
*
@PFLAG EQU   0                         F-BYTE
@PCYL  EQU   1                         C-BYTE
@PSAD  EQU   2                         S-BYTE
@PCNT  EQU   3                         N-BYTE
*
@DCFLN EQU   4                         LENGTH OF DISK CTRL FIELD
@DCYMV EQU   X'01'                     DIRECTION BIT IN SEEK S-BYTE
*
@DFCR  EQU   6                         DFCR Q-CODE FOR LIO
@DFDR  EQU   4                         DFDR Q-CODE FOR LIO
*
@DSEEK EQU   X'00'                     SIO Q-CODE SEEK FUNCTION
@DREAD EQU   X'01'                     SIO Q-CODE READ FUNCTION
@DWRIT EQU   X'02'                     SIO Q-CODE WRITE FUNCTION
*
@DCWID EQU   X'01'                     CTRL BYTE FOR SIO WRITE ID
@SKCTL EQU   X'00'                     CTRL BYTE FOR SIO SEEK
@DVERY EQU   X'03'                     CTRL BYTE FOR SIO VERIFY
@DCTRW EQU   X'00'                     SIO CTRL FOR READ/WRITE DATA
@DCRID EQU   X'01'                     SIO CTRL FOR READ ID
*
@DBUSY EQU   2                         CONDITION CODE FOR DISK BUSY
@DERR  EQU   0                         CONDITION CODE FOR DISK ERROR
@DVST1 EQU   X'02'                     SNS I/O CODE FOR BYTES 0,1
@DVST2 EQU   X'03'                     SNS I/O CODE FOR BYTES 2,3
@SPINA EQU   X'A0'                     DEV CODE ADDR DISK SPINDLE A
@SPINB EQU   X'B0'                     DEV CODE ADDR DISK SPINDLE B
@ALTFL EQU   1                         ALTERNATE TRACK FLAG BYTE
@DEFLG EQU   2                         DEFECTIVE TRACK FLAG BYTE
@NORFL EQU   0                         NORMAL TRACK FLAG BYTE
@HSTQR EQU   1                         Q+R BYTE ENTRIES IN HISTORY LOG
@HSTSN EQU   5                         SENSE BYTE ENTRY IN HISTORY LOG
@HSTPE EQU   6                         ERROR TYPE ENTRY IN HISTORY LOG
@HSTEN EQU   7                         END OF 1ST ENTRY IN HISTORY LOG
@HSTAD EQU   9                         DISK ADDR ENTRY IN HISTORY LOG
@HSTVI EQU   15                        VOL-ID ENTRY IN HISTORY LOG
@DHARD EQU   0                         HARD ERR INDR MASK FOR @ HSTPE
*
***    DISK ERROR STATUS BITS
*
@SNSB0 EQU   0                         SENSE BYTE 0 DISPLACEMENT
@SNSB1 EQU   1                         SENSE BYTE 1 DISPLACEMENT
@SNSB2 EQU   2                         SENSE BYTE 2 DISPLACEMENT
@SNSB3 EQU   3                         SENSE BYTE 3 DISPLACEMENT
*
***    BYTE 0
*
@DERIN EQU   X'40'                     INTERVENTION REQUIRED
@DERMA EQU   X'20'                     MISSING ADDR MARK
@DEREQ EQU   X'10'                     EQUIPMENT CHECK
@DERD2 EQU   X'08'                     DATA CHECK
@DERNR EQU   X'04'                     NO RECORD FOUND
@DERTC EQU   X'02'                     TRACK CONDITION CHECK
@DERSC EQU   X'01'                     SEEK CHECK
@DUNSF EQU   X'80'                     UNSAFE CONDITION MASK - BYTE 2
*
***    BYTE 1
*
@DERCE EQU   X'20'                     END OF CYLINDER
@OVRUN EQU   X'04'                     OVERRUN
       SPACE 1
**********************************************************************
*      MATRIX PRINTER I/O EQUATES                                   *
**********************************************************************
@PLNGH EQU   4                         LENGTH OF PCF
@SYCNT EQU   2                         DISP OF CNT IN SYNC CK PCF
@RTCNT EQU   3                         RETURN CNT BYTE IN PCF
@PDAR  EQU   X'E4'                     DATA LSR FOR MP
@PCAR  EQU   X'E6'                     CONTROL LSR FOR MP
@PSIOR EQU   X'00'                     SIO CTRL CODE FOR MP
@PSIOQ EQU   X'E0'                     SIO Q-CODE FOR MP
@PBUSY EQU   X'E2'                     TIO BUSY CODE
@PFORM EQU   X'E1'                     TIO FORMS CHECK CODE
@PLITE EQU   X'E2'                     LIO INDR LIGHT CODE
@PERR  EQU   X'E0'                     TIO ERROR CHECK CODE
@PMGCK EQU   X'20'                     MARGIN CHECK BIT
@PSNSQ EQU   X'E2'                     MP SENSE I/O Q-CODE
       SPACE 1
**********************************************************************
*      KEYBOARD EQUATES FOR DEPRES                                   *
**********************************************************************
@KENAB EQU   X'1E'                     ENABLE, UNLOCK KEYBOARD CTRL
@KEXIT EQU   X'1F'                     RESTORE ENABLE KEYBOARD EXIT CTRL
@KELOK EQU   X'1B'                     LOCK, EXIT, DISABLE CTRL
@KCMDK EQU   X'20'                     COMMAND KEY MASK
@CKY01 EQU   1                         COMMAND KEY 1
@CKY02 EQU   2                         COMMAND KEY 2
@CKY03 EQU   3                         COMMAND KEY 3
@CKY04 EQU   4                         COMMAND KEY 4
@CKY05 EQU   5                         COMMAND KEY 5
@CKY06 EQU   6                         COMMAND KEY 6
@CKY07 EQU   7                         COMMAND KEY 7
@CKY08 EQU   8                         COMMAND KEY 8
@CKY09 EQU   9                         COMMAND KEY 9
@CKY10 EQU   10                        COMMAND KEY 10
@CKY11 EQU   11                        COMMAND KEY 11
@CKY12 EQU   12                        COMMAND KEY 12
@CKY13 EQU   13                        COMMAND KEY 13
@CKY14 EQU   14                        COMMAND KEY 14
@CKY15 EQU   15                        COMMAND KEY 15
@CKY16 EQU   16                        COMMAND KEY 16
@KEYBD EQU   X'10'                     KEYBOARD Q-CODE
@CMOFF EQU   X'00'                     LIO M+N BYTE CMND INDRS OFF
@CMLON EQU   X'01'                     LIO M+N BYTE CMND INDRS ON
@KFUNK EQU   X'10'                     FUNCTION KEY MASK
@KLEAR EQU   X'0D'                     CLEAR COMMAND KEY MASK
@TYPO  EQU   X'1C'                     SIO CTRL FOR TYPAMATIC
@TYPAM EQU   X'02'                     TYPAMATIC FUNCTION BIT
@PRITY EQU   X'80'                     PARITY ERROR BIT
@KHARD EQU   X'11'                     SIO CTRL FOR HARD ERROR
@FLDIN EQU   X'12'                     LIGHT FIELD INDR Q-BYTE
       SPACE 1
**********************************************************************
*      CRT I/O EQUATES                                               *
**********************************************************************
*
@CRTDS EQU   X'92'                     SIO Q-BYTE
@DSBSY EQU   X'92'                     CRT BUSY MASK
@CRTQ  EQU   X'90'                     LIO Q-BYTE
@CRERR EQU   X'90'                     CRT ERROR MASK
@CURSR EQU   X'40'                     CURSOR BIT
@DLNLG EQU   64                        LENGTH OF CRT LINE
@DLNCT EQU   15                        NUMBER OF LINES IN BUFFER
@CRPRY EQU   X'04'                     PARITY ERROR BIT
@BKSPC EQU   X'10'                     BACKSPACE CTRL BYTE
@4K    EQU   16                        NUMBER OF SCTRS = 4K
       SPACE 1
**********************************************************************
*      GENERAL EQUATES FOR 3.7B CARD READER/PUNCH                    *
**********************************************************************
*
***    SIO FUNCTION CODES
*
@CC37B EQU   X'00'                     SIO CONTROL CODE
*
***    TIO FUNCTION CODES
*
@BZ37B EQU   X'F2'                     DEVICE BUSY CODE
@ER37B EQU   X'F0'                     I/O CHECK OR NOT READY
*
***    LIO FUNCTION CODES
*
@LO37B EQU   X'F0'                     LOAD READ ADDESS REGISTER
*
***    SNS FUNCTION CODES
*
@SN37B EQU   X'F2'                     STORE ERROR STATUS BYTES
       SPACE 1
**********************************************************************
*      3.7B CARD READER EQUATES                                      *
**********************************************************************
@CD37B EQU   X'F0'                     DEVICE ADDRESS - READER
@RD37B EQU   X'F1'                     SIO READ FUNCTION
       SPACE 1
**********************************************************************
*      3.7B CARD PUNCH EQUATES                                       *
**********************************************************************
@PN37B EQU   X'F0'                     DEVICE ADDRESS - PUNCH
@PC37B EQU   X'F2'                     SIO PUNCH FUNCTION
       SPACE 1
**********************************************************************
*      ERROR FUNCTION CODES                                          *
**********************************************************************
@TJ37B EQU   X'40'                     TRANSPORT JAM
@CP37B EQU   X'04'                     COMPARE ERROR
@RT37B EQU   X'05'                     RETRY COUNT
@NTRDY EQU   X'A0'                     CARD READER NOT READY TEST
       SPACE 1
**********************************************************************
*      PPL EQUATES                                                   *
**********************************************************************
@WA37B EQU   X'FF'                     WAIT AND CHECK FOR ERRORS
@PD37B EQU   X'80'                     PUNCH DATA
@IP37B EQU   X'C0'                     INSERT AND PUNCH DATA
@ID37B EQU   X'40'                     INSERT DATA
*      END OF SYSTEM HARDWARE I/O EQUATES
.*     END OF MACRO; RESTORE PRINT ON.
.MEND  ANOP
       PRINT ON
       MEND
// CEND
// END
*
// READER CONSOLE
