Added Puzzlove (Korea)

Corrected various clocks in driver and sound balance, switched to mono
as per actual PCB layout.
This commit is contained in:
system11b 2015-07-28 18:38:17 +01:00
parent a8c836e325
commit 209f8c00cb
2 changed files with 65 additions and 22 deletions

View File

@ -10614,7 +10614,7 @@ heuksun // (c) 1998 Oksan / F2 System
bestri // (c) F2 System
silvmil // (c) 1995 Para
puzzlove // (c) 1994 Para
puzzlovek // (c) 1994 Para
puzzlovek // (c) 1994 Para
funybubl // (c) 1999 In Chang Electronic Co
funybublc // (c) 1999 Comad Industries
dcheese // (c) 1993 HAR

View File

@ -9,11 +9,17 @@
also very close to gotcha.c, which was also a Para
board.
todo: refresh rate & audio balance
todo: refresh rate
verify dipswitches - difficulty & unknown dips
verify clocks for Z80 & OKI6295
OSC on the PCB are 12MHz, 14.31818MHz & 4.096MHz
OSC on Silver Millennium are 12MHz, 14.31818MHz & 4.096MHz
The above has been verified on two boards.
OSC on World Puzzlove are 12/14.31818/4
OSC on Korean Puzzlove are 12/15/4
Only one example of each of these is known to exist so far.
Very likely to be 'whatever crystals we had to hand which were close enough for the batch' situations.
*/
@ -321,6 +327,23 @@ static INPUT_PORTS_START( puzzlove )
PORT_SERVICE_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW2:8" ) /* Verified */
INPUT_PORTS_END
static INPUT_PORTS_START( puzzlovek )
PORT_INCLUDE(puzzlove)
PORT_MODIFY("DSW")
/* Korean rev has demo sound */
PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x0001, DEF_STR ( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR ( On ) )
/* Korean rev has slightly different difficulty settings */
PORT_DIPNAME( 0x0300, 0x0100, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0300, DEF_STR( Easy ) ) /* Initial start time 35 secs */
PORT_DIPSETTING( 0x0200, DEF_STR( Very_Easy ) ) /* Initial start time 40 secs - Other in game effects?? */
PORT_DIPSETTING( 0x0100, DEF_STR( Hard ) ) /* Initial start time 30 secs - Other in game effects?? */
PORT_DIPSETTING( 0x0000, DEF_STR( Very_Hard ) ) /* Initial start time 30 secs - Other in game effects?? */
INPUT_PORTS_END
static const gfx_layout tlayout =
@ -377,7 +400,7 @@ static MACHINE_CONFIG_START( silvmil, silvmil_state )
MCFG_CPU_PROGRAM_MAP(silvmil_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", silvmil_state, irq6_line_hold)
MCFG_CPU_ADD("audiocpu", Z80, XTAL_4_096MHz) // 4.096MHz or 3.579545MHz - Need to verify
MCFG_CPU_ADD("audiocpu", Z80, XTAL_4_096MHz)
MCFG_CPU_PROGRAM_MAP(silvmil_sound_map)
@ -402,23 +425,37 @@ static MACHINE_CONFIG_START( silvmil, silvmil_state )
MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
MCFG_DECO_SPRITE_PALETTE("palette")
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_YM2151_ADD("ymsnd", XTAL_14_31818MHz/4)
MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.50)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.50)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MCFG_OKIM6295_ADD("oki", XTAL_4_096MHz/4, OKIM6295_PIN7_HIGH) // Need to verify
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.2)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.2)
MCFG_OKIM6295_ADD("oki", XTAL_4_096MHz/4, OKIM6295_PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( puzzlove, silvmil )
MCFG_DEVICE_REMOVE("audiocpu")
MCFG_CPU_ADD("audiocpu", Z80, XTAL_4MHz)
MCFG_CPU_PROGRAM_MAP(silvmil_sound_map)
MCFG_DEVICE_MODIFY("spritegen")
MCFG_DECO_SPRITE_BOOTLEG_TYPE(1)
MCFG_DEVICE_REMOVE("oki")
MCFG_OKIM6295_ADD("oki", XTAL_4MHz/4, OKIM6295_PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( puzzlovek, puzzlove )
MCFG_DEVICE_REMOVE("ymsnd")
MCFG_YM2151_ADD("ymsnd", XTAL_15MHz/4)
MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
ROM_START( silvmil )
ROM_REGION( 0x100000, "maincpu", 0 ) /* 68k */
ROM_LOAD16_BYTE( "d-13_u3.bin", 0x00000, 0x40000, CRC(46106c59) SHA1(ab965c1ea9ce89a67875530d76ac2bde7fd13e13) )
@ -501,24 +538,30 @@ ROM_END
ROM_START( puzzlovek )
ROM_REGION( 0x100000, "maincpu", 0 ) /* 68k */
ROM_LOAD16_BYTE( "3.U3", 0x00000, 0x40000, CRC(82ec8472) SHA1(e4f1a9fa0431de840d6fce466e09098a8d601660) )
ROM_LOAD16_BYTE( "4.U2", 0x00001, 0x40000, CRC(64edc708) SHA1(e0b29f8cd5dd654be34452fd197a77abc872e63d) )
ROM_LOAD16_BYTE( "3.U3", 0x00000, 0x40000, CRC(28f403f0) SHA1(5f9fc18f705fe81f0dceaf2d62b6caffb0b0462e) )
ROM_LOAD16_BYTE( "4.U2", 0x00001, 0x40000, CRC(809371b9) SHA1(6b2dc899a4e2cf4fca777f0ec4a08e636099e0d2) )
ROM_REGION( 0x20000, "audiocpu", 0 ) /* z80 */
ROM_LOAD( "1.U202", 0x00000, 0x20000, CRC(3077eef3) SHA1(e2bf6e4a2166e1851486a801e74a7ec0d4599c28) )
ROM_LOAD( "1.UZ02", 0x00000, 0x20000, CRC(3077e7f3) SHA1(e2bf634a2166e1851486a801e74a7ec0d4599c28) )
ROM_REGION( 0x40000, "oki", 0 ) /* samples */
ROM_LOAD( "2.U211", 0x00000, 0x40000, CRC(4c06ee68) SHA1(3cfcaec98e73c65a45b65d43e012c5529572c057) )
ROM_LOAD( "2.UZ11", 0x00000, 0x40000, CRC(4c06ec68) SHA1(3cfca1c98e73c65a45b65d43e012c5529572c057) )
ROM_REGION( 0x100000, "gfx1", 0 )
ROM_LOAD16_BYTE( "10.U41", 0x000000, 0x80000, CRC(7200e878) SHA1(2ec6389f802f6e0af0210e2b01788914c0eb1d04) )
ROM_LOAD16_BYTE( "9.U42", 0x000001, 0x80000, CRC(21b1e297) SHA1(0fe89d1c62d0f79b1379e4444b119bdc4cc70cfb) )
ROM_LOAD16_BYTE( "10.U41", 0x000000, 0x20000, CRC(3f952c54) SHA1(1f18579ce98305d20ec0f4e216f8170a62b9c68b) )
ROM_CONTINUE ( 0x080000,0x20000 )
ROM_CONTINUE ( 0x040000,0x20000 )
ROM_CONTINUE ( 0x0c0000,0x20000 )
ROM_LOAD16_BYTE( "9.U42", 0x000001, 0x20000, CRC(4f71ee93) SHA1(db0d00fa0f6c9b7bc638dcb50f041fb32827c7c4) )
ROM_CONTINUE ( 0x080001,0x20000 )
ROM_CONTINUE ( 0x040001,0x20000 )
ROM_CONTINUE ( 0x0c0001,0x20000 )
ROM_REGION( 0x200000, "gfx2", 0 ) /* sprites */
ROM_LOAD16_BYTE( "5.U53", 0x000000, 0x80000, CRC(8707dea0) SHA1(05e80ac34982a4e4768b7f3fccd2e557ca4b2545) )
ROM_LOAD16_BYTE( "6.U54", 0x000001, 0x80000, CRC(60a6de14) SHA1(06e3c08c51d6b3a05373c9999f01b0b8d23a1c89) )
ROM_LOAD16_BYTE( "7.U55", 0x100000, 0x80000, CRC(0f2eaec4) SHA1(4ce46fc6272e3cc14dfdcd7831157433ee7cf247) )
ROM_LOAD16_BYTE( "8.U56", 0x100001, 0x80000, CRC(037dce3d) SHA1(fcef604710518982e0b4acc81a56fa703d0c9407) )
ROM_LOAD16_BYTE( "5.U53", 0x000000, 0x80000, CRC(c5732995) SHA1(e7faecb19f4bdb103b782e38463d32b357ea63bc) )
ROM_LOAD16_BYTE( "6.U54", 0x000001, 0x80000, CRC(a3b98fd1) SHA1(2b2b7c9df19882a0565e38504b73f56ea27d71ab) )
ROM_LOAD16_BYTE( "7.U55", 0x100000, 0x80000, CRC(a4c73b48) SHA1(9f26af7b961c96cfd1c45f85f1d6dc4f364e3541) )
ROM_LOAD16_BYTE( "8.U56", 0x100001, 0x80000, CRC(95b5f049) SHA1(1104dac1fbf6a894b7d8294b3f44a0edbf363157) )
ROM_END
void silvmil_state::tumblepb_gfx1_rearrange()
@ -549,4 +592,4 @@ DRIVER_INIT_MEMBER(silvmil_state,silvmil)
GAME( 1995, silvmil, 0, silvmil, silvmil, silvmil_state, silvmil, ROT270, "Para", "Silver Millennium", GAME_SUPPORTS_SAVE )
GAME( 1994, puzzlove, 0, puzzlove,puzzlove,silvmil_state, silvmil, ROT0, "Para", "PuzzLove", GAME_SUPPORTS_SAVE )
GAME( 1994, puzzlovek, puzzlovek, puzzlove,puzzlove,silvmil_state, silvmil, ROT0, "Para", "PuzzLove (Korea)", GAME_SUPPORTS_SAVE )
GAME( 1994, puzzlovek, puzzlove, puzzlovek,puzzlovek,silvmil_state, silvmil, ROT0, "Para", "PuzzLove (Korea)", GAME_SUPPORTS_SAVE )