🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.ibm.pc.programmer
Article #1032

Re: Programming the keyboard port

#1032
From: Steve Resnick
Date: Wed, 15 Aug 1990 23:09
38 lines
2401 bytes
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<std_disclaimer.h>
Flames, grammar errors, spelling errrors >/dev/nul
----------------------------------------------------------------------------
Technical Details
Message-ID: <1990Aug15.230923.9495@Octopus.COM>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!mailrus!wuarchive!zaphod.mps.ohio-state.edu!usc!snorkelwacker!apple!vsi1!octopus!stever
References: <90226.104110TOMIII@MTUS5.BITNET> <7576@ucdavis.ucdavis.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!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