Re: [hatari-devel] Blitter emulation corner case

[ Thread Index | Date Index | More Archives ]

markus@xxxxxxx schrieb:

> 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

Mail converted by MHonArc 2.6.19+