From c90b5d40a87666f470802a5175eca14c767a6763 Mon Sep 17 00:00:00 2001 From: cam900 Date: Thu, 14 Jan 2021 20:14:49 +0900 Subject: metro.cpp: Fix tilemap offset regression imagetek_i4100.cpp: Add state of CRTC related value for debug also fixed MT #07845 --- src/devices/video/imagetek_i4100.cpp | 4 ++++ src/devices/video/imagetek_i4100.h | 2 ++ src/mame/drivers/metro.cpp | 19 ++++--------------- 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/src/devices/video/imagetek_i4100.cpp b/src/devices/video/imagetek_i4100.cpp index f760f148254..69dc3dcd775 100644 --- a/src/devices/video/imagetek_i4100.cpp +++ b/src/devices/video/imagetek_i4100.cpp @@ -358,6 +358,8 @@ void imagetek_i4100_device::device_start() save_item(NAME(m_irq_enable)); save_item(NAME(m_rombank)); save_item(NAME(m_crtc_unlock)); + save_item(NAME(m_crtc_horz)); + save_item(NAME(m_crtc_vert)); save_item(NAME(m_sprite_count)); save_item(NAME(m_sprite_priority)); save_item(NAME(m_sprite_color_code)); @@ -724,6 +726,7 @@ void imagetek_i4100_device::crtc_horz_w(offs_t offset, uint16_t data, uint16_t m { if (m_crtc_unlock == true) { + COMBINE_DATA(&m_crtc_horz); //logerror("%s CRTC horizontal %04x %04x\n",this->tag(),data,mem_mask); } } @@ -732,6 +735,7 @@ void imagetek_i4100_device::crtc_vert_w(offs_t offset, uint16_t data, uint16_t m { if (m_crtc_unlock == true) { + COMBINE_DATA(&m_crtc_vert); //logerror("%s CRTC vertical %04x %04x\n",this->tag(),data,mem_mask); } } diff --git a/src/devices/video/imagetek_i4100.h b/src/devices/video/imagetek_i4100.h index 35b3116a611..4d40c585ff1 100644 --- a/src/devices/video/imagetek_i4100.h +++ b/src/devices/video/imagetek_i4100.h @@ -116,6 +116,8 @@ protected: u16 m_rombank; size_t m_gfxrom_size; bool m_crtc_unlock; + u16 m_crtc_horz; + u16 m_crtc_vert; u16 m_sprite_count; u16 m_sprite_priority; u16 m_sprite_xoffset,m_sprite_yoffset; diff --git a/src/mame/drivers/metro.cpp b/src/mame/drivers/metro.cpp index 8a4b3b24543..5d61a4609e1 100644 --- a/src/mame/drivers/metro.cpp +++ b/src/mame/drivers/metro.cpp @@ -2750,17 +2750,6 @@ INPUT_PORTS_END ***************************************************************************/ -static const gfx_layout layout_053936 = -{ - 8,8, - RGN_FRAC(1,1), - 8, - { STEP8(0,1) }, - { STEP8(0,8) }, - { STEP8(0,8*8) }, - 8*8*8 -}; - static const gfx_layout layout_053936_16 = { 16,16, @@ -2773,7 +2762,7 @@ static const gfx_layout layout_053936_16 = }; static GFXDECODE_START( gfx_blzntrnd ) - GFXDECODE_ENTRY( "gfx2", 0, layout_053936, 0x0, 0x10 ) // [0] 053936 Tiles + GFXDECODE_ENTRY( "gfx2", 0, gfx_8x8x8_raw, 0x0, 0x10 ) // [0] 053936 Tiles GFXDECODE_END static GFXDECODE_START( gfx_gstrik2 ) @@ -2895,7 +2884,7 @@ void metro_state::msgogo(machine_config &config) /* video hardware */ i4220_config(config); m_vdp2->irq_cb().set_inputline(m_maincpu, M68K_IRQ_1); - m_vdp2->set_tmap_xoffsets(-2,-2,-2); + m_vdp2->set_tmap_xoffsets(2,2,2); m_screen->screen_vblank().set(FUNC(metro_state::vblank_irq)); // timing is off, shaking sprites in intro @@ -2984,7 +2973,7 @@ void metro_state::daitorid(machine_config &config) /* video hardware */ i4220_config(config); m_vdp2->irq_cb().set_inputline(m_maincpu, M68K_IRQ_2); - m_vdp2->set_tmap_xoffsets(-2,-2,-2); + m_vdp2->set_tmap_xoffsets(2,2,2); m_screen->screen_vblank().set(FUNC(metro_state::vblank_irq)); @@ -3474,7 +3463,7 @@ void metro_state::gstrik2(machine_config &config) m_k053936->set_offsets(-77, -19); - m_vdp2->set_tmap_xoffsets(0,-8,0); + m_vdp2->set_tmap_xoffsets(0,8,0); // HUM-003 PCB Configuration : Mono output only config.device_remove("lspeaker"); -- cgit v1.2.3