|Re: [hatari-devel] Blitter emulation corner case|
[ Thread Index |
| More lists.tuxfamily.org/hatari-devel Archives
> The point is that, for now (provided there isn't any bug left hidden
> in Christian's code), the blitter appears to act in a
> nondeterministic way on the Falcon in certain situations.
Or maybe there were different revisions of the Falcon Blitter? I don't
> @Christian: LINE_NUM |= 0x80 would probably be a bit closer to
> Atari's example (although touching the other bits shouldn't make any
> difference)? If you changed your code to that, I'd be happy to test
> both versions again.
In that case the CPU would perform *two* reads and a write, whereas in
the Atari example it's one read and one write. I guess I could do...
while ((temp = LINE_NUM) & 0x80)
LINE_NUM = temp | 0x80;
/* "| 0x80" only for clarity, temp already has the MSB set */
.... to have one read and one write. But since the lower 7 bits of the
LINE_NUM register read back as 0 in my example (as expected), I don't
see why this would make a difference compared to "LINE_NUM = 0x80".
Christian Zietz - CHZ-Soft - czietz@xxxxxxx
PGP/GnuPG-Key-ID: 0x52CB97F66DA025CA / 0x6DA025CA