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.

Appendix A

87

Page 97
Image 97
Digi 90031300 manual ISA Host Adapters, Conflicts Between 8-Bit and 16-bit Memory Devices