summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author braintro <briantro@users.noreply.github.com>2019-03-24 14:00:19 -0500
committer braintro <briantro@users.noreply.github.com>2019-03-24 14:00:19 -0500
commit90503f389073b1e63244a48e167ad4c78b2b46e7 (patch)
treed7c15af7d751bc41921d06748a3aced49bdc8c5c
parent429ab05c701f09e33fed824a50a8d138dec10ac3 (diff)
seicupbl.cpp: Use measured clocks for Seibu Cup Soccer bootlegs sets [f205v]
-rw-r--r--src/mame/drivers/seicupbl.cpp27
1 files changed, 17 insertions, 10 deletions
diff --git a/src/mame/drivers/seicupbl.cpp b/src/mame/drivers/seicupbl.cpp
index 4cea766c068..a052a287d03 100644
--- a/src/mame/drivers/seicupbl.cpp
+++ b/src/mame/drivers/seicupbl.cpp
@@ -11,6 +11,13 @@
- tilemap chip drawings might be merged between this and other
Seibu implementations.
+OSC: 40MHz, 15MHz & 8MHz
+
+Measured clocks:
+ MC68000P12F - 14.99MHz
+ Z0840006PSC - 3.996MHz
+ OKI M6295 - 0.999MHz
+
***************************************************************************/
@@ -25,8 +32,6 @@
#include "speaker.h"
-#define MAIN_CLOCK XTAL(8'000'000)
-
class seicupbl_state : public driver_device
{
public:
@@ -551,7 +556,7 @@ static GFXDECODE_START( gfx_seicupbl_csb )
GFXDECODE_ENTRY( "char", 0, cupsocsb_8x8_tilelayout, 48*16, 16 )
GFXDECODE_ENTRY( "gfx3", 0, cupsocsb_tilelayout, 0*16, 32 )
GFXDECODE_ENTRY( "gfx4", 0, cupsocsb_tilelayout, 32*16, 16 ) /* unused */
- GFXDECODE_ENTRY( "sprite", 0, cupsocsb_spritelayout, 0*16, 8*16 )
+ GFXDECODE_ENTRY( "sprite", 0, cupsocsb_spritelayout, 0*16, 8*16 )
GFXDECODE_ENTRY( "gfx5", 0, cupsocsb_tilelayout, 32*16, 16 )
GFXDECODE_ENTRY( "gfx6", 0, cupsocsb_tilelayout, 16*16, 16 )
GFXDECODE_END
@@ -560,14 +565,14 @@ GFXDECODE_END
void seicupbl_state::cupsocbl(machine_config &config)
{
/* basic machine hardware */
- M68000(config, m_maincpu, 12000000);
+ M68000(config, m_maincpu, 15_MHz_XTAL); // 15MHz verified
m_maincpu->set_addrmap(AS_PROGRAM, &seicupbl_state::cupsocbl_mem);
m_maincpu->set_vblank_int("screen", FUNC(seicupbl_state::irq4_line_hold)); /* VBL */
SEIBU_COP_BOOTLEG(config, "seibucop_boot", m_maincpu);
/*Different Sound hardware*/
- Z80(config, m_audiocpu, 14318180/4);
+ Z80(config, m_audiocpu, 8_MHz_XTAL/2); // 4MHz verified
m_audiocpu->set_addrmap(AS_PROGRAM, &seicupbl_state::cupsocbl_sound_mem);
//m_audiocpu->set_periodic_int("screen", FUNC(seicupbl_state::nmi_line_pulse));
@@ -597,7 +602,7 @@ void seicupbl_state::cupsocbl(machine_config &config)
GENERIC_LATCH_8(config, m_soundlatch);
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
- OKIM6295(config, m_oki, 1000000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0);
+ OKIM6295(config, m_oki, 8_MHz_XTAL/8, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); // 1MHz verified
}
@@ -621,10 +626,12 @@ Seibu Cup Soccer - Seibu - Bootleg
1 x oki 6295
sc_01 (prg)
sc_02 and sc_03 (data)
+8MHz & 40MHz OSC
(prg)
-1 x 68000
+1 x 68000P12
sc_04 and sc_05
+15MHz OSC
(gfx)
2 x ti tpc1020
@@ -832,6 +839,6 @@ ROM_START( cupsocsb3 )
ROM_END
-GAME( 1992, cupsocsb, cupsoc, cupsocbl, cupsoc, seicupbl_state, empty_init, ROT0, "bootleg", "Seibu Cup Soccer :Selection: (bootleg, set 1)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING )
-GAME( 1992, cupsocsb2,cupsoc, cupsocbl, cupsoc, seicupbl_state, empty_init, ROT0, "bootleg", "Seibu Cup Soccer :Selection: (bootleg, set 2)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING )
-GAME( 1992, cupsocsb3,cupsoc, cupsocbl, cupsoc, seicupbl_state, empty_init, ROT0, "bootleg", "Seibu Cup Soccer :Selection: (bootleg, set 3)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING )
+GAME( 1992, cupsocsb, cupsoc, cupsocbl, cupsoc, seicupbl_state, empty_init, ROT0, "bootleg", "Seibu Cup Soccer :Selection: (bootleg, set 1)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING )
+GAME( 1992, cupsocsb2, cupsoc, cupsocbl, cupsoc, seicupbl_state, empty_init, ROT0, "bootleg", "Seibu Cup Soccer :Selection: (bootleg, set 2)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING )
+GAME( 1992, cupsocsb3, cupsoc, cupsocbl, cupsoc, seicupbl_state, empty_init, ROT0, "bootleg", "Seibu Cup Soccer :Selection: (bootleg, set 3)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING )