BigEd wrote:
Another diode matrix ROM project via Hackaday - this time 64 bytes, and working in a 6502 system (the Atari 2600)
http://atariage.com/forums/topic/226940 ... ?p=3018361 I like it!
This Wickeycolumbus fellow has got style -- and, needless to say, no small amount of whimsy! Most folks wouldn't bother to implement such a capricious notion. It takes determination to actually build something like this -- and likewise to write (solder?) a demo program that'll fit in 64 bytes!
That said, the hardware design has some fat that can be trimmed, even if the demo code doesn't. Here are my observations. (And I hope I'm not violating the spirit of the thing if I try to make an unabashedly impractical design more practical!)
- there are 74AS04 inverters downstream of the diode matrix because the diode count drops substantially when the logic sense is flipped. That's fine, but the inverters could be eliminated if the 74HC244 non-inverting buffer driving the data bus were replaced with a '240 inverting type instead.
- the other '244 buffer is intended to reduce loading on incoming signals from the Atari's address bus. Reasonable, since an array of 74LS138 decoders is attached. But if 74HCT138's were used instead then loading would be negligible and the '244 buffer could be eliminated.
- Finally, four of the '138 decoders could be eliminated if the diode matrix were organized as 32 words, each 16 bits wide, instead of 64 words each 8 bits wide. That means you'd always fetch 2 bytes at once, and would need a 2-to-1 multiplexer to choose between them. But a pair of 74HCT258's can do that -- and assume the tri-state duties of the '240 driving the data bus. So the net saving is 3 IC's -- or 6 altogether, including the points above.
cheers,
Jeff
_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html