From 191617772608cbe75943bea1a9ef13421410734d Mon Sep 17 00:00:00 2001 From: dinkc64 <12570148+dinkc64@users.noreply.github.com> Date: Tue, 13 Oct 2015 02:04:29 +0000 Subject: [PATCH] deco16 rowscroll off-by-1, caveman ninja timers not running in the frame --- src/burn/drv/dataeast/d_cninja.cpp | 3 ++- src/burn/drv/dataeast/deco16ic.cpp | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/burn/drv/dataeast/d_cninja.cpp b/src/burn/drv/dataeast/d_cninja.cpp index 089b62b73..b103c6fdd 100644 --- a/src/burn/drv/dataeast/d_cninja.cpp +++ b/src/burn/drv/dataeast/d_cninja.cpp @@ -2246,7 +2246,8 @@ static INT32 CninjaFrame() for (INT32 i = 0; i < nInterleave; i++) { nCyclesDone[0] += SekRun(nCyclesTotal[0] / nInterleave); - nCyclesDone[1] += h6280Run(nCyclesTotal[1] / nInterleave); + //nCyclesDone[1] += h6280Run(nCyclesTotal[1] / nInterleave); + BurnTimerUpdate((i + 1) * nCyclesTotal[1] / nInterleave); if (irq_timer == i) { SekSetIRQLine((irq_mask & 0x10) ? 3 : 4, CPU_IRQSTATUS_ACK); diff --git a/src/burn/drv/dataeast/deco16ic.cpp b/src/burn/drv/dataeast/deco16ic.cpp index 747ad6581..bf878c9e9 100644 --- a/src/burn/drv/dataeast/deco16ic.cpp +++ b/src/burn/drv/dataeast/deco16ic.cpp @@ -580,7 +580,7 @@ static void pf_update(INT32 tmap, INT32 scrollx, INT32 scrolly, UINT16 *rowscrol INT32 xscroll = scrollx + deco16_global_x_offset + deco16_scroll_offset[tmap][size/16][0]; for (INT32 r = 0; r < rows; r++) { - deco16_scroll_x[tmap][r & 0x1ff] = xscroll + BURN_ENDIAN_SWAP_INT16(rowscroll[r]); + deco16_scroll_x[tmap][r & 0x1ff] = xscroll + BURN_ENDIAN_SWAP_INT16(rowscroll[r+1]); } if (~control1 & 0x20) {