Changed Seibu sound CPU to use AM_READ_PORT("COIN") instead of input_port_0_r.

Added in bloodbro.c driver partial work from RansAckeR :
  - dips locations
  - coin modes

Added notes for 'bloodbra'.
This commit is contained in:
stephh 2008-03-30 10:19:43 +00:00
parent ad4ef5d256
commit 652ffd72f9
12 changed files with 220 additions and 296 deletions

View File

@ -514,7 +514,7 @@ ADDRESS_MAP_START( seibu_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x4009, 0x4009) AM_WRITE(YM3812_write_port_0_w)
AM_RANGE(0x4010, 0x4011) AM_READ(seibu_soundlatch_r)
AM_RANGE(0x4012, 0x4012) AM_READ(seibu_main_data_pending_r)
AM_RANGE(0x4013, 0x4013) AM_READ(input_port_0_r)
AM_RANGE(0x4013, 0x4013) AM_READ_PORT("COIN")
AM_RANGE(0x4018, 0x4019) AM_WRITE(seibu_main_data_w)
AM_RANGE(0x401b, 0x401b) AM_WRITE(seibu_coin_w)
AM_RANGE(0x6000, 0x6000) AM_READWRITE(OKIM6295_status_0_r, OKIM6295_data_0_w)
@ -534,7 +534,7 @@ ADDRESS_MAP_START( seibu2_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x4009, 0x4009) AM_READWRITE(YM2151_status_port_0_r, YM2151_data_port_0_w)
AM_RANGE(0x4010, 0x4011) AM_READ(seibu_soundlatch_r)
AM_RANGE(0x4012, 0x4012) AM_READ(seibu_main_data_pending_r)
AM_RANGE(0x4013, 0x4013) AM_READ(input_port_0_r)
AM_RANGE(0x4013, 0x4013) AM_READ_PORT("COIN")
AM_RANGE(0x4018, 0x4019) AM_WRITE(seibu_main_data_w)
AM_RANGE(0x401b, 0x401b) AM_WRITE(seibu_coin_w)
AM_RANGE(0x6000, 0x6000) AM_READWRITE(OKIM6295_status_0_r, OKIM6295_data_0_w)
@ -555,7 +555,7 @@ ADDRESS_MAP_START( seibu3_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x4009, 0x4009) AM_READWRITE(YM2203_read_port_0_r, YM2203_write_port_0_w)
AM_RANGE(0x4010, 0x4011) AM_READ(seibu_soundlatch_r)
AM_RANGE(0x4012, 0x4012) AM_READ(seibu_main_data_pending_r)
AM_RANGE(0x4013, 0x4013) AM_READ(input_port_0_r)
AM_RANGE(0x4013, 0x4013) AM_READ_PORT("COIN")
AM_RANGE(0x4018, 0x4019) AM_WRITE(seibu_main_data_w)
AM_RANGE(0x401b, 0x401b) AM_WRITE(seibu_coin_w)
AM_RANGE(0x6008, 0x6008) AM_READWRITE(YM2203_status_port_1_r, YM2203_control_port_1_w)
@ -576,7 +576,7 @@ ADDRESS_MAP_START( seibu3_adpcm_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x4009, 0x4009) AM_READWRITE(YM2203_read_port_0_r, YM2203_write_port_0_w)
AM_RANGE(0x4010, 0x4011) AM_READ(seibu_soundlatch_r)
AM_RANGE(0x4012, 0x4012) AM_READ(seibu_main_data_pending_r)
AM_RANGE(0x4013, 0x4013) AM_READ(input_port_0_r)
AM_RANGE(0x4013, 0x4013) AM_READ_PORT("COIN")
AM_RANGE(0x4018, 0x4019) AM_WRITE(seibu_main_data_w)
AM_RANGE(0x401a, 0x401a) AM_WRITE(seibu_adpcm_ctl_1_w)
AM_RANGE(0x401b, 0x401b) AM_WRITE(seibu_coin_w)

View File

@ -70,8 +70,8 @@ extern const struct YM2203interface seibu_ym2203_interface;
/**************************************************************************/
#define SEIBU_COIN_INPUTS \
PORT_START \
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(4) \
PORT_START_TAG("COIN") \
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(4) \
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(4)

View File

@ -57,7 +57,19 @@ Stephh's notes (based on the games M68000 code and some tests) :
entering the initials (code at 0x004a1e, 0x014bb0 and 0x014c84)
2) 'weststry'
2) 'bloodbra'
- When "Starting Coin" Dip Switch is set to "x2", you need 2 coins to start
a game (but 1 coin to join), then 1 coin to continue.
However, it you insert 2 coins, and press START2, you start a 2 players game.
Also note that when "Starting Coin" Dip Switch is set to "x2", SERVICE1
adds 2 credits instead of 1.
- Bits 6 and 7 of DSW are told to be unused, but they are tested before
entering the initials (code at 0x004a46, 0x014bd8 and 0x014cac)
3) 'weststry'
- This bootleg has been realised by Datsu in 1991. This "company" also
bootlegged "Toki" (another TAD game) in 1990.
@ -72,7 +84,7 @@ Stephh's notes (based on the games M68000 code and some tests) :
- Bit 7 of DSW is also "merged" with bit 6 (code at 0x0002f6 and 0x000326).
3) 'skysmash'
4) 'skysmash'
- This game only has 2 buttons : bits 6 and 14 of players inputs are NEVER tested !
@ -90,6 +102,9 @@ Stephh's notes (based on the games M68000 code and some tests) :
Dip Switch as in 'toki' (same manufacturer and similar hardware).
DIP locations verified for:
- bloodbro (manual)
**************************************************************************/
#include "driver.h"
@ -131,9 +146,9 @@ static ADDRESS_MAP_START( bloodbro_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x0c0080, 0x0c0081) AM_WRITENOP // ??? IRQ Ack VBL?
AM_RANGE(0x0c00c0, 0x0c00c1) AM_WRITENOP // ??? watchdog?
AM_RANGE(0x0c0100, 0x0c0101) AM_WRITENOP // ??? written once
AM_RANGE(0x0e0000, 0x0e0001) AM_READ(input_port_1_word_r)
AM_RANGE(0x0e0002, 0x0e0003) AM_READ(input_port_2_word_r)
AM_RANGE(0x0e0004, 0x0e0005) AM_READ(input_port_3_word_r)
AM_RANGE(0x0e0000, 0x0e0001) AM_READ_PORT("DSW")
AM_RANGE(0x0e0002, 0x0e0003) AM_READ_PORT("IN0")
AM_RANGE(0x0e0004, 0x0e0005) AM_READ_PORT("IN1")
ADDRESS_MAP_END
static ADDRESS_MAP_START( weststry_map, ADDRESS_SPACE_PROGRAM, 16 )
@ -146,9 +161,9 @@ static ADDRESS_MAP_START( weststry_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x08d400, 0x08d7ff) AM_RAM
AM_RANGE(0x08d800, 0x08dfff) AM_RAM AM_WRITE(bloodbro_txvideoram_w) AM_BASE(&bloodbro_txvideoram)
AM_RANGE(0x08e000, 0x08ffff) AM_RAM
AM_RANGE(0x0c1000, 0x0c1001) AM_READ(input_port_0_word_r)
AM_RANGE(0x0c1002, 0x0c1003) AM_READ(input_port_1_word_r)
AM_RANGE(0x0c1004, 0x0c1005) AM_READ(input_port_2_word_r)
AM_RANGE(0x0c1000, 0x0c1001) AM_READ_PORT("DSW")
AM_RANGE(0x0c1002, 0x0c1003) AM_READ_PORT("IN0")
AM_RANGE(0x0c1004, 0x0c1005) AM_READ_PORT("IN1")
AM_RANGE(0x0c1000, 0x0c17ff) AM_RAM
AM_RANGE(0x128000, 0x1287ff) AM_RAM AM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE(&paletteram16)
AM_RANGE(0x120000, 0x128fff) AM_RAM
@ -156,70 +171,89 @@ ADDRESS_MAP_END
/* Input Ports */
static INPUT_PORTS_START( bloodbro )
SEIBU_COIN_INPUTS /* Must be port 0: coin inputs read through sound cpu */
PORT_START
PORT_DIPNAME( 0x0001, 0x0001, "Coin Mode" )
PORT_DIPSETTING( 0x0001, "Mode 1" )
PORT_DIPSETTING( 0x0000, "Mode 2" )
/* Coin Mode 1 */
PORT_DIPNAME( 0x001e, 0x001e, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x0014, DEF_STR( 6C_1C ) )
PORT_DIPSETTING( 0x0016, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x0018, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x001a, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 8C_3C ) )
PORT_DIPSETTING( 0x001c, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0004, DEF_STR( 5C_3C ) )
PORT_DIPSETTING( 0x0006, DEF_STR( 3C_2C ) )
PORT_DIPSETTING( 0x001e, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0008, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0012, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0010, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x000e, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x000c, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x000a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) )
/* Coin Mode 2
PORT_DIPNAME( 0x0006, 0x0006, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0004, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0006, DEF_STR( 1C_1C ) )
PORT_DIPNAME( 0x0018, 0x0018, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x0018, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0010, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0008, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) )
*/
PORT_DIPNAME( 0x0020, 0x0020, "Starting Coin" )
PORT_DIPSETTING( 0x0020, DEF_STR( Normal ) )
#define BLOODBRO_COINAGE \
PORT_DIPNAME( 0x0001, 0x0001, "Coin Mode" ) PORT_DIPLOCATION("SW1:1") \
PORT_DIPSETTING( 0x0001, "Mode 1" ) \
PORT_DIPSETTING( 0x0000, "Mode 2" ) \
/* Coin Mode 1 */ \
PORT_DIPNAME( 0x001e, 0x001e, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:2,3,4,5") PORT_CONDITION("DSW",0x0001,PORTCOND_EQUALS,0x0001) \
PORT_DIPSETTING( 0x0014, DEF_STR( 6C_1C ) ) \
PORT_DIPSETTING( 0x0016, DEF_STR( 5C_1C ) ) \
PORT_DIPSETTING( 0x0018, DEF_STR( 4C_1C ) ) \
PORT_DIPSETTING( 0x001a, DEF_STR( 3C_1C ) ) \
PORT_DIPSETTING( 0x0002, DEF_STR( 8C_3C ) ) \
PORT_DIPSETTING( 0x001c, DEF_STR( 2C_1C ) ) \
PORT_DIPSETTING( 0x0004, DEF_STR( 5C_3C ) ) \
PORT_DIPSETTING( 0x0006, DEF_STR( 3C_2C ) ) \
PORT_DIPSETTING( 0x001e, DEF_STR( 1C_1C ) ) \
PORT_DIPSETTING( 0x0008, DEF_STR( 2C_3C ) ) \
PORT_DIPSETTING( 0x0012, DEF_STR( 1C_2C ) ) \
PORT_DIPSETTING( 0x0010, DEF_STR( 1C_3C ) ) \
PORT_DIPSETTING( 0x000e, DEF_STR( 1C_4C ) ) \
PORT_DIPSETTING( 0x000c, DEF_STR( 1C_5C ) ) \
PORT_DIPSETTING( 0x000a, DEF_STR( 1C_6C ) ) \
PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) ) \
/* Coin Mode 2 */ \
PORT_DIPNAME( 0x0006, 0x0006, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:2,3") PORT_CONDITION("DSW",0x0001,PORTCOND_EQUALS,0x0000) \
PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) ) \
PORT_DIPSETTING( 0x0002, DEF_STR( 3C_1C ) ) \
PORT_DIPSETTING( 0x0004, DEF_STR( 2C_1C ) ) \
PORT_DIPSETTING( 0x0006, DEF_STR( 1C_1C ) ) \
PORT_DIPNAME( 0x0018, 0x0018, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:4,5") PORT_CONDITION("DSW",0x0001,PORTCOND_EQUALS,0x0000) \
PORT_DIPSETTING( 0x0018, DEF_STR( 1C_2C ) ) \
PORT_DIPSETTING( 0x0010, DEF_STR( 1C_3C ) ) \
PORT_DIPSETTING( 0x0008, DEF_STR( 1C_5C ) ) \
PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) ) \
PORT_DIPNAME( 0x0020, 0x0020, "Starting Coin" ) PORT_DIPLOCATION("SW1:6") \
PORT_DIPSETTING( 0x0020, DEF_STR( Normal ) ) \
PORT_DIPSETTING( 0x0000, "x2" )
PORT_BIT( 0x00c0, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) )
static INPUT_PORTS_START( weststry )
PORT_START_TAG("DSW")
BLOODBRO_COINAGE
/* SW1:7,8 is listed as "ROM change option", "optional"
A B C D
Coin Up 0 1 1 1
Screen Complete 0 0 0 1
Stage Complete 1 1 3 1
Top 10 1 3 3 3
High Score 1 4 5 4
Complete Game 5 5 10 15
D limits 8 tickets/coin except completion
The sets handled in MAME don't seem to have this "feature"
PORT_DIPNAME( 0x00c0, 0x00c0, "Ticket Dispenser Payout Mode" ) PORT_DIPLOCATION("SW1:7,8")
PORT_DIPSETTING( 0x00c0, "A" )
PORT_DIPSETTING( 0x0080, "B" )
PORT_DIPSETTING( 0x0040, "C" )
PORT_DIPSETTING( 0x0000, "D" )
*/
PORT_DIPUNKNOWN_DIPLOC( 0x0040, IP_ACTIVE_LOW, "SW1:7" )
PORT_DIPUNKNOWN_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" )
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0000, "1" )
PORT_DIPSETTING( 0x0200, "2" )
PORT_DIPSETTING( 0x0300, "3" )
PORT_DIPSETTING( 0x0100, "5" )
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Bonus_Life ) )
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0c00, "300K 500K+" )
PORT_DIPSETTING( 0x0800, "500K+" )
PORT_DIPSETTING( 0x0400, "500K" )
PORT_DIPSETTING( 0x0000, DEF_STR( None ) )
PORT_DIPNAME( 0x3000, 0x3000, DEF_STR( Difficulty ) )
PORT_DIPNAME( 0x3000, 0x3000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x2000, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x3000, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Very_Hard ) )
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Allow_Continue ) )
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Yes ) )
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x8000, DEF_STR( On ) )
PORT_START
PORT_START_TAG("IN0")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
@ -237,97 +271,7 @@ static INPUT_PORTS_START( bloodbro )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) // "Dynamite"
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* tested - check code at 0x0005fe - VBLANK ? */
PORT_START
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x000e, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x00e0, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* tested - check code at 0x000800 */
PORT_BIT( 0x0e00, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0xe000, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
static INPUT_PORTS_START( weststry )
PORT_START
PORT_DIPNAME( 0x0001, 0x0001, "Coin Mode" )
PORT_DIPSETTING( 0x0001, "Mode 1" )
PORT_DIPSETTING( 0x0000, "Mode 2" )
/* Coin Mode 1 */
PORT_DIPNAME( 0x001e, 0x001e, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x0014, DEF_STR( 6C_1C ) )
PORT_DIPSETTING( 0x0016, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x0018, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x001a, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 8C_3C ) )
PORT_DIPSETTING( 0x001c, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0004, DEF_STR( 5C_3C ) )
PORT_DIPSETTING( 0x0006, DEF_STR( 3C_2C ) )
PORT_DIPSETTING( 0x001e, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0008, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0012, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0010, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x000e, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x000c, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x000a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) )
/* Coin Mode 2
PORT_DIPNAME( 0x0006, 0x0006, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0004, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0006, DEF_STR( 1C_1C ) )
PORT_DIPNAME( 0x0018, 0x0018, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x0018, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0010, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0008, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) )
*/
PORT_DIPNAME( 0x0020, 0x0020, "Starting Coin" )
PORT_DIPSETTING( 0x0020, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0000, "x2" )
PORT_BIT( 0x00c0, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x0000, "1" )
PORT_DIPSETTING( 0x0200, "2" )
PORT_DIPSETTING( 0x0300, "3" )
PORT_DIPSETTING( 0x0100, "5" )
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x0c00, "300K 500K+" )
PORT_DIPSETTING( 0x0800, "500K+" )
PORT_DIPSETTING( 0x0400, "500K" )
PORT_DIPSETTING( 0x0000, DEF_STR( None ) )
PORT_DIPNAME( 0x3000, 0x3000, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x3000, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Very_Hard ) )
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Allow_Continue ) )
PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Yes ) )
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x8000, DEF_STR( On ) )
PORT_START
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) // "Fire"
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) // "Roll"
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) // "Dynamite"
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) // "Fire"
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) // "Roll"
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) // "Dynamite"
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START
PORT_START_TAG("IN1")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -337,70 +281,50 @@ static INPUT_PORTS_START( weststry )
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
static INPUT_PORTS_START( skysmash )
SEIBU_COIN_INPUTS /* Must be port 0: coin inputs read through sound cpu */
static INPUT_PORTS_START( bloodbro )
PORT_INCLUDE( weststry )
PORT_START
PORT_DIPNAME( 0x0001, 0x0001, "Coin Mode" )
PORT_DIPSETTING( 0x0001, "Mode 1" )
PORT_DIPSETTING( 0x0000, "Mode 2" )
/* Coin Mode 1 */
PORT_DIPNAME( 0x001e, 0x001e, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x0014, DEF_STR( 6C_1C ) )
PORT_DIPSETTING( 0x0016, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x0018, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x001a, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 8C_3C ) )
PORT_DIPSETTING( 0x001c, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0004, DEF_STR( 5C_3C ) )
PORT_DIPSETTING( 0x0006, DEF_STR( 3C_2C ) )
PORT_DIPSETTING( 0x001e, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0008, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0012, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0010, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x000e, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x000c, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x000a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) )
/* Coin Mode 2
PORT_DIPNAME( 0x0006, 0x0006, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0004, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0006, DEF_STR( 1C_1C ) )
PORT_DIPNAME( 0x0018, 0x0018, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x0018, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0010, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0008, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 1C_6C ) )
*/
PORT_DIPNAME( 0x0020, 0x0020, "Starting Coin" )
PORT_DIPSETTING( 0x0020, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0000, "x2" )
PORT_BIT( 0x00c0, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) )
PORT_MODIFY("IN1")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x000e, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x00e0, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* tested - check code at 0x000800 */
PORT_BIT( 0x0e00, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0xe000, IP_ACTIVE_LOW, IPT_UNKNOWN )
SEIBU_COIN_INPUTS /* coin inputs read through sound cpu */
INPUT_PORTS_END
static INPUT_PORTS_START( skysmash )
PORT_START_TAG("DSW")
BLOODBRO_COINAGE
PORT_DIPUNUSED_DIPLOC( 0x0040, IP_ACTIVE_LOW, "SW1:7" ) /* see notes */
PORT_DIPUNUSED_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SW1:8" ) /* see notes */
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x0200, "2" )
PORT_DIPSETTING( 0x0300, "3" )
PORT_DIPSETTING( 0x0100, "5" )
PORT_DIPSETTING( 0x0000, DEF_STR( Infinite ) )
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Bonus_Life ) )
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW2:3,4")
PORT_DIPSETTING( 0x0c00, "120K 200K+" )
PORT_DIPSETTING( 0x0800, "200K+" )
PORT_DIPSETTING( 0x0400, "250K+" )
PORT_DIPSETTING( 0x0000, "200K" )
PORT_DIPNAME( 0x3000, 0x3000, DEF_STR( Difficulty ) )
PORT_DIPNAME( 0x3000, 0x3000, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:5,6")
PORT_DIPSETTING( 0x0000, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x3000, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Very_Hard ) )
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Allow_Continue ) )
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("SW2:7")
PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Yes ) )
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8")
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x8000, DEF_STR( On ) )
PORT_START
PORT_START_TAG("IN0")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
@ -418,7 +342,7 @@ static INPUT_PORTS_START( skysmash )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START
PORT_START_TAG("IN1")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x000e, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_START2 )
@ -427,8 +351,11 @@ static INPUT_PORTS_START( skysmash )
PORT_BIT( 0x0e00, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0xe000, IP_ACTIVE_LOW, IPT_UNKNOWN )
SEIBU_COIN_INPUTS /* coin inputs read through sound cpu */
INPUT_PORTS_END
/* Graphics Layouts */
static const gfx_layout textlayout =

View File

@ -106,7 +106,7 @@ ADDRESS_MAP_END
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
static INPUT_PORTS_START( dcon )
SEIBU_COIN_INPUTS /* Must be port 0: coin inputs read through sound cpu */
SEIBU_COIN_INPUTS /* coin inputs read through sound cpu */
PORT_START
PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coin_A ) )
@ -164,7 +164,7 @@ static INPUT_PORTS_START( dcon )
INPUT_PORTS_END
static INPUT_PORTS_START( sdgndmps )
SEIBU_COIN_INPUTS /* Must be port 0: coin inputs read through sound cpu */
SEIBU_COIN_INPUTS /* coin inputs read through sound cpu */
PORT_START
PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coin_B ) )
@ -202,10 +202,10 @@ static INPUT_PORTS_START( sdgndmps )
PORT_DIPSETTING( 0x0090, DEF_STR( 1C_7C ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) )
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x0000, "6" )
PORT_DIPSETTING( 0x0100, "4" )
PORT_DIPSETTING( 0x0300, "3" )
PORT_DIPSETTING( 0x0200, "2" )
PORT_DIPSETTING( 0x0300, "3" )
PORT_DIPSETTING( 0x0100, "4" )
PORT_DIPSETTING( 0x0000, "6" )
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
@ -416,4 +416,4 @@ static DRIVER_INIT( sdgndmps )
GAME( 1991, sdgndmps, 0, sdgndmps, sdgndmps, sdgndmps, ROT0, "Banpresto / Bandai", "SD Gundam Psycho Salamander no Kyoui", GAME_NO_COCKTAIL )
GAME( 1992, dcon, 0, dcon, dcon, 0, ROT0, "Success", "D-Con", GAME_NO_COCKTAIL )
GAME( 1992, dcon, 0, dcon, dcon, 0, ROT0, "Success", "D-Con", GAME_NO_COCKTAIL )

View File

@ -92,7 +92,7 @@ ADDRESS_MAP_END
/* Input Ports */
static INPUT_PORTS_START( deadang )
SEIBU_COIN_INPUTS /* Must be port 0: coin inputs read through sound cpu */
SEIBU_COIN_INPUTS /* coin inputs read through sound cpu */
PORT_START /* IN0 */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
@ -130,7 +130,7 @@ static INPUT_PORTS_START( deadang )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Cabinet) )
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Cocktail ) )
/* Dip switch B */
@ -158,7 +158,7 @@ static INPUT_PORTS_START( deadang )
INPUT_PORTS_END
static INPUT_PORTS_START( ghunter )
SEIBU_COIN_INPUTS /* Must be port 0: coin inputs read through sound cpu */
SEIBU_COIN_INPUTS /* coin inputs read through sound cpu */
PORT_START /* IN0 */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
@ -196,7 +196,7 @@ static INPUT_PORTS_START( ghunter )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Cabinet) )
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Cocktail ) )
/* Dip switch B */

View File

@ -84,7 +84,7 @@ ADDRESS_MAP_END
/* Input Ports */
static INPUT_PORTS_START( dynduke )
SEIBU_COIN_INPUTS // Must be port 0: coin inputs read through sound cpu
SEIBU_COIN_INPUTS /* coin inputs read through sound cpu */
PORT_START_TAG("IN0")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)

View File

@ -124,8 +124,7 @@ static ADDRESS_MAP_START( goodejan_io_map, ADDRESS_SPACE_IO, 16 )
ADDRESS_MAP_END
static INPUT_PORTS_START( goodejan )
/* Must be port 0: coin inputs read through sound cpu */
SEIBU_COIN_INPUTS
SEIBU_COIN_INPUTS /* coin inputs read through sound cpu */
PORT_START
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A )

View File

@ -2815,7 +2815,7 @@ ADDRESS_MAP_END
/*****************************************************************************/
static INPUT_PORTS_START( legionna )
SEIBU_COIN_INPUTS /* Must be port 0: coin inputs read through sound cpu */
SEIBU_COIN_INPUTS /* coin inputs read through sound cpu */
PORT_START
PORT_DIPNAME( 0x001f, 0x001f, DEF_STR( Coinage ) )
@ -2903,7 +2903,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( heatbrl )
SEIBU_COIN_INPUTS /* Must be port 0: coin inputs read through sound cpu */
SEIBU_COIN_INPUTS /* coin inputs read through sound cpu */
PORT_START
PORT_DIPNAME( 0x001f, 0x001f, DEF_STR( Coinage ) )
@ -3007,7 +3007,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( godzilla )
SEIBU_COIN_INPUTS /* Must be port 0: coin inputs read through sound cpu */
SEIBU_COIN_INPUTS /* coin inputs read through sound cpu */
PORT_START
PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
@ -3105,7 +3105,7 @@ static INPUT_PORTS_START( godzilla )
INPUT_PORTS_END
static INPUT_PORTS_START( sdgndmrb )
SEIBU_COIN_INPUTS /* Must be port 0: coin inputs read through sound cpu */
SEIBU_COIN_INPUTS /* coin inputs read through sound cpu */
PORT_START
PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
@ -3250,7 +3250,7 @@ static INPUT_PORTS_START( sdgndmrb )
INPUT_PORTS_END
static INPUT_PORTS_START( cupsoc )
SEIBU_COIN_INPUTS /* Must be port 0: coin inputs read through sound cpu */
SEIBU_COIN_INPUTS /* coin inputs read through sound cpu */
PORT_START
PORT_DIPNAME( 0x0007, 0x0007, "Coin 1 (3)" )
@ -4399,7 +4399,7 @@ GAME( 1993, godzilla, 0, godzilla, godzilla, 0, ROT0, "Banpresto",
GAME( 1993, sdgndmrb, 0, sdgndmrb, sdgndmrb, 0, ROT0, "Banpresto", "SD Gundam Sangokushi Rainbow Tairiku Senki", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
GAME( 1993, denjinmk, 0, denjinmk, godzilla, 0, ROT0, "Banpresto", "Denjin Makai", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
GAME( 1992, cupsoc, 0, cupsoc, cupsoc, 0, ROT0, "Seibu", "Seibu Cup Soccer (set 1)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
GAME( 1992, cupsoc2, cupsoc, cupsoc, cupsoc, 0, ROT0, "Seibu", "Seibu Cup Soccer (set 2)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
GAME( 1992, olysoc92, cupsoc, cupsoc, cupsoc, 0, ROT0, "Seibu", "Olympic Soccer '92", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
GAME( 1992, cupsoc, 0, cupsoc, cupsoc, 0, ROT0, "Seibu", "Seibu Cup Soccer (set 1)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
GAME( 1992, cupsoc2, cupsoc, cupsoc, cupsoc, 0, ROT0, "Seibu", "Seibu Cup Soccer (set 2)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
GAME( 1992, olysoc92, cupsoc, cupsoc, cupsoc, 0, ROT0, "Seibu", "Olympic Soccer '92", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
GAME( 1992, cupsocbl, cupsoc, cupsocbl, cupsoc, cupsoc, ROT0, "bootleg", "Seibu Cup Soccer (bootleg)", GAME_NOT_WORKING | GAME_NO_SOUND )

View File

@ -97,7 +97,7 @@ ADDRESS_MAP_END
/******************************************************************************/
static INPUT_PORTS_START( raiden )
SEIBU_COIN_INPUTS /* Must be port 0: coin inputs read through sound cpu */
SEIBU_COIN_INPUTS /* coin inputs read through sound cpu */
PORT_START /* IN0 */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
@ -119,66 +119,66 @@ static INPUT_PORTS_START( raiden )
PORT_START /* Dip switch A */
PORT_DIPNAME( 0x0001, 0x0001, "Coin Mode" )
PORT_DIPSETTING( 0x0001, "A" )
PORT_DIPSETTING( 0x0000, "B" )
PORT_DIPSETTING( 0x0001, "A" )
PORT_DIPSETTING( 0x0000, "B" )
/* Coin Mode A */
PORT_DIPNAME( 0x001e, 0x001e, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x0014, DEF_STR( 6C_1C ) )
PORT_DIPSETTING( 0x0016, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x0018, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x001a, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 8C_3C ) )
PORT_DIPSETTING( 0x001c, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0004, DEF_STR( 5C_3C ) )
PORT_DIPSETTING( 0x0006, DEF_STR( 3C_2C ) )
PORT_DIPSETTING( 0x001e, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0008, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0012, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0010, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x000e, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x000c, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x000a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) )
PORT_DIPSETTING( 0x0014, DEF_STR( 6C_1C ) )
PORT_DIPSETTING( 0x0016, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x0018, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x001a, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 8C_3C ) )
PORT_DIPSETTING( 0x001c, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0004, DEF_STR( 5C_3C ) )
PORT_DIPSETTING( 0x0006, DEF_STR( 3C_2C ) )
PORT_DIPSETTING( 0x001e, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0008, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x0012, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0010, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x000e, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x000c, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x000a, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) )
/* PORT_DIPNAME( 0x0006, 0x0006, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x0000, "5C/1C or Free if Coin B too" )
PORT_DIPSETTING( 0x0002, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0004, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0006, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0000, "5C/1C or Free if Coin B too" )
PORT_DIPSETTING( 0x0002, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0004, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0006, DEF_STR( 1C_1C ) )
PORT_DIPNAME( 0x0018, 0x0018, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x0018, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0010, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0008, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0000, "1C/6C or Free if Coin A too" ) */
PORT_DIPSETTING( 0x0018, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0010, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0008, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x0000, "1C/6C or Free if Coin A too" ) */
PORT_DIPNAME( 0x0020, 0x0020, "Credits to Start" )
PORT_DIPSETTING( 0x0020, "1" )
PORT_DIPSETTING( 0x0000, "2" )
PORT_DIPSETTING( 0x0020, "1" )
PORT_DIPSETTING( 0x0000, "2" )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x0200, "1" )
PORT_DIPSETTING( 0x0100, "2" )
PORT_DIPSETTING( 0x0300, "3" )
PORT_DIPSETTING( 0x0000, "5" )
PORT_DIPSETTING( 0x0200, "1" )
PORT_DIPSETTING( 0x0100, "2" )
PORT_DIPSETTING( 0x0300, "3" )
PORT_DIPSETTING( 0x0000, "5" )
PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x0800, "80000 300000" )
PORT_DIPSETTING( 0x0c00, "150000 400000" )
PORT_DIPSETTING( 0x0400, "300000 1000000" )
PORT_DIPSETTING( 0x0000, "1000000 5000000" )
PORT_DIPSETTING( 0x0800, "80000 300000" )
PORT_DIPSETTING( 0x0c00, "150000 400000" )
PORT_DIPSETTING( 0x0400, "300000 1000000" )
PORT_DIPSETTING( 0x0000, "1000000 5000000" )
PORT_DIPNAME( 0x3000, 0x3000, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x3000, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Very_Hard ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x3000, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Very_Hard ) )
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Allow_Continue ) )
PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Yes ) )
PORT_DIPSETTING( 0x0000, DEF_STR( No ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Yes ) )
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x8000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x8000, DEF_STR( On ) )
INPUT_PORTS_END
/******************************************************************************/

View File

@ -137,35 +137,34 @@ ADDRESS_MAP_END
static INPUT_PORTS_START( sengokmj )
/* Must be port 0: coin inputs read through sound cpu */
SEIBU_COIN_INPUTS
SEIBU_COIN_INPUTS /* coin inputs read through sound cpu */
PORT_START
PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Demo_Sounds ) )
PORT_DIPNAME( 0x0001, 0x0000, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0002, 0x0002, "Re-start" )
PORT_DIPNAME( 0x0002, 0x0002, "Re-start" )
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0004, 0x0004, "Double G" )
PORT_DIPNAME( 0x0004, 0x0004, "Double G" )
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0008, 0x0008, "Double L" )
PORT_DIPNAME( 0x0008, 0x0008, "Double L" )
PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0010, 0x0010, "Kamon" )
PORT_DIPNAME( 0x0010, 0x0010, "Kamon" )
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unused ) )
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0040, 0x0040, "Out Sw" )
PORT_DIPNAME( 0x0040, 0x0040, "Out Sw" )
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0080, "Hopper" )
PORT_DIPNAME( 0x0080, 0x0080, "Hopper" )
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MAHJONG_A )
@ -222,28 +221,28 @@ static INPUT_PORTS_START( sengokmj )
PORT_START
PORT_DIPNAME( 0x0001, 0x0001, "Door" )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_SERVICE_NO_TOGGLE( 0x0002, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x0004, 0x0004, "Opt. 1st" )
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0008, 0x0008, "Reset" )
PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
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_DIPSETTING( 0x0010, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0020, 0x0020, "Cash" )
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
/* Used, causes "Hopper RunAway" message if you toggle it */
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0080, "Meter" )
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END

View File

@ -807,7 +807,7 @@ static ADDRESS_MAP_START( kothello_map, ADDRESS_SPACE_PROGRAM, 16 )
ADDRESS_MAP_END
static INPUT_PORTS_START( kothello )
SEIBU_COIN_INPUTS
SEIBU_COIN_INPUTS /* coin inputs read through sound cpu */
INPUT_PORTS_END

View File

@ -163,7 +163,7 @@ ADDRESS_MAP_END
/*****************************************************************************/
static INPUT_PORTS_START( toki )
SEIBU_COIN_INPUTS /* Must be port 0: coin inputs read through sound cpu */
SEIBU_COIN_INPUTS /* coin inputs read through sound cpu */
PORT_START_TAG("DSW0")
PORT_DIPNAME( 0x001f, 0x001f, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3,4,5")
@ -842,4 +842,3 @@ GAME( 1989, juju, toki, toki, toki, toki, ROT0, "Tad", "JuJu Densetsu (Japan
GAME( 1989, tokib, toki, tokib, tokib, tokib, ROT0, "bootleg", "Toki (bootleg)", 0 )
/* Sound hardware seems to have been slightly modified, the coins are handled ok, but there is no music and bad sfx. Program roms have a slight bitswap, Flipscreen also seems to be ignored */
GAME( 1989, jujub, toki, toki, toki, jujub, ROT180, "bootleg", "JuJu Densetsu (Japan, bootleg)", GAME_IMPERFECT_SOUND ) // bootleg of tokia/tokij revison