From c441cc3ef7c3506d5eaab9efda18eabfc262a35b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Banaan=20Ananas?= Date: Sat, 22 Mar 2014 01:18:12 +0000 Subject: [PATCH] guru measured qsound music timing --- src/mame/drivers/cps1.c | 6 +++--- src/mame/drivers/cps2.c | 12 ++++++------ src/mame/drivers/zn.c | 6 +++--- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/mame/drivers/cps1.c b/src/mame/drivers/cps1.c index 6c539d44606..f0e81e63a7b 100644 --- a/src/mame/drivers/cps1.c +++ b/src/mame/drivers/cps1.c @@ -3195,7 +3195,7 @@ static MACHINE_CONFIG_START( cps1_10MHz, cps_state ) MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1) MCFG_PALETTE_ADD("palette", 0xc00) - MCFG_VIDEO_START_OVERRIDE(cps_state,cps1) + MCFG_VIDEO_START_OVERRIDE(cps_state, cps1) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") @@ -3241,9 +3241,9 @@ static MACHINE_CONFIG_DERIVED( qsound, cps1_12MHz ) MCFG_CPU_REPLACE("audiocpu", Z80, XTAL_8MHz) /* verified on pcb */ MCFG_CPU_PROGRAM_MAP(qsound_sub_map) - MCFG_CPU_PERIODIC_INT_DRIVER(cps_state, irq0_line_hold, 250) /* ?? */ + MCFG_CPU_PERIODIC_INT_DRIVER(cps_state, irq0_line_hold, 250) // measured (cps2.c) - MCFG_MACHINE_START_OVERRIDE(cps_state,qsound) + MCFG_MACHINE_START_OVERRIDE(cps_state, qsound) MCFG_EEPROM_SERIAL_93C46_8BIT_ADD("eeprom") diff --git a/src/mame/drivers/cps2.c b/src/mame/drivers/cps2.c index c067e2882dc..37b51c2fca5 100644 --- a/src/mame/drivers/cps2.c +++ b/src/mame/drivers/cps2.c @@ -128,7 +128,7 @@ Notes: Custom IC's - DL-030P - KABUKI Custom encrypted Z80, running at 8.000MHz, manufactured by VLSI - Technology (DIP40) + Technology (DIP40), INT frequency ~249.932Hz-250.070Hz On most PCB's this is a regular Zilog Z80 (Z0840008PSC) DL-1425 - CAPCOM-Q1 QSound Processor, DSP-16A (C) 92 AT&T, clock input of 60.000MHz (PLCC84) @@ -1243,18 +1243,18 @@ static MACHINE_CONFIG_START( cps2, cps_state ) MCFG_CPU_PROGRAM_MAP(cps2_map) MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", cps_state, cps2_interrupt, "screen", 0, 1) - MCFG_CPU_ADD("audiocpu", Z80, 8000000) + MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz) MCFG_CPU_PROGRAM_MAP(qsound_sub_map) - MCFG_CPU_PERIODIC_INT_DRIVER(cps_state, irq0_line_hold, 251) /* 251 is good (see 'mercy mercy mercy'section of sgemf attract mode for accurate sound sync */ + MCFG_CPU_PERIODIC_INT_DRIVER(cps_state, irq0_line_hold, 250) // measured - MCFG_MACHINE_START_OVERRIDE(cps_state,cps2) + MCFG_MACHINE_START_OVERRIDE(cps_state, cps2) MCFG_EEPROM_SERIAL_93C46_ADD("eeprom") /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) - MCFG_SCREEN_RAW_PARAMS(XTAL_8MHz, 518, 64, 448, 259, 16, 240) + MCFG_SCREEN_RAW_PARAMS(XTAL_16MHz/2, 518, 64, 448, 259, 16, 240) MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_cps1) MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1) MCFG_SCREEN_PALETTE("palette") @@ -1272,7 +1272,7 @@ static MACHINE_CONFIG_START( cps2, cps_state ) MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps2) MCFG_PALETTE_ADD("palette", 0xc00) - MCFG_VIDEO_START_OVERRIDE(cps_state,cps2) + MCFG_VIDEO_START_OVERRIDE(cps_state, cps2) /* sound hardware */ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") diff --git a/src/mame/drivers/zn.c b/src/mame/drivers/zn.c index e41ed938741..f7c6c32b4aa 100644 --- a/src/mame/drivers/zn.c +++ b/src/mame/drivers/zn.c @@ -699,7 +699,7 @@ static MACHINE_CONFIG_DERIVED( coh1000c, zn1_1mb_vram ) MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz/2) /* 4MHz */ MCFG_CPU_PROGRAM_MAP(qsound_map) MCFG_CPU_IO_MAP(qsound_portmap) - MCFG_CPU_PERIODIC_INT_DRIVER(zn_state, qsound_interrupt, 60*4) /* 4 interrupts per frame ?? */ + MCFG_CPU_PERIODIC_INT_DRIVER(zn_state, qsound_interrupt, 250) // measured (cps2.c) MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000c ) @@ -715,7 +715,7 @@ static MACHINE_CONFIG_DERIVED( coh1002c, zn1_2mb_vram ) MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz/2) /* 4MHz */ MCFG_CPU_PROGRAM_MAP(qsound_map) MCFG_CPU_IO_MAP(qsound_portmap) - MCFG_CPU_PERIODIC_INT_DRIVER(zn_state, qsound_interrupt, 60*4) /* 4 interrupts per frame ?? */ + MCFG_CPU_PERIODIC_INT_DRIVER(zn_state, qsound_interrupt, 250) // measured (cps2.c) MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000c) @@ -872,7 +872,7 @@ static MACHINE_CONFIG_DERIVED(coh3002c, zn2) MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz/2) /* 4MHz */ MCFG_CPU_PROGRAM_MAP(qsound_map) MCFG_CPU_IO_MAP(qsound_portmap) - MCFG_CPU_PERIODIC_INT_DRIVER(zn_state, qsound_interrupt, 60*4) /* 4 interrupts per frame ?? */ + MCFG_CPU_PERIODIC_INT_DRIVER(zn_state, qsound_interrupt, 250) // measured (cps2.c) MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000c)