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