| |
Zer0-X Account closed
Registered: Aug 2008 Posts: 78 |
VSP crash (not solved yet)
I recently found my C64C to be very prone to crash with certain demos and finally managed to create a reproducible crash while banging the $d011 register so I hooked up my logic analyzer and here are some logs of the event taking place.
http://oms.wmhost.com/misc/VSP_Crash_100MHz.zip
A testprogram was looped at address $0ff0. It could've been placed at pretty much any $xxf0 address and it still would crash within few seconds. Running the code at lower offset on the memorypage quite effectively prevented it from crashing on the machine used for testing. A shorter version with only inc/dec/inc/jmp not crossing the page boundary crashes.
The symptoms were always the same; low address byte of the 2nd inc at $xxf7 and/or the opcode of the jmp at $xxff are suddenly trashed. The byte at $xxf7 ends up being 0x00, 0x01, 0x10 or 0x1d. Byte at $xxff ends up being 0x0c, 0x40, 0x48 or 0x4d.
As a post-work the decoupling caps of the memorychips in the C64C used were replaced and a new thick wire delivering power directly to the memorychips was soldered in place. This had no effect and the machine still crashes with this code, as well as with Booze Design demos Royal Arte and Tsunami for example. Powersupply used is a C128 PSU with C64 powercable soldered next to the C128 powercable.
Logfiles VSP Crash 100MHz 3_31.csv/txt have the actual crash event taking place.
|
|
... 98 posts hidden. Click here to view all posts.... |
| |
Zer0-X Account closed
Registered: Aug 2008 Posts: 78 |
Continuing from Controlling that colour change bug thing
<some_time_later>
Of the available caps I had I've successfully tried 2.2nF cap and then 4.7nF which again renders the C64C unable to start up.
For the couple of demos I've tried so far:
Royal Arte:
The scrolling logo used to crash in couple of seconds. It still crashes now, but takes several minutes.
Dutch Breeze:
Couldn't get past the diagonally scrolling Dutch Breeze -logo. Now haven't been able to crash it so far.
Tequila Sunrise:
Previously it was luck to get it even to start/show something on screen. Again, now no crashes/glitches detected so far.
The little inc/dec/inc/dec/inc-loop I've been using to crash the machines still crashes, but that too now takes a while before it happens.
So delaying the VIC Chip Select -signal could be a step into the right direction.
|
| |
Zer0-X Account closed
Registered: Aug 2008 Posts: 78 |
Yesterday added some more caps to delay few other signals in the testing machine and the most crashing Tequila Sunrise has now been running for around 18 hours without any sign of corruption.
On the other hand, Royal Arte is still almost as crashing as it was before.
My own code at the moment seems to crash only when the memory has been filled certain way. Fill it with some steady value and the code keeps running just fine.
|
| |
Frantic
Registered: Mar 2003 Posts: 1647 |
This thread is like a thriller! I love it. |
| |
Zer0-X Account closed
Registered: Aug 2008 Posts: 78 |
Spent couple of hours chatting and looking at logic analyzer logs with Jens at Revision. That was fun.
At the moment all the delay-caps have been removed, so the grey dots are back, and another tiny fix is being testdriven.
My $d011 inc/dec-code, couple of test routines, Tequila Sunrise, Tsunami, Dutch Breeze, IK+VSP, perhaps some others I forgot, and Royal Arte... None are glitching or crashing.
Now running some 18 hour Royal Arte -marathon to see if I could still get it to crash.
[ ] Achievement unlocked... |
| |
WVL
Registered: Mar 2002 Posts: 898 |
I should have a standalone version of those double scrollers from Arcanum somewhere, so you can run it endlessly. Will have a look for it, might make a nice test program. |
| |
Skate
Registered: Jul 2003 Posts: 494 |
@Zer0-X: Great work pal. What if we try your hw patch with a working c64? Would it still run or start crashing? I mean if you find a certain way to stop VSP crashes, will we be able to patch all c64s the same way without even testing them if they already crash or not? |
| |
Zyron
Registered: Jan 2002 Posts: 2381 |
Just showing my enthusiasm. This thread is very interesting. |
| |
Zer0-X Account closed
Registered: Aug 2008 Posts: 78 |
Royal Arte has been running for the past 16 hours now and still no visible glitches. Previously that demo (or rather the Royal Arte logopart) would've worked for 10 minutes at best.
And the fix is of such generic type that it can be made into C64, C64C and C128 all with minimum effort. Should any side-effect whatsoever to be observed, removing it will be just as easy. Ofcourse then we would have to find yet another way to fix the bug.
WVL: Wish I had more powersupplies to test more than one machine at a time. Tho if you can work on some of your old sources I can give it a testdrive.
Now to test this on my other C64C, which is less crashy, and one of the C128s that trashes whole lot of memory when the crash happens. |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: Royal Arte has been running for the past 16 hours now and still no visible glitches. Previously that demo (or rather the Royal Arte logopart) would've worked for 10 minutes at best.
And the fix is of such generic type that it can be made into C64, C64C and C128 all with minimum effort. Should any side-effect whatsoever to be observed, removing it will be just as easy. Ofcourse then we would have to find yet another way to fix the bug.
WVL: Wish I had more powersupplies to test more than one machine at a time. Tho if you can work on some of your old sources I can give it a testdrive.
Now to test this on my other C64C, which is less crashy, and one of the C128s that trashes whole lot of memory when the crash happens.
What is the current fix you're using? (You said you removed the caps). |
| |
Zer0-X Account closed
Registered: Aug 2008 Posts: 78 |
Better not spread too much false information.
Yesterday I "fixed" another C64C and had two machine that wouldn't crash. Then cleaned up some solderwork and I now have two machines that crash just as they did before. Have to spend some time with those during the weekend and figure out what went wrong.
At first it was so promising... and then it VSP'd. |
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 - Next |