metro.cpp: Fix tilemap offset regression

imagetek_i4100.cpp: Add state of CRTC related value for debug
also fixed MT #07845
This commit is contained in:
cam900 2021-01-14 20:14:49 +09:00
parent 067b144483
commit c90b5d40a8
3 changed files with 10 additions and 15 deletions

View File

@ -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);
}
}

View File

@ -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;

View File

@ -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");