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, 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( 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( 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, 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, 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, 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, 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; +}