Category : Network Files
Archive   : TCP_SRC.ZIP
Filename : 8390.INC
; There are two (really 3) pages of registers in the chip. You select
; which page you want, then address them at offsets 00-0F from base.
; The chip command register (EN_CCMD) appears in both pages.
; EN_OFF is the offset from the board's base register to the EN registers.
EN_CCMD equ 000h+EN_OFF ; Chip's command register
; Page 0
EN0_CLDALO equ 001h+EN_OFF ; Low byte of current local dma addr RD
EN0_STARTPG equ 001h+EN_OFF ; Starting page of ring bfr WR
EN0_CLDAHI equ 002h+EN_OFF ; High byte of current local dma addr RD
EN0_STOPPG equ 002h+EN_OFF ; Ending page +1 of ring bfr WR
EN0_BOUNDARY equ 003h+EN_OFF ; Boundary page of ring bfr RD WR
EN0_TSR equ 004h+EN_OFF ; Transmit status reg RD
EN0_TPSR equ 004h+EN_OFF ; Transmit starting page WR
EN0_NCR equ 005h+EN_OFF ; Number of collision reg RD
EN0_TCNTLO equ 005h+EN_OFF ; Low byte of tx byte count WR
EN0_FIFO equ 006h+EN_OFF ; FIFO RD
EN0_TCNTHI equ 006h+EN_OFF ; High byte of tx byte count WR
EN0_ISR equ 007h+EN_OFF ; Interrupt status reg RD WR
EN0_CRDALO equ 008h+EN_OFF ; low byte of current remote dma address RD
EN0_RSARLO equ 008h+EN_OFF ; Remote start address reg 0
EN0_CRDAHI equ 009h+EN_OFF ; high byte of current remote dma address RD
EN0_RSARHI equ 009h+EN_OFF ; Remote start address reg 1
EN0_RCNTLO equ 00ah+EN_OFF ; Remote byte count reg WR
EN0_RCNTHI equ 00bh+EN_OFF ; Remote byte count reg WR
EN0_RSR equ 00ch+EN_OFF ; rx status reg RD
EN0_RXCR equ 00ch+EN_OFF ; RX control reg WR
EN0_TXCR equ 00dh+EN_OFF ; TX control reg WR
EN0_COUNTER0 equ 00dh+EN_OFF ; Rcv alignment error counter RD
EN0_DCFG equ 00eh+EN_OFF ; Data configuration reg WR
EN0_COUNTER1 equ 00eh+EN_OFF ; Rcv CRC error counter RD
EN0_IMR equ 00fh+EN_OFF ; Interrupt mask reg WR
EN0_COUNTER2 equ 00fh+EN_OFF ; Rcv missed frame error counter RD
; Page 1
EN1_PHYS equ 001h+EN_OFF ; This board's physical enet addr RD WR
EN1_CURPAG equ 007h+EN_OFF ; Current memory page RD WR
EN1_MULT equ 008h+EN_OFF ; Multicast filter mask array (8 bytes) RD WR
; Chip commands in EN_CCMD
ENC_STOP equ 001h ; Stop the chip
ENC_START equ 002h ; Start the chip
ENC_TRANS equ 004h ; Transmit a frame
ENC_RREAD equ 008h ; remote read
ENC_RWRITE equ 010h ; remote write
ENC_NODMA equ 020h ; No remote DMA used on this card
ENC_PAGE0 equ 000h ; Select page 0 of chip registers
ENC_PAGE1 equ 040h ; Select page 1 of chip registers
; Commands for EN0_RXCR - RX control reg
ENRXCR_CRC equ 001h ; Save error pkts
ENRXCR_RUNT equ 002h ; Accept runt pkt
ENRXCR_BCST equ 004h ; Accept broadcasts
ENRXCR_MULTI equ 008h ; Multicast (if pass filter)
ENRXCR_PROMP equ 010h ; Promiscuous physical addresses
ENRXCR_MON equ 020h ; Monitor mode (no packets rcvd)
; Bits in EN0_TXCR - transmit control reg
ENTXCR_CRC equ 001h ; inhibit CRC, do not append crc
ENTXCR_LOOP equ 002h ; Set loopback mode
ENTXCR_LB01 equ 006h ; encoded loopback control
ENTXCR_ATD equ 008h ; auto tx disable
ENTXCR_OFST equ 010h ; collision offset enable
; Bits in EN0_DCFG - Data config register
ENDCFG_WTS equ 001h ; word transfer mode selection
ENDCFG_BOS equ 002h ; byte order selection
ENDCFG_LAS equ 004h ; long addr selection
ENDCFG_BMS equ 008h ; burst mode selection
ENDCFG_ARM equ 010h ; autoinitialize remote
ENDCFG_FT00 equ 000h ; burst length selection
ENDCFG_FT01 equ 020h ; burst length selection
ENDCFG_FT10 equ 040h ; burst length selection
ENDCFG_FT11 equ 060h ; burst length selection
; Bits in EN0_ISR - Interrupt status register
ENISR_RX equ 001h ; Receiver, no error
ENISR_TX equ 002h ; Transmitter, no error
ENISR_RX_ERR equ 004h ; Receiver, with error
ENISR_TX_ERR equ 008h ; Transmitter, with error
ENISR_OVER equ 010h ; Receiver overwrote the ring
ENISR_COUNTERS equ 020h ; Counters need emptying
ENISR_RDC equ 040h ; remote dma complete
ENISR_RESET equ 080h ; Reset completed
ENISR_ALL equ 03fh ; Interrupts we will enable
; Bits in received packet status byte and EN0_RSR
ENRSR_RXOK equ 001h ; Received a good packet
ENRSR_CRC equ 002h ; CRC error
ENRSR_FAE equ 004h ; frame alignment error
ENRSR_FO equ 008h ; FIFO overrun
ENRSR_MPA equ 010h ; missed pkt
ENRSR_PHY equ 020h ; physical/multicase address
ENRSR_DIS equ 040h ; receiver disable. set in monitor mode
ENRSR_DEF equ 080h ; deferring
; Bits in EN0_TSR - TX status reg
ENTSR_PTX equ 001h ; Packet transmitted without error
ENTSR_DFR equ 002h ; non deferred tx
ENTSR_COLL equ 004h ; Collided at least once
ENTSR_COLL16 equ 008h ; Collided 16 times and was dropped
ENTSR_CRS equ 010h ; carrier sense lost
ENTSR_FU equ 020h ; TX FIFO Underrun
ENTSR_CDH equ 040h ; collision detect heartbeat
ENTSR_OWC equ 080h ; out of window collision
; Description of header of each packet in receive area of memory
EN_RBUF_STAT equ 0 ; Received frame status
EN_RBUF_NXT_PG equ 1 ; Page after this frame
EN_RBUF_SIZE_LO equ 2 ; Length of this frame
EN_RBUF_SIZE_HI equ 3 ; Length of this frame
EN_RBUF_NHDR equ 4 ; Length of above header area
Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!
This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.
But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/