Nicolas Pomarède schrieb:
Although not 'random', it seems the xcount=1 case had no 'official'
defined behaviour, which makes it quite dangerous to use, especially
when using same code for STE and Falcon.
I wonder if TOS tries not to use xcount=1 when using OS functions ?
Atari TOS uses xcount=1, however of course by far not every possible
permutation of x_inc, y_inc, NFSR, FXSR etc. Thorsten Otto sent me a
disassembly of the Blitter routines from TOS 2.06/3.06, however, I
didn't have the time to understand it yet.
I don't know if a logic pattern can be seen from the STE blitter
schematics, but if not it could be handled with a hardcoded table
combining those 8 possible cases (and a 2nd table for falcon)
I'd be more comfortable if we found the logic pattern behind it, given
that there are even more permutations than those currently tested by
BLITEMU. For example, what if x_inc is positive (or zero) and y_inc is
negative or vice-versa? It would result in a huge table, I'm afraid.
I cannot promise, though, that I'll be able to reconstruct the ST/STE's
Blitter inner workings from the schematic.