diff options
author | David Haywood <28625134+DavidHaywood@users.noreply.github.com> | 2021-01-23 00:18:22 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-23 11:18:22 +1100 |
commit | c25ae86a7a4f8abfbb19e29b80f3418205584b57 (patch) | |
tree | c8417d7451f87e0b7d9245cc4f886c046a23d161 | |
parent | e4372de928ba3cf575208d27b5a9fa3e97ae4b37 (diff) |
jpmimpact.cpp: work on correctly mapping buttons for each machine [David Haywood] (#7683)
* further per game inpiut work
* additional input work / documentation
* further input work
* further input fixes
* attempting to locate a j6monmad input
* still looking for some inputs on j6monmad, maybe something is missing
* further per-game inputs
* additional per game inputs
* remove a duplicate line
* looked at a few more games
* gave a few more inputs
* cover more game inpus
* more game inputs
* document some sets that aren't going into input test properly
* additional per-game inputs
* more per-game inputs
* j6wldkng is an unusual machine, placeholder strings on the unseen vfd, and even non-standard mapping of the spin button
* additional per game inputs
* j6col fixup
-rw-r--r-- | src/mame/drivers/jpmimpct.cpp | 296 | ||||
-rw-r--r-- | src/mame/drivers/jpmimpctsw.cpp | 2910 | ||||
-rw-r--r-- | src/mame/includes/jpmimpct.h | 7 |
3 files changed, 2521 insertions, 692 deletions
diff --git a/src/mame/drivers/jpmimpct.cpp b/src/mame/drivers/jpmimpct.cpp index 574fe28152f..ab335927955 100644 --- a/src/mame/drivers/jpmimpct.cpp +++ b/src/mame/drivers/jpmimpct.cpp @@ -511,25 +511,58 @@ void jpmimpct_video_state::slides_video_w(offs_t offset, uint16_t data, uint16_t * 9: Coin mechanism */ + + +/* + Some Input Switch numbers according to test modes + + DSW 0x01 = Switch 0 + DSW 0x02 = 1 + DSW 0x04 = 1 + DSW 0x08 = 1 + DSW 0x10 = 1 + DSW 0x20 = 1 + DSW 0x40 = 1 + DSW 0x80 = 1 + + PIA_PORTB: 0x01 = 136 + PIA_PORTB: 0x02 = Switch 137 + PIA_PORTB: 0x04 = 138 + PIA_PORTB: 0x08 = 139 + PIA_PORTB: 0x10 = 140 + PIA_PORTB: 0x20 = 141 + PIA_PORTB: 0x40 = 142 + PIA_PORTB: 0x80 = 143 + + PIA_PORTC: 0x01 = 144 + PIA_PORTC: 0x02 = 145 + PIA_PORTC: 0x04 = 146 + PIA_PORTC: 0x08 = 147 + PIA_PORTC: 0x10 = 148 + PIA_PORTC: 0x20 = Switch 149 + PIA_PORTC: 0x40 = 150 + PIA_PORTC: 0x80 = 151 +*/ + + void jpmimpct_state::common_map(address_map& map) { map(0x00000000, 0x001fffff).rom(); map(0x00400000, 0x00403fff).ram().share("nvram"); map(0x00480000, 0x0048001f).rw("main_duart", FUNC(mc68681_device::read), FUNC(mc68681_device::write)).umask16(0x00ff); - map(0x00480020, 0x00480021).portr("DSW"); + map(0x00480020, 0x00480021).portr("DSW"); // DSW 0x01 = Switch 0 map(0x00480022, 0x00480023).portr("PERCENT"); map(0x00480024, 0x00480025).portr("J10_0"); map(0x00480026, 0x00480027).portr("J10_1"); - map(0x00480028, 0x00480029).portr("J10_2"); - map(0x0048002a, 0x0048002b).portr("J9_0"); + map(0x00480028, 0x00480029).portr("J10_2"); // J10_2: 0x01 = Switch 32 + map(0x0048002a, 0x0048002b).portr("J9_0"); // JP9_0: 0x01 = Switch 40 map(0x0048002c, 0x0048002d).portr("J9_1"); map(0x0048002e, 0x0048002f).portr("J9_2"); - map(0x00480030, 0x00480031).portr("unk30"); + map(0x00480030, 0x00480031).portr("PAYCOIN_LEVEL"); map(0x00480032, 0x00480033).portr("COIN_SENSE"); map(0x00480034, 0x00480035).r(FUNC(jpmimpct_state::ump_r)); - map(0x00480060, 0x00480067).rw(m_ppi, FUNC(i8255_device::read), FUNC(i8255_device::write)).umask16(0x00ff); -// map(0x00480060, 0x00480067).r(FUNC(jpmimpct_state::unk_r)); + map(0x00480060, 0x00480067).rw(m_ppi, FUNC(i8255_device::read), FUNC(i8255_device::write)).umask16(0x00ff); map(0x00480080, 0x00480081).w(FUNC(jpmimpct_state::upd7759_w)); map(0x00480082, 0x00480083).w(FUNC(jpmimpct_state::volume_w)); @@ -657,28 +690,28 @@ INPUT_CHANGED_MEMBER(jpmimpct_state::coin_changed) INPUT_PORTS_START( jpmimpct_inputs ) PORT_START("DSW") - PORT_DIPNAME( 0x01, 0x01, "DSW 0") + PORT_DIPNAME( 0x01, 0x01, "DSW 0x01") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "DSW 1") + PORT_DIPNAME( 0x02, 0x02, "DSW 0x02") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "DSW 2") + PORT_DIPNAME( 0x04, 0x04, "DSW 0x04") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "DSW 3") + PORT_DIPNAME( 0x08, 0x08, "DSW 0x08") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, "DSW 4") + PORT_DIPNAME( 0x10, 0x10, "DSW 0x10") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "DSW 5") + PORT_DIPNAME( 0x20, 0x20, "DSW 0x20") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "DSW 6") + PORT_DIPNAME( 0x40, 0x40, "DSW 0x40") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "DSW 7") + PORT_DIPNAME( 0x80, 0x80, "DSW 0x80") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -737,164 +770,205 @@ INPUT_PORTS_START( jpmimpct_inputs ) PORT_CONFSETTING( 0x80, DEF_STR( Off ) ) PORT_START("J9_0") - PORT_DIPNAME( 0x01, 0x01, "J9_0: 0") + PORT_DIPNAME( 0x01, 0x01, "J9_0: 0x01") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "J9_0: 1") + PORT_DIPNAME( 0x02, 0x02, "J9_0: 0x02") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "J9_0: 2") + PORT_DIPNAME( 0x04, 0x04, "J9_0: 0x04") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "J9_0: 3") + PORT_DIPNAME( 0x08, 0x08, "J9_0: 0x08") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, "J9_0: 4") + PORT_DIPNAME( 0x10, 0x10, "J9_0: 0x10") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "J9_0: 5") + PORT_DIPNAME( 0x20, 0x20, "J9_0: 0x20") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "J9_0: 6") + PORT_DIPNAME( 0x40, 0x40, "J9_0: 0x40") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "J9_0: 7") + PORT_DIPNAME( 0x80, 0x80, "J9_0: 0x80") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("J9_1") - PORT_DIPNAME( 0x01, 0x01, "J9_1: 0") + PORT_DIPNAME( 0x01, 0x01, "J9_1: 0x01") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "J9_1: 1") + PORT_DIPNAME( 0x02, 0x02, "J9_1: 0x02") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "J9_1: 2") + PORT_DIPNAME( 0x04, 0x04, "J9_1: 0x04") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "J9_1: 3") + PORT_DIPNAME( 0x08, 0x08, "J9_1: 0x08") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, "J9_1: 4") + PORT_DIPNAME( 0x10, 0x10, "J9_1: 0x10") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "J9_1: 5") + PORT_DIPNAME( 0x20, 0x20, "J9_1: 0x20") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "J9_1: 6") + PORT_DIPNAME( 0x40, 0x40, "J9_1: 0x40") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "J9_1: 7") + PORT_DIPNAME( 0x80, 0x80, "J9_1: 0x80") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("J10_1") - PORT_DIPNAME( 0x01, 0x01, "J10_1: 0") + PORT_DIPNAME( 0x01, 0x01, "J10_1: 0x01") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "J10_1: 1") + PORT_DIPNAME( 0x02, 0x02, "J10_1: 0x02") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "J10_1: 2") + PORT_DIPNAME( 0x04, 0x04, "J10_1: 0x04") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "J10_1: 3") + PORT_DIPNAME( 0x08, 0x08, "J10_1: 0x08") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, "J10_1: 4") + PORT_DIPNAME( 0x10, 0x10, "J10_1: 0x10") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "J10_1: 5") + PORT_DIPNAME( 0x20, 0x20, "J10_1: 0x20") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "J10_1: 6") + PORT_DIPNAME( 0x40, 0x40, "J10_1: 0x40") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "J10_1: 7") + PORT_DIPNAME( 0x80, 0x80, "J10_1: 0x80") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("J10_2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_INTERLOCK) PORT_NAME("Back Door") PORT_CODE(KEYCODE_Q) PORT_TOGGLE // always? - PORT_DIPNAME( 0x02, 0x02, "J10_2: 1") + PORT_DIPNAME( 0x02, 0x02, "J10_2: 0x02") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "J10_2: 2") + PORT_DIPNAME( 0x04, 0x04, "J10_2: 0x04") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "J10_2: 3") + PORT_DIPNAME( 0x08, 0x08, "J10_2: 0x08") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, "J10_2: 4") + PORT_DIPNAME( 0x10, 0x10, "J10_2: 0x10") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "J10_2: 5") + PORT_DIPNAME( 0x20, 0x20, "J10_2: 0x20") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "J10_2: 6") + PORT_DIPNAME( 0x40, 0x40, "J10_2: 0x40") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "J10_2: 7") + PORT_DIPNAME( 0x80, 0x80, "J10_2: 0x80") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("J9_2") - PORT_DIPNAME( 0x01, 0x01, "J9_2: 0") + PORT_DIPNAME( 0x01, 0x01, "J9_2: 0x01") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "J9_2: 1") + PORT_DIPNAME( 0x02, 0x02, "J9_2: 0x02") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "J9_2: 2") + PORT_DIPNAME( 0x04, 0x04, "J9_2: 0x04") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "J9_2: 3") + PORT_DIPNAME( 0x08, 0x08, "J9_2: 0x08") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, "J9_2: 4") + PORT_DIPNAME( 0x10, 0x10, "J9_2: 0x10") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "J9_2: 5") // seems to be cashbox door on a number of non-video games + PORT_DIPNAME( 0x20, 0x20, "J9_2: 0x20") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "J9_2: 6") + PORT_DIPNAME( 0x40, 0x40, "J9_2: 0x40") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "J9_2: 7") + PORT_DIPNAME( 0x80, 0x80, "J9_2: 0x80") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_START("unk30") - PORT_DIPNAME( 0x01, 0x00, "unk30: 0 (Payout related)") // must be ON or you get an IOU message in j6roller instead of payout + PORT_START("PAYCOIN_LEVEL") // maybe only for certain types of payout mechanism? + PORT_DIPNAME( 0x01, 0x00, "PAYCOIN_LEVEL: 0x01 (20p cash low)") // this must be ON or you get an IOU message in j6roller instead of payout, just high being set isn't enough PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "unk30: 1") + PORT_DIPNAME( 0x02, 0x00, "PAYCOIN_LEVEL: 0x02 (token f low)") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "unk30: 2") + PORT_DIPNAME( 0x04, 0x00, "PAYCOIN_LEVEL: 0x04 (token b low)") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "unk30: 3") + PORT_DIPNAME( 0x08, 0x00, "PAYCOIN_LEVEL: 0x08 (100p cash low)") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, "unk30: 4") + PORT_DIPNAME( 0x10, 0x00, "PAYCOIN_LEVEL: 0x10 (token b full)") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "unk30: 5") + PORT_DIPNAME( 0x20, 0x00, "PAYCOIN_LEVEL: 0x20") // nothing on j6roller PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "unk30: 6") + PORT_DIPNAME( 0x40, 0x00, "PAYCOIN_LEVEL: 0x40 (20p cash full)") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "unk30: 7") + PORT_DIPNAME( 0x80, 0x00, "PAYCOIN_LEVEL: 0x80 (100p cash full)") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_START("TEST_DEMO") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME( "Test/Demo" ) - PORT_INCLUDE( jpmimpct_coins ) + PORT_START("PIA_PORTB") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(jpmimpct_state, hopper_b_0_r) + PORT_DIPNAME( 0x02, 0x00, "PIA_PORTB: 0x02") + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x04, "PIA_PORTB: 0x04") + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(jpmimpct_state, hopper_b_3_r) + PORT_DIPNAME( 0x10, 0x10, "PIA_PORTB: 0x10") + PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x20, "PIA_PORTB: 0x20") + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x40, "PIA_PORTB: 0x40") + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, "PIA_PORTB: 0x80") + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_START("PIA_PORTC") + PORT_DIPNAME( 0x01, 0x00, "PIA_PORTC: 0x01") + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x00, "PIA_PORTC: 0x02") + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x00, "PIA_PORTC: 0x04") + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x00, "PIA_PORTC: 0x08") + PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(jpmimpct_state, hopper_c_4_r) + PORT_DIPNAME( 0x20, 0x20, "Top Up Switch 0x20") + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(jpmimpct_state, hopper_c_6_r) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(jpmimpct_state, hopper_c_7_r) + + PORT_INCLUDE( jpmimpct_coins ) INPUT_PORTS_END INPUT_PORTS_START( jpmimpct_video_inputs ) @@ -1014,16 +1088,16 @@ WRITE_LINE_MEMBER(jpmimpct_video_state::tms_irq) * *************************************/ -uint8_t jpmimpct_state::hopper_b_r() -{ - int retval; - // B0 = 100p Hopper Opto - // B1 = Hopper High - // B2 = Hopper Low - // B3 = 20p Hopper Opto +// THIS COULD BE INCORRECT - // Always return hoppers full - retval=0xed; // 1110 1101 +// B0 = 100p Hopper Opto +// B1 = Hopper High +// B2 = Hopper Low +// B3 = 20p Hopper Opto + +READ_LINE_MEMBER( jpmimpct_state::hopper_b_0_r ) +{ + uint8_t retval = 0x01; if (!m_hopinhibit)//if inhibited, we don't change these flags { @@ -1031,9 +1105,26 @@ uint8_t jpmimpct_state::hopper_b_r() {//100p retval &= ~0x01; } + } + else + { + // if payout is inhibited these must be 0, no coin detected? otherwise many sets will give 5.7 error + // when they test the hoppers + retval &= ~0x01; + } + + return retval; +} + +READ_LINE_MEMBER( jpmimpct_state::hopper_b_3_r ) +{ + uint8_t retval = 0x01; + + if (!m_hopinhibit)//if inhibited, we don't change these flags + { if (((m_hopper[1] && m_motor[1]) || (m_hopper[2] && m_slidesout))) //&& ((m_hopflag2 & 0x20)==0x20)) { - retval &= ~0x08; + retval &= ~0x01; } } else @@ -1041,49 +1132,66 @@ uint8_t jpmimpct_state::hopper_b_r() // if payout is inhibited these must be 0, no coin detected? otherwise many sets will give 5.7 error // when they test the hoppers retval &= ~0x01; - retval &= ~0x08; } return retval; } -uint8_t jpmimpct_state::hopper_c_r() -{ - int retval; - // C0-C2 = Alpha - // C3 - // C4 = 20p Hopper Detect - // C5 = Hopper Top-Up - // C6 = 100p Hopper Detect - // C7 = Payout Verif (Slides) - retval=0xf0; //1111 0000 + + +// C0-C2 = Alpha (output) +// C3 +// C4 = 20p Hopper Detect +// C5 = Hopper Top-Up +// C6 = 100p Hopper Detect +// C7 = Payout Verif (Slides) // if (StatBtns & 0x20) // Top Up switch // retval &= ~0x20; - // Which hoppers are present - if (m_hopper[0]) +READ_LINE_MEMBER(jpmimpct_state::hopper_c_4_r) +{ + uint8_t retval = 0x01; + + if (m_hopper[1]) { - retval &= ~0x40; + retval &= ~0x01; } - if (m_hopper[1]) + + return retval; +} + +READ_LINE_MEMBER(jpmimpct_state::hopper_c_6_r) +{ + uint8_t retval = 0x01; + + if (m_hopper[0]) { - retval &= ~0x10; + retval &= ~0x01; } + return retval; +} + +READ_LINE_MEMBER(jpmimpct_state::hopper_c_7_r) +{ + uint8_t retval = 0x01; + if (!m_hopinhibit) { if ((m_slidesout==1) && ((m_hopper[2]==0))) { m_slidesout=0; - retval &= ~0x80; + retval &= ~0x01; } } return retval; } + + void jpmimpct_state::payen_a_w(uint8_t data) { m_motor[0] = (data & 0x01); @@ -1171,8 +1279,8 @@ void jpmimpct_state::base(machine_config &config) I8255(config, m_ppi); m_ppi->out_pa_callback().set(FUNC(jpmimpct_state::payen_a_w)); - m_ppi->in_pb_callback().set(FUNC(jpmimpct_state::hopper_b_r)); - m_ppi->in_pc_callback().set(FUNC(jpmimpct_state::hopper_c_r)); + m_ppi->in_pb_callback().set_ioport("PIA_PORTB"); + m_ppi->in_pc_callback().set_ioport("PIA_PORTC"); m_ppi->out_pc_callback().set(FUNC(jpmimpct_state::display_c_w)); TIMER(config, "cointimer0").configure_generic(FUNC(jpmimpct_state::coinoff<0>)); diff --git a/src/mame/drivers/jpmimpctsw.cpp b/src/mame/drivers/jpmimpctsw.cpp index c873e1b5e58..da81c4b83a9 100644 --- a/src/mame/drivers/jpmimpctsw.cpp +++ b/src/mame/drivers/jpmimpctsw.cpp @@ -17,6 +17,11 @@ Reel Bingo Classic Club (built on top of Give us a Break Club) Wild King Club (slightly corrupt VFD display, placeholder strings) + + --- + + Some games without sound ROMs appear to hang in places waiting for the upd + */ #include "emu.h" @@ -111,9 +116,15 @@ INPUT_PORTS_EXTERN( jpmimpct_inputs ); -INPUT_PORTS_START( jpmimpct_non_video_inputs ) +INPUT_PORTS_START( jpmimpct_non_video_inputs ) // these are standard inputs for the first party games PORT_INCLUDE( jpmimpct_inputs ) + PORT_MODIFY("J9_0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) // Spin Reels + + PORT_MODIFY("J10_2") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_INTERLOCK) PORT_NAME("Back Door") PORT_CODE(KEYCODE_Q) PORT_TOGGLE + PORT_MODIFY("J9_2") // are the refill key / cashbox ALWAYS here on non-videos? or just most of the time? // J9_2:2 HOPPER ? PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE) PORT_NAME("Refill Key") PORT_CODE(KEYCODE_R) PORT_TOGGLE @@ -126,7 +137,30 @@ INPUT_PORTS_START( j6nokey_withperc ) PORT_INCLUDE( jpmimpct_non_video_inputs ) PORT_MODIFY("J10_0") - PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_DIPNAME( 0x01, 0x01, "J10_0: 0x01") + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x02, "J10_0: 0x02") + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x04, "J10_0: 0x04") + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x08, "J10_0: 0x08") + PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x10, 0x10, "J10_0: 0x10") + PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x20, "J10_0: 0x20") + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x40, "J10_0: 0x40") + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, "J10_0: 0x80") + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END // also no % key @@ -134,7 +168,30 @@ INPUT_PORTS_START( j6nokey ) PORT_INCLUDE( j6nokey_withperc ) PORT_MODIFY("PERCENT") - PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_DIPNAME( 0x01, 0x01, "PERCENT: 0x01") + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x02, "PERCENT: 0x02") + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x04, "PERCENT: 0x04") + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x08, "PERCENT: 0x08") + PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x10, 0x10, "PERCENT: 0x10") + PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x20, "PERCENT: 0x20") + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x40, "PERCENT: 0x40") + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, "PERCENT: 0x80") + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END @@ -507,16 +564,6 @@ INPUT_PORTS_START( j6_jackpot_10 ) PORT_CONFSETTING( 0x00, "0x00" ) INPUT_PORTS_END -INPUT_PORTS_START( j6_start_ex_co_3nud_cancel ) - PORT_MODIFY("J9_0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) // Spin Reels - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3/Lo") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2/Hi") - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") -INPUT_PORTS_END INPUT_PORTS_START( j6sonic ) // only runs with 5p or 10p stake and either 8 GBP Token or 10 GBP Cash @@ -526,7 +573,17 @@ INPUT_PORTS_START( j6sonic ) // only runs with 5p or 10p stake and either 8 GBP PORT_INCLUDE( j6_stake_5_10 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3/Lo") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2/Hi") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON7 ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) INPUT_PORTS_END INPUT_PORTS_START( j6sonicg ) // only runs without a key? @@ -535,7 +592,13 @@ INPUT_PORTS_START( j6sonicg ) // only runs without a key? PORT_INCLUDE( j6_jackpot_not_fitted ) PORT_INCLUDE( j6_stake_not_fitted ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3/Lo") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2/Hi") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") INPUT_PORTS_END INPUT_PORTS_START( j6arcade ) @@ -544,7 +607,20 @@ INPUT_PORTS_START( j6arcade ) PORT_INCLUDE( j6_jackpot_5_15 ) PORT_INCLUDE( j6_stake_20_25_30 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) + PORT_MODIFY("J10_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Step") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Hold 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Hold 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Hold 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Auto Nudge") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Hopper Dump Sw") INPUT_PORTS_END INPUT_PORTS_START( j6acehi ) @@ -553,7 +629,20 @@ INPUT_PORTS_START( j6acehi ) PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_20_25_30 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Auto Nudge") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Hold 3") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Hold 2") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Hold 1") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Step") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Hopper Dump Sw") INPUT_PORTS_END INPUT_PORTS_START( j6big50 ) @@ -563,7 +652,6 @@ INPUT_PORTS_START( j6big50 ) PORT_INCLUDE( j6_jackpot_8_8t_10_15 ) PORT_MODIFY("J9_0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) // Spin Reels PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Low") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("High") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") @@ -574,6 +662,8 @@ INPUT_PORTS_START( j6big50 ) PORT_MODIFY("J9_2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Collect") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON9 ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) // unknown, responds in switch test INPUT_PORTS_END INPUT_PORTS_START( j6bigbuk ) @@ -583,7 +673,6 @@ INPUT_PORTS_START( j6bigbuk ) PORT_INCLUDE( j6_jackpot_8_8t ) PORT_MODIFY("J9_0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) // Spin Reels PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3/Lo") @@ -591,13 +680,18 @@ INPUT_PORTS_START( j6bigbuk ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Auto Nudge") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON8 ) // unknown, responds in switch test + + PORT_MODIFY("J9_2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON9 ) // unknown, responds in switch test INPUT_PORTS_END INPUT_PORTS_START( j6bigbnk ) PORT_INCLUDE( j6nokey_withperc ) PORT_MODIFY("J9_0") // same inputs as j6big50? - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) // Spin Reels PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Low") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("High") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") @@ -608,14 +702,15 @@ INPUT_PORTS_START( j6bigbnk ) PORT_MODIFY("J9_2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Collect") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON9 ) // unknown, responds in switch test INPUT_PORTS_END -INPUT_PORTS_START( j6bigcsh ) +INPUT_PORTS_START( j6bigcsh ) // Empire, non-standard? PORT_INCLUDE( jpmimpct_non_video_inputs ) PORT_INCLUDE( j6_stake_5_10_20_25_30 ) PORT_INCLUDE( j6_jackpot_8c_5_15 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + // PORT_INCLUDE( TODO: ) // not verified INPUT_PORTS_END INPUT_PORTS_START( j6bigpct ) @@ -624,37 +719,53 @@ INPUT_PORTS_START( j6bigpct ) PORT_INCLUDE( j6_stake_20_25 ) PORT_INCLUDE( j6_jackpot_not_fitted_10 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON8 ) // switch 33 + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON7 ) // switch 34 + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) // switch 41 + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) // switch 42 + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3/Lo") // switch 43 + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2/Hi") // switch 44 + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") // switch 45 + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") // switch 46 + + PORT_MODIFY("J9_2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON9 ) // switch 60 INPUT_PORTS_END INPUT_PORTS_START( j6bigtop ) PORT_INCLUDE( j6nokey ) PORT_MODIFY("DSW") // for the parent set these must be 'ON' to avoid a NOTE S/W ERROR - PORT_DIPNAME( 0x01, 0x00, "DSW 0 (must be ON)") + PORT_DIPNAME( 0x01, 0x00, "Stake/Jackpot 1 (must be ON)") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, "DSW 1 (must be ON)") + PORT_DIPNAME( 0x02, 0x00, "Stake/Jackpot 2 (must be ON)") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, "DSW 2 (must be ON)") + PORT_DIPNAME( 0x04, 0x00, "Stake/Jackpot 3 (must be ON)") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x08, "Stake/Jackpot 4 (must be OFF)") + PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END - -INPUT_PORTS_START( j6colcsh ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) - - // this allows for more complex mixes, for now just use a setting that boots - PORT_INCLUDE( j6_jackpot_5 ) - PORT_INCLUDE( j6_stake_10 ) + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Hold 4/Lo") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Hold 3/Hi") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Hold 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Hold 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel / Collect") - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END + INPUT_PORTS_START( j6bigwhl ) PORT_INCLUDE( jpmimpct_non_video_inputs ) @@ -662,7 +773,26 @@ INPUT_PORTS_START( j6bigwhl ) PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_NAME("Wheel Feature 6") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Wheel Feature 5") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Wheel Feature 4") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Wheel Feature 3") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Wheel Feature 2") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Wheel Feature 1") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) // unknown but tested + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON7 ) // unknown but tested + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON14 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON15 ) // unknown, responds in switch test INPUT_PORTS_END @@ -674,13 +804,21 @@ INPUT_PORTS_START( j6camelt ) PORT_INCLUDE( j6_stake_20 ) PORT_MODIFY("J9_0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) // Spin Reels PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 3/Lo") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 2/Hi") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 1") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Collect") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Blasts") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Cash") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Feature") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Nudges") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6cshbst ) @@ -691,7 +829,6 @@ INPUT_PORTS_START( j6cshbst ) PORT_INCLUDE( j6_stake_20 ) PORT_MODIFY("J9_0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) // Spin Reels PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 2") @@ -700,16 +837,14 @@ INPUT_PORTS_START( j6cshbst ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("High Left") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("High Right") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Low Left") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Low Right") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Cash or Bust") - PORT_MODIFY("J10_2") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("High Left") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("High Right") - - //PORT_MODIFY("J9_2") - // J9_2:2 HOPPER + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6cascz ) @@ -719,7 +854,24 @@ INPUT_PORTS_START( j6cascz ) PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Bingo") + + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Nudges") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Features") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Crazy Spins") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Cash") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON12 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON13 ) // unknown, responds in switch test INPUT_PORTS_END INPUT_PORTS_START( j6cascze ) @@ -729,7 +881,24 @@ INPUT_PORTS_START( j6cascze ) PORT_INCLUDE( j6_jackpot_8c ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Bingo") + + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Nudges") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Features") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Crazy Spins") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Cash") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON12 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON13 ) // unknown, responds in switch test INPUT_PORTS_END INPUT_PORTS_START( j6caslas ) @@ -739,7 +908,21 @@ INPUT_PORTS_START( j6caslas ) PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON8 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON7 ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON6 ) + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel / Collect") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON9 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) // unknown, responds in switch test INPUT_PORTS_END INPUT_PORTS_START( j6fasttk ) @@ -749,7 +932,19 @@ INPUT_PORTS_START( j6fasttk ) PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Lo") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Hi") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Cancel") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) + + PORT_MODIFY("J9_2") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON8 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON9 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) // unknown, responds in switch test INPUT_PORTS_END INPUT_PORTS_START( j6frc10 ) @@ -759,7 +954,24 @@ INPUT_PORTS_START( j6frc10 ) PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J10_2") // 2 sets of higher / lower buttons for different parts of the machine + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Higher Right") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Higher Left") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Higher Right") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Lower Left") + + PORT_MODIFY("J9_0") // exchange / cancel guessed + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Auto Nudge") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON12 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON13 ) // unknown, responds in switch test INPUT_PORTS_END INPUT_PORTS_START( j6fbcrz ) @@ -769,7 +981,21 @@ INPUT_PORTS_START( j6fbcrz ) PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Exchange Number") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Go For Goal") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Auto Nudge") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON9 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) // unknown, responds in switch test INPUT_PORTS_END INPUT_PORTS_START( j6guab ) @@ -779,7 +1005,26 @@ INPUT_PORTS_START( j6guab ) PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J10_2") // these might be incorrect, layout doesn't seem 100% + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_NAME("Feature") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Cash") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Bonus") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Knock Out") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Strikes") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Nudges") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("unknown") // responds in test, but no obvious button? not really mapped? + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON14 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON15 ) // unknown, responds in switch test INPUT_PORTS_END INPUT_PORTS_START( j6gogold ) @@ -789,7 +1034,23 @@ INPUT_PORTS_START( j6gogold ) PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Top Button 2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Top Button 4") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Top Button 1") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Top Button 3") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Cash / Token Sw") // this is named in service mode, is it the same for all games with an input here? INPUT_PORTS_END INPUT_PORTS_START( j6hapyhr ) @@ -799,7 +1060,16 @@ INPUT_PORTS_START( j6hapyhr ) PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Spin") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel / Collect") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON7 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) // PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6hilosv ) @@ -809,7 +1079,20 @@ INPUT_PORTS_START( j6hilosv ) PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Exchange Number") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Auto Nudge") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Hi-lo Silver Away") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel / Collect") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON9 ) // PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6impuls ) @@ -819,9 +1102,48 @@ INPUT_PORTS_START( j6impuls ) PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Auto Nudge") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Step") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON9 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) // PORT_NAME("Cash / Token Sw") +INPUT_PORTS_END + +INPUT_PORTS_START( j6impls ) + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_15 ) + PORT_INCLUDE( j6_stake_20 ) + + PORT_MODIFY("J10_2") // maps to a different place + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Step") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Auto Nudge") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON9 ) // PORT_NAME("Hopper Dump SW") +// PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON11 ) // PORT_NAME("Cash / Token Sw") INPUT_PORTS_END + INPUT_PORTS_START( j6impulsa ) PORT_INCLUDE( jpmimpct_non_video_inputs ) @@ -829,7 +1151,21 @@ INPUT_PORTS_START( j6impulsa ) PORT_INCLUDE( j6_jackpot_5 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Auto Nudge") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Step") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON9 ) // PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6jungfv ) @@ -839,7 +1175,24 @@ INPUT_PORTS_START( j6jungfv ) PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J10_2") // probably feature related + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON11 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON9 ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON7 ) + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Auto Nudge / Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + // PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) NOT tested + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON12 ) // PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6kungfu ) @@ -848,7 +1201,26 @@ INPUT_PORTS_START( j6kungfu ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Hi Left") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Hi Right") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Lo Left") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Lo Right") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Exchange Auto Nudge") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Take Feature") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + // 0x40 NOT tested + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + // PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) NOT tested + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON12 ) // PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6mavrk ) @@ -857,16 +1229,74 @@ INPUT_PORTS_START( j6mavrk ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Exchange Number") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Lower") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Higher") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Bank Nudges") // guess based on control panel + + PORT_MODIFY("J9_2") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Collect") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON11 ) // PORT_NAME("Cash / Token Sw") INPUT_PORTS_END -INPUT_PORTS_START( j6monmad ) +INPUT_PORTS_START( j6monmad ) // where is the 'take nudges' button?! it even checks bits in PIA ports in the switch check, but it isn't there PORT_INCLUDE( jpmimpct_non_video_inputs ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON7 ) + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Auto Nudge") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3 / Lower") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2 / Higher") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Collect") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON9 ) + //PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) // PORT_NAME("Hopper Dump SW") // NOT tested + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) // PORT_NAME("Cash / Token Sw") + + PORT_MODIFY("PIA_PORTB") // some of these register in the switch test! + PORT_DIPNAME( 0x01, 0x01, "PIA_PORTB: 0x01") + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x02, "PIA_PORTB: 0x02") + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x04, "PIA_PORTB: 0x04") + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x08, "PIA_PORTB: 0x08") + PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x10, 0x10, "PIA_PORTB: 0x10") + PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x20, "PIA_PORTB: 0x20") + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x40, "PIA_PORTB: 0x40") + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, "PIA_PORTB: 0x80") + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END INPUT_PORTS_START( j6pog ) @@ -875,7 +1305,24 @@ INPUT_PORTS_START( j6pog ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Pick Bronze") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Pick Silver") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Pick Gold") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Take Feature") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) // PORT_NAME("Cash / Token Sw") + + // also reads some bits from the PIA in switch test INPUT_PORTS_END INPUT_PORTS_START( j6potg ) @@ -884,7 +1331,22 @@ INPUT_PORTS_START( j6potg ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Pick Bronze") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Pick Silver") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Pick Gold") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Take Feature") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) // PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6pwrspn ) @@ -893,7 +1355,25 @@ INPUT_PORTS_START( j6pwrspn ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Left Higher") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Left Lower") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Right Higher") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Right Lower") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Take / Exchange") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Collect") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Auto Nudge") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON12 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON13 ) // PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6quick ) @@ -902,7 +1382,21 @@ INPUT_PORTS_START( j6quick ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Exchange Number") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Cash or Bust") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel / Collect") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON9 ) // PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6reelmn ) @@ -912,7 +1406,23 @@ INPUT_PORTS_START( j6reelmn ) // this one doesn't alarm with bad settings, but instead shows nothing PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("40p Stake") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("60p Stake") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("1GBP Stake") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Collect") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Exchange") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON11 ) // PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6richpk ) @@ -921,7 +1431,21 @@ INPUT_PORTS_START( j6richpk ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") // seem to pick different trails? + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Pick 3 (Collect Feature)") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Pick 2") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Pick 1 (Collect Nudges)") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Shuffle") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + // PORT_MODIFY("J9_2") // no bits in here show in test mode INPUT_PORTS_END INPUT_PORTS_START( j6rico ) @@ -930,7 +1454,21 @@ INPUT_PORTS_START( j6rico ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") // unusual mapping with multiple game bits in here + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Top") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Middle") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON11 ) // PORT_NAME("Cash / Token Sw") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Bottom") INPUT_PORTS_END INPUT_PORTS_START( j6robin ) @@ -939,7 +1477,23 @@ INPUT_PORTS_START( j6robin ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Shot 3") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Shot 2") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Shot 1") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Play Feature") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + //PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) // PORT_NAME("Hopper Dump SW") // not tested + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) // PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6sidewd ) @@ -948,7 +1502,18 @@ INPUT_PORTS_START( j6sidewd ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON7 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) // PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6snakes ) @@ -957,7 +1522,18 @@ INPUT_PORTS_START( j6snakes ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON7 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) // PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6stards ) @@ -966,7 +1542,24 @@ INPUT_PORTS_START( j6stards ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Take Cash") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Take Feature") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Take Blasts") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Take Nudges") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Take") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON11 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON12 ) // PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6strk10 ) @@ -975,7 +1568,20 @@ INPUT_PORTS_START( j6strk10 ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Pick 2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Pick 1") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange Nudges") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + // PORT_MODIFY("J9_2") // nothing shown for this port INPUT_PORTS_END INPUT_PORTS_START( j6roof ) @@ -984,7 +1590,19 @@ INPUT_PORTS_START( j6roof ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Swap Trails") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Collect Feature 1") + + PORT_MODIFY("J9_0") + // 0x02 isn't tested in service mode + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect Feature 2 / Cancel") // maybe bank nudges? + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Collect") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Nudge 1") + INPUT_PORTS_END INPUT_PORTS_START( j6wildw ) @@ -993,7 +1611,25 @@ INPUT_PORTS_START( j6wildw ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") // other buttons uncertain, possibly a different pair of hi/lo? + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON11 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Hi") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON9 ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Lo") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON7 ) + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + // 0x40 not tested + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON12 ) // PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6wizard ) @@ -1002,7 +1638,22 @@ INPUT_PORTS_START( j6wizard ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") // other buttons uncertain, possibly a different pair of hi/lo? + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Wizard of Odds") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON7) PORT_NAME("Exchange Number") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON9 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) // PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6hikar ) @@ -1011,7 +1662,25 @@ INPUT_PORTS_START( j6hikar ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") // other buttons uncertain, possibly a different pair of hi/lo? + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Wins Hi") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Wins Lo") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Nudge Hi") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Nudge Lo") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Exchange Feature") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Hopper Dump SW") + // PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON13 ) // not listed INPUT_PORTS_END INPUT_PORTS_START( j6slvgst ) @@ -1020,25 +1689,39 @@ INPUT_PORTS_START( j6slvgst ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END -INPUT_PORTS_START( j6impls ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_15 ) - PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON7 ) // PORT_NAME("Cash / Token Sw") INPUT_PORTS_END + + INPUT_PORTS_START( j6thril ) PORT_INCLUDE( jpmimpct_non_video_inputs ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_10 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON9 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) // PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6cshtwr ) @@ -1047,25 +1730,50 @@ INPUT_PORTS_START( j6cshtwr ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END -INPUT_PORTS_START( j6cshvgs ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Take Feature 3") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Take Feature 2") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Take Feature 1") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Higher") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Lower") - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_5 ) - PORT_INCLUDE( j6_stake_10 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON12 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON13 ) // PORT_NAME("Cash / Token Sw") INPUT_PORTS_END + + + INPUT_PORTS_START( j6cas5 ) PORT_INCLUDE( jpmimpct_non_video_inputs ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_5 ) PORT_INCLUDE( j6_stake_10 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Collect Feature") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Collect") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Stake") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6cas5e ) @@ -1074,16 +1782,20 @@ INPUT_PORTS_START( j6cas5e ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_10 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END -INPUT_PORTS_START( j6cheque ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_MODIFY("J10_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Collect Feature") - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_5 ) - PORT_INCLUDE( j6_stake_10 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Collect") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Stake") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6colmon ) @@ -1092,7 +1804,26 @@ INPUT_PORTS_START( j6colmon ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_5 ) PORT_INCLUDE( j6_stake_10 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_NAME("Take Feature") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Take Cash") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Take Nudge") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Hi Left") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Hi Right") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Lo Left") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Lo Right") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6crack ) @@ -1101,52 +1832,49 @@ INPUT_PORTS_START( j6crack ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_5 ) PORT_INCLUDE( j6_stake_10 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END - -INPUT_PORTS_START( j6dmngz ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_25 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END + PORT_MODIFY("J10_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Step") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Auto Nudge") -INPUT_PORTS_START( j6dyfl ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_5 ) - PORT_INCLUDE( j6_stake_10 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END -INPUT_PORTS_START( j6euphor ) +INPUT_PORTS_START( j6dyfl ) PORT_INCLUDE( jpmimpct_non_video_inputs ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_5 ) PORT_INCLUDE( j6_stake_10 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END -INPUT_PORTS_START( j6euphorf ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) - - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_25 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END + PORT_MODIFY("J10_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_NAME("Hi Right") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Lo Right") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Fire Take") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Exchange For Nudge") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Auto Nudge") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Collect Feature") -INPUT_PORTS_START( j6fireck ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Hi Left") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Hi Right") - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_5 ) - PORT_INCLUDE( j6_stake_10 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON14 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6firbl ) @@ -1155,7 +1883,26 @@ INPUT_PORTS_START( j6firbl ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_5 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_NAME("Hi Right") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Lo Right") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Fire Take") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Exchange For Nudge") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Auto Nudge") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Collect Feature") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Hi Left") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Hi Right") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON14 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6firblb ) @@ -1164,7 +1911,26 @@ INPUT_PORTS_START( j6firblb ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_NAME("Hi Right") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Lo Right") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Fire Take") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Exchange For Nudge") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Auto Nudge") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Collect Feature") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Cancel") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Hi Left") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Hi Right") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON14 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6fiveln ) @@ -1173,7 +1939,22 @@ INPUT_PORTS_START( j6fiveln ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Higher") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Lower") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON9 ) // PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) // PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6hifly ) @@ -1182,7 +1963,24 @@ INPUT_PORTS_START( j6hifly ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Hi Left") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Lo Left") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Xtra Step") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Hi Right") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Lo Right") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Press for Roll") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6impact ) @@ -1191,7 +1989,21 @@ INPUT_PORTS_START( j6impact ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Auto Nudge") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Step Down") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Swop") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6hirol ) @@ -1200,7 +2012,20 @@ INPUT_PORTS_START( j6hirol ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Collect Feature") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Collect") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Stake") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6redarw ) @@ -1209,93 +2034,49 @@ INPUT_PORTS_START( j6redarw ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_20 ) // doesn't care? - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END - -INPUT_PORTS_START( j6rccls ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) - - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_5 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END - -INPUT_PORTS_START( j6firclb ) - PORT_INCLUDE( j6nokey ) - - PORT_MODIFY("DSW") // first two need to be on to avoid error 91 00 (invalid mode) rather than the usual key ones - PORT_DIPNAME( 0x01, 0x00, "DSW 0 (must be ON)") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, "DSW 1 (must be ON)") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END - -INPUT_PORTS_START( j6crzclb ) - PORT_INCLUDE( j6nokey ) - - PORT_MODIFY("DSW") // first two need to be on to avoid error 91 00 (invalid mode) rather than the usual key ones - PORT_DIPNAME( 0x01, 0x00, "DSW 0 (must be ON)") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, "DSW 1 (must be ON)") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END + PORT_MODIFY("J10_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Hi Left") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Lo Left") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Hi Right") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Lo Right") -INPUT_PORTS_START( j6cluclb ) - PORT_INCLUDE( j6nokey ) + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Stake") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") - PORT_MODIFY("DSW") // first three need to be on to avoid error 91 00 (invalid mode) rather than the usual key ones - PORT_DIPNAME( 0x01, 0x00, "DSW 0 (must be ON)") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, "DSW 1 (must be ON)") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, "DSW 2 (must be ON)") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_MODIFY("J9_1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_NAME("Press For Streak") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Exchange For Cash") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Exchange For Feature") - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON14 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END -INPUT_PORTS_START( j6framft ) - PORT_INCLUDE( j6nokey ) - - PORT_MODIFY("DSW") // first two need to be on to avoid error 91 00 (invalid mode) rather than the usual key ones - PORT_DIPNAME( 0x01, 0x00, "DSW 0 (must be ON)") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, "DSW 1 (must be ON)") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END -INPUT_PORTS_START( j6frtmch ) +INPUT_PORTS_START( j6gforce ) PORT_INCLUDE( jpmimpct_non_video_inputs ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_5 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END -INPUT_PORTS_START( j6gforce ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + //PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("H2") // tested, but doesn't exist? - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_5 ) - PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_1") + //PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("H3") // tested, but doesn't exist? INPUT_PORTS_END INPUT_PORTS_START( j6gforcea ) @@ -1304,35 +2085,21 @@ INPUT_PORTS_START( j6gforcea ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END - -INPUT_PORTS_START( j6gidogh ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) - - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_25 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END -INPUT_PORTS_START( j6goldgl ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + //PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("H2") // tested, but doesn't exist? - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_25 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_1") + //PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("H3") // tested, but doesn't exist? INPUT_PORTS_END -INPUT_PORTS_START( j6hiphop ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_25 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END INPUT_PORTS_START( j6hotsht ) PORT_INCLUDE( jpmimpct_non_video_inputs ) @@ -1340,7 +2107,28 @@ INPUT_PORTS_START( j6hotsht ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Spin Take") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Auto Nudge") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Collect Feature") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Swop Trail") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_NAME("Hi Button 1") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Lo Button 1") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Hi Button 2") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Lo Button 2") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON14 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6showtm ) @@ -1349,7 +2137,26 @@ INPUT_PORTS_START( j6showtm ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_25 ) PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_NAME("Nudge Exchange") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Collect Feature") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Auto Nudge") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Spin Take") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Nudge Hi") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Nudge Lo") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Cash Hi") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Cash Lo") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON14 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6showtmb ) @@ -1358,7 +2165,26 @@ INPUT_PORTS_START( j6showtmb ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_NAME("Nudge Exchange") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Collect Feature") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Auto Nudge") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Spin Take") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Nudge Hi") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Nudge Lo") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Cash Hi") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Cash Lo") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON14 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6maxod ) @@ -1367,7 +2193,31 @@ INPUT_PORTS_START( j6maxod ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Blue Hi") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Yellow Hi") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Green Hi") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Blue Lo") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Yellow Lo") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Green Lo") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON15 ) PORT_NAME("Blue Take") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON14 ) PORT_NAME("Yellow Take") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_NAME("Green Take") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON16 ) PORT_NAME("Learner") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6megbck ) @@ -1376,7 +2226,24 @@ INPUT_PORTS_START( j6megbck ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Features") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Feature Knockouts") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Knockouts") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Cash Knockouts") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Cash") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6pinwzd ) @@ -1385,17 +2252,23 @@ INPUT_PORTS_START( j6pinwzd ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END -INPUT_PORTS_START( j6pogcls ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Blasts") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Knockout") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Nudges") - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_5 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6quantm ) @@ -1404,7 +2277,21 @@ INPUT_PORTS_START( j6quantm ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Collect Feature") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Leap") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6ra ) @@ -1413,33 +2300,22 @@ INPUT_PORTS_START( j6ra ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END - -INPUT_PORTS_START( j6rh6 ) - PORT_INCLUDE( j6nokey ) - PORT_MODIFY("DSW") // first three need to be on to avoid error 91 00 (invalid mode) rather than the usual key ones - PORT_DIPNAME( 0x01, 0x00, "DSW 0 (must be ON)") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, "DSW 1 (must be ON)") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, "DSW 2 (must be ON)") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Auto Nudge") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") -INPUT_PORTS_START( j6rhchil ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_MODIFY("J9_1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Step Down") - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_25 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6reelth ) @@ -1448,16 +2324,24 @@ INPUT_PORTS_START( j6reelth ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END -INPUT_PORTS_START( j6spcinv ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Hi Left") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Hi Right") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Lo Left") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Lo Right") - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_25 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Auto Nudge") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Hopper Dump SW") + //PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6supbrk ) @@ -1466,16 +2350,24 @@ INPUT_PORTS_START( j6supbrk ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END -INPUT_PORTS_START( j6swpdrp ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_MODIFY("J10_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Take Breakout") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Take Feature") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Take Cash") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Take Nudge") - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_25 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Hopper Dump SW") + //PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6bags ) @@ -1484,52 +2376,57 @@ INPUT_PORTS_START( j6bags ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_5 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END -INPUT_PORTS_START( j6tbirds ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Blue Hi") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Yellow Hi") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Green Hi") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Blue Lo") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Yellow Lo") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Green Lo") - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_15 ) - PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") -INPUT_PORTS_START( j6tbirdsk ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_MODIFY("J9_1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON15 ) PORT_NAME("Blue Take") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON14 ) PORT_NAME("Yellow Take") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_NAME("Green Take") - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_25 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END -INPUT_PORTS_START( j6tomb ) +INPUT_PORTS_START( j6tbirds ) PORT_INCLUDE( jpmimpct_non_video_inputs ) // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_25 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END - -INPUT_PORTS_START( j6topflg ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_INCLUDE( j6_jackpot_15 ) + PORT_INCLUDE( j6_stake_20 ) - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_25 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END + PORT_MODIFY("J10_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Press for Streak") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Take Knockout") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Take Bonus") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Take Nudges") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Take Feature") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Take Cash") -INPUT_PORTS_START( j6twst ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_25 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6pompay ) @@ -1538,34 +2435,50 @@ INPUT_PORTS_START( j6pompay ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END -INPUT_PORTS_START( j6vindal ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Exchange Feat") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Do or Die") - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_25 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END + + INPUT_PORTS_START( j6vivark ) PORT_INCLUDE( jpmimpct_non_video_inputs ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END -INPUT_PORTS_START( j6knight ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_MODIFY("J10_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Press for Streak") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Take Knockout") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Take Bonus") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Take Feature") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Take Nudges") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Take Cash") - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_25 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6ewn ) @@ -1576,34 +2489,19 @@ INPUT_PORTS_START( j6ewn ) PORT_INCLUDE( j6_stake_25 ) PORT_MODIFY("J10_2") - // these 2 default to door keys otherwise - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Nudge Down") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge Up") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Nudge Down") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Nudge Up") PORT_MODIFY("J9_0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) // Spin Reels - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Gamble") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 3") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 2") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Nudge 1") -INPUT_PORTS_END - - -INPUT_PORTS_START( j6btbw ) - PORT_INCLUDE( j6nokey ) - - PORT_MODIFY("DSW") // first three need to be on to avoid error 91 00 (invalid mode) rather than the usual key ones - PORT_DIPNAME( 0x01, 0x00, "DSW 0 (must be ON)") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, "DSW 1 (must be ON)") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, "DSW 2 (must be ON)") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Gamble") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6cpal ) @@ -1612,25 +2510,26 @@ INPUT_PORTS_START( j6cpal ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END -INPUT_PORTS_START( j6colic ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) - - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_25 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Hi Left") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Lo Left") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Hi Right") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Lo Right") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Auto Nudge") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Take Feature") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Swap") -INPUT_PORTS_START( j6crakr ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_25 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6easy ) @@ -1639,25 +2538,20 @@ INPUT_PORTS_START( j6easy ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END - -INPUT_PORTS_START( j6kapang ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_25 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END + PORT_MODIFY("J10_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Collect Feature") -INPUT_PORTS_START( j6pinfvr ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Collect") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Stake") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_25 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6r2rum ) @@ -1666,7 +2560,28 @@ INPUT_PORTS_START( j6r2rum ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_25 ) PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Take Nudges") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Step Down") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Hit or Bust") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_NAME("Hi Left") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Lo Left") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Hi Right") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Lo Right") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6r2rumc ) @@ -1675,53 +2590,74 @@ INPUT_PORTS_START( j6r2rumc ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END + PORT_MODIFY("J10_2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Take Nudges") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Step Down") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Hit or Bust") -INPUT_PORTS_START( j6slagn ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_25 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_NAME("Hi Left") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Lo Left") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Hi Right") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Lo Right") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END -INPUT_PORTS_START( j6tqust ) + +INPUT_PORTS_START( j6slagn ) PORT_INCLUDE( jpmimpct_non_video_inputs ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_25 ) PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END -INPUT_PORTS_START( j6shoot ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Cash Pot") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_25 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END -INPUT_PORTS_START( j6bucks ) +INPUT_PORTS_START( j6tqust ) PORT_INCLUDE( jpmimpct_non_video_inputs ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_25 ) PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END -INPUT_PORTS_START( j6scarlt ) - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_MODIFY("J10_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Take Dosh Pot") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Take Dosh") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Take Bonus") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Take Feature") - // TODO: more possibilities than this, this just allows it to boot - PORT_INCLUDE( j6_jackpot_25 ) - PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6cshrd ) @@ -1730,55 +2666,115 @@ INPUT_PORTS_START( j6cshrd ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_25 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END -INPUT_PORTS_START( j6rh6cl ) - PORT_INCLUDE( j6nokey ) + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Top Button 3") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Top Button 1") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Top Button 2") - PORT_MODIFY("DSW") // first three need to be on to avoid error 91 00 (invalid mode) rather than the usual key ones - PORT_DIPNAME( 0x01, 0x00, "DSW 0 (must be ON)") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, "DSW 1 (must be ON)") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, "DSW 2 (must be ON)") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6roller ) - PORT_INCLUDE( j6nokey_withperc ) + PORT_INCLUDE( j6nokey_withperc ) // stake is always set by dipswitches instead, jackpot hardcoded - PORT_INCLUDE( j6_jackpot_8t_10 ) + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3/Lo") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2/Hi") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") - PORT_INCLUDE( j6_stake_5_10 ) + PORT_MODIFY("J9_2") + //PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") +INPUT_PORTS_END + +INPUT_PORTS_START( j6roller15 ) + PORT_INCLUDE( j6roller ) + + PORT_MODIFY("DSW") + PORT_DIPNAME( 0x03, 0x03, "Stake") + PORT_DIPSETTING( 0x00, "25p" ) + PORT_DIPSETTING( 0x01, "20p" ) + PORT_DIPSETTING( 0x02, "25p (duplicate)" ) + PORT_DIPSETTING( 0x03, "30p" ) +INPUT_PORTS_END + +INPUT_PORTS_START( j6roller10 ) + PORT_INCLUDE( j6roller ) + + // stake is always 20p? +INPUT_PORTS_END - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) +INPUT_PORTS_START( j6roller8 ) + PORT_INCLUDE( j6roller ) + + PORT_MODIFY("DSW") + PORT_DIPNAME( 0x03, 0x03, "Stake") + PORT_DIPSETTING( 0x00, "25p" ) + PORT_DIPSETTING( 0x01, "5p" ) + PORT_DIPSETTING( 0x02, "10p" ) + PORT_DIPSETTING( 0x03, "20p" ) INPUT_PORTS_END -INPUT_PORTS_START( j6cdivr ) + +INPUT_PORTS_START( j6cdivr ) // gets stuck awarding wins (not payout) PORT_INCLUDE( jpmimpct_non_video_inputs ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_15 ) PORT_INCLUDE( j6_stake_20 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Top 3") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Top 2") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Top 1") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6grc ) PORT_INCLUDE( j6nokey ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Unknown 2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Unknown 1") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 4") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel / Collect") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6aceclb ) PORT_INCLUDE( j6nokey ) PORT_MODIFY("J9_0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) // Spin Reels PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 4/Lo") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3/Hi") @@ -1793,15 +2789,14 @@ INPUT_PORTS_START( j6aceclb ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Features") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Nudges") - //PORT_MODIFY("J9_2") - // J9_2: 2 HOPPER DUMP SWITCH + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6bnkrcl ) PORT_INCLUDE( j6nokey ) PORT_MODIFY("J9_0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) // Spin Reels PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 4/Lo") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3/Hi") @@ -1816,15 +2811,14 @@ INPUT_PORTS_START( j6bnkrcl ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON11 ) - //PORT_MODIFY("J9_2") - // J9_2: 2 HOPPER DUMP SWITCH + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END -INPUT_PORTS_START( j6bnza ) +INPUT_PORTS_START( j6bnza ) // unusual mapping PORT_INCLUDE( j6nokey_withperc ) PORT_MODIFY("J9_0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) // Spin Reels PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Exchange") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("TNT") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Bullet") @@ -1834,144 +2828,409 @@ INPUT_PORTS_START( j6bnza ) PORT_MODIFY("J9_2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel/Collect") // 2 buttons, one input? + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6cpclb ) PORT_INCLUDE( j6nokey ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") // these are guessed + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Take 1") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Take 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Take 3") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Take Nudges/Win") // almost the same as cancel / collect? + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 4/Lo") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3/Hi") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel/Collect") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6casclb ) PORT_INCLUDE( j6nokey ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") // these are guessed + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Take 4") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Take 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Take 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Take Nudges") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 4") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6filth ) PORT_INCLUDE( j6nokey ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Exchange") // not sure + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Auto Nudge") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 4") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Collect/Cancel") + + PORT_MODIFY("J9_2") + //PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6fivalv ) PORT_INCLUDE( j6nokey ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("unknown") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Shake") // shakes the reels with no sound in one bonus game + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Hey (shake)") // shakes the reels with 'hey' sound in one bonus game + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Collect/Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6guabcl ) PORT_INCLUDE( j6nokey ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") // these are guessed + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_NAME("Feature") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Cash") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Bonus") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Knock Out") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("WinSpin") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Nudge") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Take") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 4") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") + //PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6reelb ) PORT_INCLUDE( j6nokey ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") // guess + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel / Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 4") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") + //PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6indy ) PORT_INCLUDE( j6nokey_withperc ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + //PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6luckla ) PORT_INCLUDE( j6nokey ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") // tested but unknown, hangs without sound ROM in places + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON9 ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON7 ) + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 4/Lo") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3/Hi") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel/Collect") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6montlk ) PORT_INCLUDE( j6nokey_withperc ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + //PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6mono60 ) PORT_INCLUDE( j6nokey_withperc ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel / Collect") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6outlaw ) PORT_INCLUDE( j6nokey ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Take") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 4") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel/Collect") + + //PORT_MODIFY("J9_2") // nothing in here? INPUT_PORTS_END INPUT_PORTS_START( j6oxo ) PORT_INCLUDE( j6nokey_withperc ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Streak") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") + INPUT_PORTS_END INPUT_PORTS_START( j6oxobin ) PORT_INCLUDE( j6nokey_withperc ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Streak") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6popoli ) PORT_INCLUDE( j6nokey_withperc ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6rcclub ) PORT_INCLUDE( j6nokey ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 4/Lo") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3/Hi") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + //PORT_MODIFY("J9_2") // nothing in here? INPUT_PORTS_END INPUT_PORTS_START( j6royfls ) PORT_INCLUDE( j6nokey ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END -INPUT_PORTS_START( j6start ) - PORT_INCLUDE( j6nokey_withperc ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Knockouts") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Winspins") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Features") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Nudges") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 4") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") INPUT_PORTS_END INPUT_PORTS_START( j6untch ) PORT_INCLUDE( j6nokey_withperc ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3/Lo") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2/Hi") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6wldkng ) PORT_INCLUDE( j6nokey ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END -INPUT_PORTS_START( j6cccla ) - PORT_INCLUDE( j6nokey ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Gamble") // usually START1 + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Bank A Bit") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("unknown") // doesn't light anything in the layout? + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel / Collect") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 4") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 ) // VERY unusual mapping + + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6h5clb ) PORT_INCLUDE( j6nokey ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END -INPUT_PORTS_START( j6cascla ) - PORT_INCLUDE( j6nokey ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_0") // buttons unknown, game doesn't use vfd + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON7 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel/Collect") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6gldclb ) PORT_INCLUDE( j6nokey ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END -INPUT_PORTS_START( j6hirlcl ) - PORT_INCLUDE( j6nokey ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified -INPUT_PORTS_END + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 4") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Step Down") -INPUT_PORTS_START( j6magcir ) - PORT_INCLUDE( j6nokey ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") + //PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6raclb ) PORT_INCLUDE( j6nokey ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 4") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Step Down") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") + //PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") +INPUT_PORTS_END + +INPUT_PORTS_START( j6tbrdcl_buttons ) + PORT_MODIFY("J10_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Streak") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Take Wins") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Take Knockouts") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Take Cash") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 4") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel/Collect") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Take Feature") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") + //PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END -INPUT_PORTS_START( j6tbrdcl ) +INPUT_PORTS_START( j6tbrdcl ) // test mode broken, but works in clone below? PORT_INCLUDE( j6nokey ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_INCLUDE( j6tbrdcl_buttons ) INPUT_PORTS_END -INPUT_PORTS_START( j6tbrdclg ) +INPUT_PORTS_START( j6tbrdclg ) // unusual test mode PORT_INCLUDE( j6nokey ) PORT_MODIFY("DSW") // first three need to be on to avoid error 91 00 (invalid mode) rather than the usual key ones @@ -1985,38 +3244,71 @@ INPUT_PORTS_START( j6tbrdclg ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified - + PORT_INCLUDE( j6tbrdcl_buttons ) INPUT_PORTS_END INPUT_PORTS_START( j6vivrkc ) PORT_INCLUDE( j6nokey ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + + PORT_MODIFY("J10_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Streak") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Take Knockout") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Take Winspins") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Take Feature") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Take Cash") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 4") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel/Collect") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") + //PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END INPUT_PORTS_START( j6lucklo ) PORT_INCLUDE( j6nokey ) -INPUT_PORTS_END -INPUT_PORTS_START( j6ramese ) - PORT_INCLUDE( j6nokey ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + PORT_MODIFY("J10_2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_NAME("Features") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("Knockouts") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_NAME("Cash") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Nudges") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Winspins") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Bonus") + + PORT_MODIFY("J9_0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("Exchange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Collect") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Nudge 4") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel") + + PORT_MODIFY("J9_2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Hopper Dump SW") + //PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Cash / Token Sw") INPUT_PORTS_END +// +// MDM games +// these have unusual hookups +// -// MDM game -INPUT_PORTS_START( j6amdrm ) // might use % key, errors when changed from previous boot, but doesn't seem to require one - PORT_INCLUDE( jpmimpct_non_video_inputs ) + +INPUT_PORTS_START( j6amdrm ) // MDM game - might use % key, errors when changed from previous boot, but doesn't seem to require one + PORT_INCLUDE( jpmimpct_inputs ) PORT_MODIFY("J10_0") // the inputs connect where the jackpot / stake key would usually go! PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) // Spin Reels - PORT_DIPNAME( 0x02, 0x02, "J10_0: 1") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "J10_0: 2") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Exhcange") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3 / Lo") PORT_DIPNAME( 0x08, 0x08, "J10_0: 3") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -2033,22 +3325,24 @@ INPUT_PORTS_START( j6amdrm ) // might use % key, errors when changed from previo PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_MODIFY("J10_2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_INTERLOCK) PORT_NAME("Cashbox Door") PORT_CODE(KEYCODE_W) PORT_TOGGLE + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_INTERLOCK) PORT_NAME("Back Door") PORT_CODE(KEYCODE_Q) PORT_TOGGLE + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE) PORT_NAME("Refill Key") PORT_CODE(KEYCODE_R) PORT_TOGGLE + PORT_MODIFY("J10_1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON4 ) // fast track? - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 3") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 2") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2 / Hi") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("Fast Track") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel / Collect") INPUT_PORTS_END -// MDM game INPUT_PORTS_START( j6col ) // might use % key, errors when changed from previous boot, but doesn't seem to require one - PORT_INCLUDE( jpmimpct_non_video_inputs ) + PORT_INCLUDE( jpmimpct_inputs ) PORT_MODIFY("J10_0") // the inputs connect where the jackpot / stake key would usually go! PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) // Spin Reels - PORT_DIPNAME( 0x02, 0x02, "J10_0: 1") - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("Exhcange") PORT_DIPNAME( 0x04, 0x04, "J10_0: 2") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -2068,31 +3362,451 @@ INPUT_PORTS_START( j6col ) // might use % key, errors when changed from previous PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_MODIFY("J10_2") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_INTERLOCK) PORT_NAME("Cashbox Door") PORT_CODE(KEYCODE_W) PORT_TOGGLE + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_INTERLOCK) PORT_NAME("Back Door") PORT_CODE(KEYCODE_Q) PORT_TOGGLE + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE) PORT_NAME("Refill Key") PORT_CODE(KEYCODE_R) PORT_TOGGLE + PORT_MODIFY("J10_1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 3") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 2") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("Nudge 3") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Nudge 2") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Nudge 1") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Cancel / Collect") +INPUT_PORTS_END + +// +// Empire games +// + +INPUT_PORTS_START( j6papa ) // Empire + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_5 ) + PORT_INCLUDE( j6_stake_10 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6wthing ) // Empire + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_5 ) + PORT_INCLUDE( j6_stake_10 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + + + + +// +// JPM / Crystal / Ace games with other issues +// The following games won't enter test mode properly, why? different method? or similar to previous input issues? +// + +INPUT_PORTS_START( j6colcsh ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // this allows for more complex mixes, for now just use a setting that boots + PORT_INCLUDE( j6_jackpot_5 ) + PORT_INCLUDE( j6_stake_10 ) + +INPUT_PORTS_END + +INPUT_PORTS_START( j6cshvgs ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_5 ) + PORT_INCLUDE( j6_stake_10 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6cheque ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_5 ) + PORT_INCLUDE( j6_stake_10 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6dmngz ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_25 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified INPUT_PORTS_END -INPUT_PORTS_START( j6papa ) +INPUT_PORTS_START( j6euphor ) // can't get to input test? PORT_INCLUDE( jpmimpct_non_video_inputs ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_5 ) PORT_INCLUDE( j6_stake_10 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + // PORT_INCLUDE( TODO: ) // not verified INPUT_PORTS_END -INPUT_PORTS_START( j6wthing ) +INPUT_PORTS_START( j6euphorf ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_25 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6fireck ) // can't get to input test? PORT_INCLUDE( jpmimpct_non_video_inputs ) // TODO: more possibilities than this, this just allows it to boot PORT_INCLUDE( j6_jackpot_5 ) PORT_INCLUDE( j6_stake_10 ) - PORT_INCLUDE( j6_start_ex_co_3nud_cancel ) // not verified + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6rccls ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_5 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + + +INPUT_PORTS_START( j6firclb ) // can't get to input test? + PORT_INCLUDE( j6nokey ) + + PORT_MODIFY("DSW") // first two need to be on to avoid error 91 00 (invalid mode) rather than the usual key ones + PORT_DIPNAME( 0x01, 0x00, "DSW 0 (must be ON)") + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x00, "DSW 1 (must be ON)") + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6crzclb ) // can't get to input test? + PORT_INCLUDE( j6nokey ) + + PORT_MODIFY("DSW") // first two need to be on to avoid error 91 00 (invalid mode) rather than the usual key ones + PORT_DIPNAME( 0x01, 0x00, "DSW 0 (must be ON)") + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x00, "DSW 1 (must be ON)") + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6cluclb ) // can't get to input test? + PORT_INCLUDE( j6nokey ) + + PORT_MODIFY("DSW") // first three need to be on to avoid error 91 00 (invalid mode) rather than the usual key ones + PORT_DIPNAME( 0x01, 0x00, "DSW 0 (must be ON)") + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x00, "DSW 1 (must be ON)") + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x00, "DSW 2 (must be ON)") + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + + +INPUT_PORTS_START( j6framft ) // can't get to input test? + PORT_INCLUDE( j6nokey ) + + PORT_MODIFY("DSW") // first two need to be on to avoid error 91 00 (invalid mode) rather than the usual key ones + PORT_DIPNAME( 0x01, 0x00, "DSW 0 (must be ON)") + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x00, "DSW 1 (must be ON)") + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6frtmch ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_5 ) + PORT_INCLUDE( j6_stake_20 ) + // PORT_INCLUDE( TODO: ) // not verified INPUT_PORTS_END +INPUT_PORTS_START( j6gidogh ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_25 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6goldgl ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_25 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6hiphop ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_25 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6pogcls ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_5 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6rh6 ) // can't get to input test? + PORT_INCLUDE( j6nokey ) + + PORT_MODIFY("DSW") // first three need to be on to avoid error 91 00 (invalid mode) rather than the usual key ones + PORT_DIPNAME( 0x01, 0x00, "DSW 0 (must be ON)") + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x00, "DSW 1 (must be ON)") + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x00, "DSW 2 (must be ON)") + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6rhchil ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_25 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6spcinv ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_25 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6swpdrp ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_25 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6tbirdsk ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_25 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6tomb ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_25 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6topflg ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_25 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6twst ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_25 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6vindal ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_25 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6knight ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_25 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6btbw ) // can't get to input test? + PORT_INCLUDE( j6nokey ) + + PORT_MODIFY("DSW") // first three need to be on to avoid error 91 00 (invalid mode) rather than the usual key ones + PORT_DIPNAME( 0x01, 0x00, "DSW 0 (must be ON)") + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x00, "DSW 1 (must be ON)") + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x00, "DSW 2 (must be ON)") + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + + +INPUT_PORTS_START( j6colic ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_25 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6crakr ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_25 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6kapang ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_25 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6pinfvr ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_25 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6shoot ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_25 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6bucks ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_25 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6scarlt ) // can't get to input test? + PORT_INCLUDE( jpmimpct_non_video_inputs ) + + // TODO: more possibilities than this, this just allows it to boot + PORT_INCLUDE( j6_jackpot_25 ) + PORT_INCLUDE( j6_stake_25 ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6rh6cl ) // can't get to input test? + PORT_INCLUDE( j6nokey ) + + PORT_MODIFY("DSW") // first three need to be on to avoid error 91 00 (invalid mode) rather than the usual key ones + PORT_DIPNAME( 0x01, 0x00, "DSW 0 (must be ON)") + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x00, "DSW 1 (must be ON)") + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x00, "DSW 2 (must be ON)") + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6cccla ) // can't get to input test? + PORT_INCLUDE( j6nokey ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6cascla ) // can't get to input test? + PORT_INCLUDE( j6nokey ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6magcir ) // can't get to input test? + PORT_INCLUDE( j6nokey ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6ramese ) // can't get to input test? + PORT_INCLUDE( j6nokey ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6hirlcl ) // can't get to input test? + PORT_INCLUDE( j6nokey ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END + +INPUT_PORTS_START( j6start ) // not a standard machine, has a crane + PORT_INCLUDE( j6nokey_withperc ) + // PORT_INCLUDE( TODO: ) // not verified +INPUT_PORTS_END ROM_START( j6fifth ) @@ -4435,8 +6149,9 @@ ROM_END #define j6fasttk_sound \ ROM_REGION( 0x80000, "upd", ROMREGION_ERASE00 ) \ - /* missing? */ - ROM_START( j6fasttk ) + ROM_LOAD( "fasttrak.upd", 0x000000, 0x080000, NO_DUMP ) + +ROM_START( j6fasttk ) ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF ) ROM_LOAD16_BYTE( "9331.bin", 0x000000, 0x020000, CRC(54dbf894) SHA1(a3ffff82883cc192108f44d36a7465d4afeaf114) ) ROM_LOAD16_BYTE( "9332.bin", 0x000001, 0x020000, CRC(ecf1632a) SHA1(5d82a46672adceb29744e82de1b0fa5fcf4dbc51) ) @@ -4468,7 +6183,6 @@ ROM_END #define j6filth_sound \ ROM_REGION( 0x80000, "upd", ROMREGION_ERASE00 ) \ ROM_LOAD( "1151.bin", 0x000000, 0x080000, CRC(c3a2bf9b) SHA1(31536613fd9dcce0878109d460344591570c4334) ) \ -/* ROM_LOAD( "frcl-snd.bin", 0x000000, 0x080000, CRC(c3a2bf9b) SHA1(31536613fd9dcce0878109d460344591570c4334) ) */ ROM_START( j6filth ) ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF ) @@ -4897,14 +6611,18 @@ ROM_START( j6reelb ) ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF ) ROM_LOAD16_BYTE( "fg81.bin", 0x00000, 0x020000, CRC(570cd8b3) SHA1(91563b30d2ff229a000dfb3299a9cf343517fc72) ) ROM_LOAD16_BYTE( "fg82.bin", 0x00001, 0x020000, CRC(952a7743) SHA1(908e03279f0b98921b417e4c85117e0ef7f5c8b3) ) - j6guabcl_sound + + ROM_REGION( 0x80000, "upd", ROMREGION_ERASE00 ) + ROM_LOAD( "j6reelb.upd", 0x000000, 0x080000, NO_DUMP ) ROM_END ROM_START( j6reelba ) ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF ) ROM_LOAD16_BYTE( "fg81p.bin", 0x0000, 0x020000, CRC(bc928c8b) SHA1(6411994eebdfaac494725f64446cb711eb54c2b7) ) ROM_LOAD16_BYTE( "fg82.bin", 0x00001, 0x020000, CRC(952a7743) SHA1(908e03279f0b98921b417e4c85117e0ef7f5c8b3) ) - j6guabcl_sound + + ROM_REGION( 0x80000, "upd", ROMREGION_ERASE00 ) + ROM_LOAD( "j6reelb.upd", 0x000000, 0x080000, NO_DUMP ) ROM_END @@ -6735,6 +8453,29 @@ ROM_START( j6pogd ) j6pog_sound ROM_END +ROM_START( j6potg ) + ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF ) + ROM_LOAD16_BYTE( "fxd.p1", 0x00000, 0x020000, CRC(113ddbe2) SHA1(492e320c296604ebd7bd5a55356698bfa36c1d0d) ) + ROM_LOAD16_BYTE( "fxd.p2", 0x00001, 0x020000, CRC(c31eea57) SHA1(9b2a5cccbc7254c9a6b51f7ba5cc43c06578ed6e) ) + j6pog_sound +ROM_END + +ROM_START( j6potga ) + ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF ) + ROM_LOAD16_BYTE( "fxd_a.p1", 0x0000, 0x020000, CRC(43f91b83) SHA1(eaa1c1aa414ff378a7cb6820cfce7cc88fbfc559) ) + ROM_LOAD16_BYTE( "fxd.p2", 0x00001, 0x020000, CRC(c31eea57) SHA1(9b2a5cccbc7254c9a6b51f7ba5cc43c06578ed6e) ) + j6pog_sound +ROM_END + +ROM_START( j6potgb ) + ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF ) + ROM_LOAD16_BYTE( "fxd_p.p1", 0x0000, 0x020000, CRC(faa38fda) SHA1(437c1a34a044d2d4e17d1e94e145f3733d15bcf0) ) + ROM_LOAD16_BYTE( "fxd.p2", 0x00001, 0x020000, CRC(c31eea57) SHA1(9b2a5cccbc7254c9a6b51f7ba5cc43c06578ed6e) ) + j6pog_sound +ROM_END + + + #define j6pogcls_sound \ ROM_REGION( 0x80000, "upd", ROMREGION_ERASE00 ) \ @@ -9577,32 +11318,6 @@ ROM_END -#define j6potg_sound \ - ROM_REGION( 0x80000, "upd", ROMREGION_ERASE00 ) \ - /* missing? */ - -ROM_START( j6potg ) - ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF ) - ROM_LOAD16_BYTE( "fxd.p1", 0x00000, 0x020000, CRC(113ddbe2) SHA1(492e320c296604ebd7bd5a55356698bfa36c1d0d) ) - ROM_LOAD16_BYTE( "fxd.p2", 0x00001, 0x020000, CRC(c31eea57) SHA1(9b2a5cccbc7254c9a6b51f7ba5cc43c06578ed6e) ) - j6potg_sound -ROM_END - -ROM_START( j6potga ) - ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF ) - ROM_LOAD16_BYTE( "fxd_a.p1", 0x0000, 0x020000, CRC(43f91b83) SHA1(eaa1c1aa414ff378a7cb6820cfce7cc88fbfc559) ) - ROM_LOAD16_BYTE( "fxd.p2", 0x00001, 0x020000, CRC(c31eea57) SHA1(9b2a5cccbc7254c9a6b51f7ba5cc43c06578ed6e) ) - j6potg_sound -ROM_END - -ROM_START( j6potgb ) - ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF ) - ROM_LOAD16_BYTE( "fxd_p.p1", 0x0000, 0x020000, CRC(faa38fda) SHA1(437c1a34a044d2d4e17d1e94e145f3733d15bcf0) ) - ROM_LOAD16_BYTE( "fxd.p2", 0x00001, 0x020000, CRC(c31eea57) SHA1(9b2a5cccbc7254c9a6b51f7ba5cc43c06578ed6e) ) - j6potg_sound -ROM_END - - #define j6ramese_sound \ ROM_REGION( 0x80000, "upd", ROMREGION_ERASE00 ) \ @@ -10007,10 +11722,10 @@ GAME( 199?, j6caslasa, j6caslas, impact_nonvideo, j6caslas, jpmimpct_state GAME( 199?, j6caslasb, j6caslas, impact_nonvideo, j6caslas, jpmimpct_state, empty_init, ROT0, "JPM", "Casino Las Vegas (JPM) (IMPACT) (set 3)", GAME_FLAGS ) GAME( 199?, j6caslasc, j6caslas, impact_nonvideo, j6caslas, jpmimpct_state, empty_init, ROT0, "JPM", "Casino Las Vegas (JPM) (IMPACT) (set 4, Whitbread)", GAME_FLAGS ) -GAME( 199?, j6fasttk, 0, impact_nonvideo, j6fasttk, jpmimpct_state, empty_init, ROT0, "JPM", "Fast Trak (JPM) (IMPACT) (set 1)", GAME_FLAGS ) -GAME( 199?, j6fasttka, j6fasttk, impact_nonvideo, j6fasttk, jpmimpct_state, empty_init, ROT0, "JPM", "Fast Trak (JPM) (IMPACT) (set 2)", GAME_FLAGS ) -GAME( 199?, j6fasttkb, j6fasttk, impact_nonvideo, j6fasttk, jpmimpct_state, empty_init, ROT0, "JPM", "Fast Trak (JPM) (IMPACT) (set 3)", GAME_FLAGS ) -GAME( 199?, j6fasttkc, j6fasttk, impact_nonvideo, j6fasttk, jpmimpct_state, empty_init, ROT0, "JPM", "Fast Trak (JPM) (IMPACT) (set 4, Whitbread)", GAME_FLAGS ) +GAME( 199?, j6fasttk, 0, impact_nonvideo, j6fasttk, jpmimpct_state, empty_init, ROT0, "JPM", "Fast?Trak (JPM) (IMPACT) (set 1)", GAME_FLAGS ) +GAME( 199?, j6fasttka, j6fasttk, impact_nonvideo, j6fasttk, jpmimpct_state, empty_init, ROT0, "JPM", "Fast?Trak (JPM) (IMPACT) (set 2)", GAME_FLAGS ) +GAME( 199?, j6fasttkb, j6fasttk, impact_nonvideo, j6fasttk, jpmimpct_state, empty_init, ROT0, "JPM", "Fast?Trak (JPM) (IMPACT) (set 3)", GAME_FLAGS ) +GAME( 199?, j6fasttkc, j6fasttk, impact_nonvideo, j6fasttk, jpmimpct_state, empty_init, ROT0, "JPM", "Fast?Trak (JPM) (IMPACT) (set 4, Whitbread)", GAME_FLAGS ) GAME( 199?, j6filth, 0, impact_nonvideo, j6filth, jpmimpct_state, empty_init, ROT0, "JPM", "Filthy Rich Club (JPM) (IMPACT) (set 1)", GAME_FLAGS ) GAME( 199?, j6filtha, j6filth, impact_nonvideo, j6filth, jpmimpct_state, empty_init, ROT0, "JPM", "Filthy Rich Club (JPM) (IMPACT) (set 2)", GAME_FLAGS ) @@ -10070,6 +11785,9 @@ GAMEL( 199?, j6impulsd, j6impuls, impact_nonvideo, j6impulsa,jpmimpct_state GAMEL( 199?, j6impulse, j6impuls, impact_nonvideo, j6impulsa,jpmimpct_state, empty_init, ROT0, "JPM", "Impulse (JPM) (IMPACT) (set 6)", GAME_FLAGS, layout_j6impulsc ) GAMEL( 199?, j6impulsf, j6impuls, impact_nonvideo, j6impulsa,jpmimpct_state, empty_init, ROT0, "JPM", "Impulse (JPM) (IMPACT) (set 7, Whitbread)", GAME_FLAGS, layout_j6impulsc ) +// not the same layout or button mapping as the above, but same attract strings? +GAME( 199?, j6impls, 0, impact_nonvideo, j6impls, jpmimpct_state, empty_init, ROT0, "Crystal", "Impulse (Crystal) (IMPACT)", GAME_FLAGS ) + GAMEL( 199?, j6indy, 0, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (set 1)", GAME_FLAGS, layout_j6indyi ) GAMEL( 199?, j6indya, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (set 2)", GAME_FLAGS, layout_j6indyi ) GAMEL( 199?, j6indyb, j6indy, impact_nonvideo, j6indy, jpmimpct_state, empty_init, ROT0, "JPM", "Indiana Jones (JPM) (IMPACT) (set 3)", GAME_FLAGS, layout_j6indyi ) @@ -10183,23 +11901,23 @@ GAME( 199?, j6robinb, j6robin, impact_nonvideo_altreels, j6robin, jpmimp GAME( 199?, j6robinc, j6robin, impact_nonvideo_altreels, j6robin, jpmimpct_state, empty_init, ROT0, "Ace", "Robin Hood (Ace) (IMPACT) (set 4)", GAME_FLAGS ) -GAMEL( 199?, j6roller, 0, impact_nonvideo, j6roller, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC11 C30, 30p Stake, £15 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller15 ) -GAMEL( 199?, j6rollera, j6roller, impact_nonvideo, j6roller, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC11P C30, 30p Stake, £15 Jackpot, Protocol)", GAME_FLAGS_WORKING, layout_j6roller15 ) -GAMEL( 199?, j6rollerb, j6roller, impact_nonvideo, j6roller, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC11 AC30, 30p Stake, £15 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller15 ) -GAMEL( 199?, j6rollerc, j6roller, impact_nonvideo, j6roller, jpmimpct_state, empty_init, ROT0, "JPM / Whitbread", u8"Roller Coaster (JPM) (IMPACT) (RC11 C30, 30p Stake, £15 Jackpot, Whitbread)", GAME_FLAGS_WORKING, layout_j6roller15 ) -GAMEL( 199?, j6rollerd, j6roller, impact_nonvideo, j6roller, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC11 C29, 30p Stake, £15 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller15 ) -GAMEL( 199?, j6rollere, j6roller, impact_nonvideo, j6roller, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC10 C20, 20p Stake, £10 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller10 ) -GAMEL( 199?, j6rollerf, j6roller, impact_nonvideo, j6roller, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC9 L26, 20p Stake, £8 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller8 ) -GAMEL( 199?, j6rollerg, j6roller, impact_nonvideo, j6roller, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC9P L26, 20p Stake, £8 Jackpot, Protocol)", GAME_FLAGS_WORKING, layout_j6roller8 ) -GAMEL( 199?, j6rollerh, j6roller, impact_nonvideo, j6roller, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC9 AL26, 20p Stake, £8 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller8 ) -GAMEL( 199?, j6rolleri, j6roller, impact_nonvideo, j6roller, jpmimpct_state, empty_init, ROT0, "JPM / Whitbread", u8"Roller Coaster (JPM) (IMPACT) (RC9 L26, 20p Stake, £10 Jackpot, Whitbread)", GAME_FLAGS_WORKING, layout_j6roller10 ) -GAMEL( 199?, j6rollerj, j6roller, impact_nonvideo, j6roller, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC5 L14, 20p Stake, £8 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller8 ) -GAMEL( 199?, j6rollerk, j6roller, impact_nonvideo, j6roller, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC4 L15, 20p Stake, £8 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller8 ) -GAMEL( 199?, j6rollerl, j6roller, impact_nonvideo, j6roller, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC4P L15, 20p Stake, £8 Jackpot, Protocol)", GAME_FLAGS_WORKING, layout_j6roller8 ) -GAMEL( 199?, j6rollerm, j6roller, impact_nonvideo, j6roller, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC4 AL15, 20p Stake, £8 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller8 ) -GAMEL( 199?, j6rollern, j6roller, impact_nonvideo, j6roller, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC4 I L15, 20p Stake, £8 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller8 ) -GAMEL( 199?, j6rollero, j6roller, impact_nonvideo, j6roller, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC2 L07, 20p Stake, £8 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller8 ) -GAMEL( 199?, j6rollerp, j6roller, impact_nonvideo, j6roller, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC2 I L07, 20p Stake, £8 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller8 ) +GAMEL( 199?, j6roller, 0, impact_nonvideo, j6roller15, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC11 C30, 30p Stake, £15 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller15 ) +GAMEL( 199?, j6rollera, j6roller, impact_nonvideo, j6roller15, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC11P C30, 30p Stake, £15 Jackpot, Protocol)", GAME_FLAGS_WORKING, layout_j6roller15 ) +GAMEL( 199?, j6rollerb, j6roller, impact_nonvideo, j6roller15, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC11 AC30, 30p Stake, £15 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller15 ) +GAMEL( 199?, j6rollerc, j6roller, impact_nonvideo, j6roller15, jpmimpct_state, empty_init, ROT0, "JPM / Whitbread", u8"Roller Coaster (JPM) (IMPACT) (RC11 C30, 30p Stake, £15 Jackpot, Whitbread)", GAME_FLAGS_WORKING, layout_j6roller15 ) +GAMEL( 199?, j6rollerd, j6roller, impact_nonvideo, j6roller15, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC11 C29, 30p Stake, £15 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller15 ) +GAMEL( 199?, j6rollere, j6roller, impact_nonvideo, j6roller10, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC10 C20, 20p Stake, £10 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller10 ) +GAMEL( 199?, j6rollerf, j6roller, impact_nonvideo, j6roller8, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC9 L26, 20p Stake, £8 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller8 ) +GAMEL( 199?, j6rollerg, j6roller, impact_nonvideo, j6roller8, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC9P L26, 20p Stake, £8 Jackpot, Protocol)", GAME_FLAGS_WORKING, layout_j6roller8 ) +GAMEL( 199?, j6rollerh, j6roller, impact_nonvideo, j6roller8, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC9 AL26, 20p Stake, £8 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller8 ) +GAMEL( 199?, j6rolleri, j6roller, impact_nonvideo, j6roller10, jpmimpct_state, empty_init, ROT0, "JPM / Whitbread", u8"Roller Coaster (JPM) (IMPACT) (RC9 L26, 20p Stake, £10 Jackpot, Whitbread)", GAME_FLAGS_WORKING, layout_j6roller10 ) +GAMEL( 199?, j6rollerj, j6roller, impact_nonvideo, j6roller8, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC5 L14, 20p Stake, £8 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller8 ) +GAMEL( 199?, j6rollerk, j6roller, impact_nonvideo, j6roller8, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC4 L15, 20p Stake, £8 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller8 ) +GAMEL( 199?, j6rollerl, j6roller, impact_nonvideo, j6roller8, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC4P L15, 20p Stake, £8 Jackpot, Protocol)", GAME_FLAGS_WORKING, layout_j6roller8 ) +GAMEL( 199?, j6rollerm, j6roller, impact_nonvideo, j6roller8, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC4 AL15, 20p Stake, £8 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller8 ) +GAMEL( 199?, j6rollern, j6roller, impact_nonvideo, j6roller8, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC4 I L15, 20p Stake, £8 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller8 ) +GAMEL( 199?, j6rollero, j6roller, impact_nonvideo, j6roller8, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC2 L07, 20p Stake, £8 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller8 ) +GAMEL( 199?, j6rollerp, j6roller, impact_nonvideo, j6roller8, jpmimpct_state, empty_init, ROT0, "JPM", u8"Roller Coaster (JPM) (IMPACT) (RC2 I L07, 20p Stake, £8 Jackpot)", GAME_FLAGS_WORKING, layout_j6roller8 ) GAME( 199?, j6rcclub, 0, impact_nonvideo, j6rcclub, jpmimpct_state, empty_init, ROT0, "JPM", "Roller Coaster Club (JPM) (IMPACT) (set 1)", GAME_FLAGS ) GAME( 199?, j6rccluba, j6rcclub, impact_nonvideo, j6rcclub, jpmimpct_state, empty_init, ROT0, "JPM", "Roller Coaster Club (JPM) (IMPACT) (set 2)", GAME_FLAGS ) @@ -10266,8 +11984,8 @@ GAME( 199?, j6sonich, j6sonic, impact_nonvideo, j6sonic, jpmimpct_state, GAME( 199?, j6roof, 0, impact_nonvideo, j6roof, jpmimpct_state, empty_init, ROT0, "Ace", "Thru' The Roof (Ace) (IMPACT) (set 1)", GAME_FLAGS ) GAME( 199?, j6roofa, j6roof, impact_nonvideo, j6roof, jpmimpct_state, empty_init, ROT0, "Ace", "Thru' The Roof (Ace) (IMPACT) (set 2)", GAME_FLAGS ) -GAMEL( 199?, j6untch, 0, impact_nonvideo, j6untch, jpmimpct_state, empty_init, ROT0, "JPM", "Untouchables (JPM) (IMPACT) (set 1)", GAME_FLAGS, layout_j6untch ) -GAMEL( 199?, j6untcha, j6untch, impact_nonvideo, j6untch, jpmimpct_state, empty_init, ROT0, "JPM", "Untouchables (JPM) (IMPACT) (set 2)", GAME_FLAGS, layout_j6untch ) +GAMEL( 199?, j6untch, 0, impact_nonvideo, j6untch, jpmimpct_state, empty_init, ROT0, "JPM", "Untouchable (JPM) (IMPACT) (set 1)", GAME_FLAGS, layout_j6untch ) +GAMEL( 199?, j6untcha, j6untch, impact_nonvideo, j6untch, jpmimpct_state, empty_init, ROT0, "JPM", "Untouchable (JPM) (IMPACT) (set 2)", GAME_FLAGS, layout_j6untch ) // VFD issues, but VFD is likely unused as it calls the game 'Some Indeterminate Club Machine' with clear placeholder text GAMEL( 199?, j6wldkng, 0, impact_nonvideo, j6wldkng, jpmimpct_state, empty_init, ROT0, "JPM", "Wild King Club (JPM) (IMPACT) (set 1)", GAME_FLAGS, layout_j6wldkng ) @@ -10313,8 +12031,6 @@ GAME( 199?, j6cdivr, 0, impact_nonvideo, j6cdivr, jpmimpct_state, GAME( 199?, j6grc, 0, impact_nonvideo, j6grc, jpmimpct_state, empty_init, ROT0, "Crystal", "Gold Rush Club (Crystal) (IMPACT) (set 1)", GAME_FLAGS ) GAME( 199?, j6grca, j6grc, impact_nonvideo, j6grc, jpmimpct_state, empty_init, ROT0, "Crystal", "Gold Rush Club (Crystal) (IMPACT) (set 2)", GAME_FLAGS ) -GAME( 199?, j6impls, 0, impact_nonvideo, j6impls, jpmimpct_state, empty_init, ROT0, "Crystal", "Impulse (Crystal) (IMPACT)", GAME_FLAGS ) - GAME( 199?, j6thril, 0, impact_nonvideo, j6thril, jpmimpct_state, empty_init, ROT0, "Crystal", "Thriller (Crystal) (IMPACT) (set 1)", GAME_FLAGS ) GAME( 199?, j6thrila, j6thril, impact_nonvideo, j6thril, jpmimpct_state, empty_init, ROT0, "Crystal", "Thriller (Crystal) (IMPACT) (set 2)", GAME_FLAGS ) @@ -10579,11 +12295,11 @@ GAMEL( 199?, j6ffce, j6framft, impact_nonvideo, j6framft, jpmimpct_state GAME( 199?, j6frtmch, 0, impact_nonvideo, j6frtmch, jpmimpct_state, empty_init, ROT0, "JPM", "The Fruit Machine (JPM) (IMPACT)", GAME_FLAGS ) -GAME( 199?, j6gforce, 0, impact_nonvideo, j6gforce, jpmimpct_state, empty_init, ROT0, "JPM", "G Force (JPM) (IMPACT) (set 1)", GAME_FLAGS ) -GAME( 199?, j6gforcea, j6gforce, impact_nonvideo, j6gforcea,jpmimpct_state, empty_init, ROT0, "JPM", "G Force (JPM) (IMPACT) (set 2)", GAME_FLAGS ) -GAME( 199?, j6gforceb, j6gforce, impact_nonvideo, j6gforce, jpmimpct_state, empty_init, ROT0, "JPM", "G Force (JPM) (IMPACT) (set 3)", GAME_FLAGS ) -GAME( 199?, j6gforcec, j6gforce, impact_nonvideo, j6gforce, jpmimpct_state, empty_init, ROT0, "JPM", "G Force (JPM) (IMPACT) (set 4, Whitbread)", GAME_FLAGS ) -GAME( 199?, j6gforced, j6gforce, impact_nonvideo, j6gforce, jpmimpct_state, empty_init, ROT0, "JPM", "G Force (JPM) (IMPACT) (set 5)", GAME_FLAGS ) +GAME( 199?, j6gforce, 0, impact_nonvideo, j6gforce, jpmimpct_state, empty_init, ROT0, "JPM", "G Force Roller Coaster (JPM) (IMPACT) (set 1)", GAME_FLAGS ) +GAME( 199?, j6gforcea, j6gforce, impact_nonvideo, j6gforcea,jpmimpct_state, empty_init, ROT0, "JPM", "G Force Roller Coaster (JPM) (IMPACT) (set 2)", GAME_FLAGS ) +GAME( 199?, j6gforceb, j6gforce, impact_nonvideo, j6gforce, jpmimpct_state, empty_init, ROT0, "JPM", "G Force Roller Coaster (JPM) (IMPACT) (set 3)", GAME_FLAGS ) +GAME( 199?, j6gforcec, j6gforce, impact_nonvideo, j6gforce, jpmimpct_state, empty_init, ROT0, "JPM", "G Force Roller Coaster (JPM) (IMPACT) (set 4, Whitbread)", GAME_FLAGS ) +GAME( 199?, j6gforced, j6gforce, impact_nonvideo, j6gforce, jpmimpct_state, empty_init, ROT0, "JPM", "G Force Roller Coaster (JPM) (IMPACT) (set 5)", GAME_FLAGS ) GAMEL( 199?, j6gidogh, 0, impact_nonvideo, j6gidogh, jpmimpct_state, empty_init, ROT0, "Ace", "G.I. Dough (Ace) (IMPACT)", GAME_FLAGS, layout_j6gidogh ) diff --git a/src/mame/includes/jpmimpct.h b/src/mame/includes/jpmimpct.h index ee65a5d46ee..71b32e0f448 100644 --- a/src/mame/includes/jpmimpct.h +++ b/src/mame/includes/jpmimpct.h @@ -78,6 +78,12 @@ public: DECLARE_INPUT_CHANGED_MEMBER(coin_changed); template <unsigned N> DECLARE_READ_LINE_MEMBER( coinsense_r ) { return (m_coinstate >> N) & 1; } + DECLARE_READ_LINE_MEMBER(hopper_b_0_r); + DECLARE_READ_LINE_MEMBER(hopper_b_3_r); + DECLARE_READ_LINE_MEMBER(hopper_c_4_r); + DECLARE_READ_LINE_MEMBER(hopper_c_6_r); + DECLARE_READ_LINE_MEMBER(hopper_c_7_r); + protected: void impact_nonvideo_base(machine_config &config); @@ -121,7 +127,6 @@ private: void volume_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); void upd7759_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); uint16_t upd7759_r(offs_t offset, uint16_t mem_mask = ~0); - uint8_t hopper_b_r(); uint8_t hopper_c_r(); void payen_a_w(uint8_t data); void display_c_w(uint8_t data); |