pc-compatible port addresses?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
TGWDNGHN
Posts: 1
Joined: Fri Jan 05, 2007 2:59 pm

pc-compatible port addresses?

Post 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!
User avatar
Alboin
Member
Member
Posts: 1466
Joined: Thu Jan 04, 2007 3:29 pm
Location: Noricum and Pannonia

Post 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.
C8H10N4O2 | #446691 | Trust the nodes.
Tyler
Member
Member
Posts: 514
Joined: Tue Nov 07, 2006 7:37 am
Location: York, England

Post 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.
hendric
Member
Member
Posts: 38
Joined: Sat Oct 21, 2006 10:56 am
Location: China

Post 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
Just Lazy Writing Anything...
User avatar
inflater
Member
Member
Posts: 1309
Joined: Thu Sep 28, 2006 10:32 am
Location: Slovakia
Contact:

Post 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
My web site: http://inflater.wz.cz (Slovak)
Derrick operating system: http://derrick.xf.cz (Slovak and English :P)
Post Reply