summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2015-03-11 20:51:53 +1100
committer Vas Crabb <vas@vastheman.com>2015-03-11 20:51:53 +1100
commit382bc44f118dc0e84b8f2564c305d03f72a9fbd6 (patch)
tree1f1c53281c605bc49372f92a65f9424513d20f54
parentecacff4118b7a418e9cfbcde20592149ddf0c99b (diff)
Quick look at goldstar inputs
-rw-r--r--src/mame/drivers/goldstar.c87
-rw-r--r--src/mame/includes/goldstar.h2
2 files changed, 37 insertions, 52 deletions
diff --git a/src/mame/drivers/goldstar.c b/src/mame/drivers/goldstar.c
index 23aae6aa5e5..38235b9545c 100644
--- a/src/mame/drivers/goldstar.c
+++ b/src/mame/drivers/goldstar.c
@@ -783,7 +783,7 @@ static ADDRESS_MAP_START( amcoe2_portmap, AS_IO, 8, cmaster_state )
ADDRESS_MAP_END
-WRITE8_MEMBER(goldstar_state::lucky8_outport_w)
+WRITE8_MEMBER(goldstar_state::lucky8_lamps_w)
{
/* lamps */
output_set_lamp_value(0, (data >> 1) & 1); /* D-UP Lamp */
@@ -792,7 +792,7 @@ WRITE8_MEMBER(goldstar_state::lucky8_outport_w)
output_set_lamp_value(3, (data >> 4) & 1); /* INFO Lamp */
output_set_lamp_value(4, (data >> 5) & 1); /* START Lamp */
-// popmessage("lucky8_outb850_w %02x\n", data);
+// popmessage("lucky8_lamps_w %02x\n", data);
}
@@ -813,7 +813,7 @@ static ADDRESS_MAP_START( lucky8_map, AS_PROGRAM, 8, goldstar_state )
AM_RANGE(0xb820, 0xb823) AM_DEVREADWRITE("ppi8255_2", i8255_device, read, write) /* Input/Output Ports */
AM_RANGE(0xb830, 0xb830) AM_DEVREADWRITE("aysnd", ay8910_device, data_r, data_w)
AM_RANGE(0xb840, 0xb840) AM_DEVWRITE("aysnd", ay8910_device, address_w) /* no sound... only use both ports for DSWs */
- AM_RANGE(0xb850, 0xb850) AM_WRITE(lucky8_outport_w)
+ AM_RANGE(0xb850, 0xb850) AM_WRITE(lucky8_lamps_w)
AM_RANGE(0xb870, 0xb870) AM_DEVWRITE("snsnd", sn76489_device, write) /* sound */
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -880,7 +880,7 @@ static ADDRESS_MAP_START( kkotnoli_map, AS_PROGRAM, 8, goldstar_state )
AM_RANGE(0xb820, 0xb823) AM_DEVREADWRITE("ppi8255_2", i8255_device, read, write) /* Input Port */
AM_RANGE(0xb830, 0xb830) AM_WRITENOP /* no ay8910 */
AM_RANGE(0xb840, 0xb840) AM_WRITENOP /* no ay8910 */
- AM_RANGE(0xb850, 0xb850) AM_WRITE(lucky8_outport_w)
+ AM_RANGE(0xb850, 0xb850) AM_WRITE(lucky8_lamps_w)
AM_RANGE(0xb870, 0xb870) AM_DEVWRITE("snsnd", sn76489_device, write) /* sound */
AM_RANGE(0xf800, 0xffff) AM_RAM
ADDRESS_MAP_END
@@ -940,7 +940,7 @@ static ADDRESS_MAP_START( wcat3_map, AS_PROGRAM, 8, goldstar_state )
AM_RANGE(0xb820, 0xb823) AM_DEVREADWRITE("ppi8255_2", i8255_device, read, write) /* Input/Output Ports */
AM_RANGE(0xb830, 0xb830) AM_DEVREADWRITE("aysnd", ay8910_device, data_r, data_w)
AM_RANGE(0xb840, 0xb840) AM_DEVWRITE("aysnd", ay8910_device, address_w) /* no sound... only use both ports for DSWs */
- AM_RANGE(0xb850, 0xb850) AM_WRITE(lucky8_outport_w)
+ AM_RANGE(0xb850, 0xb850) AM_WRITE(lucky8_lamps_w)
AM_RANGE(0xb870, 0xb870) AM_DEVWRITE("snsnd", sn76489_device, write) /* sound */
// AM_RANGE(0xc000, 0xc003) AM_DEVREADWRITE("ppi8255_3", i8255_device, read, write) /* Other PPI initialized? */
AM_RANGE(0xd000, 0xefff) AM_ROM
@@ -1234,8 +1234,8 @@ static INPUT_PORTS_START( cmv4_dsw4 )
PORT_DIPSETTING( 0x10, "C-Type" )
PORT_DIPSETTING( 0x00, "D-Type" )
PORT_DIPNAME( 0x20, 0x20, "Min. Bet For Bonus Play" ) PORT_DIPLOCATION("DSW4:6")
- PORT_DIPSETTING( 0x00, "8 Bet" )
- PORT_DIPSETTING( 0x20, "16 Bet" )
+ PORT_DIPSETTING( 0x00, "8" )
+ PORT_DIPSETTING( 0x20, "16" )
PORT_DIPNAME( 0x40, 0x40, "Reel Speed" ) PORT_DIPLOCATION("DSW4:7")
PORT_DIPSETTING( 0x40, DEF_STR( Low ) )
PORT_DIPSETTING( 0x00, DEF_STR( High ) )
@@ -1781,32 +1781,30 @@ static INPUT_PORTS_START( goldstar )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- /* this is not a coin, not sure what it is */
- /* maybe it's used to buy tickets. Will check soon. */
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_W) PORT_NAME("Collect")
- PORT_SERVICE_NO_TOGGLE( 0x40, IP_ACTIVE_LOW )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_F1) PORT_NAME("Statistics")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("Hopper") /* hopper empty */
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats")
PORT_START("DSW1")
- PORT_DIPNAME( 0x01, 0x00, "Game Style" ) PORT_DIPLOCATION("DSW1:1")
+ PORT_DIPNAME( 0x01, 0x00, "Game Style" ) PORT_DIPLOCATION("DSW1:1")
PORT_DIPSETTING( 0x01, "Gettoni" )
PORT_DIPSETTING( 0x00, "Ticket" )
- PORT_DIPNAME( 0x02, 0x02, "Hopper Out" ) PORT_DIPLOCATION("DSW1:2" )
+ PORT_DIPNAME( 0x02, 0x02, "Hopper Out" ) PORT_DIPLOCATION("DSW1:2")
PORT_DIPSETTING( 0x02, "Active Low" )
PORT_DIPSETTING( 0x00, "Active High" )
- PORT_DIPNAME( 0x04, 0x04, "Payout Automatic" ) PORT_DIPLOCATION("DSW1:3" )
+ PORT_DIPNAME( 0x04, 0x04, "Payout Automatic" ) PORT_DIPLOCATION("DSW1:3")
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x00, "W-Up '7'" ) PORT_DIPLOCATION("DSW1:4" )
+ PORT_DIPNAME( 0x08, 0x00, "'7' In Double Up Game" ) PORT_DIPLOCATION("DSW1:4")
PORT_DIPSETTING( 0x08, "Loss" )
PORT_DIPSETTING( 0x00, "Even" )
- PORT_DIPNAME( 0x10, 0x10, "W-Up Pay Rate" ) PORT_DIPLOCATION("DSW1:5" )
+ PORT_DIPNAME( 0x10, 0x10, "Double Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:5") /* OK */
PORT_DIPSETTING( 0x10, "60%" )
PORT_DIPSETTING( 0x00, "70%" )
- PORT_DIPNAME( 0x20, 0x20, "W-Up Game" ) PORT_DIPLOCATION("DSW1:6" )
+ PORT_DIPNAME( 0x20, 0x20, "Double Up Game" ) PORT_DIPLOCATION("DSW1:6") /* OK */
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
- PORT_DIPNAME( 0xc0, 0x00, "Bet Max" ) PORT_DIPLOCATION("DSW1:7,8" )
+ PORT_DIPNAME( 0xc0, 0x00, "Bet Max" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */
PORT_DIPSETTING( 0xc0, "8 Bet" )
PORT_DIPSETTING( 0x80, "16 Bet" )
PORT_DIPSETTING( 0x40, "32 Bet" )
@@ -1819,15 +1817,15 @@ static INPUT_PORTS_START( goldstar )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("DSW2")
- PORT_DIPNAME( 0x07, 0x00, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3" )
- PORT_DIPSETTING( 0x00, "75 %" )
- PORT_DIPSETTING( 0x01, "70 %" )
- PORT_DIPSETTING( 0x02, "65 %" )
- PORT_DIPSETTING( 0x03, "60 %" )
- PORT_DIPSETTING( 0x04, "55 %" )
- PORT_DIPSETTING( 0x05, "50 %" )
- PORT_DIPSETTING( 0x06, "45 %" )
- PORT_DIPSETTING( 0x07, "40 %" )
+ PORT_DIPNAME( 0x07, 0x00, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3" ) /* Does this work? Settings screen always shows "28F3%". */
+ PORT_DIPSETTING( 0x00, "75%" )
+ PORT_DIPSETTING( 0x01, "70%" )
+ PORT_DIPSETTING( 0x02, "65%" )
+ PORT_DIPSETTING( 0x03, "60%" )
+ PORT_DIPSETTING( 0x04, "55%" )
+ PORT_DIPSETTING( 0x05, "50%" )
+ PORT_DIPSETTING( 0x06, "45%" )
+ PORT_DIPSETTING( 0x07, "40%" )
PORT_DIPNAME( 0x18, 0x00, "Hopper Limit" ) PORT_DIPLOCATION("DSW2:4,5" )
PORT_DIPSETTING( 0x18, "300" )
PORT_DIPSETTING( 0x10, "500" )
@@ -1843,7 +1841,7 @@ static INPUT_PORTS_START( goldstar )
PORT_DIPSETTING( 0x80, "Unlimited" )
PORT_DIPSETTING( 0x00, "Limited" )
- PORT_START("DSW3")
+ PORT_START("DSW3") /* Neither of these work. Does the manual say this is what they do, or is it just nonsense? */
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("DSW3:1,2" )
PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" )
PORT_DIPSETTING( 0x04, "1 Coin/20 Credits" )
@@ -1855,29 +1853,16 @@ static INPUT_PORTS_START( goldstar )
PORT_DIPSETTING( 0x80, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0xc0, "1 Coin/10 Credits" )
- PORT_START("DSW4")
- PORT_DIPNAME( 0x07, 0x06, "Credit Limit" ) PORT_DIPLOCATION("DSW4:1,2,3" )
- PORT_DIPSETTING( 0x07, "5000" )
- PORT_DIPSETTING( 0x06, "10000" )
- PORT_DIPSETTING( 0x05, "20000" )
- PORT_DIPSETTING( 0x04, "30000" )
- PORT_DIPSETTING( 0x03, "40000" )
- PORT_DIPSETTING( 0x02, "50000" )
- PORT_DIPSETTING( 0x01, "100000" )
- PORT_DIPSETTING( 0x00, "Unlimited" )
- PORT_DIPNAME( 0x08, 0x00, "Display Credit Limit" ) PORT_DIPLOCATION("DSW4:4" )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, "Type of Coin D" ) PORT_DIPLOCATION("DSW4:5" )
+ PORT_INCLUDE( cmv4_dsw4 )
+ PORT_MODIFY("DSW4")
+ /* Credit Limit OK */
+ /* Display Of Payout Limit OK */
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:5") /* not checked */
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x00, "Bonus Play Min Bet" ) PORT_DIPLOCATION("DSW4:6" )
- PORT_DIPSETTING( 0x20, "16 Bet" )
- PORT_DIPSETTING( 0x00, "8 Bet" )
- PORT_DIPNAME( 0x40, 0x00, "Reel Speed" ) PORT_DIPLOCATION("DSW4:7" )
- PORT_DIPSETTING( 0x40, DEF_STR( Low ) )
- PORT_DIPSETTING( 0x00, DEF_STR( High ) )
- PORT_DIPNAME( 0x80, 0x00, "Ticket Payment" ) PORT_DIPLOCATION("DSW4:8" )
+ /* Min. Bet For Bonus Play OK */
+ /* Reel Speed OK */
+ PORT_DIPNAME( 0x80, 0x00, "Ticket Payment" ) PORT_DIPLOCATION("DSW4:8") /* not checked */
PORT_DIPSETTING( 0x80, "1 Ticket/100" )
PORT_DIPSETTING( 0x00, "Pay All" )
@@ -1924,7 +1909,7 @@ static INPUT_PORTS_START( chrygld )
/* '7' In Double Up Game not checked */
/* Double Up Game Pay Rate OK */
/* Double Up Game OK */
- PORT_DIPNAME( 0xc0, 0xc0, "Bet Max" ) PORT_DIPLOCATION("DSW1:7,8")
+ PORT_DIPNAME( 0xc0, 0xc0, "Bet Max" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */
PORT_DIPSETTING( 0xc0, "8" )
PORT_DIPSETTING( 0x80, "16" )
PORT_DIPSETTING( 0x40, "32" )
diff --git a/src/mame/includes/goldstar.h b/src/mame/includes/goldstar.h
index 05c1f1a21bc..b0823d00f5c 100644
--- a/src/mame/includes/goldstar.h
+++ b/src/mame/includes/goldstar.h
@@ -21,7 +21,7 @@ public:
DECLARE_WRITE8_MEMBER(protection_w);
DECLARE_READ8_MEMBER(protection_r);
- DECLARE_WRITE8_MEMBER(lucky8_outport_w);
+ DECLARE_WRITE8_MEMBER(lucky8_lamps_w);
DECLARE_WRITE8_MEMBER(ncb3_port81_w);
DECLARE_WRITE8_MEMBER(goldstar_lamps_w);
DECLARE_WRITE8_MEMBER(cb3_lamps_w);