This test runs 12 line blits. Each blit draws a horizontal line with varying line patterns and
multiple combinations of the SING and USEC bit. After each blit, the value of the Blitter zero
bit is read and visualized in form of a blue or yellow line.
Thanks, fixed. Unfortunately no one have done weird things with line mode or I would have noticed these kinds of bugs long time ago. Non-line mode on the other hand..
Test case: https://github.com/dirkwhoffmann/vAmigaTS/tree/master/Blitter/line/zero1
From the README:
Amiga 500 8A:
UAE (cycle exact mode):
UAE (immediate blits):
The test fails in UAE because the zero bit is written inside function
blitter_line_write()
and not outside: https://github.com/tonioni/WinUAE/blob/849ed3456b39dd49d4a923e63b05d1cbdaf9856a/blitter.cpp#L682On the real machine, the bit gets cleared even if nothing is written into memory.