;THESE OUR EQUATES THAT ARE USED BY THE EOS PROGRAMS TO REFEFERNCE
;PCB AND DCB INFORMATION


;PCB EQUATES

P_COM_STAT             EQU     0       ; THIS IS THE COMMAND/STATUS BYTE

P_REL_ADDR             EQU     1       ; THIS IS THE RELOCATION ADDRESS
P_REL_ADDR_LO          EQU     P_REL_ADDR+0
P_REL_ADDR_HI          EQU     P_REL_ADDR+1

P_NUM_DCBS             EQU     3       ; THIS IS THE NUMBER OF DCBS DEFINED


P_SIZE                 EQU     4       ; THE NUMBER OF BYTES IN THE PCB



;DCB EQUATES

D_COM_STAT            EQU     0       ; THE COMMAND STATUS BYTE

D_BUF_ADR             EQU     1       ; ADDRESS OF THE DATA BUFFER
D_BUF_ADR_LO          EQU     D_BUF_ADR+0
D_BUF_ADR_HI          EQU     D_BUF_ADR+1

D_BUF_LEN             EQU     3       ; THE LENGTH OF THE DATA BUFFER
D_BUF_LEN_LO          EQU     D_BUF_LEN+0
D_BUF_LEN_HI          EQU     D_BUF_LEN+1

D_SECT_NUM            EQU     5       ; THE BLOCK DEVICE SECTOR NUMBER

D_SEC_DEV_ID          EQU     9       ; SECONDARY DEVICE ID

D_RET_COUNT           EQU     14      ; THE NUMBER OF TIMES A COMMAND WILL
                                       ; BE RETRIED.
D_RET_COUNT_LO        EQU     D_RET_COUNT+0
D_RET_COUNT_HI        EQU     D_RET_COUNT+1

D_DEV_ADDR            EQU     16      ; THE DEVICE ADDRESS (ID)

D_MAX_MSG_LEN         EQU     17      ; THE MAX LENGTH OF A DATA STRING
                                       ; FOR THE DEVICE
D_MAX_MSG_LEN_LO      EQU     D_MAX_MSG_LEN+0
D_MAX_MSG_LEN_HI      EQU     D_MAX_MSG_LEN+1

D_DEV_TYPE            EQU     19      ; THE DEVICE TYPE, BLOCKED OR CHARACTGER

D_STATUS_FLAGS        EQU     20      ; DEVICE DEPENDENT STATUS FLAGS



D_SIZE                EQU     21      ; THE NUMBER OF BYTES IN THE DCB



;DEVICE ID'S FOR THE KEYBOARD, PRINTER, AND TAPE DRIVE

KEYBOARD_ID            EQU     1       ; KYBD  ID
PRINTER_ID             EQU     2       ; PRINTER ID
TAPE_ID                EQU     8       ; TAPE DRIVE ID

ERROR_RETRY            EQU     2       ; MAX RETRYS ON ERRORS, READ_BLOCK AND WRITE_BLOCK

MAX_DEV_ADDR           EQU     15      ; HIGHEST POSSIBLE DEVICE ADDRESS
                                       ;  ON NETWORK


;PCB COMMAND EQUATES

PCB_IDLE               EQU     0       ; THIS IS AN IDLE STATE

PCB_SYNC1              EQU     1       ; SYNC BYTE 1
PCB_SYNC1_ACK          EQU     PCB_SYNC1+80H

PCB_SYNC2              EQU     2       ; SYNC BYTE 2
PCB_SYNC2_ACK          EQU     PCB_SYNC2+80H

PCB_SNA                EQU     3       ; SET NEW PCB ADDRESS
PCB_SNA_ACK            EQU     PCB_SNA+80H

PCB_RESET              EQU     4       ; RESET ALL NODES
PCB_RESET_ACK          EQU     PCB_RESET+80H

PCB_WAIT               EQU     5       ;
PCB_WAIT_ACK           EQU     PCB_WAIT+80H



;DCB COMMAND EQUATES

DCB_IDLE               EQU     00      ;
DCB_STATUS             EQU     01      ; REQUEST STATUS
DCB_RESET              EQU     02      ; RESET NODE
DCB_WR                 EQU     03      ; WRITE DATA TO DEVICE
DCB_RD                 EQU     04      ; READ DATA FROM DEVICE



INIT_PCB_ADDR          EQU     0FEC0H  ; INITIAL ADDRESS OF THE PCB



;GENERAL USAGE EQUATES FOR USE WITH DCB INFO

CMND_COMPLETE_BIT      EQU     7       ; THIS IS THE BIT THAT INDICATES THE
                                       ; COMMAND HAS BEEN PROCESSED.
CMND_FIN_STATUS        EQU     80H     ; THIS IS THE STATUS OF A COMMAND
                                       ; THAT COMPLETED WITH NO ERRORS
KBD_NAK                EQU     8CH     ; INDICATES NO KEY READY

PR_NAK                 EQU     86H     ; INDICATES THE PRINTER IS BUSY

ETX                    EQU     03H     ; END OF DATA STRING INDICATOR

TIMEOUT                EQU     9BH     ; DEVICE TIMED OUT