Re: [hatari-devel] Lethal Xcess: Dragon Blitter bug

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Le 09/04/2018 à 14:07, Nicolas Pomarède a écrit :
Le 09/04/2018 à 12:30, Vincent Rivière a écrit :
Hello.

I have noticed an ugly thing in Lethal Xcess, with dragons. See screenshots.
You can notice that other dragons are fine.

It only happens:
- with Hatari (I used a recent HG build for Cygwin)
- STe mode
- Blitter turned on in the game

I never saw such problem on real hardware, or Steem, or Hatari STe with Blitter turned off.

That might suggest a bug in Hatari Blitter emulation.

hi

nice catch, I confirm I can see this too. This seems like a regression in hatari 2.1, because under 2.0 there's no problem.

On the other hand, some low level blitter code was rewritten in 2.1 for accurate bus sharing, so it's possible it broke a case with some logical blitter operation.

I will have a look at this.

Hi

This was a missing case in the new cycle exact bus sharing of the blitter emulation added in Hatari 2.1

During the timer B interrupts used to remove top border, the game temporarily stops the blitter (because the interrupt handler needs more than 64 bus accesses). But when blitter was resumed at the end of the interrupt, its context was not correctly restored, which could lead to an extra read of the same memory address, thus altering the transfer.

This was mainly visible on big sprites, but if you look closely to the main ship, you can see that it's sometimes altered too (or the background on its right is altered on a few pixels).

Works fine for me now, let me know if you still see some problems.

Nicolas



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/