trunk/src/mame/drivers/shangha3.c
| r29395 | r29396 | |
| 40 | 40 | #include "includes/shangha3.h" |
| 41 | 41 | |
| 42 | 42 | |
| 43 | | #define MASTER_CLOCK XTAL_48MHz |
| 44 | | |
| 45 | 43 | /* this looks like a simple protection check */ |
| 46 | 44 | /* |
| 47 | 45 | write read |
| r29395 | r29396 | |
| 473 | 471 | static MACHINE_CONFIG_START( shangha3, shangha3_state ) |
| 474 | 472 | |
| 475 | 473 | /* basic machine hardware */ |
| 476 | | MCFG_CPU_ADD("maincpu", M68000, MASTER_CLOCK/3) // TMP68HC000N-16 |
| 474 | MCFG_CPU_ADD("maincpu", M68000, XTAL_48MHz/3) // TMP68HC000N-16 |
| 477 | 475 | MCFG_CPU_PROGRAM_MAP(shangha3_map) |
| 478 | 476 | MCFG_CPU_VBLANK_INT_DRIVER("screen", shangha3_state, irq4_line_assert) |
| 479 | 477 | |
| r29395 | r29396 | |
| 483 | 481 | // MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) |
| 484 | 482 | // MCFG_SCREEN_SIZE(24*16, 16*16) |
| 485 | 483 | // MCFG_SCREEN_VISIBLE_AREA(0*16, 24*16-1, 1*16, 15*16-1) |
| 486 | | MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/6,512,0,24*16,263,1*16,15*16) /* refresh rate is unknown */ |
| 484 | MCFG_SCREEN_RAW_PARAMS(XTAL_48MHz/6,512,0,24*16,263,1*16,15*16) /* refresh rate is unknown */ |
| 487 | 485 | |
| 488 | 486 | MCFG_SCREEN_UPDATE_DRIVER(shangha3_state, screen_update_shangha3) |
| 489 | 487 | MCFG_SCREEN_PALETTE("palette") |
| r29395 | r29396 | |
| 497 | 495 | /* sound hardware */ |
| 498 | 496 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 499 | 497 | |
| 500 | | MCFG_SOUND_ADD("aysnd", AY8910, 1500000) |
| 498 | MCFG_SOUND_ADD("aysnd", AY8910, XTAL_48MHz/32) // 1.5MHz |
| 501 | 499 | MCFG_SOUND_CONFIG(ay8910_config) |
| 502 | 500 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) |
| 503 | 501 | |
| r29395 | r29396 | |
| 509 | 507 | static MACHINE_CONFIG_START( heberpop, shangha3_state ) |
| 510 | 508 | |
| 511 | 509 | /* basic machine hardware */ |
| 512 | | MCFG_CPU_ADD("maincpu", M68000, MASTER_CLOCK/3) // TMP68HC000N-16 like the others?? |
| 510 | MCFG_CPU_ADD("maincpu", M68000, XTAL_48MHz/3) // TMP68HC000N-16 like the others?? |
| 513 | 511 | MCFG_CPU_PROGRAM_MAP(heberpop_map) |
| 514 | 512 | MCFG_CPU_VBLANK_INT_DRIVER("screen", shangha3_state, irq4_line_assert) |
| 515 | 513 | |
| 516 | | MCFG_CPU_ADD("audiocpu", Z80, MASTER_CLOCK/8) /* 6 MHz ??? */ |
| 514 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_48MHz/8) /* 6 MHz ??? */ |
| 517 | 515 | MCFG_CPU_PROGRAM_MAP(heberpop_sound_map) |
| 518 | 516 | MCFG_CPU_IO_MAP(heberpop_sound_io_map) /* NMI triggered by YM3438 */ |
| 519 | 517 | |
| r29395 | r29396 | |
| 523 | 521 | // MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) |
| 524 | 522 | // MCFG_SCREEN_SIZE(24*16, 16*16) |
| 525 | 523 | // MCFG_SCREEN_VISIBLE_AREA(0*16, 24*16-1, 1*16, 15*16-1) |
| 526 | | MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/6,512,0,24*16,263,1*16,15*16) /* refresh rate is unknown */ |
| 524 | MCFG_SCREEN_RAW_PARAMS(XTAL_48MHz/6,512,0,24*16,263,1*16,15*16) /* refresh rate is unknown */ |
| 527 | 525 | |
| 528 | 526 | MCFG_SCREEN_UPDATE_DRIVER(shangha3_state, screen_update_shangha3) |
| 529 | 527 | MCFG_SCREEN_PALETTE("palette") |
| r29395 | r29396 | |
| 537 | 535 | /* sound hardware */ |
| 538 | 536 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 539 | 537 | |
| 540 | | MCFG_SOUND_ADD("ymsnd", YM3438, MASTER_CLOCK/6) /* 8 MHz? */ |
| 538 | MCFG_SOUND_ADD("ymsnd", YM3438, XTAL_48MHz/6) /* 8 MHz? */ |
| 541 | 539 | MCFG_YM2612_IRQ_HANDLER(WRITELINE(shangha3_state,irqhandler)) |
| 542 | 540 | MCFG_SOUND_ROUTE(0, "mono", 0.40) |
| 543 | 541 | MCFG_SOUND_ROUTE(1, "mono", 0.40) |
| r29395 | r29396 | |
| 550 | 548 | static MACHINE_CONFIG_START( blocken, shangha3_state ) |
| 551 | 549 | |
| 552 | 550 | /* basic machine hardware */ |
| 553 | | MCFG_CPU_ADD("maincpu", M68000, MASTER_CLOCK/3) // TMP68HC000N-16 |
| 551 | MCFG_CPU_ADD("maincpu", M68000, XTAL_48MHz/3) // TMP68HC000N-16 |
| 554 | 552 | MCFG_CPU_PROGRAM_MAP(blocken_map) |
| 555 | 553 | MCFG_CPU_VBLANK_INT_DRIVER("screen", shangha3_state, irq4_line_assert) |
| 556 | 554 | |
| 557 | | MCFG_CPU_ADD("audiocpu", Z80, MASTER_CLOCK/8) /* 6 MHz? */ |
| 555 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_48MHz/8) /* 6 MHz? */ |
| 558 | 556 | MCFG_CPU_PROGRAM_MAP(heberpop_sound_map) |
| 559 | 557 | MCFG_CPU_IO_MAP(heberpop_sound_io_map) /* NMI triggered by YM3438 */ |
| 560 | 558 | |
| r29395 | r29396 | |
| 564 | 562 | // MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) |
| 565 | 563 | // MCFG_SCREEN_SIZE(24*16, 16*16) |
| 566 | 564 | // MCFG_SCREEN_VISIBLE_AREA(0*16, 24*16-1, 1*16, 15*16-1) |
| 567 | | MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/6,512,0,24*16,263,1*16,15*16) /* refresh rate is unknown */ |
| 565 | MCFG_SCREEN_RAW_PARAMS(XTAL_48MHz/6,512,0,24*16,263,1*16,15*16) /* refresh rate is unknown */ |
| 568 | 566 | |
| 569 | 567 | MCFG_SCREEN_UPDATE_DRIVER(shangha3_state, screen_update_shangha3) |
| 570 | 568 | MCFG_SCREEN_PALETTE("palette") |
| r29395 | r29396 | |
| 578 | 576 | /* sound hardware */ |
| 579 | 577 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 580 | 578 | |
| 581 | | MCFG_SOUND_ADD("ymsnd", YM3438, MASTER_CLOCK/6) /* 8 MHz? */ |
| 579 | MCFG_SOUND_ADD("ymsnd", YM3438, XTAL_48MHz/6) /* 8 MHz? */ |
| 582 | 580 | MCFG_YM2612_IRQ_HANDLER(WRITELINE(shangha3_state,irqhandler)) |
| 583 | 581 | MCFG_SOUND_ROUTE(0, "mono", 0.40) |
| 584 | 582 | MCFG_SOUND_ROUTE(1, "mono", 0.40) |