wdp@dukee.egr.duke.edu (William D. Palmer) (10/10/90)
Tuesday, 09 OCT 90 Fellow Net Ones: I mailed a reply to the post below. Judging from the followups in sci.electronics, I thought there might be enough general interest for me to post my reply. Here it is: > From: steve@nuchat.UUCP (Steve Nuchia) > Subject: cheap address decode ideas? > Date: 29 Sep 90 06:46:04 GMT > Given a desire to have N (=5 in this case) I/O port groups > decoded at arbitrary addresses without using a whole boatload > of parts? > My current best, decoding 6 bits (sufficient) is a pair of 74ls138 ... My advice would be to use the 74LS688, which compares two eight-bit words and produces an active low output when the words are equal. One word is the appropriate eight lines from your address bus, the other is set by an eight position dipswitch. Then you need only one dipswitch and one '688 per port group. I have used this on several cards which work in IBM PC/XT/AT computers. > Thanks. No problem. Dev Palmer wdp@dukee.egr.duke.edu Duke Electrical Engineering Room 309 Old Engineering Bldg. Durham, NC 27706 (919) 660-5282
wb8foz@mthvax.cs.miami.edu (David Lesher) (10/10/90)
I once built a decoder out of a 256k EPROM. This case would not be that
big, but here is the idea. Use the data lines for output, and the
address lines for input. Burn the PROM such that when the desired
address is input, the appropriate output line is {high, low}. When the
second address is input, the next output line is..... etc. This proved
to save lots of chips in this specific case.
In my case, several address lines were mode selectors, and the rest
came from a difference counter that indicated how much {available}
memory was left in a large data buffer. The outputs were various levels
of panic (empty, >10%, =50%, >50%, >95%, and OH_SHIT--Data lost) for
other systems to respond to.
It was a bit of pain to come up with an input file to feed to the
Data_I/O burner. I used a large mainframe editor, and wrote 64k lines
of "db_xxxxH" statements. In my case there were only 5 or 6 different
kinds of lines, so I used LOTS of linecopy commands. It took the
Perkins-Elmer that had the 232 line to the burner forty minutes each
time I ran the 8080 cross-assembler.
--
A host is a host from coast to coast.....wb8foz@mthvax.cs.miami.edu
& no one will talk to a host that's close............(305) 255-RTFM
Unless the host (that isn't close)......................pob 570-335
is busy, hung or dead....................................33257-0335