summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2020-06-25 19:58:37 +0200
committer Ivan Vangelista <mesgnet@yahoo.it>2020-06-25 19:58:37 +0200
commit39ad5d523875e18ac61112166244ba16c800fcdc (patch)
tree1b714ca65cd77e28e3341da1bf31f76547e65dc4
parent71317446a61dbc9a79f9728e206b1061f987b58e (diff)
schick.cpp: added dipswitches (nw)
-rw-r--r--src/mame/drivers/schick.cpp81
1 files changed, 60 insertions, 21 deletions
diff --git a/src/mame/drivers/schick.cpp b/src/mame/drivers/schick.cpp
index 44cc7e1ac68..e4abf749354 100644
--- a/src/mame/drivers/schick.cpp
+++ b/src/mame/drivers/schick.cpp
@@ -99,7 +99,6 @@ private:
{
return 0xff;
}
-
};
#define MASTER_CLOCK (18432000)
@@ -323,7 +322,7 @@ static INPUT_PORTS_START( schick ) // TODO: check everything
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN3 )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_START("IN1")
@@ -336,25 +335,65 @@ static INPUT_PORTS_START( schick ) // TODO: check everything
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
- PORT_START("SW1")
- PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW1:1")
- PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "SW1:2")
- PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "SW1:3")
- PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW1:4")
- PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "SW1:5")
- PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "SW1:6")
- PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "SW1:7")
- PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "SW1:8")
+ PORT_START("SW1") // dips seem the same as Pengo
+ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:1")
+ PORT_DIPSETTING( 0x00, "30000" )
+ PORT_DIPSETTING( 0x01, "50000" )
+ PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW1:2")
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:3")
+ PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( Cocktail ) )
+ PORT_DIPNAME( 0x18, 0x10, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:4,5")
+ PORT_DIPSETTING( 0x18, "2" )
+ PORT_DIPSETTING( 0x10, "3" )
+ PORT_DIPSETTING( 0x08, "4" )
+ PORT_DIPSETTING( 0x00, "5" )
+ PORT_DIPNAME( 0x20, 0x20, "Rack Test (Cheat)" ) PORT_CODE(KEYCODE_F1) PORT_DIPLOCATION("SW1:6")
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0xc0, 0x80, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:7,8")
+ PORT_DIPSETTING( 0xc0, DEF_STR( Easy ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( Medium ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( Hard ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
PORT_START("SW2")
- PORT_DIPUNKNOWN_DIPLOC(0x01, 0x01, "SW2:1")
- PORT_DIPUNKNOWN_DIPLOC(0x02, 0x02, "SW2:2")
- PORT_DIPUNKNOWN_DIPLOC(0x04, 0x04, "SW2:3")
- PORT_DIPUNKNOWN_DIPLOC(0x08, 0x08, "SW2:4")
- PORT_DIPUNKNOWN_DIPLOC(0x10, 0x10, "SW2:5")
- PORT_DIPUNKNOWN_DIPLOC(0x20, 0x20, "SW2:6")
- PORT_DIPUNKNOWN_DIPLOC(0x40, 0x40, "SW2:7")
- PORT_DIPUNKNOWN_DIPLOC(0x80, 0x80, "SW2:8")
+ PORT_DIPNAME( 0x0f, 0x0c, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW2:1,2,3,4")
+ PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x09, "2 Coins/1 Credit 5/3" )
+ PORT_DIPSETTING( 0x05, "2 Coins/1 Credit 4/3" )
+ PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x0d, "1 Coin/1 Credit 5/6" )
+ PORT_DIPSETTING( 0x03, "1 Coin/1 Credit 4/5" )
+ PORT_DIPSETTING( 0x0b, "1 Coin/1 Credit 2/3" )
+ PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x07, "1 Coin/2 Credits 5/11" )
+ PORT_DIPSETTING( 0x0f, "1 Coin/2 Credits 4/9" )
+ PORT_DIPSETTING( 0x0a, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x06, DEF_STR( 1C_4C ) )
+ PORT_DIPSETTING( 0x0e, DEF_STR( 1C_5C ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( 1C_6C ) )
+ PORT_DIPNAME( 0xf0, 0xc0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW2:5,6,7,8")
+ PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x90, "2 Coins/1 Credit 5/3" )
+ PORT_DIPSETTING( 0x50, "2 Coins/1 Credit 4/3" )
+ PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0xd0, "1 Coin/1 Credit 5/6" )
+ PORT_DIPSETTING( 0x30, "1 Coin/1 Credit 4/5" )
+ PORT_DIPSETTING( 0xb0, "1 Coin/1 Credit 2/3" )
+ PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x70, "1 Coin/2 Credits 5/11" )
+ PORT_DIPSETTING( 0xf0, "1 Coin/2 Credits 4/9" )
+ PORT_DIPSETTING( 0xa0, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x60, DEF_STR( 1C_4C ) )
+ PORT_DIPSETTING( 0xe0, DEF_STR( 1C_5C ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( 1C_6C ) )
INPUT_PORTS_END
@@ -415,8 +454,8 @@ void schick_state::schick(machine_config &config) // all dividers unknown
m_latch->q_out_cb<1>().set_log("m_latch bit 1 set");
m_latch->q_out_cb<2>().set(FUNC(schick_state::schick_palettebank_w));
m_latch->q_out_cb<3>().set_log("m_latch bit 3 set");
- m_latch->q_out_cb<4>().set_log("m_latch bit 4 set");
- m_latch->q_out_cb<5>().set_log("m_latch bit 5 set");
+ m_latch->q_out_cb<4>().set(FUNC(schick_state::coin_counter_1_w));
+ m_latch->q_out_cb<5>().set(FUNC(schick_state::coin_counter_2_w));
m_latch->q_out_cb<6>().set(FUNC(schick_state::schick_colortablebank_w));
m_latch->q_out_cb<7>().set(FUNC(schick_state::schick_gfxbank_w));