Login
Search for:


Previous | Next

From: TLC (all posts)
Date: 2001-03-13
Subject: Re: Strange TED 'effect'
Hello!

> There is a well known interesting effect of TED when
> someone POKE-s a zero value (for example) to TED register
> $13 (at address $FF13) : after this the window area starts
> to "wawe" in a funny continuously flowing black&white
> pattern. Its direction is diagonal. TED seems to be doing
> this when we use the characters from ROM area but we write
> an "illegal" value to the $FF13.
>
> So, does anyone know what could cause this strange effect?

Yes.

It's just you wrote: the TED looks for the characterset data in ROM,
while the address points to the RAM.

Since in the Plus/4, not just the data bus but the DRAM select lines are also mostly under control of the TED, it gets confused: 1: it doesn't give selector signal to the DRAMs in that particular moment, since it knows that it must fetch data from ROM ($ff12 bit 2), and 2: the character ROM doesn't get selector signal either, since the FPLA knows that addresses below $8000 are always 'RAM' :-). As a result, no memory chips 'think' in a particular moment that they must spit some data.

The pattern that you see on the screen is derived then from the (actual)
very last data bus actions, either performed by the TED or the processor. If you check it closely, each 2 rows from 8 seem to be rather constant: these show the bit data corresponding to the last character and color memory read (and they're constant, since the video / color mem is constant, also, except if you do something on the screen). The
'moving' pattern shows program data fetches by the CPU, and fetches performed by that 'running' program.

(Just check this: fill the memory from $1000 to $8000 by $EA (NOP),
write a SEI to $1000 and a JMP $1001 to $7ffd, then write 0 to $ff13 and execute from $1000. You'll see a constant pattern - in fact, most of the screen will be filled with the bit pattern of $EA, with the few exceptions of executing the JMP $1001).

Best regards,

L.

Copyright © Plus/4 World Team, 2001-2024. Support Plus/4 World on Patreon