Hi Brian,
Well that answers the question when it was fixed. The libsdl SVN viewer
is down at the moment so I can't get the message associated with the bug
fix. I can't find the associated bug entry in the SDL bug tracker. I
would like to know if it was a known issue or just something someone
noticed while doing something else. If it had been reported and I had
thought to look for it in the bug tracker it could have saved a lot of time.
Lenard
Brian Fisher wrote:
to confirm, looks like it is fixed in SDL 1.2 SVN:
http://svn.libsdl.org/branches/SDL-1.2/include/SDL_stdinc.h
somebody added a cld after the rep movsl
however it is definitely _not_ fixed in 1.2.13 though (you can see
from the source archive: http://libsdl.org/release/SDL-1.2.13.zip ) ,
meaning it won't be fixed until SDL 1.2.14 is released..
On Tue, Aug 19, 2008 at 2:24 PM, Lenard Lindstrom <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
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)