From 3c061b62d393bc67ea321fb73e764cfeef79ee38 Mon Sep 17 00:00:00 2001 From: Barry Harris <44396066+barry65536@users.noreply.github.com> Date: Tue, 22 May 2012 08:15:05 +0000 Subject: [PATCH] Big-endian fixes for Sega System16A and d_tecmo.cpp (lantus) --- src/burn/drv/pre90s/d_tecmo.cpp | 3 +++ src/burn/drv/sega/sys16_gfx.cpp | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/burn/drv/pre90s/d_tecmo.cpp b/src/burn/drv/pre90s/d_tecmo.cpp index 9479acec0..3ca964fbe 100644 --- a/src/burn/drv/pre90s/d_tecmo.cpp +++ b/src/burn/drv/pre90s/d_tecmo.cpp @@ -437,7 +437,10 @@ static inline void palette_write(INT32 offset) UINT8 r,g,b; data = *((UINT16*)(DrvPalRAM + (offset & ~1))); + + #ifdef LSB_FIRST data = (data << 8) | (data >> 8); +#endif r = (data >> 4) & 0x0f; g = (data >> 0) & 0x0f; diff --git a/src/burn/drv/sega/sys16_gfx.cpp b/src/burn/drv/sega/sys16_gfx.cpp index e8b77d2ba..f1dc124c5 100644 --- a/src/burn/drv/sega/sys16_gfx.cpp +++ b/src/burn/drv/sega/sys16_gfx.cpp @@ -2993,8 +2993,8 @@ inline static void System16AUpdateTileValues() for (i = 0; i < 2; i++) { System16OldPage[i] = System16Page[i]; System16Page[i] = (System16ScreenFlip) ? BURN_ENDIAN_SWAP_INT16(TextRam[0xe8e/2 - i]) : BURN_ENDIAN_SWAP_INT16(TextRam[0xe9e/2 - i]); - System16ScrollX[i] = TextRam[0xff8/2 + i] & 0x1ff; - System16ScrollY[i] = TextRam[0xf24/2 + i] & 0x0ff; + System16ScrollX[i] = BURN_ENDIAN_SWAP_INT16(TextRam[0xff8/2 + i]) & 0x1ff; + System16ScrollY[i] = BURN_ENDIAN_SWAP_INT16(TextRam[0xf24/2 + i]) & 0x0ff; } if (System16OldPage[0] != System16Page[0]) {