On Wed, 21 Sep 2011, Tony Duell wrote:
While individual bits of these bipolar PROMs can fail
(in either
direction -- the fuses can 'grow back'), it's less common than failures
with the other circuitry in the device.
If you don't mind desoldering the ROM and reading it out, it's worth
checking for :
Stuck data bits (a data line which is 0 or 1 in all locations). If that
pin is conencted to other circuitry, it's a fair bet that it should
change sometimes
Address liens that do nothing. If the first half of the dump is the same
as the secodn ahlf, thena the MSB address inptu is not doign anything, if
the first had second quarters and the 3rd and 4th quarters are the same,
then the next addres line isn't doing anything, etc. If the address line
is driven by other circuity, it's a fair bet it should ahve some effect on
the output.
IF the dump apsses those 2 tests, it's quite likely the ROM is OK.
I had the same ideas yesterday. Thankfully the ROM is socketed, so I read
it out and found out its function and its fault. The function is more than
simple... it just inverts the inputs, i.e. output M0 is the inverse of the
address line A0. The sixth output M5 goes active (low) when all inputs are
low (zero difference detect). The fault was the A3 input. Therefore the
addresses x8-xF were mirrored at x0-x7, and the drive always assumed a
track difference of >= 8. Since I don't have a source of unused 32x8 bit
TTL ROMs, I've replaced the ROM with a GAL 16V8 (emulating the
open-collector behaviour) using a small adapter PCB.
For reference, here are the GAL equations:
; M7681 RK05 ROM 139A1 (position E1)
chip condcode gal16v8
; Pinbelegung:
; 1 2 3 4 5 6 7 8 9 10
nc nc /ENA /A4 /A3 /A2 /A1 /A0 nc gnd
; 11 12 13 14 15 16 17 18 19 20
nc nc nc D5 D4 D3 D2 D1 D0 vcc
equations
D0 = gnd
D1 = gnd
D2 = gnd
D3 = gnd
D4 = gnd
D5 = gnd
D0.oe = ENA & /A0
D1.oe = ENA & /A1
D2.oe = ENA & /A2
D3.oe = ENA & /A3
D4.oe = ENA & /A4
D5.oe = ENA & A0 & A1 & A2 & A3 & A4
Christian