diff --git a/src/mame/drivers/cps3.c b/src/mame/drivers/cps3.c index e9214bd4c7a..f00307bf203 100644 --- a/src/mame/drivers/cps3.c +++ b/src/mame/drivers/cps3.c @@ -1052,7 +1052,7 @@ static VIDEO_UPDATE(cps3) int ypos = cps3_spriteram[i+1]&0x000003ff; int j; int gscroll = (cps3_spriteram[i+0]&0x70000000)>>28; - UINT8 length = (cps3_spriteram[i+0]&0x00ff0000)>>16; // how many entries in the sprite table + int length = (cps3_spriteram[i+0]&0x01ff0000)>>16; // how many entries in the sprite table UINT32 start = (cps3_spriteram[i+0]&0x00007ff0)>>4; int whichbpp = (cps3_spriteram[i+2]&0x40000000)>>30; // not 100% sure if this is right, jojo title / characters @@ -1165,7 +1165,7 @@ static VIDEO_UPDATE(cps3) if (!flipx) xpos2-= ((xsize2+1)*16*xinc)>>16; else xpos2+= (xsize2*16*xinc)>>16; - if (flipy) ypos2-= ysize2*((16*yinc)>>16); + if (flipy) ypos2-= (ysize2*16*yinc)>>16; { count = 0; @@ -1173,7 +1173,7 @@ static VIDEO_UPDATE(cps3) { int current_xpos; - if (!flipx) current_xpos = (xpos+xpos2+((xx*16*xinc)>>16) ); + if (!flipx) current_xpos = (xpos+xpos2+((xx*16*xinc)>>16)); else current_xpos = (xpos+xpos2-((xx*16*xinc)>>16)); //current_xpos += rand()&0x3ff; current_xpos += gscrollx; @@ -1186,8 +1186,8 @@ static VIDEO_UPDATE(cps3) int current_ypos; int actualpal; - if (flipy) current_ypos = (ypos+ypos2+yy*((16*yinc)>>16)); - else current_ypos = (ypos+ypos2-yy*((16*yinc)>>16)); + if (flipy) current_ypos = (ypos+ypos2+((yy*16*yinc)>>16)); + else current_ypos = (ypos+ypos2-((yy*16*yinc)>>16)); current_ypos += gscrolly; current_ypos = 0x3ff-current_ypos;