I am trying to repair a broken 1571 that I scored for cheap (this is the first time I have tried anything more advanced than changing the filter caps and regulators of a 1571 PSU).
The symptoms are: constant green light and motor constantly spinning.
Looking at the service manual and the notes on Ray Carlsen's home page (http://personalpages.tds.net/~rcarlsen/cbm/1571/) i have tried these initial repairs:
* All 74LS-IC's replaced.
* The 74F32 was replaced with a 73HCT32 (the "fast TTL series" is hard to find these days and looking at the data sheets the HCT series *should* work as a replacement if you take care to ground the unused pins).
* All electrolytic caps have been replaced (ceramics are probably OK, they don't degrade the same way electrolytics do).
* The ROM has been replaced with a working one (from a working '71).
(The drive is hooked up to a lab-supply.)
But the symptoms persists.
The next step is replacing the 6502 and I'd rather not do it until I have exhausted all other possibilities.
Is there anything else I should check/try first? Are there any diagnostics I can do "inboard" for a 6502?
Have you got a logic probe? Trying putting that to the CLK line of the 6502... it should register "pulsing". If you don't have one, some multi-meters set to AC voltage will tell you if there is a pulse (AC value not zero), but some multi-meters will register a "false positive" and report DC voltage too... Also, some multi-meters can measure "frequency" / Hertz, but unless you bought a "professional" one, it probably won't work in the MHz range. (It should be 1 or 2MHz, depending what 'mode' is active). Final alternative would be to use an oscilloscope, but not many people have these laying around...
Anyway, (the reason I ask) it could be the power supply and all the logic chips (RAM, ROM, CPU, I/O) are good, but there is some problem with the clock generator. That is why I suggest testing the CLK line of 6502 (or any I/O chip). If the clock circuit isn't running, nothing else will either (except perhaps the motor spinning).
I had a 1541 (or was it a 1571) die that way. I never did bother to repair it... all I know is the voltages were good but there was no clock signal. Like you reported, the power light came on an the motor would spin. There was no activity by the CPU (measuring the address or data lines for any changes)... which is no surprise because CLK was broken.
I will try this as soon as I can. It never occurred to me that the clock could be bad. If it is it could probably be replaced if I can find the right crystal. I have an (old and crummy) oscilloscope and I will take a look at the clock-pin and see if I get a decent square wave.
A 6502 without a good clock-signal would exhibit the same behaviour as a broken one I guess (none at all).
Nice scope image! If the CPU is getting CLK, next try testing one of the low address lines, like A0. It should fluctuate at about 1MHz, as the CPU should be constantly fetching bytes (mostly in sequence). If they don't fluctuate at all, CPU is suspect. If they fluctuate briefly on power up then stop, this may mean the CPU executed a "JAM" opcode. In that case, I would suspect the ROM is bad or something is fouling up the data/address bus (almost any memory or I/O chip could do this)... or a broken copper trace on the PC board (data or address bus).
It would be tedious to check for continuity of all the address and data lines between every chip! But if the CPU seems to work briefly on power-up, that's about all I can think to do, besides replacing the ROM. (Like I said, in that case it could be any memory or I/O chip, but the ROM would be probably be easiest to replace). On the other hand, if a continuity check fails, you should be able to repair the PC board without replacing any chips...
(Silly me -- you said you already replaced the ROM!)
Well, good luck! It sounds like you're going to need it
A brief report on progress (or lack thereof) before the CPU surgery begins.
Taking hydrophilic's advice I have taken a look at the activity on some A- and D-pins.
For reference: this is what it looks like on the working '71 a few seconds after power on (powered using the same lab supply as when working on the broken one):
Address line 13. A typical "running" binary signal.
Address line 11:
Data line 0. The signal is dipping below 0 volts att times; Vmax=4.89. This could be because of me using poorly calibrated/compensated probes. Other than that I have seen stranger TTL level signals.
Now for the broken 1571:
Address line 13. Using a different times/div. Looks good but slightly less "neat" signal.
Address line 11. Constantly high (approx 5 V) squiggly signal.
Close up of the above. Could be a bad capacitor somewhere I guess. I didn't replaced the ceramic ones:
Data line 0. Now this is interesting... This is the constant wave form and I have no idea what it is trying to do:
Not knowing where in the program loop the 6502 is I don't know if the CPU is trying to send data out or in (never bothered trying to trigger with R/W or RDY).
The squiggly A11 could mean that the program counter simply stops at some point or problems with continuity of the A-bus as per hydrophilic's suggestion.
But I'll go ahead with the CPU replacement anyway and this will be my final attempt before giving up on the board. The new 6502 has arrived from Germany and I will start snipping pins and soldering in a socket soon.
The (bad) A11 image is what I would expect if the CPU executed a 'JAM' opcode. But the (bad) A13 image shows the CPU is still doing something. The (bad) D0 image is really strange! Like some chip is briefly (less than 1 cycle) spitting out a 1-bit (or partial bit) every 10 cycles or so...
If you measured all of the address lines (A0~A15) and documented the results, there is a remote possibility we could infer what part of ROM the CPU is executing... this could give vital clues if, for example, it was trying to initialize an I/O chip and waiting for some kind of signal... This idea would only work if most of your A0~15 measurements were 'constant' (like your A11 image above)... if most of the lines fluctuated (like your A13 image) then we would be left an astronomical number of possibilities.
If you have the patience to measure all 16 address lines, then do it before replacing the CPU. Well, if the CPU is not the problem, then you could also do measurements afterwords (and presumably get same results), but it would save you the time of replacing a perfectly good CPU.
I would definitely test for continuity on the address and data lines between (at least) the CPU and memory chips (RAM+ROM) before replacing the CPU.
You sure are determined... I know I wouldn't bother to replace the CPU unless I knew it was the problem. It sounds like you enjoy this sort of thing... so have fun and good luck!