Hi guys.
I've stumped myself with this II+ (clone)
It was working fin until today when it failed to start. The screen shows some bands of lo-res graphic horizontal bars. No beep.
I've removed all the cards and the top 32K of RAM, so it is sitting with only the lower 16K of RAM.
I am getting a clock signal, the 14 MHz, 7MHz, 3 MHz and 1MHz are all there.
All address states at the CPU show logic state high, so that's good.
The only thing peculiar is that Data lines D0 and D2 are at logic state low - the rest of the data bus lines are logic state high.
This is both at the CPU pins and at the RAM pins.
I'm thinking they should all be high. There is no differece with or without a CPU connected, but I've verified that the CPU is good in another machine.
Any ideas?
Check the reset pin on the 6502? (Pin 40).
Should go briefly low then be held high. (It's active low)
I know it can cause all sorts of strangeness if it's not triggering (As the 6502 won't have a proper start vector_
Chesh
Why do you think that's good? They should be toggling high and low almost all of the time as the program progresses. Same for the data lines.
In fact, with all the addres lines high ($FFFF) you should be getting $FA out of the autostart ROM, which is exactly what you describe!
That's with the CPU running normally. If the CPU is removed and two of the data lines stay low then that could be a problem.
The reset vector appears to be working on startup.
I get a momentary low state and then it switches to high after just under a second.
The reset key on the keyboard also triggers the reset on the CPU.
Without the CPU the D0 and D2 are low, the rest of the data bus lines are high.
With the CPU installed it's the same, but if I press Reset on the keyboard a number of times I can get the all the Data lines to pulse.
I've also removed all the Applesoft ROMs and no change. I've also sswapped the F8 ROM for a known good one and no change (and verified the F8 is functional in another macine.
There's also no short to ground on D0 and D2.
If the address and data lines are not "pulsing," then the CPU is not executing. When the Reset pin goes high, it should start running the boot program.
Might want to check the clock input at pin 37 of the CPU, the 8304 Data Bus buffer, and the 8T97 address bus buffers in that order.
Pretty sure it's not executing.
I'm still trying to track it down, but I'm finding it difficult to trace what "should" be happening with what is actually happening (not much unfortunately)
At this point in time all the data bus pins are in the "high" logic state, so something has changes but I can't identiy what exactly.
Update:
Still no boot condition...
What I determined is that the inhibit pin (these are 2716 ROMS on this clone) is high on the F8 ROM (pin 20). Lifting this pin causes the machine to start and crash to the machine language monitor. The inhibit pin on the F8 ROM is tied to the 74LS138 pin 7 at F12, which is controlled by the 74LS08 at H1. But that is controlled by the three 8T97 chips at H3, H4, H5 which are in turn controlled by the CPU. It's tracing back in a circle. It's like the inhibit signal to F8 is high because all the address lines are in a steady high state and the address lines are in a high state because the CPU can't read F8. Or am I wrong about this?
I have determined also that there are no ICs in that chain that are faulty, which I verified by swapping with a good motherboard that boots right up no matter what chips I swapped into it.
Now for the interesting part. I have an Apple Language card with the on-board F8 ROM. This card: LANGUAGE CARD Using it causes the computer to run off the F8 chip on the card rather than the one on the motherboard.
Inserting it into slot 0 causes the machine to boot normally. I can even replace the F8 ROM from the motherboard (the clone F8) lifting pin 18 and tying it to ground so it will work in place of the 9316 PROM on the card.
I can't seem to figure out what's going on with this. Any ideas?
I think I've found the issue.
Being a clone there are some small differences in circuitry. One (rather important as it turns out) difference is that the INH bit routes through a 74LS02 chip situated at E2. This is different from a genuine motherboard, so it was difficult to trace from the Apple II schematic.
In any case I found that the INH bit was floating at around 1.2 V when it should have been 5V at this chip.
My hypothesis then was that the chip was leaking and therefore faulty.
As it turns out, replacing that chip solved the problem. Now I get a normal boot.
Whew...
Haha, I was just about to suggest to look at the INHibit signal - since you said the external language card worked (which activates the inhibit signal). Also, when all address lines are high then clearly the internal F8 ROM needs to be enabled - unless it's inhibited by a card with an external F8 ROM (F8 ROM covers the upper most F8-FF address range).
Anyway, congrats to reviving another vintage machine... :-)
Yeah, clones with 2716 EPROMS need the extra inverter on the INH line.
BTW, if you ever want to put a ROMX on that motherboard, you can do so by bypassing the inverter (replace chip with jumper wire into socket).