My guess would be the PLA. It's what usually goes out first in a C64 and it's probably just as sensitive on the C128. My SX64 had a bad PLA and it showed the same symptoms as you get in C64 mode IIRC.
Quote from: BigDumbDinosaur
PLAs do not have an infinite data retention life...
The rated data retention life of contemporary programmable logic is 20 years, an optimistic number. Programmable logic from the 1980s probably isn't as good.
What ?!! I always thought the PLAs were burned like PROMs. They actually have a finite life span?? That's TERRIBLE... those monsters are soldered to the board, and where on Earth would you get a replacement?
I've got a working C128 and C64, they each gotta be 25+ years by now and still going. Do you mean 20 years of continuous operation (175 k hour) ? In that case, not much to worry about...
EditIf I can go a bit further off topic, I wanted to mention something I noticed a few weeks ago, for the first time... really odd considering I've been using Commies for decades now :P
Anyway, I was debugging some assembly code for MP128 and wanted a "cold start". So naturally I turned off the computer for a few seconds and turned it back on; reloaded the program and it still had "warm start" issues.
So I turned it off again for a few seconds, turned it back on and took a peek at the RAM. It was unaltered... at least the $1300 region where my ML code was at...
So I turned it off and counted 1 - one thousand, 2 one thousand, ... 5 one thousand. Turned it back and took a peek at the RAM. It was still there... a few bits here and there were corrupt, but the important thing was the checksum bytes were STILL intact.
I powered off again for 10 seconds and got total garbage when I peeked at the RAM ;D
That just boggles my mind! I mean the VIC refreshes 5 rows each raster so that all DRAM rows get refreshed at least every 3.5 ms... It seems there is 1000x factor of over-refresh (assuming no loss after 3.5 seconds per "experiment" noted above).
Now there are a couple of large caps in the C128 that I would think could hold a charge for a second after flipping the power switch... but for 3 or 5 seconds ??? And more importantly, the RAM needs refresh signals; even with a static charge in the capacitor, how are they getting dynamic refresh?
Thinking about it even more (because I need a diversion from taxes), I wonder if the VIC keeps sending refresh signals after you power off; hard to believe since the screen goes black almost immediately, but who knows?
The C128 sure is strange! Somewhat related is the fact that VIC-II has no
- RESET[/o] line. Even less related is the fact that the MMU has no
- CS[/o] line.
Okay, now I'm just going WAY off topic, so I'll shut up.
/Edit
Quote from: BigDumbDinosaur on January 20, 2011, 07:35 AMAn altogether different type was the mask-programmed PLA, which would be a custom part and (theoretically) not subject to Alzheimer's.
I thought the Commodore PLAs were mask-programmed and usually give up the ghost due to static discharge. Can't say I've studied the subject extensively, though.