mirror of
https://github.com/holub/mame
synced 2025-07-04 09:28:51 +03:00
segas16a/sega16b tweaks - change when video is updated (for fantzone) - bump quantum time for 16a cases with MCU (for quartet stage 18) (#7987)
This commit is contained in:
parent
c115cf1c8e
commit
6b8a176ac2
@ -1995,6 +1995,9 @@ void segas16a_state::system16a(machine_config &config)
|
|||||||
m_screen->set_visarea(0*8, 40*8-1, 0*8, 28*8-1);
|
m_screen->set_visarea(0*8, 40*8-1, 0*8, 28*8-1);
|
||||||
m_screen->set_screen_update(FUNC(segas16a_state::screen_update));
|
m_screen->set_screen_update(FUNC(segas16a_state::screen_update));
|
||||||
m_screen->set_palette(m_palette);
|
m_screen->set_palette(m_palette);
|
||||||
|
// see MT1852 (glitch in fantzone after stage intro text vanishes)
|
||||||
|
// this is a hack, but the scroll values must be latched at some point, when is unknown
|
||||||
|
m_screen->set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK);
|
||||||
|
|
||||||
SEGA_SYS16A_SPRITES(config, m_sprites, 0);
|
SEGA_SYS16A_SPRITES(config, m_sprites, 0);
|
||||||
SEGAIC16VID(config, m_segaic16vid, 0, "gfxdecode");
|
SEGAIC16VID(config, m_segaic16vid, 0, "gfxdecode");
|
||||||
@ -2056,6 +2059,9 @@ void segas16a_state::system16a_i8751(machine_config &config)
|
|||||||
m_mcu->port_out_cb<1>().set(FUNC(segas16a_state::mcu_control_w));
|
m_mcu->port_out_cb<1>().set(FUNC(segas16a_state::mcu_control_w));
|
||||||
|
|
||||||
m_screen->screen_vblank().set(FUNC(segas16a_state::i8751_main_cpu_vblank_w));
|
m_screen->screen_vblank().set(FUNC(segas16a_state::i8751_main_cpu_vblank_w));
|
||||||
|
|
||||||
|
// prevent glitchy background scroll on quartet stage 18
|
||||||
|
config.set_maximum_quantum(attotime::from_hz(6000));
|
||||||
}
|
}
|
||||||
|
|
||||||
void segas16a_state::system16a_no7751(machine_config &config)
|
void segas16a_state::system16a_no7751(machine_config &config)
|
||||||
|
@ -3974,6 +3974,8 @@ void segas16b_state::system16b(machine_config &config)
|
|||||||
m_screen->set_raw(MASTER_CLOCK_25MHz/4, 400, 0, 320, 262, 0, 224);
|
m_screen->set_raw(MASTER_CLOCK_25MHz/4, 400, 0, 320, 262, 0, 224);
|
||||||
m_screen->set_screen_update(FUNC(segas16b_state::screen_update));
|
m_screen->set_screen_update(FUNC(segas16b_state::screen_update));
|
||||||
m_screen->set_palette(m_palette);
|
m_screen->set_palette(m_palette);
|
||||||
|
// see note in segas16a.cpp, also used here for consistency
|
||||||
|
m_screen->set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK);
|
||||||
|
|
||||||
SEGA_SYS16B_SPRITES(config, m_sprites, 0);
|
SEGA_SYS16B_SPRITES(config, m_sprites, 0);
|
||||||
SEGAIC16VID(config, m_segaic16vid, 0, m_gfxdecode);
|
SEGAIC16VID(config, m_segaic16vid, 0, m_gfxdecode);
|
||||||
@ -4198,6 +4200,8 @@ void segas16b_state::lockonph(machine_config &config)
|
|||||||
m_screen->set_raw(MASTER_CLOCK_25MHz/4, 400, 0, 320, 262, 0, 224); // wrong, other XTAL seems to be 17Mhz?
|
m_screen->set_raw(MASTER_CLOCK_25MHz/4, 400, 0, 320, 262, 0, 224); // wrong, other XTAL seems to be 17Mhz?
|
||||||
m_screen->set_screen_update(FUNC(segas16b_state::screen_update));
|
m_screen->set_screen_update(FUNC(segas16b_state::screen_update));
|
||||||
m_screen->set_palette(m_palette);
|
m_screen->set_palette(m_palette);
|
||||||
|
// see note in segas16a.cpp, also used here for consistency
|
||||||
|
m_screen->set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK);
|
||||||
|
|
||||||
SEGA_SYS16B_SPRITES(config, m_sprites, 0);
|
SEGA_SYS16B_SPRITES(config, m_sprites, 0);
|
||||||
SEGAIC16VID(config, m_segaic16vid, 0, m_gfxdecode);
|
SEGAIC16VID(config, m_segaic16vid, 0, m_gfxdecode);
|
||||||
|
Loading…
Reference in New Issue
Block a user