diff --git a/src/emu/cpu/hmcs40/hmcs40.c b/src/emu/cpu/hmcs40/hmcs40.c index 57053375ff78b..84cfd492c578c 100644 --- a/src/emu/cpu/hmcs40/hmcs40.c +++ b/src/emu/cpu/hmcs40/hmcs40.c @@ -578,6 +578,7 @@ void hmcs40_cpu_device::execute_run() m_i = BITSWAP8(m_op,7,6,5,4,0,1,2,3) & 0xf; // reversed bit-order for immediate param (except for XAMR?) increment_pc(); +<<<<<<< HEAD // handle opcode switch (m_op) { @@ -591,30 +592,75 @@ void hmcs40_cpu_device::execute_run() break; +======= +/* + +op_ayy(); - +op_syy(); - +op_am(); - 34 234 4c +op_sm()???:- 234 +op_daa(); - 46 +op_das(); - 45 +op_nega(); - +op_anem(); - 324 124 +op_bnem(); - 267 024 +op_alem(); - 324 124 +op_blem(); - 267 024 +op_lay(); - 118 + +*/ + + // handle opcode + switch (m_op) + { + case 0x118: + op_lay(); // probably lay + break; + case 0x267: + op_blem(); break; // bnem or blem +>>>>>>> parent of 5b170fd... messing around case 0x124: op_illegal(); //op_alem(); // alem or anem //op_ayy(); break; case 0x324: +<<<<<<< HEAD op_illegal(); //op_anem(); // " break; +======= + op_anem(); break; // " +>>>>>>> parent of 5b170fd... messing around case 0x024: op_illegal(); //op_nega(); break; +<<<<<<< HEAD case 0x234: op_illegal(); //op_nega(); +======= + case 0x234: + // sm? +#if 0 + m_a = ram_r() - m_a; + m_s = ~m_a >> 4 & 1; + m_a &= 0xf; +#else + op_am(); +#endif + break; + case 0x04c: + op_illegal(); + //m_c ^= 1; + //op_lat(); +>>>>>>> parent of 5b170fd... messing around break; - - - @@ -633,18 +679,27 @@ void hmcs40_cpu_device::execute_run() case 0x020: case 0x021: case 0x022: case 0x023: op_lbm(); break; case 0x030: +<<<<<<< HEAD /* ok */ op_amc(); break; +======= + op_amc(); break; +>>>>>>> parent of 5b170fd... messing around case 0x03c: op_lta(); break; case 0x040: /* ok */ op_lxa(); break; +<<<<<<< HEAD case 0x045: /* ok */ op_das(); break; case 0x046: /* ok */ op_daa(); break; case 0x04c: /* ok */ op_rec(); break; +======= + case 0x04b: + op_rec(); break; +>>>>>>> parent of 5b170fd... messing around case 0x04f: /* ok */ op_sec(); break; case 0x050: @@ -751,7 +806,11 @@ void hmcs40_cpu_device::execute_run() case 0x225: /* ok */ op_rotl(); break; case 0x230: +<<<<<<< HEAD /* ok */ op_smc(); break; +======= + op_smc(); break; +>>>>>>> parent of 5b170fd... messing around case 0x23c: op_lat(); break; diff --git a/src/emu/cpu/hmcs40/hmcs40op.inc b/src/emu/cpu/hmcs40/hmcs40op.inc index 74c8b5a1efa83..15c6d3097552e 100644 --- a/src/emu/cpu/hmcs40/hmcs40op.inc +++ b/src/emu/cpu/hmcs40/hmcs40op.inc @@ -662,13 +662,13 @@ void hmcs40_cpu_device::op_p() if (o & 0x100) { // B3 B2 B1 B0 A0 A1 A2 A3 - m_a = BITSWAP8(o,7,6,5,4,0,1,2,3) & 0xf; + m_a = BITSWAP8((UINT8)o,7,6,5,4,0,1,2,3) & 0xf; m_b = o >> 4 & 0xf; } if (o & 0x200) { // R20 R21 R22 R23 R30 R31 R32 R33 - o = BITSWAP8(o,0,1,2,3,4,5,6,7); + o = BITSWAP8((UINT8)o,0,1,2,3,4,5,6,7); write_r(2, o & 0xf); write_r(3, o >> 4 & 0xf); } diff --git a/src/mame/drivers/goldstar.c b/src/mame/drivers/goldstar.c index 96aae293067c9..f20c4a64a030d 100644 --- a/src/mame/drivers/goldstar.c +++ b/src/mame/drivers/goldstar.c @@ -117,9 +117,36 @@ Nominated for the *WORST* hacked gambling game EVER! + * unkch sets + + In unkch1/unkch2 the payout rate is set with a combination of DSW1-3 (Punti) + and DSW3-3 (Gettoni/Ticket). If Punti is set to Ticket, the payout rate is + the second number of the Gettoni/Ticket setting (100 or 200). If Punti is set + to Gettoni, the payout rate is the first number of the Gettoni/Ticket setting + (10 or 20). If your points/credits aren't a multiple of the payout rate, you + lose the remainder. If you hit Key Out when your points/credits are less than + 100, you get nothing at all. If Gettoni/Ticket is set to 20/200 and you hit + Key Out when credits/points are at least 100 but less than 200, tickets will + be dispensed continuously until you insert another coin - game bug or MAME + bug? + + Payout rate in unkch3 seems to be set with DSW1-3 (Punti) directly. This game + also seems to be able to easily get into a state where tickets are dispensed + continuously. Maybe there's something more complicated about the ticket + dispenser hookup that we're missing? + + In unkch4 the payout rate is set with DSW1-3 (Punti) - 100 for Ticket and 10 + for Gettoni. It's also nice enough to let you keep the remainder if you hit + Key Out when your credits/points aren't a multiple of 100. This is the only + set that doesn't have issues with dispensing tickets continuously + + unkch3 has a handy input test mode. To access it, first enable it with DSW4-5, + then hold the Settings button (9) during boot. + + * Crazy Bonus (crazybon): - Appears to be from a bootleg conversion set for Poker Master (pokrmast). There + Appears to be from a bootleg conversion set for Poker Master (pkrmast). There is another undumped bootleg conversion set advertised that displays Spirit or Dyna copyright depending on DIP settings and has both poker and slots games (the set in MAME displays "Crazy Co." copyright and only has a slots game). @@ -127,7 +154,7 @@ This is a stealth set that hides behind a fake Windows ME desktop if DSW2-6 is off. Push Start followed by Bet five time to access the game. It will return to the desktop after the game is over. Colours currently appear to be bad on - the desktop screen. + the desktop screen. DSW3-8 disables the button sequence for accessing the game. Judging from the contents of the graphics ROMs and the Stats screens, there's a poker game buried in there, but there's apparently no way to access it. @@ -172,6 +199,7 @@ #include "roypok96.lh" #include "skill98.lh" #include "tonypok.lh" +#include "unkch.lh" WRITE8_MEMBER(goldstar_state::protection_w) @@ -209,6 +237,7 @@ WRITE8_MEMBER(goldstar_state::p1_lamps_w) ---x ---- info info small small/end --x- ---- start start deal start start start -x-- ---- hold + x--- ---- all cm/cmaster use the same scheme tonypok uses lamps to indicate current button functions rather than active buttons @@ -933,14 +962,6 @@ static ADDRESS_MAP_START( wcat3_map, AS_PROGRAM, 8, goldstar_state ) ADDRESS_MAP_END -/* -READ8_MEMBER(unkch_state::unk_r) -{ - return 0xff; -} -*/ - - /* newer / more capable hw */ static ADDRESS_MAP_START( unkch_map, AS_PROGRAM, 8, unkch_state ) AM_RANGE(0x0000, 0x9fff) AM_ROM @@ -967,9 +988,55 @@ static ADDRESS_MAP_START( unkch_map, AS_PROGRAM, 8, unkch_state ) AM_RANGE(0xfe00, 0xffff) AM_RAM ADDRESS_MAP_END + +WRITE8_MEMBER(unkch_state::coincount_w) +{ +/* + 7654 3210 + ---- --x- Payout counter (rate set with DIP switches) + ---- -x-- Credit counter (1 pulse/10 credits) + ---- x--- Key In counter + --xx ---- used for something during ticket dispensing + x--- ---- Ticket Dispenser Motor + -x-- ---x unused/unknown + +*/ + + m_ticket_dispenser->write(space, offset, data & 0x80); + + coin_counter_w(machine(), 0, data & 0x04); /* Credit counter */ + coin_counter_w(machine(), 1, data & 0x08); /* Key In counter */ + coin_counter_w(machine(), 2, data & 0x02); /* payout counter */ + + //popmessage("coin counters: %02x", data); +} + WRITE8_MEMBER(unkch_state::unkcm_0x02_w) { +/* bits + 7654 3210 + ---- ---x button lamp: Bet-A / Stop 2 + ---- --x- button lamp: Start / Stop All + ---- -x-- button lamp: Info / Small / Stop 3 + ---- x--- button lamp: Big + ---x ---- button lamp: Bet-B / D-Up + --x- ---- button lamp: Take / Stop 1 + -x-- ---- unknown/unused + x--- ---- vblank IRQ enable + + these sets use crude PWM to dim lamp 2 which requires filament physics simulation to work properly +*/ + //popmessage("unkcm_0x02_w %02x", data); + + m_vblank_irq_enable = data & 0x80; + + output_set_lamp_value(0, (data >> 0) & 1); /* Bet-A / Stop 2 */ + output_set_lamp_value(1, (data >> 1) & 1); /* Start / Stop All */ + output_set_lamp_value(2, (data >> 2) & 1); /* Info / Small / Stop 3 */ + output_set_lamp_value(3, (data >> 3) & 1); /* Big */ + output_set_lamp_value(4, (data >> 4) & 1); /* Bet-B / D-Up */ + output_set_lamp_value(5, (data >> 5) & 1); /* Take / Stop 1 */ } WRITE8_MEMBER(unkch_state::unkcm_0x03_w) @@ -982,31 +1049,21 @@ WRITE8_MEMBER(unkch_state::unkcm_0x03_w) } -WRITE8_MEMBER(unkch_state::unkcm_0x11_w) -{ - //popmessage("unkcm_0x11_w %02x", data); -} - -WRITE8_MEMBER(unkch_state::unkcm_0x12_w) -{ -// popmessage("unkcm_0x12_w %02x", data); -} - - static ADDRESS_MAP_START( unkch_portmap, AS_IO, 8, unkch_state ) ADDRESS_MAP_GLOBAL_MASK(0xff) + AM_RANGE(0x01, 0x01) AM_WRITE(coincount_w) AM_RANGE(0x02, 0x02) AM_WRITE(unkcm_0x02_w) AM_RANGE(0x03, 0x03) AM_WRITE(unkcm_0x03_w) - AM_RANGE(0x11, 0x11) AM_WRITE(unkcm_0x11_w) - AM_RANGE(0x12, 0x12) AM_WRITE(unkcm_0x12_w) AM_RANGE(0x08, 0x08) AM_READ_PORT("IN0") AM_RANGE(0x09, 0x09) AM_READ_PORT("IN1") AM_RANGE(0x0a, 0x0a) AM_READ_PORT("DSW4") AM_RANGE(0x0b, 0x0b) AM_READ_PORT("DSW3") - AM_RANGE(0x10, 0x10) AM_READ_PORT("DSW2") - /* Where is DSW1? It's possible the games are buggy and use the value read from DSW3 for DSW1 as well. */ + + AM_RANGE(0x10, 0x10) AM_DEVREAD("aysnd", ay8910_device, data_r) + AM_RANGE(0x11, 0x11) AM_DEVWRITE("aysnd", ay8910_device, data_w) + AM_RANGE(0x12, 0x12) AM_DEVWRITE("aysnd", ay8910_device, address_w) ADDRESS_MAP_END @@ -1139,7 +1196,7 @@ static INPUT_PORTS_START( cmv4_service ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Out / Attendant") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") // on some sets a DSW must be on/off to access this menu INPUT_PORTS_END static INPUT_PORTS_START( cmv4_dsw1 ) @@ -2012,8 +2069,8 @@ static INPUT_PORTS_START( chryangl ) PORT_DIPSETTING( 0x10, "C-Type" ) PORT_DIPSETTING( 0x00, "D-Type" ) PORT_DIPNAME( 0x20, 0x20, "Min. Bet For Bonus Play" ) PORT_DIPLOCATION("DSW4:6") - PORT_DIPSETTING( 0x20, "16 Bet" ) - PORT_DIPSETTING( 0x00, "8 Bet" ) + PORT_DIPSETTING( 0x00, "8" ) + PORT_DIPSETTING( 0x20, "16" ) PORT_DIPNAME( 0x40, 0x40, "Reel Speed" ) PORT_DIPLOCATION("DSW4:7") PORT_DIPSETTING( 0x40, DEF_STR( Low ) ) PORT_DIPSETTING( 0x00, DEF_STR( High ) ) @@ -2936,8 +2993,8 @@ static INPUT_PORTS_START( ns8linew ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x10, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x18, DEF_STR( 1C_5C ) ) - PORT_DIPSETTING( 0x20, DEF_STR( 1C_6C ) ) // manual says 1c/8c - PORT_DIPSETTING( 0x28, "1 Coin/10 Credits" ) + PORT_DIPSETTING( 0x20, DEF_STR( 1C_6C ) ) // manual says 1c/8c + PORT_DIPSETTING( 0x28, "1 Coin/10 Credits" ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:7") /* not checked */ PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -3318,12 +3375,12 @@ static INPUT_PORTS_START( bingowng ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) -/* On a W-4 PCB these are used as: "Special Odds-Prohibition Of Winning...(Odds B)" - see DSW2-7 - PORT_DIPNAME( 0x80, 0x00, "Special Odds" ) PORT_DIPLOCATION("DSW1:7,8") - PORT_DIPSETTING( 0x00, "None" ) - PORT_DIPSETTING( 0x40, "x300 (x1000)" ) - PORT_DIPSETTING( 0x80, "x500 (x5000" ) - PORT_DIPSETTING( 0xc0, "x1000 (x10000) +/* On a W-4 PCB these are used as: "Special Odds-Prohibition Of Winning...(Odds B)" - see DSW2-7 + PORT_DIPNAME( 0x80, 0x00, "Special Odds" ) PORT_DIPLOCATION("DSW1:7,8") + PORT_DIPSETTING( 0x00, "None" ) + PORT_DIPSETTING( 0x40, "x300 (x1000)" ) + PORT_DIPSETTING( 0x80, "x500 (x5000" ) + PORT_DIPSETTING( 0xc0, "x1000 (x10000) */ PORT_START("DSW2") @@ -3349,13 +3406,13 @@ static INPUT_PORTS_START( bingowng ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) -/* On a W-4 PCB these are used as: - PORT_DIPNAME( 0x40, 0x40, "Odds" ) PORT_DIPLOCATION("DSW2:7") - PORT_DIPSETTING( 0x40, "Type A" ) - PORT_DIPSETTING( 0x00, "Type B" ) - PORT_DIPNAME( 0x80, 0x80, "Type Of W-Up Game" ) PORT_DIPLOCATION("DSW2:8") - PORT_DIPSETTING( 0x80, "Slots" ) - PORT_DIPSETTING( 0x00, "Big/Small Card" ) +/* On a W-4 PCB these are used as: + PORT_DIPNAME( 0x40, 0x40, "Odds" ) PORT_DIPLOCATION("DSW2:7") + PORT_DIPSETTING( 0x40, "Type A" ) + PORT_DIPSETTING( 0x00, "Type B" ) + PORT_DIPNAME( 0x80, 0x80, "Type Of W-Up Game" ) PORT_DIPLOCATION("DSW2:8") + PORT_DIPSETTING( 0x80, "Slots" ) + PORT_DIPSETTING( 0x00, "Big/Small Card" ) */ /* On a W-4 PCB DSW3 & DSW4 are reversed and all dips on DSW4 are set to off! */ @@ -3410,7 +3467,7 @@ static INPUT_PORTS_START( bingowng ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END -INPUT_PORTS_START( bingownga ) +static INPUT_PORTS_START( bingownga ) PORT_INCLUDE( bingowng ) PORT_MODIFY("DSW4") @@ -3615,7 +3672,7 @@ static INPUT_PORTS_START( schery97 ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Out / Attendant") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") // doesn't work in v352c4 + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") // doesn't work in v352c4 PORT_START("DSW1") PORT_DIPNAME( 0x07, 0x03, "Game Level (Difficulty)" ) PORT_DIPLOCATION("DSW1:1,2,3") /* OK */ @@ -3938,16 +3995,17 @@ static INPUT_PORTS_START( nfb96 ) PORT_DIPSETTING( 0x80, DEF_STR( Yes ) ) INPUT_PORTS_END -/* Displays tkt info on screen but has no settings or hopper controls */ +/* Displays tkt info on screen but has no settings or hopper controls other than "Ticket Out By" DSW */ +/* All DSW marked as "Unused" until a manual or more information is found */ static INPUT_PORTS_START( nfb96tx ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused coin switch + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused coin switch */ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SLOT_STOP_ALL ) PORT_NAME("Stop All / Big") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_NAME("Stop 1 / D-UP") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_NAME("Stop 3 / Take / Select Card") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Play (Bet)") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_NAME("Stop 2 / Small") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_NAME("Stop 2 / Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") PORT_START("IN1") @@ -3957,7 +4015,7 @@ static INPUT_PORTS_START( nfb96tx ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) PORT_NAME("Ticket In") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) /* Key In shows in test mode but not used by game */ + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) /* unused keyin? - causes counter errors */ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_START("IN2") @@ -4014,7 +4072,7 @@ static INPUT_PORTS_START( nfb96tx ) PORT_DIPSETTING( 0x28, "125" ) PORT_DIPSETTING( 0x30, "250" ) PORT_DIPSETTING( 0x38, "500" ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:7") /* unknown */ + PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:7") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x40, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x00, "WARNING: Always Off" ) PORT_DIPLOCATION("DSW2:8") /* Listed that way in other manuals */ @@ -4022,7 +4080,7 @@ static INPUT_PORTS_START( nfb96tx ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) PORT_START("DSW3") - PORT_DIPNAME( 0x03, 0x02, "Minimum Play to Start" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */ + PORT_DIPNAME( 0x03, 0x00, "Minimum Play to Start" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */ PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x01, "8" ) PORT_DIPSETTING( 0x02, "16" ) @@ -4032,81 +4090,70 @@ static INPUT_PORTS_START( nfb96tx ) PORT_DIPSETTING( 0x04, "5000" ) PORT_DIPSETTING( 0x08, "10000" ) PORT_DIPSETTING( 0x0c, "90000" ) - PORT_DIPNAME( 0xf0, 0x00, "Clear / Ticket Unit" ) PORT_DIPLOCATION("DSW3:5,6,7,8") /* OK */ - PORT_DIPSETTING( 0x00, "1" ) - PORT_DIPSETTING( 0x10, "4" ) - PORT_DIPSETTING( 0x20, "5" ) - PORT_DIPSETTING( 0x30, "10" ) - PORT_DIPSETTING( 0x40, "15" ) - PORT_DIPSETTING( 0x50, "20" ) - PORT_DIPSETTING( 0x60, "25" ) - PORT_DIPSETTING( 0x70, "30" ) - PORT_DIPSETTING( 0x80, "40" ) - PORT_DIPSETTING( 0x90, "50" ) - PORT_DIPSETTING( 0xa0, "60" ) - PORT_DIPSETTING( 0xb0, "75" ) - PORT_DIPSETTING( 0xc0, "80" ) - PORT_DIPSETTING( 0xd0, "100" ) - PORT_DIPSETTING( 0xe0, "200" ) - PORT_DIPSETTING( 0xf0, "500" ) + PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW3:5") /* unknown */ + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x10, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW3:6") /* unknown */ + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x20, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW3:7") /* unknown */ + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x40, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW3:8") /* unknown */ + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x80, DEF_STR( On ) ) PORT_START("DSW4") - PORT_DIPNAME( 0x01, 0x01, "Check Account" ) PORT_DIPLOCATION("DSW4:1") /* OK */ + PORT_DIPNAME( 0x01, 0x01, "Check Account" ) PORT_DIPLOCATION("DSW4:1") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x01, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x02, 0x00, "Show In Confirm Screen" ) PORT_DIPLOCATION("DSW4:2") /* OK */ - PORT_DIPSETTING( 0x00, "Level of Difficulty" ) /* percentage in the manual */ - PORT_DIPSETTING( 0x02, "Percentage" ) /* level of difficulty in the manual */ + PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW4:2") /* unknown */ + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x02, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x00, "Initial Bonus Settings After Reset" ) PORT_DIPLOCATION("DSW4:3") /* OK (need a reset after change) */ PORT_DIPSETTING( 0x00, "Type 1" ) PORT_DIPSETTING( 0x04, "Type 2" ) - PORT_DIPNAME( 0x08, 0x08, "Bonus Accumulation" ) PORT_DIPLOCATION("DSW4:4") /* OK (need a reset after change) */ + PORT_DIPNAME( 0x08, 0x08, "Bonus Accumulation" ) PORT_DIPLOCATION("DSW4:4") /* OK (need a reset after change) */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x08, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x10, 0x10, "Auto Ticket Dispense" ) PORT_DIPLOCATION("DSW4:5") /* OK (need a reset after change) */ - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x10, DEF_STR( Yes ) ) - PORT_DIPNAME( 0xe0, 0xe0, "Ticket Dispense Mode" ) PORT_DIPLOCATION("DSW4:6,7,8") /* OK */ - PORT_DIPSETTING( 0xe0, "Continuous" ) - PORT_DIPSETTING( 0xc0, "Max 1 Ticket Per Game" ) - PORT_DIPSETTING( 0xa0, "Max 2 Ticket Per Game" ) - PORT_DIPSETTING( 0x80, "Max 3 Ticket Per Game" ) - PORT_DIPSETTING( 0x60, "Max 4 Ticket Per Game" ) - PORT_DIPSETTING( 0x40, "Max 5 Ticket Per Game" ) - PORT_DIPSETTING( 0x20, "Max 8 Ticket Per Game" ) - PORT_DIPSETTING( 0x00, "Max 10 Ticket Per Game" ) + PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW4:5") /* unknown */ + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x10, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW4:6") /* unknown */ + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x20, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW4:7") /* unknown */ + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x40, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW4:8") /* unknown */ + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x80, DEF_STR( On ) ) PORT_START("DSW5") PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW5:1") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, "Limit Score of Each Game to Max 10x Bet or $5.00" ) PORT_DIPLOCATION("DSW5:2") /* OK */ - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) - PORT_DIPSETTING( 0x02, DEF_STR( Yes ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) - PORT_DIPSETTING( 0x00, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) - PORT_DIPSETTING( 0x02, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) - PORT_DIPNAME( 0x04, 0x00, "Use Printer" ) PORT_DIPLOCATION("DSW5:3") /* OK */ - PORT_DIPSETTING( 0x00, "Interfase" ) - PORT_DIPSETTING( 0x04, "Direct Driver" ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:4") /* OK */ - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:5") /* OK */ - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "Play Score when no point left" ) PORT_DIPLOCATION("DSW5:6") /* OK (turn the machine off/on after change) */ - PORT_DIPSETTING( 0x20, DEF_STR( No ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) - PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) - PORT_DIPSETTING( 0x20, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) - PORT_DIPSETTING( 0x00, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) - PORT_DIPNAME( 0x40, 0x00, "Reset Remaining Score when Game Over" ) PORT_DIPLOCATION("DSW5:7") /* OK (turn the machine off/on after change) */ - PORT_DIPSETTING( 0x40, DEF_STR( No ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) - PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) - PORT_DIPSETTING( 0x40, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) - PORT_DIPSETTING( 0x00, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) - PORT_DIPNAME( 0x80, 0x00, "Advanced Count Game" ) PORT_DIPLOCATION("DSW5:8") /* OK (turn the machine off/on after change) */ - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW5:2") /* unknown */ + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x02, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x00, "Ticket Out By" ) PORT_DIPLOCATION("DSW5:3") /* OK */ + PORT_DIPSETTING( 0x00, "Interface" ) + PORT_DIPSETTING( 0x04, "Direct Drive" ) + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW5:4") /* unknown */ + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x08, DEF_STR( On ) ) + PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW5:5") /* unknown */ + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x10, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW5:6") /* unknown */ + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x20, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW5:7") /* unknown */ + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x40, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW5:8") /* unknown */ + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x80, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( roypok96 ) @@ -4278,14 +4325,14 @@ static INPUT_PORTS_START( roypok96a ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x10, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x00, "Unused - leave off" ) PORT_DIPLOCATION("DSW5:6") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x00, "Reset Remaining Score To Zero" ) PORT_DIPLOCATION("DSW5:7") - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x40, DEF_STR( Yes ) ) + PORT_DIPSETTING( 0x00, DEF_STR( No ) ) + PORT_DIPSETTING( 0x40, DEF_STR( Yes ) ) PORT_DIPNAME( 0x80, 0x00, "Count Game To Issue Ticket" ) PORT_DIPLOCATION("DSW5:8") - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x80, DEF_STR( Yes ) ) + PORT_DIPSETTING( 0x00, DEF_STR( No ) ) + PORT_DIPSETTING( 0x80, DEF_STR( Yes ) ) INPUT_PORTS_END @@ -4415,7 +4462,7 @@ static INPUT_PORTS_START( pokonl97 ) PORT_DIPNAME( 0x10, 0x10, "Auto Ticket Dispense" ) PORT_DIPLOCATION("DSW4:5") /* not checked */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x10, DEF_STR( Yes ) ) - PORT_DIPNAME( 0xe0, 0xe0, "Ticket Dispense Mode" ) PORT_DIPLOCATION("DSW4:6,7,8") + PORT_DIPNAME( 0xe0, 0xe0, "Ticket Dispense Mode" ) PORT_DIPLOCATION("DSW4:6,7,8") PORT_DIPSETTING( 0xe0, "Continuous" ) PORT_DIPSETTING( 0xc0, "Max 1 Ticket Per Game" ) PORT_DIPSETTING( 0xa0, "Max 2 Ticket Per Game" ) @@ -4688,18 +4735,18 @@ static INPUT_PORTS_START( nfb96bl ) PORT_START("DSW4") PORT_DIPNAME( 0x01, 0x01, "Check Account" ) PORT_DIPLOCATION("DSW4:1") /* OK */ - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:2") /* unknown */ - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x02, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, "Initial Bonus Settings After Reset" ) PORT_DIPLOCATION("DSW4:3") /* not checked */ + PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) + PORT_DIPSETTING( 0x01, DEF_STR( No ) ) + PORT_DIPNAME( 0x02, 0x00, "Show Coin In Limit On Screen" ) PORT_DIPLOCATION("DSW4:2") /* OK */ + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPNAME( 0x04, 0x00, "Initial Bonus Settings After Reset" ) PORT_DIPLOCATION("DSW4:3") /* OK (need a reset after change) */ PORT_DIPSETTING( 0x00, "Type 1" ) PORT_DIPSETTING( 0x04, "Type 2" ) - PORT_DIPNAME( 0x08, 0x08, "Bonus Accumulation" ) PORT_DIPLOCATION("DSW4:4") /* not checked */ + PORT_DIPNAME( 0x08, 0x08, "Bonus Accumulation" ) PORT_DIPLOCATION("DSW4:4") /* OK (need a reset after change) */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x08, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x10, 0x10, "Auto Ticket Dispense" ) PORT_DIPLOCATION("DSW4:5") /* not checked */ + PORT_DIPNAME( 0x10, 0x10, "Auto Ticket Dispense" ) PORT_DIPLOCATION("DSW4:5") /* OK (need a reset after change) */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x10, DEF_STR( Yes ) ) PORT_DIPNAME( 0xe0, 0xe0, "Ticket Dispense Mode" ) PORT_DIPLOCATION("DSW4:6,7,8") /* OK */ @@ -4716,6 +4763,27 @@ static INPUT_PORTS_START( nfb96bl ) PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END +static INPUT_PORTS_START( nfm ) /* no manual - similiar to nfb96 sets */ + PORT_INCLUDE( nfb96bl ) + + PORT_MODIFY( "IN2") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) // tied to hopper somehow? fill/empty switch? + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) // displays ticket value + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Out / Attendant") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) // keyin -tied to ticket clear value + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") + + PORT_MODIFY( "DSW2" ) + PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:2") /* unknown */ + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x02, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x00, "Spin Length" ) PORT_DIPLOCATION("DSW2:8") /* OK */ + PORT_DIPSETTING( 0x00, "Long" ) + PORT_DIPSETTING( 0x80, "Short" ) +INPUT_PORTS_END static INPUT_PORTS_START( unkch_controls ) PORT_START("IN0") @@ -4729,20 +4797,16 @@ static INPUT_PORTS_START( unkch_controls ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_CODE(KEYCODE_B) PORT_NAME("Big") PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Books / Picture Viewer") /* Hold with reset to enter picture viewer - girls in set 2 are hacked out */ + PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) /* Trips "call attendant" state if activated while credited - something to do with hopper out? */ PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("tickets", ticket_dispenser_device, line_r) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings / Dips+Switch Test Menu") /* Hold with reset to enter Dips/Switch Test Menu */ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) INPUT_PORTS_END @@ -4750,47 +4814,69 @@ INPUT_PORTS_END static INPUT_PORTS_START( unkch ) PORT_INCLUDE( unkch_controls ) - /* Is there a DSW1? - Like many of the other games on this hardware, there is an - input & dip test screen that you can stumble in to. Also a picture viewer option. Can't figure - out exactly how to make it repeatable... */ - - PORT_START("DSW2") - PORT_DIPNAME( 0x03, 0x03, "Game Level" ) PORT_DIPLOCATION("DSW2:1,2") /* OK */ + PORT_START("DSW1") + PORT_DIPNAME( 0x03, 0x03, "Game Level" ) PORT_DIPLOCATION("DSW1:1,2") /* OK */ PORT_DIPSETTING( 0x03, "Easy" ) PORT_DIPSETTING( 0x02, "Mid 1" ) PORT_DIPSETTING( 0x01, "Mid 2" ) PORT_DIPSETTING( 0x00, "Hard" ) - PORT_DIPNAME( 0x04, 0x04, "Punti" ) PORT_DIPLOCATION("DSW2:3") /* OK */ + PORT_DIPNAME( 0x04, 0x04, "Punti" ) PORT_DIPLOCATION("DSW1:3") /* OK */ PORT_DIPSETTING( 0x04, "Ticket" ) PORT_DIPSETTING( 0x00, "Gettoni" ) - PORT_DIPNAME( 0x08, 0x08, "Main/Bonus Game Rate" ) PORT_DIPLOCATION("DSW2:4") /* OK */ - PORT_DIPSETTING( 0x08, "83% / 88%" ) - PORT_DIPSETTING( 0x00, "71% / 76%" ) PORT_CONDITION("DSW2",0x03,EQUALS,0x03) /* Easy */ - PORT_DIPSETTING( 0x00, "68% / 73%" ) PORT_CONDITION("DSW2",0x03,EQUALS,0x02) /* Mid 1 */ - PORT_DIPSETTING( 0x00, "65% / 70%" ) PORT_CONDITION("DSW2",0x03,EQUALS,0x01) /* Mid 2 */ - PORT_DIPSETTING( 0x00, "62% / 67%" ) PORT_CONDITION("DSW2",0x03,EQUALS,0x00) /* Hard */ - PORT_DIPNAME( 0x10, 0x10, "Reel Speed / Max Bet" ) PORT_DIPLOCATION("DSW2:5") /* OK */ - PORT_DIPSETTING( 0x10, "Low / 64" ) - PORT_DIPSETTING( 0x00, "High / 40 (20)" ) /* shows 20 in settings screen but limits to 40 in gameplay */ - PORT_DIPNAME( 0x60, 0x60, "Super Jackpot" ) PORT_DIPLOCATION("DSW2:6,7") /* OK */ + PORT_DIPNAME( 0x08, 0x08, "Ticket Dispenser" ) PORT_DIPLOCATION("DSW1:4") /* OK */ + PORT_DIPSETTING( 0x00, DEF_STR( No ) ) + PORT_DIPSETTING( 0x08, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x10, 0x10, "Reel Speed" ) PORT_DIPLOCATION("DSW1:5") /* OK */ + PORT_DIPSETTING( 0x10, DEF_STR( Low ) ) + PORT_DIPSETTING( 0x00, DEF_STR( High ) ) + PORT_DIPNAME( 0x60, 0x60, "Super Jackpot" ) PORT_DIPLOCATION("DSW1:6,7") /* OK */ PORT_DIPSETTING( 0x60, DEF_STR( No ) ) PORT_DIPSETTING( 0x20, "5%" ) PORT_DIPSETTING( 0x00, "10%" ) PORT_DIPSETTING( 0x40, "20%" ) - PORT_DIPNAME( 0x80, 0x80, "Bet Step On 8" ) PORT_DIPLOCATION("DSW2:8") /* OK */ + PORT_DIPNAME( 0x80, 0x80, "Bet Step On 8" ) PORT_DIPLOCATION("DSW1:8") /* OK */ PORT_DIPSETTING( 0x80, DEF_STR( No ) ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) + PORT_START("DSW2") + PORT_DIPNAME( 0x0f, 0x0f, "Main/Bonus Game Rate" ) PORT_DIPLOCATION("DSW2:1,2,3,4") /* OK - all other values are 83% / 88% */ + PORT_DIPSETTING( 0x00, "50% / 55%" ) + PORT_DIPSETTING( 0x01, "53% / 58%" ) + PORT_DIPSETTING( 0x02, "56% / 61%" ) + PORT_DIPSETTING( 0x03, "59% / 64%" ) + PORT_DIPSETTING( 0x04, "62% / 67%" ) + PORT_DIPSETTING( 0x05, "65% / 70%" ) + PORT_DIPSETTING( 0x06, "68% / 73%" ) + PORT_DIPSETTING( 0x07, "71% / 76%" ) + PORT_DIPSETTING( 0x08, "74% / 79%" ) + PORT_DIPSETTING( 0x09, "77% / 82%" ) + PORT_DIPSETTING( 0x0a, "80% / 85%" ) + PORT_DIPSETTING( 0x0f, "83% / 88%" ) + PORT_DIPNAME( 0x30, 0x30, "Max Bet" ) PORT_DIPLOCATION("DSW2:5,6") /* OK */ + PORT_DIPSETTING( 0x00, "10 (5)" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x80) /* shows 5 in settings screen but limits at 10 in gameplay */ + PORT_DIPSETTING( 0x10, "20 (10)" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x80) /* shows 10 in settings screen but limits at 20 in gameplay */ + PORT_DIPSETTING( 0x20, "40 (20)" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x80) /* shows 20 in settings screen but limits at 40 in gameplay */ + PORT_DIPSETTING( 0x00, "5" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x00) + PORT_DIPSETTING( 0x10, "10" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x00) + PORT_DIPSETTING( 0x20, "20" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x00) + PORT_DIPSETTING( 0x30, "64" ) /* always individual irrespective of DSW3-8 */ + PORT_DIPNAME( 0x40, 0x40, "Min. Bet For Bonus Play" ) PORT_DIPLOCATION("DSW2:7") /* OK */ + PORT_DIPSETTING( 0x00, "8" ) + PORT_DIPSETTING( 0x40, "16" ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:8") + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_START("DSW3") - PORT_DIPNAME( 0x03, 0x03, "Coin A Rate" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */ + PORT_DIPNAME( 0x03, 0x00, "Coin A Rate" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x01, "1 Coin/10 Credits" ) PORT_DIPSETTING( 0x02, "1 Coin/20 Credits" ) PORT_DIPSETTING( 0x03, "1 Coin/50 Credits" ) - PORT_DIPNAME( 0x04, 0x04, "Gettoni/Ticket" ) PORT_DIPLOCATION("DSW3:3") /* OK */ - PORT_DIPSETTING( 0x04, "20/200" ) + PORT_DIPNAME( 0x04, 0x00, "Gettoni/Ticket" ) PORT_DIPLOCATION("DSW3:3") /* OK */ PORT_DIPSETTING( 0x00, "10/100" ) - PORT_DIPNAME( 0x18, 0x18, "Key In Rate" ) PORT_DIPLOCATION("DSW3:4,5") /* OK */ + PORT_DIPSETTING( 0x04, "20/200" ) + PORT_DIPNAME( 0x18, 0x00, "Key In Rate" ) PORT_DIPLOCATION("DSW3:4,5") /* OK */ PORT_DIPSETTING( 0x00, "1 Coin/25 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x00) /* 5*5 */ PORT_DIPSETTING( 0x08, "1 Coin/50 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x00) /* 5*10 */ PORT_DIPSETTING( 0x10, "1 Coin/100 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x00) /* 5*20 */ @@ -4807,126 +4893,149 @@ static INPUT_PORTS_START( unkch ) PORT_DIPSETTING( 0x08, "1 Coin/500 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x03) /* 50*10 */ PORT_DIPSETTING( 0x10, "1 Coin/1,000 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x03) /* 50*20 */ PORT_DIPSETTING( 0x18, "1 Coin/2,500 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x03) /* 50*50 */ - PORT_DIPNAME( 0x20, 0x20, "Coin B Enable" ) PORT_DIPLOCATION("DSW3:6") /* OK */ + PORT_DIPNAME( 0x20, 0x00, "Coin B Enable" ) PORT_DIPLOCATION("DSW3:6") /* OK */ PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "Coin B Rate" ) PORT_DIPLOCATION("DSW3:7") /* OK */ + PORT_DIPNAME( 0x40, 0x00, "Coin B Rate" ) PORT_DIPLOCATION("DSW3:7") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:8") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x00, "Max Bet Type" ) PORT_DIPLOCATION("DSW3:8") /* OK */ + PORT_DIPSETTING( 0x80, "Total" ) /* Max Bet applies to total of BET-A and BET-B unless set to 64 */ + PORT_DIPSETTING( 0x00, "Individual" ) /* Max Bet applies individually to each of BET-A and BET-B */ PORT_START("DSW4") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:1") + PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:2") + PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:2") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:3") + PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "Super Jackpot Half" ) PORT_DIPLOCATION("DSW4:4") /* OK */ + PORT_DIPNAME( 0x08, 0x08, "Super Jackpot Half" ) PORT_DIPLOCATION("DSW4:4") /* OK */ PORT_DIPSETTING( 0x08, DEF_STR( No ) ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:5") + PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x60, 0x60, "Red Game Credit" ) PORT_DIPLOCATION("DSW4:6,7") /* OK */ + PORT_DIPNAME( 0x60, 0x60, "Red Game Credit" ) PORT_DIPLOCATION("DSW4:6,7") /* OK */ PORT_DIPSETTING( 0x40, "0" ) PORT_DIPSETTING( 0x20, "1" ) PORT_DIPSETTING( 0x00, "10" ) PORT_DIPSETTING( 0x60, "20" ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:8") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, "Cherry/Bell Bonus" ) PORT_DIPLOCATION("DSW4:8") /* OK */ + PORT_DIPSETTING( 0x80, "x6 / x3" ) + PORT_DIPSETTING( 0x00, "x9 / x5" ) INPUT_PORTS_END static INPUT_PORTS_START( unkch3 ) PORT_INCLUDE( unkch_controls ) - /* Is there a DSW1? - Like many of the other games on this hardware, there is an - input & dip test screen that you can stumble in to. Also a picture viewer option. Can't figure - out exactly how to make it repeatable... */ - - PORT_START("DSW2") - PORT_DIPNAME( 0x03, 0x03, "Game Level" ) PORT_DIPLOCATION("DSW2:1,2") /* OK */ + PORT_START("DSW1") + PORT_DIPNAME( 0x03, 0x03, "Game Level" ) PORT_DIPLOCATION("DSW1:1,2") /* OK */ PORT_DIPSETTING( 0x03, "Easy" ) PORT_DIPSETTING( 0x02, "Mid 1" ) PORT_DIPSETTING( 0x01, "Mid 2" ) PORT_DIPSETTING( 0x00, "Hard" ) - PORT_DIPNAME( 0x04, 0x04, "Punti Unit" ) PORT_DIPLOCATION("DSW2:3") /* OK */ + PORT_DIPNAME( 0x04, 0x04, "Punti Unit" ) PORT_DIPLOCATION("DSW1:3") /* OK */ PORT_DIPSETTING( 0x00, "500" ) PORT_DIPSETTING( 0x04, "1000" ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:4") + PORT_DIPNAME( 0x08, 0x08, "Ticket Dispenser" ) PORT_DIPLOCATION("DSW1:4") /* OK */ + PORT_DIPSETTING( 0x00, DEF_STR( No ) ) + PORT_DIPSETTING( 0x08, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x10, 0x10, "Reel Speed" ) PORT_DIPLOCATION("DSW1:5") /* OK */ + PORT_DIPSETTING( 0x10, DEF_STR( Low ) ) + PORT_DIPSETTING( 0x00, DEF_STR( High ) ) + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:6") + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:7") + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:8") + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + + PORT_START("DSW2") + PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:1") + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:2") + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:3") + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, "Reel Speed" ) PORT_DIPLOCATION("DSW2:5") /* OK */ - PORT_DIPSETTING( 0x10, DEF_STR( Low ) ) /* manual start at max bet */ - PORT_DIPSETTING( 0x00, DEF_STR( High ) ) /* auto start at max bet */ - PORT_DIPNAME( 0x20, 0x20, "Bet Maximum" ) PORT_DIPLOCATION("DSW2:6") /* OK */ - PORT_DIPSETTING( 0x00, "10" ) PORT_CONDITION("DSW2",0x10,EQUALS,0x10) - PORT_DIPSETTING( 0x20, "64" ) PORT_CONDITION("DSW2",0x10,EQUALS,0x10) - PORT_DIPSETTING( 0x00, "10 (5)" ) PORT_CONDITION("DSW2",0x10,EQUALS,0x00) /* shows 5 in settings screen but limits at 10 in gameplay */ - PORT_DIPSETTING( 0x20, "40 (20)" ) PORT_CONDITION("DSW2",0x10,EQUALS,0x00) /* shows 20 in settings screen but limits at 40 in gameplay */ - PORT_DIPNAME( 0x40, 0x40, "Bet Minimum" ) PORT_DIPLOCATION("DSW2:7") /* shows in settings screen but has no effect */ + PORT_DIPNAME( 0x30, 0x30, "Max Bet" ) PORT_DIPLOCATION("DSW2:5,6") /* OK */ + PORT_DIPSETTING( 0x00, "10 (5)" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x80) /* shows 5 in settings screen but limits at 10 in gameplay */ + PORT_DIPSETTING( 0x10, "20 (10)" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x80) /* shows 10 in settings screen but limits at 20 in gameplay */ + PORT_DIPSETTING( 0x20, "40 (20)" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x80) /* shows 20 in settings screen but limits at 40 in gameplay */ + PORT_DIPSETTING( 0x00, "5" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x00) + PORT_DIPSETTING( 0x10, "10" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x00) + PORT_DIPSETTING( 0x20, "20" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x00) + PORT_DIPSETTING( 0x30, "64" ) /* always individual irrespective of DSW3-8 */ + PORT_DIPNAME( 0x40, 0x40, "Min. Bet For Bonus Play" ) PORT_DIPLOCATION("DSW2:7") /* OK - called 'Bet Minimum' in settings screen */ PORT_DIPSETTING( 0x00, "8" ) PORT_DIPSETTING( 0x40, "16" ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown) ) PORT_DIPLOCATION("DSW2:8") + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown) ) PORT_DIPLOCATION("DSW2:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW3") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:1") + PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:2") + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:2") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:3") + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:4") + PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:5") + PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "Coin B Enable" ) PORT_DIPLOCATION("DSW3:6") /* OK */ + PORT_DIPNAME( 0x20, 0x00, "Coin B Enable" ) PORT_DIPLOCATION("DSW3:6") /* OK */ PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "Coin B Rate" ) PORT_DIPLOCATION("DSW3:7") /* OK */ + PORT_DIPNAME( 0x40, 0x00, "Coin B Rate" ) PORT_DIPLOCATION("DSW3:7") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:8") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x00, "Max Bet Type" ) PORT_DIPLOCATION("DSW3:8") /* OK */ + PORT_DIPSETTING( 0x80, "Total" ) /* Max Bet applies to total of BET-A and BET-B unless set to 64 */ + PORT_DIPSETTING( 0x00, "Individual" ) /* Max Bet applies individually to each of BET-A and BET-B */ PORT_START("DSW4") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:1") + PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:2") + PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:2") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:3") + PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:4") + PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:5") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:6") + PORT_DIPNAME( 0x10, 0x10, "Test Mode" ) PORT_DIPLOCATION("DSW4:5") /* OK */ + PORT_DIPSETTING( 0x10, "Disable" ) + PORT_DIPSETTING( 0x00, "Enable" ) /* hold 'Settings' on reset to access */ + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:7") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:8") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, "Cherry/Bell Bonus" ) PORT_DIPLOCATION("DSW4:8") /* OK */ + PORT_DIPSETTING( 0x80, "x6 / x3" ) + PORT_DIPSETTING( 0x00, "x9 / x5" ) INPUT_PORTS_END static INPUT_PORTS_START( unkch4 ) @@ -4935,110 +5044,120 @@ static INPUT_PORTS_START( unkch4 ) PORT_MODIFY("IN0") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) PORT_NAME("Coin C") - /* Is there a DSW1? - Like many of the other games on this hardware, there is an - input & dip test screen that you can stumble in to. Also a picture viewer option. Can't figure - out exactly how to make it repeatable... */ - - PORT_START("DSW2") - PORT_DIPNAME( 0x03, 0x03, "Game Level" ) PORT_DIPLOCATION("DSW2:1,2") /* OK */ + PORT_START("DSW1") + PORT_DIPNAME( 0x03, 0x03, "Game Level" ) PORT_DIPLOCATION("DSW1:1,2") /* OK */ PORT_DIPSETTING( 0x03, "Easy" ) PORT_DIPSETTING( 0x02, "Mid 1" ) PORT_DIPSETTING( 0x01, "Mid 2" ) PORT_DIPSETTING( 0x00, "Hard" ) - PORT_DIPNAME( 0x04, 0x04, "Punti" ) PORT_DIPLOCATION("DSW2:3") /* OK */ - PORT_DIPSETTING( 0x04, "Ticket" ) - PORT_DIPSETTING( 0x00, "Gettoni" ) - PORT_DIPNAME( 0x08, 0x08, "Main/Bonus Game Rate" ) PORT_DIPLOCATION("DSW2:4") /* OK */ - PORT_DIPSETTING( 0x08, "83% / 88%" ) - PORT_DIPSETTING( 0x00, "71% / 76%" ) PORT_CONDITION("DSW2",0x03,EQUALS,0x03) /* Easy */ - PORT_DIPSETTING( 0x00, "68% / 73%" ) PORT_CONDITION("DSW2",0x03,EQUALS,0x02) /* Mid 1 */ - PORT_DIPSETTING( 0x00, "65% / 70%" ) PORT_CONDITION("DSW2",0x03,EQUALS,0x01) /* Mid 2 */ - PORT_DIPSETTING( 0x00, "62% / 67%" ) PORT_CONDITION("DSW2",0x03,EQUALS,0x00) /* Hard */ - PORT_DIPNAME( 0x10, 0x10, "Reel Speed / Max Bet" ) PORT_DIPLOCATION("DSW2:5") /* OK */ - PORT_DIPSETTING( 0x10, "Low / 64" ) - PORT_DIPSETTING( 0x00, "High / 32" ) - PORT_DIPNAME( 0x60, 0x60, "Super Jackpot" ) PORT_DIPLOCATION("DSW2:6,7") /* OK */ + PORT_DIPNAME( 0x04, 0x04, "Punti" ) PORT_DIPLOCATION("DSW1:3") /* OK */ + PORT_DIPSETTING( 0x04, "Ticket" ) /* payout rate 100 */ + PORT_DIPSETTING( 0x00, "Gettoni" ) /* payout rate 10 */ + PORT_DIPNAME( 0x08, 0x08, "Ticket Dispenser" ) PORT_DIPLOCATION("DSW1:4") /* OK */ + PORT_DIPSETTING( 0x00, DEF_STR( No ) ) + PORT_DIPSETTING( 0x08, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x10, 0x10, "Reel Speed" ) PORT_DIPLOCATION("DSW1:5") /* OK */ + PORT_DIPSETTING( 0x10, DEF_STR( Low ) ) + PORT_DIPSETTING( 0x00, DEF_STR( High ) ) + PORT_DIPNAME( 0x60, 0x60, "Super Jackpot" ) PORT_DIPLOCATION("DSW1:6,7") /* shows in test mode but always seems to be enabled in gameplay */ PORT_DIPSETTING( 0x60, DEF_STR( No ) ) PORT_DIPSETTING( 0x20, "5%" ) PORT_DIPSETTING( 0x00, "10%" ) PORT_DIPSETTING( 0x40, "20%" ) - PORT_DIPNAME( 0x80, 0x80, "Bet Step On 8" ) PORT_DIPLOCATION("DSW2:8") /* OK */ + PORT_DIPNAME( 0x80, 0x80, "Bet Step On 8" ) PORT_DIPLOCATION("DSW1:8") /* OK */ PORT_DIPSETTING( 0x80, DEF_STR( No ) ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - PORT_START("DSW3") - PORT_DIPNAME( 0x03, 0x03, "Coin A Rate" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */ - PORT_DIPSETTING( 0x00, DEF_STR( 1C_8C ) ) - PORT_DIPSETTING( 0x01, "1 Coin/10 Credits" ) - PORT_DIPSETTING( 0x02, "1 Coin/20 Credits" ) - PORT_DIPSETTING( 0x03, "1 Coin/50 Credits" ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:3") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_START("DSW2") + PORT_DIPNAME( 0x0f, 0x0f, "Main/Bonus Game Rate" ) PORT_DIPLOCATION("DSW2:1,2,3,4") /* OK - all other values are 83% / 88% */ + PORT_DIPSETTING( 0x00, "50% / 55%" ) + PORT_DIPSETTING( 0x01, "53% / 58%" ) + PORT_DIPSETTING( 0x02, "56% / 61%" ) + PORT_DIPSETTING( 0x03, "59% / 64%" ) + PORT_DIPSETTING( 0x04, "62% / 67%" ) + PORT_DIPSETTING( 0x05, "65% / 70%" ) + PORT_DIPSETTING( 0x06, "68% / 73%" ) + PORT_DIPSETTING( 0x07, "71% / 76%" ) + PORT_DIPSETTING( 0x08, "74% / 79%" ) + PORT_DIPSETTING( 0x09, "77% / 82%" ) + PORT_DIPSETTING( 0x0a, "80% / 85%" ) + PORT_DIPSETTING( 0x0f, "83% / 88%" ) + PORT_DIPNAME( 0x30, 0x30, "Max Bet" ) PORT_DIPLOCATION("DSW2:5,6") /* OK */ + PORT_DIPSETTING( 0x00, "8" ) + PORT_DIPSETTING( 0x10, "16" ) + PORT_DIPSETTING( 0x20, "32" ) + PORT_DIPSETTING( 0x30, "64" ) + PORT_DIPNAME( 0x40, 0x40, "Min. Bet For Bonus Play" ) PORT_DIPLOCATION("DSW2:7") /* OK */ + PORT_DIPSETTING( 0x00, "8" ) + PORT_DIPSETTING( 0x40, "16" ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:8") + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x18, 0x18, "Key In Rate" ) PORT_DIPLOCATION("DSW3:4,5") /* OK */ - PORT_DIPSETTING( 0x00, "1 Coin/40 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x00) /* 8*5 */ - PORT_DIPSETTING( 0x08, "1 Coin/80 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x00) /* 8*10 */ - PORT_DIPSETTING( 0x10, "1 Coin/160 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x00) /* 8*20 */ - PORT_DIPSETTING( 0x18, "1 Coin/400 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x00) /* 8*50 */ - PORT_DIPSETTING( 0x00, "1 Coin/50 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x01) /* 10*5 */ - PORT_DIPSETTING( 0x08, "1 Coin/100 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x01) /* 10*10 */ - PORT_DIPSETTING( 0x10, "1 Coin/200 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x01) /* 10*20 */ - PORT_DIPSETTING( 0x18, "1 Coin/500 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x01) /* 10*50 */ - PORT_DIPSETTING( 0x00, "1 Coin/100 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x02) /* 20*5 */ - PORT_DIPSETTING( 0x08, "1 Coin/200 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x02) /* 20*10 */ - PORT_DIPSETTING( 0x10, "1 Coin/400 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x02) /* 20*20 */ - PORT_DIPSETTING( 0x18, "1 Coin/1,000 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x02) /* 20*50 */ - PORT_DIPSETTING( 0x00, "1 Coin/250 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x03) /* 50*5 */ - PORT_DIPSETTING( 0x08, "1 Coin/500 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x03) /* 50*10 */ - PORT_DIPSETTING( 0x10, "1 Coin/1,000 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x03) /* 50*20 */ - PORT_DIPSETTING( 0x18, "1 Coin/2,500 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x03) /* 50*50 */ - PORT_DIPNAME( 0x20, 0x20, "Coin C Rate" ) PORT_DIPLOCATION("DSW3:6") /* OK */ - PORT_DIPSETTING( 0x00, "1 Coin/40 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x00) /* 8*5 */ - PORT_DIPSETTING( 0x20, "1 Coin/80 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x00) /* 8*10 */ - PORT_DIPSETTING( 0x00, "1 Coin/50 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x01) /* 10*5 */ - PORT_DIPSETTING( 0x20, "1 Coin/100 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x01) /* 10*10 */ - PORT_DIPSETTING( 0x00, "1 Coin/100 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x02) /* 20*5 */ - PORT_DIPSETTING( 0x20, "1 Coin/200 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x02) /* 20*10 */ - PORT_DIPSETTING( 0x00, "1 Coin/250 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x03) /* 50*5 */ - PORT_DIPSETTING( 0x20, "1 Coin/500 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x03) /* 50*10 */ - PORT_DIPNAME( 0x40, 0x40, "Coin B Rate" ) PORT_DIPLOCATION("DSW3:7") /* OK */ - PORT_DIPSETTING( 0x00, "1 Coin/80 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x00) /* 8*10 */ - PORT_DIPSETTING( 0x40, "1 Coin/160 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x00) /* 8*20 */ - PORT_DIPSETTING( 0x00, "1 Coin/100 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x01) /* 10*10 */ - PORT_DIPSETTING( 0x40, "1 Coin/200 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x01) /* 10*20 */ - PORT_DIPSETTING( 0x00, "1 Coin/200 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x02) /* 20*10 */ - PORT_DIPSETTING( 0x40, "1 Coin/400 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x02) /* 20*20 */ - PORT_DIPSETTING( 0x00, "1 Coin/500 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x03) /* 50*10 */ - PORT_DIPSETTING( 0x40, "1 Coin/1,000 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x03) /* 50*20 */ - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:8") + + PORT_START("DSW3") + PORT_DIPNAME( 0x07, 0x00, "Coin A Rate" ) PORT_DIPLOCATION("DSW3:1,2,3") /* OK */ + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 1C_4C ) ) + PORT_DIPSETTING( 0x03, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING( 0x04, DEF_STR( 1C_8C ) ) + PORT_DIPSETTING( 0x05, "1 Coin/10 Credits" ) + PORT_DIPSETTING( 0x06, "1 Coin/20 Credits" ) + PORT_DIPSETTING( 0x07, "1 Coin/50 Credits" ) + PORT_DIPNAME( 0x18, 0x00, "Key In Rate" ) PORT_DIPLOCATION("DSW3:4,5") /* OK */ + PORT_DIPSETTING( 0x00, "5x Coin A" ) + PORT_DIPSETTING( 0x08, "10x Coin A" ) + PORT_DIPSETTING( 0x10, "20x Coin A" ) + PORT_DIPSETTING( 0x18, "50x Coin A" ) + PORT_DIPNAME( 0x20, 0x00, "Coin C Rate" ) PORT_DIPLOCATION("DSW3:6") /* OK */ + PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) PORT_CONDITION("DSW3",0x07,EQUALS,0x00) /* 1*5 */ + PORT_DIPSETTING( 0x20, "1 Coin/10 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x00) /* 1*10 */ + PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x01) /* 2*5 */ + PORT_DIPSETTING( 0x20, "1 Coin/20 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x01) /* 2*10 */ + PORT_DIPSETTING( 0x00, "1 Coin/20 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x02) /* 4*5 */ + PORT_DIPSETTING( 0x20, "1 Coin/40 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x02) /* 4*10 */ + PORT_DIPSETTING( 0x00, "1 Coin/25 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x03) /* 5*5 */ + PORT_DIPSETTING( 0x20, "1 Coin/50 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x03) /* 5*10 */ + PORT_DIPSETTING( 0x00, "1 Coin/40 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x04) /* 8*5 */ + PORT_DIPSETTING( 0x20, "1 Coin/80 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x04) /* 8*10 */ + PORT_DIPSETTING( 0x00, "1 Coin/50 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x05) /* 10*5 */ + PORT_DIPSETTING( 0x20, "1 Coin/100 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x05) /* 10*10 */ + PORT_DIPSETTING( 0x00, "1 Coin/100 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x06) /* 20*5 */ + PORT_DIPSETTING( 0x20, "1 Coin/200 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x06) /* 20*10 */ + PORT_DIPSETTING( 0x00, "1 Coin/250 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x07) /* 50*5 */ + PORT_DIPSETTING( 0x20, "1 Coin/500 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x07) /* 50*10 */ + PORT_DIPNAME( 0x40, 0x00, "Coin B Rate" ) PORT_DIPLOCATION("DSW3:7") /* OK */ + PORT_DIPSETTING( 0x00, "1x Coin C" ) + PORT_DIPSETTING( 0x40, "2x Coin C" ) + PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW4") - PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:1") + PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:2") + PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:2") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:3") + PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:4") + PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:5") + PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:6") + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:7") - PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:8") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, "Cherry/Bell Bonus" ) PORT_DIPLOCATION("DSW4:8") /* OK */ + PORT_DIPSETTING( 0x80, "x6 / x3" ) + PORT_DIPSETTING( 0x00, "x9 / x5" ) INPUT_PORTS_END @@ -5852,7 +5971,7 @@ static INPUT_PORTS_START( crazybon ) PORT_INCLUDE( cmv4_coins ) PORT_MODIFY("IN1") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Unused coin switch */ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Unused coin switch */ PORT_INCLUDE( cmv4_service ) @@ -5860,7 +5979,7 @@ static INPUT_PORTS_START( crazybon ) PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:2") + PORT_DIPNAME( 0x02, 0x00, "Hopper Out Switch" ) PORT_DIPLOCATION("DSW1:2") /* not checked */ PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x00, "Coin Out Rate" ) PORT_DIPLOCATION("DSW1:3") /* OK */ @@ -5891,13 +6010,12 @@ static INPUT_PORTS_START( crazybon ) PORT_DIPSETTING( 0x05, "80%" ) PORT_DIPSETTING( 0x06, "85%" ) PORT_DIPSETTING( 0x07, "90%" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:4") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:5") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, "Mode" ) PORT_DIPLOCATION("DSW2:6") + PORT_DIPNAME( 0x18, 0x18, "Hopper Limit" ) PORT_DIPLOCATION("DSW2:4,5") /* not checked */ + PORT_DIPSETTING( 0x18, "300" ) + PORT_DIPSETTING( 0x08, "500" ) + PORT_DIPSETTING( 0x10, "1000" ) + PORT_DIPSETTING( 0x00, "Unlimited" ) + PORT_DIPNAME( 0x20, 0x00, "Mode" ) PORT_DIPLOCATION("DSW2:6") /* OK */ PORT_DIPSETTING( 0x00, "Game" ) PORT_DIPSETTING( 0x20, "Stealth" ) PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:7") @@ -5930,9 +6048,9 @@ static INPUT_PORTS_START( crazybon ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:7") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:8") + PORT_DIPNAME( 0x08, 0x08, "Lock Into Stealth Mode" ) PORT_DIPLOCATION("DSW3:8") /* OK */ PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* prevents switching to game mode with start/bet buttons */ PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("DSW4") @@ -5954,10 +6072,10 @@ static INPUT_PORTS_START( crazybon ) PORT_DIPNAME( 0x20, 0x20, "Bonus Min Bet" ) PORT_DIPLOCATION("DSW4:6") /* OK */ PORT_DIPSETTING( 0x20, "16" ) PORT_DIPSETTING( 0x00, "32" ) - PORT_DIPNAME( 0x40, 0x40, "C.M. Reel Speed" ) PORT_DIPLOCATION("DSW4:7") /* OK */ + PORT_DIPNAME( 0x40, 0x40, "Reel Speed" ) PORT_DIPLOCATION("DSW4:7") /* OK */ PORT_DIPSETTING( 0x40, DEF_STR( Low ) ) PORT_DIPSETTING( 0x00, DEF_STR( High ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:8") + PORT_DIPNAME( 0x80, 0x80, "Hopper Out By Coin A" ) PORT_DIPLOCATION("DSW4:8") /* not working */ PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -5970,18 +6088,17 @@ static INPUT_PORTS_START( crazybon ) PORT_DIPSETTING( 0x04, "5,000" ) PORT_DIPSETTING( 0x02, "10,000" ) PORT_DIPSETTING( 0x00, "20,000" ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:4") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:5") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x18, 0x18, "Condition For 3 Fruit Bonus" ) PORT_DIPLOCATION("DSW5:4,5") /* OK */ + PORT_DIPSETTING( 0x18, "5-<-7" ) /* not sure about the "<" ??? */ + PORT_DIPSETTING( 0x10, "5-9-5" ) + PORT_DIPSETTING( 0x08, "5-6-3" ) + PORT_DIPSETTING( 0x00, "5-3-2" ) PORT_DIPNAME( 0x60, 0x60, "Game Min Bet" ) PORT_DIPLOCATION("DSW5:6,7") /* OK */ PORT_DIPSETTING( 0x60, "1" ) PORT_DIPSETTING( 0x40, "8" ) PORT_DIPSETTING( 0x20, "16" ) PORT_DIPSETTING( 0x00, "32" ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:8") + PORT_DIPNAME( 0x80, 0x80, "Card Shuffle Animation" ) PORT_DIPLOCATION("DSW5:8") /* OK */ PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END @@ -7145,6 +7262,7 @@ static MACHINE_CONFIG_START( cmast91, goldstar_state ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) MACHINE_CONFIG_END + INTERRUPT_GEN_MEMBER(wingco_state::masked_irq) { if (m_nmi_enable) @@ -7587,14 +7705,22 @@ static MACHINE_CONFIG_DERIVED( nfm, amcoe2 ) MCFG_GFXDECODE_MODIFY("gfxdecode", nfm) MACHINE_CONFIG_END + +INTERRUPT_GEN_MEMBER(unkch_state::vblank_irq) +{ + if (m_vblank_irq_enable) + device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); +} + static MACHINE_CONFIG_START( unkch, unkch_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) MCFG_CPU_PROGRAM_MAP(unkch_map) MCFG_CPU_IO_MAP(unkch_portmap) - MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, nmi_line_pulse) - //MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) + MCFG_CPU_VBLANK_INT_DRIVER("screen", unkch_state, vblank_irq) + + MCFG_NVRAM_ADD_1FILL("nvram") /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -7609,19 +7735,17 @@ static MACHINE_CONFIG_START( unkch, unkch_state ) MCFG_PALETTE_ADD("palette", 512) MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR) - //MCFG_NVRAM_HANDLER(goldstar) - MCFG_VIDEO_START_OVERRIDE(unkch_state, unkch) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") + MCFG_SOUND_ADD("aysnd", AY8910, AY_CLOCK) + MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW1")) + MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW2")) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) -// MCFG_SOUND_ADD("aysnd", AY8910, AY_CLOCK) -// -// -// MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW4")) -// MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW3")) -// MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) + /* payout hardware */ + MCFG_TICKET_DISPENSER_ADD("tickets", attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW) MACHINE_CONFIG_END @@ -12771,6 +12895,9 @@ DRIVER_INIT_MEMBER(cb3_state, cherrys) /* todo: remove these patches! */ DRIVER_INIT_MEMBER(unkch_state, unkch1) { + // game stores $02 at ($D75C) and expects it to change + // possibly expecting stack to grow to this point in NMI handler? + // it does this before enabling vblank irq, so if that's the case there's a missing nmi source UINT8 *ROM = memregion("maincpu")->base(); ROM[0x9d52] = 0x00; ROM[0x9d53] = 0x00; @@ -12778,6 +12905,9 @@ DRIVER_INIT_MEMBER(unkch_state, unkch1) DRIVER_INIT_MEMBER(unkch_state, unkch3) { + // game stores $04 at ($D77F) and expects it to change + // possibly expecting stack to grow to this point in NMI handler? + // it does this before enabling vblank irq, so if that's the case there's a missing nmi source UINT8 *ROM = memregion("maincpu")->base(); ROM[0x9b86] = 0x00; ROM[0x9b87] = 0x00; @@ -12785,6 +12915,9 @@ DRIVER_INIT_MEMBER(unkch_state, unkch3) DRIVER_INIT_MEMBER(unkch_state, unkch4) { + // game stores $02 at ($D75C) and expects it to change + // possibly expecting stack to grow to this point in NMI handler? + // it does this before enabling vblank irq, so if that's the case there's a missing nmi source UINT8 *ROM = memregion("maincpu")->base(); ROM[0x9a6e] = 0x00; ROM[0x9a6f] = 0x00; @@ -13005,13 +13138,13 @@ GAME( 1996, nfb96seb, nfb96, amcoe2, nfb96bl, driver_device, 0, GAME( 2002, carb2002, nfb96, amcoe2, nfb96bl, driver_device, 0, ROT0, "bootleg", "Carriage Bonus 2002 (bootleg)", GAME_WRONG_COLORS ) GAME( 2003, carb2003, nfb96, amcoe2, nfb96bl, driver_device, 0, ROT0, "bootleg", "Carriage Bonus 2003 (bootleg)", GAME_WRONG_COLORS ) -GAME( 2003, nfm, 0, nfm, nfb96bl, driver_device, 0, ROT0, "Ming-Yang Electronic", "New Fruit Machine (Ming-Yang Electronic)", GAME_NOT_WORKING ) // vFB02-07A "Copyright By Ms. Liu Orchis 2003/03/06" +GAME( 2003, nfm, 0, nfm, nfm, driver_device, 0, ROT0, "Ming-Yang Electronic", "New Fruit Machine (Ming-Yang Electronic)", GAME_NOT_WORKING ) // vFB02-07A "Copyright By Ms. Liu Orchis 2003/03/06" // these have 'cherry 1994' in the program roms, but also "Super Cherry / New Cherry Gold '99" probably hacks of a 1994 version of Cherry Bonus / Cherry Master (Super Cherry Master?) -GAME( 1999, unkch1, 0, unkch, unkch, unkch_state, unkch1, ROT0, "bootleg", "New Cherry Gold '99 (bootleg of Super Cherry Master) (set 1)", GAME_NOT_WORKING|GAME_NO_SOUND ) -GAME( 1999, unkch2, unkch1, unkch, unkch, unkch_state, unkch1, ROT0, "bootleg", "Super Cherry Gold (bootleg of Super Cherry Master)", GAME_NOT_WORKING|GAME_NO_SOUND ) -GAME( 1999, unkch3, unkch1, unkch, unkch3, unkch_state, unkch3, ROT0, "bootleg", "New Cherry Gold '99 (bootleg of Super Cherry Master) (set 2)", GAME_NOT_WORKING|GAME_NO_SOUND ) // cards have been hacked to look like barrels, girl removed? -GAME( 1999, unkch4, unkch1, unkch, unkch4, unkch_state, unkch4, ROT0, "bootleg", "Grand Cherry Master (bootleg of Super Cherry Master)", GAME_NOT_WORKING|GAME_NO_SOUND ) // by 'Toy System' Hungary +GAMEL(1999, unkch1, 0, unkch, unkch, unkch_state, unkch1, ROT0, "bootleg", "New Cherry Gold '99 (bootleg of Super Cherry Master) (set 1)", 0, layout_unkch ) +GAMEL(1999, unkch2, unkch1, unkch, unkch, unkch_state, unkch1, ROT0, "bootleg", "Super Cherry Gold (bootleg of Super Cherry Master)", 0, layout_unkch ) +GAMEL(1999, unkch3, unkch1, unkch, unkch3, unkch_state, unkch3, ROT0, "bootleg", "New Cherry Gold '99 (bootleg of Super Cherry Master) (set 2)", 0, layout_unkch ) // cards have been hacked to look like barrels, girl removed? +GAMEL(1999, unkch4, unkch1, unkch, unkch4, unkch_state, unkch4, ROT0, "bootleg", "Grand Cherry Master (bootleg of Super Cherry Master)", 0, layout_unkch ) // by 'Toy System' Hungary /* Stealth sets. diff --git a/src/mame/drivers/sigmab52.c b/src/mame/drivers/sigmab52.c index a46c5927cadb8..6887c6d8f5578 100644 --- a/src/mame/drivers/sigmab52.c +++ b/src/mame/drivers/sigmab52.c @@ -390,11 +390,11 @@ INPUT_CHANGED_MEMBER( sigmab52_state::coin_drop_start ) static INPUT_PORTS_START( jwildb52 ) PORT_START("IN0") PORT_BIT( 0x003f, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_OTHER ) // Hold 5 - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_OTHER ) // Hold 4 - PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_OTHER ) // Hold 3 - PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_OTHER ) // Hold 2 - PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_OTHER ) // Hold 1 + PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) + PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) + PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_IMPULSE(1) + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CONDITION("DSW1", 0x50, EQUALS, 0x00) PORT_NAME("Double") PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CONDITION("DSW1", 0x50, EQUALS, 0x00) PORT_NAME("Deal / Draw") @@ -421,122 +421,300 @@ static INPUT_PORTS_START( jwildb52 ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_CONDITION("DSW1", 0x50, EQUALS, 0x50) PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CODE(KEYCODE_1_PAD) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Meter") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_1_PAD) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Books") PORT_TOGGLE PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_T) PORT_NAME("Last") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_T) PORT_NAME("Last") PORT_TOGGLE PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_DOOR ) PORT_NAME("Machine Door") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper Weight Switch") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_J) PORT_NAME("Hopper Weight Switch") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) // Hold 1 PORT_START("IN2") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Attendant Call") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Drop Door") - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CODE(KEYCODE_2_PAD) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Meter Wire") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_W) PORT_NAME("Attendant Call") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) // Hold 2 + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Y) PORT_NAME("Drop Door") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_2_PAD) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) // Hold 3 + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) // Hold 4 + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) // Hold 5 + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_K) PORT_NAME("Meter Wire") PORT_START("IN3") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CODE(KEYCODE_3_PAD) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CODE(KEYCODE_4_PAD) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CODE(KEYCODE_5_PAD) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CODE(KEYCODE_6_PAD) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CODE(KEYCODE_7_PAD) - PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("V Door") - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CODE(KEYCODE_8_PAD) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_3_PAD) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_4_PAD) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_5_PAD) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_6_PAD) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_7_PAD) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_U) PORT_NAME("Validator Door") + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_8_PAD) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, sigmab52_state, coin_drop_start, NULL) PORT_START("DSW1") - PORT_DIPNAME( 0x01, 0x01, "DSW1-1" ) PORT_DIPLOCATION("SW1:1") + PORT_DIPNAME( 0x01, 0x01, "Max P? 1" ) PORT_DIPLOCATION("SW1:1") // unknown PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "DSW1-2" ) PORT_DIPLOCATION("SW1:2") + PORT_DIPNAME( 0x02, 0x02, "Progressive Jackpot" ) PORT_DIPLOCATION("SW1:2") // OK PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "DSW1-3" ) PORT_DIPLOCATION("SW1:3") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "DSW1-4" ) PORT_DIPLOCATION("SW1:4") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, "DSW1-5" ) PORT_DIPLOCATION("SW1:5") + PORT_DIPNAME( 0x04, 0x04, "Max Hopper Payout" ) PORT_DIPLOCATION("SW1:3") // not checked + PORT_DIPSETTING( 0x04, "400" ) + PORT_DIPSETTING( 0x00, "1000" ) + PORT_DIPNAME( 0x08, 0x08, "Credit Limit (Per 1 Game)" ) PORT_DIPLOCATION("SW1:4") // not checked + PORT_DIPSETTING( 0x08, "No Limit" ) + PORT_DIPSETTING( 0x00, "Up To 1200" ) + PORT_DIPNAME( 0x10, 0x10, "Double Down Bet" ) PORT_DIPLOCATION("SW1:5") // OK PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "DSW1-6" ) PORT_DIPLOCATION("SW1:6") - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "DSW1-7" ) PORT_DIPLOCATION("SW1:7") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "DSW1-8" ) PORT_DIPLOCATION("SW1:8") + PORT_DIPNAME( 0x20, 0x20, "Double Down Per Hand" ) PORT_DIPLOCATION("SW1:6") // OK + PORT_DIPSETTING( 0x20, "Once" ) + PORT_DIPSETTING( 0x00, "Up to 10,000" ) + PORT_DIPNAME( 0x40, 0x40, "Play Mode" ) PORT_DIPLOCATION("SW1:7") // OK + PORT_DIPSETTING( 0x40, "Coins" ) + PORT_DIPSETTING( 0x00, "Credits" ) + PORT_DIPNAME( 0x80, 0x80, "Odds Table" ) PORT_DIPLOCATION("SW1:8") // OK + PORT_DIPSETTING( 0x80, DEF_STR( On ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + + PORT_START("DSW2") + PORT_DIPNAME( 0x0f, 0x0f, "Payout Table #" ) PORT_DIPLOCATION("JW:1,2,3,4") // OK + PORT_DIPSETTING( 0x0f, "1" ) // Payout Table ID - BP55114-V1104 + PORT_DIPSETTING( 0x0e, "2" ) + PORT_DIPSETTING( 0x0d, "3" ) + PORT_DIPSETTING( 0x0b, "4" ) + PORT_DIPSETTING( 0x07, "5" ) + PORT_DIPSETTING( 0x0c, "6" ) + PORT_DIPSETTING( 0x09, "7" ) + PORT_DIPSETTING( 0x03, "8" ) + PORT_DIPNAME( 0x30, 0x00, "Top Award" ) PORT_DIPLOCATION("JW:5,6") // OK + PORT_DIPSETTING( 0x00, "10000" ) + PORT_DIPSETTING( 0x30, "5000" ) + PORT_DIPSETTING( 0x20, "6000" ) + PORT_DIPSETTING( 0x10, "8000" ) + PORT_DIPNAME( 0x40, 0x40, "Card Type" ) PORT_DIPLOCATION("SW1:9") // OK + PORT_DIPSETTING( 0x40, "Real" ) + PORT_DIPSETTING( 0x00, "Large Index" ) + PORT_DIPNAME( 0x80, 0x80, "Background Color" ) PORT_DIPLOCATION("SW1:10") // OK + PORT_DIPSETTING( 0x80, "Blue" ) + PORT_DIPSETTING( 0x00, "Black" ) // manual says green + + PORT_START("DSW3") + PORT_DIPNAME( 0x07, 0x07, "Game Denomination" ) PORT_DIPLOCATION("SW2:1,2,3") // OK + PORT_DIPSETTING( 0x07, "Nickle" ) + PORT_DIPSETTING( 0x06, "Dime" ) + PORT_DIPSETTING( 0x05, "Quarter" ) + PORT_DIPSETTING( 0x04, "Half Dollar" ) + PORT_DIPSETTING( 0x03, "$1" ) + PORT_DIPSETTING( 0x02, "$5" ) + PORT_DIPSETTING( 0x01, "$25" ) + PORT_DIPSETTING( 0x00, "$100" ) + PORT_DIPNAME( 0x08, 0x08, "Attendant To Pay" ) PORT_DIPLOCATION("SW2:4") // not checked + PORT_DIPSETTING( 0x08, "Hopper & Attendant") + PORT_DIPSETTING( 0x00, "Attendant Only" ) + PORT_DIPNAME( 0x10, 0x10, "Attendant Sound Plays" ) PORT_DIPLOCATION("SW2:5") // not checked + PORT_DIPSETTING( 0x10, "Once" ) + PORT_DIPSETTING( 0x00, "Continues Until Reset" ) + PORT_DIPNAME( 0x20, 0x20, "Double Down Button" ) PORT_DIPLOCATION("SW2:6") // OK + PORT_DIPSETTING( 0x20, "Seperate Button" ) + PORT_DIPSETTING( 0x00, "On 'Hold 1' Button" ) + PORT_DIPNAME( 0xc0, 0xc0, "Max Bet" ) PORT_DIPLOCATION("SW2:7,8") // OK + PORT_DIPSETTING( 0x00, "10" ) + PORT_DIPSETTING( 0x40, "8" ) + PORT_DIPSETTING( 0x80, "3" ) + PORT_DIPSETTING( 0xc0, "5" ) + + PORT_START("DSW4") + PORT_BIT( 0x3f, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_DIPNAME( 0x40, 0x40, "Button Layout" ) PORT_DIPLOCATION("SW2:9") // unknown + PORT_DIPSETTING( 0x40, "A" ) + PORT_DIPSETTING( 0x00, "B" ) + PORT_DIPNAME( 0x80, 0x80, "Bank" ) PORT_DIPLOCATION("SW2:10") // not sure exactly but needs to be on for certain sets PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) +INPUT_PORTS_END - PORT_START("DSW2") - PORT_DIPNAME( 0x01, 0x01, "JW-1" ) PORT_DIPLOCATION("JW:1") - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + +static INPUT_PORTS_START( jwildb52a ) + PORT_INCLUDE( jwildb52 ) + + PORT_MODIFY("DSW1") + PORT_DIPNAME( 0x01, 0x00, "Music" ) PORT_DIPLOCATION("SW1:1") // OK - only plays every 10 minutes for 30 seconds + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) // manual says plays at game over??? PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "JW-2" ) PORT_DIPLOCATION("JW:2") + PORT_DIPNAME( 0x02, 0x02, "Progressive Jackpot" ) PORT_DIPLOCATION("SW1:2") // OK PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "JW-3" ) PORT_DIPLOCATION("JW:3") - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPNAME( 0x04, 0x04, "Max Hopper Payout" ) PORT_DIPLOCATION("SW1:3") // not checked + PORT_DIPSETTING( 0x04, "400" ) + PORT_DIPSETTING( 0x00, "1000" ) + PORT_DIPNAME( 0x08, 0x08, "Credit Limit (Per 1 Game)" ) PORT_DIPLOCATION("SW1:4") // not checked + PORT_DIPSETTING( 0x08, "No Limit" ) + PORT_DIPSETTING( 0x00, "Up To 1200" ) + PORT_DIPNAME( 0x10, 0x10, "Double Down Bet" ) PORT_DIPLOCATION("SW1:5") // OK + PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "JW-4" ) PORT_DIPLOCATION("JW:4") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPNAME( 0x20, 0x20, "Double Down Per Hand" ) PORT_DIPLOCATION("SW1:6") // OK + PORT_DIPSETTING( 0x20, "Once" ) + PORT_DIPSETTING( 0x00, "Up to 10,000" ) + PORT_DIPNAME( 0x40, 0x40, "Play Mode" ) PORT_DIPLOCATION("SW1:7") // OK + PORT_DIPSETTING( 0x40, "Coinss" ) + PORT_DIPSETTING( 0x00, "Credits" ) + PORT_DIPNAME( 0x80, 0x80, "Odds Table" ) PORT_DIPLOCATION("SW1:8") // OK + PORT_DIPSETTING( 0x80, DEF_STR( On ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + + PORT_MODIFY("DSW2") + PORT_DIPNAME( 0x0f, 0x0f, "Payout %" ) PORT_DIPLOCATION("JW:1,2,3,4") // OK + PORT_DIPSETTING( 0x0c, "86" ) // Payout Table ID - WPO2001-054 + PORT_DIPSETTING( 0x0f, "88" ) + PORT_DIPSETTING( 0x0e, "90" ) + PORT_DIPSETTING( 0x0d, "92" ) + PORT_DIPSETTING( 0x0b, "94" ) + PORT_DIPSETTING( 0x07, "96" ) + PORT_DIPSETTING( 0x03, "97" ) + PORT_DIPNAME( 0x30, 0x30, "Top Award" ) PORT_DIPLOCATION("JW:5,6") // OK + PORT_DIPSETTING( 0x30, "5000" ) + PORT_DIPSETTING( 0x10, "4795" ) + PORT_DIPSETTING( 0x20, "4000" ) + PORT_DIPSETTING( 0x00, "2500" ) + PORT_DIPNAME( 0x40, 0x40, "Card Type" ) PORT_DIPLOCATION("SW1:9") // OK + PORT_DIPSETTING( 0x40, "Crest" ) + PORT_DIPSETTING( 0x00, "Sigma" ) + PORT_DIPNAME( 0x80, 0x80, "Background Color" ) PORT_DIPLOCATION("SW1:10") // OK + PORT_DIPSETTING( 0x80, "Blue" ) + PORT_DIPSETTING( 0x00, "Black" ) + + PORT_MODIFY("DSW3") + PORT_DIPNAME( 0x03, 0x01, "Game Denomination" ) PORT_DIPLOCATION("SW2:1,2") // OK + PORT_DIPSETTING( 0x01, "Nickle" ) + PORT_DIPSETTING( 0x02, "Quarter" ) + PORT_DIPSETTING( 0x03, "Credit" ) + PORT_DIPSETTING( 0x00, "$1" ) + PORT_DIPNAME( 0x04, 0x04, "Half Double Bet" ) PORT_DIPLOCATION("SW2:3") // OK + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, "JW-5" ) PORT_DIPLOCATION("JW:5") + PORT_DIPNAME( 0x08, 0x08, "Attendant To Pay" ) PORT_DIPLOCATION("SW2:4") // not checked + PORT_DIPSETTING( 0x08, "Hopper & Attendant") + PORT_DIPSETTING( 0x00, "Attendant Only" ) + PORT_DIPNAME( 0x10, 0x10, "Speed" ) PORT_DIPLOCATION("SW2:5") // unknown PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "JW-6" ) PORT_DIPLOCATION("JW:6") + PORT_DIPNAME( 0x20, 0x20, "Invert Winning Cards" ) PORT_DIPLOCATION("SW2:6") // OK PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "DSW1-9" ) PORT_DIPLOCATION("SW1:9") - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "DSW1-10" ) PORT_DIPLOCATION("SW1:10") + PORT_DIPNAME( 0xc0, 0xc0, "Max Coin In" ) PORT_DIPLOCATION("SW2:7,8") // OK + PORT_DIPSETTING( 0x00, "10" ) + PORT_DIPSETTING( 0x40, "8" ) + PORT_DIPSETTING( 0xc0, "5" ) + PORT_DIPSETTING( 0x80, "3" ) + + PORT_MODIFY("DSW4") + PORT_BIT( 0x3f, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_DIPNAME( 0x40, 0x40, "Button Layout" ) PORT_DIPLOCATION("SW2:9") // unknown + PORT_DIPSETTING( 0x40, "A" ) + PORT_DIPSETTING( 0x00, "B" ) + PORT_DIPNAME( 0x80, 0x80, "Bank" ) PORT_DIPLOCATION("SW2:10") // not sure exactly but needs to be on for certain sets PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) +INPUT_PORTS_END - PORT_START("DSW3") - PORT_DIPNAME( 0x01, 0x01, "DSW2-1" ) PORT_DIPLOCATION("SW2:1") + +static INPUT_PORTS_START( s8waysfc ) + PORT_INCLUDE( jwildb52 ) + + PORT_MODIFY("IN0") + PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x07ff, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") + PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("One Bet") + PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_N) PORT_NAME("Maximum Bet") + PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_NAME("Collect / Payout") + + PORT_MODIFY("DSW1") + PORT_DIPNAME( 0x01, 0x00, "Music" ) PORT_DIPLOCATION("SW1:1") // OK - only plays every 10 minutes for 10-12 seconds PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "DSW2-2" ) PORT_DIPLOCATION("SW2:2") + PORT_DIPNAME( 0x02, 0x02, "Progressive Jackpot" ) PORT_DIPLOCATION("SW1:2") // PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "DSW2-3" ) PORT_DIPLOCATION("SW2:3") + PORT_DIPNAME( 0x04, 0x04, "Max Hopper Payout" ) PORT_DIPLOCATION("SW1:3") // unknown PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "DSW2-4" ) PORT_DIPLOCATION("SW2:4") + PORT_DIPNAME( 0x08, 0x08, "Won Credit" ) PORT_DIPLOCATION("SW1:4") // unknown PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x10, "DSW2-5" ) PORT_DIPLOCATION("SW2:5") + PORT_DIPNAME( 0x10, 0x10, "Reel" ) PORT_DIPLOCATION("SW1:5") // ? + PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x00, "Sound" ) PORT_DIPLOCATION("SW1:6") // OK + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x40, "Play Mode" ) PORT_DIPLOCATION("SW1:7") // OK + PORT_DIPSETTING( 0x40, "Credits" ) + PORT_DIPSETTING( 0x00, "Coins" ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:8") // OK + PORT_DIPSETTING( 0x80, DEF_STR( On ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + + PORT_MODIFY("DSW2") + PORT_DIPNAME( 0x0f, 0x0f, "Payout %" ) PORT_DIPLOCATION("JW:1,2,3,4") // OK + PORT_DIPSETTING( 0x0f, "88" ) // Payout Table ID - DV98103-011 + PORT_DIPSETTING( 0x0e, "90" ) + PORT_DIPSETTING( 0x0d, "92" ) + PORT_DIPSETTING( 0x0b, "94" ) + PORT_DIPSETTING( 0x07, "96" ) + PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) ) PORT_DIPLOCATION("JW:5") // OK PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "DSW2-6" ) PORT_DIPLOCATION("SW2:6") + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) ) PORT_DIPLOCATION("JW:6") // OK PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "DSW2-7" ) PORT_DIPLOCATION("SW2:7") +/* PORT_DIPNAME( 0x30, 0x30, "Unknown" ) PORT_DIPLOCATION("JW:5,6") // unknown + PORT_DIPSETTING( 0x30, "5000" ) + PORT_DIPSETTING( 0x10, "4795" ) + PORT_DIPSETTING( 0x20, "4000" ) + PORT_DIPSETTING( 0x00, "2500" ) */ + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:9") // OK PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "DSW2-8" ) PORT_DIPLOCATION("SW2:8") + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:10") // OK PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_START("DSW4") - PORT_BIT( 0x3f, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_DIPNAME( 0x40, 0x40, "DSW2-9" ) PORT_DIPLOCATION("SW2:9") + PORT_MODIFY("DSW3") + PORT_DIPNAME( 0x03, 0x01, "Game Denomination" ) PORT_DIPLOCATION("SW2:1,2") // OK + PORT_DIPSETTING( 0x01, "Nickle" ) + PORT_DIPSETTING( 0x02, "Quarter" ) + PORT_DIPSETTING( 0x03, "Credit" ) + PORT_DIPSETTING( 0x00, "$1" ) + PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:3") // OK + PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x08, "Attendant To Pay" ) PORT_DIPLOCATION("SW2:4") // not checked + PORT_DIPSETTING( 0x08, "Hopper & Attendant") + PORT_DIPSETTING( 0x00, "Attendant Only" ) + PORT_DIPNAME( 0x10, 0x10, "Reel Speed" ) PORT_DIPLOCATION("SW2:5") // OK + PORT_DIPSETTING( 0x10, "Slow" ) + PORT_DIPSETTING( 0x00, "Fast" ) + PORT_DIPNAME( 0x20, 0x00, "Invert Winners" ) PORT_DIPLOCATION("SW2:6") // OK + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:7") // OK PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "DSW2-10" ) PORT_DIPLOCATION("SW2:10") + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:8") // OK PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_MODIFY("DSW4") +// PORT_BIT( 0x3f, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:9") // OK + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:10") // OK + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END @@ -554,6 +732,7 @@ void sigmab52_state::machine_reset() m_bank1->set_entry(1); m_coin_start_cycles = 0; m_hopper_start_cycles = 0; + m_audiocpu_cmd_irq = CLEAR_LINE; } /************************* @@ -583,7 +762,7 @@ static MACHINE_CONFIG_START( jwildb52, sigmab52_state ) MCFG_SCREEN_REFRESH_RATE(30) MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) MCFG_SCREEN_SIZE(1024, 1024) - MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 384-1) + MCFG_SCREEN_VISIBLE_AREA(0, 544-1, 0, 436-1) MCFG_SCREEN_UPDATE_DEVICE("hd63484", h63484_device, update_screen) MCFG_SCREEN_PALETTE("palette") @@ -625,13 +804,13 @@ ROM_START( jwildb52a ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "sigm_wrk.bin", 0x00000, 0x10000, CRC(15c83c6c) SHA1(7a05bd94ea8b1ad051fbe6580a6550d4bb47dd15) ) - /* No gfx & sound dumps. Using the ones from parent set for now... */ - ROM_REGION16_BE( 0x40000, "gfx1", 0 ) - ROM_LOAD32_BYTE( "cards_2001-1.ic45", 0x00003, 0x10000, BAD_DUMP CRC(7664455e) SHA1(c9f129060e63b9ac9058ab94208846e4dc578ead) ) - ROM_LOAD32_BYTE( "cards_2001-2.ic46", 0x00001, 0x10000, BAD_DUMP CRC(c1455d64) SHA1(ddb576ba471b5d2faa415ec425615cf5f9d87911) ) - ROM_LOAD32_BYTE( "cards_2001-3.ic47", 0x00000, 0x10000, BAD_DUMP CRC(cb2ece6e) SHA1(f2b6949085fe395d0fdd16322a880ec87e2efd50) ) - ROM_LOAD32_BYTE( "cards_2001-4.ic48", 0x00002, 0x10000, BAD_DUMP CRC(8131d236) SHA1(8984aa1f2af70df41973b61df17f184796a2ffe9) ) + ROM_LOAD32_BYTE( "c-1416-1.ic45", 0x00003, 0x10000, CRC(02a0b517) SHA1(5a0818a174683f791ca885bfdfd7555616c80758) ) + ROM_LOAD32_BYTE( "c-1416-2.ic46", 0x00001, 0x10000, CRC(3196e486) SHA1(2d264e518083ff05d1a1eb7f8e1649feb70349e7) ) + ROM_LOAD32_BYTE( "c-1416-3.ic47", 0x00000, 0x10000, CRC(1c9a2939) SHA1(e18fdf9a656687db47ac00700e7721c3d8e800c5) ) + ROM_LOAD32_BYTE( "c-1416-4.ic48", 0x00002, 0x10000, CRC(7bd8bf78) SHA1(ddacbb75df14a343e69949dcaa14ce1a7ec8407a) ) + + /* No sound dumps. Using the ones from parent set for now... */ ROM_REGION( 0x8000, "audiocpu", 0 ) ROM_LOAD( "sound-01-00.43", 0x0000, 0x8000, BAD_DUMP CRC(2712d44c) SHA1(295526b27676cd97cbf111d47305d63c2b3ea50d) ) @@ -659,6 +838,26 @@ ROM_START( jwildb52h ) ROM_END +ROM_START( s8waysfc ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "dv98103.011", 0x00000, 0x10000, CRC(416190a1) SHA1(e2738644efc6c2adcea2470b482f3f818ed9af8d) ) + + ROM_REGION16_BE( 0x40000, "gfx1", 0 ) + ROM_LOAD32_BYTE( "symb112.1", 0x00003, 0x10000, CRC(b09bd4f5) SHA1(af04845e84cb381f9babe088884b5bbab927a326) ) + ROM_LOAD32_BYTE( "symb112.2", 0x00001, 0x10000, CRC(462a2d55) SHA1(3157893d150b98c80c0045f78cb2520e8b3ce4eb) ) + ROM_LOAD32_BYTE( "symb112.3", 0x00000, 0x10000, CRC(be0c2e64) SHA1(82de83fc4754ff73e80e22187b7fba041832613e) ) + ROM_LOAD32_BYTE( "symb112.4", 0x00002, 0x10000, CRC(f9d8529c) SHA1(7cd54bda71fb38c7bcbea42be4e322aec0581964) ) + + ROM_REGION( 0x8000, "audiocpu", 0 ) + ROM_LOAD( "v-slot02.00", 0x00000, 0x08000, CRC(bc1eec0a) SHA1(300ebfbd314c58b434bb20a5c3c8f7463b424207) ) + + /* No prom dumps. Using the ones from jwildb52 for now... */ + + ROM_REGION( 0x0100, "proms", 0 ) + ROM_LOAD( "mb7118.41", 0x0000, 0x0100, CRC(b362f9e2) SHA1(3963b40389ed6584e4cd96ab48849552857d99af) ) +ROM_END + + /************************* * Driver Init * *************************/ @@ -672,7 +871,8 @@ DRIVER_INIT_MEMBER(sigmab52_state,jwildb52) * Game Drivers * *************************/ -/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */ -GAMEL( 199?, jwildb52, 0, jwildb52, jwildb52, sigmab52_state, jwildb52, ROT0, "Sigma", "Joker's Wild (B52 system, set 1)", GAME_NO_SOUND | GAME_NOT_WORKING, layout_sigmab52 ) -GAMEL( 199?, jwildb52a, jwildb52, jwildb52, jwildb52, sigmab52_state, jwildb52, ROT0, "Sigma", "Joker's Wild (B52 system, set 2)", GAME_NO_SOUND | GAME_NOT_WORKING, layout_sigmab52 ) -GAMEL( 199?, jwildb52h, jwildb52, jwildb52, jwildb52, sigmab52_state, jwildb52, ROT0, "Sigma", "Joker's Wild (B52 system, Harrah's GFX)", GAME_NO_SOUND | GAME_NOT_WORKING, layout_sigmab52 ) +/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */ +GAMEL( 199?, jwildb52, 0, jwildb52, jwildb52, sigmab52_state, jwildb52, ROT0, "Sigma", "Joker's Wild (B52 system, set 1)", GAME_NOT_WORKING, layout_sigmab52 ) // V.045NMV +GAMEL( 199?, jwildb52a, jwildb52, jwildb52, jwildb52a, sigmab52_state, jwildb52, ROT0, "Sigma", "Joker's Wild (B52 system, set 2)", GAME_NOT_WORKING, layout_sigmab52 ) // V.031WM +GAMEL( 199?, jwildb52h, jwildb52, jwildb52, jwildb52, sigmab52_state, jwildb52, ROT0, "Sigma", "Joker's Wild (B52 system, Harrah's GFX)", GAME_NOT_WORKING, layout_sigmab52 ) // V.045NMV +GAME ( 1989, s8waysfc, 0, jwildb52, s8waysfc, sigmab52_state, jwildb52, ROT0, "Sigma", "Super 8 Ways FC (Fruit combination)", GAME_NOT_WORKING ) // V.??? diff --git a/src/mame/layout/sigmab52.lay b/src/mame/layout/sigmab52.lay index 175b1bcd4b032..40d9034dad09d 100644 --- a/src/mame/layout/sigmab52.lay +++ b/src/mame/layout/sigmab52.lay @@ -13,14 +13,14 @@ - + - + @@ -39,26 +39,43 @@ - + - + - + + + + + + + + + + + + + + + + + + @@ -84,19 +101,19 @@ - + - + - + - + 4 - + @@ -104,16 +121,16 @@ - + - + - + - +