trunk/src/mame/drivers/kurukuru.cpp
r253043 | r253044 | |
363 | 363 | AM_RANGE(0xd0, 0xd0) AM_MIRROR(0x0f) AM_DEVWRITE("ym2149", ay8910_device, data_w) |
364 | 364 | ADDRESS_MAP_END |
365 | 365 | |
| 366 | static ADDRESS_MAP_START( ppj_map, AS_PROGRAM, 8, kurukuru_state ) |
| 367 | AM_RANGE(0x0000, 0x5fff) AM_ROM |
| 368 | AM_RANGE(0x6000, 0xdfff) AM_ROMBANK("bank1") |
| 369 | AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("nvram") |
| 370 | ADDRESS_MAP_END |
366 | 371 | |
| 372 | static ADDRESS_MAP_START( ppj_io, AS_IO, 8, kurukuru_state ) |
| 373 | ADDRESS_MAP_GLOBAL_MASK(0xff) |
| 374 | ADDRESS_MAP_END |
| 375 | |
| 376 | |
367 | 377 | // Audio CPU |
368 | 378 | |
369 | 379 | WRITE8_MEMBER(kurukuru_state::kurukuru_adpcm_data_w) |
r253043 | r253044 | |
401 | 411 | } |
402 | 412 | |
403 | 413 | |
404 | | static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, kurukuru_state ) |
| 414 | static ADDRESS_MAP_START( kurukuru_audio_map, AS_PROGRAM, 8, kurukuru_state ) |
405 | 415 | AM_RANGE(0x0000, 0xf7ff) AM_ROM |
406 | 416 | AM_RANGE(0xf800, 0xffff) AM_RAM |
407 | 417 | ADDRESS_MAP_END |
408 | 418 | |
409 | | static ADDRESS_MAP_START( audio_io, AS_IO, 8, kurukuru_state ) |
| 419 | static ADDRESS_MAP_START( kurukuru_audio_io, AS_IO, 8, kurukuru_state ) |
410 | 420 | ADDRESS_MAP_GLOBAL_MASK(0x7f) |
411 | 421 | AM_RANGE(0x40, 0x40) AM_MIRROR(0x0f) AM_WRITE(kurukuru_adpcm_data_w) |
412 | 422 | AM_RANGE(0x50, 0x50) AM_MIRROR(0x0f) AM_WRITE(kurukuru_adpcm_reset_w) |
r253043 | r253044 | |
414 | 424 | AM_RANGE(0x70, 0x70) AM_MIRROR(0x0f) AM_READ(kurukuru_adpcm_timer_irqack_r) |
415 | 425 | ADDRESS_MAP_END |
416 | 426 | |
| 427 | static ADDRESS_MAP_START( ppj_audio_map, AS_PROGRAM, 8, kurukuru_state ) |
| 428 | AM_RANGE(0x0000, 0xf7ff) AM_ROM |
| 429 | AM_RANGE(0xf800, 0xffff) AM_RAM |
| 430 | ADDRESS_MAP_END |
417 | 431 | |
| 432 | static ADDRESS_MAP_START( ppj_audio_io, AS_IO, 8, kurukuru_state ) |
| 433 | ADDRESS_MAP_GLOBAL_MASK(0x7f) |
| 434 | ADDRESS_MAP_END |
| 435 | |
| 436 | |
418 | 437 | /* YM2149 ports */ |
419 | 438 | WRITE8_MEMBER(kurukuru_state::ym2149_aout_w) |
420 | 439 | { |
r253043 | r253044 | |
537 | 556 | MCFG_CPU_IO_MAP(kurukuru_io) |
538 | 557 | |
539 | 558 | MCFG_CPU_ADD("audiocpu", Z80, CPU_CLOCK) |
540 | | MCFG_CPU_PROGRAM_MAP(audio_map) |
541 | | MCFG_CPU_IO_MAP(audio_io) |
| 559 | MCFG_CPU_PROGRAM_MAP(kurukuru_audio_map) |
| 560 | MCFG_CPU_IO_MAP(kurukuru_audio_io) |
542 | 561 | |
543 | 562 | MCFG_NVRAM_ADD_0FILL("nvram") |
544 | 563 | |
r253043 | r253044 | |
564 | 583 | MACHINE_CONFIG_END |
565 | 584 | |
566 | 585 | |
| 586 | static MACHINE_CONFIG_START( ppj, kurukuru_state ) |
| 587 | |
| 588 | /* basic machine hardware */ |
| 589 | MCFG_CPU_ADD("maincpu",Z80, CPU_CLOCK) |
| 590 | MCFG_CPU_PROGRAM_MAP(ppj_map) |
| 591 | MCFG_CPU_IO_MAP(ppj_io) |
| 592 | |
| 593 | MCFG_CPU_ADD("audiocpu", Z80, CPU_CLOCK) |
| 594 | MCFG_CPU_PROGRAM_MAP(ppj_audio_map) |
| 595 | MCFG_CPU_IO_MAP(ppj_audio_io) |
| 596 | |
| 597 | MCFG_NVRAM_ADD_0FILL("nvram") |
| 598 | |
| 599 | /* video hardware */ |
| 600 | MCFG_V9938_ADD("v9938", "screen", VDP_MEM, MAIN_CLOCK) |
| 601 | MCFG_V99X8_INTERRUPT_CALLBACK(WRITELINE(kurukuru_state,kurukuru_vdp_interrupt)) |
| 602 | MCFG_V99X8_SCREEN_ADD_NTSC("screen", "v9938", MAIN_CLOCK) |
| 603 | |
| 604 | MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(HOPPER_PULSE), TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_LOW ) |
| 605 | |
| 606 | /* sound hardware */ |
| 607 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 608 | MCFG_SOUND_ADD("ym2149", YM2149, YM2149_CLOCK) |
| 609 | MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW2")) |
| 610 | MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(kurukuru_state, ym2149_aout_w)) |
| 611 | MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(kurukuru_state, ym2149_bout_w)) |
| 612 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) |
| 613 | |
| 614 | MCFG_SOUND_ADD("adpcm", MSM5205, M5205_CLOCK) |
| 615 | MCFG_MSM5205_VCLK_CB(WRITELINE(kurukuru_state, kurukuru_msm5205_vck)) |
| 616 | MCFG_MSM5205_PRESCALER_SELECTOR(MSM5205_S48_4B) /* changed on the fly */ |
| 617 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) |
| 618 | MACHINE_CONFIG_END |
| 619 | |
| 620 | |
567 | 621 | /*************************************************************************** |
568 | 622 | |
569 | 623 | Game driver(s) |
r253043 | r253044 | |
613 | 667 | |
614 | 668 | /* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS */ |
615 | 669 | GAME( 199?, kurukuru, 0, kurukuru, kurukuru, driver_device, 0, ROT0, "Success / Taiyo Jidoki", "Kuru Kuru Pyon Pyon (Japan)", 0 ) |
616 | | GAME( 199?, ppj, 0, kurukuru, kurukuru, driver_device, 0, ROT0, "Success / Taiyo Jidoki", "Pyon Pyon Jump (Japan)", MACHINE_NOT_WORKING ) |
| 670 | GAME( 199?, ppj, 0, ppj, kurukuru, driver_device, 0, ROT0, "Success / Taiyo Jidoki", "Pyon Pyon Jump (Japan)", MACHINE_NOT_WORKING ) |