Digi 90031300 Network Router User Manual


 
Appendix A 87
ISA Host Adapters
The Digi ISA EPC/X host adapter has 1 megabyte of on-board dual-ported RAM which is accessed through a 32K
“window”, which can be mapped into any 32K region in the computer’s memory address space (32K byte
boundaries end with either 0000h or 8000h). The dual-ported RAM can also be mapped in its entirety into the host
computer’s memory address space on any 1 megabyte boundary below 16MB—this option will be supported in
some future device driver software releases.
Current Digi device drivers support sixteen preconfigured 32K address ranges for ISA host adapters, beginning at
80000h, 88000h, 90000h, 98000h, A0000h, A8000h, B0000h, C8000h, C0000h, C8000h, D0000h, D8000h,
E0000h, E8000h, F0000h or F8000h. These addresses are all below the 1 megabyte boundary. In practice, only four
of these address ranges are likely to be available. The addresses E0000h-FFFFFh are typically used for the system
BIOS and BIOS extensions; the addresses A0000h-BFFFFh are used for video buffers, and the addresses 80000h-
9FFFFh are between 512K and 640K, and so can only be used with host computers having no more than 512K of
base memory (memory below 1 megabyte). Since most computers have 640K of base memory, only the addresses
from C0000h-DFFFFh are generally usable. To complicate matters, most intelligent peripheral devices require some
memory address space in this region for their ROM or shared memory. It is therefore necessary to insure that the
memory address range chosen for the ISA host adapter does not conflict with the range used by any other device in
your system.
Some typical sources of contention are:
Plug-in VGA and EGA cards, which have a ROM BIOS beginning at C0000h.
ESDI hard disk controllers, which typically have a ROM BIOS beginning at C8000h or CC000h.
SCSI interfaces, which have a ROM BIOS that may be located anywhere in the C0000h-DFFFFh range.
Consult the documentation for your peripheral devices to determine what (if any) memory addresses they may be
occupying on the host memory bus.
Conflicts Between 8-Bit and 16-bit Memory Devices
The ISA (Industry-Standard Architecture) bus, used in 80286 (AT compatible) and 80386 based computers, supports
16-bit memory and peripherals with 16-bit dual-ported memory or ROM. By default, however, memory devices are
considered to be 8-bit devices. 16-bit devices must declare themselves by raising a flag, so that the host knows
whether it is referencing a byte (8 bits) or a word (16 bits) of memory.
Memory addressing on the ISA bus consists of 2 phases: First the unlatched address bits (bits A17 to A23) are placed
on the bus. Then the latched bits (A00 to A16) are placed on the bus. A 16-bit device must declare itself after the
unlatched bits go on the bus, but before the latched bits go out. Since the unlatched bits can only resolve 128K
blocks of memory (e.g. 080000h-09FFFFh, 0A0000h-0BFFFFh, 0C0000h-0DFFFFh), the presence of any 16-bit
device in a 128K segment causes the entire segment to be treated as 16-bit memory. Thus if an 8-bit device resides in
the same 128K block as a 16-bit device, only even-numbered bytes will be accessible, and the device will fail.
The ISA EPC/X host adapter is a 16-bit board.