[AD] mmx bugfix

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


There's a bug in Allegro 3.9.31 which affects clearing a screen area
in 8 bit modes (mmx segmented case) with width not divisible by 32.
Somebody forgot to cut'n'paste the segment prefix.

Now Mame works again in 400x300 ;-)
Gotta find the PSX pad bug now.

Apply this to src\i386\iblit8.s 

--- e:\tmp\all3931\src\i386\iblit8.s    Sun Jan 30 21:46:58 2000
+++ iblit8.s    Sat Feb 26 20:19:04 2000
@@ -219,22 +219,22 @@
    testl $16, %ecx
    jz clearMMXseg_finish_line2

-   movq %mm0, (%edi)
-   movq %mm0, 8(%edi)
+   movq %mm0, %es:(%edi)
+   movq %mm0, %es:8(%edi)
    addl $16, %edi

 clearMMXseg_finish_line2:
    testl $8, %ecx
    jz clearMMXseg_finish_line3

-   movq %mm0, (%edi)
+   movq %mm0, %es:(%edi)
    addl $8, %edi

 clearMMXseg_finish_line3:
    andl $7, %ecx
    subl $8, %ecx
-   movq %mm0, (%edi, %ecx)
+   movq %mm0, %es:(%edi, %ecx)

 clearMMXseg_no_long:
    incl %ebx





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