I believe I found the bug. And it was already fixed for SDL 1.3 (I
cannot confirm it is also fixed for 1.2.13 in SVN since the site is
down.) There should be a licensing requirement to do assembly level
programming :-). The optimized reverse blit uses an i386 string move
instruction. The direction of the copy is controlled by a register flag.
A cleared flag causes a forward copy, the data pointers are incremented.
A set flag causes a reverse copy, decrementing data pointers. The flag
was set by the SDL copy code, but not cleared afterwards. And the flag
doesn't reset itself apparently. So the set flag sat there like an armed
bomb until the next string copy instruction was executed.
Lenard
Lenard Lindstrom wrote:
That seems to be it. Try out the modified SDL.dll for Pythons 2.4. and
2.5:
http://www3.telus.net/len_l/pygame/SDL-self-blit.zip
md5sum:
59a283f9383d6b5512c236d98e39c97b *SDL-self-blit.zip
Lenard
Lenard Lindstrom wrote:
I will. But it will be hand-customized.
Lenard
Brian Fisher wrote:
Hey Lenard,
Can you build SDL with mingw in a way that the inlined assembly
won't be used? (i.e. so that it uses the same source that VisualC
does to build)
--
Lenard Lindstrom
<[EMAIL PROTECTED]>