trunk/src/mame/drivers/silvmil.c
| r248533 | r248534 | |
| 15 | 15 | OSC on Silver Millennium are 12MHz, 14.31818MHz & 4.096MHz |
| 16 | 16 | The above has been verified on two boards. |
| 17 | 17 | |
| 18 | | OSC on World Puzzlove are 12/14.31818/4 |
| 19 | | OSC on Korean Puzzlove are 12/15/4 |
| 18 | OSC on World Puzzlove are 12MHz, 14.31818Mhz & 4Mhz |
| 19 | OSC on Korean Puzzlove are 12MHz, 15MHz & 4Mhz |
| 20 | 20 | Only one example of each of these is known to exist so far. |
| 21 | 21 | |
| 22 | | Very likely to be 'whatever crystals we had to hand which were close enough for the batch' situations. |
| 22 | Very likely to be 'whatever crystals we had on hand which were close enough for the batch' situations. |
| 23 | 23 | |
| 24 | 24 | */ |
| 25 | 25 | |
| r248533 | r248534 | |
| 173 | 173 | } |
| 174 | 174 | |
| 175 | 175 | |
| 176 | | |
| 177 | | |
| 178 | 176 | static ADDRESS_MAP_START( silvmil_map, AS_PROGRAM, 16, silvmil_state ) |
| 179 | 177 | AM_RANGE(0x000000, 0x0fffff) AM_ROM |
| 180 | 178 | |
| r248533 | r248534 | |
| 328 | 326 | INPUT_PORTS_END |
| 329 | 327 | |
| 330 | 328 | static INPUT_PORTS_START( puzzlovek ) |
| 331 | | PORT_INCLUDE(puzzlove) |
| 329 | PORT_INCLUDE(puzzlove) |
| 332 | 330 | |
| 333 | | PORT_MODIFY("DSW") |
| 331 | PORT_MODIFY("DSW") |
| 334 | 332 | /* Korean rev has demo sound */ |
| 335 | | PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1") |
| 336 | | PORT_DIPSETTING( 0x0001, DEF_STR ( Off ) ) |
| 337 | | PORT_DIPSETTING( 0x0000, DEF_STR ( On ) ) |
| 333 | PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:1") |
| 334 | PORT_DIPSETTING( 0x0001, DEF_STR ( Off ) ) |
| 335 | PORT_DIPSETTING( 0x0000, DEF_STR ( On ) ) |
| 338 | 336 | |
| 339 | 337 | /* Korean rev has slightly different difficulty settings */ |
| 340 | | PORT_DIPNAME( 0x0300, 0x0100, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2") |
| 341 | | PORT_DIPSETTING( 0x0300, DEF_STR( Easy ) ) /* Initial start time 35 secs */ |
| 342 | | PORT_DIPSETTING( 0x0200, DEF_STR( Very_Easy ) ) /* Initial start time 40 secs - Other in game effects?? */ |
| 343 | | PORT_DIPSETTING( 0x0100, DEF_STR( Hard ) ) /* Initial start time 30 secs - Other in game effects?? */ |
| 344 | | PORT_DIPSETTING( 0x0000, DEF_STR( Very_Hard ) ) /* Initial start time 30 secs - Other in game effects?? */ |
| 338 | PORT_DIPNAME( 0x0300, 0x0100, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2") |
| 339 | PORT_DIPSETTING( 0x0300, DEF_STR( Easy ) ) /* Initial start time 35 secs */ |
| 340 | PORT_DIPSETTING( 0x0200, DEF_STR( Very_Easy ) ) /* Initial start time 40 secs - Other in game effects?? */ |
| 341 | PORT_DIPSETTING( 0x0100, DEF_STR( Hard ) ) /* Initial start time 30 secs - Other in game effects?? */ |
| 342 | PORT_DIPSETTING( 0x0000, DEF_STR( Very_Hard ) ) /* Initial start time 30 secs - Other in game effects?? */ |
| 345 | 343 | INPUT_PORTS_END |
| 346 | 344 | |
| 347 | 345 | |
| r248533 | r248534 | |
| 391 | 389 | AM_RANGE(0xc00f, 0xc00f) AM_WRITENOP // ?? |
| 392 | 390 | ADDRESS_MAP_END |
| 393 | 391 | |
| 394 | | /* CLOCKS UNKNOWN! */ |
| 395 | 392 | |
| 396 | 393 | static MACHINE_CONFIG_START( silvmil, silvmil_state ) |
| 397 | 394 | |
| 398 | 395 | /* basic machine hardware */ |
| 399 | | MCFG_CPU_ADD("maincpu", M68000, XTAL_12MHz) |
| 396 | MCFG_CPU_ADD("maincpu", M68000, XTAL_12MHz) /* Verified */ |
| 400 | 397 | MCFG_CPU_PROGRAM_MAP(silvmil_map) |
| 401 | 398 | MCFG_CPU_VBLANK_INT_DRIVER("screen", silvmil_state, irq6_line_hold) |
| 402 | 399 | |
| 403 | | MCFG_CPU_ADD("audiocpu", Z80, XTAL_4_096MHz) |
| 400 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_4_096MHz) /* Verified */ |
| 404 | 401 | MCFG_CPU_PROGRAM_MAP(silvmil_sound_map) |
| 405 | 402 | |
| 406 | 403 | |
| r248533 | r248534 | |
| 427 | 424 | |
| 428 | 425 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 429 | 426 | |
| 430 | | MCFG_YM2151_ADD("ymsnd", XTAL_14_31818MHz/4) |
| 427 | MCFG_YM2151_ADD("ymsnd", XTAL_14_31818MHz/4) /* Verified */ |
| 431 | 428 | MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) |
| 432 | 429 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 433 | 430 | |
| 434 | | MCFG_OKIM6295_ADD("oki", XTAL_4_096MHz/4, OKIM6295_PIN7_HIGH) |
| 431 | MCFG_OKIM6295_ADD("oki", XTAL_4_096MHz/4, OKIM6295_PIN7_HIGH) /* Verified */ |
| 435 | 432 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 436 | 433 | MACHINE_CONFIG_END |
| 437 | 434 | |
| 438 | 435 | static MACHINE_CONFIG_DERIVED( puzzlove, silvmil ) |
| 439 | 436 | MCFG_DEVICE_REMOVE("audiocpu") |
| 440 | | MCFG_CPU_ADD("audiocpu", Z80, XTAL_4MHz) |
| 437 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_4MHz) /* Verified */ |
| 441 | 438 | MCFG_CPU_PROGRAM_MAP(silvmil_sound_map) |
| 442 | 439 | |
| 443 | 440 | MCFG_DEVICE_MODIFY("spritegen") |
| 444 | 441 | MCFG_DECO_SPRITE_BOOTLEG_TYPE(1) |
| 445 | 442 | |
| 446 | 443 | MCFG_DEVICE_REMOVE("oki") |
| 447 | | MCFG_OKIM6295_ADD("oki", XTAL_4MHz/4, OKIM6295_PIN7_HIGH) |
| 444 | MCFG_OKIM6295_ADD("oki", XTAL_4MHz/4, OKIM6295_PIN7_HIGH) /* Verified */ |
| 448 | 445 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 449 | 446 | MACHINE_CONFIG_END |
| 450 | 447 | |
| 451 | 448 | static MACHINE_CONFIG_DERIVED( puzzlovek, puzzlove ) |
| 452 | 449 | MCFG_DEVICE_REMOVE("ymsnd") |
| 453 | | MCFG_YM2151_ADD("ymsnd", XTAL_15MHz/4) |
| 450 | MCFG_YM2151_ADD("ymsnd", XTAL_15MHz/4) /* Verified */ |
| 454 | 451 | MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) |
| 455 | 452 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 456 | 453 | MACHINE_CONFIG_END |
| r248533 | r248534 | |
| 538 | 535 | |
| 539 | 536 | ROM_START( puzzlovek ) |
| 540 | 537 | ROM_REGION( 0x100000, "maincpu", 0 ) /* 68k */ |
| 541 | | ROM_LOAD16_BYTE( "3.U3", 0x00000, 0x40000, CRC(28f403f0) SHA1(5f9fc18f705fe81f0dceaf2d62b6caffb0b0462e) ) |
| 542 | | ROM_LOAD16_BYTE( "4.U2", 0x00001, 0x40000, CRC(809371b9) SHA1(6b2dc899a4e2cf4fca777f0ec4a08e636099e0d2) ) |
| 538 | ROM_LOAD16_BYTE( "3.u3", 0x00000, 0x40000, CRC(28f403f0) SHA1(5f9fc18f705fe81f0dceaf2d62b6caffb0b0462e) ) // sldh |
| 539 | ROM_LOAD16_BYTE( "4.u2", 0x00001, 0x40000, CRC(809371b9) SHA1(6b2dc899a4e2cf4fca777f0ec4a08e636099e0d2) ) // sldh |
| 543 | 540 | |
| 544 | 541 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* z80 */ |
| 545 | | ROM_LOAD( "1.UZ02", 0x00000, 0x20000, CRC(3077e7f3) SHA1(e2bf634a2166e1851486a801e74a7ec0d4599c28) ) |
| 542 | ROM_LOAD( "1.uz02", 0x00000, 0x20000, CRC(3077e7f3) SHA1(e2bf634a2166e1851486a801e74a7ec0d4599c28) ) |
| 546 | 543 | |
| 547 | 544 | ROM_REGION( 0x40000, "oki", 0 ) /* samples */ |
| 548 | | ROM_LOAD( "2.UZ11", 0x00000, 0x40000, CRC(4c06ec68) SHA1(3cfca1c98e73c65a45b65d43e012c5529572c057) ) |
| 545 | ROM_LOAD( "2.uz11", 0x00000, 0x40000, CRC(4c06ec68) SHA1(3cfca1c98e73c65a45b65d43e012c5529572c057) ) |
| 549 | 546 | |
| 550 | 547 | ROM_REGION( 0x100000, "gfx1", 0 ) |
| 551 | | ROM_LOAD16_BYTE( "10.U41", 0x000000, 0x20000, CRC(3f952c54) SHA1(1f18579ce98305d20ec0f4e216f8170a62b9c68b) ) |
| 548 | ROM_LOAD16_BYTE( "10.u41", 0x000000, 0x20000, CRC(3f952c54) SHA1(1f18579ce98305d20ec0f4e216f8170a62b9c68b) ) // sldh |
| 552 | 549 | ROM_CONTINUE ( 0x080000,0x20000 ) |
| 553 | 550 | ROM_CONTINUE ( 0x040000,0x20000 ) |
| 554 | 551 | ROM_CONTINUE ( 0x0c0000,0x20000 ) |
| 555 | | ROM_LOAD16_BYTE( "9.U42", 0x000001, 0x20000, CRC(4f71ee93) SHA1(db0d00fa0f6c9b7bc638dcb50f041fb32827c7c4) ) |
| 552 | ROM_LOAD16_BYTE( "9.u42", 0x000001, 0x20000, CRC(4f71ee93) SHA1(db0d00fa0f6c9b7bc638dcb50f041fb32827c7c4) ) // sldh |
| 556 | 553 | ROM_CONTINUE ( 0x080001,0x20000 ) |
| 557 | 554 | ROM_CONTINUE ( 0x040001,0x20000 ) |
| 558 | 555 | ROM_CONTINUE ( 0x0c0001,0x20000 ) |
| 559 | 556 | |
| 560 | 557 | ROM_REGION( 0x200000, "gfx2", 0 ) /* sprites */ |
| 561 | | ROM_LOAD16_BYTE( "5.U53", 0x000000, 0x80000, CRC(c5732995) SHA1(e7faecb19f4bdb103b782e38463d32b357ea63bc) ) |
| 562 | | ROM_LOAD16_BYTE( "6.U54", 0x000001, 0x80000, CRC(a3b98fd1) SHA1(2b2b7c9df19882a0565e38504b73f56ea27d71ab) ) |
| 563 | | ROM_LOAD16_BYTE( "7.U55", 0x100000, 0x80000, CRC(a4c73b48) SHA1(9f26af7b961c96cfd1c45f85f1d6dc4f364e3541) ) |
| 564 | | ROM_LOAD16_BYTE( "8.U56", 0x100001, 0x80000, CRC(95b5f049) SHA1(1104dac1fbf6a894b7d8294b3f44a0edbf363157) ) |
| 558 | ROM_LOAD16_BYTE( "5.u53", 0x000000, 0x80000, CRC(c5732995) SHA1(e7faecb19f4bdb103b782e38463d32b357ea63bc) ) // sldh |
| 559 | ROM_LOAD16_BYTE( "6.u54", 0x000001, 0x80000, CRC(a3b98fd1) SHA1(2b2b7c9df19882a0565e38504b73f56ea27d71ab) ) // sldh |
| 560 | ROM_LOAD16_BYTE( "7.u55", 0x100000, 0x80000, CRC(a4c73b48) SHA1(9f26af7b961c96cfd1c45f85f1d6dc4f364e3541) ) // sldh |
| 561 | ROM_LOAD16_BYTE( "8.u56", 0x100001, 0x80000, CRC(95b5f049) SHA1(1104dac1fbf6a894b7d8294b3f44a0edbf363157) ) // sldh |
| 565 | 562 | ROM_END |
| 566 | 563 | |
| 567 | 564 | void silvmil_state::tumblepb_gfx1_rearrange() |
| r248533 | r248534 | |
| 590 | 587 | tumblepb_gfx1_rearrange(); |
| 591 | 588 | } |
| 592 | 589 | |
| 593 | | GAME( 1995, silvmil, 0, silvmil, silvmil, silvmil_state, silvmil, ROT270, "Para", "Silver Millennium", GAME_SUPPORTS_SAVE ) |
| 594 | | GAME( 1994, puzzlove, 0, puzzlove,puzzlove,silvmil_state, silvmil, ROT0, "Para", "PuzzLove", GAME_SUPPORTS_SAVE ) |
| 595 | | GAME( 1994, puzzlovek, puzzlove, puzzlovek,puzzlovek,silvmil_state, silvmil, ROT0, "Para", "PuzzLove (Korea)", GAME_SUPPORTS_SAVE ) |
| 590 | GAME( 1995, silvmil, 0, silvmil, silvmil, silvmil_state, silvmil, ROT270, "Para", "Silver Millennium", GAME_SUPPORTS_SAVE ) |
| 591 | GAME( 1994, puzzlove, 0, puzzlove, puzzlove, silvmil_state, silvmil, ROT0, "Para", "PuzzLove", GAME_SUPPORTS_SAVE ) |
| 592 | GAME( 1994, puzzlovek, puzzlove, puzzlovek, puzzlovek, silvmil_state, silvmil, ROT0, "Para", "PuzzLove (Korea)", GAME_SUPPORTS_SAVE ) |