mirror of
https://github.com/holub/mame
synced 2025-06-06 21:03:47 +03:00
From: RansAckeR [mailto:RansAckeR@pandora.be]
Subject: port definitions/DIP improvements Simplified port definitions in armedf.c, artmagic.c & asteroid.c. Added DIP locations to: cclimbr2 , legion, terraf, ultennis, cheesech, stonebal, stoneba2, scessjoe, ashnojoe, asteroid, llander, llander1, astdelux. (This is the follow-up submission with stephh's complaint addressed.)
This commit is contained in:
parent
8024faaa6d
commit
1f7c87ec68
@ -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 )
|
||||
|
@ -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 )
|
||||
|
@ -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 )
|
||||
|
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user