Re: very strange C64 fault

From: Francesco Messineo <francesco.messineo_at_gmail.com>
Date: Wed, 19 Apr 2017 22:39:05 +0200
Message-ID: <CAESs-_y_ejeor7KY=Rcnq_HL_rN8TobF-FGAPzmf=mHw5vaTJg@mail.gmail.com>
Just an update but not much progress

On Tue, Apr 18, 2017 at 1:56 PM,  <afachat@gmx.de> 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 list
Received on 2017-04-19 20:39:05

Archive generated by hypermail 2.2.0.