I/O ports' numbers list

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
sznurek
Posts: 8
Joined: Sat Jul 21, 2007 12:03 pm
Location: Poland

I/O ports' numbers list

Post by sznurek »

Hello,

I searched Intel manuals, web, wiki but I didn't found list of i/o ports' numbers (maybe it's called specification of i/o ports?).
Is there that list on the web? Maybe not all devices communicates by i/o ports?

Thanks in advance.
And sorry for my English :)
User avatar
AJ
Member
Member
Posts: 2646
Joined: Sun Oct 22, 2006 7:01 am
Location: Devon, UK
Contact:

Re: I/O ports' numbers list

Post by AJ »

Hi,

I just found this list of IO ports on the Bochs site, but am sure there are more comprehensive ones around (I think there is something in Ralph Browns Interrupt List, too).

I believe the reason that you are not being very successful is because the common IO port assignments are specified by the PC standard, not the CPU manufacturer. Some IO ports are variable and have to be located in the PCI entry for a particular device (look at the BAR's).

As you guess, not all devices use IO ports, many use "Memory Mapped IO". For example, a graphics card using VESA may have a multi-megabyte "Linear Frame Buffer" at 0xE0000000 (this is an example and is not always the case).

HTH,
Adam
sznurek
Posts: 8
Joined: Sat Jul 21, 2007 12:03 pm
Location: Poland

Re: I/O ports' numbers list

Post by sznurek »

Thanks for reply :)

But where, for example, look for keyboard port specification? Chipset manual? Motherboard documentation?
Now I only found it on hobbyists' websites.

Thanks in advance.
User avatar
AJ
Member
Member
Posts: 2646
Joined: Sun Oct 22, 2006 7:01 am
Location: Devon, UK
Contact:

Re: I/O ports' numbers list

Post by AJ »

Hi,

You need to look separately at the datasheet for each separate part. For the keyboard, this means looking at the datasheet for the keyboard controller (I don't have this to hand, but I'm sure a quick google for "keyboard controller" or similar will yield a good result. There is information on the common functions on our own wiki.

Cheers,
Adam
User avatar
lukem95
Member
Member
Posts: 536
Joined: Fri Aug 03, 2007 6:03 am
Location: Cambridge, UK

Re: I/O ports' numbers list

Post by lukem95 »

EDIT: AJ beat me to it.
~ Lukem95 [ Cake ]
Release: 0.08b
Image
User avatar
codemastersnake
Member
Member
Posts: 148
Joined: Sun Nov 07, 2004 12:00 am
Contact:

Re: I/O ports' numbers list

Post by codemastersnake »

Refer to Ralf's Brown's List. It's very good. Almost every port's listed in there.
User avatar
bewing
Member
Member
Posts: 1401
Joined: Wed Feb 07, 2007 1:45 pm
Location: Eugene, OR, US

Re: I/O ports' numbers list

Post by bewing »

Or search our wiki. The keyboard IO Ports are 0x60 and 0x64 -- it's all described in the wiki article.
sznurek
Posts: 8
Joined: Sat Jul 21, 2007 12:03 pm
Location: Poland

Re: I/O ports' numbers list

Post by sznurek »

bewing wrote:Or search our wiki. The keyboard IO Ports are 0x60 and 0x64 -- it's all described in the wiki article.
Keyboard controller was only an example ;) I have been on that page in the wiki.

OK, now I know that "Super I/O chip" or "AIP" maintains keyboard, and I downloaded specification (http://www.intel.com/design/archives/pe ... 048603.pdf) but it looks like document for electrician, not assembler programmers. Maybe I missed something in that document?

I just want manufacturer's documentation for on-board devices, but I cannot find that.

Thanks for all replies and sorry if that question was on forums (I didn't find that).
User avatar
JamesM
Member
Member
Posts: 2935
Joined: Tue Jul 10, 2007 5:27 am
Location: York, United Kingdom
Contact:

Re: I/O ports' numbers list

Post by JamesM »

Hi,

Are you certain about the SuperIO? I've implemented a SuperIO emulation and it's UART isn't the same as a PC's. Not only that, but I don't believe the SuperIO has a PS/2 module. I may be wrong however...

(Normally with datasheets you have to skip over the first few pages of electrical characteristics to get to the register descriptions. Don't expect example asm code though, because most devices are designed architecture independently.)
jnc100
Member
Member
Posts: 775
Joined: Mon Apr 09, 2007 12:10 pm
Location: London, UK
Contact:

Re: I/O ports' numbers list

Post by jnc100 »

JamesM wrote:I don't believe the SuperIO has a PS/2 module
Correct. According to the datasheet he provided it contains 2x serial ports, a parallel/game port and floppy/ide interfaces, i.e. no ps/2.

@sznurek: try section 3: "I/O Address Assignments"

Regards,
John.
Post Reply