Introduction to Data Communications
Previous 38. IRQs, DMAs and Base Addresses (cont'd) Next

Base Addresses

Base addresses are also called I/O ports, I/O addresses, I/O port addresses and base ports. They are memory locations that provide an interface between the operating system and the I/O device (peripheral). The peripheral communicates with the operating system through the base address. Each peripheral must have a UNIQUE base address. Standard Base Address assignments (h - hexadecimal):


	Base Address		Function



	060h + 064h		Keyboard controller

	170h + 376h		Secondary IDE Hard-drive controller

	1F0h + 3F6h		Primary IDE Hard-drive controller

	220h			Sound Card

	2A0h			Token Ring NIC

	300h			Ethernet NIC

	330h			SCSI adapter

	3F2h			Floppy Drive Controller

	3F8h			COM1

	2F8h			COM2

	3E8h			COM3

	2E8h			COM4

	378h			LPT1

	278h			LPT2

*** Base Address conflicts are the NUMBER 3 source of PC problems! ***

Unfortunately, the above table is only a small part of the Base Addresses used. The base addresses used will depend on what has been installed on the PC.

38b. Legacy NICs

Before installing a legacy (polite way of saying old) NIC, a PC diagnostic program (Checkit or MSD) should be run to determine available: IRQs, Base Addresses and UMBs. After determining which IRQs, Base Addresses and UMBs are available, you would configure the NIC hopefully to the rule of thumb tables listed previously. In the case of the Upper Memory Block, you would also allocate that memory block using EMM386.EXE in config.sys (x800 block size).

Ex: device=c:\dos\emm386.exe x=C000-C800

This would ensure that EMM386.EXE does not allow any other program, Windows or TSR from using the same memory block thus avoiding memory conflicts. This is used to be a typical job interviewer's question: "What do you do to config.sys when installing a legacy network card?".


Introduction to Data Communications
Previous Table of Contents Next