obermotz wrote: I r[a]n a memory checker and it found some problems.
Nice to see my RAM check in action with a DRAM based cart.
The test runs without any issues when I remove the cart.
No wonders. It's only supposed to check external RAM.
Are these problems fixable by replacing the RAM chips on the cart (seems to be easy enough as the chips are socketed)?
It's a quite strange pattern shown in the crosstalk check.
I suppose BLK5 is not tested, as then there would be crosstalk between BLK5 and RAM1..3. The cart only supports the 3K range by mirroring it with BLK5.
The "!" signs in the diagonal, which would normally indicate inter-block crosstalk could be a sign that the
refresh logic of the DRAM is on the brink. All earlier checks read back (and thus check) the data quite shortly after it was written. The cross-talk check however requires a page to hold its data for quite a long time. When the refresh logic is faulty, some cells might change their value in-between, which then is indicated.
What exactly happens may be highlighted by the RAM2 <-> RAM3 crosstalk. Some writes in $0800..$0BFF have influence on $0C00..$0FFF and vice versa. When this also happens in a similar way with addresses in BLK1..3, you get that picture.
Unfortunately, that won't be easy to fix. You can try exchanging the DRAMs, but if the DRAM select and refresh logic has lost its timing over the years, without a schematic and scope there's not much you can do.
Edit:
http://sleepingelephant.com/ipw-web/bul ... 2&start=41
Try setting all S1..S6 to ON. This should disable RAMx (i.e. $0400..$0FFF) but you then get the +32K RAM in $2000..$7FFF and $A000..$BFFF. Hopefully without any mirroring/cross-talk. Please re-do the check and tell the result.
Edit 2: It also appears, that S6 in not fully "home". Also, before leaving S1..S6 in the ON position, toggle the switches a few times (by moving them left/right fully). This might remove oxidized layers which have built up in the time.