$SAVE NOLIST

/****************************************************************************/
/*                                                                          */
/*                       FILE: \EHS\PINCLUDE\SCC.LIT                        */
/*    82530 SERIAL COMMUNICATIONS CONTROLLER (SCC) REGISTER DEFINITIONS     */
/*                                                                          */
/*                 LAST UPDATE: MARCH 10, 1988 (21:22:57)                   */
/*                                                                          */
/****************************************************************************/

DECLARE

    /* WRITE REGISTER 0 - COMMAND */

    ADDRESS_REGISTER                    LITERALLY '000H',
    RESET_EXT_STAT_INTS                 LITERALLY '010H',
    SEND_ABORT                          LITERALLY '018H',
    INT_ON_NEXT_RX_CHARACTER            LITERALLY '020H',
    RESET_TX_INT_PENDING                LITERALLY '028H',
    RESET_ERROR                         LITERALLY '030H',
    RESET_HIGHEST_IUS                   LITERALLY '038H',
    RESET_RX_CRC_CHECKER                LITERALLY '040H',
    RESET_TX_CRC_GENERATOR              LITERALLY '080H',
    RESET_TX_UNDERRUN_EOM_LATCH         LITERALLY '0C0H',

    /* WRITE REGISTER 1 - TX/RX INTERRUPT AND DATA TRANSFER MODE DEFINITION */

    DISABLE_EXTERNAL_INTERRUPT          LITERALLY '000H',
    ENABLE_EXTERNAL_INTERRUPT           LITERALLY '001H',
    DISABLE_TX_INTERRUPT                LITERALLY '000H',
    ENABLE_TX_INTERRUPT                 LITERALLY '002H',
    PARITY_IS_SPECIAL_COND              LITERALLY '004H',
    DISABLE_RX_INTERRUPT                LITERALLY '000H',
    INT_ON_FIRST_RX_OR_RX_COND          LITERALLY '008H',
    INT_ON_ALL_RX_OR_RX_COND            LITERALLY '010H',
    INT_ON_RX_COND_ONLY                 LITERALLY '018H',
    READY_REQUEST_FOLLOWS_TX            LITERALLY '000H',
    READY_REQUEST_FOLLOWS_RX            LITERALLY '020H',
    SELECT_READY_REQUEST_FUNCTION       LITERALLY '040H',
    ENABLE_READY_REQUEST_FUNCTION       LITERALLY '080H',

    /* WRITE REGISTER 3 - RX PARAMETERS AND CONTROL */

    DISABLE_RECEIVER                    LITERALLY '000H',
    ENABLE_RECEIVER                     LITERALLY '001H',
    INHIBIT_SYNC_CHARACTER_LOAD         LITERALLY '002H',
    SELECT_ADDRESS_SEARCH_MODE          LITERALLY '004H',
    ENABLE_RX_CRC_CALCULATION           LITERALLY '008H',
    ENTER_HUNT_MODE                     LITERALLY '010H',
    SELECT_AUTO_ENABLES_MODE            LITERALLY '020H',
    RX_5_BITS_PER_CHARACTER             LITERALLY '000H',
    RX_7_BITS_PER_CHARACTER             LITERALLY '040H',
    RX_6_BITS_PER_CHARACTER             LITERALLY '080H',
    RX_8_BITS_PER_CHARACTER             LITERALLY '0C0H',

    /* WRITE REGISTER 4 - TX/RX MISCELLANEOUS PARAMETERS AND MODES */

    NO_PARITY_CHECK                     LITERALLY '000H',
    ODD_PARITY_CHECK                    LITERALLY '001H',
    EVEN_PARITY_CHECK                   LITERALLY '003H',
    ENABLE_SYNC_MODES                   LITERALLY '000H',
    SEND_ONE_STOP_BIT                   LITERALLY '004H',
    SEND_ONE_AND_A_HALF_STOP_BITS       LITERALLY '008H',
    SEND_TWO_STOP_BITS                  LITERALLY '00CH',
    EIGHT_BIT_SYNC_CHARACTER            LITERALLY '000H',
    SIXTEEN_BIT_SYNC_CHARACTER          LITERALLY '010H',
    SDLC_MODE                           LITERALLY '020H',
    EXTERNAL_SYNC_MODE                  LITERALLY '030H',
    TIMES_1_CLOCK_MODE                  LITERALLY '000H',
    TIMES_16_CLOCK_MODE                 LITERALLY '040H',
    TIMES_32_CLOCK_MODE                 LITERALLY '080H',
    TIMES_64_CLOCK_MODE                 LITERALLY '0C0H',

    /* WRITE REGISTER 5 - TX PARAMETERS AND CONTROLS */

    ENABLE_TX_CRC_CALCULATION           LITERALLY '001H',
    SET_RTS                             LITERALLY '002H',
    USE_SDLC_CRC_POLYNOMIAL             LITERALLY '000H',
    USE_CRC_16_POLYNOMIAL               LITERALLY '004H',
    DISABLE_TRANSMITTER                 LITERALLY '000H',
    ENABLE_TRANSMITTER                  LITERALLY '008H',
    SEND_BREAK                          LITERALLY '010H',
    TX_5_BITS_PER_CHARACTER             LITERALLY '000H',
    TX_7_BITS_PER_CHARACTER             LITERALLY '020H',
    TX_6_BITS_PER_CHARACTER             LITERALLY '040H',
    TX_8_BITS_PER_CHARACTER             LITERALLY '060H',
    SET_DTR                             LITERALLY '080H',

    /* WRITE REGISTER 9 - MASTER INTERRUPT CONTROL */

    GENERATE_SINGLE_VECTOR              LITERALLY '000H',
    GENERATE_VECTORS_BY_STATUS          LITERALLY '001H',
    GENERATE_NO_VECTOR                  LITERALLY '002H',
    DISABLE_LOWER_PRIORITY_SCCS         LITERALLY '004H',
    DISABLE_INTERRUPT_GENERATION        LITERALLY '000H',
    ENABLE_INTERRUPT_GENERATION         LITERALLY '008H',
    MODIFY_VECTORS_IN_LOW_BITS          LITERALLY '000H',
    MODIFY_VECTORS_IN_HIGH_BITS         LITERALLY '010H',
    RESET_CHANNEL_B                     LITERALLY '040H',
    RESET_CHANNEL_A                     LITERALLY '080H',
    RESET_CHIP                          LITERALLY '0C0H',

    /* WRITE REGISTER 10 - MISCELLANEOUS TX/RX CONTROL BITS */

    EIGHT_BIT_SYNC                      LITERALLY '000H',
    SIX_BIT_SYNC                        LITERALLY '001H',
    LOOP_MODE                           LITERALLY '002H',
    SEND_CRC_ON_UNDERRUN                LITERALLY '000H',
    SEND_ABORT_AND_FLAG_ON_UNDERRUN     LITERALLY '004H',
    SEND_FLAGS_AS_IDLE_LINES            LITERALLY '000H',
    SEND_MARKS_AS_IDLE_LINES            LITERALLY '008H',
    GO_ACTIVE_ON_POLL                   LITERALLY '010H',
    NRZ_DATA_ENCODING                   LITERALLY '000H',
    NRZI_DATA_ENCODING                  LITERALLY '020H',
    FM1_DATA_ENCODING                   LITERALLY '040H',
    FM0_DATA_ENCODING                   LITERALLY '060H',
    PRESET_CRC_TO_ZERO                  LITERALLY '000H',
    PRESET_CRC_TO_ONE                   LITERALLY '080H',

    /* WRITE REGISTER 11 - CLOCK MODE CONTROL */

    TRXC_IS_INPUT                       LITERALLY '000H',
    TRXC_IS_XTAL_OUTPUT                 LITERALLY '004H',
    TRXC_IS_TRANSMIT_CLOCK              LITERALLY '005H',
    TRXC_IS_BR_OUTPUT                   LITERALLY '006H',
    TRXC_IS_DPLL_OUTPUT                 LITERALLY '007H',
    TRANSMIT_CLOCK_IS_RTXC_PIN          LITERALLY '000H',
    TRANSMIT_CLOCK_IS_TRXC_PIN          LITERALLY '008H',
    TRANSMIT_CLOCK_IS_BR_OUTPUT         LITERALLY '010H',
    TRANSMIT_CLOCK_IS_DPLL_OUTPUT       LITERALLY '018H',
    RECEIVE_CLOCK_IS_RTXC_PIN           LITERALLY '000H',
    RECEIVE_CLOCK_IS_TRXC_PIN           LITERALLY '020H',
    RECEIVE_CLOCK_IS_BR_OUTPUT          LITERALLY '040H',
    RECEIVE_CLOCK_IS_DPLL_OUTPUT        LITERALLY '060H',
    RTXC_IS_TTL                         LITERALLY '000H',
    RTXC_IS_XTAL                        LITERALLY '080H',

    /* WRITE REGISTER 14 - MISCELLANEOUS CONTROL BITS */

    DISABLE_BAUD_RATE_GENERATOR         LITERALLY '000H',
    ENABLE_BAUD_RATE_GENERATOR          LITERALLY '001H',
    BR_SOURCE_IS_RTXC_OR_XTAL           LITERALLY '000H',
    BR_SOURCE_IS_CLK_PIN                LITERALLY '002H',
    DTR_FOLLOWS_BIT_IN_WR5              LITERALLY '000H',
    DTR_FOLLOWS_TX_BUFFER_STATUS        LITERALLY '004H',
    SELECT_AUTO_ECHO_MODE               LITERALLY '008H',
    DISABLE_LOCAL_LOOPBACK              LITERALLY '000H',
    ENABLE_LOCAL_LOOPBACK               LITERALLY '010H',
    DPLL_NULL_COMMAND                   LITERALLY '000H',
    DPLL_ENTER_SEARCH_MODE              LITERALLY '020H',
    DPLL_RESET_CLOCK_MISSING_LATCH      LITERALLY '040H',
    DPLL_DISABLE                        LITERALLY '060H',
    DPLL_SET_SOURCE_IS_BR_OUTPUT        LITERALLY '080H',
    DPLL_SET_SOURCE_IS_RTXC_OR_XTAL     LITERALLY '0A0H',
    DPLL_SET_FM_MODE                    LITERALLY '0C0H',
    DPLL_SET_NRZI_MODE                  LITERALLY '0E0H',

    /* WRITE REGISTER 15 - EXTERNAL/STATUS INTERRUPT CONTROL */

    DISABLE_ZERO_COUNT_INT              LITERALLY '000H',
    ENABLE_ZERO_COUNT_INT               LITERALLY '002H',
    DISABLE_CD_INT                      LITERALLY '000H',
    ENABLE_CD_INT                       LITERALLY '008H',
    DISABLE_SYNC_HUNT_INT               LITERALLY '000H',
    ENABLE_SYNC_HUNT_INT                LITERALLY '010H',
    DISABLE_CTS_INT                     LITERALLY '000H',
    ENABLE_CTS_INT                      LITERALLY '020H',
    DISABLE_UNDERRUN_EOM_INT            LITERALLY '000H',
    ENABLE_TX_UNDERRUN_EOM_INT          LITERALLY '040H',
    DISABLE_BREAK_ABORT_INT             LITERALLY '000H',
    ENABLE_BREAK_ABORT_INT              LITERALLY '080H',

    /* READ REGISTER 0 - TX/RX BUFFER AND EXTERNAL STATUS INDICATORS */

    RX_CHARACTER_AVAILABLE              LITERALLY '001H',
    ZERO_COUNT                          LITERALLY '002H',
    TX_BUFFER_EMPTY                     LITERALLY '004H',
    CD_SIGNAL_ACTIVE                    LITERALLY '008H',
    SYNC_HUNT_ACTIVE                    LITERALLY '010H',
    CTS_SIGNAL_ACTIVE                   LITERALLY '020H',
    TX_UNDERRUN_EOM                     LITERALLY '040H',
    BREAK_CONDITION_DETECTED            LITERALLY '080H',

    /* READ REGISTER 1 - SPECIAL RECEIVE CONDITION INDICATORS */

    ALL_CHARACTERS_SENT                 LITERALLY '001H',
    RESIDUE_CODE_2                      LITERALLY '002H',
    RESIDUE_CODE_1                      LITERALLY '004H',
    RESIDUE_CODE_0                      LITERALLY '008H',
    PARITY_EXCEPTION                    LITERALLY '010H',
    RX_OVERRUN_EXCEPTION                LITERALLY '020H',
    CRC_FRAMING_EXCEPTION               LITERALLY '040H',
    END_OF_FRAME                        LITERALLY '080H',

    /* READ REGISTER 3 - INTERRUPTS PENDING INDICATORS */

    EXT_STAT_INT_PENDING_B              LITERALLY '001H',
    TX_INT_PENDING_B                    LITERALLY '002H',
    RX_INT_PENDING_B                    LITERALLY '004H',
    EXT_STAT_INT_PENDING_A              LITERALLY '008H',
    TX_INT_PENDING_A                    LITERALLY '010H',
    RX_INT_PENDING_A                    LITERALLY '020H',

    /* READ REGISTER 10 - MISCELLANEOUS STATUS INDICATORS */

    ON_LOOP                             LITERALLY '002H',
    LOOP_SENDING                        LITERALLY '010H',
    TWO_CLOCKS_MISSING                  LITERALLY '040H',
    ONE_CLOCK_MISSING                   LITERALLY '080H';

$RESTORE
