trunk/src/mame/drivers/darius.c
r32800 | r32801 | |
529 | 529 | ***********************************************************/ |
530 | 530 | |
531 | 531 | |
532 | | #define TAITO_COINAGE_WORLD_16 \ |
533 | | PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Coin_A ) ) \ |
534 | | PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) ) \ |
535 | | PORT_DIPSETTING( 0x0010, DEF_STR( 3C_1C ) ) \ |
536 | | PORT_DIPSETTING( 0x0020, DEF_STR( 2C_1C ) ) \ |
537 | | PORT_DIPSETTING( 0x0030, DEF_STR( 1C_1C ) ) \ |
538 | | PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Coin_B ) ) \ |
539 | | PORT_DIPSETTING( 0x00c0, DEF_STR( 1C_2C ) ) \ |
540 | | PORT_DIPSETTING( 0x0080, DEF_STR( 1C_3C ) ) \ |
541 | | PORT_DIPSETTING( 0x0040, DEF_STR( 1C_4C ) ) \ |
542 | | PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) ) |
543 | | |
544 | 532 | #define TAITO_COINAGE_JAPAN_16 \ |
545 | | PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Coin_A ) ) \ |
| 533 | PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:5,6") \ |
546 | 534 | PORT_DIPSETTING( 0x0010, DEF_STR( 2C_1C ) ) \ |
547 | 535 | PORT_DIPSETTING( 0x0030, DEF_STR( 1C_1C ) ) \ |
548 | 536 | PORT_DIPSETTING( 0x0000, DEF_STR( 2C_3C ) ) \ |
549 | 537 | PORT_DIPSETTING( 0x0020, DEF_STR( 1C_2C ) ) \ |
550 | | PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Coin_B ) ) \ |
| 538 | PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:7,8") \ |
551 | 539 | PORT_DIPSETTING( 0x0040, DEF_STR( 2C_1C ) ) \ |
552 | 540 | PORT_DIPSETTING( 0x00c0, DEF_STR( 1C_1C ) ) \ |
553 | 541 | PORT_DIPSETTING( 0x0000, DEF_STR( 2C_3C ) ) \ |
554 | 542 | PORT_DIPSETTING( 0x0080, DEF_STR( 1C_2C ) ) |
555 | 543 | |
556 | | #define TAITO_DIFFICULTY_16 \ |
557 | | PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Difficulty ) ) \ |
558 | | PORT_DIPSETTING( 0x0200, DEF_STR( Easy ) ) \ |
559 | | PORT_DIPSETTING( 0x0300, DEF_STR( Medium ) ) \ |
560 | | PORT_DIPSETTING( 0x0100, DEF_STR( Hard ) ) \ |
561 | | PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) ) |
562 | 544 | |
563 | | |
564 | | static INPUT_PORTS_START( darius_common ) |
| 545 | static INPUT_PORTS_START( darius ) |
565 | 546 | PORT_START("P1") |
566 | 547 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_8WAY |
567 | 548 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) PORT_8WAY |
r32800 | r32801 | |
591 | 572 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT ) |
592 | 573 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
593 | 574 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
594 | | INPUT_PORTS_END |
595 | 575 | |
596 | | static INPUT_PORTS_START( darius ) |
597 | | PORT_INCLUDE( darius_common ) |
598 | | |
599 | 576 | PORT_START("DSW") /* DSW */ |
600 | | PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) ) |
| 577 | PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:1") |
601 | 578 | PORT_DIPSETTING( 0x0001, DEF_STR( Off ) ) |
602 | 579 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
603 | | PORT_DIPNAME( 0x0002, 0x0002, "Autofire" ) |
| 580 | PORT_DIPNAME( 0x0002, 0x0002, "Autofire" ) PORT_DIPLOCATION("SW1:2") |
604 | 581 | PORT_DIPSETTING( 0x0002, DEF_STR( Normal ) ) |
605 | 582 | PORT_DIPSETTING( 0x0000, "Fast" ) |
606 | | PORT_SERVICE( 0x0004, IP_ACTIVE_LOW ) |
607 | | PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Demo_Sounds ) ) |
| 583 | PORT_SERVICE_DIPLOC( 0x0004, IP_ACTIVE_LOW, "SW1:3" ) |
| 584 | PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:4") |
608 | 585 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
609 | 586 | PORT_DIPSETTING( 0x0008, DEF_STR( On ) ) |
610 | | TAITO_COINAGE_WORLD_16 |
611 | | TAITO_DIFFICULTY_16 |
612 | | PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Bonus_Life ) ) |
| 587 | PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:5,6") |
| 588 | PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) ) |
| 589 | PORT_DIPSETTING( 0x0010, DEF_STR( 3C_1C ) ) |
| 590 | PORT_DIPSETTING( 0x0020, DEF_STR( 2C_1C ) ) |
| 591 | PORT_DIPSETTING( 0x0030, DEF_STR( 1C_1C ) ) |
| 592 | PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:7,8") |
| 593 | PORT_DIPSETTING( 0x00c0, DEF_STR( 1C_2C ) ) |
| 594 | PORT_DIPSETTING( 0x0080, DEF_STR( 1C_3C ) ) |
| 595 | PORT_DIPSETTING( 0x0040, DEF_STR( 1C_4C ) ) |
| 596 | PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) ) |
| 597 | |
| 598 | PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2") |
| 599 | PORT_DIPSETTING( 0x0200, DEF_STR( Easy ) ) |
| 600 | PORT_DIPSETTING( 0x0300, DEF_STR( Medium ) ) |
| 601 | PORT_DIPSETTING( 0x0100, DEF_STR( Hard ) ) |
| 602 | PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) ) |
| 603 | PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3,4") |
613 | 604 | PORT_DIPSETTING( 0x0800, "every 600k" ) |
614 | 605 | PORT_DIPSETTING( 0x0c00, "600k only" ) |
615 | 606 | PORT_DIPSETTING( 0x0400, "800k only" ) |
616 | 607 | PORT_DIPSETTING( 0x0000, DEF_STR( None ) ) |
617 | | PORT_DIPNAME( 0x3000, 0x3000, DEF_STR( Lives ) ) |
| 608 | PORT_DIPNAME( 0x3000, 0x3000, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:5,6") |
618 | 609 | PORT_DIPSETTING( 0x3000, "3" ) |
619 | 610 | PORT_DIPSETTING( 0x2000, "4" ) |
620 | 611 | PORT_DIPSETTING( 0x1000, "5" ) |
621 | 612 | PORT_DIPSETTING( 0x0000, "6" ) |
622 | | PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) ) |
| 613 | PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:7") |
623 | 614 | PORT_DIPSETTING( 0x4000, DEF_STR( Off ) ) |
624 | 615 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
625 | | PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Allow_Continue ) ) |
| 616 | PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:8") |
626 | 617 | PORT_DIPSETTING( 0x0000, DEF_STR( No ) ) |
627 | 618 | PORT_DIPSETTING( 0x8000, DEF_STR( Yes ) ) |
628 | 619 | INPUT_PORTS_END |
629 | 620 | |
630 | | static INPUT_PORTS_START( dariuse ) |
631 | | PORT_INCLUDE( darius_common ) |
| 621 | static INPUT_PORTS_START( dariusu ) /* The US version uses the Japan coinage settings & Extra Version has continue */ |
| 622 | PORT_INCLUDE( darius ) |
632 | 623 | |
633 | | PORT_START("DSW") /* DSW */ |
634 | | PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) ) |
635 | | PORT_DIPSETTING( 0x0001, DEF_STR( Off ) ) |
636 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
637 | | PORT_DIPNAME( 0x0002, 0x0002, "Autofire" ) |
638 | | PORT_DIPSETTING( 0x0002, DEF_STR( Normal ) ) |
639 | | PORT_DIPSETTING( 0x0000, "Fast" ) |
640 | | PORT_SERVICE( 0x0004, IP_ACTIVE_LOW ) |
641 | | PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Demo_Sounds ) ) |
642 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
643 | | PORT_DIPSETTING( 0x0008, DEF_STR( On ) ) |
| 624 | PORT_MODIFY("DSW") /* DSW */ |
644 | 625 | TAITO_COINAGE_JAPAN_16 |
645 | | TAITO_DIFFICULTY_16 |
646 | | PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Bonus_Life ) ) |
647 | | PORT_DIPSETTING( 0x0800, "every 600k" ) |
648 | | PORT_DIPSETTING( 0x0c00, "600k only" ) |
649 | | PORT_DIPSETTING( 0x0400, "800k only" ) |
650 | | PORT_DIPSETTING( 0x0000, DEF_STR( None ) ) |
651 | | PORT_DIPNAME( 0x3000, 0x3000, DEF_STR( Lives ) ) |
652 | | PORT_DIPSETTING( 0x3000, "3" ) |
653 | | PORT_DIPSETTING( 0x2000, "4" ) |
654 | | PORT_DIPSETTING( 0x1000, "5" ) |
655 | | PORT_DIPSETTING( 0x0000, "6" ) |
656 | | PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) ) |
657 | | PORT_DIPSETTING( 0x4000, DEF_STR( Off ) ) |
658 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
659 | | PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Allow_Continue ) ) |
660 | | PORT_DIPSETTING( 0x0000, DEF_STR( No ) ) |
661 | | PORT_DIPSETTING( 0x8000, DEF_STR( Yes ) ) |
662 | 626 | INPUT_PORTS_END |
663 | 627 | |
664 | 628 | static INPUT_PORTS_START( dariusj ) |
665 | | PORT_INCLUDE( darius_common ) |
| 629 | PORT_INCLUDE( darius ) |
666 | 630 | |
667 | | PORT_START("DSW") /* DSW */ |
668 | | PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) ) |
669 | | PORT_DIPSETTING( 0x0001, DEF_STR( Off ) ) |
670 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
671 | | PORT_DIPNAME( 0x0002, 0x0002, "Autofire" ) |
672 | | PORT_DIPSETTING( 0x0002, DEF_STR( Normal ) ) |
673 | | PORT_DIPSETTING( 0x0000, "Fast" ) |
674 | | PORT_SERVICE( 0x0004, IP_ACTIVE_LOW ) |
675 | | PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Demo_Sounds ) ) |
676 | | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
677 | | PORT_DIPSETTING( 0x0008, DEF_STR( On ) ) |
| 631 | PORT_MODIFY("DSW") /* DSW */ |
678 | 632 | TAITO_COINAGE_JAPAN_16 |
679 | | TAITO_DIFFICULTY_16 |
680 | | PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Bonus_Life ) ) |
681 | | PORT_DIPSETTING( 0x0800, "every 600k" ) |
682 | | PORT_DIPSETTING( 0x0c00, "600k only" ) |
683 | | PORT_DIPSETTING( 0x0400, "800k only" ) |
684 | | PORT_DIPSETTING( 0x0000, DEF_STR( None ) ) |
685 | | PORT_DIPNAME( 0x3000, 0x3000, DEF_STR( Lives ) ) |
686 | | PORT_DIPSETTING( 0x3000, "3" ) |
687 | | PORT_DIPSETTING( 0x2000, "4" ) |
688 | | PORT_DIPSETTING( 0x1000, "5" ) |
689 | | PORT_DIPSETTING( 0x0000, "6" ) |
690 | | PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) ) |
691 | | PORT_DIPSETTING( 0x4000, DEF_STR( Off ) ) |
692 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
693 | | PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) ) |
| 633 | PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:8") /* No Continue for this version */ |
694 | 634 | PORT_DIPSETTING( 0x8000, DEF_STR( Off ) ) |
695 | 635 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
696 | 636 | INPUT_PORTS_END |
r32800 | r32801 | |
1227 | 1167 | ROM_END |
1228 | 1168 | |
1229 | 1169 | |
1230 | | GAME( 1986, darius, 0, darius, darius, driver_device, 0, ROT0, "Taito Corporation Japan", "Darius (World)", GAME_SUPPORTS_SAVE ) |
1231 | | GAME( 1986, dariusu, darius, darius, darius, driver_device, 0, ROT0, "Taito America Corporation", "Darius (US)", GAME_SUPPORTS_SAVE ) |
1232 | | GAME( 1986, dariusj, darius, darius, dariusj, driver_device, 0, ROT0, "Taito Corporation", "Darius (Japan)", GAME_SUPPORTS_SAVE ) |
1233 | | GAME( 1986, dariuso, darius, darius, dariusj, driver_device, 0, ROT0, "Taito Corporation", "Darius (Japan old version)", GAME_SUPPORTS_SAVE ) |
1234 | | GAME( 1986, dariuse, darius, darius, dariuse, driver_device, 0, ROT0, "Taito Corporation", "Darius (Extra) (Japan)", GAME_SUPPORTS_SAVE ) |
| 1170 | GAME( 1986, darius, 0, darius, darius, driver_device, 0, ROT0, "Taito Corporation Japan", "Darius (World, rev 2)", GAME_SUPPORTS_SAVE ) |
| 1171 | GAME( 1986, dariusu, darius, darius, dariusu, driver_device, 0, ROT0, "Taito America Corporation", "Darius (US, rev 2)", GAME_SUPPORTS_SAVE ) |
| 1172 | GAME( 1986, dariusj, darius, darius, dariusj, driver_device, 0, ROT0, "Taito Corporation", "Darius (Japan, rev 1)", GAME_SUPPORTS_SAVE ) |
| 1173 | GAME( 1986, dariuso, darius, darius, dariusj, driver_device, 0, ROT0, "Taito Corporation", "Darius (Japan)", GAME_SUPPORTS_SAVE ) |
| 1174 | GAME( 1986, dariuse, darius, darius, dariusu, driver_device, 0, ROT0, "Taito Corporation", "Darius Extra Version (Japan)", GAME_SUPPORTS_SAVE ) |