trunk/src/mess/drivers/megadriv.c
| r20809 | r20810 | |
| 503 | 503 | |
| 504 | 504 | |
| 505 | 505 | static MACHINE_CONFIG_START( genesis_32x, md_cons_state ) |
| 506 | | //MACHINE_CONFIG_DERIVED( genesis_32x, megadriv ) |
| 507 | 506 | MCFG_FRAGMENT_ADD( md_ntsc ) |
| 507 | MCFG_NVRAM_HANDLER_CLEAR() |
| 508 | 508 | |
| 509 | 509 | MCFG_DEVICE_ADD("sega32x", SEGA_32X_NTSC, 0) |
| 510 | 510 | |
| r20809 | r20810 | |
| 523 | 523 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", (0.25)/2) |
| 524 | 524 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", (0.25)/2) |
| 525 | 525 | |
| 526 | MCFG_CARTSLOT_ADD("cart") |
| 527 | MCFG_CARTSLOT_EXTENSION_LIST("32x,bin") |
| 528 | MCFG_CARTSLOT_MANDATORY |
| 529 | MCFG_CARTSLOT_INTERFACE("_32x_cart") |
| 530 | MCFG_CARTSLOT_LOAD(md_base_state, _32x_cart) |
| 531 | |
| 532 | MCFG_SOFTWARE_LIST_ADD("cart_list","32x") |
| 533 | MCFG_SOFTWARE_LIST_FILTER("cart_list","NTSC-U") |
| 526 | 534 | MACHINE_CONFIG_END |
| 527 | 535 | |
| 528 | 536 | |
| 529 | | static MACHINE_CONFIG_START( genesis_32x_pal, md_cons_state ) |
| 530 | | //MACHINE_CONFIG_DERIVED( genesis_32x_pal, megadpal ) |
| 531 | | MCFG_FRAGMENT_ADD( md_pal ) |
| 537 | static MACHINE_CONFIG_START( mdj_32x, md_cons_state ) |
| 538 | MCFG_FRAGMENT_ADD( md_ntsc ) |
| 539 | MCFG_NVRAM_HANDLER_CLEAR() |
| 532 | 540 | |
| 533 | | MCFG_DEVICE_ADD("sega32x", SEGA_32X_PAL, 0) |
| 541 | MCFG_DEVICE_ADD("sega32x", SEGA_32X_NTSC, 0) |
| 534 | 542 | |
| 535 | 543 | // we need to remove and re-add the sound system because the balance is different |
| 536 | 544 | // due to MAME / MESS having severe issues if the dac output is > 0.40? (sound is corrupted even if DAC is slient?!) |
| r20809 | r20810 | |
| 547 | 555 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", (0.25)/2) |
| 548 | 556 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", (0.25)/2) |
| 549 | 557 | |
| 550 | | MACHINE_CONFIG_END |
| 551 | | |
| 552 | | |
| 553 | | MACHINE_CONFIG_FRAGMENT( _32x_cartslot ) |
| 554 | 558 | MCFG_CARTSLOT_ADD("cart") |
| 555 | 559 | MCFG_CARTSLOT_EXTENSION_LIST("32x,bin") |
| 556 | 560 | MCFG_CARTSLOT_MANDATORY |
| 557 | 561 | MCFG_CARTSLOT_INTERFACE("_32x_cart") |
| 558 | 562 | MCFG_CARTSLOT_LOAD(md_base_state, _32x_cart) |
| 563 | |
| 559 | 564 | MCFG_SOFTWARE_LIST_ADD("cart_list","32x") |
| 565 | MCFG_SOFTWARE_LIST_FILTER("cart_list","NTSC-J") |
| 560 | 566 | MACHINE_CONFIG_END |
| 561 | 567 | |
| 562 | | static MACHINE_CONFIG_DERIVED( ms_32x, genesis_32x ) |
| 563 | | MCFG_FRAGMENT_ADD( _32x_cartslot ) |
| 564 | | MCFG_DEVICE_MODIFY("cart_list") |
| 565 | | MCFG_SOFTWARE_LIST_FILTER("cart_list","NTSC-U") |
| 566 | 568 | |
| 569 | static MACHINE_CONFIG_START( md_32x, md_cons_state ) |
| 570 | MCFG_FRAGMENT_ADD( md_pal ) |
| 567 | 571 | MCFG_NVRAM_HANDLER_CLEAR() |
| 568 | | MACHINE_CONFIG_END |
| 569 | 572 | |
| 570 | | static MACHINE_CONFIG_DERIVED( ms_32x_jpn, genesis_32x ) |
| 571 | | MCFG_FRAGMENT_ADD( _32x_cartslot ) |
| 572 | | MCFG_DEVICE_MODIFY("cart_list") |
| 573 | | MCFG_SOFTWARE_LIST_FILTER("cart_list","NTSC-J") |
| 573 | MCFG_DEVICE_ADD("sega32x", SEGA_32X_PAL, 0) |
| 574 | 574 | |
| 575 | | MCFG_NVRAM_HANDLER_CLEAR() |
| 576 | | MACHINE_CONFIG_END |
| 575 | // we need to remove and re-add the sound system because the balance is different |
| 576 | // due to MAME / MESS having severe issues if the dac output is > 0.40? (sound is corrupted even if DAC is slient?!) |
| 577 | MCFG_DEVICE_REMOVE("ymsnd") |
| 578 | MCFG_DEVICE_REMOVE("snsnd") |
| 577 | 579 | |
| 578 | | static MACHINE_CONFIG_DERIVED( ms_32x_pal, genesis_32x_pal ) |
| 579 | | MCFG_FRAGMENT_ADD( _32x_cartslot ) |
| 580 | | MCFG_DEVICE_MODIFY("cart_list") |
| 580 | MCFG_SOUND_ADD("ymsnd", YM2612, MASTER_CLOCK_NTSC/7) |
| 581 | MCFG_SOUND_ROUTE(0, "lspeaker", (0.50)/2) |
| 582 | MCFG_SOUND_ROUTE(1, "rspeaker", (0.50)/2) |
| 583 | |
| 584 | /* sound hardware */ |
| 585 | MCFG_SOUND_ADD("snsnd", SEGAPSG, MASTER_CLOCK_NTSC/15) |
| 586 | MCFG_SOUND_CONFIG(psg_intf) |
| 587 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", (0.25)/2) |
| 588 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", (0.25)/2) |
| 589 | |
| 590 | MCFG_CARTSLOT_ADD("cart") |
| 591 | MCFG_CARTSLOT_EXTENSION_LIST("32x,bin") |
| 592 | MCFG_CARTSLOT_MANDATORY |
| 593 | MCFG_CARTSLOT_INTERFACE("_32x_cart") |
| 594 | MCFG_CARTSLOT_LOAD(md_base_state, _32x_cart) |
| 595 | |
| 596 | MCFG_SOFTWARE_LIST_ADD("cart_list","32x") |
| 581 | 597 | MCFG_SOFTWARE_LIST_FILTER("cart_list","PAL") |
| 582 | | |
| 583 | | MCFG_NVRAM_HANDLER_CLEAR() |
| 584 | 598 | MACHINE_CONFIG_END |
| 585 | 599 | |
| 600 | |
| 601 | |
| 586 | 602 | #define _32X_ROMS \ |
| 587 | 603 | ROM_REGION16_BE( 0x400000, "gamecart", ROMREGION_ERASE00 ) /* 68000 Code */ \ |
| 588 | 604 | ROM_REGION32_BE( 0x400000, "gamecart_sh2", ROMREGION_ERASE00 ) /* Copy for the SH2 */ \ |
| r20809 | r20810 | |
| 622 | 638 | }; |
| 623 | 639 | |
| 624 | 640 | static MACHINE_CONFIG_START( genesis_scd, md_cons_state ) |
| 625 | | //MACHINE_CONFIG_DERIVED( genesis_scd, megadriv ) |
| 626 | 641 | MCFG_FRAGMENT_ADD( md_ntsc ) |
| 627 | 642 | MCFG_DEVICE_ADD("segacd", SEGA_SEGACD_US, 0) |
| 628 | 643 | MCFG_CDROM_ADD( "cdrom",scd_cdrom ) |
| r20809 | r20810 | |
| 630 | 645 | MCFG_SOFTWARE_LIST_ADD("cd_list","segacd") |
| 631 | 646 | MACHINE_CONFIG_END |
| 632 | 647 | |
| 633 | | static MACHINE_CONFIG_START( mega_scd, md_cons_state ) |
| 634 | | //MACHINE_CONFIG_DERIVED( genesis_scd, megadriv ) |
| 648 | static MACHINE_CONFIG_START( md_scd, md_cons_state ) |
| 635 | 649 | MCFG_FRAGMENT_ADD( md_pal ) |
| 636 | 650 | MCFG_DEVICE_ADD("segacd", SEGA_SEGACD_EUROPE, 0) |
| 637 | 651 | |
| r20809 | r20810 | |
| 640 | 654 | MCFG_SOFTWARE_LIST_ADD("cd_list","megacd") |
| 641 | 655 | MACHINE_CONFIG_END |
| 642 | 656 | |
| 643 | | static MACHINE_CONFIG_START( megaj_scd, md_cons_state ) |
| 644 | | //MACHINE_CONFIG_DERIVED( genesis_scd, megadriv ) |
| 657 | static MACHINE_CONFIG_START( mdj_scd, md_cons_state ) |
| 645 | 658 | MCFG_FRAGMENT_ADD( md_ntsc ) |
| 646 | 659 | MCFG_DEVICE_ADD("segacd", SEGA_SEGACD_JAPAN, 0) |
| 647 | 660 | MCFG_CDROM_ADD( "cdrom",scd_cdrom ) |
| r20809 | r20810 | |
| 1108 | 1121 | CONS( 1988, mdsvpj, genesis, 0, megdsvp, md, md_cons_state, md_jpn, "Sega", "Mega Drive (Japan, NTSC, for SVP cart)", 0) |
| 1109 | 1122 | |
| 1110 | 1123 | // the 32X plugged in the cart slot, games plugged into the 32x. Maybe it should be handled as an expansion device? |
| 1111 | | CONS( 1994, 32x, 0, 0, ms_32x, md, md_cons_state, genesis, "Sega", "Genesis with 32X (USA, NTSC)", GAME_NOT_WORKING ) |
| 1112 | | CONS( 1994, 32xe, 32x, 0, ms_32x_pal, md, md_cons_state, md_eur, "Sega", "Mega Drive with 32X (Europe, PAL)", GAME_NOT_WORKING ) |
| 1113 | | CONS( 1994, 32xj, 32x, 0, ms_32x_jpn, md, md_cons_state, md_jpn, "Sega", "Mega Drive with 32X (Japan, NTSC)", GAME_NOT_WORKING ) |
| 1124 | CONS( 1994, 32x, 0, 0, genesis_32x, md, md_cons_state, genesis, "Sega", "Genesis with 32X (USA, NTSC)", GAME_NOT_WORKING ) |
| 1125 | CONS( 1994, 32xe, 32x, 0, md_32x, md, md_cons_state, md_eur, "Sega", "Mega Drive with 32X (Europe, PAL)", GAME_NOT_WORKING ) |
| 1126 | CONS( 1994, 32xj, 32x, 0, mdj_32x, md, md_cons_state, md_jpn, "Sega", "Mega Drive with 32X (Japan, NTSC)", GAME_NOT_WORKING ) |
| 1114 | 1127 | |
| 1115 | 1128 | // the SegaCD plugged into the expansion port.. |
| 1116 | 1129 | CONS( 1992, segacd, 0, 0, genesis_scd, md, md_cons_state, genesis, "Sega", "Sega CD (USA, NTSC)", GAME_NOT_WORKING ) |
| 1117 | | CONS( 1993, megacd, segacd, 0, mega_scd, md, md_cons_state, md_eur, "Sega", "Mega-CD (Europe, PAL)", GAME_NOT_WORKING ) |
| 1118 | | CONS( 1991, megacdj, segacd, 0, megaj_scd, md, md_cons_state, md_jpn, "Sega", "Mega-CD (Japan, NTSC)", GAME_NOT_WORKING ) // this bios doesn't work with our ram interleave needed by a few games?! |
| 1119 | | CONS( 1991, megacda, segacd, 0, megaj_scd, md, md_cons_state, md_eur, "Sega", "Mega-CD (Asia, PAL)", GAME_NOT_WORKING ) |
| 1130 | CONS( 1993, megacd, segacd, 0, md_scd, md, md_cons_state, md_eur, "Sega", "Mega-CD (Europe, PAL)", GAME_NOT_WORKING ) |
| 1131 | CONS( 1991, megacdj, segacd, 0, mdj_scd, md, md_cons_state, md_jpn, "Sega", "Mega-CD (Japan, NTSC)", GAME_NOT_WORKING ) // this bios doesn't work with our ram interleave needed by a few games?! |
| 1132 | CONS( 1991, megacda, segacd, 0, mdj_scd, md, md_cons_state, md_eur, "Sega", "Mega-CD (Asia, PAL)", GAME_NOT_WORKING ) |
| 1120 | 1133 | CONS( 1993, segacd2, 0, 0, genesis_scd, md, md_cons_state, genesis, "Sega", "Sega CD 2 (USA, NTSC)", GAME_NOT_WORKING ) |
| 1121 | | CONS( 1993, megacd2, segacd2, 0, mega_scd, md, md_cons_state, md_eur, "Sega", "Mega-CD 2 (Europe, PAL)", GAME_NOT_WORKING ) |
| 1122 | | CONS( 1993, megacd2j, segacd2, 0, megaj_scd, md, md_cons_state, md_jpn, "Sega", "Mega-CD 2 (Japan, NTSC)", GAME_NOT_WORKING ) |
| 1134 | CONS( 1993, megacd2, segacd2, 0, md_scd, md, md_cons_state, md_eur, "Sega", "Mega-CD 2 (Europe, PAL)", GAME_NOT_WORKING ) |
| 1135 | CONS( 1993, megacd2j, segacd2, 0, mdj_scd, md, md_cons_state, md_jpn, "Sega", "Mega-CD 2 (Japan, NTSC)", GAME_NOT_WORKING ) |
| 1123 | 1136 | CONS( 1993, laseract, 0, 0, genesis_scd, md, md_cons_state, genesis, "Pioneer","LaserActive (USA, NTSC)", GAME_NOT_WORKING ) |
| 1124 | | CONS( 1993, laseractj, laseract, 0, megaj_scd, md, md_cons_state, md_jpn, "Pioneer","LaserActive (Japan, NTSC)", GAME_NOT_WORKING ) |
| 1137 | CONS( 1993, laseractj, laseract, 0, mdj_scd, md, md_cons_state, md_jpn, "Pioneer","LaserActive (Japan, NTSC)", GAME_NOT_WORKING ) |
| 1125 | 1138 | CONS( 1993, xeye, 0, 0, genesis_scd, md, md_cons_state, genesis, "JVC", "X'eye (USA, NTSC)", GAME_NOT_WORKING ) |
| 1126 | | CONS( 1992, wmega, xeye, 0, megaj_scd, md, md_cons_state, md_jpn, "Sega", "Wondermega (Japan, NTSC)", GAME_NOT_WORKING ) |
| 1127 | | CONS( 1993, wmegam2, xeye, 0, megaj_scd, md, md_cons_state, md_jpn, "Victor", "Wondermega M2 (Japan, NTSC)", GAME_NOT_WORKING ) |
| 1139 | CONS( 1992, wmega, xeye, 0, mdj_scd, md, md_cons_state, md_jpn, "Sega", "Wondermega (Japan, NTSC)", GAME_NOT_WORKING ) |
| 1140 | CONS( 1993, wmegam2, xeye, 0, mdj_scd, md, md_cons_state, md_jpn, "Victor", "Wondermega M2 (Japan, NTSC)", GAME_NOT_WORKING ) |
| 1128 | 1141 | CONS( 1994, cdx, 0, 0, genesis_scd, md, md_cons_state, genesis, "Sega", "CDX (USA, NTSC)", GAME_NOT_WORKING ) |
| 1129 | | CONS( 1994, multmega, cdx, 0, mega_scd, md, md_cons_state, md_eur, "Sega", "Multi-Mega (Europe, PAL)", GAME_NOT_WORKING ) |
| 1142 | CONS( 1994, multmega, cdx, 0, md_scd, md, md_cons_state, md_eur, "Sega", "Multi-Mega (Europe, PAL)", GAME_NOT_WORKING ) |
| 1130 | 1143 | CONS( 1994, 32x_scd, 0, 0, genesis_32x_scd, md, md_cons_state, genesis, "Sega", "Sega CD (USA, NTSC, w/32X)", GAME_NOT_WORKING ) |
| 1131 | 1144 | |
| 1132 | 1145 | // this is a standalone system based on the md-like hardware (same vdp etc.) |