trunk/src/mame/drivers/r2dx_v33.c
| r32362 | r32363 | |
| 2 | 2 | |
| 3 | 3 | Raiden 2 / DX V33 Version |
| 4 | 4 | |
| 5 | | Temporary split from raiden2.c, it'll be re-merged at some point. |
| 6 | | |
| 7 | | 0x430-0x433 |
| 8 | | 1) appears to control where the first enemies turns, if clockwise or anticlockwise |
| 9 | | 2) ... |
| 10 | | |
| 11 | 5 | Raiden 2 / DX checks if there's the string "RAIDEN" at start-up inside the eeprom, otherwise it dies. |
| 12 | 6 | Then it puts settings at 0x9e08 and 0x9e0a (bp 91acb) |
| 13 | 7 | |
| 14 | | |
| 15 | 8 | the 333 ROM is a 0x10000 byte table (bytes values?) |
| 16 | 9 | followed by a 0x400 bytes (word values)? |
| 17 | 10 | the remaining space is 0xff |
| 18 | 11 | |
| 12 | Notes: |
| 13 | |
| 14 | Zero Team 2000 |
| 15 | - EEPROM contains high scores, but they don't get restored? (original bug?) |
| 16 | |
| 17 | New Zero Team |
| 18 | - 2 Player only? Service mode only shows 2 Players and I don't see a switch |
| 19 | - Stages 3 and 1 are swapped, this is correct. |
| 20 | |
| 21 | Raiden 2 New / Raiden DX |
| 22 | - This is a 2-in-1 board. The current game to boot is stored in the EEPROM. |
| 23 | If you wish to change game then on powerup you must hold down all 4 (P1) joystick |
| 24 | directions simultaneously along with either button 1 or button 2. |
| 25 | Obviously this is impossible with a real joystck! |
| 26 | |
| 27 | It is also impossible in MAME unless you enable -joystick_contradictory |
| 28 | to disable MAME from preventing opposing joystick directions being pressed |
| 29 | and you'll most likely have to remap some keys too because 5 buttons at the |
| 30 | same time is beyond the limits of most keyboards. |
| 31 | |
| 32 | We currently use a default EEPROM for each game as this is most likely how |
| 33 | it shipped, the game changing is an undocumented secret. |
| 34 | |
| 35 | - The sound is awful, this is just how it is. |
| 36 | |
| 37 | - In Raiden 2 New stages 5 and 1 are swapped, and the intro is missing, this is |
| 38 | correct. |
| 39 | |
| 19 | 40 | */ |
| 20 | 41 | |
| 21 | 42 | #include "emu.h" |
| r32362 | r32363 | |
| 558 | 579 | PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 559 | 580 | PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 560 | 581 | PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 561 | | PORT_DIPNAME( 0x0040, 0x0040, "Test Mode" ) |
| 562 | | PORT_DIPSETTING( 0x0040, DEF_STR( Off ) ) |
| 563 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 582 | PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 564 | 583 | PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 565 | 584 | PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 566 | 585 | |
| r32362 | r32363 | |
| 586 | 605 | PORT_DIPSETTING( 0x8000, DEF_STR( Off ) ) |
| 587 | 606 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 588 | 607 | |
| 589 | | PORT_START("DSW") |
| 590 | | PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) ) |
| 591 | | PORT_DIPSETTING( 0x0001, DEF_STR( Off ) ) |
| 592 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 593 | | PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) ) |
| 594 | | PORT_DIPSETTING( 0x0002, DEF_STR( Off ) ) |
| 595 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 596 | | PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) ) |
| 597 | | PORT_DIPSETTING( 0x0004, DEF_STR( Off ) ) |
| 598 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 599 | | PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) ) |
| 600 | | PORT_DIPSETTING( 0x0008, DEF_STR( Off ) ) |
| 601 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 602 | | PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) ) |
| 603 | | PORT_DIPSETTING( 0x0010, DEF_STR( Off ) ) |
| 604 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 605 | | PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) ) |
| 606 | | PORT_DIPSETTING( 0x0020, DEF_STR( Off ) ) |
| 607 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 608 | | PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) ) |
| 609 | | PORT_DIPSETTING( 0x0040, DEF_STR( Off ) ) |
| 610 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 611 | | PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Service_Mode ) ) |
| 608 | PORT_START("DSW") // taken from zeroteam, except last dip is service mode |
| 609 | PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:!1,!2,!3") |
| 610 | PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) ) |
| 611 | PORT_DIPSETTING( 0x0001, DEF_STR( 3C_1C ) ) |
| 612 | PORT_DIPSETTING( 0x0002, DEF_STR( 2C_1C ) ) |
| 613 | PORT_DIPSETTING( 0x0007, DEF_STR( 1C_1C ) ) |
| 614 | PORT_DIPSETTING( 0x0006, DEF_STR( 1C_2C ) ) |
| 615 | PORT_DIPSETTING( 0x0005, DEF_STR( 1C_3C ) ) |
| 616 | PORT_DIPSETTING( 0x0003, DEF_STR( 1C_4C ) ) |
| 617 | PORT_DIPSETTING( 0x0004, DEF_STR( 1C_6C ) ) |
| 618 | PORT_DIPNAME( 0x0038, 0x0038, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:!4,!5,!6") |
| 619 | PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) ) |
| 620 | PORT_DIPSETTING( 0x0008, DEF_STR( 3C_1C ) ) |
| 621 | PORT_DIPSETTING( 0x0010, DEF_STR( 2C_1C ) ) |
| 622 | PORT_DIPSETTING( 0x0038, DEF_STR( 1C_1C ) ) |
| 623 | PORT_DIPSETTING( 0x0030, DEF_STR( 1C_2C ) ) |
| 624 | PORT_DIPSETTING( 0x0028, DEF_STR( 1C_3C ) ) |
| 625 | PORT_DIPSETTING( 0x0018, DEF_STR( 1C_4C ) ) |
| 626 | PORT_DIPSETTING( 0x0020, DEF_STR( 1C_6C ) ) |
| 627 | PORT_DIPNAME( 0x0040, 0x0040, "Starting Coin" ) PORT_DIPLOCATION("SW1:!7") |
| 628 | PORT_DIPSETTING( 0x0040, DEF_STR( Normal ) ) |
| 629 | PORT_DIPSETTING( 0x0000, "X 2" ) |
| 630 | PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:!8") |
| 612 | 631 | PORT_DIPSETTING( 0x0080, DEF_STR( Off ) ) |
| 613 | 632 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 614 | | PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) ) |
| 615 | | PORT_DIPSETTING( 0x0100, DEF_STR( Off ) ) |
| 616 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 617 | | PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) ) |
| 618 | | PORT_DIPSETTING( 0x0200, DEF_STR( Off ) ) |
| 619 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 620 | | PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) ) |
| 621 | | PORT_DIPSETTING( 0x0400, DEF_STR( Off ) ) |
| 622 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 623 | | PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) ) |
| 624 | | PORT_DIPSETTING( 0x0800, DEF_STR( Off ) ) |
| 625 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 626 | | PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) ) |
| 627 | | PORT_DIPSETTING( 0x1000, DEF_STR( Off ) ) |
| 628 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 629 | | PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) ) |
| 630 | | PORT_DIPSETTING( 0x2000, DEF_STR( Off ) ) |
| 631 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 632 | | PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) ) |
| 633 | | PORT_DIPSETTING( 0x4000, DEF_STR( Off ) ) |
| 634 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 635 | | PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) ) |
| 636 | | PORT_DIPSETTING( 0x8000, DEF_STR( Off ) ) |
| 637 | | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 633 | PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:!1,!2") |
| 634 | PORT_DIPSETTING( 0x0300, DEF_STR( Normal ) ) |
| 635 | PORT_DIPSETTING( 0x0200, DEF_STR( Hard ) ) |
| 636 | PORT_DIPSETTING( 0x0100, DEF_STR( Easy ) ) |
| 637 | PORT_DIPSETTING( 0x0000, DEF_STR( Very_Hard ) ) |
| 638 | PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:!3,!4") |
| 639 | PORT_DIPSETTING( 0x0c00, "2" ) |
| 640 | PORT_DIPSETTING( 0x0800, "4" ) |
| 641 | PORT_DIPSETTING( 0x0400, "3" ) |
| 642 | PORT_DIPSETTING( 0x0000, "1" ) |
| 643 | PORT_DIPNAME( 0x3000, 0x3000, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:!5,!6") |
| 644 | PORT_DIPSETTING( 0x3000, "1000000" ) |
| 645 | PORT_DIPSETTING( 0x2000, "2000000" ) |
| 646 | PORT_DIPSETTING( 0x1000, "Every 1000000" ) |
| 647 | PORT_DIPSETTING( 0x0000, "No Extend" ) |
| 648 | PORT_DIPNAME( 0x4000, 0x4000, "Demo Sound" ) PORT_DIPLOCATION("SW2:!7") |
| 649 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 650 | PORT_DIPSETTING( 0x4000, DEF_STR( On ) ) |
| 651 | PORT_SERVICE_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW2:!8" ) |
| 638 | 652 | INPUT_PORTS_END |
| 639 | 653 | |
| 640 | 654 | static INPUT_PORTS_START( zerotm2k ) |