Tony Duell quoted me as having written:
On the subject
of BBC video problems, it occurs to me that the BBC micro
does scrolling by moving the pointer to the start of the screen (under
some conditions?). If you can get it to do this, and see how the
display behaves, you may be able to determine easily if it's an
addressing problem.
Is this going to tell you very much?
The BBC _does_ use hardware scrolling (it changes the start-of-memory
register in the 6845), but as the screen is a contiguous array of bytes,
all that a scroll does is effectively increment that pointer by the
number of bytes/line of characters (= 640 bytes in mode 0, etc) and then
clear the new bytes displayed on the bottom line.
So the new line 0 will be the old line 1, etc, but there are no other
changes. A given byte on the screen is displayed in the same relative
position to other given bytes on the screen. In mode 0, &3281 is still the
second dot row of a character in the far left column. Of course if the
text goes all over the place on a hardware scroll then you can be
virtually certain that the 6845 is playing up.
What I meant was that addressing problem _external_ to 6845 generally
means that the fault will occur at the same _memory_ address. So that
type of scrolling means the fault will scroll up the screen, appearing
at the same place in the _text_ every time. Won't it?
If the screen line length were an integer power of two, a fault in the
bottom few address lines would appear at the same place on every line.
Fortunately the BBC micro is 80 characters per line, so you will see
things recurring on a slant. This slanted line of fault should move up
the screen as it scrolls.
Something to try, anyway. I am a firm believer in non-invasive tests!
Philip.