summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/dynax.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/dynax.cpp')
-rw-r--r--src/mame/video/dynax.cpp73
1 files changed, 43 insertions, 30 deletions
diff --git a/src/mame/video/dynax.cpp b/src/mame/video/dynax.cpp
index ec62f409503..2819be2245b 100644
--- a/src/mame/video/dynax.cpp
+++ b/src/mame/video/dynax.cpp
@@ -203,42 +203,52 @@ WRITE8_MEMBER(dynax_state::dynax_blit_palette67_w)
/* Layers Palettes (High Bits) */
-WRITE8_MEMBER(dynax_state::dynax_blit_palbank_w)
+WRITE_LINE_MEMBER(dynax_state::blit_palbank_w)
{
- m_blit_palbank = data;
- LOG(("PB=%02X ", data));
+ m_blit_palbank = state;
+ LOG(("PB=%d ", state));
}
-WRITE8_MEMBER(dynax_state::dynax_blit2_palbank_w)
+WRITE_LINE_MEMBER(dynax_state::blit2_palbank_w)
{
- m_blit2_palbank = data;
- LOG(("PB'=%02X ", data));
+ m_blit2_palbank = state;
+ LOG(("PB'=%d ", state));
+}
+
+WRITE8_MEMBER(dynax_state::hnoridur_palbank_w)
+{
+ m_palbank = data & 0x0f;
+ m_blit_palbank = data; // ???
}
/* Which half of the layers to write to (interleaved games only) */
-WRITE8_MEMBER(dynax_state::hanamai_layer_half_w)
+WRITE_LINE_MEMBER(dynax_state::layer_half_w)
{
- m_hanamai_layer_half = (~data) & 1;
- LOG(("H=%02X ", data));
+ m_hanamai_layer_half = !state;
+ LOG(("H=%d ", state));
}
/* Write to both halves of the layers (interleaved games only) */
-WRITE8_MEMBER(dynax_state::hnoridur_layer_half2_w)
+WRITE_LINE_MEMBER(dynax_state::layer_half2_w)
{
- m_hnoridur_layer_half2 = (~data) & 1;
- LOG(("H2=%02X ", data));
+ m_hnoridur_layer_half2 = !state;
+ LOG(("H2=%d ", state));
}
-WRITE8_MEMBER(dynax_state::mjdialq2_blit_dest_w)
+WRITE_LINE_MEMBER(dynax_state::mjdialq2_blit_dest0_w)
{
- int mask = (2 >> offset); /* 1 or 2 */
-
- m_blit_dest &= ~mask;
+ m_blit_dest &= ~1;
+ if (!state)
+ m_blit_dest |= 1;
+}
- if (~data & 1)
- m_blit_dest |= mask;
+WRITE_LINE_MEMBER(dynax_state::mjdialq2_blit_dest1_w)
+{
+ m_blit_dest &= ~2;
+ if (!state)
+ m_blit_dest |= 2;
}
@@ -256,22 +266,25 @@ WRITE8_MEMBER(dynax_state::jantouki_layer_enable_w)
m_layer_enable |= 1;
}
-WRITE8_MEMBER(dynax_state::mjdialq2_layer_enable_w)
+WRITE_LINE_MEMBER(dynax_state::mjdialq2_layer0_enable_w)
{
- int mask = (2 >> offset); /* 1 or 2 */
+ m_layer_enable &= ~1;
+ if (!state)
+ m_layer_enable |= 1;
+}
- m_layer_enable &= ~mask;
- if (~data & 1)
- m_layer_enable |= mask;
+WRITE_LINE_MEMBER(dynax_state::mjdialq2_layer1_enable_w)
+{
+ m_layer_enable &= ~2;
+ if (!state)
+ m_layer_enable |= 2;
}
-WRITE8_MEMBER(dynax_state::dynax_flipscreen_w)
+WRITE_LINE_MEMBER(dynax_state::flipscreen_w)
{
- m_flipscreen = data & 1;
- if (data & ~1)
- logerror("CPU#0 PC %06X: Warning, flip screen <- %02X\n", space.device().safe_pc(), data);
- LOG(("F=%02X ", data));
+ m_flipscreen = state;
+ LOG(("F=%d ", state));
}
@@ -747,12 +760,12 @@ WRITE8_MEMBER(dynax_state::cdracula_blitter_rev2_w)
if (data & 0xf0)
{
- hanamai_layer_half_w(space, offset, 0, mem_mask);
+ layer_half_w(0);
dynax_blit_dest_w(space, offset, data >> 4, mem_mask);
}
if (data & 0x0f)
{
- hanamai_layer_half_w(space, offset, 1, mem_mask);
+ layer_half_w(1);
dynax_blit_dest_w(space, offset, data & 0x0f, mem_mask);
}
break;