Re: [hatari-devel] Blitter emulation corner case

[ Thread Index | Date Index | More Archives ]

Nicolas Pomarède schrieb:

> It's quite possible NFSR is always simply ignored when XCOUNT=1 and 
> "forced" to 0. For example, if we setup blitter with XFSR=0, NFSR=1 and 
> XCOUNT=1 and YCOUNT=10, does it really copies 10 consecutives words ?
> Could you try this ?

OK, new test case:
<>. This now copies
10 words, with XCOUNT=1 and YCOUNT=10. It does all 8 combinations of
positive/negative increment, FXSR=0/1 and NFSR=0/1. The destination
buffer is initialized to -1  (0xFFFF) each time, so you can see which
memory locations are actually written to. Note that I use OP = 1
(Destination = Source AND Destination, so this a read/modify/write) and
OP = 3 (Copy only).

Results on my STE are here:
I can just say that the blitter behaves very strangely for XCOUNT=1...
Only the variant positive increment, FXSR=NFSR=0 really works as
expected by me.

A short look into the schematic of the Blitter shows me that some
internal signals are latched when XCOUNT reaches 2, so this explains why
some things are different for XCOUNT=1. However, without a very deep
look into this schematic I cannot explain what happens in detail. Also,
I think this is all of the time I can devote to this today.


PS: I'm still interested if the COMBO chip or the Falcon's Blitter work
the same here.
Christian Zietz  -  CHZ-Soft  -  czietz@xxxxxxx
PGP/GnuPG-Key-ID: 0x52CB97F66DA025CA / 0x6DA025CA

Mail converted by MHonArc 2.6.19+