Page 1 of 1

pc-compatible port addresses?

Posted: Fri Jan 05, 2007 3:07 pm
by TGWDNGHN
hello, I'm an OS-n00b who is doing some research to better understand computers and OSes in general

I've been doing alot of research among standard that define what is "pc-compatible". Given that there is nothing that explicitly states what a pc-compatible computer comrpises of, this is rather... difficult to do.

At the moment I'm stuck on this- I've searched everywhere for what defines the "standard" PC-Compatible port addresses. All I have found is the list of these addresses, but neither where this list comes from or how these addresses are used. My A+ book says "In a PC-compatible system, standard I/O adapters employ the various I/O port addresses listed in [table]"... well... what standards would these adapters be complying to?


ugh! Anyone care to tip in? I'm mostly looking for primary references if available (eg. if these addresses were listed "after the fact" that the IBM PC was invented first, then knowing that would be all I need)

Thanks!

Posted: Fri Jan 05, 2007 4:23 pm
by Alboin
There's always the RBIL, but I don't think that has an actual tutorial-like part to it. However, I found this thread with the search part of the site.

Posted: Fri Jan 05, 2007 4:34 pm
by Tyler
It depends on each device. Alot of device datasheets (especially PC specific devices) have them stated. I would also advice reading all current chipset datasheets and older ones if you can get hold of them. These may generalise the usual locations as well as showing a way to find out.

Posted: Sun Jan 07, 2007 3:02 am
by hendric
Hmm there's a list of I/O ports on http://bochs.sf.net <bochs' home> that maybe the very thing you want

Posted: Sun Jan 07, 2007 4:08 am
by inflater
You mean this?

Code: Select all

AT ports   Description
-----------------------------------------------------------
000-01F - 1. DMA controller 8237A-5
020-03F - 1. interrupt controller 8259A
040-05F - system timer 8253-5 (AT: 8254.2). 
          PPI (Programmable Peripheral Interface)
          keyboard, DIP switches, timer
060-06F - keyboard controller 8042 and PPI
070-07F - system real time clock, CMOS, NMI
          NMI mask (Non-maskable Interrupt)
080     - diagnostic port
080-09F - paging registry DMA 74LS612
0A0-0BF - 2. interrupt controller 8259A
0C0-0DF - 2. DMA controller 8237A-5
0F0-0FF - Math coprocesor (FPU)
170-177 - 2. hard disk AT
1F0-1F7 - 1. hard disk AT
200-207 - Game I/O (joystick A/D port)
220-22F - Sound Blaster
278-27F - 2. parralel port (3. with MDA)
2C0-2DF - 2. EGA
2F8-2FF - 2. asynchronous adapter
300-31F -  "Prototype card" adapter or network cards
          Hard disk XT
320-327 - Gravis Ultra Sound
330-332 - MIDI adaptor
370-377 - 2. diskette controller
378-37F - 1. parralel port (2. with MDA)
388-38C - AdLib ports
          Pro Audio Spectrum
3B0-3DF - VGA
3B0-3BF - MDA/1. parralel port
3C0-3CF - 1. EGA
3D0-3DF - CGA and EGA/VGA
3F0-3F7 - 1. diskette controller
3F8-3FF - 1. asynchronous adapter
530-540 - Windows Sound System
(translated from AThelp)

inflater