Re: [hatari-devel] Blitter emulation corner case

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


Le 20/05/2017 à 09:03, markus@xxxxxxx a écrit :
Hmmm.

I'm not convinced that your code is completely correct. You appear to use the blitter in NO-HOG mode and simplify the blitter start to

while (LINE_NUM & 0x80)
     continue;

As far as I understand, this will assign only one single portion of 64 "NOHOG"- bus cycles to the blitter. As you do not restart the blitter until finished (which required a RMW cycle to LINE_NUM[BUSY] until its eventually signalling a zero bit, to my understanding), it might get into some kind of undefined state (assuming it needed more than these initial 64 cycles to finish which is something I don't know) affecting further tests.

Hi

restarting the blitter in non hog mode this way is perfectly valid ; in asm, most routine will use the "TAS" instruction to do this and the atari doc does the same in their blitter examples.

As for the falcon blitter taking the same number of cycle per operation, this is indeed something we don't know. But speed doesn't seem to be an issue here, as the blitter is made to work in non hog mode, I don't think there's any reason for result to be altered by speed, what matters is the number of bus cycle.

Nicolas



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