diff --git a/src/mame/drivers/ggconnie.c b/src/mame/drivers/ggconnie.c index e44ce72f629..1cf116f8e2f 100644 --- a/src/mame/drivers/ggconnie.c +++ b/src/mame/drivers/ggconnie.c @@ -158,9 +158,9 @@ static MACHINE_CONFIG_START( ggconnie, ggconnie_state ) MCFG_CPU_ADD("maincpu", H6280, PCE_MAIN_CLOCK/3) MCFG_CPU_PROGRAM_MAP(sgx_mem) MCFG_CPU_IO_MAP(sgx_io) - MCFG_CPU_VBLANK_INT_HACK(sgx_interrupt, VDC_LPF) + MCFG_TIMER_ADD_SCANLINE("scantimer", sgx_interrupt, "screen", 0, 1) - MCFG_QUANTUM_TIME(attotime::from_hz(60)) +// MCFG_QUANTUM_TIME(attotime::from_hz(60)) /* video hardware */ diff --git a/src/mame/drivers/paranoia.c b/src/mame/drivers/paranoia.c index 0db37ddb4ae..7e9d8f261da 100644 --- a/src/mame/drivers/paranoia.c +++ b/src/mame/drivers/paranoia.c @@ -36,7 +36,6 @@ HuC6280A (Hudson) #include "emu.h" #include "cpu/z80/z80.h" #include "cpu/i8085/i8085.h" -#include "deprecat.h" #include "machine/pcecommn.h" #include "video/vdc.h" #include "cpu/h6280/h6280.h" @@ -150,7 +149,7 @@ static MACHINE_CONFIG_START( paranoia, paranoia_state ) MCFG_CPU_ADD("maincpu", H6280, PCE_MAIN_CLOCK/3) MCFG_CPU_PROGRAM_MAP(pce_mem) MCFG_CPU_IO_MAP(pce_io) - MCFG_CPU_VBLANK_INT_HACK(pce_interrupt, VDC_LPF) + MCFG_TIMER_ADD_SCANLINE("scantimer", pce_interrupt, "screen", 0, 1) MCFG_QUANTUM_TIME(attotime::from_hz(60)) diff --git a/src/mame/drivers/tonton.c b/src/mame/drivers/tonton.c index e3581319a0c..9fa41dc5247 100644 --- a/src/mame/drivers/tonton.c +++ b/src/mame/drivers/tonton.c @@ -29,7 +29,6 @@ #include "sound/ay8910.h" #include "video/v9938.h" #include "machine/nvram.h" -#include "deprecat.h" class tonton_state : public driver_device { @@ -219,11 +218,11 @@ static MACHINE_RESET( tonton ) * R/W Handlers and Interrupt Routines * *************************************************/ -INTERRUPT_GEN( tonton_interrupt ) +static TIMER_DEVICE_CALLBACK( tonton_interrupt ) { v9938_set_sprite_limit(0, 0); v9938_set_resolution(0, 0); - v9938_interrupt(device->machine(), 0); + v9938_interrupt(timer.machine(), 0); } @@ -271,7 +270,7 @@ static MACHINE_CONFIG_START( tonton, tonton_state ) MCFG_CPU_ADD("maincpu",Z80,MAIN_CLOCK/6) /* Guess. According to other MSX2 based gambling games */ MCFG_CPU_PROGRAM_MAP(tonton_map) MCFG_CPU_IO_MAP(tonton_io) - MCFG_CPU_VBLANK_INT_HACK(tonton_interrupt, 262) + MCFG_TIMER_ADD_SCANLINE("scantimer", tonton_interrupt, "screen", 0, 1) MCFG_NVRAM_ADD_0FILL("nvram") diff --git a/src/mame/drivers/uapce.c b/src/mame/drivers/uapce.c index 163b5a36bd0..6b87cb6e8a8 100644 --- a/src/mame/drivers/uapce.c +++ b/src/mame/drivers/uapce.c @@ -24,7 +24,6 @@ */ #include "emu.h" -#include "deprecat.h" #include "cpu/z80/z80.h" #include "cpu/h6280/h6280.h" #include "sound/c6280.h" @@ -202,7 +201,7 @@ static MACHINE_CONFIG_START( uapce, uapce_state ) MCFG_CPU_ADD("maincpu", H6280, PCE_MAIN_CLOCK/3) MCFG_CPU_PROGRAM_MAP(pce_mem) MCFG_CPU_IO_MAP(pce_io) - MCFG_CPU_VBLANK_INT_HACK(pce_interrupt, VDC_LPF) + MCFG_TIMER_ADD_SCANLINE("scantimer", pce_interrupt, "screen", 0, 1) MCFG_CPU_ADD("sub", Z80, 1400000) MCFG_CPU_PROGRAM_MAP(z80_map) diff --git a/src/mame/video/vdc.c b/src/mame/video/vdc.c index 8235c17c74a..ff3c0d6551d 100644 --- a/src/mame/video/vdc.c +++ b/src/mame/video/vdc.c @@ -79,7 +79,7 @@ static void pce_refresh_sprites(running_machine &machine, int which, int line, U static void vdc_do_dma(running_machine &machine, int which); static void vpc_init( running_machine &machine ); -INTERRUPT_GEN( pce_interrupt ) +TIMER_DEVICE_CALLBACK( pce_interrupt ) { /* Draw the last scanline */ if ( vce.current_bitmap_line >= 14 && vce.current_bitmap_line < 14 + 242 ) @@ -109,22 +109,22 @@ INTERRUPT_GEN( pce_interrupt ) /* Draw VDC #0 sprite layer */ if(vdc[0].vdc_data[CR].w & CR_SB) { - pce_refresh_sprites(device->machine(), 0, vdc[0].current_segment_line, drawn, line_buffer); + pce_refresh_sprites(timer.machine(), 0, vdc[0].current_segment_line, drawn, line_buffer); } } } else { /* We are in one of the blanking areas */ - draw_black_line(device->machine(), vce.current_bitmap_line ); + draw_black_line(timer.machine(), vce.current_bitmap_line ); } /* bump current scanline */ vce.current_bitmap_line = ( vce.current_bitmap_line + 1 ) % VDC_LPF; - vdc_advance_line(device->machine(), 0 ); + vdc_advance_line(timer.machine(), 0 ); } -INTERRUPT_GEN( sgx_interrupt ) +TIMER_DEVICE_CALLBACK( sgx_interrupt ) { /* Draw the last scanline */ if ( vce.current_bitmap_line >= 14 && vce.current_bitmap_line < 14 + 242 ) @@ -156,7 +156,7 @@ INTERRUPT_GEN( sgx_interrupt ) /* Draw VDC #0 sprite layer */ if(vdc[0].vdc_data[CR].w & CR_SB) { - pce_refresh_sprites(device->machine(), 0, vdc[0].current_segment_line, drawn[0], temp_buffer[0]); + pce_refresh_sprites(timer.machine(), 0, vdc[0].current_segment_line, drawn[0], temp_buffer[0]); } /* Draw VDC #1 background layer */ @@ -165,7 +165,7 @@ INTERRUPT_GEN( sgx_interrupt ) /* Draw VDC #1 sprite layer */ if ( vdc[1].vdc_data[CR].w & CR_SB ) { - pce_refresh_sprites(device->machine(), 1, vdc[1].current_segment_line, drawn[1], temp_buffer[1]); + pce_refresh_sprites(timer.machine(), 1, vdc[1].current_segment_line, drawn[1], temp_buffer[1]); } line_buffer = BITMAP_ADDR16( vce.bmp, vce.current_bitmap_line, 86 ); @@ -269,13 +269,13 @@ INTERRUPT_GEN( sgx_interrupt ) else { /* We are in one of the blanking areas */ - draw_black_line(device->machine(), vce.current_bitmap_line ); + draw_black_line(timer.machine(), vce.current_bitmap_line ); } /* bump current scanline */ vce.current_bitmap_line = ( vce.current_bitmap_line + 1 ) % VDC_LPF; - vdc_advance_line(device->machine(), 0 ); - vdc_advance_line(device->machine(), 1 ); + vdc_advance_line(timer.machine(), 0 ); + vdc_advance_line(timer.machine(), 1 ); } static void vdc_advance_line(running_machine &machine, int which) diff --git a/src/mame/video/vdc.h b/src/mame/video/vdc.h index 241eb50d1ba..0088b187c2e 100644 --- a/src/mame/video/vdc.h +++ b/src/mame/video/vdc.h @@ -14,8 +14,8 @@ WRITE8_HANDLER( vpc_w ); READ8_HANDLER( vpc_r ); WRITE8_HANDLER( sgx_vdc_w ); READ8_HANDLER( sgx_vdc_r ); -INTERRUPT_GEN( pce_interrupt ); -INTERRUPT_GEN( sgx_interrupt ); +TIMER_DEVICE_CALLBACK( pce_interrupt ); +TIMER_DEVICE_CALLBACK( sgx_interrupt ); /* Screen timing stuff */