diff options
Diffstat (limited to 'src/mame/video/clshroad.cpp')
-rw-r--r-- | src/mame/video/clshroad.cpp | 40 |
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) { |