summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Roberto Fresca <robertof@mamedev.org>2009-02-16 02:50:19 +0000
committer Roberto Fresca <robertof@mamedev.org>2009-02-16 02:50:19 +0000
commitb3e1fbd1fba23d12374f7452a5c96f3e38b6ee03 (patch)
tree2dc0e8ffa7dcd0bc9c55d1dd8c08c96f595d9cea
parent9e3919cce715c10607acf708176228fcf8502e30 (diff)
More improvements to goldstar.c
- Added 3 new machine drivers for the different Amcoe games hardware. - Added OKI M6295 support for speech/sounds to schery97, schery97a, skill98, pokonl97 and match98. - Fixed sound support to nfb96, nfb96a, nfb96b, nfb96c, nfb96txt, roypok96, roypok96a, roypok96b, nc96, nc96a, nc96b, nc96c, nc96txt, nfb96se, nfb96sea, nfb96seb, carb2002 and carb2003. - Full inputs & DIP switches from the scratch for pokonl97, match98, nfb96, nfb96a, nfb96b, nfb96c, nfb96txt, roypok96, roypok96a, roypok96b, nc96, nc96a, nc96b, nc96c, nc96txt, nfb96se, nfb96sea, nfb96seb, carb2002 and carb2003. All these were promoted to working state. - Fixed size and position of tilemaps visible area to match98. - More driver cleanups. New games added or promoted from NOT_WORKING status --------------------------------------------------- Poker Only '97 (ver. 3.3) [Roberto Fresca, Olivier Galibert, David Haywood] Match '98 (ver. 1.33) [Roberto Fresca, Olivier Galibert, David Haywood] New Fruit Bonus '96 Special Edition (5 sets) [Roberto Fresca, Olivier Galibert, David Haywood] Royal Poker '96 (3 sets) [Roberto Fresca, Olivier Galibert, David Haywood] New Cherry '96 Special Edition (5 sets) [Roberto Fresca, Olivier Galibert, David Haywood] New Fruit Bonus '96 Special Edition (bootleg, 3 sets) [Roberto Fresca, Olivier Galibert, David Haywood] Carriage Bonus 2002 (bootleg) [Roberto Fresca, Olivier Galibert, David Haywood] Carriage Bonus 2003 (bootleg) [Roberto Fresca, Olivier Galibert, David Haywood]
-rw-r--r--src/mame/drivers/goldstar.c1285
-rw-r--r--src/mame/video/goldstar.c34
2 files changed, 1281 insertions, 38 deletions
diff --git a/src/mame/drivers/goldstar.c b/src/mame/drivers/goldstar.c
index 26ec917c61c..e59d24e46fb 100644
--- a/src/mame/drivers/goldstar.c
+++ b/src/mame/drivers/goldstar.c
@@ -3,7 +3,7 @@
Golden Star
Cherry Master
Lucky 8 Lines
- Some Amcoe games
+ Amcoe CGA games
Golden Star and Cherry Master seem to be almost the same thing, running on
different hardware. There are also various bootlegs / hacks, it isn't clear
@@ -117,6 +117,7 @@ VIDEO_START( goldstar );
VIDEO_START( cherrym );
VIDEO_UPDATE( goldstar );
VIDEO_UPDATE( cmast91 );
+VIDEO_UPDATE( amcoe1a );
static UINT8 *nvram;
static size_t nvram_size;
@@ -302,6 +303,33 @@ static ADDRESS_MAP_START( cmast91_portmap, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x22, 0x23) AM_DEVWRITE(SOUND, "ay", ay8910_data_address_w)
ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( amcoe1_portmap, ADDRESS_SPACE_IO, 8 )
+ ADDRESS_MAP_GLOBAL_MASK(0xff)
+ AM_RANGE(0x01, 0x01) AM_DEVREAD(SOUND, "ay", ay8910_r)
+ AM_RANGE(0x02, 0x03) AM_DEVWRITE(SOUND, "ay", ay8910_data_address_w)
+ AM_RANGE(0x04, 0x07) AM_DEVREADWRITE(PPI8255, "ppi8255_0", ppi8255_r, ppi8255_w) /* Input Ports */
+ AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE(PPI8255, "ppi8255_1", ppi8255_r, ppi8255_w) /* DIP switches */
+ AM_RANGE(0x10, 0x10) AM_WRITE (cm_outport0_w) /* output port */
+ AM_RANGE(0x11, 0x11) AM_WRITENOP
+ AM_RANGE(0x12, 0x12) AM_WRITE (cm_outport1_w) /* output port */
+ AM_RANGE(0x13, 0x13) AM_WRITENOP /* seems control for an extra PPI device */
+ AM_RANGE(0x20, 0x20) AM_DEVREADWRITE(SOUND, "oki", okim6295_r, okim6295_w)
+ADDRESS_MAP_END
+
+static ADDRESS_MAP_START( amcoe2_portmap, ADDRESS_SPACE_IO, 8 )
+ ADDRESS_MAP_GLOBAL_MASK(0xff)
+ AM_RANGE(0x01, 0x01) AM_DEVREAD(SOUND, "ay", ay8910_r)
+ AM_RANGE(0x02, 0x03) AM_DEVWRITE(SOUND, "ay", ay8910_data_address_w)
+ AM_RANGE(0x04, 0x07) AM_DEVREADWRITE(PPI8255, "ppi8255_0", ppi8255_r, ppi8255_w) /* Input Ports */
+ AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE(PPI8255, "ppi8255_1", ppi8255_r, ppi8255_w) /* DIP switches */
+ AM_RANGE(0x10, 0x10) AM_WRITE (cm_outport0_w) /* output port */
+ AM_RANGE(0x11, 0x11) AM_WRITENOP
+ AM_RANGE(0x12, 0x12) AM_WRITE (cm_outport1_w) /* output port */
+ AM_RANGE(0x13, 0x13) AM_WRITENOP /* seems control for an extra PPI device */
+ADDRESS_MAP_END
+
+
static WRITE8_HANDLER( lucky8_outport_w )
{
/* lamps */
@@ -2722,7 +2750,7 @@ static INPUT_PORTS_START( schery97 )
PORT_DIPSETTING( 0x04, "5000" )
PORT_DIPSETTING( 0x08, "10000" )
PORT_DIPSETTING( 0x0c, "90000" )
- PORT_DIPNAME( 0xf0, 0xd0, "Clear / Ticket Unit" ) PORT_DIPLOCATION("DSW3:5,6,7,8") /* OK */
+ 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" )
@@ -2770,7 +2798,7 @@ static INPUT_PORTS_START( schery97 )
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW5:1") /* OK */
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
- /* the following ones work with version 3.51 onward */
+ /* DIP switches 2 to 5 work only for version 3.51 */
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,PORTCOND_EQUALS,0x10)
PORT_DIPSETTING( 0x02, DEF_STR( Yes ) ) PORT_CONDITION("DSW4",0x10,PORTCOND_EQUALS,0x10)
@@ -2791,17 +2819,1089 @@ static INPUT_PORTS_START( schery97 )
PORT_DIPSETTING( 0x10, "Use Interface" ) PORT_CONDITION("DSW4",0x10,PORTCOND_EQUALS,0x10)
PORT_DIPSETTING( 0x00, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,PORTCOND_EQUALS,0x00)
PORT_DIPSETTING( 0x10, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,PORTCOND_EQUALS,0x00)
- PORT_DIPNAME( 0x20, 0x00, "Reel Speed (ver 2.3)" ) PORT_DIPLOCATION("DSW5:6") /* OK (turn the machine off/on after change) */
- PORT_DIPSETTING( 0x00, "Slow" )
- PORT_DIPSETTING( 0x20, "Fast" )
+ PORT_DIPNAME( 0x20, 0x20, "Reel Speed (ver 2.3)" ) PORT_DIPLOCATION("DSW5:6") /* OK (turn the machine off/on after change) */
+ PORT_DIPSETTING( 0x20, "Slow" )
+ PORT_DIPSETTING( 0x00, "Fast" )
PORT_DIPNAME( 0x40, 0x00, "Talking (ver 2.1)" ) PORT_DIPLOCATION("DSW5:7") /* OK (turn the machine off/on after change) */
- PORT_DIPSETTING( 0x00, "Very Little" )
- PORT_DIPSETTING( 0x40, "Full" )
+ PORT_DIPSETTING( 0x40, "Very Little (only sounds)" )
+ PORT_DIPSETTING( 0x00, "Full (sounds & speech)" )
PORT_DIPNAME( 0x80, 0x00, "Count Game to Issue Ticket" ) PORT_DIPLOCATION("DSW5:8") /* OK (turn the machine off/on after change) */
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
INPUT_PORTS_END
+static INPUT_PORTS_START( nfb96 )
+ PORT_START("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_Z) PORT_NAME("Stop All / Big")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X) PORT_NAME("Stop 1 / D-UP")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_V) PORT_NAME("Stop 3 / Take / Select Card")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_B) PORT_NAME("Play (Bet)")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_C) PORT_NAME("Stop 2 / Small / Info")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_N) PORT_NAME("Start")
+
+ PORT_START("IN1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ 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("Note In") /* Note In */
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_Q) PORT_NAME("Key In") /* Key In */
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) /* Coin A */
+
+ PORT_START("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 )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_W) PORT_NAME("Key Out / Attendant")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Settings")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Stats")
+
+ PORT_START("DSW1")
+ PORT_DIPNAME( 0x07, 0x03, "Game Level (Difficulty)" ) PORT_DIPLOCATION("DSW1:1,2,3") /* OK */
+ PORT_DIPSETTING( 0x07, "Level 1" )
+ PORT_DIPSETTING( 0x06, "Level 2" )
+ PORT_DIPSETTING( 0x05, "Level 3" )
+ PORT_DIPSETTING( 0x04, "Level 4" )
+ PORT_DIPSETTING( 0x03, "Level 5" )
+ PORT_DIPSETTING( 0x02, "Level 6" )
+ PORT_DIPSETTING( 0x01, "Level 7" )
+ PORT_DIPSETTING( 0x00, "Level 8" )
+ PORT_DIPNAME( 0x38, 0x38, "Maximum Play" ) PORT_DIPLOCATION("DSW1:4,5,6") /* OK */
+ PORT_DIPSETTING( 0x00, "10" ) PORT_CONDITION("DSW5",0x10,PORTCOND_EQUALS,0x00)
+ PORT_DIPSETTING( 0x08, "20" ) PORT_CONDITION("DSW5",0x10,PORTCOND_EQUALS,0x00)
+ PORT_DIPSETTING( 0x10, "30" ) PORT_CONDITION("DSW5",0x10,PORTCOND_EQUALS,0x00)
+ PORT_DIPSETTING( 0x18, "40" ) PORT_CONDITION("DSW5",0x10,PORTCOND_EQUALS,0x00)
+ PORT_DIPSETTING( 0x00, "8" ) PORT_CONDITION("DSW5",0x10,PORTCOND_EQUALS,0x10)
+ PORT_DIPSETTING( 0x08, "16" ) PORT_CONDITION("DSW5",0x10,PORTCOND_EQUALS,0x10)
+ PORT_DIPSETTING( 0x10, "24" ) PORT_CONDITION("DSW5",0x10,PORTCOND_EQUALS,0x10)
+ PORT_DIPSETTING( 0x18, "32" ) PORT_CONDITION("DSW5",0x10,PORTCOND_EQUALS,0x10)
+ PORT_DIPSETTING( 0x20, "40" )
+ PORT_DIPSETTING( 0x28, "48" )
+ PORT_DIPSETTING( 0x30, "64" )
+ PORT_DIPSETTING( 0x38, "80" )
+ PORT_DIPNAME( 0xc0, 0x80, "Minimum Play for Bonus" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */
+ PORT_DIPSETTING( 0x00, "10" ) PORT_CONDITION("DSW5",0x10,PORTCOND_EQUALS,0x00)
+ PORT_DIPSETTING( 0x40, "20" ) PORT_CONDITION("DSW5",0x10,PORTCOND_EQUALS,0x00)
+ PORT_DIPSETTING( 0x80, "30" ) PORT_CONDITION("DSW5",0x10,PORTCOND_EQUALS,0x00)
+ PORT_DIPSETTING( 0xc0, "40" ) PORT_CONDITION("DSW5",0x10,PORTCOND_EQUALS,0x00)
+ PORT_DIPSETTING( 0x00, "8" ) PORT_CONDITION("DSW5",0x10,PORTCOND_EQUALS,0x10)
+ PORT_DIPSETTING( 0x40, "16" ) PORT_CONDITION("DSW5",0x10,PORTCOND_EQUALS,0x10)
+ PORT_DIPSETTING( 0x80, "24" ) PORT_CONDITION("DSW5",0x10,PORTCOND_EQUALS,0x10)
+ PORT_DIPSETTING( 0xc0, "32" ) PORT_CONDITION("DSW5",0x10,PORTCOND_EQUALS,0x10)
+
+ PORT_START("DSW2")
+ PORT_DIPNAME( 0x01, 0x01, "Double-Up Game" ) PORT_DIPLOCATION("DSW2:1") /* OK */
+ PORT_DIPSETTING( 0x00, DEF_STR( No ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Yes ) )
+ PORT_DIPNAME( 0x02, 0x02, "Skill Spinning" ) PORT_DIPLOCATION("DSW2:2") /* OK (listed as Non-Stop spinning in the manual) */
+ PORT_DIPSETTING( 0x00, DEF_STR( No ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Yes ) )
+ PORT_DIPNAME( 0x1c, 0x10, "Coin In" ) PORT_DIPLOCATION("DSW2:3,4,5") /* OK */
+ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( 1C_4C ) )
+ PORT_DIPSETTING( 0x0c, DEF_STR( 1C_5C ) )
+ PORT_DIPSETTING( 0x10, "1 Coin/10 Credits" )
+ PORT_DIPSETTING( 0x14, "1 Coin/20 Credits" )
+ PORT_DIPSETTING( 0x18, "1 Coin/25 Credits" )
+ PORT_DIPSETTING( 0x1c, "1 Coin/100 Credits" )
+ PORT_DIPNAME( 0x60, 0x00, "Note In" ) PORT_DIPLOCATION("DSW2:6,7") /* OK */
+ PORT_DIPSETTING( 0x00, "100" )
+ PORT_DIPSETTING( 0x20, "200" )
+ PORT_DIPSETTING( 0x40, "500" )
+ PORT_DIPSETTING( 0x60, "1000" )
+ PORT_DIPNAME( 0x80, 0x00, "WARNING: Always Off" ) PORT_DIPLOCATION("DSW2:8") /* Listed that way in the manual */
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( On ) )
+
+ PORT_START("DSW3")
+ PORT_DIPNAME( 0x03, 0x02, "Minimum Play to Start" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */
+ PORT_DIPSETTING( 0x00, "1" )
+ PORT_DIPSETTING( 0x01, "10" ) PORT_CONDITION("DSW5",0x10,PORTCOND_EQUALS,0x00)
+ PORT_DIPSETTING( 0x02, "20" ) PORT_CONDITION("DSW5",0x10,PORTCOND_EQUALS,0x00)
+ PORT_DIPSETTING( 0x03, "30" ) PORT_CONDITION("DSW5",0x10,PORTCOND_EQUALS,0x00)
+ PORT_DIPSETTING( 0x01, "8" ) PORT_CONDITION("DSW5",0x10,PORTCOND_EQUALS,0x10)
+ PORT_DIPSETTING( 0x02, "16" ) PORT_CONDITION("DSW5",0x10,PORTCOND_EQUALS,0x10)
+ PORT_DIPSETTING( 0x03, "24" ) PORT_CONDITION("DSW5",0x10,PORTCOND_EQUALS,0x10)
+ PORT_DIPNAME( 0x0c, 0x08, "Max Coin In & Note In Point" ) PORT_DIPLOCATION("DSW3:3,4") /* OK */
+ PORT_DIPSETTING( 0x00, "1000" )
+ 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_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, "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( 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_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_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,PORTCOND_EQUALS,0x10)
+ PORT_DIPSETTING( 0x02, DEF_STR( Yes ) ) PORT_CONDITION("DSW4",0x10,PORTCOND_EQUALS,0x10)
+ PORT_DIPSETTING( 0x00, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,PORTCOND_EQUALS,0x00)
+ PORT_DIPSETTING( 0x02, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,PORTCOND_EQUALS,0x00)
+ PORT_DIPNAME( 0x04, 0x00, "Use Printer" ) PORT_DIPLOCATION("DSW5:3") /* OK */
+ PORT_DIPSETTING( 0x00, "No (Use TDDD)" )
+ PORT_DIPSETTING( 0x04, DEF_STR( Yes ) )
+ PORT_DIPNAME( 0x08, 0x08, "Show Game Name & Odds Table" ) PORT_DIPLOCATION("DSW5:4") /* OK */
+ PORT_DIPSETTING( 0x00, DEF_STR( No ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Yes ) )
+ PORT_DIPNAME( 0x10, 0x10, "Min-Max Bet Type" ) PORT_DIPLOCATION("DSW5:5") /* OK */
+ PORT_DIPSETTING( 0x10, "Base 8" )
+ PORT_DIPSETTING( 0x00, "Base 10" )
+ 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,PORTCOND_EQUALS,0x10)
+ PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_CONDITION("DSW4",0x10,PORTCOND_EQUALS,0x10)
+ PORT_DIPSETTING( 0x20, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,PORTCOND_EQUALS,0x00)
+ PORT_DIPSETTING( 0x00, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,PORTCOND_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,PORTCOND_EQUALS,0x10)
+ PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_CONDITION("DSW4",0x10,PORTCOND_EQUALS,0x10)
+ PORT_DIPSETTING( 0x40, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,PORTCOND_EQUALS,0x00)
+ PORT_DIPSETTING( 0x00, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,PORTCOND_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 ) )
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( nfb96tx )
+ PORT_START("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_Z) PORT_NAME("Stop All / Big")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X) PORT_NAME("Stop 1 / D-UP")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_V) PORT_NAME("Stop 3 / Take / Select Card")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_B) PORT_NAME("Play (Bet)")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_C) PORT_NAME("Stop 2 / Small")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_N) PORT_NAME("Start")
+
+ PORT_START("IN1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ 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") /* Ticket In */
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_Q) PORT_NAME("Key In") /* Key In (not used)*/
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) /* Coin A */
+
+ PORT_START("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 )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_W) PORT_NAME("Key Out / Attendant")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Settings")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Stats")
+
+ PORT_START("DSW1")
+ PORT_DIPNAME( 0x07, 0x03, "Game Level (Difficulty)" ) PORT_DIPLOCATION("DSW1:1,2,3") /* OK */
+ PORT_DIPSETTING( 0x07, "Level 1" )
+ PORT_DIPSETTING( 0x06, "Level 2" )
+ PORT_DIPSETTING( 0x05, "Level 3" )
+ PORT_DIPSETTING( 0x04, "Level 4" )
+ PORT_DIPSETTING( 0x03, "Level 5" )
+ PORT_DIPSETTING( 0x02, "Level 6" )
+ PORT_DIPSETTING( 0x01, "Level 7" )
+ PORT_DIPSETTING( 0x00, "Level 8" )
+ PORT_DIPNAME( 0x38, 0x38, "Maximum Play" ) PORT_DIPLOCATION("DSW1:4,5,6") /* OK */
+ PORT_DIPSETTING( 0x00, "8" )
+ PORT_DIPSETTING( 0x08, "16" )
+ PORT_DIPSETTING( 0x10, "24" )
+ PORT_DIPSETTING( 0x18, "32" )
+ PORT_DIPSETTING( 0x20, "40" )
+ PORT_DIPSETTING( 0x28, "48" )
+ PORT_DIPSETTING( 0x30, "64" )
+ PORT_DIPSETTING( 0x38, "80" )
+ PORT_DIPNAME( 0xc0, 0x80, "Minimum Play for Bonus" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */
+ PORT_DIPSETTING( 0x00, "8" )
+ PORT_DIPSETTING( 0x40, "16" )
+ PORT_DIPSETTING( 0x80, "24" )
+ PORT_DIPSETTING( 0xc0, "32" )
+
+ PORT_START("DSW2")
+ PORT_DIPNAME( 0x01, 0x01, "Double-Up Game" ) PORT_DIPLOCATION("DSW2:1") /* OK */
+ PORT_DIPSETTING( 0x00, DEF_STR( No ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Yes ) )
+ PORT_DIPNAME( 0x02, 0x02, "Skill Spinning" ) PORT_DIPLOCATION("DSW2:2") /* OK (listed as Non-Stop spinning in the manual) */
+ PORT_DIPSETTING( 0x00, DEF_STR( No ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Yes ) )
+ PORT_DIPNAME( 0x04, 0x04, "Coin In" ) PORT_DIPLOCATION("DSW2:3") /* OK */
+ PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) )
+ PORT_DIPSETTING( 0x04, "1 Coin/25 Credits" )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:4") /* unknown */
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:5") /* unknown */
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, "Ticket In" ) PORT_DIPLOCATION("DSW2:6") /* OK */
+ PORT_DIPSETTING( 0x00, "50" )
+ PORT_DIPSETTING( 0x20, "500" )
+ PORT_DIPNAME( 0x40, 0x40, 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 */
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( On ) )
+
+ PORT_START("DSW3")
+ PORT_DIPNAME( 0x03, 0x02, "Minimum Play to Start" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */
+ PORT_DIPSETTING( 0x00, "1" )
+ PORT_DIPSETTING( 0x01, "8" )
+ PORT_DIPSETTING( 0x02, "16" )
+ PORT_DIPSETTING( 0x03, "24" )
+ PORT_DIPNAME( 0x0c, 0x08, "Max Coin In & Note In Point" ) PORT_DIPLOCATION("DSW3:3,4") /* OK */
+ PORT_DIPSETTING( 0x00, "1000" )
+ 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_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, "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( 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_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_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,PORTCOND_EQUALS,0x10)
+ PORT_DIPSETTING( 0x02, DEF_STR( Yes ) ) PORT_CONDITION("DSW4",0x10,PORTCOND_EQUALS,0x10)
+ PORT_DIPSETTING( 0x00, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,PORTCOND_EQUALS,0x00)
+ PORT_DIPSETTING( 0x02, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,PORTCOND_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,PORTCOND_EQUALS,0x10)
+ PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_CONDITION("DSW4",0x10,PORTCOND_EQUALS,0x10)
+ PORT_DIPSETTING( 0x20, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,PORTCOND_EQUALS,0x00)
+ PORT_DIPSETTING( 0x00, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,PORTCOND_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,PORTCOND_EQUALS,0x10)
+ PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_CONDITION("DSW4",0x10,PORTCOND_EQUALS,0x10)
+ PORT_DIPSETTING( 0x40, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,PORTCOND_EQUALS,0x00)
+ PORT_DIPSETTING( 0x00, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,PORTCOND_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 ) )
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( roypok96 )
+ PORT_START("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_Z) PORT_NAME("Big")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X) PORT_NAME("D-UP")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_V) PORT_NAME("Take / Select Card")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_B) PORT_NAME("Play (Bet)")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_C) PORT_NAME("Small / Info")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_N) PORT_NAME("Start")
+
+ PORT_START("IN1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Note In") /* Note In */
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) /* Coin A */
+
+ PORT_START("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 )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_W) PORT_NAME("Key Out / Attendant")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Settings")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Stats")
+
+ PORT_START("DSW1")
+ PORT_DIPNAME( 0x07, 0x03, "Game Rate" ) PORT_DIPLOCATION("DSW1:1,2,3") /* OK */
+ PORT_DIPSETTING( 0x07, "90%" )
+ PORT_DIPSETTING( 0x06, "85%" )
+ PORT_DIPSETTING( 0x05, "80%" )
+ PORT_DIPSETTING( 0x04, "75%" )
+ PORT_DIPSETTING( 0x03, "70%" )
+ PORT_DIPSETTING( 0x02, "65%" )
+ PORT_DIPSETTING( 0x01, "60%" )
+ PORT_DIPSETTING( 0x00, "55%" )
+ PORT_DIPNAME( 0x38, 0x38, "Maximum Play" ) PORT_DIPLOCATION("DSW1:4,5,6") /* OK */
+ PORT_DIPSETTING( 0x00, "8" )
+ PORT_DIPSETTING( 0x08, "16" )
+ PORT_DIPSETTING( 0x10, "24" )
+ PORT_DIPSETTING( 0x18, "32" )
+ PORT_DIPSETTING( 0x20, "40" )
+ PORT_DIPSETTING( 0x28, "48" )
+ PORT_DIPSETTING( 0x30, "64" )
+ PORT_DIPSETTING( 0x38, "80" )
+ PORT_DIPNAME( 0xc0, 0x80, "Minimum Play for Bonus" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */
+ PORT_DIPSETTING( 0x00, "8" )
+ PORT_DIPSETTING( 0x40, "16" )
+ PORT_DIPSETTING( 0x80, "24" )
+ PORT_DIPSETTING( 0xc0, "32" )
+
+ PORT_START("DSW2")
+ PORT_DIPNAME( 0x01, 0x01, "Double-Up Game" ) PORT_DIPLOCATION("DSW2:1") /* OK */
+ PORT_DIPSETTING( 0x00, DEF_STR( No ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Yes ) )
+ 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( 0x1c, 0x10, "Coin In" ) PORT_DIPLOCATION("DSW2:3,4,5") /* OK */
+ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( 1C_4C ) )
+ PORT_DIPSETTING( 0x0c, DEF_STR( 1C_5C ) )
+ PORT_DIPSETTING( 0x10, "1 Coin/10 Credits" )
+ PORT_DIPSETTING( 0x14, "1 Coin/20 Credits" )
+ PORT_DIPSETTING( 0x18, "1 Coin/25 Credits" )
+ PORT_DIPSETTING( 0x1c, "1 Coin/100 Credits" )
+ PORT_DIPNAME( 0x60, 0x00, "Note In" ) PORT_DIPLOCATION("DSW2:6,7") /* OK */
+ PORT_DIPSETTING( 0x00, "100" )
+ PORT_DIPSETTING( 0x20, "200" )
+ PORT_DIPSETTING( 0x40, "500" )
+ PORT_DIPSETTING( 0x60, "1000" )
+ PORT_DIPNAME( 0x80, 0x00, "WARNING: Always Off" ) PORT_DIPLOCATION("DSW2:8") /* Listed that way in the manual */
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( On ) )
+
+ PORT_START("DSW3")
+ PORT_DIPNAME( 0x03, 0x02, "Minimum Play to Start" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */
+ PORT_DIPSETTING( 0x00, "1" )
+ PORT_DIPSETTING( 0x01, "8" )
+ PORT_DIPSETTING( 0x02, "16" )
+ PORT_DIPSETTING( 0x03, "24" )
+ PORT_DIPNAME( 0x0c, 0x08, "Max Coin In & Note In Point" ) PORT_DIPLOCATION("DSW3:3,4") /* OK */
+ PORT_DIPSETTING( 0x00, "1000" )
+ 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, "20" )
+ PORT_DIPSETTING( 0x50, "25" )
+ PORT_DIPSETTING( 0x60, "30" )
+ PORT_DIPSETTING( 0x70, "40" )
+ PORT_DIPSETTING( 0x80, "50" )
+ PORT_DIPSETTING( 0x90, "60" )
+ PORT_DIPSETTING( 0xa0, "80" )
+ PORT_DIPSETTING( 0xb0, "100" )
+ PORT_DIPSETTING( 0xc0, "200" )
+ PORT_DIPSETTING( 0xd0, "300" )
+ PORT_DIPSETTING( 0xe0, "400" )
+ PORT_DIPSETTING( 0xf0, "500" )
+
+ 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, "Type 1" )
+ PORT_DIPSETTING( 0x04, "Type 2" )
+ PORT_DIPNAME( 0x08, 0x08, "Bonus Accumulation" ) PORT_DIPLOCATION("DSW4:4") /* not checked */
+ 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_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_START("DSW5")
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( roypok96a )
+ PORT_START("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_Z) PORT_NAME("Big")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X) PORT_NAME("D-UP")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_V) PORT_NAME("Take / Select Card")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_B) PORT_NAME("Play (Bet)")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_C) PORT_NAME("Small / Info")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_N) PORT_NAME("Start")
+
+ PORT_START("IN1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Note In") /* Note In */
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) /* Coin A */
+
+ PORT_START("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 )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_W) PORT_NAME("Key Out / Attendant")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Settings")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Stats")
+
+ PORT_START("DSW1")
+ PORT_DIPNAME( 0x07, 0x03, "Game Level (Difficulty)" ) PORT_DIPLOCATION("DSW1:1,2,3") /* OK */
+ PORT_DIPSETTING( 0x07, "Level 1" )
+ PORT_DIPSETTING( 0x06, "Level 2" )
+ PORT_DIPSETTING( 0x05, "Level 3" )
+ PORT_DIPSETTING( 0x04, "Level 4" )
+ PORT_DIPSETTING( 0x03, "Level 5" )
+ PORT_DIPSETTING( 0x02, "Level 6" )
+ PORT_DIPSETTING( 0x01, "Level 7" )
+ PORT_DIPSETTING( 0x00, "Level 8" )
+ PORT_DIPNAME( 0x38, 0x38, "Maximum Play" ) PORT_DIPLOCATION("DSW1:4,5,6") /* OK */
+ PORT_DIPSETTING( 0x00, "8" )
+ PORT_DIPSETTING( 0x08, "16" )
+ PORT_DIPSETTING( 0x10, "24" )
+ PORT_DIPSETTING( 0x18, "32" )
+ PORT_DIPSETTING( 0x20, "40" )
+ PORT_DIPSETTING( 0x28, "48" )
+ PORT_DIPSETTING( 0x30, "64" )
+ PORT_DIPSETTING( 0x38, "80" )
+ PORT_DIPNAME( 0xc0, 0x80, "Minimum Play for Bonus" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */
+ PORT_DIPSETTING( 0x00, "8" )
+ PORT_DIPSETTING( 0x40, "16" )
+ PORT_DIPSETTING( 0x80, "24" )
+ PORT_DIPSETTING( 0xc0, "32" )
+
+ PORT_START("DSW2")
+ PORT_DIPNAME( 0x01, 0x01, "Double-Up Game" ) PORT_DIPLOCATION("DSW2:1") /* OK */
+ PORT_DIPSETTING( 0x00, DEF_STR( No ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Yes ) )
+ 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( 0x1c, 0x10, "Coin In" ) PORT_DIPLOCATION("DSW2:3,4,5") /* OK */
+ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( 1C_4C ) )
+ PORT_DIPSETTING( 0x0c, DEF_STR( 1C_5C ) )
+ PORT_DIPSETTING( 0x10, "1 Coin/10 Credits" )
+ PORT_DIPSETTING( 0x14, "1 Coin/20 Credits" )
+ PORT_DIPSETTING( 0x18, "1 Coin/25 Credits" )
+ PORT_DIPSETTING( 0x1c, "1 Coin/100 Credits" )
+ PORT_DIPNAME( 0x60, 0x00, "Note In" ) PORT_DIPLOCATION("DSW2:6,7") /* OK */
+ PORT_DIPSETTING( 0x00, "100" )
+ PORT_DIPSETTING( 0x20, "200" )
+ PORT_DIPSETTING( 0x40, "500" )
+ PORT_DIPSETTING( 0x60, "1000" )
+ PORT_DIPNAME( 0x80, 0x00, "WARNING: Always Off" ) PORT_DIPLOCATION("DSW2:8") /* Listed that way in the manual */
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( On ) )
+
+ PORT_START("DSW3")
+ PORT_DIPNAME( 0x03, 0x02, "Minimum Play to Start" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */
+ PORT_DIPSETTING( 0x00, "1" )
+ PORT_DIPSETTING( 0x01, "8" )
+ PORT_DIPSETTING( 0x02, "10" )
+ PORT_DIPSETTING( 0x03, "16" )
+ PORT_DIPNAME( 0x0c, 0x08, "Max Coin In & Note In Point" ) PORT_DIPLOCATION("DSW3:3,4") /* OK */
+ PORT_DIPSETTING( 0x00, "1000" )
+ 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, "20" )
+ PORT_DIPSETTING( 0x50, "25" )
+ PORT_DIPSETTING( 0x60, "30" )
+ PORT_DIPSETTING( 0x70, "40" )
+ PORT_DIPSETTING( 0x80, "50" )
+ PORT_DIPSETTING( 0x90, "60" )
+ PORT_DIPSETTING( 0xa0, "80" )
+ PORT_DIPSETTING( 0xb0, "100" )
+ PORT_DIPSETTING( 0xc0, "200" )
+ PORT_DIPSETTING( 0xd0, "300" )
+ PORT_DIPSETTING( 0xe0, "400" )
+ PORT_DIPSETTING( 0xf0, "500" )
+
+ 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, "Type 1" )
+ PORT_DIPSETTING( 0x04, "Type 2" )
+ PORT_DIPNAME( 0x08, 0x08, "Bonus Accumulation" ) PORT_DIPLOCATION("DSW4:4") /* not checked */
+ 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_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_START("DSW5")
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( pokonl97 )
+ PORT_START("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_Z) PORT_NAME("Hold 1 / Big / Bet 10")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X) PORT_NAME("Hold 2 / D-UP")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_V) PORT_NAME("Hold 4 / Take / Select Card")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_B) PORT_NAME("Hold 5 / Play (Bet 1)")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_C) PORT_NAME("Hold 3 / Small / End")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_N) PORT_NAME("Start / Draw")
+
+ PORT_START("IN1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Note In") /* Note In */
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) /* Coin A */
+
+ PORT_START("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 )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_W) PORT_NAME("Key Out / Attendant")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Settings")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Stats")
+
+ PORT_START("DSW1")
+ PORT_DIPNAME( 0x07, 0x03, "Game Level (Difficulty)" ) PORT_DIPLOCATION("DSW1:1,2,3") /* OK */
+ PORT_DIPSETTING( 0x07, "Level 1" )
+ PORT_DIPSETTING( 0x06, "Level 2" )
+ PORT_DIPSETTING( 0x05, "Level 3" )
+ PORT_DIPSETTING( 0x04, "Level 4" )
+ PORT_DIPSETTING( 0x03, "Level 5" )
+ PORT_DIPSETTING( 0x02, "Level 6" )
+ PORT_DIPSETTING( 0x01, "Level 7" )
+ PORT_DIPSETTING( 0x00, "Level 8" )
+ PORT_DIPNAME( 0x38, 0x38, "Maximum Play" ) PORT_DIPLOCATION("DSW1:4,5,6") /* OK */
+ PORT_DIPSETTING( 0x00, "10" )
+ PORT_DIPSETTING( 0x08, "20" )
+ PORT_DIPSETTING( 0x10, "30" )
+ PORT_DIPSETTING( 0x18, "40" )
+ PORT_DIPSETTING( 0x20, "50" )
+ PORT_DIPSETTING( 0x28, "60" )
+ PORT_DIPSETTING( 0x30, "70" )
+ PORT_DIPSETTING( 0x38, "80" )
+ PORT_DIPNAME( 0xc0, 0x80, "Minimum Play for Bonus" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */
+ PORT_DIPSETTING( 0x00, "8" )
+ PORT_DIPSETTING( 0x40, "16" )
+ PORT_DIPSETTING( 0x80, "24" )
+ PORT_DIPSETTING( 0xc0, "32" )
+
+ PORT_START("DSW2")
+ PORT_DIPNAME( 0x01, 0x01, "Double-Up Game" ) PORT_DIPLOCATION("DSW2:1") /* OK */
+ PORT_DIPSETTING( 0x00, DEF_STR( No ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Yes ) )
+ 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( 0x1c, 0x10, "Coin In" ) PORT_DIPLOCATION("DSW2:3,4,5") /* OK */
+ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( 1C_4C ) )
+ PORT_DIPSETTING( 0x0c, DEF_STR( 1C_5C ) )
+ PORT_DIPSETTING( 0x10, "1 Coin/10 Credits" )
+ PORT_DIPSETTING( 0x14, "1 Coin/20 Credits" )
+ PORT_DIPSETTING( 0x18, "1 Coin/25 Credits" )
+ PORT_DIPSETTING( 0x1c, "1 Coin/100 Credits" )
+ PORT_DIPNAME( 0x60, 0x00, "Note In" ) PORT_DIPLOCATION("DSW2:6,7") /* OK */
+ PORT_DIPSETTING( 0x00, "100" )
+ PORT_DIPSETTING( 0x20, "200" )
+ PORT_DIPSETTING( 0x40, "500" )
+ PORT_DIPSETTING( 0x60, "1000" )
+ PORT_DIPNAME( 0x80, 0x00, "WARNING: Always Off" ) PORT_DIPLOCATION("DSW2:8") /* Listed that way in the manual */
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( On ) )
+
+ PORT_START("DSW3")
+ PORT_DIPNAME( 0x03, 0x02, "Minimum Play to Start" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */
+ PORT_DIPSETTING( 0x00, "1" )
+ PORT_DIPSETTING( 0x01, "2" )
+ PORT_DIPSETTING( 0x02, "4" )
+ PORT_DIPSETTING( 0x03, "8" )
+ PORT_DIPNAME( 0x0c, 0x08, "Max Coin In & Note In Point" ) PORT_DIPLOCATION("DSW3:3,4") /* OK */
+ PORT_DIPSETTING( 0x00, "1000" )
+ 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, "20" )
+ PORT_DIPSETTING( 0x50, "25" )
+ PORT_DIPSETTING( 0x60, "30" )
+ PORT_DIPSETTING( 0x70, "40" )
+ PORT_DIPSETTING( 0x80, "50" )
+ PORT_DIPSETTING( 0x90, "60" )
+ PORT_DIPSETTING( 0xa0, "80" )
+ PORT_DIPSETTING( 0xb0, "100" )
+ PORT_DIPSETTING( 0xc0, "200" )
+ PORT_DIPSETTING( 0xd0, "300" )
+ PORT_DIPSETTING( 0xe0, "400" )
+ PORT_DIPSETTING( 0xf0, "500" )
+
+ 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, 0x04, "Type of Game" ) PORT_DIPLOCATION("DSW4:3") /* OK */
+ PORT_DIPSETTING( 0x00, "Discard" )
+ PORT_DIPSETTING( 0x04, "Hold" )
+ PORT_DIPNAME( 0x08, 0x08, "Odds Table" ) PORT_DIPLOCATION("DSW4:4") /* OK */
+ PORT_DIPSETTING( 0x08, "Table 1" )
+ PORT_DIPSETTING( 0x00, "Table 2" )
+ 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") /* 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_START("DSW5")
+ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW5:1") /* unknown */
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( On ) )
+ 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, "Use Printer" ) PORT_DIPLOCATION("DSW5:3") /* OK */
+ PORT_DIPSETTING( 0x00, "No (Use TDDD)" )
+ PORT_DIPSETTING( 0x04, DEF_STR( Yes ) )
+ PORT_DIPNAME( 0x08, 0x08, "Show Game Name & Odds Table" ) PORT_DIPLOCATION("DSW5:4") /* not checked */
+ PORT_DIPSETTING( 0x00, DEF_STR( No ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( Yes ) )
+ 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( match98 )
+ PORT_START("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_Z) PORT_NAME("Hit")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X) PORT_NAME("Unknown1")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_V) PORT_NAME("Unknown3")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_B) PORT_NAME("Play (Bet)")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_C) PORT_NAME("Unknown2")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_N) PORT_NAME("Start")
+
+ PORT_START("IN1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Note In") /* Note In */
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) /* Coin A */
+
+ PORT_START("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 )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_W) PORT_NAME("Key Out / Attendant")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Settings")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START("DSW1")
+ PORT_DIPNAME( 0x07, 0x03, "Game Level (Difficulty)" ) PORT_DIPLOCATION("DSW1:1,2,3") /* OK */
+ PORT_DIPSETTING( 0x07, "Level 1" )
+ PORT_DIPSETTING( 0x06, "Level 2" )
+ PORT_DIPSETTING( 0x05, "Level 3" )
+ PORT_DIPSETTING( 0x04, "Level 4" )
+ PORT_DIPSETTING( 0x03, "Level 5" )
+ PORT_DIPSETTING( 0x02, "Level 6" )
+ PORT_DIPSETTING( 0x01, "Level 7" )
+ PORT_DIPSETTING( 0x00, "Level 8" )
+ PORT_DIPNAME( 0x38, 0x38, "Maximum Play" ) PORT_DIPLOCATION("DSW1:4,5,6") /* OK */
+ PORT_DIPSETTING( 0x00, "8" )
+ PORT_DIPSETTING( 0x08, "10" )
+ PORT_DIPSETTING( 0x10, "30" )
+ PORT_DIPSETTING( 0x18, "40" )
+ PORT_DIPSETTING( 0x20, "50" )
+ PORT_DIPSETTING( 0x28, "60" )
+ PORT_DIPSETTING( 0x30, "80" )
+ PORT_DIPSETTING( 0x38, "100" )
+ PORT_DIPNAME( 0xc0, 0x80, "Minimum Play for Bonus" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */
+ PORT_DIPSETTING( 0x00, "8" )
+ PORT_DIPSETTING( 0x40, "10" )
+ PORT_DIPSETTING( 0x80, "20" )
+ PORT_DIPSETTING( 0xc0, "30" )
+
+ PORT_START("DSW2")
+ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:1") /* unknown */
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( On ) )
+ 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( 0x1c, 0x10, "Coin In" ) PORT_DIPLOCATION("DSW2:3,4,5") /* OK */
+ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( 1C_4C ) )
+ PORT_DIPSETTING( 0x0c, DEF_STR( 1C_5C ) )
+ PORT_DIPSETTING( 0x10, "1 Coin/10 Credits" )
+ PORT_DIPSETTING( 0x14, "1 Coin/20 Credits" )
+ PORT_DIPSETTING( 0x18, "1 Coin/25 Credits" )
+ PORT_DIPSETTING( 0x1c, "1 Coin/100 Credits" )
+ PORT_DIPNAME( 0x60, 0x00, "Note In" ) PORT_DIPLOCATION("DSW2:6,7") /* OK */
+ PORT_DIPSETTING( 0x00, "100" )
+ PORT_DIPSETTING( 0x20, "200" )
+ PORT_DIPSETTING( 0x40, "500" )
+ PORT_DIPSETTING( 0x60, "1000" )
+ PORT_DIPNAME( 0x80, 0x00, "WARNING: Always Off" ) PORT_DIPLOCATION("DSW2:8") /* Listed that way in the manual */
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( On ) )
+
+ PORT_START("DSW3")
+ PORT_DIPNAME( 0x03, 0x02, "Minimum Play to Start" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */
+ PORT_DIPSETTING( 0x00, "1" )
+ PORT_DIPSETTING( 0x01, "8" )
+ PORT_DIPSETTING( 0x02, "10" )
+ PORT_DIPSETTING( 0x03, "20" )
+ PORT_DIPNAME( 0x0c, 0x08, "Max Coin In & Note In Point" ) PORT_DIPLOCATION("DSW3:3,4") /* OK */
+ PORT_DIPSETTING( 0x00, "1000" )
+ 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, "20" )
+ PORT_DIPSETTING( 0x50, "25" )
+ PORT_DIPSETTING( 0x60, "30" )
+ PORT_DIPSETTING( 0x70, "40" )
+ PORT_DIPSETTING( 0x80, "50" )
+ PORT_DIPSETTING( 0x90, "60" )
+ PORT_DIPSETTING( 0xa0, "80" )
+ PORT_DIPSETTING( 0xb0, "100" )
+ PORT_DIPSETTING( 0xc0, "200" )
+ PORT_DIPSETTING( 0xd0, "300" )
+ PORT_DIPSETTING( 0xe0, "400" )
+ PORT_DIPSETTING( 0xf0, "500" )
+
+ PORT_START("DSW4")
+ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:1") /* unknown */
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( On ) )
+ 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, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:3") /* unknown */
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:4") /* unknown */
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( On ) )
+ 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") /* 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_START("DSW5")
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( nfb96bl )
+ PORT_START("IN0")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_Z) PORT_NAME("Stop All / Big")
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X) PORT_NAME("Stop 1 / D-UP")
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_V) PORT_NAME("Stop 3 / Take / Select Card")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_B) PORT_NAME("Play (Bet)")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_C) PORT_NAME("Stop 2 / Small / Info")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_N) PORT_NAME("Start")
+
+ PORT_START("IN1")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Note In") /* Note In */
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) /* Coin A */
+
+ PORT_START("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 )
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_W) PORT_NAME("Key Out / Attendant")
+ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Settings")
+ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Stats")
+
+ PORT_START("DSW1")
+ PORT_DIPNAME( 0x07, 0x03, "Game Rate" ) PORT_DIPLOCATION("DSW1:1,2,3") /* OK */
+ PORT_DIPSETTING( 0x07, "90%" )
+ PORT_DIPSETTING( 0x06, "85%" )
+ PORT_DIPSETTING( 0x05, "80%" )
+ PORT_DIPSETTING( 0x04, "75%" )
+ PORT_DIPSETTING( 0x03, "70%" )
+ PORT_DIPSETTING( 0x02, "65%" )
+ PORT_DIPSETTING( 0x01, "60%" )
+ PORT_DIPSETTING( 0x00, "55%" )
+ PORT_DIPNAME( 0x38, 0x38, "Maximum Play" ) PORT_DIPLOCATION("DSW1:4,5,6") /* OK */
+ PORT_DIPSETTING( 0x00, "8" )
+ PORT_DIPSETTING( 0x08, "16" )
+ PORT_DIPSETTING( 0x10, "24" )
+ PORT_DIPSETTING( 0x18, "32" )
+ PORT_DIPSETTING( 0x20, "40" )
+ PORT_DIPSETTING( 0x28, "48" )
+ PORT_DIPSETTING( 0x30, "64" )
+ PORT_DIPSETTING( 0x38, "80" )
+ PORT_DIPNAME( 0xc0, 0x80, "Minimum Play for Bonus" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */
+ PORT_DIPSETTING( 0x00, "8" )
+ PORT_DIPSETTING( 0x40, "16" )
+ PORT_DIPSETTING( 0x80, "24" )
+ PORT_DIPSETTING( 0xc0, "32" )
+
+ PORT_START("DSW2")
+ PORT_DIPNAME( 0x01, 0x01, "Double-Up Game" ) PORT_DIPLOCATION("DSW2:1") /* OK */
+ PORT_DIPSETTING( 0x00, DEF_STR( No ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Yes ) )
+ PORT_DIPNAME( 0x02, 0x02, "Skill Spinning" ) PORT_DIPLOCATION("DSW2:2") /* OK */
+ PORT_DIPSETTING( 0x00, DEF_STR( No ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( Yes ) )
+ PORT_DIPNAME( 0x1c, 0x10, "Coin In" ) PORT_DIPLOCATION("DSW2:3,4,5") /* OK */
+ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( 1C_4C ) )
+ PORT_DIPSETTING( 0x0c, DEF_STR( 1C_5C ) )
+ PORT_DIPSETTING( 0x10, "1 Coin/10 Credits" )
+ PORT_DIPSETTING( 0x14, "1 Coin/20 Credits" )
+ PORT_DIPSETTING( 0x18, "1 Coin/25 Credits" )
+ PORT_DIPSETTING( 0x1c, "1 Coin/100 Credits" )
+ PORT_DIPNAME( 0x60, 0x00, "Note In" ) PORT_DIPLOCATION("DSW2:6,7") /* OK */
+ PORT_DIPSETTING( 0x00, "100" )
+ PORT_DIPSETTING( 0x20, "200" )
+ PORT_DIPSETTING( 0x40, "500" )
+ PORT_DIPSETTING( 0x60, "1000" )
+ PORT_DIPNAME( 0x80, 0x00, "WARNING: Always Off" ) PORT_DIPLOCATION("DSW2:8") /* Listed that way in the manual */
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( On ) )
+
+ PORT_START("DSW3")
+ PORT_DIPNAME( 0x03, 0x02, "Minimum Play to Start" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */
+ PORT_DIPSETTING( 0x00, "1" )
+ PORT_DIPSETTING( 0x01, "8" )
+ PORT_DIPSETTING( 0x02, "16" )
+ PORT_DIPSETTING( 0x03, "24" )
+ PORT_DIPNAME( 0x0c, 0x08, "Max Coin In & Note In Point" ) PORT_DIPLOCATION("DSW3:3,4") /* OK */
+ PORT_DIPSETTING( 0x00, "1000" )
+ 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, "20" )
+ PORT_DIPSETTING( 0x50, "25" )
+ PORT_DIPSETTING( 0x60, "30" )
+ PORT_DIPSETTING( 0x70, "40" )
+ PORT_DIPSETTING( 0x80, "50" )
+ PORT_DIPSETTING( 0x90, "60" )
+ PORT_DIPSETTING( 0xa0, "80" )
+ PORT_DIPSETTING( 0xb0, "100" )
+ PORT_DIPSETTING( 0xc0, "200" )
+ PORT_DIPSETTING( 0xd0, "300" )
+ PORT_DIPSETTING( 0xe0, "400" )
+ PORT_DIPSETTING( 0xf0, "500" )
+
+ 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, "Type 1" )
+ PORT_DIPSETTING( 0x04, "Type 2" )
+ PORT_DIPNAME( 0x08, 0x08, "Bonus Accumulation" ) PORT_DIPLOCATION("DSW4:4") /* not checked */
+ 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_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_START("DSW5")
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
+INPUT_PORTS_END
static const gfx_layout charlayout =
@@ -3653,10 +4753,127 @@ static MACHINE_DRIVER_START( ladylinr )
MDRV_SOUND_ADD("ay", AY8910, AY_CLOCK)
MDRV_SOUND_CONFIG(ladylinr_ay8910_config)
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
+MACHINE_DRIVER_END
+
+
+/* diff with cm machine driver: gfxdecode, OKI & portmap */
+static MACHINE_DRIVER_START( amcoe1 )
+
+ /* basic machine hardware */
+ MDRV_CPU_ADD("main", Z80, CPU_CLOCK)
+ MDRV_CPU_PROGRAM_MAP(cm_map, 0)
+ MDRV_CPU_IO_MAP(amcoe1_portmap, 0)
+ MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
+
+ /* 2x 8255 */
+ MDRV_PPI8255_ADD( "ppi8255_0", cm_ppi8255_intf[0] )
+ MDRV_PPI8255_ADD( "ppi8255_1", cm_ppi8255_intf[1] )
+
+ /* video hardware */
+ MDRV_SCREEN_ADD("main", RASTER)
+ MDRV_SCREEN_REFRESH_RATE(60)
+// MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
+ MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
+ MDRV_SCREEN_SIZE(64*8, 32*8)
+ MDRV_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
+
+ MDRV_GFXDECODE(cm)
+ MDRV_PALETTE_LENGTH(256)
+ MDRV_PALETTE_INIT(cm)
+ MDRV_NVRAM_HANDLER(goldstar)
+
+ MDRV_VIDEO_START(cherrym)
+ MDRV_VIDEO_UPDATE(goldstar)
+
+ /* sound hardware */
+ MDRV_SPEAKER_STANDARD_MONO("mono")
+ MDRV_SOUND_ADD("ay", AY8910, AY_CLOCK)
+ MDRV_SOUND_CONFIG(cm_ay8910_config)
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
+
+ MDRV_SOUND_ADD("oki", OKIM6295, OKI_CLOCK)
+ MDRV_SOUND_CONFIG(okim6295_interface_pin7high) /* clock frequency & pin 7 not verified */
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
+MACHINE_DRIVER_END
+
+
+/* diff with cm machine driver: gfxdecode, OKI, portmap & tilemaps rect size/position */
+static MACHINE_DRIVER_START( amcoe1a )
+
+ /* basic machine hardware */
+ MDRV_CPU_ADD("main", Z80, CPU_CLOCK)
+ MDRV_CPU_PROGRAM_MAP(cm_map, 0)
+ MDRV_CPU_IO_MAP(amcoe1_portmap, 0)
+ MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
+
+ /* 2x 8255 */
+ MDRV_PPI8255_ADD( "ppi8255_0", cm_ppi8255_intf[0] )
+ MDRV_PPI8255_ADD( "ppi8255_1", cm_ppi8255_intf[1] )
+
+ /* video hardware */
+ MDRV_SCREEN_ADD("main", RASTER)
+ MDRV_SCREEN_REFRESH_RATE(60)
+// MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
+ MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
+ MDRV_SCREEN_SIZE(64*8, 32*8)
+ MDRV_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
+
+ MDRV_GFXDECODE(cm)
+ MDRV_PALETTE_LENGTH(256)
+ MDRV_PALETTE_INIT(cm)
+ MDRV_NVRAM_HANDLER(goldstar)
+
+ MDRV_VIDEO_START(cherrym)
+ MDRV_VIDEO_UPDATE(amcoe1a)
+
+ /* sound hardware */
+ MDRV_SPEAKER_STANDARD_MONO("mono")
+ MDRV_SOUND_ADD("ay", AY8910, AY_CLOCK)
+ MDRV_SOUND_CONFIG(cm_ay8910_config)
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
+ MDRV_SOUND_ADD("oki", OKIM6295, OKI_CLOCK)
+ MDRV_SOUND_CONFIG(okim6295_interface_pin7high) /* clock frequency & pin 7 not verified */
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_DRIVER_END
+/* diff with cm machine driver: gfxdecode, AY8910 volume & portmap */
+static MACHINE_DRIVER_START( amcoe2 )
+
+ /* basic machine hardware */
+ MDRV_CPU_ADD("main", Z80, CPU_CLOCK)
+ MDRV_CPU_PROGRAM_MAP(cm_map, 0)
+ MDRV_CPU_IO_MAP(amcoe2_portmap, 0)
+ MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
+
+ /* 2x 8255 */
+ MDRV_PPI8255_ADD( "ppi8255_0", cm_ppi8255_intf[0] )
+ MDRV_PPI8255_ADD( "ppi8255_1", cm_ppi8255_intf[1] )
+
+ /* video hardware */
+ MDRV_SCREEN_ADD("main", RASTER)
+ MDRV_SCREEN_REFRESH_RATE(60)
+// MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
+ MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
+ MDRV_SCREEN_SIZE(64*8, 32*8)
+ MDRV_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1)
+
+ MDRV_GFXDECODE(cm)
+ MDRV_PALETTE_LENGTH(256)
+ MDRV_PALETTE_INIT(cm)
+ MDRV_NVRAM_HANDLER(goldstar)
+
+ MDRV_VIDEO_START(cherrym)
+ MDRV_VIDEO_UPDATE(goldstar)
+
+ /* sound hardware */
+ MDRV_SPEAKER_STANDARD_MONO("mono")
+ MDRV_SOUND_ADD("ay", AY8910, AY_CLOCK)
+ MDRV_SOUND_CONFIG(cm_ay8910_config)
+ MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.00) /* analyzed for clips */
+MACHINE_DRIVER_END
+
/***************************************************************************
@@ -6284,40 +7501,40 @@ GAME( 198?, mtonic, 0, ncb3, cmv801, 0, ROT0, "Tonic",
/* --- Amcoe games --- */
-/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
+/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
+
+GAME( 1997, schery97, 0, amcoe1, schery97, schery97, ROT0, "Amcoe", "Skill Cherry '97 (ver. sc3.52)", 0 ) /* running in CB hardware */
+GAME( 1997, schery97a, schery97, amcoe1, schery97, schery97a, ROT0, "Amcoe", "Skill Cherry '97 (ver. sc3.52c4)", 0 ) /* running in C4 hardware */
+GAME( 1998, skill98, 0, amcoe1, schery97, skill98, ROT0, "Amcoe", "Skill '98 (ver. s98-1.33)", 0 )
+GAME( 1997, pokonl97, 0, amcoe1, pokonl97, po33, ROT0, "Amcoe", "Poker Only '97 (ver. 3.3)", 0 ) /* ver. 3.3 */
+GAME( 1998, match98, 0, amcoe1a, match98, match133, ROT0, "Amcoe", "Match '98 (ver. 1.33)", 0 )
-GAME( 1997, schery97, 0, cm, schery97, schery97, ROT0, "Amcoe", "Skill Cherry '97 (ver. sc3.52)", GAME_NO_SOUND ) /* running in CB hardware */
-GAME( 1997, schery97a, schery97, cm, schery97, schery97a, ROT0, "Amcoe", "Skill Cherry '97 (ver. sc3.52c4)", GAME_NO_SOUND ) /* running in C4 hardware */
-GAME( 1998, skill98, 0, cm, schery97, skill98, ROT0, "Amcoe", "Skill '98 (ver. s98-1.33)", GAME_NO_SOUND )
-GAME( 1998, match98, 0, cm, cmv4, match133, ROT0, "Amcoe", "Match '98 (ver. 1.33)", GAME_NOT_WORKING )
+GAME( 1996, nfb96, 0, amcoe2, nfb96, fb36xc1, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (set 1)", 0 ) /* ver. 00-3.62 */
+GAME( 1996, nfb96a, nfb96, amcoe2, nfb96, fb36xc1, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (set 2)", 0 ) /* ver. 02-3.63 */
+GAME( 1996, nfb96b, nfb96, amcoe2, nfb96, fbse354, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (set 3)", 0 ) /* ver. 00-3.54 */
+GAME( 1996, nfb96c, nfb96, amcoe2, nfb96, fbse362, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (set 4)", 0 ) /* ver. 00-3.62 ??? */
+GAME( 1996, nfb96txt, nfb96, amcoe2, nfb96tx, tc132axt, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (set 5, Texas XT)", 0 ) /* ver. tf1.22axt */
-GAME( 1996, nfb96, 0, cm, cmv4, fb36xc1, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (set 1)", GAME_NOT_WORKING ) /* ver. 00-3.62 */
-GAME( 1996, nfb96a, nfb96, cm, cmv4, fb36xc1, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (set 2)", GAME_NOT_WORKING ) /* ver. 02-3.63 */
-GAME( 1996, nfb96b, nfb96, cm, cmv4, fbse354, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (set 3)", GAME_NOT_WORKING ) /* ver. 00-3.54 */
-GAME( 1996, nfb96c, nfb96, cm, cmv4, fbse362, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (set 4)", GAME_NOT_WORKING ) /* ver. 00-3.62 ??? */
-GAME( 1996, nfb96txt, nfb96, cm, cmv4, tc132axt, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (set 5, Texas XT)", GAME_NOT_WORKING )
+GAME( 1996, roypok96, 0, amcoe2, roypok96, rp35, ROT0, "Amcoe", "Royal Poker '96 (set 1)", 0 ) /* ver. 97-3.5 */
+GAME( 1996, roypok96a, roypok96, amcoe2, roypok96a, rp36, ROT0, "Amcoe", "Royal Poker '96 (set 2)", 0 ) /* ver. 98-3.6 */
+GAME( 1996, roypok96b, roypok96, amcoe2, roypok96a, rp36c3, ROT0, "Amcoe", "Royal Poker '96 (set 3)", 0 ) /* ver. 98-3.6 ??? */
-GAME( 1996, roypok96, 0, cm, cmv4, rp35, ROT0, "Amcoe", "Royal Poker '96 (set 1)", GAME_NOT_WORKING ) /* ver. 97-3.5 */
-GAME( 1996, roypok96a, roypok96, cm, cmv4, rp36, ROT0, "Amcoe", "Royal Poker '96 (set 2)", GAME_NOT_WORKING ) /* ver. 98-3.6 */
-GAME( 1996, roypok96b, roypok96, cm, cmv4, rp36c3, ROT0, "Amcoe", "Royal Poker '96 (set 3)", GAME_NOT_WORKING ) /* ver. 98-3.6 ??? */
-GAME( 1997, pokonl97, 0, cm, cmv4, po33, ROT0, "Amcoe", "Poker Only '97", GAME_NOT_WORKING ) /* ver. 3.3 */
-
-GAME( 1996, nc96, nfb96, cm, cmv4, fb36xc1, ROT0, "Amcoe", "New Cherry '96 Special Edition (set 1)", GAME_NOT_WORKING )
-GAME( 1996, nc96a, nfb96, cm, cmv4, fb36xc1, ROT0, "Amcoe", "New Cherry '96 Special Edition (set 2)", GAME_NOT_WORKING )
-GAME( 1996, nc96b, nfb96, cm, cmv4, fbse354, ROT0, "Amcoe", "New Cherry '96 Special Edition (set 3)", GAME_NOT_WORKING )
-GAME( 1996, nc96c, nfb96, cm, cmv4, fbse362, ROT0, "Amcoe", "New Cherry '96 Special Edition (set 4)", GAME_NOT_WORKING )
-GAME( 2000, nc96txt, nfb96, cm, cmv4, tc132axt, ROT0, "Amcoe", "New Cherry '96 Special Edition (set 5, Texas XT)", GAME_NOT_WORKING )
+GAME( 1996, nc96, nfb96, amcoe2, nfb96, fb36xc1, ROT0, "Amcoe", "New Cherry '96 Special Edition (set 1)", 0 )
+GAME( 1996, nc96a, nfb96, amcoe2, nfb96, fb36xc1, ROT0, "Amcoe", "New Cherry '96 Special Edition (set 2)", 0 )
+GAME( 1996, nc96b, nfb96, amcoe2, nfb96, fbse354, ROT0, "Amcoe", "New Cherry '96 Special Edition (set 3)", 0 )
+GAME( 1996, nc96c, nfb96, amcoe2, nfb96, fbse362, ROT0, "Amcoe", "New Cherry '96 Special Edition (set 4)", 0 )
+GAME( 2000, nc96txt, nfb96, amcoe2, nfb96tx, tc132axt, ROT0, "Amcoe", "New Cherry '96 Special Edition (set 5, Texas XT)", 0 ) /* ver. tc1.32axt */
/* these all appear to be graphic hacks of 'New Fruit Bonus '96', they can run with the same program rom
some sets are messy and appear to have mismatched graphic roms, they needed to be sorted out properly
*/
-/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 1996, nfb96se, nfb96, cm, cmv4, 0, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg, set 1)", GAME_WRONG_COLORS | GAME_NOT_WORKING )
-GAME( 1996, nfb96sea, nfb96, cm, cmv4, nfb96sea, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg, set 2)", GAME_WRONG_COLORS | GAME_NOT_WORKING ) // encrypted program
-GAME( 1996, nfb96seb, nfb96, cm, cmv4, 0, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg, set 3)", GAME_WRONG_COLORS | GAME_NOT_WORKING )
-GAME( 2002, carb2002, nfb96, cm, cmv4, 0, ROT0, "bootleg", "Carriage Bonus 2002 (bootleg)", GAME_WRONG_COLORS | GAME_NOT_WORKING )
-GAME( 2003, carb2003, nfb96, cm, cmv4, 0, ROT0, "bootleg", "Carriage Bonus 2003 (bootleg)", GAME_WRONG_COLORS | GAME_NOT_WORKING )
+/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
+GAME( 1996, nfb96se, nfb96, amcoe2, nfb96bl, 0, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg, set 1)", 0 )
+GAME( 1996, nfb96sea, nfb96, amcoe2, nfb96bl, nfb96sea, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg, set 2)", GAME_WRONG_COLORS ) // encrypted program
+GAME( 1996, nfb96seb, nfb96, amcoe2, nfb96bl, 0, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg, set 3)", GAME_WRONG_COLORS )
+GAME( 2002, carb2002, nfb96, amcoe2, nfb96bl, 0, ROT0, "bootleg", "Carriage Bonus 2002 (bootleg)", GAME_WRONG_COLORS )
+GAME( 2003, carb2003, nfb96, amcoe2, nfb96bl, 0, ROT0, "bootleg", "Carriage Bonus 2003 (bootleg)", GAME_WRONG_COLORS )
/* possible stealth sets:
diff --git a/src/mame/video/goldstar.c b/src/mame/video/goldstar.c
index f683a4e1015..3459c75a451 100644
--- a/src/mame/video/goldstar.c
+++ b/src/mame/video/goldstar.c
@@ -177,6 +177,10 @@ static const rectangle cm91_visible1 = { 0*8, (14+48)*8-1, 4*8, (4+7)*8-1 }; /*
static const rectangle cm91_visible2 = { 0*8, (14+48)*8-1, 11*8, (12+7)*8-1 }; /* 4 pixels less for reel2 */
static const rectangle cm91_visible3 = { 0*8, (14+48)*8-1, 19*8, (19+7)*8-1 }; /* 8 pixels less for reel3 */
+static const rectangle am1a_visible1 = { 0*8, (14+48)*8-1, 4*8, (4+6)*8-1 };
+static const rectangle am1a_visible2 = { 0*8, (14+48)*8-1, 10*8, (10+6)*8-1 };
+static const rectangle am1a_visible3 = { 0*8, (14+48)*8-1, 16*8, (16+6)*8-1 };
+
VIDEO_UPDATE( goldstar )
{
@@ -191,11 +195,11 @@ VIDEO_UPDATE( goldstar )
tilemap_set_scrolly(goldstar_reel3_tilemap, i, goldstar_reel3_scroll[i]);
}
- tilemap_draw(bitmap,&visible1,goldstar_reel1_tilemap,0,0);
- tilemap_draw(bitmap,&visible2,goldstar_reel2_tilemap,0,0);
- tilemap_draw(bitmap,&visible3,goldstar_reel3_tilemap,0,0);
+ tilemap_draw(bitmap, &visible1, goldstar_reel1_tilemap, 0, 0);
+ tilemap_draw(bitmap, &visible2, goldstar_reel2_tilemap, 0, 0);
+ tilemap_draw(bitmap, &visible3, goldstar_reel3_tilemap, 0, 0);
- tilemap_draw(bitmap,cliprect,goldstar_fg_tilemap,0,0);
+ tilemap_draw(bitmap,cliprect, goldstar_fg_tilemap, 0, 0);
return 0;
}
@@ -221,3 +225,25 @@ VIDEO_UPDATE( cmast91 )
return 0;
}
+
+VIDEO_UPDATE( amcoe1a )
+{
+ int i;
+
+ bitmap_fill(bitmap,cliprect,get_black_pen(screen->machine));
+
+ for (i= 0;i < 64;i++)
+ {
+ tilemap_set_scrolly(goldstar_reel1_tilemap, i, goldstar_reel1_scroll[i]);
+ tilemap_set_scrolly(goldstar_reel2_tilemap, i, goldstar_reel2_scroll[i]);
+ tilemap_set_scrolly(goldstar_reel3_tilemap, i, goldstar_reel3_scroll[i]);
+ }
+
+ tilemap_draw(bitmap, &am1a_visible1, goldstar_reel1_tilemap, 0, 0);
+ tilemap_draw(bitmap, &am1a_visible2, goldstar_reel2_tilemap, 0, 0);
+ tilemap_draw(bitmap, &am1a_visible3, goldstar_reel3_tilemap, 0, 0);
+
+ tilemap_draw(bitmap, cliprect, goldstar_fg_tilemap, 0, 0);
+
+ return 0;
+}