diff options
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 |
commit | 382bc44f118dc0e84b8f2564c305d03f72a9fbd6 (patch) | |
tree | 1f1c53281c605bc49372f92a65f9424513d20f54 | |
parent | ecacff4118b7a418e9cfbcde20592149ddf0c99b (diff) |
Quick look at goldstar inputs
-rw-r--r-- | src/mame/drivers/goldstar.c | 87 | ||||
-rw-r--r-- | src/mame/includes/goldstar.h | 2 |
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); |