[ 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