[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]


NAME
    ReadExpansionRom - read a boards configuration rom space

SYNOPSIS
    error = ReadExpansionRom( board, configDev )
    D0                        A0     A1

FUNCTION
    (Not typically called by user code)

    ReadExpansionRom reads a the rom portion of an expansion
    device in to cd_Rom portion of a ConfigDev structure.
    This routine knows how to detect whether or not there is
    actually a board there,

    In addition, the Rom portion of a new style expansion board
    is encoded in ones-complement format (except for the first
    two nybbles -- the er_Type field).  ReadExpansionRom knows
    about this and un-complements the appropriate fields.

INPUTS
    board - a pointer to the base of a new style expansion board.
    configDev - the ConfigDev structure that will be read in.
    offset - a logical offset from the configdev base

RESULTS
    error - If the board address does not contain a valid new style
            expansion board, then error will be non-zero.

EXAMPLES

    configDev = AllocConfigDev();
    if( ! configDev ) panic();

    error = ReadExpansionBoard( board, configDev );
    if( ! error ) {
            configDev->cd_BoardAddr = board;
            ConfigBoard( configDev );
    }

SEE ALSO
    ReadExpansionByte, WriteExpansionByte