summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/clshroad.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/clshroad.cpp')
-rw-r--r--src/mame/video/clshroad.cpp40
1 files changed, 32 insertions, 8 deletions
diff --git a/src/mame/video/clshroad.cpp b/src/mame/video/clshroad.cpp
index 3a42a03373a..7cec0f8b61b 100644
--- a/src/mame/video/clshroad.cpp
+++ b/src/mame/video/clshroad.cpp
@@ -109,10 +109,12 @@ TILE_GET_INFO_MEMBER(clshroad_state::get_tile_info_0a)
tile_index = (tile_index & 0x1f) + (tile_index & ~0x1f)*2;
code = m_vram_0[ tile_index * 2 + 0x40 ];
// color = m_vram_0[ tile_index * 2 + 0x41 ];
- tileinfo.set(1,
- code,
- 0,
- 0);
+ tileinfo.set(
+ 1,
+ code,
+ m_color_bank,
+ 0
+ );
}
TILE_GET_INFO_MEMBER(clshroad_state::get_tile_info_0b)
@@ -121,10 +123,12 @@ TILE_GET_INFO_MEMBER(clshroad_state::get_tile_info_0b)
tile_index = (tile_index & 0x1f) + (tile_index & ~0x1f)*2;
code = m_vram_0[ tile_index * 2 + 0x00 ];
// color = m_vram_0[ tile_index * 2 + 0x01 ];
- tileinfo.set(1,
- code,
- 0,
- 0);
+ tileinfo.set(
+ 1,
+ code,
+ m_color_bank,
+ 0
+ );
}
void clshroad_state::vram_0_w(offs_t offset, uint8_t data)
@@ -198,6 +202,26 @@ void clshroad_state::vram_1_w(offs_t offset, uint8_t data)
m_tilemap_1->mark_tile_dirty(offset % 0x400);
}
+void clshroad_state::color_bank_w(offs_t offset, u8 data)
+{
+ // - Clash Road: always 9 during gameplay and 0 when title screen displays
+ // (further disabling it out)
+ // - Fire Battle: variable depending on what happens on screen
+ // (makes background to flash when lightning occurs, has additional color cycling effects)
+ m_color_bank = data & 0xf;
+ m_tilemap_0a->mark_all_dirty();
+ m_tilemap_0b->mark_all_dirty();
+ if (data & 0xf0)
+ logerror("%s: unknown vreg [2] write %02x\n", machine().describe_context(), data);
+}
+
+void clshroad_state::video_unk_w(offs_t offset, u8 data)
+{
+ // Clash Road: inited to 0 at POST, never touched anywhere else
+ // Fire Battle: always bit 7 held, normally 0x80,
+ // increments bits 0-3 from 0x80 to 0x8f when lightning is about to strike and decrements back to 0x80
+ // after section has been passed, color gain control? sprite color bank (on unmapped color proms)?
+}
VIDEO_START_MEMBER(clshroad_state,firebatl)
{