Post
by Chema » Thu Jan 26, 2017 1:18 pm
Okay, with the risk of (again) saying something stupid...
Once discarded the PSU as source of problems, IMHO you've got a 90% chance of the problem being the memory. I say this because it is one of the most common issues, but as no chip becomes really hot, you have no way to tell.
Another candidate would be the 6502. Without changing it it is going to be difficult to tell, but we could try... The bootup sequence of the 6502 starts int the ROM. The CPU reads the vector at $FFFC and $FFFD and jumps there (in the atmos, this means jumping to $F88F) as I said, preparing the stack, setting the decimal flag, the interrupt flag and copying a table to page 2. Until that moment it does not access the RAM. As you have changed the ROM chip we could suppose there is no problem here, so if you have some activity in the address and data lines of the processor for a few cycles, then it is a good indication it is OK.
You now have a logic analyzer, so I bet you could monitor the address lines (for instance from the expansion port, easier to attach a probe there). It should not be difficult to see if they change as they should (more or less - a broken 6502 can also execute something before halting but again, this is just to make an educated guess).
Obviously, if there is no activity in the address lines, the 6502 is most probably dead.
If this works, then most probably it is getting stuck because the RAM is not working. One of the first tasks of the processor at boot is to find out the available memory by making read/write tests and to fill the memory with given patterns and the pointers start/end are stored in page 0. Wrong bits there and you'll get stuck in an infinite loop (though probably there would be activity on the address lines, because code is read from ROM, which we suppose is OK). Of course errors in reading writing in page 1 would be catastrophic, as the stack is held there...
This would, unfortunately, mean changing the ram chips just for testing this hypothesis. I am not sure if there is a way to test if memory chips are okay easily (such as measuring continuity between vcc and gnd or something like that) besides checking if they get hot. Besides I am not sure they always become hot if they are broken...
But there are still other things that could go wrong, such as broken tracks on the PCB, a broken 6522...
That is my 2 cent. Sorry for not being able to help further...
Last edited by
Chema on Thu Jan 26, 2017 7:04 pm, edited 1 time in total.