Re: [hatari-devel] Blitter emulation corner case |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
Le 17/05/2017 à 00:00, Roger Burrows a écrit :
On 16 May 2017 at 21:14, Christian Zietz wrote:
Did you see that I posted the 68030-enabled version of BLITEMU yesterday?
Yeah, didn't get around to running it until you reminded me. Attached are the
results (I ran it twice, the same results each time :-)).
Roger
thanks for you results ; merging this, we see there're a lot of
differences for xcount=1 between falcon and ste.
When Inc is > 0, 2 out of 4 are different and when inc is < 0, this is
even more, 3 out of 4 are different :
op=1
SRC_INC = DST_INC = +2, FXSR = 1, NFSR = 0
ste 1 3 5 7 9 11 13 15 17 19 -1 -1 -1 -1 -1 -1
falcon 0 1 2 3 4 5 6 7 8 9 -1 -1 -1 -1 -1 -1
SRC_INC = DST_INC = -2, FXSR = 0, NFSR = 0
ste -1 -1 -1 -1 -1 -1 55 56 57 58 59 60 61 62 63 -1
falcon -1 -1 -1 -1 -1 -1 54 55 56 57 58 59 60 61 62 63
SRC_INC = DST_INC = -2, FXSR = 1, NFSR = 0
ste -1 -1 -1 -1 -1 -1 45 47 49 51 53 55 57 59 61 63
falcon -1 -1 -1 -1 -1 -1 54 55 56 57 58 59 60 61 62 63
SRC_INC = DST_INC = -2, FXSR = 1, NFSR = 1
ste -1 -1 -1 -1 -1 -1 44 46 48 50 52 54 56 58 60 62
falcon -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
op=3
SRC_INC = DST_INC = +2, FXSR = 1, NFSR = 0
ste 1 3 5 7 9 11 13 15 17 19 -1 -1 -1 -1 -1 -1
falcon 0 1 2 3 4 5 6 7 8 9 -1 -1 -1 -1 -1 -1
SRC_INC = DST_INC = +2, FXSR = 1, NFSR = 1
ste 1 3 5 7 9 11 13 15 17 19 -1 -1 -1 -1 -1 -1
falcon 0 1 2 3 4 5 6 7 8 9 -1 -1 -1 -1 -1 -1
SRC_INC = DST_INC = -2, FXSR = 0, NFSR = 0
ste -1 -1 -1 -1 -1 -1 55 56 57 58 59 60 61 62 63 19
falcon -1 -1 -1 -1 -1 -1 54 55 56 57 58 59 60 61 62 63
SRC_INC = DST_INC = -2, FXSR = 1, NFSR = 0
ste -1 -1 -1 -1 -1 -1 45 47 49 51 53 55 57 59 61 63
falcon -1 -1 -1 -1 -1 -1 54 55 56 57 58 59 60 61 62 63
SRC_INC = DST_INC = -2, FXSR = 1, NFSR = 1
ste -1 -1 -1 -1 -1 -1 44 46 48 50 52 54 56 58 60 62
falcon -1 -1 -1 -1 -1 -1 54 55 56 57 58 59 60 61 62 63
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 ?
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)
Nicolas