diff --git a/src/mame/drivers/saturn.c b/src/mame/drivers/saturn.c index 331eec131f4..ab678a9c08e 100644 --- a/src/mame/drivers/saturn.c +++ b/src/mame/drivers/saturn.c @@ -442,7 +442,8 @@ static void smpc_change_clock(running_machine &machine, UINT8 cmd) machine.device("slave")->set_unscaled_clock(xtal/2); machine.device("audiocpu")->set_unscaled_clock(xtal/5); - // TODO: pixel clock change goes there + state->m_vdp2.pixel_clock = cmd; + stv_vdp2_dynamic_res_change(machine); device_set_input_line(state->m_maincpu, INPUT_LINE_NMI, PULSE_LINE); // ff said this causes nmi, should we set a timer then nmi? } diff --git a/src/mame/includes/stv.h b/src/mame/includes/stv.h index df4255f0fd5..ad14188c4f6 100644 --- a/src/mame/includes/stv.h +++ b/src/mame/includes/stv.h @@ -62,6 +62,7 @@ public: UINT8 *gfx_decode; bitmap_t *roz_bitmap[2]; + UINT8 pixel_clock; }m_vdp2; struct { @@ -147,6 +148,7 @@ extern UINT8* stv_vdp1_gfx_decode; int stv_vdp1_start ( running_machine &machine ); void video_update_vdp1(running_machine &machine); +void stv_vdp2_dynamic_res_change(running_machine &machine); READ32_HANDLER ( saturn_vdp1_regs_r ); READ32_HANDLER ( saturn_vdp1_vram_r ); diff --git a/src/mame/video/stvvdp2.c b/src/mame/video/stvvdp2.c index 70c758347cd..312cb0ba27c 100644 --- a/src/mame/video/stvvdp2.c +++ b/src/mame/video/stvvdp2.c @@ -105,7 +105,6 @@ In other words,the first three types uses the offset and not the color allocated #include "profiler.h" #include "includes/stv.h" -static void stv_vdp2_dynamic_res_change(running_machine &machine); static UINT8 get_hblank(running_machine &machine); static int get_vblank_duration(running_machine &machine); static int get_hblank_duration(running_machine &machine); @@ -5485,7 +5484,7 @@ VIDEO_START( stv_vdp2 ) gfx_element_set_source(machine.gfx[7], state->m_vdp1.gfx_decode); } -static void stv_vdp2_dynamic_res_change(running_machine &machine) +void stv_vdp2_dynamic_res_change(running_machine &machine) { saturn_state *state = machine.driver_data(); int horz_res,vert_res;