Please read this entire message carefully before taking further steps.
Thanks for the investigations, but I think we are trying to solve too many problems at once.
Let's solve one problem at a time. When you try to solve more than one problem at the same time, things become a lot more complicated as multiple problems can become tangled together.
-----
So far we've made a lot of observations about the good board and the bad board. We have everything from overall behaviour (the good board works, the bad one doesn't) all the way down to recordings of the individual pins. This is a lot of information.
Despite all of our investigations, we have
only one situation where we know with
100% absolute certainty that signal lines are malfunctioning. These are the non-TTL signals on UA9-UA16 on the bad CPU board when U8B and U9B are installed.
We have observed other differences between the good board and the bad board. These may or may not be evidence of problems --- we don't know yet. We only have suspicions and guesses. The difficulty for us is that these observations may be a consequence of the non-TTL signals we've been observing. There is a chance that if we eliminate the signalling problem on UA9-UA16, other problems (including problems we may not have found yet) will go away.
Let's first figure out the only situation where we know 100% that there is a problem. Then we can move on to the next problem. Let's solve one problem at a time.
-----
Standard TTL signals have two states. A "low" level is a signal between 0V and +0.8V relative to ground, and a "high" signal is between +2V and +5V.
You have measured signals on UA9-UA16 that have voltage levels around +1.8V. When a TTL chip receives inputs between +0.8V and +2V,
its output behaviour is undefined. In our case, this means that the outputs of the 74F283s can be anything at all --- either the right answer (in this case, the sum of two four-bit inputs) or something entirely different.
Because 74-series TTL chips were made by many manufacturers, the response of any one IC to non-TTL inputs can differ. A Fairchild-built 74F283 may respond differently to non-TTL inputs than a part made by Toshiba or Texas Instruments or Hitachi or whoever else.
Even the
same part made by the
same manufacturer can respond differently to non-TTL inputs depending on its temperature! or depending on whether the Vcc is +4.8V instead of +5V! or depending on the silicon wafer that the IC was made from! or whether it was a Friday at the chip fab and the QA tech was rushing to finish their shift!
This is why when you tell me that U8A and U9A "work", it's not very informative. If I want you to go to the store, and I say the nonsense words "fuwebo glarop neep gorp" to you, and you go to the store anyway, what does that tell me? Not very much! Maybe you were going to go to the store anyway!
This is why when you tell me that either 68000 "works" in the good CPU board, it's not very informative. Maybe the 68000 from your bad CPU board has weak output drivers on UA9-UA16, but the 74F283s are sensitive enough that they will tolerate inputs of +1.8V... on weekends in May, during a half moon and fair weather.
Things become difficult to understand when TTL signals stop being TTL! Our life will be easier if we get rid of this problem before moving on to the next one.
Let's solve one problem at a time.
-----
If you have a TTL signal line that isn't able to achieve a "high" signal consistently, there are only a few reasons that this could be so. These are:
- The chip that's trying to emit a "high" signal (in this case, the 68000) is too weak. The parts of a chip that change the voltages on output lines --- the output drivers --- can sometimes get damaged. They may still work a bit, but they don't have the strength that they used to have when they came from the factory. If they can't raise the signal to a nice, healthy voltage, then you take your chances that the ICs that receive the signal can understand the weak, non-TTL "fuwebo glarop neep gorp" signal.
- The chip that's trying to receive signals (in this case, U8B and U9B, or also the ROMs and some other ICs for a subset of UA9-UA16) has a low-resistance current path between its input pins and ground. This means that as hard as the 68000's output drivers will try to raise the voltage level on the line to +5V, it's just too easy for the current to drain through the 74F283's input pins and for the voltage fall back down to that intermediate non-TTL level. This is a bad situation for the 68000, because it will be passing a lot of current through its output drivers as it strains to raise the voltage, which could cause damage like what I've already mentioned.
- There is something wrong with the PCB wiring itself --- the current on UA9-UA16 has another path to ground, one that's relatively low resistance. In this case too, the 68000 will be trying very hard to raise the voltage on the signal line to +5V, and it could burn itself out. This is why I recommended inspecting the board once again to see if you could find any defects.
- The circuit is actually working fine, but your measurement is misleading or broken.
How will you troubleshoot to figure out where the problem lies, taking advantage of the fact that you have one working board? We have the tools we need to figure it out, we just need to proceed scientifically and gradually so that we
only solve one problem at a time.
-----
You have a lot of faith in your IC tester. I like IC testers too --- I'm a big fan of my own
Retro Chip Tester Pro: it's a fantastic tool. Remember though what I said earlier: you can usually trust an IC tester if it says a chip is bad, but it's less trustworthy if it says a chip is good. Here are some reasons why this is so:
- Chip testers may only drive the inputs to an IC at a certain frequency. Recall that U8B and U9B are 74F-series chips, where "F" stands for "fast". The 68000 will be sending new signals to these ICs at maybe around a megahertz, and the chips will have to respond very quickly in order for the Lisa MMU to work properly. It's unlikely that your chip tester is checking for a correct response at that frequency --- and if its test for 74283 4-bit adders has to work across all 74-series families (not just F) then it must run more slowly than the speeds the IC is capable of.
- Chip testers will only ever need to drive and listen to one chip at a time. In real circuits, ICs live in a network of many other ICs, with complicated networks of "speakers" and "listeners". Chip testers therefore test an IC in close-to-ideal conditions, not real-world situations. An IC that works well in the simulated environment of the tester may still not be strong enough for an actual application.
- Most chip testers don't have anything to say about the quality of an IC's outputs. (There are a few that do.) Remember that +2V is still a valid "high" level for TTL, but if I encountered an IC that could only drive a chip tester's input up to (e.g.) +2.6V, I'd consider that part to be extremely marginal and would look for a replacement immediately. But most chip testers don't say what the voltages coming out of the chip are like.
All this is why a chip tester's verdict of "good" isn't always so informative: it means "good under ideal conditions". Meanwhile, if a chip is bad even in the IC tester's kindergarten, there is very little hope for it anymore --- throw it away!
-----
I hope all this information is useful. It's a lot, but if you take a moment to read it all, some of my suggestions from earlier may make more sense.
By now it will be no surprise that I think we should continue trying to understand why UA9-UA16 signals are not TTL. The four possibilities I listed above are all still potential factors. I have my own theories about which possibilities are most likely than others, but I'm not yet confident about them. Instead of sharing my hypotheses here, I'll be interested to hear what you think first.
What do you think might be going on with UA9-UA16? How would you test to see whether your hypothesis is correct? If you like, let me know and we can work from there.