Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!wuarchive!zaphod.mps.ohio-state.edu!usc!snorkelwacker!apple!vsi1!octopus!stever From: stever@Octopus.COM (Steve Resnick ) Newsgroups: comp.sys.ibm.pc.programmer Subject: Re: Programming the keyboard port Message-ID: <1990Aug15.230923.9495@Octopus.COM> Date: 15 Aug 90 23:09:23 GMT References: <90226.104110TOMIII@MTUS5.BITNET> <7576@ucdavis.ucdavis.edu> Reply-To: stever@octopus.UUCP (Steve Resnick ) Organization: Octopus Enterprises, Cupertino CA Lines: 38 In article <7576@ucdavis.ucdavis.edu> foss@iris.ucdavis.edu (Jim Alves-Foss) writes: >In article <90226.104110TOMIII@MTUS5.BITNET> TOMIII@MTUS5.BITNET (Thomas Dwyer III) writes: >>... >>Ok people, how can the same port be both read-only and write-only? Am >>I missing something? >>... >>Thanks, >>Thomas Dwyer III TOMIII @ MTUS5.BITNET >>Network Programmer DWYERIII @ MTUS5.BITNET >>Computing Technology Services >>Michigan Technological University > >Well, In the PC architecture we have 512 (not 256) ports. 256 are Input ports >and 256 are Output ports. Often a card will have a R/W register with a >single address. In your case you have TWO DISTINCT registers, one input >and one output but with the same address (064H(In) and 064H(Out)). > >Hope this helps. > >-Jim Alves-Foss (foss@iris.ucdavis.edu) /* Of course these are MY opinions */ > (foss@[127.120.57.20]) /* and may change without warning. */ I think you missed something here... the 80n806 supports 65535 ports, which can be r/o, r/w, w/o depending on the hardware designer. An example is the 8250 UART in which the receiver nad transmitter are the same port. If you write a value to the UART at 3F8H and the UART doesn't remove that byte you can read that value again. I can't comment on the keyboard, since I have never programmed the thing other than to make the lights dance on the AT keyboard. Consider, though, that since the com1 UART lies at port addresses 3F8-3FF your statement about 512 ports is wrong. Steve -- ---------------------------------------------------------------------------- steve.resnick@f105.n143.z1@FIDONET.ORG #include Flames, grammar errors, spelling errrors >/dev/nul ----------------------------------------------------------------------------