ref: 17310019 title: EtherLink 16: Standard and Turbo Modes of Operation date: 2/1/91 Copyright 3Com Corporation, 1991. All rights reserved. To use the EtherLink 16 in standard or turbo mode, follow the steps below. Note: You must use the diagnostics and drivers on Software Diskette rev 2 (6998-02). It is available from the Ask3Com Forum in the Drivers/Diags library, file 3C507.ZIP. 1. After installing the adapter in your computer, execute 3C507.EXE from the DOS prompt. 2. Select "Set Configuration" to store your selections in the EEPROM of the EtherLink 16. 3. The EtherLink 16 adapter software allows the adapter to operate in two modes when attached to a 16-bit ISA bus. Select the mode supported for operation with your computer: A. Standard Mode--This is a default adapter setting. 16-bit device operation occurs during memory transfers to provide high performance. 8-bit device operation is performed only while the adapter is not active. Compatibility with many AT compatible computers is assured under this mode. Some computers require this mode of operation with the EtherLink 16: .lt IBM PS/2 Model 30/286 Intel computer models recently released including the 386/25 Unisys computers based on recent Intel motherboards Computers using the VTI 8000 chip set .el B. Turbo Mode--Most AT-compatible personal computers support this mode, which provides full 16-bit operation in ISA buses. Select this mode for optimum performance. 4. Use the driver software provided on the EtherLink 16 Software Diskette rev 2. These drivers are required to allow the EtherLink 16 to operate in standard and turbo mode under Netware, 3+Share, 3+Open, LAN Manager and other NDIS-compliant network operating systems. For further information regarding adapter configuration, refer to Ask3Com article 17310017 (EtherLink 16: A High Performance Adapter) and the EtherLink 16 Installation and Configuration Guide, as well as the README files included on the Software Diskette. IMPLEMENTATION OF STANDARD AND TURBO MODE ON THE ETHERLINK 16 ADAPTER For your information, the following section describes how the EtherLink 16 standard and turbo modes have been implemented. EtherLink 16 Host Speed Compatibility The EtherLink 16 is a high performance memory-mapped ISA bus Ethernet adapter. From the host CPU's perspective, the adapter memory looks like a 16, 32, 48, or 64 KB section of memory starting at a configurable base address. The base address resides in the reserved memory area between 768 KB and 864 KB. The memory window may also be configured as a 64 KB window located between 15 and 15.5 MB base memory. The memory address is decoded by the adapter using the unlatched address (LA) and system address (SA) buses. The LA spans bits 17-23 of the address bus, giving a page size of 128 KB bytes. To decode the actual memory address within that 128 KB page, the adapter uses the SA bus. When the EL16 decodes an address within its configured memory space, it asserts the -MEMCS16 line, telling the CPU that the adapter is responding to the memory request as a 16-bit adapter. In some machines, such as the IBM PS/2 30 286 or other machines that use the VTI 8000 chip set, the time to decode the memory address and assert -MEMCS16 is not sufficient to meet the machine's bus timing requirements. This failure is usually observed as a data corruption. However, this problem can be solved by reconfiguring the hardware. The required hardware configuration change is to set the system address decode (SAD) bit (which is bit 6 of the EL16's RAM configuration register) to one during the EL16 configuration phase. If the unlatched address decode (LAD) bit (which is bit 4 of the control register) is left at its default value of zero, the adapter now responds only as an 8-bit device, even if it is attached to a 16-bit ISA bus. Operating the adapter in 8-bit (SAD) mode has a negative impact on performance. Since the CPU is transferring data to and from the adapter in bytes instead of words, the CPU time needed for the copy is doubled. However, the adapter can still be configured to do 16-bit data transfers by changing the hardware configuration and executing a specific software sequence to insure data integrity. While in SAD mode, the EL16 can be set to 16-bit mode by setting the LAD bit to one. When LAD and SAD are both set, the EL16 decodes addresses off only the LA bus--meaning the EL16 specified by the LA bus, even though it is outside the actual EL16 memory window. To ensure data integrity, the following software programming sequence must be used when both LAD and SAD are set: .lt 1. Disable CPU interrupts. 2. Set the LAD bit to enable 16-bit transfers. 3. Move the data using REP MOV words. 4. Clear the LAD bit to disable 16-bit transfers. 5. Enable CPU interrupts. .el The CPU disable/enable sequence is needed to make sure no other software makes a memory access to the 128 KB page that the EL16 is decoding as a valid address. Using the method allows the transfer of data with almost no loss of performance. However, interrupt latency will increase due to the interrupt disable/enable sequence. To ensure consistency across all drivers, the SAD enable option is set to the EEPROM configuration data. Bit 6 of word 1 of the EEPROM data contains the state of the SAD bit. If this bit is set to zero, SAD mode is disabled. If this bit is set to one, SAD mode operation is enabled by the driver. All 3Com-developed drivers support 16-bit data transfer mode in both SAD (normal) and non-SAD (turbo) operation. The EEPROM default configuration from the factory has SAD mode operation enabled. This bit may be changed by the user by running the diagnostic and configuration program, 3C507.EXE.