Just an update but not much progress On Tue, Apr 18, 2017 at 1:56 PM, <firstname.lastname@example.org> wrote: > On Dienstag, 18. April 2017 13:34:58 CEST you wrote: >> >> Hi all, >> >> I have found a real tricky fault on my C64C. I'll try to describe the >> >> symptoms, in case anyone is curious enough to help in troubleshooting >> >> it. I am not a newbie in repairing C64s, but this one made me just >> >> wondering without even giving me a clue on where to start probing for >> >> possible faults (if I had a logic analyzer I would know what to do, >> >> but I haven't got one). >> > >> > Logic analysers may not help in some edge cases like this one. I'm sure this is the perfect job for a logic analyzer: the fault happens every time at the same point on all programs that suffer this freeze. I could record a few data+address bus on a working C64 and then on the faulty one and spot the difference easily I guess. > > > From your description of a sprite "almost?" touching the bottom of the > screen... And the fact that it's always at the same position, so that it's > really repeatable points to a logic error, not a timing error. no, the sprites all travel along the bottom border and cross a background/foreground pattern. It's the program that I always use to test C64s, you can see the sprites traveling around here for example: https://www.youtube.com/watch?v=4jndggJJ9QE&t=1192s On the faulty C64C, once they are traveling on the bottom side, just before the first sprite touches the last black bar, the machine freezes. From the scope traces that I have collected, it seems that the CPU goes into an illegal instruction or crashes for some other reasons. It can be restarted with a reset and the program is still there and not corrupted. One question I have (I'll check tomorrow maybe on another C64): is the DRAM supposed to be refreshed when /RST signal is low on a C64? I don't see the reset signal going to the VIC-II, so it should keep on refreshing the DRAMs. However, if I hold the reset button long enough (a few seconds) the DRAM gets corrupted. > > Maybe it's a stuck sprite collision bit, that once set is not reset and keeps > the interrupt low? > > You could write a simple test program for that. may be. Every game I could try works fine however. Only that test program and a couple of demos are affected so far. Best regards Frank Message was sent through the cbm-hackers mailing listReceived on 2017-04-19 20:39:05
Archive generated by hypermail 2.2.0.