diff --git a/src/mame/drivers/armedf.c b/src/mame/drivers/armedf.c index 5dcbafaaafd..1c5f8d05c3c 100644 --- a/src/mame/drivers/armedf.c +++ b/src/mame/drivers/armedf.c @@ -143,6 +143,12 @@ Stephh's notes (based on the games M68000 code and some tests) : 2005-04-02 Sebastien Chevalier : various update to video on terrafu, plus some typos here and there + + DIP locations verified for: + -cclimbr2 + -legion + -terraf + */ #include "driver.h" @@ -269,12 +275,12 @@ static ADDRESS_MAP_START( terraf_writemem, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x07c000, 0x07c001) AM_WRITE(terraf_io_w) AM_RANGE(0x07c002, 0x07c003) AM_WRITE(armedf_bg_scrollx_w) AM_RANGE(0x07c004, 0x07c005) AM_WRITE(armedf_bg_scrolly_w) - AM_RANGE(0x07c006, 0x07c007) AM_WRITE(terraf_fg_scrollx_w) /* not use in terrafu, 0x07c008 neither */ - AM_RANGE(0x07c008, 0x07c009) AM_WRITE(terraf_fg_scrolly_w) /* written twice, lsb and msb */ + AM_RANGE(0x07c006, 0x07c007) AM_WRITE(terraf_fg_scrollx_w) /* not use in terrafu, 0x07c008 neither */ + AM_RANGE(0x07c008, 0x07c009) AM_WRITE(terraf_fg_scrolly_w) /* written twice, lsb and msb */ AM_RANGE(0x07c00a, 0x07c00b) AM_WRITE(sound_command_w) - AM_RANGE(0x07c00c, 0x07c00d) AM_WRITE(MWA16_NOP) /* Watchdog ? cycle 0000 -> 0100 -> 0200 back to 0000 */ - AM_RANGE(0x07c00e, 0x07c00f) AM_WRITE(armedf_mcu_cmd) /* MCU Command ? */ - AM_RANGE(0x0c0000, 0x0c0001) AM_WRITE(terraf_fg_scroll_msb_arm_w) /* written between two consecutive writes to 7c008 */ + AM_RANGE(0x07c00c, 0x07c00d) AM_WRITE(MWA16_NOP) /* Watchdog ? cycle 0000 -> 0100 -> 0200 back to 0000 */ + AM_RANGE(0x07c00e, 0x07c00f) AM_WRITE(armedf_mcu_cmd) /* MCU Command ? */ + AM_RANGE(0x0c0000, 0x0c0001) AM_WRITE(terraf_fg_scroll_msb_arm_w) /* written between two consecutive writes to 7c008 */ ADDRESS_MAP_END static ADDRESS_MAP_START( kodure_readmem, ADDRESS_SPACE_PROGRAM, 16 ) @@ -340,8 +346,8 @@ static ADDRESS_MAP_START( cclimbr2_writemem, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x07c002, 0x07c003) AM_WRITE(armedf_bg_scrollx_w) AM_RANGE(0x07c004, 0x07c005) AM_WRITE(armedf_bg_scrolly_w) AM_RANGE(0x07c00a, 0x07c00b) AM_WRITE(sound_command_w) - AM_RANGE(0x07c00e, 0x07c00f) AM_WRITE(MWA16_NOP) /* ? */ - AM_RANGE(0x07c00c, 0x07c00d) AM_WRITE(MWA16_NOP) /* Watchdog ? cycle 0000 -> 0100 -> 0200 back to 0000 */ + AM_RANGE(0x07c00e, 0x07c00f) AM_WRITE(MWA16_NOP) /* ? */ + AM_RANGE(0x07c00c, 0x07c00d) AM_WRITE(MWA16_NOP) /* Watchdog ? cycle 0000 -> 0100 -> 0200 back to 0000 */ ADDRESS_MAP_END static ADDRESS_MAP_START( legion_writemem, ADDRESS_SPACE_PROGRAM, 16 ) @@ -359,7 +365,7 @@ static ADDRESS_MAP_START( legion_writemem, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x07c002, 0x07c003) AM_WRITE(armedf_bg_scrollx_w) AM_RANGE(0x07c004, 0x07c005) AM_WRITE(armedf_bg_scrolly_w) AM_RANGE(0x07c00a, 0x07c00b) AM_WRITE(sound_command_w) - AM_RANGE(0x07c00e, 0x07c00f) AM_WRITE(armedf_mcu_cmd) /* MCU Command ? */ + AM_RANGE(0x07c00e, 0x07c00f) AM_WRITE(armedf_mcu_cmd) /* MCU Command ? */ AM_RANGE(0x07c00c, 0x07c00d) AM_WRITE(MWA16_NOP) /* Watchdog ? cycle 0000 -> 0100 -> 0200 back to 0000 */ ADDRESS_MAP_END @@ -380,7 +386,7 @@ static ADDRESS_MAP_START( legiono_writemem, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x07c002, 0x07c003) AM_WRITE(armedf_bg_scrollx_w) AM_RANGE(0x07c004, 0x07c005) AM_WRITE(armedf_bg_scrolly_w) AM_RANGE(0x07c00a, 0x07c00b) AM_WRITE(sound_command_w) - //AM_RANGE(0x07c00e, 0x07c00f) AM_WRITE(armedf_mcu_cmd) /* MCU Command ? */ + //AM_RANGE(0x07c00e, 0x07c00f) AM_WRITE(armedf_mcu_cmd) /* MCU Command ? */ //AM_RANGE(0x07c00c, 0x07c00d) AM_WRITE(MWA16_NOP) /* Watchdog ? cycle 0000 -> 0100 -> 0200 back to 0000 */ ADDRESS_MAP_END @@ -473,199 +479,186 @@ ADDRESS_MAP_END PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(_n_) \ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN ) -#define NIHON_COINS \ - PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 ) \ - PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 ) \ - PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 ) \ - PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN2 ) \ +static INPUT_PORTS_START( armedf ) + PORT_START_TAG("IN0") + NIHON_SINGLE_JOYSTICK(1) + PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 ) + PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 ) + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0xf000, IP_ACTIVE_LOW, IPT_UNKNOWN ) -#define NIHON_SYSTEM \ - PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_SERVICE1 ) \ - PORT_SERVICE( 0x0200, IP_ACTIVE_LOW ) \ - PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_TILT ) /* Tilt */ \ - PORT_BIT( 0xf800, IP_ACTIVE_LOW, IPT_UNKNOWN ) - -#define NIHON_COINAGE_A \ - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) \ - PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) \ - PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) \ - PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) \ - PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) - -#define NIHON_COINAGE_B \ - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) \ - PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) ) \ - PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) ) \ - PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) ) \ - PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) ) - -#define NIHON_COINAGE_B_ALT \ - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) \ - PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) ) \ - PORT_DIPSETTING( 0x04, DEF_STR( 2C_3C ) ) \ - PORT_DIPSETTING( 0x0c, DEF_STR( 1C_3C ) ) \ - PORT_DIPSETTING( 0x08, DEF_STR( 1C_6C ) ) - -#define NIHON_LIVES \ - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) \ - PORT_DIPSETTING( 0x03, "3" ) \ - PORT_DIPSETTING( 0x02, "4" ) \ - PORT_DIPSETTING( 0x01, "5" ) \ - PORT_DIPSETTING( 0x00, "6" ) - - -static INPUT_PORTS_START( legion ) - PORT_START_TAG("IN0") - NIHON_SINGLE_JOYSTICK(1) - NIHON_COINS - - PORT_START_TAG("IN0") - NIHON_SINGLE_JOYSTICK(2) - NIHON_SYSTEM - - PORT_START_TAG("DSW0") - NIHON_LIVES - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x04, "30k then every 100k" ) - PORT_DIPSETTING( 0x00, "50k only" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Flip_Screen ) ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW ) -#if LEGION_HACK - PORT_DIPNAME( 0x80, 0x80, "Allow Invulnerability (Cheat)" ) // see notes - PORT_DIPSETTING( 0x80, DEF_STR( No ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) -#else - PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW ) -#endif - - PORT_START_TAG("DSW1") - NIHON_COINAGE_A - NIHON_COINAGE_B - PORT_DIPNAME( 0x10, 0x10, "Coin Slots" ) - PORT_DIPSETTING( 0x10, "Common" ) - PORT_DIPSETTING( 0x00, "Individual" ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Difficulty ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Hard ) ) -#if LEGION_HACK - PORT_DIPNAME( 0x40, 0x40, "P1 Invulnerability (Cheat)") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "P2 Invulnerability (Cheat)") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) -#else - PORT_DIPUNUSED( 0x40, IP_ACTIVE_LOW ) - PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW ) -#endif -INPUT_PORTS_END - - -static INPUT_PORTS_START( terraf ) - PORT_START_TAG("IN0") - NIHON_SINGLE_JOYSTICK(1) - NIHON_COINS - PORT_START_TAG("IN1") NIHON_SINGLE_JOYSTICK(2) - NIHON_SYSTEM + PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_SERVICE1 ) + PORT_SERVICE( 0x0200, IP_ACTIVE_LOW ) + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_TILT ) + PORT_BIT( 0xf800, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START_TAG("DSW0") - NIHON_LIVES -// PORT_DIPNAME( 0x04, 0x04, "1st Bonus Life" ) -// PORT_DIPSETTING( 0x04, "20k" ) -// PORT_DIPSETTING( 0x00, "50k" ) -// PORT_DIPNAME( 0x08, 0x08, "2nd Bonus Life" ) -// PORT_DIPSETTING( 0x08, "60k" ) -// PORT_DIPSETTING( 0x00, "90k" ) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2") + PORT_DIPSETTING( 0x03, "3" ) + PORT_DIPSETTING( 0x02, "4" ) + PORT_DIPSETTING( 0x01, "5" ) + PORT_DIPSETTING( 0x00, "6" ) + /* SW1:3,4 defined in manual/test-mode as: + PORT_DIPNAME( 0x04, 0x04, "1st Bonus Life" ) PORT_DIPLOCATION("SW1:3") + PORT_DIPSETTING( 0x04, "20k" ) + PORT_DIPSETTING( 0x00, "40k" ) + PORT_DIPNAME( 0x08, 0x08, "2nd Bonus Life" ) PORT_DIPLOCATION("SW1:4") + PORT_DIPSETTING( 0x08, "60k" ) + PORT_DIPSETTING( 0x00, "80k" )*/ + PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:3,4") PORT_DIPSETTING( 0x0c, "20k then every 60k" ) - PORT_DIPSETTING( 0x04, "20k then every 90k" ) - PORT_DIPSETTING( 0x08, "50k then every 60k" ) - PORT_DIPSETTING( 0x00, "50k then every 90k" ) - PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x04, "20k then every 80k" ) + PORT_DIPSETTING( 0x08, "40k then every 60k" ) + PORT_DIPSETTING( 0x00, "40k then every 80k" ) + PORT_DIPNAME( 0x10, 0x10, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:5") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x10, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:6") PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) ) - PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) + PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:7,8") PORT_DIPSETTING( 0xc0, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x80, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x40, DEF_STR( Hard ) ) PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) PORT_START_TAG("DSW1") - NIHON_COINAGE_A - NIHON_COINAGE_B - PORT_DIPUNUSED( 0x10, IP_ACTIVE_LOW ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Flip_Screen ) ) + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW2:1,2") + PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) + PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW2:3,4") + PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) ) + PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) ) + PORT_DIPNAME( 0x30, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:5,6") // not in the "test mode" + PORT_DIPSETTING( 0x30, DEF_STR( No ) ) + PORT_DIPSETTING( 0x20, "3 Times" ) + PORT_DIPSETTING( 0x10, "5 Times" ) + PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:7") // not in the "test mode" + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" ) +INPUT_PORTS_END + +static INPUT_PORTS_START( legion ) + PORT_INCLUDE( armedf ) + + PORT_MODIFY("DSW0") + PORT_DIPNAME( 0x04, 0x04, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:3") + PORT_DIPSETTING( 0x04, "30k Then Every 100k" ) + PORT_DIPSETTING( 0x00, "50k Only" ) + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:4") + PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x10, 0x10, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:5") + PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "SW1:6" ) /* Listed as "Unused" */ + PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW1:7" ) /* Listed as "Unused" */ +#if LEGION_HACK // see notes + PORT_DIPNAME( 0x80, 0x80, "Allow Invulnerability (Cheat)" ) PORT_DIPLOCATION("SW1:8") + PORT_DIPSETTING( 0x80, DEF_STR( No ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) +#else + PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW1:8" ) /* Listed as "Unused" */ +#endif + + PORT_MODIFY("DSW1") + PORT_DIPNAME( 0x10, 0x10, "Coin Slots" ) PORT_DIPLOCATION("SW2:5") + PORT_DIPSETTING( 0x10, "Common" ) + PORT_DIPSETTING( 0x00, "Individual" ) + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6") + PORT_DIPSETTING( 0x20, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Hard ) ) +#if LEGION_HACK // see notes + PORT_DIPNAME( 0x40, 0x40, "P1 Invulnerability (Cheat)") PORT_DIPLOCATION("SW2:7") + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, "P2 Invulnerability (Cheat)") PORT_DIPLOCATION("SW2:8") + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) +#else + PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "SW2:7" ) /* Listed as "Unused" */ +#endif +INPUT_PORTS_END + + +static INPUT_PORTS_START( terraf ) + PORT_INCLUDE( armedf ) + + PORT_MODIFY("DSW0") + /* SW1:3,4 defined in manual/test-mode as: + PORT_DIPNAME( 0x04, 0x04, "1st Bonus Life" ) PORT_DIPLOCATION("SW1:3") + PORT_DIPSETTING( 0x04, "20k" ) + PORT_DIPSETTING( 0x00, "50k" ) + PORT_DIPNAME( 0x08, 0x08, "2nd Bonus Life" ) PORT_DIPLOCATION("SW1:4") + PORT_DIPSETTING( 0x08, "60k" ) + PORT_DIPSETTING( 0x00, "90k" )*/ + PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:3,4") + PORT_DIPSETTING( 0x0c, "20k then every 60k" ) + PORT_DIPSETTING( 0x04, "20k then every 90k" ) + PORT_DIPSETTING( 0x08, "50k then every 60k" ) + PORT_DIPSETTING( 0x00, "50k then every 90k" ) + PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:5") + PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + + + PORT_MODIFY("DSW1") + PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "SW2:5" ) /* Listed as "Unused" */ + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Allow_Continue ) ) + PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:7,8") PORT_DIPSETTING( 0xc0, DEF_STR( No ) ) - PORT_DIPSETTING( 0x80, "3 Times" ) - PORT_DIPSETTING( 0x40, "5 Times" ) + PORT_DIPSETTING( 0x80, "Only 3 Times" ) + PORT_DIPSETTING( 0x40, "Only 5 Times" ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) INPUT_PORTS_END static INPUT_PORTS_START( kodure ) - PORT_START_TAG("IN0") - NIHON_SINGLE_JOYSTICK(1) - NIHON_COINS + PORT_INCLUDE( terraf ) - PORT_START_TAG("IN1") - NIHON_SINGLE_JOYSTICK(2) - NIHON_SYSTEM - - PORT_START_TAG("DSW0") - NIHON_LIVES -// PORT_DIPNAME( 0x04, 0x04, "1st Bonus Life" ) -// PORT_DIPSETTING( 0x04, "00k" ) -// PORT_DIPSETTING( 0x00, "50k" ) -// PORT_DIPNAME( 0x08, 0x08, "2nd Bonus Life" ) -// PORT_DIPSETTING( 0x08, "60k" ) -// PORT_DIPSETTING( 0x00, "90k" ) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) + PORT_MODIFY("DSW0") + /* SW1:3,4 defined in manual/test-mode as: + PORT_DIPNAME( 0x04, 0x04, "1st Bonus Life" ) PORT_DIPLOCATION("SW1:3") + PORT_DIPSETTING( 0x04, DEF_STR( None ) ) + PORT_DIPSETTING( 0x00, "50k" ) + PORT_DIPNAME( 0x08, 0x08, "2nd Bonus Life" ) PORT_DIPLOCATION("SW1:4") + PORT_DIPSETTING( 0x08, "60k" ) + PORT_DIPSETTING( 0x00, "90k" )*/ + PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:3,4") PORT_DIPSETTING( 0x08, "50k then every 60k" ) PORT_DIPSETTING( 0x00, "50k then every 90k" ) PORT_DIPSETTING( 0x0c, "Every 60k" ) PORT_DIPSETTING( 0x04, "Every 90k" ) - PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:6") PORT_DIPSETTING( 0x40, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x00, DEF_STR( Hard ) ) - PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW ) + PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW1:7" ) /* Listed as "Unused" */ - PORT_START_TAG("DSW1") - NIHON_COINAGE_A - NIHON_COINAGE_B_ALT - PORT_DIPUNUSED( 0x10, IP_ACTIVE_LOW ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Flip_Screen ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) ) + PORT_MODIFY("DSW1") + PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW2:3,4") + PORT_DIPSETTING( 0x00, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x04, DEF_STR( 2C_3C ) ) + PORT_DIPSETTING( 0x0c, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x08, DEF_STR( 1C_6C ) ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:7") PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x40, DEF_STR( Yes ) ) - PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW ) INPUT_PORTS_END static INPUT_PORTS_START( cclimbr2 ) - PORT_START_TAG("IN0") + PORT_INCLUDE( armedf ) + + PORT_MODIFY("IN0") PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT ) PORT_8WAY PORT_PLAYER(1) @@ -674,9 +667,8 @@ static INPUT_PORTS_START( cclimbr2 ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT ) PORT_8WAY PORT_PLAYER(1) PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT ) PORT_8WAY PORT_PLAYER(1) - NIHON_COINS - PORT_START_TAG("IN1") + PORT_MODIFY("IN1") PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT ) PORT_8WAY PORT_PLAYER(2) @@ -685,94 +677,36 @@ static INPUT_PORTS_START( cclimbr2 ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT ) PORT_8WAY PORT_PLAYER(2) PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT ) PORT_8WAY PORT_PLAYER(2) - NIHON_SYSTEM - PORT_START_TAG("DSW0") - NIHON_LIVES -// PORT_DIPNAME( 0x04, 0x04, "1st Bonus Life" ) -// PORT_DIPSETTING( 0x04, "30k" ) -// PORT_DIPSETTING( 0x00, "60k" ) -// PORT_DIPNAME( 0x08, 0x08, "2nd Bonus Life" ) -// PORT_DIPSETTING( 0x08, "70k" ) -// PORT_DIPSETTING( 0x00, "00k" ) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) + PORT_MODIFY("DSW0") + /* SW1:3,4 defined in manual/test-mode as: + PORT_DIPNAME( 0x04, 0x04, "1st Bonus Life" ) PORT_DIPLOCATION("SW1:3") + PORT_DIPSETTING( 0x04, "30k" ) + PORT_DIPSETTING( 0x00, "60k" ) + PORT_DIPNAME( 0x08, 0x08, "2nd Bonus Life" ) PORT_DIPLOCATION("SW1:4") + PORT_DIPSETTING( 0x08, "70k" ) + PORT_DIPSETTING( 0x00, DEF_STR( None ) )*/ + PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:3,4") PORT_DIPSETTING( 0x0c, "30K and 100k" ) PORT_DIPSETTING( 0x08, "60k and 130k" ) PORT_DIPSETTING( 0x04, "30k only" ) PORT_DIPSETTING( 0x00, "60k only" ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Demo_Sounds ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x10, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:7") PORT_DIPSETTING( 0x40, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x00, DEF_STR( Normal ) ) - PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW ) + PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW1:8" ) /* Listed as "Unused" */ - PORT_START_TAG("DSW1") - NIHON_COINAGE_A - NIHON_COINAGE_B - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Allow_Continue ) ) + PORT_MODIFY("DSW1") + PORT_DIPNAME( 0x10, 0x10, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:5") PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x10, "3 Times" ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Flip_Screen ) ) + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW2:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "Partial Invulnerability (Cheat)") + PORT_DIPNAME( 0x40, 0x40, "Partial Invulnerability (Cheat)") PORT_DIPLOCATION("SW2:7") /* Listed as "Unused" */ PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW ) -INPUT_PORTS_END - - -static INPUT_PORTS_START( armedf ) - PORT_START_TAG("IN0") - NIHON_SINGLE_JOYSTICK(1) - NIHON_COINS - - PORT_START_TAG("IN1") - NIHON_SINGLE_JOYSTICK(2) - NIHON_SYSTEM - - PORT_START_TAG("DSW0") - NIHON_LIVES -// PORT_DIPNAME( 0x04, 0x04, "1st Bonus Life" ) -// PORT_DIPSETTING( 0x04, "20k" ) -// PORT_DIPSETTING( 0x00, "40k" ) -// PORT_DIPNAME( 0x08, 0x08, "2nd Bonus Life" ) -// PORT_DIPSETTING( 0x08, "60k" ) -// PORT_DIPSETTING( 0x00, "80k" ) - PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) ) - PORT_DIPSETTING( 0x0c, "20k then every 60k" ) - PORT_DIPSETTING( 0x04, "20k then every 80k" ) - PORT_DIPSETTING( 0x08, "40k then every 60k" ) - PORT_DIPSETTING( 0x00, "40k then every 80k" ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Demo_Sounds ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x10, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) ) - PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) - PORT_DIPSETTING( 0xc0, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Normal ) ) - PORT_DIPSETTING( 0x40, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) ) - - PORT_START_TAG("DSW1") - NIHON_COINAGE_A - NIHON_COINAGE_B - PORT_DIPNAME( 0x30, 0x00, DEF_STR( Allow_Continue ) ) // not in the "test mode" - PORT_DIPSETTING( 0x30, DEF_STR( No ) ) - PORT_DIPSETTING( 0x20, "3 Times" ) - PORT_DIPSETTING( 0x10, "5 Times" ) - PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) ) // not in the "test mode" - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPUNUSED( 0x80, IP_ACTIVE_LOW ) + PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "SW2:8" ) /* Listed as "Unused" */ INPUT_PORTS_END @@ -1417,13 +1351,13 @@ static DRIVER_INIT( cclimbr2 ) } -/* YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR, COMPANY, FULLNAME, FLAGS */ -GAME( 1987, legion, 0, legion, legion, legion, ROT270, "Nichibutsu", "Legion (ver 2.03)", GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION ) -GAME( 1987, legiono, legion, legiono, legion, legiono, ROT270, "Nichibutsu", "Legion (ver 1.05)", GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION ) -GAME( 1987, terraf, 0, terraf, terraf, terraf, ROT0, "Nichibutsu", "Terra Force (set 1)", GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION ) -GAME( 1987, terrafa, terraf, terraf, terraf, terrafu, ROT0, "Nichibutsu", "Terra Force (set 2)", GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION ) -GAME( 1987, terrafu, terraf, terraf, terraf, terrafu, ROT0, "Nichibutsu USA", "Terra Force (US)", GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION ) -GAME( 1987, kodure, 0, kodure, kodure, kodure, ROT0, "Nichibutsu", "Kodure Ookami (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION ) -GAME( 1988, cclimbr2, 0, cclimbr2, cclimbr2, cclimbr2, ROT0, "Nichibutsu", "Crazy Climber 2 (Japan)", 0) -GAME( 1988, cclmbr2a, cclimbr2, cclimbr2, cclimbr2, cclimbr2, ROT0, "Nichibutsu", "Crazy Climber 2 (Japan, Harder)", 0) -GAME( 1988, armedf, 0, armedf, armedf, armedf, ROT270, "Nichibutsu", "Armed Formation", 0) +/* YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR, COMPANY, FULLNAME, FLAGS */ +GAME( 1987, legion, 0, legion, legion, legion, ROT270, "Nichibutsu", "Legion (ver 2.03)", GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION ) +GAME( 1987, legiono, legion, legiono, legion, legiono, ROT270, "Nichibutsu", "Legion (ver 1.05)", GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION ) +GAME( 1987, terraf, 0, terraf, terraf, terraf, ROT0, "Nichibutsu", "Terra Force (set 1)", GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION ) +GAME( 1987, terrafa, terraf, terraf, terraf, terrafu, ROT0, "Nichibutsu", "Terra Force (set 2)", GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION ) +GAME( 1987, terrafu, terraf, terraf, terraf, terrafu, ROT0, "Nichibutsu USA", "Terra Force (US)", GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION ) +GAME( 1987, kodure, 0, kodure, kodure, kodure, ROT0, "Nichibutsu", "Kodure Ookami (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION ) +GAME( 1988, cclimbr2, 0, cclimbr2, cclimbr2, cclimbr2, ROT0, "Nichibutsu", "Crazy Climber 2 (Japan)", 0 ) +GAME( 1988, cclmbr2a, cclimbr2, cclimbr2, cclimbr2, cclimbr2, ROT0, "Nichibutsu", "Crazy Climber 2 (Japan, Harder)", 0 ) +GAME( 1988, armedf, 0, armedf, armedf, armedf, ROT270, "Nichibutsu", "Armed Formation", 0 ) diff --git a/src/mame/drivers/artmagic.c b/src/mame/drivers/artmagic.c index 71651fd46f8..ee558e22421 100644 --- a/src/mame/drivers/artmagic.c +++ b/src/mame/drivers/artmagic.c @@ -13,6 +13,12 @@ * measured against a real PCB, the games run slightly too fast in spite of accurately measured VBLANK timings + DIP locations verified for: + * ultennis (manual+test mode) + * cheesech (test mode) + * stonebal (test mode) + * stoneba2 (test mode) + ***************************************************************************/ #include "driver.h" @@ -490,7 +496,7 @@ ADDRESS_MAP_END * *************************************/ -static INPUT_PORTS_START( artmagic ) +static INPUT_PORTS_START( cheesech ) PORT_START_TAG("300000") PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) @@ -514,34 +520,29 @@ static INPUT_PORTS_START( artmagic ) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START_TAG("300004") - PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown )) - PORT_DIPSETTING( 0x0001, DEF_STR( Off )) - PORT_DIPSETTING( 0x0000, DEF_STR( On )) - PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown )) - PORT_DIPSETTING( 0x0002, DEF_STR( Off )) - PORT_DIPSETTING( 0x0000, DEF_STR( On )) - PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown )) - PORT_DIPSETTING( 0x0004, DEF_STR( Off )) - PORT_DIPSETTING( 0x0000, DEF_STR( On )) - PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown )) - PORT_DIPSETTING( 0x0008, DEF_STR( Off )) - PORT_DIPSETTING( 0x0000, DEF_STR( On )) - PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown )) - PORT_DIPSETTING( 0x0010, DEF_STR( Off )) - PORT_DIPSETTING( 0x0000, DEF_STR( On )) - PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown )) + PORT_DIPUNUSED_DIPLOC( 0x0001, 0x0001, "SWB:8" ) /* Listed as "Unused" */ + PORT_DIPNAME( 0x0006, 0x0004, DEF_STR( Language ) ) PORT_DIPLOCATION("SWB:6,7") + PORT_DIPSETTING( 0x0000, DEF_STR( French ) ) + PORT_DIPSETTING( 0x0002, DEF_STR( Italian ) ) + PORT_DIPSETTING( 0x0004, DEF_STR( English ) ) + PORT_DIPSETTING( 0x0006, DEF_STR( German ) ) + PORT_DIPNAME( 0x0018, 0x0018, DEF_STR( Lives )) PORT_DIPLOCATION("SWB:4,5") + PORT_DIPSETTING( 0x0008, "3" ) + PORT_DIPSETTING( 0x0018, "4" ) + PORT_DIPSETTING( 0x0000, "5" ) + PORT_DIPSETTING( 0x0010, "6" ) + PORT_DIPNAME( 0x0020, 0x0000, DEF_STR( Demo_Sounds )) PORT_DIPLOCATION("SWB:3") PORT_DIPSETTING( 0x0020, DEF_STR( Off )) PORT_DIPSETTING( 0x0000, DEF_STR( On )) - PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown )) - PORT_DIPSETTING( 0x0040, DEF_STR( Off )) - PORT_DIPSETTING( 0x0000, DEF_STR( On )) - PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown )) - PORT_DIPSETTING( 0x0080, DEF_STR( Off )) - PORT_DIPSETTING( 0x0000, DEF_STR( On )) + PORT_DIPNAME( 0x00c0, 0x0040, DEF_STR( Difficulty )) PORT_DIPLOCATION("SWB:1,2") + PORT_DIPSETTING( 0x00c0, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x0040, DEF_STR( Normal ) ) + PORT_DIPSETTING( 0x0080, DEF_STR( Hard ) ) + PORT_DIPSETTING( 0x0000, DEF_STR( Very_Hard ) ) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START_TAG("300006") - PORT_DIPNAME( 0x0007, 0x0007, "Right Coinage" ) + PORT_DIPNAME( 0x0007, 0x0007, "Right Coinage" ) PORT_DIPLOCATION("SWA:6,7,8") PORT_DIPSETTING( 0x0002, DEF_STR( 6C_1C )) PORT_DIPSETTING( 0x0006, DEF_STR( 5C_1C )) PORT_DIPSETTING( 0x0001, DEF_STR( 4C_1C )) @@ -550,7 +551,7 @@ static INPUT_PORTS_START( artmagic ) PORT_DIPSETTING( 0x0007, DEF_STR( 1C_1C )) PORT_DIPSETTING( 0x0004, DEF_STR( 1C_2C )) PORT_DIPSETTING( 0x0000, DEF_STR( 1C_4C )) - PORT_DIPNAME( 0x0038, 0x0038, "Left Coinage" ) + PORT_DIPNAME( 0x0038, 0x0038, "Left Coinage" ) PORT_DIPLOCATION("SWA:3,4,5") PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C )) PORT_DIPSETTING( 0x0020, DEF_STR( 2C_1C )) PORT_DIPSETTING( 0x0038, DEF_STR( 1C_1C )) @@ -559,10 +560,10 @@ static INPUT_PORTS_START( artmagic ) PORT_DIPSETTING( 0x0008, DEF_STR( 1C_4C )) PORT_DIPSETTING( 0x0030, DEF_STR( 1C_5C )) PORT_DIPSETTING( 0x0010, DEF_STR( 1C_6C )) - PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Free_Play )) + PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Free_Play )) PORT_DIPLOCATION("SWA:2") PORT_DIPSETTING( 0x0040, DEF_STR( Off )) PORT_DIPSETTING( 0x0000, DEF_STR( On )) - PORT_SERVICE( 0x0080, IP_ACTIVE_LOW ) + PORT_SERVICE_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SWA:1" ) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START_TAG("300008") @@ -581,69 +582,36 @@ static INPUT_PORTS_START( artmagic ) INPUT_PORTS_END -static INPUT_PORTS_START( cheesech ) - PORT_INCLUDE(artmagic) - - PORT_MODIFY("300004") - PORT_DIPNAME( 0x0006, 0x0004, DEF_STR( Language ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( French ) ) - PORT_DIPSETTING( 0x0002, DEF_STR( Italian ) ) - PORT_DIPSETTING( 0x0004, DEF_STR( English ) ) - PORT_DIPSETTING( 0x0006, DEF_STR( German ) ) - PORT_DIPNAME( 0x0018, 0x0018, DEF_STR( Lives )) - PORT_DIPSETTING( 0x0008, "3" ) - PORT_DIPSETTING( 0x0018, "4" ) - PORT_DIPSETTING( 0x0000, "5" ) - PORT_DIPSETTING( 0x0010, "6" ) - PORT_DIPNAME( 0x0020, 0x0000, DEF_STR( Demo_Sounds )) - PORT_DIPSETTING( 0x0020, DEF_STR( Off )) - PORT_DIPSETTING( 0x0000, DEF_STR( On )) - PORT_DIPNAME( 0x00c0, 0x0040, DEF_STR( Difficulty )) - PORT_DIPSETTING( 0x00c0, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x0040, DEF_STR( Normal ) ) - PORT_DIPSETTING( 0x0080, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( Very_Hard ) ) -INPUT_PORTS_END - - static INPUT_PORTS_START( ultennis ) - PORT_INCLUDE(artmagic) + PORT_INCLUDE(cheesech) PORT_MODIFY("300004") - PORT_DIPNAME( 0x0001, 0x0000, "Button Layout" ) + PORT_DIPNAME( 0x0001, 0x0001, "Button Layout" ) PORT_DIPLOCATION("SWB:8") PORT_DIPSETTING( 0x0001, "Triangular" ) PORT_DIPSETTING( 0x0000, "Linear" ) - PORT_DIPNAME( 0x0002, 0x0002, "Start set at" ) + PORT_DIPNAME( 0x0002, 0x0002, "Start Set At" ) PORT_DIPLOCATION("SWB:7") PORT_DIPSETTING( 0x0000, "0-0" ) PORT_DIPSETTING( 0x0002, "4-4" ) - PORT_DIPNAME( 0x0004, 0x0004, "Sets per Match" ) + PORT_DIPNAME( 0x0004, 0x0004, "Sets Per Match" ) PORT_DIPLOCATION("SWB:6") PORT_DIPSETTING( 0x0004, "1" ) PORT_DIPSETTING( 0x0000, "3" ) - PORT_DIPNAME( 0x0018, 0x0008, "Game Duration" ) - PORT_DIPSETTING( 0x0018, "5 lost points" ) - PORT_DIPSETTING( 0x0008, "6 lost points" ) - PORT_DIPSETTING( 0x0010, "7 lost points" ) - PORT_DIPSETTING( 0x0000, "8 lost points" ) - PORT_DIPNAME( 0x0020, 0x0000, DEF_STR( Demo_Sounds )) - PORT_DIPSETTING( 0x0020, DEF_STR( Off )) - PORT_DIPSETTING( 0x0000, DEF_STR( On )) - PORT_DIPNAME( 0x00c0, 0x0040, DEF_STR( Difficulty )) - PORT_DIPSETTING( 0x00c0, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x0040, DEF_STR( Normal ) ) - PORT_DIPSETTING( 0x0080, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( Very_Hard ) ) + PORT_DIPNAME( 0x0018, 0x0008, "Game Duratiob" ) PORT_DIPLOCATION("SWB:4,5") + PORT_DIPSETTING( 0x0018, "5 Lost Points" ) + PORT_DIPSETTING( 0x0008, "6 Lost Points" ) + PORT_DIPSETTING( 0x0010, "7 Lost Points" ) + PORT_DIPSETTING( 0x0000, "8 Lost Points" ) INPUT_PORTS_END static INPUT_PORTS_START( stonebal ) - PORT_INCLUDE(artmagic) + PORT_INCLUDE(cheesech) PORT_MODIFY("300004") - PORT_SERVICE( 0x0001, IP_ACTIVE_LOW ) - PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Free_Play )) + PORT_SERVICE_DIPLOC( 0x0001, IP_ACTIVE_LOW, "SWA:1" ) + PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Free_Play )) PORT_DIPLOCATION("SWA:2") PORT_DIPSETTING( 0x0002, DEF_STR( Off )) PORT_DIPSETTING( 0x0000, DEF_STR( On )) - PORT_DIPNAME( 0x001c, 0x001c, "Left Coinage" ) + PORT_DIPNAME( 0x001c, 0x001c, "Left Coinage" ) PORT_DIPLOCATION("SWA:3,4,5") PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C )) PORT_DIPSETTING( 0x0004, DEF_STR( 2C_1C )) PORT_DIPSETTING( 0x001c, DEF_STR( 1C_1C )) @@ -652,7 +620,7 @@ static INPUT_PORTS_START( stonebal ) PORT_DIPSETTING( 0x0010, DEF_STR( 1C_4C )) PORT_DIPSETTING( 0x000c, DEF_STR( 1C_5C )) PORT_DIPSETTING( 0x0008, DEF_STR( 1C_6C )) - PORT_DIPNAME( 0x00e0, 0x00e0, "Right Coinage" ) + PORT_DIPNAME( 0x00e0, 0x00e0, "Right Coinage" ) PORT_DIPLOCATION("SWA:6,7,8") PORT_DIPSETTING( 0x0040, DEF_STR( 6C_1C )) PORT_DIPSETTING( 0x0060, DEF_STR( 5C_1C )) PORT_DIPSETTING( 0x0080, DEF_STR( 4C_1C )) @@ -663,15 +631,15 @@ static INPUT_PORTS_START( stonebal ) PORT_DIPSETTING( 0x0000, DEF_STR( 1C_4C )) PORT_MODIFY("300006") - PORT_DIPNAME( 0x0003, 0x0002, DEF_STR( Difficulty )) + PORT_DIPNAME( 0x0003, 0x0002, DEF_STR( Difficulty )) PORT_DIPLOCATION("SWB:1,2") PORT_DIPSETTING( 0x0003, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x0002, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x0001, DEF_STR( Hard ) ) PORT_DIPSETTING( 0x0000, DEF_STR( Very_Hard ) ) - PORT_DIPNAME( 0x0004, 0x0000, DEF_STR( Demo_Sounds )) + PORT_DIPNAME( 0x0004, 0x0000, DEF_STR( Demo_Sounds )) PORT_DIPLOCATION("SWB:3") PORT_DIPSETTING( 0x0004, DEF_STR( Off )) PORT_DIPSETTING( 0x0000, DEF_STR( On )) - PORT_DIPNAME( 0x0038, 0x0038, "Match Time" ) + PORT_DIPNAME( 0x0038, 0x0038, "Match Time" ) PORT_DIPLOCATION("SWB:4,5,6") PORT_DIPSETTING( 0x0030, "60s" ) PORT_DIPSETTING( 0x0028, "70s" ) PORT_DIPSETTING( 0x0020, "80s" ) @@ -680,10 +648,10 @@ static INPUT_PORTS_START( stonebal ) PORT_DIPSETTING( 0x0010, "110s" ) PORT_DIPSETTING( 0x0008, "120s" ) PORT_DIPSETTING( 0x0000, "130s" ) - PORT_DIPNAME( 0x0040, 0x0040, "Free Match Time" ) + PORT_DIPNAME( 0x0040, 0x0040, "Free Match Time" ) PORT_DIPLOCATION("SWB:7") PORT_DIPSETTING( 0x0040, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x0000, "Short" ) - PORT_DIPNAME( 0x0080, 0x0080, "Game Mode" ) + PORT_DIPNAME( 0x0080, 0x0080, "Game Mode" ) PORT_DIPLOCATION("SWB:8") PORT_DIPSETTING( 0x0080, "4 Players" ) PORT_DIPSETTING( 0x0000, "2 Players" ) @@ -711,6 +679,13 @@ static INPUT_PORTS_START( stonebal ) INPUT_PORTS_END +static INPUT_PORTS_START( stoneba2 ) + PORT_INCLUDE(stonebal) + + PORT_MODIFY("300006") + PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SWB:8" ) /* Listed as "Unused" */ +INPUT_PORTS_END + /************************************* * @@ -896,7 +871,7 @@ static DRIVER_INIT( stonebal ) * *************************************/ -GAME( 1993, ultennis, 0, artmagic, ultennis, ultennis, ROT0, "Art & Magic", "Ultimate Tennis", 0 ) -GAME( 1994, cheesech, 0, artmagic, cheesech, cheesech, ROT0, "Art & Magic", "Cheese Chase", 0 ) +GAME( 1993, ultennis, 0, artmagic, ultennis, ultennis, ROT0, "Art & Magic", "Ultimate Tennis", 0 ) +GAME( 1994, cheesech, 0, artmagic, cheesech, cheesech, ROT0, "Art & Magic", "Cheese Chase", 0 ) GAME( 1994, stonebal, 0, stonebal, stonebal, stonebal, ROT0, "Art & Magic", "Stone Ball (4 Players)", 0 ) -GAME( 1994, stoneba2, stonebal, stonebal, stonebal, stonebal, ROT0, "Art & Magic", "Stone Ball (2 Players)", 0 ) +GAME( 1994, stoneba2, stonebal, stonebal, stoneba2, stonebal, ROT0, "Art & Magic", "Stone Ball (2 Players)", 0 ) diff --git a/src/mame/drivers/asteroid.c b/src/mame/drivers/asteroid.c index 75eb5815f74..70380946dd0 100644 --- a/src/mame/drivers/asteroid.c +++ b/src/mame/drivers/asteroid.c @@ -157,6 +157,12 @@ Kits are available immediately from your Atari Distributor. To determine which xxxxxx00 Right coin == 6 credit/coin (Left coin always registers 1 credit/coin) + DIP locations verified from manual for: + - asteroid + - llander + - llander1 + - astdelux + ***************************************************************************/ #include "driver.h" @@ -186,7 +192,7 @@ static WRITE8_HANDLER( astdelux_coin_counter_w ) /************************************* * - * Land Lander LEDs/lamps + * Lunar Lander LEDs/lamps * *************************************/ @@ -214,9 +220,9 @@ static ADDRESS_MAP_START( asteroid_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x01ff) AM_RAM AM_RANGE(0x0200, 0x02ff) AM_RAM AM_RAMBANK(1) AM_BASE(&asteroid_ram1) AM_RANGE(0x0300, 0x03ff) AM_RAM AM_RAMBANK(2) AM_BASE(&asteroid_ram2) - AM_RANGE(0x2000, 0x2007) AM_READ(asteroid_IN0_r) /* IN0 */ - AM_RANGE(0x2400, 0x2407) AM_READ(asteroid_IN1_r) /* IN1 */ - AM_RANGE(0x2800, 0x2803) AM_READ(asteroid_DSW1_r) /* DSW1 */ + AM_RANGE(0x2000, 0x2007) AM_READ(asteroid_IN0_r) /* IN0 */ + AM_RANGE(0x2400, 0x2407) AM_READ(asteroid_IN1_r) /* IN1 */ + AM_RANGE(0x2800, 0x2803) AM_READ(asteroid_DSW1_r) /* DSW1 */ AM_RANGE(0x3000, 0x3000) AM_WRITE(avgdvg_go_w) AM_RANGE(0x3200, 0x3200) AM_WRITE(asteroid_bank_switch_w) AM_RANGE(0x3400, 0x3400) AM_WRITE(watchdog_reset_w) @@ -225,7 +231,7 @@ static ADDRESS_MAP_START( asteroid_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x3c00, 0x3c05) AM_WRITE(asteroid_sounds_w) AM_RANGE(0x3e00, 0x3e00) AM_WRITE(asteroid_noise_reset_w) AM_RANGE(0x4000, 0x47ff) AM_RAM AM_BASE(&vectorram) AM_SIZE(&vectorram_size) AM_REGION(REGION_CPU1, 0x4000) - AM_RANGE(0x5000, 0x57ff) AM_ROM /* vector rom */ + AM_RANGE(0x5000, 0x57ff) AM_ROM /* vector rom */ AM_RANGE(0x6800, 0x7fff) AM_ROM ADDRESS_MAP_END @@ -235,9 +241,9 @@ static ADDRESS_MAP_START( astdelux_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x01ff) AM_RAM AM_RANGE(0x0200, 0x02ff) AM_RAM AM_RAMBANK(1) AM_BASE(&asteroid_ram1) AM_RANGE(0x0300, 0x03ff) AM_RAM AM_RAMBANK(2) AM_BASE(&asteroid_ram2) - AM_RANGE(0x2000, 0x2007) AM_READ(asteroid_IN0_r) /* IN0 */ - AM_RANGE(0x2400, 0x2407) AM_READ(asteroid_IN1_r) /* IN1 */ - AM_RANGE(0x2800, 0x2803) AM_READ(asteroid_DSW1_r) /* DSW1 */ + AM_RANGE(0x2000, 0x2007) AM_READ(asteroid_IN0_r) /* IN0 */ + AM_RANGE(0x2400, 0x2407) AM_READ(asteroid_IN1_r) /* IN1 */ + AM_RANGE(0x2800, 0x2803) AM_READ(asteroid_DSW1_r) /* DSW1 */ AM_RANGE(0x2c00, 0x2c0f) AM_READWRITE(pokey1_r, pokey1_w) AM_RANGE(0x2c40, 0x2c7f) AM_READ(atari_vg_earom_r) AM_RANGE(0x3000, 0x3000) AM_WRITE(avgdvg_go_w) @@ -251,7 +257,7 @@ static ADDRESS_MAP_START( astdelux_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x3c05, 0x3c07) AM_WRITE(astdelux_coin_counter_w) AM_RANGE(0x3e00, 0x3e00) AM_WRITE(asteroid_noise_reset_w) AM_RANGE(0x4000, 0x47ff) AM_RAM AM_BASE(&vectorram) AM_SIZE(&vectorram_size) AM_REGION(REGION_CPU1, 0x4000) - AM_RANGE(0x4800, 0x57ff) AM_ROM /* vector rom */ + AM_RANGE(0x4800, 0x57ff) AM_ROM /* vector rom */ AM_RANGE(0x6000, 0x7fff) AM_ROM ADDRESS_MAP_END @@ -259,17 +265,17 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( llander_map, ADDRESS_SPACE_PROGRAM, 8 ) ADDRESS_MAP_FLAGS( AMEF_ABITS(15) ) AM_RANGE(0x0000, 0x00ff) AM_RAM AM_MIRROR(0x1f00) - AM_RANGE(0x2000, 0x2000) AM_READ(llander_IN0_r) /* IN0 */ - AM_RANGE(0x2400, 0x2407) AM_READ(asteroid_IN1_r) /* IN1 */ - AM_RANGE(0x2800, 0x2803) AM_READ(asteroid_DSW1_r) /* DSW1 */ - AM_RANGE(0x2c00, 0x2c00) AM_READ(input_port_3_r) /* IN3 */ + AM_RANGE(0x2000, 0x2000) AM_READ(llander_IN0_r) /* IN0 */ + AM_RANGE(0x2400, 0x2407) AM_READ(asteroid_IN1_r) /* IN1 */ + AM_RANGE(0x2800, 0x2803) AM_READ(asteroid_DSW1_r) /* DSW1 */ + AM_RANGE(0x2c00, 0x2c00) AM_READ(input_port_3_r) /* IN3 */ AM_RANGE(0x3000, 0x3000) AM_WRITE(avgdvg_go_w) AM_RANGE(0x3200, 0x3200) AM_WRITE(llander_led_w) AM_RANGE(0x3400, 0x3400) AM_WRITE(watchdog_reset_w) AM_RANGE(0x3c00, 0x3c00) AM_WRITE(llander_sounds_w) AM_RANGE(0x3e00, 0x3e00) AM_WRITE(llander_snd_reset_w) AM_RANGE(0x4000, 0x47ff) AM_RAM AM_BASE(&vectorram) AM_SIZE(&vectorram_size) AM_REGION(REGION_CPU1, 0x4000) - AM_RANGE(0x4800, 0x5fff) AM_ROM /* vector rom */ + AM_RANGE(0x4800, 0x5fff) AM_ROM /* vector rom */ AM_RANGE(0x6000, 0x7fff) AM_ROM ADDRESS_MAP_END @@ -300,28 +306,28 @@ static INPUT_PORTS_START( asteroid ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN3 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START1 ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_CODE(KEYCODE_LALT) PORT_CODE(JOYCODE_BUTTON2) /* thrust */ - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CODE(KEYCODE_RIGHT) PORT_CODE(JOYCODE_X_RIGHT_SWITCH) /* right */ - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CODE(KEYCODE_LEFT) PORT_CODE(JOYCODE_X_LEFT_SWITCH) /* left */ + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_CODE(KEYCODE_LALT) PORT_CODE(JOYCODE_BUTTON2) /* thrust */ + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CODE(KEYCODE_RIGHT) PORT_CODE(JOYCODE_X_RIGHT_SWITCH)/* right */ + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CODE(KEYCODE_LEFT) PORT_CODE(JOYCODE_X_LEFT_SWITCH) /* left */ PORT_START_TAG("DSW") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("SW:1,2") PORT_DIPSETTING ( 0x00, DEF_STR( English ) ) PORT_DIPSETTING ( 0x01, DEF_STR( German ) ) PORT_DIPSETTING ( 0x02, DEF_STR( French ) ) PORT_DIPSETTING ( 0x03, DEF_STR( Spanish ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) ) + PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW:3") PORT_DIPSETTING ( 0x04, "3" ) PORT_DIPSETTING ( 0x00, "4" ) - PORT_DIPNAME( 0x08, 0x00, "Center Mech" ) /*Left same for 2-door mech*/ + PORT_DIPNAME( 0x08, 0x00, "Center Mech" ) PORT_DIPLOCATION("SW:4") /* Left/Center for 3-door mech */ PORT_DIPSETTING ( 0x00, "X 1" ) PORT_DIPSETTING ( 0x08, "X 2" ) - PORT_DIPNAME( 0x30, 0x00, "Right Mech" ) + PORT_DIPNAME( 0x30, 0x00, "Right Mech" ) PORT_DIPLOCATION("SW:5,6") PORT_DIPSETTING ( 0x00, "X 1" ) PORT_DIPSETTING ( 0x10, "X 4" ) PORT_DIPSETTING ( 0x20, "X 5" ) PORT_DIPSETTING ( 0x30, "X 6" ) - PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Coinage ) ) + PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW:7,8") PORT_DIPSETTING ( 0xc0, DEF_STR( 2C_1C ) ) PORT_DIPSETTING ( 0x80, DEF_STR( 1C_1C ) ) PORT_DIPSETTING ( 0x40, DEF_STR( 1C_2C ) ) @@ -330,7 +336,9 @@ INPUT_PORTS_END static INPUT_PORTS_START( asteroib ) - PORT_START_TAG("IN0") + PORT_INCLUDE( asteroid ) + + PORT_MODIFY("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* resets */ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* resets */ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT ) @@ -341,87 +349,50 @@ static INPUT_PORTS_START( asteroib ) /* Bit 7 is VG_HALT, handled in the machine dependent part */ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_START_TAG("IN1") + PORT_MODIFY("IN1") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_CODE(KEYCODE_LALT) PORT_CODE(JOYCODE_BUTTON2) /* thrust */ - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 ) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_CODE(KEYCODE_LCONTROL) PORT_CODE(JOYCODE_BUTTON1) /* fire */ - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CODE(KEYCODE_RIGHT) PORT_CODE(JOYCODE_X_RIGHT_SWITCH) /* right */ - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CODE(KEYCODE_LEFT) PORT_CODE(JOYCODE_X_LEFT_SWITCH) /* left */ + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_CODE(KEYCODE_LALT) PORT_CODE(JOYCODE_BUTTON2) /* thrust */ + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 ) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_CODE(KEYCODE_LCONTROL) PORT_CODE(JOYCODE_BUTTON1) /* fire */ - PORT_START_TAG("DSW") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) - PORT_DIPSETTING ( 0x00, DEF_STR( English ) ) - PORT_DIPSETTING ( 0x01, DEF_STR( German ) ) - PORT_DIPSETTING ( 0x02, DEF_STR( French ) ) - PORT_DIPSETTING ( 0x03, DEF_STR( Spanish ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) ) - PORT_DIPSETTING ( 0x04, "3" ) - PORT_DIPSETTING ( 0x00, "4" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) - PORT_DIPSETTING ( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING ( 0x08, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) - PORT_DIPSETTING ( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING ( 0x10, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) - PORT_DIPSETTING ( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING ( 0x20, DEF_STR( On ) ) - PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Coinage ) ) - PORT_DIPSETTING ( 0xc0, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING ( 0x80, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING ( 0x40, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING ( 0x00, DEF_STR( Free_Play ) ) + PORT_MODIFY("DSW") + PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SW:4" ) + PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW:5" ) + PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW:6" ) PORT_START_TAG("HS") /* hyperspace */ PORT_BIT( 0x7f, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_SPACE) PORT_CODE(JOYCODE_BUTTON3) /* hyperspace */ + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_SPACE) PORT_CODE(JOYCODE_BUTTON3) /* hyperspace */ INPUT_PORTS_END static INPUT_PORTS_START( asterock ) - PORT_START_TAG("IN0") + PORT_INCLUDE( asteroid ) + + PORT_MODIFY("IN0") /* Bit 0 is VG_HALT, handled in the machine dependent part */ - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* Bit 2 is the 3 KHz source */ - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_SPACE) PORT_CODE(JOYCODE_BUTTON3) /* hyperspace */ - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_LCONTROL) PORT_CODE(JOYCODE_BUTTON1) /* fire */ - PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Diagnostic Step") PORT_CODE(KEYCODE_F1) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_TILT ) PORT_SERVICE( 0x80, IP_ACTIVE_LOW ) - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN3 ) - PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_CODE(KEYCODE_LALT) PORT_CODE(JOYCODE_BUTTON2) /* thrust */ - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CODE(KEYCODE_RIGHT) PORT_CODE(JOYCODE_X_RIGHT_SWITCH) /* right */ - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CODE(KEYCODE_LEFT) PORT_CODE(JOYCODE_X_LEFT_SWITCH) /* left */ - - PORT_START_TAG("DSW") - PORT_DIPNAME( 0x03, 0x03, DEF_STR( Language ) ) + PORT_MODIFY("DSW") + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Language ) ) PORT_DIPLOCATION("SW:1,2") PORT_DIPSETTING( 0x00, DEF_STR( English ) ) PORT_DIPSETTING( 0x01, DEF_STR( French ) ) PORT_DIPSETTING( 0x02, DEF_STR( German ) ) PORT_DIPSETTING( 0x03, DEF_STR( Italian ) ) - PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) ) + PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW:3,4") PORT_DIPSETTING( 0x00, "2" ) PORT_DIPSETTING( 0x04, "3" ) PORT_DIPSETTING( 0x08, "4" ) PORT_DIPSETTING( 0x0c, "5" ) - PORT_DIPNAME( 0x10, 0x00, "Records Table" ) + PORT_DIPNAME( 0x10, 0x00, "Records Table" ) PORT_DIPLOCATION("SW:5") PORT_DIPSETTING( 0x00, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x10, "Special" ) - PORT_DIPNAME( 0x20, 0x00, "Coin Mode" ) + PORT_DIPNAME( 0x20, 0x00, "Coin Mode" ) PORT_DIPLOCATION("SW:6") PORT_DIPSETTING ( 0x00, DEF_STR( Normal ) ) PORT_DIPSETTING ( 0x20, "Special" ) - PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Coinage ) ) + PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW:7,8") PORT_DIPSETTING ( 0xc0, DEF_STR( 2C_1C ) ) PORT_CONDITION("DSW",0x20,PORTCOND_EQUALS,0x00) PORT_DIPSETTING ( 0x80, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW",0x20,PORTCOND_EQUALS,0x00) PORT_DIPSETTING ( 0x40, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW",0x20,PORTCOND_EQUALS,0x00) @@ -435,7 +406,7 @@ INPUT_PORTS_END static INPUT_PORTS_START( astdelux ) PORT_START_TAG("IN0") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) /* According to schematics */ /* Bit 2 and 3 are handled in the machine dependent part. */ /* Bit 2 is the 3 KHz source and Bit 3 the VG_HALT bit */ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) @@ -447,58 +418,73 @@ static INPUT_PORTS_START( astdelux ) PORT_SERVICE( 0x80, IP_ACTIVE_HIGH ) PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN3 ) + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) /* Coin Left */ + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) /* Coin Center */ + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN3 ) /* Coin Right */ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START1 ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_CODE(KEYCODE_LALT) PORT_CODE(JOYCODE_BUTTON2) /* thrust */ - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CODE(KEYCODE_RIGHT) PORT_CODE(JOYCODE_X_RIGHT_SWITCH) /* right */ - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CODE(KEYCODE_LEFT) PORT_CODE(JOYCODE_X_LEFT_SWITCH) /* left */ + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_CODE(KEYCODE_LALT) PORT_CODE(JOYCODE_BUTTON2) /* thrust */ + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CODE(KEYCODE_RIGHT) PORT_CODE(JOYCODE_X_RIGHT_SWITCH)/* right */ + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CODE(KEYCODE_LEFT) PORT_CODE(JOYCODE_X_LEFT_SWITCH) /* left */ PORT_START_TAG("DSW1") - PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("R5:1,2") PORT_DIPSETTING ( 0x00, DEF_STR( English ) ) PORT_DIPSETTING ( 0x01, DEF_STR( German ) ) PORT_DIPSETTING ( 0x02, DEF_STR( French ) ) PORT_DIPSETTING ( 0x03, DEF_STR( Spanish ) ) - PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ) ) + /* Default lives is 2,3,4,5. Values incremented by 1 if Bonus Life set to None or Coinage set to 2C_1C. + Incremented by 2 if both are set at the same time. PORT_CONDITION() can only test for 1 switch at a time. */ + PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("R5:3,4") /* Default is 2 or 3 depending on manual version */ PORT_DIPSETTING ( 0x00, "2-4" ) PORT_DIPSETTING ( 0x04, "3-5" ) PORT_DIPSETTING ( 0x08, "4-6" ) PORT_DIPSETTING ( 0x0c, "5-7" ) - PORT_DIPNAME( 0x10, 0x00, "Minimum plays" ) + PORT_DIPNAME( 0x10, 0x00, "Minimum Plays" ) PORT_DIPLOCATION("R5:5") PORT_DIPSETTING ( 0x00, "1" ) PORT_DIPSETTING ( 0x10, "2" ) - PORT_DIPNAME( 0x20, 0x00, DEF_STR( Difficulty ) ) + PORT_DIPNAME( 0x20, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("R5:6") /* Listed as "Unused" */ PORT_DIPSETTING ( 0x00, DEF_STR( Hard ) ) PORT_DIPSETTING ( 0x20, DEF_STR( Easy ) ) - PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Bonus_Life ) ) + PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("R5:7,8") PORT_DIPSETTING ( 0x00, "10000" ) PORT_DIPSETTING ( 0x40, "12000" ) PORT_DIPSETTING ( 0x80, "15000" ) PORT_DIPSETTING ( 0xc0, DEF_STR( None ) ) PORT_START_TAG("DSW2") - PORT_DIPNAME( 0x03, 0x01, DEF_STR( Coinage ) ) + PORT_DIPNAME( 0x03, 0x01, DEF_STR( Coinage ) ) PORT_DIPLOCATION("L8:1,2") PORT_DIPSETTING ( 0x00, DEF_STR( 2C_1C ) ) PORT_DIPSETTING ( 0x01, DEF_STR( 1C_1C ) ) PORT_DIPSETTING ( 0x02, DEF_STR( 1C_2C ) ) PORT_DIPSETTING ( 0x03, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0x0c, 0x0c, "Right Coin" ) - PORT_DIPSETTING ( 0x00, "*6" ) - PORT_DIPSETTING ( 0x04, "*5" ) - PORT_DIPSETTING ( 0x08, "*4" ) - PORT_DIPSETTING ( 0x0c, "*1" ) - PORT_DIPNAME( 0x10, 0x10, "Center Coin" ) - PORT_DIPSETTING ( 0x00, "*2" ) - PORT_DIPSETTING ( 0x10, "*1" ) - PORT_DIPNAME( 0xe0, 0x80, "Bonus Coins" ) - PORT_DIPSETTING ( 0x60, "1 each 5" ) - PORT_DIPSETTING ( 0x80, "2 each 4" ) - PORT_DIPSETTING ( 0xa0, "1 each 4" ) - PORT_DIPSETTING ( 0xc0, "1 each 2" ) + PORT_DIPNAME( 0x0c, 0x0c, "Right Coin" ) PORT_DIPLOCATION("L8:3,4") + PORT_DIPSETTING ( 0x00, "X 6" ) + PORT_DIPSETTING ( 0x04, "X 5" ) + PORT_DIPSETTING ( 0x08, "X 4" ) + PORT_DIPSETTING ( 0x0c, "X 1" ) + PORT_DIPNAME( 0x10, 0x10, "Center Coin" ) PORT_DIPLOCATION("L8:5") /* "Left Coin" in a 2-mech door */ + PORT_DIPSETTING ( 0x00, "X 2" ) + PORT_DIPSETTING ( 0x10, "X 1" ) + PORT_DIPNAME( 0xe0, 0xe0, "Bonus Coins" ) PORT_DIPLOCATION("L8:6,7,8") + PORT_DIPSETTING ( 0x60, "1 Coin Each 5 Coins" ) + PORT_DIPSETTING ( 0x80, "2 Coins Each 4 Coins" ) + PORT_DIPSETTING ( 0xa0, "1 Coin Each 4 Coins" ) + PORT_DIPSETTING ( 0xc0, "1 Coin Each 2 Coins" ) PORT_DIPSETTING ( 0xe0, DEF_STR( None ) ) + + /* The manual includes a 3rd DIP controlling the number & configuration of coin counters, defined as: + PORT_START_TAG("DSW3") // 4-Toggle switch located on game PCB at M12 + PORT_DIPNAME( 0x03, 0x00, "Coin Counters" ) PORT_DIPLOCATION("M12:1,2") + PORT_DIPSETTING ( 0x00, "1=Left, Center & Right" ) // "For games having these coin doors: Thai 1Baht/1Baht, German 1DM/1DM, US 25c/25c, + // Belgian or French 5Fr/5Fr, Swiss or French 1Fr/1Fr, US 25c/25c/25c, + // Japanese 100Y/100Y, Swedish 1Kr/1Kr, UK 10P/10P, Australian 20c/20c, or Italian 100L/100L." + PORT_DIPSETTING ( 0x01, "1=Left & Center, 2=Right" ) // "For games having these coin doors: German 2DM/1DM, German 1DM/5DM, US 25c/25c/1$, or US 25c/1$." + PORT_DIPSETTING ( 0x02, "1=Left, 2=Center & Right" ) // "No coin door is currently designed for this configuration." + PORT_DIPSETTING ( 0x03, "1=Left, 2=Center, 3=Right" ) // "For games having these coin doors: German 1DM/2DM/5DM." + PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "M12:3" ) // Listed as "Unused" + PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "M12:4" ) // Listed as "Unused" + */ INPUT_PORTS_END @@ -514,29 +500,29 @@ static INPUT_PORTS_START( llander ) PORT_START_TAG("IN1") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN3 ) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START2 ) PORT_NAME("Select Game") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN3 ) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START2 ) PORT_NAME("Select Game") PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Abort") PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CODE(KEYCODE_RIGHT) PORT_CODE(JOYCODE_X_RIGHT_SWITCH) /* right */ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CODE(KEYCODE_LEFT) PORT_CODE(JOYCODE_X_LEFT_SWITCH) /* left */ PORT_START_TAG("DSW") - PORT_DIPNAME( 0x03, 0x01, "Right Coin" ) - PORT_DIPSETTING ( 0x00, "*1" ) - PORT_DIPSETTING ( 0x01, "*4" ) - PORT_DIPSETTING ( 0x02, "*5" ) - PORT_DIPSETTING ( 0x03, "*6" ) - PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Language ) ) + PORT_DIPNAME( 0x03, 0x00, "Right Coin" ) PORT_DIPLOCATION("P8:1,2") /* "Left Coin Mech always registers X 1" */ + PORT_DIPSETTING ( 0x00, "X 1" ) + PORT_DIPSETTING ( 0x01, "X 4" ) + PORT_DIPSETTING ( 0x02, "X 5" ) + PORT_DIPSETTING ( 0x03, "X 6" ) + PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("P8:3,4") PORT_DIPSETTING ( 0x00, DEF_STR( English ) ) PORT_DIPSETTING ( 0x04, DEF_STR( French ) ) PORT_DIPSETTING ( 0x08, DEF_STR( Spanish ) ) PORT_DIPSETTING ( 0x0c, DEF_STR( German ) ) - PORT_DIPNAME( 0x20, 0x00, DEF_STR( Coinage ) ) + PORT_DIPNAME( 0x20, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("P8:6") PORT_DIPSETTING ( 0x00, DEF_STR( Normal ) ) PORT_DIPSETTING ( 0x20, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0xd0, 0x80, "Fuel units" ) + PORT_DIPNAME( 0xd0, 0x80, "Fuel Units Per Coin" ) PORT_DIPLOCATION("P8:5,7,8") PORT_DIPSETTING ( 0x00, "450" ) PORT_DIPSETTING ( 0x40, "600" ) PORT_DIPSETTING ( 0x80, "750" ) @@ -556,49 +542,18 @@ INPUT_PORTS_END static INPUT_PORTS_START( llander1 ) - PORT_START_TAG("IN0") - /* Bit 0 is VG_HALT, handled in the machine dependent part */ - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) - PORT_SERVICE( 0x02, IP_ACTIVE_LOW ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_TILT ) - /* Of the rest, Bit 6 is the 3KHz source. 3,4 and 5 are unknown */ - PORT_BIT( 0x78, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Diagnostic Step") PORT_CODE(KEYCODE_F1) + PORT_INCLUDE( llander ) - PORT_START_TAG("IN1") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN2 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN3 ) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START2 ) PORT_NAME("Select Game") - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Abort") - PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_CODE(KEYCODE_RIGHT) PORT_CODE(JOYCODE_X_RIGHT_SWITCH) /* right */ - PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CODE(KEYCODE_LEFT) PORT_CODE(JOYCODE_X_LEFT_SWITCH) /* left */ - - PORT_START_TAG("DSW") - PORT_DIPNAME( 0x03, 0x01, "Right Coin" ) - PORT_DIPSETTING ( 0x00, "*1" ) - PORT_DIPSETTING ( 0x01, "*4" ) - PORT_DIPSETTING ( 0x02, "*5" ) - PORT_DIPSETTING ( 0x03, "*6" ) - PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Language ) ) - PORT_DIPSETTING ( 0x00, DEF_STR( English ) ) - PORT_DIPSETTING ( 0x04, DEF_STR( French ) ) - PORT_DIPSETTING ( 0x08, DEF_STR( Spanish ) ) - PORT_DIPSETTING ( 0x0c, DEF_STR( German ) ) - PORT_DIPNAME( 0x10, 0x00, DEF_STR( Coinage ) ) + PORT_MODIFY("DSW") + PORT_DIPNAME( 0x10, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("P8:5") /* "Left Coin Mech always registers X 1" */ PORT_DIPSETTING ( 0x00, DEF_STR( Normal ) ) PORT_DIPSETTING ( 0x10, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0xc0, 0x80, "Fuel units" ) + PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "P8:6" ) /* Listed as "Unused" */ + PORT_DIPNAME( 0xc0, 0x80, "Fuel units" ) PORT_DIPLOCATION("P8:7,8") PORT_DIPSETTING ( 0x00, "450" ) PORT_DIPSETTING ( 0x40, "600" ) PORT_DIPSETTING ( 0x80, "750" ) PORT_DIPSETTING ( 0xc0, "900" ) - - /* The next one is a potentiometer */ - /* see llander paddle notes */ - PORT_START_TAG("IN3") - PORT_BIT( 0xff, 0x00, IPT_PADDLE ) PORT_MINMAX(0,254) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_CODE_DEC(KEYCODE_UP) PORT_CODE_DEC(JOYCODE_Y_UP_SWITCH) PORT_CODE_INC(KEYCODE_DOWN) PORT_CODE_INC(JOYCODE_Y_DOWN_SWITCH) PORT_REVERSE INPUT_PORTS_END @@ -935,14 +890,14 @@ static DRIVER_INIT( asterock ) * *************************************/ -GAME( 1979, asteroid, 0, asteroid, asteroid, 0, ROT0, "Atari", "Asteroids (rev 2)", 0 ) -GAME( 1979, asteroi1, asteroid, asteroid, asteroid, 0, ROT0, "Atari", "Asteroids (rev 1)", 0 ) -GAME( 1979, asteroib, asteroid, asteroid, asteroib, asteroib, ROT0, "bootleg", "Asteroids (bootleg on Lunar Lander hardware)", 0 ) -GAME( 1979, asterock, asteroid, asterock, asterock, asterock, ROT0, "Sidam", "Asterock", 0 ) -GAME( 1979, meteorts, asteroid, asteroid, asteroid, 0, ROT0, "VGG", "Meteorites", 0 ) -GAME( 1980, meteorho, asteroid, asteroid, asteroid, 0, ROT0, "Hoei", "Meteor", 0 ) -GAMEL(1980, astdelux, 0, astdelux, astdelux, 0, ROT0, "Atari", "Asteroids Deluxe (rev 3)", 0, layout_ho88ffff ) -GAMEL(1980, astdelu2, astdelux, astdelux, astdelux, 0, ROT0, "Atari", "Asteroids Deluxe (rev 2)", 0, layout_ho88ffff ) -GAMEL(1980, astdelu1, astdelux, astdelux, astdelux, 0, ROT0, "Atari", "Asteroids Deluxe (rev 1)", 0, layout_ho88ffff ) -GAME( 1979, llander, 0, llander, llander, 0, ROT0, "Atari", "Lunar Lander (rev 2)", 0 ) -GAME( 1979, llander1, llander, llander, llander1, 0, ROT0, "Atari", "Lunar Lander (rev 1)", 0 ) +GAME( 1979, asteroid, 0, asteroid, asteroid, 0, ROT0, "Atari", "Asteroids (rev 2)", 0 ) +GAME( 1979, asteroi1, asteroid, asteroid, asteroid, 0, ROT0, "Atari", "Asteroids (rev 1)", 0 ) +GAME( 1979, asteroib, asteroid, asteroid, asteroib, asteroib, ROT0, "bootleg", "Asteroids (bootleg on Lunar Lander hardware)", 0 ) +GAME( 1979, asterock, asteroid, asterock, asterock, asterock, ROT0, "Sidam", "Asterock", 0 ) +GAME( 1979, meteorts, asteroid, asteroid, asteroid, 0, ROT0, "VGG", "Meteorites", 0 ) +GAME( 1980, meteorho, asteroid, asteroid, asteroid, 0, ROT0, "Hoei", "Meteor", 0 ) +GAMEL(1980, astdelux, 0, astdelux, astdelux, 0, ROT0, "Atari", "Asteroids Deluxe (rev 3)", 0, layout_ho88ffff ) +GAMEL(1980, astdelu2, astdelux, astdelux, astdelux, 0, ROT0, "Atari", "Asteroids Deluxe (rev 2)", 0, layout_ho88ffff ) +GAMEL(1980, astdelu1, astdelux, astdelux, astdelux, 0, ROT0, "Atari", "Asteroids Deluxe (rev 1)", 0, layout_ho88ffff ) +GAME( 1979, llander, 0, llander, llander, 0, ROT0, "Atari", "Lunar Lander (rev 2)", 0 ) +GAME( 1979, llander1, llander, llander, llander1, 0, ROT0, "Atari", "Lunar Lander (rev 1)", 0 ) diff --git a/src/osd/windows/d3d8intf.c b/src/osd/windows/d3d8intf.c index 02b403b4c84..126af95891e 100644 --- a/src/osd/windows/d3d8intf.c +++ b/src/osd/windows/d3d8intf.c @@ -1,6 +1,6 @@ //============================================================ // -// d3d9intf.c - Direct3D 8.1 abstraction layer +// d3d8intf.c - Direct3D 8.1 abstraction layer // // Copyright Nicola Salmoria and the MAME Team. // Visit http://mamedev.org for licensing and usage restrictions.