typedefstruct { /* scb */ unsignedshort scb_status; /* status of 82586 */ #define SCB_STRXMASK (7 << 4) /* Receive unit status */ #define SCB_STRXIDLE (0 << 4) /* Idle */ #define SCB_STRXSUSP (1 << 4) /* Suspended */ #define SCB_STRXNRES (2 << 4) /* No resources */ #define SCB_STRXRDY (4 << 4) /* Ready */ #define SCB_STCUMASK (7 << 8) /* Command unit status */ #define SCB_STCUIDLE (0 << 8) /* Idle */ #define SCB_STCUSUSP (1 << 8) /* Suspended */ #define SCB_STCUACTV (2 << 8) /* Active */ #define SCB_STRNR (1 << 12) /* Receive unit not ready */ #define SCB_STCNA (1 << 13) /* Command unit not ready */ #define SCB_STFR (1 << 14) /* Frame received */ #define SCB_STCX (1 << 15) /* Command completed */ unsignedshort scb_command; /* Next command */ #define SCB_CMDRXSTART (1 << 4) /* Start (at rfa_offset) */ #define SCB_CMDRXRESUME (2 << 4) /* Resume reception */ #define SCB_CMDRXSUSPEND (3 << 4) /* Suspend reception */ #define SCB_CMDRXABORT (4 << 4) /* Abort reception */ #define SCB_CMDCUCSTART (1 << 8) /* Start (at cbl_offset) */ #define SCB_CMDCUCRESUME (2 << 8) /* Resume execution */ #define SCB_CMDCUCSUSPEND (3 << 8) /* Suspend execution */ #define SCB_CMDCUCABORT (4 << 8) /* Abort execution */ #define SCB_CMDACKRNR (1 << 12) /* Ack RU not ready */ #define SCB_CMDACKCNA (1 << 13) /* Ack CU not ready */ #define SCB_CMDACKFR (1 << 14) /* Ack Frame received */ #define SCB_CMDACKCX (1 << 15) /* Ack Command complete */ unsignedshort scb_cbl_offset; /* Offset of first command unit */ unsignedshort scb_rfa_offset; /* Offset of first receive frame area */ unsignedshort scb_crc_errors; /* Properly aligned frame with CRC error*/ unsignedshort scb_aln_errors; /* Misaligned frames */ unsignedshort scb_rsc_errors; /* Frames lost due to no space */ unsignedshort scb_ovn_errors; /* Frames lost due to slow bus */
} scb_t;
typedefstruct { /* iscp */ unsignedshort iscp_busy; /* set by CPU before CA */ unsignedshort iscp_offset; /* offset of SCB */ unsignedshort iscp_basel; /* base of SCB */ unsignedshort iscp_baseh;
} iscp_t;
/* this address must be 0xfff6 */ typedefstruct { /* scp */ unsignedshort scp_sysbus; /* bus size */ #define SCP_SY_16BBUS 0x00 #define SCP_SY_8BBUS 0x01 unsignedshort scp_junk[2]; /* junk */ unsignedshort scp_iscpl; /* lower 16 bits of iscp */ unsignedshort scp_iscph; /* upper 16 bits of iscp */
} scp_t;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.