Dr Jefyll wrote:
So, primarily at the bottom of the screen. That might be a clue. Or not...
And in the photo you posted it seems the "creatures"
sometimes appear in place of the space character but never (or rarely?) in place of other characters such as alphabetic and numeric. Is that a fairly reliable pattern? That, too, could be a clue.
First thing I thought when I saw it was that I had forgotten the # sign and it was reading from a random address or something. But that wasn't the case, and I've tried copying a single line and it happens too.
This lines appear when scrolling. Before taking the photo above, I scrolled the screen several times and then typed in the text. So lines on those addresses were overwritten. But when scrolling
after typing text, those lines do appear on top of characters. As it is a bitmapped display, the computer doesn't care about what's on the screen when scrolling. Also note that when something appears at the screen does't imply that it has been correctly written to system RAM, only to the video RAM (although both should contain the same data).
Pattern is somehow consistent, lines appear on the bottom, with the ocasional dot. Also this lines appear less frequently on any place on the screen and sometimes even disappear before reaching the top. So lines are full byte errors (they do match up with the "grid") and dots single bit errors. The fact that they are more frequent towards the bottom makes me think about some combination of addresses causing trouble or something similar. Also, higher address means more 1s, more lines to pull high and more ground return current. That may have something to do with it. Zero page addresses seem to be doing fine for example. But addresses are setup several cycles before reading or writing takes place.
Here is my memory map just in case:
$0000-$7FFF System RAM, with $7000-$7FFF mirrored in video RAM
$8000-$BFFF IO/Unused
$C000-$FFFF ROM
I'll have to try to get some scope traces of the precise moment mistakes occur. We'll see. Thanks.
Juan