// 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