Oric Atmos Repair
Posted by retromaster on October 18, 2010
It seems I keep hitting roadblocks with the Cumulus project. Fortunately, I was able to overcome the obstacles once more.
Couple of days ago, I tried the Cumulus prototype board with an Oric Atmos. The intent was to test whether the 6502 bus interface (the onboard ROM) was working properly. Needless to say, I was not surprised when it did not work the first time . I spent the better part of an evening trying to figure out with the logic analyzer where the problem was. The Atmos booted fine when Cumulus was detached, though.
So, the next morning, I just try to boot the Oric with the Cumulus board detached, and it does not work! Most of the time, it just gave some scrolling horizontal bars on the left side of the screen. Other times, there was just garbage on the screen.
I was quite dismayed, but I also thought that the Oric was not beyond repair. I first checked the 6502 with the logic analyzer, and the reset sequence and the first instructions seemed to execute fine. I double-checked the contents ROM with a programmer, which were also fine. Then, I went on to verify the RAS/CAS/W signals going to the DRAMs. This, together with the fact that the video sync signals were fine, indicated that the custom ULA chip was fine. I was quite relieved by that, as it would be nearly impossible to source (except from another working Oric).
The only things left were the DRAMs, which are, incidentally, the most common sources of problem on these older machines. A quick check confirmed that the IMS2600 chips on the machine were actually the same as the very popular 4164 DRAMs. So, I went out and luckily found a shop that somehow still carried them… Started replacing the chips one by one with sockets, and upon replacing the second one, I got the familiar Oric BASIC screen. What a relief!
So, basically, I am still not sure if it was the Cumulus board that caused the problem. The DRAMs on these aging machines are prone to breakage anyway, so it might have been a coincidence, as well. Anyway, I tracked the problem with Cumulus down to some circuitry based on a 74HCT221 that generated a couple of signals from the O2 clock output of the 6502. I actually copied the circuit over from the original Microdisc schematics, but it seems on my prototype, the pulse widths of the signals generated are much too long. I may actually build a small test circuit with a just 74HCT221 on it to play around with and test the circuitry.