From 2c458c30f1162e318110f23d3ffff8f2c68c6ba5 Mon Sep 17 00:00:00 2001 From: Barry Harris <44396066+barry65536@users.noreply.github.com> Date: Thu, 6 Dec 2012 20:51:15 +0000 Subject: [PATCH] kodb sprite improvement --- src/burn/drv/capcom/cps_obj.cpp | 9 +++------ src/burn/drv/capcom/d_cps1.cpp | 4 ++++ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/burn/drv/capcom/cps_obj.cpp b/src/burn/drv/capcom/cps_obj.cpp index 8142f2673..03f7dec20 100644 --- a/src/burn/drv/capcom/cps_obj.cpp +++ b/src/burn/drv/capcom/cps_obj.cpp @@ -469,12 +469,7 @@ INT32 KodbObjGet() pof->nShiftX = -0x40; pof->nShiftY = -0x10; - // needs to alternate between the two sprite ram areas to achieve flashing - INT32 nOff = BURN_ENDIAN_SWAP_INT16(*((UINT16*)(CpsRamFF + 0x1256))) << 8; - nOff &= 0xffff; - nOff += 0x1140; - - Get = CpsRam90 + nOff; + Get = CpsBootlegSpriteRam + 0x1000; if (Get==NULL) return 1; @@ -510,6 +505,8 @@ INT32 KodbObjGet() if (nGetNext >= nFrameCount) { nGetNext = 0; } + + memset(CpsBootlegSpriteRam, 0, 0x3000); return 0; } diff --git a/src/burn/drv/capcom/d_cps1.cpp b/src/burn/drv/capcom/d_cps1.cpp index 80e2105ab..de90d54f6 100644 --- a/src/burn/drv/capcom/d_cps1.cpp +++ b/src/burn/drv/capcom/d_cps1.cpp @@ -12414,7 +12414,11 @@ static INT32 KodbInit() nRet = DrvInit(); + CpsBootlegSpriteRam = (UINT8*)BurnMalloc(0x3000); + SekOpen(0); + SekMapMemory(CpsBootlegSpriteRam, 0x900000, 0x902fff, SM_RAM); + SekMapMemory(CpsBootlegSpriteRam, 0x904000, 0x906fff, SM_RAM); SekMapHandler(1, 0x980000, 0x99ffff, SM_WRITE); SekSetWriteByteHandler(1, Kodb98WriteByte); SekSetWriteWordHandler(1, Kodb98WriteWord);