has anybody allready programmed a 8255 I/O controller on a pci-board.
i would really need some hint on how to find the right address and what libraries i have to include.
the board i use is a pci 8253/8255 board.
Posted on 2003-03-24 02:59:48 by iglasch
Well long time ago i did for my old Z80 based PC / OS :)

Basically the 8255 is a pack of 3 paralell ports named A,B,C they can be programmed to be either INPUT or OUTPUT ports and PORT C can be programmed to have each bit as IN/OUT. Ports A+B can be used together as a BIDIRECTIONAL PORT and in this case some of PORT C bits can act as CONTROL signals for the bidirectional port while the remaining bits can be used "independently".

The 8255 used A0,A1 to select port A,B,C while value 11 was accesing the control port used for programming the IC mode of operation. In a certain PCI card those initial 8255 A0.A1 could be wired to any rand in A0-A20...so you will have to check the PCI bord design to find out the real addresses... but basically i gues they are 4 in a row with the control port beeing the last one...

8253 is A CTC / Timer AFAIK and stiil used today in PC motherboards... well in VLSI integrated form not as independent IC but i guess with the same old functionality..i might search / dig out some old old books about programming 8255 but this will take some time because i do not have my books at my current location...

8253 programming info is widely available arround the net because it is still used in today's PC.

I am sure some Google search should provide some info about programming this IC, because some old PC jr used this 8255 IC for its "jumpers" ... again AFAIK
Posted on 2003-03-24 04:39:43 by BogdanOntanu
The answer is different for different OSes.
Also is this a cross platform question?
And fill us in a little on what you want to accomplish and maybe can redirect you code that someone else has done.

Regards, P1
Posted on 2003-03-24 09:58:57 by Pone
With the old ISA 8255 IO boards you could do it direct from W9X, and with a simple DLL (WIN IO being one) from NT based OSes.

Since you need go thru the PCI bridge to get to the 8255, its no simple task to re-create this software.

Didn't the board come with a driver? I'd check the manufacture's website.
Posted on 2003-03-24 19:50:45 by Ernie

has anybody allready programmed a 8255 I/O controller on a pci-board.
i would really need some hint on how to find the right address and what libraries i have to include.
the board i use is a pci 8253/8255 board.


it's a win2000 OS running on a pentium III 700 MHz.
i think there is a problem about the permission to the memory.
Posted on 2003-03-25 03:05:50 by iglasch
Hi, iglasch,

A long time ago I knew the programming of this device (8255) by heart. Now a barely remember its name.

Anyway, here is the link to the datasheet for the CMOS version of this device.
http://www.intel.com/design/periphrl/datashts/

They say it is compatible with the old NMOS device.

Just like Bogdan was saying, you have to find the connections to A0, A1 on the board you have. Then you will know what addresses to read from or write to.

Alternatively, try to let the system search for new hardware and configure it. If successful, you will have the base address and go from there. Almost certainly the four addresses the part needs will be 4 in a row. (I can't think of a single reason why that would not be true, except maybe that the board also contains the 8253, and so the latter may be at the base address).

Hope this helps.
Posted on 2003-04-10 12:05:54 by VVV
I just programmed one today
FF PPA c!

Too bad every system is not this easy.
Posted on 2003-04-11 02:50:02 by eet_1024