diff options
Diffstat (limited to 'src/mame/machine/seibucop/seibucop_dma.hxx')
-rw-r--r-- | src/mame/machine/seibucop/seibucop_dma.hxx | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mame/machine/seibucop/seibucop_dma.hxx b/src/mame/machine/seibucop/seibucop_dma.hxx index 114d2c432c9..4b43b3e4732 100644 --- a/src/mame/machine/seibucop/seibucop_dma.hxx +++ b/src/mame/machine/seibucop/seibucop_dma.hxx @@ -81,12 +81,12 @@ void raiden2cop_device::dma_palette_brightness() pal_val |= ((r + rt) & 0x1f); } } - else if (pal_brightness_mode == 4) //Denjin Makai + else if (pal_brightness_mode == 4) //Denjin Makai & Godzilla { - // mode 4 swaps endianness between two words, likely that DMA works in dword steps and bit 0. - // TODO: check on V30 flavour - uint16_t targetpaldata = m_host_space->read_word((src + (cop_dma_adr_rel * 0x400)) ^ 2); - uint16_t paldata = m_host_space->read_word(src ^ 2); + // In mode 4 Denjin Makai seems to swaps endianness between two words, likely that DMA works in dword steps and bit 0. + // Godzilla contradicts with this tho, so maybe it's just an address swap for the palette range ... + uint16_t targetpaldata = m_host_space->read_word((src + (cop_dma_adr_rel * 0x400))); + uint16_t paldata = m_host_space->read_word(src); bt = (targetpaldata & 0x7c00) >> 10; b = (paldata & 0x7c00) >> 10; |