Jim Brain wrote: > As a function of "give a man a fish, you feed him for a day; teach a man > to fish, you feed him for all time", I dloaded Logic Friday, and figured > out a quick way to read the two 16L8 (combinatorial only) PALs on the > board with my EPROM reader (cue duct tape and baling wire snickers).
Don't forget that 16L8 means 8 logic outputs and 16 inputs even though at first glance there only seems to be 8 inputs. That is because every output is also an input and can possibly be just an input by forcing the three state option. Both options complicate things and in the first case you can have stuff like: O1 = /I1*I2 + I1*O1 If you count up the possible values of I1 and I2 you will get: I2, I1 => O1 0, 0 => 0 0, 1 => 0 1, 0 => 1 1, 1 => 1 but if you count down you get: I2, I1 => O1 1, 1 => 0 1, 0 => 1 0, 1 => 1 0, 0 => 0 which is different, and if you repeat this a bunch of times you will sometimes get 1 output in the first line and you might get 0 output in the third line once in a while. The IBM PC AT had two PALs. One was a simple address decoder while the second included an interface to the FPU and had a tiny state machine implemented like this. I helped some friends who were doing an AT clone in 1986 figure this out in a few minutes, but most of their competitors in Brazil took nearly two years to reverse engineer this. -- Jecel