mirror of
https://github.com/holub/mame
synced 2025-06-01 10:31:48 +03:00
Fixed Dip Switches for 'magmax'.
This commit is contained in:
parent
37a9c85f4d
commit
9f7d6fddec
@ -6,6 +6,21 @@ MAGMAX
|
|||||||
Driver by Takahiro Nogi (nogi@kt.rim.or.jp) 1999/11/05 -
|
Driver by Takahiro Nogi (nogi@kt.rim.or.jp) 1999/11/05 -
|
||||||
Additional tweaking by Jarek Burczynski
|
Additional tweaking by Jarek Burczynski
|
||||||
|
|
||||||
|
|
||||||
|
Stephh's notes (based on the game M68000 code and some tests) :
|
||||||
|
|
||||||
|
- Player 1 Button 2 shall not exist per se, but pressing it speeds the game.
|
||||||
|
That's why I mapped it to a different key (F1) to avoid confusion.
|
||||||
|
It appears (as well as Player 2 Button 2) in the schematics though.
|
||||||
|
However I don't see it in the wiring connector page.
|
||||||
|
- DSW2 bit 8 is not referenced in the US manual and only has an effect
|
||||||
|
if you have EXACTLY 10 credits after you pressed any START button
|
||||||
|
(which means that you need to have 11 credits if you choose a 1 player game
|
||||||
|
or 12 credits if you choose a 2 players game).
|
||||||
|
When activated, you are giving infinite lives (in fact 0x60 = 60 lives)
|
||||||
|
for both players, you can still lose parts of the ship but not the main ship.
|
||||||
|
See code at 0x0001e6 (ships given at start) and 0x0044e6 (other stuff).
|
||||||
|
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
#include "driver.h"
|
#include "driver.h"
|
||||||
@ -244,7 +259,8 @@ static INPUT_PORTS_START( magmax )
|
|||||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
|
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
|
||||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
|
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
|
||||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
|
||||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) /* Maybe this is just a test button and as such is not available to player */
|
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
|
||||||
|
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_NAME("Speed") PORT_CODE(KEYCODE_F1) PORT_TOGGLE /* see notes */
|
||||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
|
|
||||||
@ -254,7 +270,7 @@ static INPUT_PORTS_START( magmax )
|
|||||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
|
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
|
||||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
|
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
|
||||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
|
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
|
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* see notes */
|
||||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||||
|
|
||||||
@ -276,17 +292,22 @@ static INPUT_PORTS_START( magmax )
|
|||||||
PORT_DIPSETTING( 0x0000, "6" )
|
PORT_DIPSETTING( 0x0000, "6" )
|
||||||
PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:3,4")
|
PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:3,4")
|
||||||
PORT_DIPSETTING( 0x000c, "30000 every" )
|
PORT_DIPSETTING( 0x000c, "30000 every" )
|
||||||
PORT_DIPSETTING( 0x0004, "70000 every" )
|
|
||||||
PORT_DIPSETTING( 0x0008, "50000 every" )
|
PORT_DIPSETTING( 0x0008, "50000 every" )
|
||||||
|
PORT_DIPSETTING( 0x0004, "70000 every" )
|
||||||
PORT_DIPSETTING( 0x0000, "90000 every" )
|
PORT_DIPSETTING( 0x0000, "90000 every" )
|
||||||
|
PORT_DIPNAME( 0x000c, 0x000c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:3,4")
|
||||||
|
PORT_DIPSETTING( 0x000c, "30k 80k 50k+" )
|
||||||
|
PORT_DIPSETTING( 0x0008, "50k 120k 70k+" )
|
||||||
|
PORT_DIPSETTING( 0x0004, "70k 160k 90k+" )
|
||||||
|
PORT_DIPSETTING( 0x0000, "90k 200k 110k+" )
|
||||||
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:5")
|
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:5")
|
||||||
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x0010, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x0010, DEF_STR( On ) )
|
||||||
PORT_DIPNAME( 0x0020, 0x0000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:6")
|
PORT_DIPNAME( 0x0020, 0x0000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:6")
|
||||||
PORT_DIPSETTING( 0x0000, DEF_STR( Upright ) )
|
PORT_DIPSETTING( 0x0000, DEF_STR( Upright ) )
|
||||||
PORT_DIPSETTING( 0x0020, DEF_STR( Cocktail ) )
|
PORT_DIPSETTING( 0x0020, DEF_STR( Cocktail ) )
|
||||||
PORT_DIPUNKNOWN_DIPLOC( 0x0040, 0x0040, "SW1:7" )
|
PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0040, "SW1:7" )
|
||||||
PORT_DIPUNKNOWN_DIPLOC( 0x0080, 0x0080, "SW1:8" )
|
PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" )
|
||||||
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW2:1,2")
|
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW2:1,2")
|
||||||
PORT_DIPSETTING( 0x0100, DEF_STR( 2C_1C ) )
|
PORT_DIPSETTING( 0x0100, DEF_STR( 2C_1C ) )
|
||||||
PORT_DIPSETTING( 0x0300, DEF_STR( 1C_1C ) )
|
PORT_DIPSETTING( 0x0300, DEF_STR( 1C_1C ) )
|
||||||
@ -300,11 +321,13 @@ static INPUT_PORTS_START( magmax )
|
|||||||
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:5")
|
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:5")
|
||||||
PORT_DIPSETTING( 0x1000, DEF_STR( Easy ) )
|
PORT_DIPSETTING( 0x1000, DEF_STR( Easy ) )
|
||||||
PORT_DIPSETTING( 0x0000, DEF_STR( Hard ) )
|
PORT_DIPSETTING( 0x0000, DEF_STR( Hard ) )
|
||||||
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:6")
|
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:6") /* undocumented in the US manual */
|
||||||
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||||
PORT_DIPUNKNOWN_DIPLOC( 0x4000, 0x4000, "SW2:7" )
|
PORT_DIPUNUSED_DIPLOC( 0x4000, 0x4000, "SW2:7" )
|
||||||
PORT_DIPUNKNOWN_DIPLOC( 0x8000, 0x8000, "SW2:8" )
|
PORT_DIPNAME( 0x8000, 0x8000, "Debug Mode" ) PORT_DIPLOCATION("SW2:8") /* see notes */
|
||||||
|
PORT_DIPSETTING( 0x8000, DEF_STR( No ) )
|
||||||
|
PORT_DIPSETTING( 0x0000, DEF_STR( Yes ) )
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
|
||||||
@ -444,4 +467,3 @@ ROM_END
|
|||||||
|
|
||||||
|
|
||||||
GAME( 1985, magmax, 0, magmax, magmax, 0, ROT0, "Nichibutsu", "Mag Max", GAME_SUPPORTS_SAVE )
|
GAME( 1985, magmax, 0, magmax, magmax, 0, ROT0, "Nichibutsu", "Mag Max", GAME_SUPPORTS_SAVE )
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user