GARTHWILSON wrote:
If you got used ones on eBay however, they might be from yesteryear when the endurance was a few orders of magnitude less. One might be able to tell from the date codes, but even then, the Chinese have been harvesting ICs from used boards, cleaning them up, and re-marking them.
I'm not trusting markings from eBay chips. Not any more. Although this ones look legit. I've read a couple of the microcode ROMs and they check fine after 3 or so months.
Dr Jefyll wrote:
It's normal during troubleshooting to have several theories under consideration, and it's best to keep an open mind for new theories, don't be hasty to rule out old ones, and NEVER focus on one theory to the exclusion of all others.
That said, I wonder if we can (cautiously) give more attention to the apparent data dependence. In the photo it seems all the erroneous pixels have changed from dark to light -- I see no cases of a pixel changing from light to dark. (Yes I realize light pixels are comparatively rare to begin with, but even so...) Also there are the patterns mentioned in my previous post. These don't disprove the "bad microcode" theory, but they do weaken the case, I'd say.
-- Jeff
I wasn't too keen on the microcode thing either. Yes pixels did change from light to dark (rarely so). See attached, when scrolling the screen with something in it, some dark lines also appear. More on this below.
Proxy wrote:
tests could be done to fill the entire screen memory with 1's and then scroll around or specifically write to those bad regions to see what happens.
I made two scrolling subroutines, one that filled the last row with 0s (blank) and the other one with ones (light). I fount that no errors were made when filling the last row with ones. Screen just turned blue, and no dark lines appeared.
----------------------
I tried re-locating the video card on a different address, but it made no difference. Now it is on it's original address.
So here is what I found. Turns out that my LCD, which is connected directly to the data bus, doesn't fully leave its bus in high impedance when inactive, but has some pull-ups always active. This may explain why turning 0s into 1s is more common than turning 1s into 0s.
Also, the data bus is going from the CPU to the memory card and video card, and from the memory card to the LCD, by a not so short ribbon cable, as can be seen on the photo I posted earlier.
Removing the LCD and the ribbon does make mistakes less frequent, even running at the intended 5 V. So I'm doing away with the LCD. It makes no sense to use it having the video card. I've read advice on not running CPU's buses off the board. Even if this is a "slow" computer, and the CPU is three boards already, it may make a difference.
Adding some more ground wires between the CPU and the memory card seems to eliminate errors completely. It seems that the couple ground wires in the IDE cable, pus the power cables on the back are not enough. So I think I'm just going to add some copper tape to the IDE cable and have it connect the grounds of both bays. Shortening the IDE cable is out of question (I've tried...).
All this makes making a SBC with some 65C816's I've got around even more appealing...
Juan