For classic (i.e. pre-1995) information on ports, the Bochs project has a very useful list of XT, AT and PS/2 port addresses. The list is fairly comprehensive, although the preamble warns the reader to "not consider this information as complete and accurate".