summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/igspoker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/igspoker.cpp')
-rw-r--r--src/mame/drivers/igspoker.cpp3057
1 files changed, 0 insertions, 3057 deletions
diff --git a/src/mame/drivers/igspoker.cpp b/src/mame/drivers/igspoker.cpp
deleted file mode 100644
index 6d16a897b6f..00000000000
--- a/src/mame/drivers/igspoker.cpp
+++ /dev/null
@@ -1,3057 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Mirko Buffoni
-/*****************************************************************************
-
-Champion Poker by IGS (documented by Mirko Buffoni)
----
-
-Memory Layout (refers to CSK227IT. Others may have different addresses)
-
-ROM: 0000-efff
-RAM: f000-ffff
-
----
-
-I/O Ports
-
-Palette: 2000-27ff (low byte)
- 2800-2fff (high byte)
-VideoRAM: 7000-77ff
-ColorRAM: 7800-7fff
-DSW1-5: 4000-4004 (see input ports section below)
-InputPorts: 50a0 (unused in this game)
- 5081-5082 (Coins and Keyboard)
- 5091 (Keyboard)
-Expansion: 8000-ffff (R) Used to read from an expansion rom
-
-Unknown: 5080 (RW) (possibly related to ticket/hopper)
- 5090-5091 (RW) (possibly related to eprom counters)
- 50b0-50b1 (W) (OPL2 compatible chip)
- 5083 (W) (used only at reset, maybe)
- 1000-10ff (W) ???
- 6000-67ff (W) ???
- 6800-6fff (W) Expansion video layer (used with ability)
-
----
-
-Timing:
-
-Game is synchronized with VBLANK. It uses IRQ & NMI interrupts.
-During a frame, there must be 4 IRQs and 4 NMIs in order to play
-to the correct speed.
-
----
-
-Notes about palette:
-Charset is 6 bit depth (thus 64 colors of granularity)
-Colortable is made up of 2 entries of 64 bytes for each palette,
-splitted, and colorinfo is stored to form the following word:
-
-xBBBBBGGGGGRRRRR (Bit 15 is never used)
-
----
-
-FIX: csk227it has video issues, as after Ability game, bg_tilemap is not reset
- so there must be some bg_enable command which I couldn't find, or rom is
- from a beta version which has transparency issues. This doesn't happen with
- csk234it or New Champion Skill.
- Insert credits with Key-In and press Pay-out to play ability game, and wait
- for attract-mode to show cubes (not cards), which are transparent and reveal
- background tilemap.
-
-FIX: PK Tetris have an input named AMUSE which I couldn't map. Maybe it is
- necessary for the Amuse game, because I can't understand how to play it.
-
-TODO:
-
-- Sets cpoker & cpokert spit 660K of whatever they have in the hopper when keyout...
-- Check if the cpoker sets still lock at some point due to protection.
-- Fix lamps to cpoker101.
-
-*****************************************************************************/
-
-#include "emu.h"
-#include "cpu/z80/z80.h"
-#include "machine/i8255.h"
-#include "machine/timer.h"
-#include "sound/ym2413.h"
-#include "sound/okim6295.h"
-#include "emupal.h"
-#include "screen.h"
-#include "speaker.h"
-#include "tilemap.h"
-
-#include "igspoker.lh"
-
-
-#define VERBOSE 0
-
-
-class igspoker_state : public driver_device
-{
-public:
- igspoker_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag)
- , m_maincpu(*this, "maincpu")
- , m_bg_tile_ram(*this, "bg_tile_ram")
- , m_fg_tile_ram(*this, "fg_tile_ram")
- , m_fg_color_ram(*this, "fg_color_ram")
- , m_gfxdecode(*this, "gfxdecode")
- , m_screen(*this, "screen")
- , m_palette(*this, "palette")
- , m_led(*this, "led0")
- , m_lamps(*this, "lamp%u", 1U)
- { }
-
- void csk234it(machine_config &config);
- void igs_ncs(machine_config &config);
- void csk227it(machine_config &config);
- void igspoker(machine_config &config);
- void pktetris(machine_config &config);
- void cpokerpk(machine_config &config);
- void number10(machine_config &config);
-
- void init_igs_ncs();
- void init_number10();
- void init_pktet346();
- void init_tet341();
- void init_cpokert();
- void init_cpoker101();
- void init_chleague();
- void init_cska();
- void init_cpoker();
- void init_cpoker300us();
- void init_igs_ncs2();
- void init_cpokerpk();
- void init_kungfu();
-
- DECLARE_READ_LINE_MEMBER(hopper_r);
-
-private:
- DECLARE_READ8_MEMBER(igs_irqack_r);
- DECLARE_WRITE8_MEMBER(igs_irqack_w);
- DECLARE_WRITE8_MEMBER(bg_tile_w);
- DECLARE_WRITE8_MEMBER(fg_tile_w);
- DECLARE_WRITE8_MEMBER(fg_color_w);
- DECLARE_WRITE8_MEMBER(igs_nmi_and_coins_w);
- DECLARE_WRITE8_MEMBER(igs_lamps_w);
- DECLARE_READ8_MEMBER(custom_io_r);
- DECLARE_WRITE8_MEMBER(custom_io_w);
- DECLARE_READ8_MEMBER(exp_rom_r);
- void show_out();
-
- TILE_GET_INFO_MEMBER(get_bg_tile_info);
- TILE_GET_INFO_MEMBER(get_fg_tile_info);
- DECLARE_VIDEO_START(cpokerpk);
- uint32_t screen_update_igs_video(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- uint32_t screen_update_cpokerpk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- TIMER_DEVICE_CALLBACK_MEMBER(igs_interrupt);
-
- void cpokerpk_io_map(address_map &map);
- void igspoker_io_map(address_map &map);
- void igspoker_prg_map(address_map &map);
- void number10_io_map(address_map &map);
-
- virtual void machine_start() override { m_led.resolve(); m_lamps.resolve(); }
- virtual void machine_reset() override;
- virtual void video_start() override;
-
- required_device<cpu_device> m_maincpu;
- optional_shared_ptr<uint8_t> m_bg_tile_ram;
- required_shared_ptr<uint8_t> m_fg_tile_ram;
- required_shared_ptr<uint8_t> m_fg_color_ram;
- required_device<gfxdecode_device> m_gfxdecode;
- required_device<screen_device> m_screen;
- required_device<palette_device> m_palette;
- output_finder<> m_led;
- output_finder<6> m_lamps;
- int m_nmi_enable;
- int m_bg_enable;
- int m_hopper;
- tilemap_t *m_fg_tilemap;
- tilemap_t *m_bg_tilemap;
- uint8_t m_out[3];
- uint8_t m_protection_res;
-};
-
-
-void igspoker_state::machine_reset()
-{
- m_nmi_enable = 0;
- m_hopper = 0;
- m_bg_enable = 1;
-}
-
-
-TIMER_DEVICE_CALLBACK_MEMBER(igspoker_state::igs_interrupt)
-{
- int scanline = param;
-
- if((scanline % 32) != 0)
- return;
-
- if((scanline % 64) == 32)
- m_maincpu->set_input_line(0, ASSERT_LINE);
-
- if((scanline % 64) == 0 && m_nmi_enable)
- m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero);
-}
-
-
-READ8_MEMBER(igspoker_state::igs_irqack_r)
-{
- m_maincpu->set_input_line(0, CLEAR_LINE);
- return 0;
-}
-
-WRITE8_MEMBER(igspoker_state::igs_irqack_w)
-{
-// m_maincpu->set_input_line(0, CLEAR_LINE);
-}
-
-
-TILE_GET_INFO_MEMBER(igspoker_state::get_bg_tile_info)
-{
- int code = m_bg_tile_ram[tile_index];
- SET_TILE_INFO_MEMBER(1 + (tile_index & 3), code, 0, 0);
-}
-
-TILE_GET_INFO_MEMBER(igspoker_state::get_fg_tile_info)
-{
- int code = m_fg_tile_ram[tile_index] | (m_fg_color_ram[tile_index] << 8);
- int tile = code & 0x1fff;
- SET_TILE_INFO_MEMBER(0, code, tile != 0x1fff ? ((code >> 12) & 0xe) + 1 : 0, 0);
-}
-
-WRITE8_MEMBER(igspoker_state::bg_tile_w)
-{
- m_bg_tile_ram[offset] = data;
- m_bg_tilemap->mark_tile_dirty(offset);
-}
-
-WRITE8_MEMBER(igspoker_state::fg_tile_w)
-{
- m_fg_tile_ram[offset] = data;
- m_fg_tilemap->mark_tile_dirty(offset);
-}
-
-WRITE8_MEMBER(igspoker_state::fg_color_w)
-{
- m_fg_color_ram[offset] = data;
- m_fg_tilemap->mark_tile_dirty(offset);
-}
-
-void igspoker_state::video_start()
-{
- m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(igspoker_state::get_fg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
- m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(igspoker_state::get_bg_tile_info)), TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
-
- m_fg_tilemap->set_transparent_pen(0);
-}
-
-uint32_t igspoker_state::screen_update_igs_video(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
-{
- bitmap.fill(m_palette->black_pen(), cliprect);
-
- // FIX: CSK227IT must have some way to disable background, or wrong gfx?
- if (m_bg_enable) m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
-
- m_fg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
-
- return 0;
-}
-
-VIDEO_START_MEMBER(igspoker_state,cpokerpk)
-{
- m_fg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(igspoker_state::get_fg_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
-}
-
-uint32_t igspoker_state::screen_update_cpokerpk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
-{
- m_fg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
-
- return 0;
-}
-
-
-void igspoker_state::show_out()
-{
-#ifdef MAME_DEBUG
- popmessage("%02x %02x", m_out[0], m_out[1]);
-#endif
-}
-
-WRITE8_MEMBER(igspoker_state::igs_nmi_and_coins_w)
-{
- machine().bookkeeping().coin_counter_w(0, data & 0x01); // coin_a
- machine().bookkeeping().coin_counter_w(1, data & 0x04); // coin_c
- machine().bookkeeping().coin_counter_w(2, data & 0x08); // key in
- machine().bookkeeping().coin_counter_w(3, data & 0x10); // coin m_out mech
-
- m_led = BIT(data, 5); // led for coin m_out / m_hopper active
-
- m_nmi_enable = data & 0x80; // nmi enable?
-#if VERBOSE
- logerror("PC %06X: NMI change %02x\n",m_maincpu->pc(),m_nmi_enable);
-#endif
-
- m_out[0] = data;
- show_out();
-}
-
-WRITE8_MEMBER(igspoker_state::igs_lamps_w)
-{
-/*
- - Lbits -
- 7654 3210
- =========
- ---- --x- Hold1 lamp.
- --x- ---- Hold2 lamp.
- ---x ---- Hold3 lamp.
- ---- x--- Hold4 lamp.
- ---- -x-- Hold5 lamp.
- ---- ---x Start lamp.
-
- cpokerx set has different layout:
-
- - Lbits -
- 7654 3210
- =========
- ---- ---x Start lamp.
-
- ---- ---x Hold1 lamp.
- ---- --x- Hold2 lamp.
- ---- -x-- Hold3 lamp.
- ---- x--- Hold4 lamp.
- ---x ---- Hold5 lamp.
- xx-- ---- one pulse once bet amount allows start.
-*/
- m_lamps[0] = BIT(data, 1); /* Lamp 1 - HOLD 1 */
- m_lamps[1] = BIT(data, 5); /* Lamp 2 - HOLD 2 */
- m_lamps[2] = BIT(data, 4); /* Lamp 3 - HOLD 3 */
- m_lamps[3] = BIT(data, 3); /* Lamp 4 - HOLD 4 */
- m_lamps[4] = BIT(data, 2); /* Lamp 5 - HOLD 5 */
- m_lamps[5] = BIT(data, 0); /* Lamp 6 - START */
-
- m_hopper = (~data)& 0x80;
-
- m_out[1] = data;
- show_out();
-}
-
-
-
-READ8_MEMBER(igspoker_state::custom_io_r)
-{
-#if VERBOSE
- logerror("PC %06X: Protection read %02x\n",m_maincpu->pc(), m_protection_res);
-#endif
- return m_protection_res;
-}
-
-WRITE8_MEMBER(igspoker_state::custom_io_w)
-{
-#if VERBOSE
- logerror("PC %06X: Protection write %02x\n",m_maincpu->pc(),data);
-#endif
-
- switch (data)
- {
- case 0x00: m_protection_res = ioport("BUTTONS1")->read(); break;
- // CSK227
- case 0x20: m_protection_res = 0x49; break;
- case 0x21: m_protection_res = 0x47; break;
- case 0x22: m_protection_res = 0x53; break;
- case 0x24: m_protection_res = 0x41; break;
- case 0x25: m_protection_res = 0x41; break;
- case 0x26: m_protection_res = 0x7f; break;
- case 0x27: m_protection_res = 0x41; break;
- case 0x28: m_protection_res = 0x41; break;
- case 0x2a: m_protection_res = 0x3e; break;
- case 0x2b: m_protection_res = 0x41; break;
- // CSK227 and NUMBER10
- case 0x2c: m_protection_res = 0x49; break;
- case 0x2d: m_protection_res = 0xf9; break;
- case 0x2e: m_protection_res = 0x0a; break;
- case 0x30: m_protection_res = 0x26; break;
- case 0x31: m_protection_res = 0x49; break;
- case 0x32: m_protection_res = 0x49; break;
- case 0x33: m_protection_res = 0x49; break;
- case 0x34: m_protection_res = 0x32; break;
- // NUMBER10
- case 0x60: m_protection_res = 0x30; break;
- case 0x61: m_protection_res = 0x31; break;
- case 0x62: m_protection_res = 0x3e; break;
- case 0x64: m_protection_res = 0x3c; break;
- case 0x65: m_protection_res = 0x31; break;
- case 0x66: m_protection_res = 0x39; break;
- case 0x67: m_protection_res = 0x33; break;
- case 0x68: m_protection_res = 0x35; break;
- case 0x6a: m_protection_res = 0x40; break;
- case 0x6b: m_protection_res = 0x43; break;
- default:
- m_protection_res = data;
- }
-}
-
-READ_LINE_MEMBER(igspoker_state::hopper_r)
-{
- if (m_hopper) return !(m_screen->frame_number()%10);
- return machine().input().code_pressed(KEYCODE_H);
-}
-
-READ8_MEMBER(igspoker_state::exp_rom_r)
-{
- uint8_t *rom = memregion("maincpu")->base();
- return rom[offset+0x10000];
-}
-
-void igspoker_state::igspoker_prg_map(address_map &map)
-{
- map(0x0000, 0xefff).rom();
- map(0xf000, 0xffff).ram().region("maincpu", 0xf000);
-}
-
-void igspoker_state::igspoker_io_map(address_map &map)
-{
- map(0x0000, 0xffff).r(FUNC(igspoker_state::exp_rom_r));
- map(0x2000, 0x27ff).ram().w(m_palette, FUNC(palette_device::write8)).share("palette");
- map(0x2800, 0x2fff).ram().w(m_palette, FUNC(palette_device::write8_ext)).share("palette_ext");
- map(0x4000, 0x4000).portr("DSW1"); /* DSW1 */
- map(0x4001, 0x4001).portr("DSW2"); /* DSW2 */
- map(0x4002, 0x4002).portr("DSW3"); /* DSW3 */
- map(0x4003, 0x4003).portr("DSW4"); /* DSW4 */
- map(0x4004, 0x4004).portr("DSW5"); /* DSW5 */
- map(0x5080, 0x5083).rw("ppi", FUNC(i8255_device::read), FUNC(i8255_device::write));
- map(0x5090, 0x5090).w(FUNC(igspoker_state::custom_io_w));
- map(0x5091, 0x5091).r(FUNC(igspoker_state::custom_io_r)).w(FUNC(igspoker_state::igs_lamps_w)); /* Keyboard */
- map(0x50a0, 0x50a0).portr("BUTTONS2"); /* Not connected */
- map(0x50b0, 0x50b1).w("ymsnd", FUNC(ym2413_device::write));
- map(0x50c0, 0x50c0).r(FUNC(igspoker_state::igs_irqack_r)).w(FUNC(igspoker_state::igs_irqack_w));
- map(0x6800, 0x6fff).ram().w(FUNC(igspoker_state::bg_tile_w)).share("bg_tile_ram");
- map(0x7000, 0x77ff).ram().w(FUNC(igspoker_state::fg_tile_w)).share("fg_tile_ram");
- map(0x7800, 0x7fff).ram().w(FUNC(igspoker_state::fg_color_w)).share("fg_color_ram");
-}
-
-
-/* MB: 05 Jun 99 Input ports and Dip switches are all verified! */
-
-static INPUT_PORTS_START( cpoker )
- PORT_START("DSW1")
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWA:8")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x06, 0x06, "Min Bet to Start" ) PORT_DIPLOCATION("SWA:7,6")
- PORT_DIPSETTING( 0x06, "1" )
- PORT_DIPSETTING( 0x04, "3" )
- PORT_DIPSETTING( 0x02, "5" )
- PORT_DIPSETTING( 0x00, "10" )
- PORT_DIPNAME( 0x18, 0x10, "Max Bet" ) PORT_DIPLOCATION("SWA:5,4")
- PORT_DIPSETTING( 0x18, "3" )
- PORT_DIPSETTING( 0x10, "5" )
- PORT_DIPSETTING( 0x08, "20" )
- PORT_DIPSETTING( 0x00, "40" )
- PORT_DIPNAME( 0x60, 0x60, "Min Bet to play Fever" ) PORT_DIPLOCATION("SWA:3,2")
- PORT_DIPSETTING( 0x60, "1" )
- PORT_DIPSETTING( 0x40, "5" )
- PORT_DIPSETTING( 0x20, "10" )
- PORT_DIPSETTING( 0x00, "20" )
- PORT_DIPNAME( 0x80, 0x00, "Credit Limit" ) PORT_DIPLOCATION("SWA:1")
- PORT_DIPSETTING( 0x80, "5000" )
- PORT_DIPSETTING( 0x00, "10000" )
-
- PORT_START("DSW2")
- PORT_DIPNAME( 0x07, 0x07, "Coin In Rate" ) PORT_DIPLOCATION("SWB:8,7,6")
- PORT_DIPSETTING( 0x07, "1" )
- PORT_DIPSETTING( 0x06, "2" )
- PORT_DIPSETTING( 0x05, "5" )
- PORT_DIPSETTING( 0x04, "10" )
- PORT_DIPSETTING( 0x03, "20" )
- PORT_DIPSETTING( 0x02, "40" )
- PORT_DIPSETTING( 0x01, "50" )
- PORT_DIPSETTING( 0x00, "100" )
- PORT_DIPNAME( 0x18, 0x18, "Key In Rate" ) PORT_DIPLOCATION("SWB:5,4")
- PORT_DIPSETTING( 0x18, "10" )
- PORT_DIPSETTING( 0x10, "20" )
- PORT_DIPSETTING( 0x08, "50" )
- PORT_DIPSETTING( 0x00, "100" )
- PORT_DIPNAME( 0x60, 0x60, "Key Out Rate" ) PORT_DIPLOCATION("SWB:3,2")
- PORT_DIPSETTING( 0x60, "1:1" )
- PORT_DIPSETTING( 0x40, "10:1" )
- PORT_DIPSETTING( 0x20, "100:1" )
- PORT_DIPSETTING( 0x00, "100:1" )
- PORT_DIPNAME( 0x80, 0x80, "Payout" ) PORT_DIPLOCATION("SWB:1")
- PORT_DIPSETTING( 0x80, "Manual" )
- PORT_DIPSETTING( 0x00, "Auto" )
-
- PORT_START("DSW3")
- PORT_DIPNAME( 0x01, 0x01, "W-UP Bonus Target" ) PORT_DIPLOCATION("SWC:8")
- PORT_DIPSETTING( 0x01, "3000" )
- PORT_DIPSETTING( 0x00, "5000" )
- PORT_DIPNAME( 0x02, 0x02, "W-UP Bonus Rate" ) PORT_DIPLOCATION("SWC:7")
- PORT_DIPSETTING( 0x02, "300" )
- PORT_DIPSETTING( 0x00, "500" )
- PORT_DIPNAME( 0x0c, 0x0c, "W-UP Chance" ) PORT_DIPLOCATION("SWC:6,5")
- PORT_DIPSETTING( 0x0c, "94%" )
- PORT_DIPSETTING( 0x08, "96%" )
- PORT_DIPSETTING( 0x04, "98%" )
- PORT_DIPSETTING( 0x00, "100%" )
- PORT_DIPNAME( 0x30, 0x20, "W-UP Type" ) PORT_DIPLOCATION("SWC:4,3")
- PORT_DIPSETTING( 0x30, DEF_STR( None ) )
- PORT_DIPSETTING( 0x20, "High-Low" )
- PORT_DIPSETTING( 0x10, "Red-Black" ) /* Bit 4 is equal for ON/OFF */
- PORT_DIPNAME( 0x40, 0x00, "Strip Girl" ) PORT_DIPLOCATION("SWC:2")
- PORT_DIPSETTING( 0x40, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x80, 0x00, "Anytime Key-in" ) PORT_DIPLOCATION("SWC:1")
- PORT_DIPSETTING( 0x80, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
-
- PORT_START("DSW4")
- PORT_DIPNAME( 0x0f, 0x07, "Main Game Chance" ) PORT_DIPLOCATION("SWD:8,7,6,5")
- PORT_DIPSETTING( 0x0f, "69%" )
- PORT_DIPSETTING( 0x0e, "72%" )
- PORT_DIPSETTING( 0x0d, "75%" )
- PORT_DIPSETTING( 0x0c, "78%" )
- PORT_DIPSETTING( 0x0b, "81%" )
- PORT_DIPSETTING( 0x0a, "83%" )
- PORT_DIPSETTING( 0x09, "85%" )
- PORT_DIPSETTING( 0x08, "87%" )
- PORT_DIPSETTING( 0x07, "89%" )
- PORT_DIPSETTING( 0x06, "91%" )
- PORT_DIPSETTING( 0x05, "93%" )
- PORT_DIPSETTING( 0x04, "95%" )
- PORT_DIPSETTING( 0x03, "97%" )
- PORT_DIPSETTING( 0x02, "99%" )
- PORT_DIPSETTING( 0x01, "101%" )
- PORT_DIPSETTING( 0x00, "103%" )
- PORT_DIPNAME( 0x10, 0x00, "Five Jokers" ) PORT_DIPLOCATION("SWD:4")
- PORT_DIPSETTING( 0x10, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x20, 0x00, "Royal Flush" ) PORT_DIPLOCATION("SWD:3")
- PORT_DIPSETTING( 0x20, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x40, 0x00, "Auto Hold" ) PORT_DIPLOCATION("SWD:2")
- PORT_DIPSETTING( 0x40, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x80, 0x00, "Hopper" ) PORT_DIPLOCATION("SWD:1")
- PORT_DIPSETTING( 0x80, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
-
- PORT_START("DSW5")
- PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("SERVICE")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(igspoker_state, hopper_r) PORT_NAME("HPSW") // hopper sensor
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT )
- PORT_SERVICE_NO_TOGGLE( 0x20, IP_ACTIVE_LOW )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Statistics")
-
- PORT_START("COINS")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Down")
- PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("BUTTONS1")
- PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
-
- PORT_START("BUTTONS2")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / Low / Black")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Bet")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Take")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / W-Up")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / High / Red")
- PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( cpokerx )
- PORT_START("DSW1")
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWA:8")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x06, 0x06, "Min Bet to Start" ) PORT_DIPLOCATION("SWA:7,6")
- PORT_DIPSETTING( 0x06, "1" )
- PORT_DIPSETTING( 0x04, "3" )
- PORT_DIPSETTING( 0x02, "5" )
- PORT_DIPSETTING( 0x00, "10" )
- PORT_DIPNAME( 0x18, 0x10, "Max Bet" ) PORT_DIPLOCATION("SWA:5,4")
- PORT_DIPSETTING( 0x18, "3" )
- PORT_DIPSETTING( 0x10, "5" )
- PORT_DIPSETTING( 0x08, "20" )
- PORT_DIPSETTING( 0x00, "40" )
- PORT_DIPNAME( 0x60, 0x60, "Min Bet to play Fever" ) PORT_DIPLOCATION("SWA:3,2")
- PORT_DIPSETTING( 0x60, "1" )
- PORT_DIPSETTING( 0x40, "5" )
- PORT_DIPSETTING( 0x20, "10" )
- PORT_DIPSETTING( 0x00, "20" )
- PORT_DIPNAME( 0x80, 0x00, "Credit Limit" ) PORT_DIPLOCATION("SWA:1")
- PORT_DIPSETTING( 0x80, "5000" )
- PORT_DIPSETTING( 0x00, "10000" )
-
- PORT_START("DSW2")
- PORT_DIPNAME( 0x07, 0x07, "Coin In Rate" ) PORT_DIPLOCATION("SWB:8,7,6")
- PORT_DIPSETTING( 0x07, "1" )
- PORT_DIPSETTING( 0x06, "2" )
- PORT_DIPSETTING( 0x05, "5" )
- PORT_DIPSETTING( 0x04, "10" )
- PORT_DIPSETTING( 0x03, "20" )
- PORT_DIPSETTING( 0x02, "40" )
- PORT_DIPSETTING( 0x01, "50" )
- PORT_DIPSETTING( 0x00, "100" )
- PORT_DIPNAME( 0x18, 0x18, "Key In Rate" ) PORT_DIPLOCATION("SWB:5,4")
- PORT_DIPSETTING( 0x18, "10" )
- PORT_DIPSETTING( 0x10, "20" )
- PORT_DIPSETTING( 0x08, "50" )
- PORT_DIPSETTING( 0x00, "100" )
- PORT_DIPNAME( 0x60, 0x60, "Key Out Rate" ) PORT_DIPLOCATION("SWB:3,2")
- PORT_DIPSETTING( 0x60, "1:1" )
- PORT_DIPSETTING( 0x40, "10:1" )
- PORT_DIPSETTING( 0x20, "100:1" )
- PORT_DIPSETTING( 0x00, "100:1" )
- PORT_DIPNAME( 0x80, 0x80, "Payout" ) PORT_DIPLOCATION("SWB:1")
- PORT_DIPSETTING( 0x80, "Manual" )
- PORT_DIPSETTING( 0x00, "Auto" )
-
- PORT_START("DSW3")
- PORT_DIPNAME( 0x01, 0x01, "W-UP Bonus Target" ) PORT_DIPLOCATION("SWC:8")
- PORT_DIPSETTING( 0x01, "3000" )
- PORT_DIPSETTING( 0x00, "5000" )
- PORT_DIPNAME( 0x02, 0x02, "W-UP Bonus Rate" ) PORT_DIPLOCATION("SWC:7")
- PORT_DIPSETTING( 0x02, "300" )
- PORT_DIPSETTING( 0x00, "500" )
- PORT_DIPNAME( 0x0c, 0x0c, "W-UP Chance" ) PORT_DIPLOCATION("SWC:6,5")
- PORT_DIPSETTING( 0x0c, "94%" )
- PORT_DIPSETTING( 0x08, "96%" )
- PORT_DIPSETTING( 0x04, "98%" )
- PORT_DIPSETTING( 0x00, "100%" )
- PORT_DIPNAME( 0x30, 0x20, "W-UP Type" ) PORT_DIPLOCATION("SWC:4,3")
- PORT_DIPSETTING( 0x30, DEF_STR( None ) )
- PORT_DIPSETTING( 0x20, "High-Low" )
- PORT_DIPSETTING( 0x10, "Red-Black" ) /* Bit 4 is equal for ON/OFF */
- PORT_DIPNAME( 0x40, 0x00, "Strip Girl" ) PORT_DIPLOCATION("SWC:2")
- PORT_DIPSETTING( 0x40, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x80, 0x00, "Anytime Key-in" ) PORT_DIPLOCATION("SWC:1")
- PORT_DIPSETTING( 0x80, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
-
- PORT_START("DSW4")
- PORT_DIPNAME( 0x0f, 0x07, "Main Game Chance" ) PORT_DIPLOCATION("SWD:8,7,6,5")
- PORT_DIPSETTING( 0x0f, "69%" )
- PORT_DIPSETTING( 0x0e, "72%" )
- PORT_DIPSETTING( 0x0d, "75%" )
- PORT_DIPSETTING( 0x0c, "78%" )
- PORT_DIPSETTING( 0x0b, "81%" )
- PORT_DIPSETTING( 0x0a, "83%" )
- PORT_DIPSETTING( 0x09, "85%" )
- PORT_DIPSETTING( 0x08, "87%" )
- PORT_DIPSETTING( 0x07, "89%" )
- PORT_DIPSETTING( 0x06, "91%" )
- PORT_DIPSETTING( 0x05, "93%" )
- PORT_DIPSETTING( 0x04, "95%" )
- PORT_DIPSETTING( 0x03, "97%" )
- PORT_DIPSETTING( 0x02, "99%" )
- PORT_DIPSETTING( 0x01, "101%" )
- PORT_DIPSETTING( 0x00, "103%" )
- PORT_DIPNAME( 0x10, 0x00, "Five Jokers" ) PORT_DIPLOCATION("SWD:4")
- PORT_DIPSETTING( 0x10, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x20, 0x00, "Royal Flush" ) PORT_DIPLOCATION("SWD:3")
- PORT_DIPSETTING( 0x20, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x40, 0x00, "Auto Hold" ) PORT_DIPLOCATION("SWD:2")
- PORT_DIPSETTING( 0x40, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x80, 0x00, "Hopper" ) PORT_DIPLOCATION("SWD:1")
- PORT_DIPSETTING( 0x80, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
-
- PORT_START("DSW5")
- PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("SERVICE")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Attendent")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(igspoker_state, hopper_r) PORT_NAME("HPSW") // hopper sensor
- 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_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Operator")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("COINS")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("BUTTONS1")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1")
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Low / Black")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / High / Red")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Bet")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START("BUTTONS2")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( csk227 )
- PORT_START("DSW1")
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWA:8")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x06, 0x06, "Min Bet to Start" ) PORT_DIPLOCATION("SWA:6,7")
- PORT_DIPSETTING( 0x06, "1" )
- PORT_DIPSETTING( 0x04, "3" )
- PORT_DIPSETTING( 0x02, "5" )
- PORT_DIPSETTING( 0x00, "10" )
- PORT_DIPNAME( 0x18, 0x18, "Max Bet" ) PORT_DIPLOCATION("SWA:4,5")
- PORT_DIPSETTING( 0x18, "10" )
- PORT_DIPSETTING( 0x10, "20" )
- PORT_DIPSETTING( 0x08, "50" )
- PORT_DIPSETTING( 0x00, "100" )
- PORT_DIPNAME( 0x60, 0x60, "Min Bet to play Fever" ) PORT_DIPLOCATION("SWA:2,3")
- PORT_DIPSETTING( 0x60, "1" )
- PORT_DIPSETTING( 0x40, "5" )
- PORT_DIPSETTING( 0x20, "10" )
- PORT_DIPSETTING( 0x00, "20" )
- PORT_DIPNAME( 0x80, 0x00, "Credit Limit" ) PORT_DIPLOCATION("SWA:1")
- PORT_DIPSETTING( 0x80, "100000" )
- PORT_DIPSETTING( 0x00, "Unlimited" )
-
- PORT_START("DSW2")
- PORT_DIPNAME( 0x07, 0x07, "Coin In Rate" ) PORT_DIPLOCATION("SWB:8,7,6")
- PORT_DIPSETTING( 0x07, "1" )
- PORT_DIPSETTING( 0x06, "2" )
- PORT_DIPSETTING( 0x05, "5" )
- PORT_DIPSETTING( 0x04, "10" )
- PORT_DIPSETTING( 0x03, "20" )
- PORT_DIPSETTING( 0x02, "40" )
- PORT_DIPSETTING( 0x01, "50" )
- PORT_DIPSETTING( 0x00, "100" )
- PORT_DIPNAME( 0x18, 0x18, "Key In Rate" ) PORT_DIPLOCATION("SWB:5,4")
- PORT_DIPSETTING( 0x18, "10" )
- PORT_DIPSETTING( 0x10, "20" )
- PORT_DIPSETTING( 0x08, "50" )
- PORT_DIPSETTING( 0x00, "100" )
- PORT_DIPNAME( 0x60, 0x60, "W-UP Bonus Target" ) PORT_DIPLOCATION("SWB:3,2")
- PORT_DIPSETTING( 0x60, "1500" )
- PORT_DIPSETTING( 0x40, "3000" )
- PORT_DIPSETTING( 0x20, "5000" )
- PORT_DIPSETTING( 0x00, "7500" )
- PORT_DIPNAME( 0x80, 0x80, "Payout" ) PORT_DIPLOCATION("SWB:1")
- PORT_DIPSETTING( 0x80, "Manual" )
- PORT_DIPSETTING( 0x00, "Auto" )
-
- PORT_START("DSW3")
- PORT_DIPNAME( 0x03, 0x03, "W-UP Bonus Rate" ) PORT_DIPLOCATION("SWC:8,7")
- PORT_DIPSETTING( 0x03, "200" )
- PORT_DIPSETTING( 0x02, "300" )
- PORT_DIPSETTING( 0x01, "500" )
- PORT_DIPSETTING( 0x00, "800" )
- PORT_DIPNAME( 0x0c, 0x0c, "W-UP Chance" ) PORT_DIPLOCATION("SWC:6,5")
- PORT_DIPSETTING( 0x0c, "94%" )
- PORT_DIPSETTING( 0x08, "96%" )
- PORT_DIPSETTING( 0x04, "98%" )
- PORT_DIPSETTING( 0x00, "100%" )
- PORT_DIPNAME( 0x30, 0x20, "W-UP Type" ) PORT_DIPLOCATION("SWC:4,3")
- PORT_DIPSETTING( 0x30, DEF_STR( None ) )
- PORT_DIPSETTING( 0x20, "High-Low" )
- PORT_DIPSETTING( 0x10, "Red-Black" ) /* Bit 4 is equal for ON/OFF */
- PORT_DIPNAME( 0x40, 0x00, "Strip Girl" ) PORT_DIPLOCATION("SWC:2")
- PORT_DIPSETTING( 0x40, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x80, 0x00, "Ability" ) PORT_DIPLOCATION("SWC:1")
- PORT_DIPSETTING( 0x80, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
-
- PORT_START("DSW4")
- PORT_DIPNAME( 0x0f, 0x07, "Main Game Chance" ) PORT_DIPLOCATION("SWD:8,7,6,5")
- PORT_DIPSETTING( 0x0f, "69%" )
- PORT_DIPSETTING( 0x0e, "72%" )
- PORT_DIPSETTING( 0x0d, "75%" )
- PORT_DIPSETTING( 0x0c, "78%" )
- PORT_DIPSETTING( 0x0b, "81%" )
- PORT_DIPSETTING( 0x0a, "83%" )
- PORT_DIPSETTING( 0x09, "85%" )
- PORT_DIPSETTING( 0x08, "87%" )
- PORT_DIPSETTING( 0x07, "89%" )
- PORT_DIPSETTING( 0x06, "91%" )
- PORT_DIPSETTING( 0x05, "93%" )
- PORT_DIPSETTING( 0x04, "95%" )
- PORT_DIPSETTING( 0x03, "97%" )
- PORT_DIPSETTING( 0x02, "99%" )
- PORT_DIPSETTING( 0x01, "101%" )
- PORT_DIPSETTING( 0x00, "103%" )
- PORT_DIPNAME( 0x10, 0x00, "Five Jokers" ) PORT_DIPLOCATION("SWD:4")
- PORT_DIPSETTING( 0x10, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x20, 0x00, "Royal Flush" ) PORT_DIPLOCATION("SWD:3")
- PORT_DIPSETTING( 0x20, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x40, 0x00, "Auto Hold" ) PORT_DIPLOCATION("SWD:2")
- PORT_DIPSETTING( 0x40, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x80, 0x80, "Payout Select" ) PORT_DIPLOCATION("SWD:1")
- PORT_DIPSETTING( 0x80, "Ticket" )
- PORT_DIPSETTING( 0x00, "Hopper" )
-
- PORT_START("DSW5")
- PORT_DIPNAME( 0x07, 0x07, "Key Out Rate" ) PORT_DIPLOCATION("SWE:8,7,6")
- PORT_DIPSETTING( 0x07, "1:1" )
- PORT_DIPSETTING( 0x06, "10:1" )
- PORT_DIPSETTING( 0x05, "20:1" )
- PORT_DIPSETTING( 0x04, "50:1" )
- PORT_DIPSETTING( 0x03, "100:1" ) /* Bits 1-0 are all equivalents */
- PORT_DIPNAME( 0x08, 0x00, "Card Select" ) PORT_DIPLOCATION("SWE:5")
- PORT_DIPSETTING( 0x08, "Poker" )
- PORT_DIPSETTING( 0x00, "Tetris" )
- PORT_DIPNAME( 0x70, 0x70, "Ticket Rate" ) PORT_DIPLOCATION("SWE:4,3,2")
- PORT_DIPSETTING( 0x70, "1:1" )
- PORT_DIPSETTING( 0x60, "5:1" )
- PORT_DIPSETTING( 0x50, "10:1" )
- PORT_DIPSETTING( 0x40, "20:1" )
- PORT_DIPSETTING( 0x30, "25:1" )
- PORT_DIPSETTING( 0x20, "50:1" )
- PORT_DIPSETTING( 0x10, "100:1" )
- PORT_DIPSETTING( 0x00, "200:1" )
- PORT_DIPNAME( 0x80, 0x80, "Win Table" ) PORT_DIPLOCATION("SWE:1")
- PORT_DIPSETTING( 0x80, "Change" )
- PORT_DIPSETTING( 0x00, "Fixed" )
-
- PORT_START("SERVICE")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(igspoker_state, hopper_r) PORT_NAME("HPSW") // hopper sensor
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT )
- PORT_SERVICE_NO_TOGGLE( 0x20, IP_ACTIVE_LOW )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Statistics")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Bet")
-
- PORT_START("COINS")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Down")
- PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Take")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / W-Up")
-
- PORT_START("BUTTONS1")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNUSED )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / High / Low")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Red / Black")
-
- PORT_START("BUTTONS2")
- PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
-INPUT_PORTS_END
-
-
-static INPUT_PORTS_START( csk234 )
- PORT_START("DSW1")
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWA:8")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x06, 0x06, "Min Bet to Start" ) PORT_DIPLOCATION("SWA:7,6")
- PORT_DIPSETTING( 0x06, "1" )
- PORT_DIPSETTING( 0x04, "3" )
- PORT_DIPSETTING( 0x02, "5" )
- PORT_DIPSETTING( 0x00, "10" )
- PORT_DIPNAME( 0x18, 0x10, "Max Bet" ) PORT_DIPLOCATION("SWA:5,4")
- PORT_DIPSETTING( 0x18, "3" )
- PORT_DIPSETTING( 0x10, "5" )
- PORT_DIPSETTING( 0x08, "20" )
- PORT_DIPSETTING( 0x00, "40" )
- PORT_DIPNAME( 0x60, 0x60, "Min Bet to play Fever" ) PORT_DIPLOCATION("SWA:3,2")
- PORT_DIPSETTING( 0x60, "1" )
- PORT_DIPSETTING( 0x40, "5" )
- PORT_DIPSETTING( 0x20, "10" )
- PORT_DIPSETTING( 0x00, "20" )
- PORT_DIPNAME( 0x80, 0x00, "Credit Limit" ) PORT_DIPLOCATION("SWA:1")
- PORT_DIPSETTING( 0x80, "5000" )
- PORT_DIPSETTING( 0x00, "10000" )
-
- PORT_START("DSW2")
- PORT_DIPNAME( 0x07, 0x07, "Coin In Rate" ) PORT_DIPLOCATION("SWB:8,7,6")
- PORT_DIPSETTING( 0x07, "1" )
- PORT_DIPSETTING( 0x06, "2" )
- PORT_DIPSETTING( 0x05, "5" )
- PORT_DIPSETTING( 0x04, "10" )
- PORT_DIPSETTING( 0x03, "20" )
- PORT_DIPSETTING( 0x02, "40" )
- PORT_DIPSETTING( 0x01, "50" )
- PORT_DIPSETTING( 0x00, "100" )
- PORT_DIPNAME( 0x18, 0x18, "Key In Rate" ) PORT_DIPLOCATION("SWB:5,4")
- PORT_DIPSETTING( 0x18, "10" )
- PORT_DIPSETTING( 0x10, "20" )
- PORT_DIPSETTING( 0x08, "50" )
- PORT_DIPSETTING( 0x00, "100" )
- PORT_DIPNAME( 0x60, 0x60, "Key Out Rate" ) PORT_DIPLOCATION("SWB:3,2")
- PORT_DIPSETTING( 0x60, "1:1" )
- PORT_DIPSETTING( 0x40, "10:1" )
- PORT_DIPSETTING( 0x20, "100:1" )
- PORT_DIPSETTING( 0x00, "100:1" )
- PORT_DIPNAME( 0x80, 0x80, "Payout" ) PORT_DIPLOCATION("SWB:1")
- PORT_DIPSETTING( 0x80, "Manual" )
- PORT_DIPSETTING( 0x00, "Auto" )
-
- PORT_START("DSW3")
- PORT_DIPNAME( 0x01, 0x01, "W-UP Bonus Target" ) PORT_DIPLOCATION("SWC:8")
- PORT_DIPSETTING( 0x01, "3000" )
- PORT_DIPSETTING( 0x00, "5000" )
- PORT_DIPNAME( 0x02, 0x02, "W-UP Bonus Rate" ) PORT_DIPLOCATION("SWC:7")
- PORT_DIPSETTING( 0x02, "300" )
- PORT_DIPSETTING( 0x00, "500" )
- PORT_DIPNAME( 0x0c, 0x0c, "W-UP Chance" ) PORT_DIPLOCATION("SWC:6,5")
- PORT_DIPSETTING( 0x0c, "94%" )
- PORT_DIPSETTING( 0x08, "96%" )
- PORT_DIPSETTING( 0x04, "98%" )
- PORT_DIPSETTING( 0x00, "100%" )
- PORT_DIPNAME( 0x30, 0x20, "W-UP Type" ) PORT_DIPLOCATION("SWC:4,3")
- PORT_DIPSETTING( 0x30, DEF_STR( None ) )
- PORT_DIPSETTING( 0x20, "High-Low" )
- PORT_DIPSETTING( 0x10, "Red-Black" ) /* Bit 4 is equal for ON/OFF */
- PORT_DIPNAME( 0x40, 0x40, "Card Select" ) PORT_DIPLOCATION("SWC:2")
- PORT_DIPSETTING( 0x40, "Poker" )
- PORT_DIPSETTING( 0x00, "Symbols" )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("DSW4")
- PORT_DIPNAME( 0x0f, 0x07, "Main Game Chance" ) PORT_DIPLOCATION("SWD:8,7,6,5")
- PORT_DIPSETTING( 0x0f, "69%" )
- PORT_DIPSETTING( 0x0e, "72%" )
- PORT_DIPSETTING( 0x0d, "75%" )
- PORT_DIPSETTING( 0x0c, "78%" )
- PORT_DIPSETTING( 0x0b, "81%" )
- PORT_DIPSETTING( 0x0a, "83%" )
- PORT_DIPSETTING( 0x09, "85%" )
- PORT_DIPSETTING( 0x08, "87%" )
- PORT_DIPSETTING( 0x07, "89%" )
- PORT_DIPSETTING( 0x06, "91%" )
- PORT_DIPSETTING( 0x05, "93%" )
- PORT_DIPSETTING( 0x04, "95%" )
- PORT_DIPSETTING( 0x03, "97%" )
- PORT_DIPSETTING( 0x02, "99%" )
- PORT_DIPSETTING( 0x01, "101%" )
- PORT_DIPSETTING( 0x00, "103%" )
- PORT_DIPNAME( 0x10, 0x00, "Auto Hold" ) PORT_DIPLOCATION("SWD:4")
- PORT_DIPSETTING( 0x10, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x20, 0x00, "Anytime Key-in" ) PORT_DIPLOCATION("SWD:3")
- PORT_DIPSETTING( 0x20, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_BIT( 0xC0, IP_ACTIVE_LOW, IPT_UNUSED ) /* Joker and Royal Flush are always enabled */
-
- PORT_START("DSW5")
- PORT_DIPNAME( 0x01, 0x00, "Hopper" ) PORT_DIPLOCATION("SWE:8")
- PORT_DIPSETTING( 0x01, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x02, 0x00, "Payout Select" ) PORT_DIPLOCATION("SWE:7")
- PORT_DIPSETTING( 0x02, "Hopper" )
- PORT_DIPSETTING( 0x00, "Ticket" )
- PORT_DIPNAME( 0x0c, 0x0c, "Ticket Rate" ) PORT_DIPLOCATION("SWE:6,5")
- PORT_DIPSETTING( 0x0c, "10:1" )
- PORT_DIPSETTING( 0x08, "20:1" )
- PORT_DIPSETTING( 0x04, "50:1" )
- PORT_DIPSETTING( 0x00, "100:1" )
- PORT_DIPNAME( 0x10, 0x00, "Ability" ) PORT_DIPLOCATION("SWE:4")
- PORT_DIPSETTING( 0x10, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("SERVICE")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(igspoker_state, hopper_r) PORT_NAME("HPSW") // hopper sensor
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT )
- PORT_SERVICE_NO_TOGGLE( 0x20, IP_ACTIVE_LOW )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Statistics")
-
- PORT_START("COINS")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Down")
- PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("BUTTONS1")
- PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
-
- PORT_START("BUTTONS2")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / High / Low")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Bet")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Take")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / W-Up")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Red / Black")
- PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
-INPUT_PORTS_END
-
-
-static INPUT_PORTS_START( igs_ncs )
- PORT_START("DSW1")
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWA:8")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x06, 0x06, "Min Bet to Start" ) PORT_DIPLOCATION("SWA:7,6")
- PORT_DIPSETTING( 0x06, "1" )
- PORT_DIPSETTING( 0x04, "3" )
- PORT_DIPSETTING( 0x02, "5" )
- PORT_DIPSETTING( 0x00, "10" )
- PORT_DIPNAME( 0x18, 0x10, "Max Bet" ) PORT_DIPLOCATION("SWA:5,4")
- PORT_DIPSETTING( 0x18, "10" )
- PORT_DIPSETTING( 0x10, "20" )
- PORT_DIPSETTING( 0x08, "40" )
- PORT_DIPSETTING( 0x00, "200" )
- PORT_DIPNAME( 0x60, 0x60, "Min Bet to play Fever" ) PORT_DIPLOCATION("SWA:3,2")
- PORT_DIPSETTING( 0x60, "1" )
- PORT_DIPSETTING( 0x40, "5" )
- PORT_DIPSETTING( 0x20, "10" )
- PORT_DIPSETTING( 0x00, "20" )
- PORT_DIPNAME( 0x80, 0x00, "Credit Limit" ) PORT_DIPLOCATION("SWA:1")
- PORT_DIPSETTING( 0x80, "100000" )
- PORT_DIPSETTING( 0x00, "Unlimited" )
-
- PORT_START("DSW2")
- PORT_DIPNAME( 0x07, 0x07, "Coin In Rate" ) PORT_DIPLOCATION("SWB:8,7,6")
- PORT_DIPSETTING( 0x07, "1" )
- PORT_DIPSETTING( 0x06, "2" )
- PORT_DIPSETTING( 0x05, "5" )
- PORT_DIPSETTING( 0x04, "10" )
- PORT_DIPSETTING( 0x03, "20" )
- PORT_DIPSETTING( 0x02, "40" )
- PORT_DIPSETTING( 0x01, "50" )
- PORT_DIPSETTING( 0x00, "100" )
- PORT_DIPNAME( 0x18, 0x18, "Key In Rate" ) PORT_DIPLOCATION("SWB:5,4")
- PORT_DIPSETTING( 0x18, "10" )
- PORT_DIPSETTING( 0x10, "20" )
- PORT_DIPSETTING( 0x08, "50" )
- PORT_DIPSETTING( 0x00, "100" )
- PORT_DIPNAME( 0x60, 0x60, "W-UP Limit" ) PORT_DIPLOCATION("SWB:3,2")
- PORT_DIPSETTING( 0x60, "1500" )
- PORT_DIPSETTING( 0x40, "3000" )
- PORT_DIPSETTING( 0x20, "5000" )
- PORT_DIPSETTING( 0x00, "7500" )
- PORT_DIPNAME( 0x80, 0x80, "Payout" ) PORT_DIPLOCATION("SWB:1")
- PORT_DIPSETTING( 0x80, "Manual" )
- PORT_DIPSETTING( 0x00, "Auto" )
-
- PORT_START("DSW3")
- PORT_DIPNAME( 0x03, 0x03, "W-UP Pool" ) PORT_DIPLOCATION("SWC:8,7")
- PORT_DIPSETTING( 0x03, "200" )
- PORT_DIPSETTING( 0x02, "300" )
- PORT_DIPSETTING( 0x01, "500" )
- PORT_DIPSETTING( 0x00, "800" )
- PORT_DIPNAME( 0x0c, 0x0c, "W-UP Chance" ) PORT_DIPLOCATION("SWC:6,5")
- PORT_DIPSETTING( 0x0c, "94%" )
- PORT_DIPSETTING( 0x08, "96%" )
- PORT_DIPSETTING( 0x04, "98%" )
- PORT_DIPSETTING( 0x00, "100%" )
- PORT_DIPNAME( 0x30, 0x20, "W-UP Type" ) PORT_DIPLOCATION("SWC:4,3")
- PORT_DIPSETTING( 0x30, DEF_STR( None ) )
- PORT_DIPSETTING( 0x20, "High-Low" )
- PORT_DIPSETTING( 0x10, "Red-Black" ) /* Bit 4 is equal for ON/OFF */
- PORT_DIPNAME( 0x40, 0x40, "Ability Pay" ) PORT_DIPLOCATION("SWC:2")
- PORT_DIPSETTING( 0x40, "All" )
- PORT_DIPSETTING( 0x00, "1/Time" )
- PORT_DIPNAME( 0x80, 0x80, "Ability" ) PORT_DIPLOCATION("SWC:1")
- PORT_DIPSETTING( 0x80, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
-
- PORT_START("DSW4")
- PORT_DIPNAME( 0x0f, 0x07, "Main Game Chance" ) PORT_DIPLOCATION("SWD:8,7,6,5")
- PORT_DIPSETTING( 0x0f, "69%" )
- PORT_DIPSETTING( 0x0e, "72%" )
- PORT_DIPSETTING( 0x0d, "75%" )
- PORT_DIPSETTING( 0x0c, "78%" )
- PORT_DIPSETTING( 0x0b, "81%" )
- PORT_DIPSETTING( 0x0a, "83%" )
- PORT_DIPSETTING( 0x09, "85%" )
- PORT_DIPSETTING( 0x08, "87%" )
- PORT_DIPSETTING( 0x07, "89%" )
- PORT_DIPSETTING( 0x06, "91%" )
- PORT_DIPSETTING( 0x05, "93%" )
- PORT_DIPSETTING( 0x04, "95%" )
- PORT_DIPSETTING( 0x03, "97%" )
- PORT_DIPSETTING( 0x02, "99%" )
- PORT_DIPSETTING( 0x01, "101%" )
- PORT_DIPSETTING( 0x00, "103%" )
- PORT_DIPNAME( 0x10, 0x00, "Five Jokers" ) PORT_DIPLOCATION("SWD:4")
- PORT_DIPSETTING( 0x10, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x20, 0x00, "Royal Flush" ) PORT_DIPLOCATION("SWD:3")
- PORT_DIPSETTING( 0x20, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x40, 0x00, "Auto Hold" ) PORT_DIPLOCATION("SWD:2")
- PORT_DIPSETTING( 0x40, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x80, 0x00, "Hopper" ) PORT_DIPLOCATION("SWD:1")
- PORT_DIPSETTING( 0x80, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
-
- PORT_START("DSW5")
- PORT_DIPNAME( 0x07, 0x07, "Key Out Rate" ) PORT_DIPLOCATION("SWE:8,7,6")
- PORT_DIPSETTING( 0x07, "1:1" )
- PORT_DIPSETTING( 0x06, "10:1" )
- PORT_DIPSETTING( 0x05, "20:1" )
- PORT_DIPSETTING( 0x04, "50:1" )
- PORT_DIPSETTING( 0x03, "100:1" ) /* latest 4 is 100 for ON/OFF */
- PORT_DIPNAME( 0x08, 0x08, "Card Select" ) PORT_DIPLOCATION("SWE:5")
- PORT_DIPSETTING( 0x08, "Poker" )
- PORT_DIPSETTING( 0x00, "Symbols" )
- PORT_DIPNAME( 0x70, 0x70, "Ticket Rate" ) PORT_DIPLOCATION("SWE:4,3,2")
- PORT_DIPSETTING( 0x70, "1:1" )
- PORT_DIPSETTING( 0x60, "5:1" )
- PORT_DIPSETTING( 0x50, "10:1" )
- PORT_DIPSETTING( 0x40, "20:1" )
- PORT_DIPSETTING( 0x30, "25:1" )
- PORT_DIPSETTING( 0x20, "50:1" )
- PORT_DIPSETTING( 0x10, "100:1" )
- PORT_DIPSETTING( 0x00, "200:1" )
- PORT_DIPNAME( 0x80, 0x00, "Oddstab Fixed" ) PORT_DIPLOCATION("SWE:1")
- PORT_DIPSETTING( 0x80, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
-
- PORT_START("SERVICE")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(igspoker_state, hopper_r) PORT_NAME("HPSW") // hopper sensor
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT )
- PORT_SERVICE_NO_TOGGLE( 0x20, IP_ACTIVE_LOW )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Statistics")
-
- PORT_START("COINS")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Down")
- PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("BUTTONS1")
- PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
-
- PORT_START("BUTTONS2")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / High / Low")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Bet")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Take")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / W-Up")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Red / Black")
- PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
-INPUT_PORTS_END
-
-
-void igspoker_state::number10_io_map(address_map &map)
-{
- map(0x0000, 0xffff).r(FUNC(igspoker_state::exp_rom_r));
- map(0x2000, 0x27ff).ram().w(m_palette, FUNC(palette_device::write8)).share("palette");
- map(0x2800, 0x2fff).ram().w(m_palette, FUNC(palette_device::write8_ext)).share("palette_ext");
- map(0x4000, 0x4000).portr("DSW1"); /* DSW1 */
- map(0x4001, 0x4001).portr("DSW2"); /* DSW2 */
- map(0x4002, 0x4002).portr("DSW3"); /* DSW3 */
- map(0x4003, 0x4003).portr("DSW4"); /* DSW4 */
- map(0x4004, 0x4004).portr("DSW5"); /* DSW5 */
- map(0x4006, 0x4006).portr("DSW6");
- map(0x4007, 0x4007).portr("DSW7");
- map(0x50f0, 0x50f0).w(FUNC(igspoker_state::igs_nmi_and_coins_w));
- map(0x5080, 0x5080).portr("SERVICE"); /* Services */
- map(0x5090, 0x5090).w(FUNC(igspoker_state::custom_io_w));
- map(0x5091, 0x5091).r(FUNC(igspoker_state::custom_io_r)).w(FUNC(igspoker_state::igs_lamps_w)); /* Keyboard */
- map(0x50a0, 0x50a0).portr("BUTTONS2");
- /* Sound synthesys has been patched out, replaced by ADPCM samples */
- map(0x50b0, 0x50b0).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
- map(0x50c0, 0x50c0).r(FUNC(igspoker_state::igs_irqack_r)).w(FUNC(igspoker_state::igs_irqack_w));
- map(0x7000, 0x77ff).ram().w(FUNC(igspoker_state::fg_tile_w)).share("fg_tile_ram");
- map(0x7800, 0x7fff).ram().w(FUNC(igspoker_state::fg_color_w)).share("fg_color_ram");
-}
-
-void igspoker_state::cpokerpk_io_map(address_map &map)
-{
- map(0x0000, 0xffff).r(FUNC(igspoker_state::exp_rom_r));
- map(0x2000, 0x27ff).ram().w(m_palette, FUNC(palette_device::write8)).share("palette");
- map(0x2800, 0x2fff).ram().w(m_palette, FUNC(palette_device::write8_ext)).share("palette_ext");
- map(0x4000, 0x4000).portr("DSW1"); /* DSW1 */
- map(0x4001, 0x4001).portr("DSW2"); /* DSW2 */
- map(0x4002, 0x4002).portr("DSW3"); /* DSW3 */
- map(0x4003, 0x4003).portr("DSW4"); /* DSW4 */
- map(0x4004, 0x4004).portr("DSW5"); /* DSW5 */
- map(0x50f0, 0x50f0).w(FUNC(igspoker_state::igs_nmi_and_coins_w));
- map(0x5081, 0x5081).portr("SERVICE"); /* Services */
- map(0x5082, 0x5082).portr("COINS"); /* Coing & Kbd */
- map(0x5090, 0x5090).w(FUNC(igspoker_state::custom_io_w));
- map(0x5091, 0x5091).r(FUNC(igspoker_state::custom_io_r)).w(FUNC(igspoker_state::igs_lamps_w)); /* Keyboard */
- map(0x50a0, 0x50a0).portr("BUTTONS2");
- /* Sound synthesys has been patched out, replaced by ADPCM samples */
- map(0x50b0, 0x50b0).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
- map(0x50c0, 0x50c0).r(FUNC(igspoker_state::igs_irqack_r)).w(FUNC(igspoker_state::igs_irqack_w));
- map(0x7000, 0x77ff).ram().w(FUNC(igspoker_state::fg_tile_w)).share("fg_tile_ram");
- map(0x7800, 0x7fff).ram().w(FUNC(igspoker_state::fg_color_w)).share("fg_color_ram");
-}
-
-static INPUT_PORTS_START( number10 )
- PORT_START("DSW1")
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWA:8")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x06, 0x06, "Min Bet to Start" ) PORT_DIPLOCATION("SWA:7,6")
- PORT_DIPSETTING( 0x06, "1" )
- PORT_DIPSETTING( 0x04, "2" )
- PORT_DIPSETTING( 0x02, "5" )
- PORT_DIPSETTING( 0x00, "10" )
- PORT_DIPNAME( 0x18, 0x10, "Max Bet" ) PORT_DIPLOCATION("SWA:5,4")
- PORT_DIPSETTING( 0x18, "5" )
- PORT_DIPSETTING( 0x10, "10" )
- PORT_DIPSETTING( 0x08, "20" )
- PORT_DIPSETTING( 0x00, "50" )
- PORT_DIPNAME( 0x60, 0x60, "Min Bet to play Fever" ) PORT_DIPLOCATION("SWA:3,2")
- PORT_DIPSETTING( 0x60, "1" )
- PORT_DIPSETTING( 0x40, "5" )
- PORT_DIPSETTING( 0x20, "10" )
- PORT_DIPSETTING( 0x00, "20" )
- PORT_DIPNAME( 0x80, 0x00, "Credit Limit" ) PORT_DIPLOCATION("SWA:1")
- PORT_DIPSETTING( 0x80, "50000" )
- PORT_DIPSETTING( 0x00, "50000" )
-
- PORT_START("DSW2")
- PORT_DIPNAME( 0x07, 0x07, "Coin In Rate" ) PORT_DIPLOCATION("SWB:8,7,6")
- PORT_DIPSETTING( 0x07, "1" )
- PORT_DIPSETTING( 0x06, "2" )
- PORT_DIPSETTING( 0x05, "5" )
- PORT_DIPSETTING( 0x04, "10" )
- PORT_DIPSETTING( 0x03, "20" )
- PORT_DIPSETTING( 0x02, "5" )
- PORT_DIPSETTING( 0x01, "50" )
- PORT_DIPSETTING( 0x00, "100" )
- PORT_DIPNAME( 0x18, 0x18, "Key In Rate" ) PORT_DIPLOCATION("SWB:5,4")
- PORT_DIPSETTING( 0x18, "10" )
- PORT_DIPSETTING( 0x10, "20" )
- PORT_DIPSETTING( 0x08, "50" )
- PORT_DIPSETTING( 0x00, "100" )
- PORT_DIPNAME( 0x60, 0x60, "Val Premio" ) PORT_DIPLOCATION("SWB:3,2")
- PORT_DIPSETTING( 0x60, "1" )
- PORT_DIPSETTING( 0x40, "10" )
- PORT_DIPSETTING( 0x20, "20" )
- PORT_DIPSETTING( 0x00, "50" )
- /* Whatever value is selected, code will force ACTIVE_LOW, thus Manual mode */
- PORT_DIPNAME( 0x80, 0x80, "Payout" ) PORT_DIPLOCATION("SWB:1")
- PORT_DIPSETTING( 0x80, "Manual" )
- PORT_DIPSETTING( 0x00, "Auto" )
-
- PORT_START("DSW3")
- PORT_DIPNAME( 0x01, 0x01, "W-UP Limit" ) PORT_DIPLOCATION("SWC:8")
- PORT_DIPSETTING( 0x01, "3000" )
- PORT_DIPSETTING( 0x00, "5000" )
- PORT_DIPNAME( 0x02, 0x02, "W-UP Pool" ) PORT_DIPLOCATION("SWC:7")
- PORT_DIPSETTING( 0x02, "300" )
- PORT_DIPSETTING( 0x00, "500" )
- PORT_DIPNAME( 0x0c, 0x0c, "W-UP Chance" ) PORT_DIPLOCATION("SWC:6,5")
- PORT_DIPSETTING( 0x0c, "94%" )
- PORT_DIPSETTING( 0x08, "96%" )
- PORT_DIPSETTING( 0x04, "98%" )
- PORT_DIPSETTING( 0x00, "100%" )
- PORT_DIPNAME( 0x30, 0x20, "W-UP Type" ) PORT_DIPLOCATION("SWC:4,3")
- PORT_DIPSETTING( 0x30, DEF_STR( None ) )
- PORT_DIPSETTING( 0x20, "High-Low" )
- PORT_DIPSETTING( 0x10, "Red-Black" ) /* Bit 4 is equal for ON/OFF */
- PORT_DIPNAME( 0x40, 0x00, "Strip Girl" ) PORT_DIPLOCATION("SWC:2")
- PORT_DIPSETTING( 0x40, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- /* Whatever value is selected, code will force ACTIVE_LOW, thus Change */
- PORT_DIPNAME( 0x80, 0x00, "Win Table" ) PORT_DIPLOCATION("SWC:1")
- PORT_DIPSETTING( 0x80, "Change" )
- PORT_DIPSETTING( 0x00, "Change" )
-
- PORT_START("DSW4")
- PORT_DIPNAME( 0x0f, 0x07, "Main Game Chance" ) PORT_DIPLOCATION("SWD:8,7,6,5")
- PORT_DIPSETTING( 0x0f, "50%" )
- PORT_DIPSETTING( 0x0e, "52%" )
- PORT_DIPSETTING( 0x0d, "54%" )
- PORT_DIPSETTING( 0x0c, "56%" )
- PORT_DIPSETTING( 0x0b, "58%" )
- PORT_DIPSETTING( 0x0a, "60%" )
- PORT_DIPSETTING( 0x09, "62%" )
- PORT_DIPSETTING( 0x08, "64%" )
- PORT_DIPSETTING( 0x07, "66%" )
- PORT_DIPSETTING( 0x06, "68%" )
- PORT_DIPSETTING( 0x05, "70%" )
- PORT_DIPSETTING( 0x04, "72%" )
- PORT_DIPSETTING( 0x03, "74%" )
- PORT_DIPSETTING( 0x02, "76%" )
- PORT_DIPSETTING( 0x01, "78%" )
- PORT_DIPSETTING( 0x00, "80%" )
- PORT_DIPNAME( 0x10, 0x00, "Five Jokers" ) PORT_DIPLOCATION("SWD:4")
- PORT_DIPSETTING( 0x10, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x20, 0x00, "Royal Flush" ) PORT_DIPLOCATION("SWD:3")
- PORT_DIPSETTING( 0x20, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x40, 0x00, "Auto Hold" ) PORT_DIPLOCATION("SWD:2")
- PORT_DIPSETTING( 0x40, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- /* Whatever value is selected, code will force ACTIVE_LOW, thus Bet Max */
- PORT_DIPNAME( 0x80, 0x00, "Pts Play" ) PORT_DIPLOCATION("SWD:1")
- PORT_DIPSETTING( 0x80, "Bet Max" )
- PORT_DIPSETTING( 0x00, "Bet Max" )
-
- PORT_START("DSW5")
- PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("DSW6")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_H) PORT_NAME("HPSW")
-
- PORT_START("DSW7")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_H) PORT_NAME("HPSW")
-
- PORT_START("SERVICE")
- PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Statistics")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT )
-
- PORT_START("BUTTONS1")
- PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
-
- PORT_START("BUTTONS2")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / High / Low")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Bet")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Take")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / W-Up")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Red / Black")
- PORT_BIT( 0xC0, IP_ACTIVE_LOW, IPT_UNUSED )
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( cpokerpk )
- PORT_START("DSW1")
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWA:8")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x06, 0x06, "Min Bet to Start" ) PORT_DIPLOCATION("SWA:7,6")
- PORT_DIPSETTING( 0x06, "1" )
- PORT_DIPSETTING( 0x04, "2" )
- PORT_DIPSETTING( 0x02, "5" )
- PORT_DIPSETTING( 0x00, "10" )
- PORT_DIPNAME( 0x18, 0x10, "Max Bet" ) PORT_DIPLOCATION("SWA:5,4")
- PORT_DIPSETTING( 0x18, "5" )
- PORT_DIPSETTING( 0x10, "10" )
- PORT_DIPSETTING( 0x08, "20" )
- PORT_DIPSETTING( 0x00, "50" )
- PORT_DIPNAME( 0x60, 0x60, "Min Bet to play Fever" ) PORT_DIPLOCATION("SWA:3,2")
- PORT_DIPSETTING( 0x60, "1" )
- PORT_DIPSETTING( 0x40, "5" )
- PORT_DIPSETTING( 0x20, "10" )
- PORT_DIPSETTING( 0x00, "20" )
- PORT_DIPNAME( 0x80, 0x00, "Credit Limit" ) PORT_DIPLOCATION("SWA:1")
- PORT_DIPSETTING( 0x80, "50000" )
- PORT_DIPSETTING( 0x00, "50000" )
-
- PORT_START("DSW2")
- PORT_DIPNAME( 0x07, 0x07, "Coin In Rate" ) PORT_DIPLOCATION("SWB:8,7,6")
- PORT_DIPSETTING( 0x07, "1" )
- PORT_DIPSETTING( 0x06, "2" )
- PORT_DIPSETTING( 0x05, "5" )
- PORT_DIPSETTING( 0x04, "10" )
- PORT_DIPSETTING( 0x03, "20" )
- PORT_DIPSETTING( 0x02, "5" )
- PORT_DIPSETTING( 0x01, "50" )
- PORT_DIPSETTING( 0x00, "100" )
- PORT_DIPNAME( 0x18, 0x18, "Key In Rate" ) PORT_DIPLOCATION("SWB:5,4")
- PORT_DIPSETTING( 0x18, "10" )
- PORT_DIPSETTING( 0x10, "20" )
- PORT_DIPSETTING( 0x08, "50" )
- PORT_DIPSETTING( 0x00, "100" )
- PORT_DIPNAME( 0x60, 0x60, "Val Premio" ) PORT_DIPLOCATION("SWB:3,2")
- PORT_DIPSETTING( 0x60, "1" )
- PORT_DIPSETTING( 0x40, "10" )
- PORT_DIPSETTING( 0x20, "20" )
- PORT_DIPSETTING( 0x00, "50" )
- /* Whatever value is selected, code will force ACTIVE_LOW, thus Manual mode */
- PORT_DIPNAME( 0x80, 0x80, "Payout" ) PORT_DIPLOCATION("SWB:1")
- PORT_DIPSETTING( 0x80, "Manual" )
- PORT_DIPSETTING( 0x00, "Auto" )
-
- PORT_START("DSW3")
- PORT_DIPNAME( 0x01, 0x01, "W-UP Limit" ) PORT_DIPLOCATION("SWC:8")
- PORT_DIPSETTING( 0x01, "3000" )
- PORT_DIPSETTING( 0x00, "5000" )
- PORT_DIPNAME( 0x02, 0x02, "W-UP Pool" ) PORT_DIPLOCATION("SWC:7")
- PORT_DIPSETTING( 0x02, "300" )
- PORT_DIPSETTING( 0x00, "500" )
- PORT_DIPNAME( 0x0c, 0x0c, "W-UP Chance" ) PORT_DIPLOCATION("SWC:6,5")
- PORT_DIPSETTING( 0x0c, "94%" )
- PORT_DIPSETTING( 0x08, "96%" )
- PORT_DIPSETTING( 0x04, "98%" )
- PORT_DIPSETTING( 0x00, "100%" )
- PORT_DIPNAME( 0x30, 0x20, "W-UP Type" ) PORT_DIPLOCATION("SWC:4,3")
- PORT_DIPSETTING( 0x30, DEF_STR( None ) )
- PORT_DIPSETTING( 0x20, "High-Low" )
- PORT_DIPSETTING( 0x10, "Red-Black" ) /* Bit 4 is equal for ON/OFF */
- PORT_DIPNAME( 0x40, 0x00, "Strip Girl" ) PORT_DIPLOCATION("SWC:2")
- PORT_DIPSETTING( 0x40, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
-
- PORT_START("DSW4")
- PORT_DIPNAME( 0x0f, 0x07, "Main Game Chance" ) PORT_DIPLOCATION("SWD:8,7,6,5")
- PORT_DIPSETTING( 0x0f, "69%" )
- PORT_DIPSETTING( 0x0e, "72%" )
- PORT_DIPSETTING( 0x0d, "75%" )
- PORT_DIPSETTING( 0x0c, "78%" )
- PORT_DIPSETTING( 0x0b, "81%" )
- PORT_DIPSETTING( 0x0a, "83%" )
- PORT_DIPSETTING( 0x09, "85%" )
- PORT_DIPSETTING( 0x08, "87%" )
- PORT_DIPSETTING( 0x07, "89%" )
- PORT_DIPSETTING( 0x06, "91%" )
- PORT_DIPSETTING( 0x05, "93%" )
- PORT_DIPSETTING( 0x04, "95%" )
- PORT_DIPSETTING( 0x03, "97%" )
- PORT_DIPSETTING( 0x02, "99%" )
- PORT_DIPSETTING( 0x01, "101%" )
- PORT_DIPSETTING( 0x00, "103%" )
- PORT_DIPNAME( 0x10, 0x00, "Five Jokers" ) PORT_DIPLOCATION("SWD:4")
- PORT_DIPSETTING( 0x10, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x20, 0x00, "Royal Flush" ) PORT_DIPLOCATION("SWD:3")
- PORT_DIPSETTING( 0x20, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x40, 0x00, "Auto Hold" ) PORT_DIPLOCATION("SWD:2")
- PORT_DIPSETTING( 0x40, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x80, 0x00, "Anytime Key-in" ) PORT_DIPLOCATION("SWD:1")
- PORT_DIPSETTING( 0x80, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
-
- PORT_START("DSW5")
- PORT_DIPNAME( 0x01, 0x00, "Hopper" ) PORT_DIPLOCATION("SWE:8")
- PORT_DIPSETTING( 0x01, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x02, 0x00, "Payout Select" ) PORT_DIPLOCATION("SWE:7")
- PORT_DIPSETTING( 0x02, "Hopper" )
- PORT_DIPSETTING( 0x00, "Ticket" )
- PORT_DIPNAME( 0x0c, 0x0c, "Ticket Rate" ) PORT_DIPLOCATION("SWE:6,5")
- PORT_DIPSETTING( 0x0c, "10:1" )
- PORT_DIPSETTING( 0x08, "20:1" )
- PORT_DIPSETTING( 0x04, "50:1" )
- PORT_DIPSETTING( 0x00, "100:1" )
-
- PORT_START("SERVICE")
- PORT_BIT( 0x8f, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(igspoker_state, hopper_r) PORT_NAME("HPSW") // hopper sensor
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT )
- PORT_SERVICE_NO_TOGGLE( 0x20, IP_ACTIVE_LOW )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Statistics")
-
- PORT_START("COINS")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Down")
- PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("BUTTONS1")
- PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
-
- PORT_START("BUTTONS2")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / High / Low")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Bet")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Take")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / W-Up")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Red / Black")
- PORT_BIT( 0xC0, IP_ACTIVE_LOW, IPT_UNUSED )
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( chleague )
- PORT_START("DSW1")
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWA:8")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x06, 0x06, "Min Bet to Start" ) PORT_DIPLOCATION("SWA:7,6")
- PORT_DIPSETTING( 0x06, "1" )
- PORT_DIPSETTING( 0x04, "2" )
- PORT_DIPSETTING( 0x02, "5" )
- PORT_DIPSETTING( 0x00, "10" )
- PORT_DIPNAME( 0x18, 0x10, "Max Bet" ) PORT_DIPLOCATION("SWA:5,4")
- PORT_DIPSETTING( 0x18, "5" )
- PORT_DIPSETTING( 0x10, "10" )
- PORT_DIPSETTING( 0x08, "20" )
- PORT_DIPSETTING( 0x00, "40" )
- PORT_DIPNAME( 0x60, 0x60, "Min Bet to play Fever" ) PORT_DIPLOCATION("SWA:3,2")
- PORT_DIPSETTING( 0x60, "1" )
- PORT_DIPSETTING( 0x40, "5" )
- PORT_DIPSETTING( 0x20, "10" )
- PORT_DIPSETTING( 0x00, "20" )
- PORT_DIPNAME( 0x80, 0x00, "Credit Limit" ) PORT_DIPLOCATION("SWA:1")
- PORT_DIPSETTING( 0x80, "50000" )
- PORT_DIPSETTING( 0x00, "50000" )
-
- PORT_START("DSW2")
- PORT_DIPNAME( 0x07, 0x07, "Coin In Rate" ) PORT_DIPLOCATION("SWB:8,7,6")
- PORT_DIPSETTING( 0x07, "1" )
- PORT_DIPSETTING( 0x06, "2" )
- PORT_DIPSETTING( 0x05, "5" )
- PORT_DIPSETTING( 0x04, "10" )
- PORT_DIPSETTING( 0x03, "20" )
- PORT_DIPSETTING( 0x02, "5" )
- PORT_DIPSETTING( 0x01, "50" )
- PORT_DIPSETTING( 0x00, "100" )
- PORT_DIPNAME( 0x18, 0x18, "Key In Rate" ) PORT_DIPLOCATION("SWB:5,4")
- PORT_DIPSETTING( 0x18, "10" )
- PORT_DIPSETTING( 0x10, "20" )
- PORT_DIPSETTING( 0x08, "50" )
- PORT_DIPSETTING( 0x00, "100" )
- PORT_DIPNAME( 0x60, 0x60, "Val Premio" ) PORT_DIPLOCATION("SWB:3,2")
- PORT_DIPSETTING( 0x60, "1" )
- PORT_DIPSETTING( 0x40, "1" )
- PORT_DIPSETTING( 0x20, "1" )
- PORT_DIPSETTING( 0x00, "1" )
- /* Whatever value is selected, code will force ACTIVE_LOW, thus Manual mode */
- PORT_DIPNAME( 0x80, 0x80, "Payout" ) PORT_DIPLOCATION("SWB:1")
- PORT_DIPSETTING( 0x80, "Manual" )
- PORT_DIPSETTING( 0x00, "Auto" )
-
- PORT_START("DSW3")
- PORT_DIPNAME( 0x01, 0x01, "W-UP Limit" ) PORT_DIPLOCATION("SWC:8")
- PORT_DIPSETTING( 0x01, "3000" )
- PORT_DIPSETTING( 0x00, "5000" )
- PORT_DIPNAME( 0x02, 0x02, "W-UP Pool" ) PORT_DIPLOCATION("SWC:7")
- PORT_DIPSETTING( 0x02, "300" )
- PORT_DIPSETTING( 0x00, "500" )
- PORT_DIPNAME( 0x0c, 0x0c, "W-UP Chance" ) PORT_DIPLOCATION("SWC:6,5")
- PORT_DIPSETTING( 0x0c, "94%" )
- PORT_DIPSETTING( 0x08, "96%" )
- PORT_DIPSETTING( 0x04, "98%" )
- PORT_DIPSETTING( 0x00, "100%" )
- PORT_DIPNAME( 0x30, 0x20, "W-UP Type" ) PORT_DIPLOCATION("SWC:4,3")
- PORT_DIPSETTING( 0x30, DEF_STR( None ) )
- PORT_DIPSETTING( 0x20, "High-Low" )
- PORT_DIPSETTING( 0x10, "Red-Black" ) /* Bit 4 is equal for ON/OFF */
- PORT_DIPNAME( 0x40, 0x00, "Strip Girl" ) PORT_DIPLOCATION("SWC:2")
- PORT_DIPSETTING( 0x40, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- /* Whatever value is selected, code will force ACTIVE_LOW, thus Change */
- PORT_DIPNAME( 0x80, 0x00, "Win Table" ) PORT_DIPLOCATION("SWC:1")
- PORT_DIPSETTING( 0x80, "Change" )
- PORT_DIPSETTING( 0x00, "Change" )
-
- PORT_START("DSW4")
- PORT_DIPNAME( 0x0f, 0x07, "Main Game Chance" ) PORT_DIPLOCATION("SWD:8,7,6,5")
- PORT_DIPSETTING( 0x0f, "50%" )
- PORT_DIPSETTING( 0x0e, "52%" )
- PORT_DIPSETTING( 0x0d, "54%" )
- PORT_DIPSETTING( 0x0c, "56%" )
- PORT_DIPSETTING( 0x0b, "58%" )
- PORT_DIPSETTING( 0x0a, "60%" )
- PORT_DIPSETTING( 0x09, "62%" )
- PORT_DIPSETTING( 0x08, "64%" )
- PORT_DIPSETTING( 0x07, "66%" )
- PORT_DIPSETTING( 0x06, "68%" )
- PORT_DIPSETTING( 0x05, "70%" )
- PORT_DIPSETTING( 0x04, "72%" )
- PORT_DIPSETTING( 0x03, "74%" )
- PORT_DIPSETTING( 0x02, "76%" )
- PORT_DIPSETTING( 0x01, "78%" )
- PORT_DIPSETTING( 0x00, "80%" )
- PORT_DIPNAME( 0x10, 0x00, "Five Jokers" ) PORT_DIPLOCATION("SWD:4")
- PORT_DIPSETTING( 0x10, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x20, 0x00, "Royal Flush" ) PORT_DIPLOCATION("SWD:3")
- PORT_DIPSETTING( 0x20, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x40, 0x00, "Auto Hold" ) PORT_DIPLOCATION("SWD:2")
- PORT_DIPSETTING( 0x40, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- /* Whatever value is selected, code will force ACTIVE_LOW, thus Bet Max */
- PORT_DIPNAME( 0x80, 0x00, "Pts Play" ) PORT_DIPLOCATION("SWD:1")
- PORT_DIPSETTING( 0x80, "Bet Max" )
- PORT_DIPSETTING( 0x00, "Bet Max" )
-
- PORT_START("DSW5")
- PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("SERVICE")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(igspoker_state, hopper_r) PORT_NAME("HPSW") // hopper sensor
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT )
- PORT_SERVICE_NO_TOGGLE( 0x20, IP_ACTIVE_LOW )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Statistics")
-
- PORT_START("COINS")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Down")
- PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("BUTTONS1")
- PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
-
- PORT_START("BUTTONS2")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / High / Low")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Bet")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Take")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / W-Up")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Red / Black")
- PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( pktet346 )
- PORT_START("DSW1")
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWA:8")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x00, "Demo Game" ) PORT_DIPLOCATION("SWA:7")
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, "Open Mode" ) PORT_DIPLOCATION("SWA:6")
- PORT_DIPSETTING( 0x04, "Demo" )
- PORT_DIPSETTING( 0x00, "Amuse" )
- PORT_DIPNAME( 0x18, 0x18, "Min Bet to Start" ) PORT_DIPLOCATION("SWA:5,4")
- PORT_DIPSETTING( 0x18, "1" )
- PORT_DIPSETTING( 0x10, "5" )
- PORT_DIPSETTING( 0x08, "10" )
- PORT_DIPSETTING( 0x00, "20" )
- PORT_DIPNAME( 0xe0, 0xe0, "Max Bet" ) PORT_DIPLOCATION("SWA:3,2,1")
- PORT_DIPSETTING( 0xe0, "1" )
- PORT_DIPSETTING( 0xc0, "5" )
- PORT_DIPSETTING( 0xa0, "10" )
- PORT_DIPSETTING( 0x80, "20" )
- PORT_DIPSETTING( 0x60, "50" )
- PORT_DIPSETTING( 0x40, "75" )
- PORT_DIPSETTING( 0x20, "100" )
- PORT_DIPSETTING( 0x00, "200" )
-
- PORT_START("DSW2")
- PORT_DIPNAME( 0x01, 0x01, "Amuse Coin" ) PORT_DIPLOCATION("SWB:8")
- PORT_DIPSETTING( 0x01, "1:1" )
- PORT_DIPSETTING( 0x00, "5:1" )
- PORT_DIPNAME( 0x02, 0x02, "Amuse Game" ) PORT_DIPLOCATION("SWB:7")
- PORT_DIPSETTING( 0x02, "Free" )
- PORT_DIPSETTING( 0x00, "1 Credit" )
- PORT_DIPNAME( 0x04, 0x04, "Display Card" ) PORT_DIPLOCATION("SWB:6")
- PORT_DIPSETTING( 0x04, "Poker" )
- PORT_DIPSETTING( 0x00, "Numbers" )
- PORT_DIPNAME( 0x18, 0x18, "Key In Rate" ) PORT_DIPLOCATION("SWB:5,4")
- PORT_DIPSETTING( 0x18, "10" )
- PORT_DIPSETTING( 0x10, "20" )
- PORT_DIPSETTING( 0x08, "50" )
- PORT_DIPSETTING( 0x00, "100" )
- PORT_DIPNAME( 0xe0, 0xe0, "Coin Setting" ) PORT_DIPLOCATION("SWB:3,2,1")
- PORT_DIPSETTING( 0xe0, "1" )
- PORT_DIPSETTING( 0xc0, "2" )
- PORT_DIPSETTING( 0xa0, "5" )
- PORT_DIPSETTING( 0x80, "10" )
- PORT_DIPSETTING( 0x60, "20" )
- PORT_DIPSETTING( 0x40, "40" )
- PORT_DIPSETTING( 0x20, "50" )
- PORT_DIPSETTING( 0x00, "100" )
-
- PORT_START("DSW3")
- PORT_DIPNAME( 0x01, 0x01, "Speed" ) PORT_DIPLOCATION("SWC:8")
- PORT_DIPSETTING( 0x01, "Slow" )
- PORT_DIPSETTING( 0x00, "Quick" )
- PORT_DIPNAME( 0x02, 0x02, "Quick Get" ) PORT_DIPLOCATION("SWC:7")
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, "Bet Base" ) PORT_DIPLOCATION("SWC:6")
- PORT_DIPSETTING( 0x04, "1" )
- PORT_DIPSETTING( 0x00, "10" )
- PORT_DIPNAME( 0x18, 0x18, "System Limit" ) PORT_DIPLOCATION("SWC:5,4")
- PORT_DIPSETTING( 0x18, "30000" )
- PORT_DIPSETTING( 0x10, "50000" )
- PORT_DIPSETTING( 0x08, "70000" )
- PORT_DIPSETTING( 0x00, "Unlimited" )
- PORT_DIPNAME( 0xe0, 0xe0, "Key Out Base" ) PORT_DIPLOCATION("SWC:3,2,1")
- PORT_DIPSETTING( 0xe0, "1" )
- PORT_DIPSETTING( 0xc0, "10" )
- PORT_DIPSETTING( 0xa0, "20" )
- PORT_DIPSETTING( 0x80, "50" )
- PORT_DIPSETTING( 0x60, "100" )
- PORT_DIPSETTING( 0x40, "100" )
- PORT_DIPSETTING( 0x20, "100" )
- PORT_DIPSETTING( 0x00, "100" )
-
- PORT_START("DSW4")
- PORT_DIPNAME( 0x01, 0x01, "Double Game" ) PORT_DIPLOCATION("SWD:8")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, "Royal Appear" ) PORT_DIPLOCATION("SWD:7")
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, "5 Kind Appear" ) PORT_DIPLOCATION("SWD:6")
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, "Payout" ) PORT_DIPLOCATION("SWD:5")
- PORT_DIPSETTING( 0x08, "Manual" )
- PORT_DIPSETTING( 0x00, "Auto" )
- PORT_DIPNAME( 0x10, 0x00, "Hopper" ) PORT_DIPLOCATION("SWD:4")
- PORT_DIPSETTING( 0x10, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0xe0, 0xe0, "Ticket Set" ) PORT_DIPLOCATION("SWD:3,2,1")
- PORT_DIPSETTING( 0xe0, "1:1" )
- PORT_DIPSETTING( 0xc0, "5:1" )
- PORT_DIPSETTING( 0xa0, "10:1" )
- PORT_DIPSETTING( 0x80, "20:1" )
- PORT_DIPSETTING( 0x60, "25:1" )
- PORT_DIPSETTING( 0x40, "50:1" )
- PORT_DIPSETTING( 0x20, "100:1" )
- PORT_DIPSETTING( 0x00, "200:1" )
-
- PORT_START("DSW5")
- PORT_DIPNAME( 0x01, 0x01, "Double Gate" ) PORT_DIPLOCATION("SWE:1")
- PORT_DIPSETTING( 0x01, DEF_STR( Easy ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x02, 0x02, "Percentage" ) PORT_DIPLOCATION("SWE:2")
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("SERVICE")
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9)
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(igspoker_state, hopper_r) PORT_NAME("HPSW") // hopper sensor
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT )
- PORT_SERVICE_NO_TOGGLE( 0x20, IP_ACTIVE_LOW )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Statistics")
-
- PORT_START("COINS")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_R)
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Down")
- PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
-
- PORT_START("BUTTONS1")
- PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
-
- PORT_START("BUTTONS2")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / High / Low")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Bet")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Take")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / W-Up")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Red / Black")
- PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
-INPUT_PORTS_END
-
-static INPUT_PORTS_START( igstet341 )
- PORT_START("DSW1")
- PORT_DIPNAME( 0x01, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWA:8")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, "Display Card" ) PORT_DIPLOCATION("SWA:7")
- PORT_DIPSETTING( 0x02, "Poker" )
- PORT_DIPSETTING( 0x00, "Numbers" )
- PORT_DIPNAME( 0x04, 0x04, "Speed" ) PORT_DIPLOCATION("SWA:6")
- PORT_DIPSETTING( 0x04, "Slow" )
- PORT_DIPSETTING( 0x00, "Quick" )
- PORT_DIPNAME( 0x08, 0x08, "Double Gate" ) PORT_DIPLOCATION("SWA:5")
- PORT_DIPSETTING( 0x08, "Easy" )
- PORT_DIPSETTING( 0x00, "Difficult" )
- PORT_DIPNAME( 0x30, 0x30, "System Limit" ) PORT_DIPLOCATION("SWA:4,3")
- PORT_DIPSETTING( 0x30, "10000" )
- PORT_DIPSETTING( 0x20, "15000" )
- PORT_DIPSETTING( 0x10, "30000" )
- PORT_DIPSETTING( 0x00, "70000" )
- PORT_DIPNAME( 0xc0, 0xc0, "Coin Setting" ) PORT_DIPLOCATION("SWA:2,1")
- PORT_DIPSETTING( 0xc0, "1" )
- PORT_DIPSETTING( 0x80, "2" )
- PORT_DIPSETTING( 0x40, "5" )
- PORT_DIPSETTING( 0x00, "10" )
-
- PORT_START("DSW2")
- PORT_DIPNAME( 0x03, 0x03, "Min Bet" ) PORT_DIPLOCATION("SWB:8,7")
- PORT_DIPSETTING( 0x03, "1" )
- PORT_DIPSETTING( 0x02, "2" )
- PORT_DIPSETTING( 0x01, "5" )
- PORT_DIPSETTING( 0x00, "10" )
- PORT_DIPNAME( 0x0c, 0x0c, "Max Bet" ) PORT_DIPLOCATION("SWB:6,5")
- PORT_DIPSETTING( 0x0c, "40" )
- PORT_DIPSETTING( 0x08, "50" )
- PORT_DIPSETTING( 0x04, "80" )
- PORT_DIPSETTING( 0x00, "100" )
- PORT_DIPNAME( 0x30, 0x30, "Key In" ) PORT_DIPLOCATION("SWB:4,3")
- PORT_DIPSETTING( 0x30, "10" )
- PORT_DIPSETTING( 0x20, "20" )
- PORT_DIPSETTING( 0x10, "50" )
- PORT_DIPSETTING( 0x00, "100" )
- PORT_DIPNAME( 0x40, 0x00, "Demo Game" ) PORT_DIPLOCATION("SWB:2")
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "Amuse Game" ) PORT_DIPLOCATION("SWB:1")
- PORT_DIPSETTING( 0x80, "Free" )
- PORT_DIPSETTING( 0x00, "1 Credit" )
-
- PORT_START("DSW3")
- PORT_DIPNAME( 0x01, 0x01, "Double Game" ) PORT_DIPLOCATION("SWC:8")
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, "Royal Appear" ) PORT_DIPLOCATION("SWC:7")
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, "5 Kind Appear" ) PORT_DIPLOCATION("SWC:6")
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, "Key Out Base" ) PORT_DIPLOCATION("SWC:5")
- PORT_DIPSETTING( 0x08, "1" )
- PORT_DIPSETTING( 0x00, "10" )
- PORT_DIPNAME( 0x10, 0x10, "Open Mode" ) PORT_DIPLOCATION("SWC:4")
- PORT_DIPSETTING( 0x10, "Demo" )
- PORT_DIPSETTING( 0x00, "Amuse" )
- PORT_DIPNAME( 0x20, 0x20, "Quick Get" ) PORT_DIPLOCATION("SWC:3")
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, "Bet Base" ) PORT_DIPLOCATION("SWC:2")
- PORT_DIPSETTING( 0x40, "1" )
- PORT_DIPSETTING( 0x00, "10" )
- PORT_DIPNAME( 0x80, 0x80, "Percentage" ) PORT_DIPLOCATION("SWC:1")
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START("DSW4")
- PORT_DIPNAME( 0x01, 0x01, "Amuse Coin" ) PORT_DIPLOCATION("SWD:8")
- PORT_DIPSETTING( 0x01, "1:1" )
- PORT_DIPSETTING( 0x00, "5:1" )
- PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("DSW5")
- PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("SERVICE")
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9)
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(igspoker_state, hopper_r) PORT_NAME("HPSW") // hopper sensor
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT )
- PORT_SERVICE_NO_TOGGLE( 0x20, IP_ACTIVE_LOW )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Statistics")
-
- PORT_START("COINS")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_R)
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Down")
- PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )
-
- PORT_START("BUTTONS1")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Held 1 / Collect")
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Held 2 / Extra")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Held 3 / Bet 1")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Held 4 / Low")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Held 5 / W_Up")
- PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED )
-
- PORT_START("BUTTONS2")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Max Bet / High")
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_NAME("Move Left")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_NAME("Move Right")
- PORT_BIT( 0x1e, IP_ACTIVE_LOW, IPT_UNUSED )
-INPUT_PORTS_END
-
-
-static const gfx_layout charlayout =
-{
- 8, 8, /* 8*8 characters */
- RGN_FRAC(1, 3),
- 6, /* 6 bits per pixel */
- { RGN_FRAC(0,3)+8, RGN_FRAC(0,3)+0,
- RGN_FRAC(1,3)+8, RGN_FRAC(1,3)+0,
- RGN_FRAC(2,3)+8, RGN_FRAC(2,3)+0 },
- { STEP8(0,1) },
- { STEP8(0,2*8) },
- 8*8*2 /* every char takes 32 consecutive bytes */
-};
-
-static const gfx_layout charlayout2 =
-{
- 8, 32, /* 8*32 characters */
- RGN_FRAC(1, 3*4),
- 6, /* 6 bits per pixel */
- { RGN_FRAC(0,3)+8, RGN_FRAC(0,3)+0,
- RGN_FRAC(1,3)+8, RGN_FRAC(1,3)+0,
- RGN_FRAC(2,3)+8, RGN_FRAC(2,3)+0 },
- { STEP8(0,1) },
- { STEP32(0,2*8) },
- 8*32*2
-};
-
-
-static GFXDECODE_START( gfx_igspoker )
- GFXDECODE_ENTRY( "gfx1", 0x00000, charlayout, 0, 16 )
- GFXDECODE_ENTRY( "gfx2", 0x04000, charlayout2, 0, 16 )
- GFXDECODE_ENTRY( "gfx2", 0x08000, charlayout2, 0, 16 )
- GFXDECODE_ENTRY( "gfx2", 0x0c000, charlayout2, 0, 16 )
- GFXDECODE_ENTRY( "gfx2", 0x00000, charlayout2, 0, 16 )
-GFXDECODE_END
-
-static const gfx_layout charlayoutcpk =
-{
- 8, 8, /* 8*8 characters */
- RGN_FRAC(1, 1),
- 6,
- { 2, 3, 4, 5, 6, 7 },
- { 0, 8, 16, 24, 32, 40, 48, 56 },
- { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64 },
- 64*8
-};
-
-static GFXDECODE_START( gfx_cpokerpk )
- GFXDECODE_ENTRY( "gfx1", 0x00000, charlayoutcpk, 0, 16 )
- /* these not used? */
- GFXDECODE_ENTRY( "gfx2", 0x04000, charlayout2, 0, 1 )
- GFXDECODE_ENTRY( "gfx2", 0x08000, charlayout2, 0, 1 )
- GFXDECODE_ENTRY( "gfx2", 0x0c000, charlayout2, 0, 1 )
- GFXDECODE_ENTRY( "gfx2", 0x00000, charlayout2, 0, 1 )
-GFXDECODE_END
-
-void igspoker_state::igspoker(machine_config &config)
-{
- /* basic machine hardware */
- Z80(config, m_maincpu, 3579545);
- m_maincpu->set_addrmap(AS_PROGRAM, &igspoker_state::igspoker_prg_map);
- m_maincpu->set_addrmap(AS_IO, &igspoker_state::igspoker_io_map);
- TIMER(config, "scantimer").configure_scanline(FUNC(igspoker_state::igs_interrupt), "screen", 0, 1);
-
- i8255_device &ppi(I8255A(config, "ppi"));
- ppi.out_pa_callback().set(FUNC(igspoker_state::igs_nmi_and_coins_w));
- ppi.in_pb_callback().set_ioport("SERVICE");
- ppi.in_pc_callback().set_ioport("COINS");
-
- /* video hardware */
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz(57);
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
- m_screen->set_size(64*8, 32*8); // TODO: wrong screen size!
- m_screen->set_visarea(0*8, 64*8-1, 0, 32*8-1);
- m_screen->set_screen_update(FUNC(igspoker_state::screen_update_igs_video));
- m_screen->set_palette(m_palette);
-
- GFXDECODE(config, m_gfxdecode, m_palette, gfx_igspoker);
- PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 2048);
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- YM2413(config, "ymsnd", 3579545).add_route(ALL_OUTPUTS, "mono", 1.0);
-}
-
-void igspoker_state::csk227it(machine_config &config)
-{
- igspoker(config);
-}
-
-void igspoker_state::csk234it(machine_config &config)
-{
- igspoker(config);
-}
-
-void igspoker_state::igs_ncs(machine_config &config)
-{
- igspoker(config);
-}
-
-void igspoker_state::number10(machine_config &config)
-{
- igspoker(config);
-
- m_maincpu->set_addrmap(AS_IO, &igspoker_state::number10_io_map);
-
- config.device_remove("ppi");
-
- m_screen->set_screen_update(FUNC(igspoker_state::screen_update_cpokerpk));
-
- MCFG_VIDEO_START_OVERRIDE(igspoker_state,cpokerpk)
-
- OKIM6295(config, "oki", XTAL(12'000'000) / 12, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0);
-}
-
-void igspoker_state::cpokerpk(machine_config &config)
-{
- number10(config);
-
- m_maincpu->set_addrmap(AS_IO, &igspoker_state::cpokerpk_io_map);
- m_gfxdecode->set_info(gfx_cpokerpk);
-}
-
-
-void igspoker_state::pktetris(machine_config &config)
-{
- igspoker(config);
-}
-
-
-
-/* ROM Regions definition
- */
-
-ROM_START( cpoker )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD( "v220i1.bin", 0x0000, 0x8000, CRC(b7cae556) SHA1(bb43ee48634879029ed1a7cd4133d7f12413e2ac) )
- ROM_LOAD( "v220i2.bin", 0x8000, 0x8000, CRC(8245e42c) SHA1(b7e7b9f643e6dc2f4d5aaf7d50d0a9154ed9a4e7) )
- ROM_LOAD( "220i7.bin", 0x18000, 0x8000, CRC(8a2ff310) SHA1(a415a99dbb1448b4b2b94e17a3973e6347e3be18) )
-
- ROM_REGION( 0x60000, "gfx1", 0 )
- ROM_LOAD( "220i1.bin", 0x40000, 0x20000, CRC(9c4c0af1) SHA1(7a9808b3093b23bde7ecc7405689b2a28ae34e61) )
- ROM_LOAD( "220i2.bin", 0x20000, 0x20000, CRC(331fa4b8) SHA1(ddac57251fa5dfecc0988a2ca01eec016ef47f20) )
- ROM_LOAD( "220i3.bin", 0x00000, 0x20000, CRC(bd2f797c) SHA1(5ca5adae44490dd109f630213a09a68c12f9bd1a) )
-
- ROM_REGION( 0x30000, "gfx2", ROMREGION_ERASE00 )
-ROM_END
-
-ROM_START( csk227it )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD( "v227i.bin", 0x0000, 0x10000, CRC(df1ebf49) SHA1(829c7575d3d3780557405b3a61859901df6dbe4f) )
- ROM_LOAD( "7.227", 0x10000, 0x10000, CRC(a10786ad) SHA1(82f5f81808ca70d67a2710cc66fbbf78588b33b5) )
-
- ROM_REGION( 0x60000, "gfx1", 0 )
- ROM_LOAD( "6.227", 0x00000, 0x20000, CRC(e9aad93b) SHA1(72116759cd8ddd9828f534e8f8a3f9f96ad2e002) )
- ROM_LOAD( "5.227", 0x20000, 0x20000, CRC(e4c4c8da) SHA1(0442b0de68f3b69e613506348e00c3cf9139edcf) )
- ROM_LOAD( "4.227", 0x40000, 0x20000, CRC(afb365dd) SHA1(930a4cd516258e703a75afc25ef6b2655b8b696a) )
-
- ROM_REGION( 0x30000, "gfx2", 0 )
- ROM_LOAD( "3.bin", 0x00000, 0x10000, CRC(fcb115ac) SHA1(a9f2b9762413840669cd44f8e54b47a7c4350d11) )
- ROM_LOAD( "2.bin", 0x10000, 0x10000, CRC(848343a3) SHA1(b12f9bc2feb470d2fa8b085621fa60c0895109d4) )
- ROM_LOAD( "1.bin", 0x20000, 0x10000, CRC(921ad5de) SHA1(b06ab2e63b31361dcb0367110f47bf2453ecdca6) )
-ROM_END
-
-ROM_START( csk234it )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD( "v234it.bin", 0x0000, 0x10000, CRC(344b7059) SHA1(990cb84e35c0c50d3be9fbb76a11395114dc6c9b) )
- ROM_LOAD( "7.234", 0x10000, 0x10000, CRC(ae6dd4ad) SHA1(4772d5c150d64d1ef3b68e16214f594eea0b3c1b) )
-
- ROM_REGION( 0x60000, "gfx1", 0 )
- ROM_LOAD( "6.234", 0x00000, 0x20000, CRC(23b855a4) SHA1(8217bac61ad09483d8789113cf394d0e525ab28a) )
- ROM_LOAD( "5.234", 0x20000, 0x20000, CRC(189039d7) SHA1(146fd1ddb23ceaa4192e0382b0ab82f5cfbdabfe) )
- ROM_LOAD( "4.234", 0x40000, 0x20000, CRC(c82b0ffc) SHA1(5ebd7da76d402b7111cbe9012cfa3b8a8ff1a86e) )
-
- ROM_REGION( 0x30000, "gfx2", 0 )
- ROM_LOAD( "3.bin", 0x00000, 0x10000, CRC(fcb115ac) SHA1(a9f2b9762413840669cd44f8e54b47a7c4350d11) )
- ROM_LOAD( "2.bin", 0x10000, 0x10000, CRC(848343a3) SHA1(b12f9bc2feb470d2fa8b085621fa60c0895109d4) )
- ROM_LOAD( "1.bin", 0x20000, 0x10000, CRC(921ad5de) SHA1(b06ab2e63b31361dcb0367110f47bf2453ecdca6) )
-ROM_END
-
-
-/*
-
-Stelle e Cubi
-
--- most of the roms on this seem to be the wrong size / missing data
- but its appears to be a hack based on Champion Skill
-
-1x Z84c0006
-1x 12mhz OSC
-1x U6295 sound chip
-1x Actel FPGA (gfx chip)
-
-ROMs
-Note 1x Battery
-5x banks of dipswitch
-
-
---
-
-This doesn't attempt to decode the gfx.
-
-*/
-ROM_START( stellecu )
- ROM_REGION( 0x20000, "maincpu", 0 )
- /* there is data at 0x18000 which is probably mapped somewhere */
- ROM_LOAD( "u35.bin", 0x0000, 0x20000, CRC(914b7c59) SHA1(3275b5016524467199f32d653c757bfe4f9cfc60) )
-
- ROM_REGION( 0x80000, "gfx1", 0 )
- /* seems to be missing half the gfx */
- ROM_LOAD( "u23.bin", 0x0000, 0x40000, BAD_DUMP CRC(9d95757d) SHA1(f7f44d684f1f3a5b1e9c0a82f4377c6d79eb4214) )
- ROM_LOAD( "u25.bin", 0x4000, 0x40000, BAD_DUMP CRC(63094010) SHA1(a781f1c529167dd0ab411c66b72105fc19e32f02) )
-
- ROM_REGION( 0x30000, "gfx2", ROMREGION_ERASEFF )
-
-
- ROM_REGION( 0x40000, "oki", 0 ) /* Oki Samples */
- /* missing sample tables at start of rom */
- ROM_LOAD( "u15.bin", 0x0000, 0x40000, BAD_DUMP CRC(72e3e9c1) SHA1(6a8fb93059bee5a4e4b4deb9fee4b5869e53983b) )
-ROM_END
-
-/* Decode a simple PAL encryption
- */
-
-void igspoker_state::init_cpoker()
-{
- uint8_t *rom = memregion("maincpu")->base();
- for (int A = 0; A < 0x10000; A++)
- {
- rom[A] ^= 0x21;
- if ((A & 0x0030) == 0x0010) rom[A] ^= 0x20;
- if ((A & 0x0282) == 0x0282) rom[A] ^= 0x01;
- if ((A & 0x0940) == 0x0940) rom[A] ^= 0x02;
- }
-
-/* Patch to avoid traps at $0eed and $206e
- that run subs in RAM, operate registers,
- and finally lock the game at $72c2.
-
- All these are triggered if RAM contents of $ff18
- matches the $ff19 (normally 0x20 due to an AND
- against the $ff1b contents)
-*/
-// this NOP the $0eed call...
- rom[0x214a] = 0x00;
- rom[0x214b] = 0x00;
- rom[0x214c] = 0x00;
-
-// this NOP the conditional jump to $206e
- rom[0x214d] = 0x00;
- rom[0x214e] = 0x00;
- rom[0x214f] = 0x00;
-
-}
-
-void igspoker_state::init_cpoker300us()
-{
- uint8_t *rom = memregion("maincpu")->base();
- for (int A = 0; A < 0x10000; A++)
- {
- rom[A] ^= 0x01;
- if ((A & 0x00e0) == 0x00a0) rom[A] ^= 0x20;
- if ((A & 0x0282) == 0x0282) rom[A] ^= 0x01;
- if ((A & 0x0940) == 0x0940) rom[A] ^= 0x02;
- }
-}
-
-void igspoker_state::init_cpokert()
-{
- uint8_t *rom = memregion("maincpu")->base();
- /* decrypt the program ROM */
- for (int i = 0; i < 0x10000; i++)
- {
- if((i & 0x200) && (i & 0x80))
- {
- rom[i] ^= ((~i & 2) >> 1);
- }
- else
- {
- rom[i] ^= 0x01;
- }
-
- if((i & 0x30) != 0x10)
- {
- rom[i] ^= 0x20;
- }
-
- if((i & 0x900) == 0x900 && ((i & 0xc0) == 0x40 || (i & 0xc0) == 0xc0))
- {
- rom[i] ^= 0x02;
- }
- }
-
-/* Patch to avoid traps at $0eed and $206e
- that run subs in RAM, operate registers,
- and finally lock the game at $72c2.
-
- All these are triggered if RAM contents of $ff18
- matches the $ff19 (normally 0x20 due to an AND
- against the $ff1b contents)
-*/
-// this NOP the $0eed call...
- rom[0x214a] = 0x00;
- rom[0x214b] = 0x00;
- rom[0x214c] = 0x00;
-
-// this NOP the conditional jump to $206e
- rom[0x214d] = 0x00;
- rom[0x214e] = 0x00;
- rom[0x214f] = 0x00;
-}
-
-void igspoker_state::init_cpoker101() // same decryption as cpokert
-{
- uint8_t *rom = memregion("maincpu")->base();
- /* decrypt the program ROM */
- for (int i = 0; i < 0x10000; i++)
- {
- if((i & 0x200) && (i & 0x80))
- {
- rom[i] ^= ((~i & 2) >> 1);
- }
- else
- {
- rom[i] ^= 0x01;
- }
-
- if((i & 0x30) != 0x10)
- {
- rom[i] ^= 0x20;
- }
-
- if((i & 0x900) == 0x900 && ((i & 0xc0) == 0x40 || (i & 0xc0) == 0xc0))
- {
- rom[i] ^= 0x02;
- }
- }
-
-/* Patch to avoid traps at $0ec5 (cpoker101),
- $0ef0 (cpoker201f), $0f20 (cpoker210ks) and
- $206e (cpoker101, cpoker201f & cpoker210ks),
- that run subs in RAM, operate registers,
- and finally lock the game at $732e (cpoker101),
- $72c2 (cpoker201f) & $72c6 (cpoker210ks).
-
- All these are triggered if RAM contents of $ff18
- matches the $ff19 (normally 0x20 due to an AND
- against the $ff1b contents)
-*/
-// this NOP the $0ec5 call...
- rom[0x214a] = 0x00;
- rom[0x214b] = 0x00;
- rom[0x214c] = 0x00;
-
-// this NOP the conditional jump to $206e
- rom[0x214d] = 0x00;
- rom[0x214e] = 0x00;
- rom[0x214f] = 0x00;
-}
-
-void igspoker_state::init_cska()
-{
- uint8_t *rom = memregion("maincpu")->base();
- for (int A = 0; A < 0x10000; A++)
- {
- if ((A & 0x0020) == 0x0000) rom[A] ^= 0x01;
- if ((A & 0x0020) == 0x0020) rom[A] ^= 0x21;
- if ((A & 0x0282) == 0x0282) rom[A] ^= 0x01;
- if ((A & 0x0028) == 0x0028) rom[A] ^= 0x20;
- if ((A & 0x0940) == 0x0940) rom[A] ^= 0x02;
- }
-}
-
-
-void igspoker_state::init_igs_ncs()
-{
- uint8_t *rom = memregion("maincpu")->base();
- for (int A = 0; A < 0x10000; A++)
- {
- rom[A] ^= 0x21;
- if ((A & 0x0282) == 0x0282) rom[A] ^= 0x01;
- if ((A & 0x0140) == 0x0100) rom[A] ^= 0x20;
- if ((A & 0x0940) == 0x0940) rom[A] ^= 0x02;
- }
-}
-
-
-/*
-
-1x ZILOG Z0840006PSC-Z80CPU (main)
-1x YM2413 (sound)
-1x NEC D8255AC (label: ORIGINAL BY IGS 102986)
-1x oscillator 12.000MHz (main)
-1x oscillator 3.579545MHz (sound)
-
-1x custom QFP80 label AMT001
-1x custom QFP80 label IGS002
-1x custom DIP40 label IGS003 (under chip label 8255)
-
-ROMs
-
-3x MX27C1000DC (4,5,6)
-1x NM27C256Q (7)
-1x 27C512 (200)
-2x PEEL18CV8P (8,9)
-1x PAL16L8ACN (31)
-2x PEEL18CV8P (12,14) <-> UNREADABLE, protected!
-
-Note
-
-1x 10x2 edge connector (con1) (looks like a coin payout)
-1x 36x2 edge connector (con2)
-1x pushbutton (sw6)
-5x 8 switches dips (sw1-5)
-1x trimmer (volume)
-----------------------
-IGS PCB NO-T0039-8
-
-*/
-
-ROM_START( cpokert )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD( "champingv-200g.u23", 0x00000, 0x10000, CRC(696cb684) SHA1(ce9e5bed83d0bd3b115f556cc89e3293ac6b69c3) )
- ROM_LOAD( "cpoker7.u22", 0x18000, 0x8000, CRC(dae3ecda) SHA1(c881e143ec600c5a931f26cd097da6353e1da7c3) )
-
- ROM_REGION( 0x60000, "gfx1", 0 )
- ROM_LOAD( "cpoker6.u6", 0x00000, 0x20000, CRC(f3e61b24) SHA1(b18998defb6e51daef4ac5a5865674565ffb9029) )
- ROM_LOAD( "cpoker5.u5", 0x20000, 0x20000, CRC(a68b305f) SHA1(f872d2bf7ab194145dffe6b254ae0ad66aa6a497) )
- ROM_LOAD( "cpoker4.u4", 0x40000, 0x20000, CRC(860be7c9) SHA1(41bc58713076276aeefc44c7ea903549692b0224) )
-
- //copy?
- ROM_REGION( 0x60000, "gfx2", 0 )
- ROM_COPY( "gfx1", 0x000000, 0, 0x60000 )
-
- // convert them to the pld format
- ROM_REGION( 0x2000, "plds", 0 )
- ROM_LOAD( "ag-u31.u31", 0x00000, 0x000b60, CRC(fd36baf2) SHA1(caac8bf47bc958395f97b6191569196efe3b3eaa) )
- ROM_LOAD( "ag-u8.u8", 0x00000, 0x0015e2, CRC(c0308c63) SHA1(16819a5c147fef38a235675fa4442da9fa8a6618) )
- ROM_LOAD( "ag-u9.u9", 0x00000, 0x0015e2, CRC(2e8039a3) SHA1(e39635ee9485a5ccd28526f1af7ec2e3294b0aec) )
-ROM_END
-
-
-/*
- Champion Poker (IGS) V100.
-
-1x ZILOG Z0840006PSC-Z80CPU (main)
-
-1x oscillator 12.000MHz (main)
-
-1x custom QFP80 label IGS001A
-1x custom QFP80 label IGS002
-
-Note
-
-1x 10x2 edge connector (con1) (looks like a coin payout)
-1x 36x2 edge connector (con2)
-1x switch (sw6)
-5x 8 DIP switches (sw1-5)
-1x trimmer (volume)
-----------------------
-IGS PCB NO-0139-3
-
-*/
-
-ROM_START( cpokerx )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD( "champion_v-100.bin", 0x00000, 0x10000, CRC(00fc9fc3) SHA1(ee6d4e156f0bf866a4b93272b92bb460dd7e73e1) )
- ROM_LOAD( "champion7.u22", 0x18000, 0x8000, CRC(123ff157) SHA1(aa1d1dc589a2d1ca38b667ab88706280347088b4) )
- ROM_IGNORE( 0x8000)
-
- ROM_REGION( 0x60000, "gfx1", 0 )
- ROM_LOAD( "champion3.u6", 0x00000, 0x20000, CRC(f3e61b24) SHA1(b18998defb6e51daef4ac5a5865674565ffb9029) )
- ROM_LOAD( "champion2.u5", 0x20000, 0x20000, CRC(a68b305f) SHA1(f872d2bf7ab194145dffe6b254ae0ad66aa6a497) )
- ROM_LOAD( "champion1.u4", 0x40000, 0x20000, CRC(860be7c9) SHA1(41bc58713076276aeefc44c7ea903549692b0224) )
-
- //copy?
- ROM_REGION( 0x60000, "gfx2", 0 )
- ROM_COPY( "gfx1", 0x000000, 0, 0x60000 )
-
- ROM_REGION( 0x4000, "plds", 0 )
- ROM_LOAD( "16v8b.u31", 0x00000, 0x000892, BAD_DUMP CRC(33dec5f5) SHA1(f5c2e45513fa3657160ff38111a745f76cf679e1) ) // all 0's, seems protected
- ROM_LOAD( "16v8h.u14", 0x01000, 0x000892, CRC(123d539a) SHA1(cccf0cbae3175b091a998eedf4aa44a55b679400) )
- ROM_LOAD( "22v10b.u22", 0x02000, 0x001704, CRC(609a1aaa) SHA1(b123c93929f932e4ee343a7109f8b16717845d8b) )
-ROM_END
-
-ROM_START( cpoker101 )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD( "u20-v01.bin", 0x00000, 0x10000, CRC(ce99fe3c) SHA1(b5df1f2f5c086626b072b9978383484f699f628b) )
- ROM_LOAD( "champion7.u21", 0x18000, 0x8000, CRC(123ff157) SHA1(aa1d1dc589a2d1ca38b667ab88706280347088b4) )
- ROM_IGNORE( 0x8000)
-
- ROM_REGION( 0x60000, "gfx1", 0 )
- ROM_LOAD( "champion3.u6", 0x00000, 0x20000, CRC(f3e61b24) SHA1(b18998defb6e51daef4ac5a5865674565ffb9029) )
- ROM_LOAD( "champion2.u5", 0x20000, 0x20000, CRC(a68b305f) SHA1(f872d2bf7ab194145dffe6b254ae0ad66aa6a497) )
- ROM_LOAD( "champion1.u4", 0x40000, 0x20000, CRC(860be7c9) SHA1(41bc58713076276aeefc44c7ea903549692b0224) )
-
- //copy?
- ROM_REGION( 0x60000, "gfx2", 0 )
- ROM_COPY( "gfx1", 0x000000, 0, 0x60000 )
-ROM_END
-
-ROM_START( cpoker201f )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD( "u20-201f.bin", 0x00000, 0x10000, CRC(000e0f8d) SHA1(63ded0c3bfaeed6b57870706d379a975cc5790c4) )
- ROM_LOAD( "champion7.u21", 0x18000, 0x8000, CRC(123ff157) SHA1(aa1d1dc589a2d1ca38b667ab88706280347088b4) )
- ROM_IGNORE( 0x8000)
-
- ROM_REGION( 0x60000, "gfx1", 0 )
- ROM_LOAD( "champion3.u6", 0x00000, 0x20000, CRC(f3e61b24) SHA1(b18998defb6e51daef4ac5a5865674565ffb9029) )
- ROM_LOAD( "champion2.u5", 0x20000, 0x20000, CRC(a68b305f) SHA1(f872d2bf7ab194145dffe6b254ae0ad66aa6a497) )
- ROM_LOAD( "champion1.u4", 0x40000, 0x20000, CRC(860be7c9) SHA1(41bc58713076276aeefc44c7ea903549692b0224) )
-
- //copy?
- ROM_REGION( 0x60000, "gfx2", 0 )
- ROM_COPY( "gfx1", 0x000000, 0, 0x60000 )
-ROM_END
-
-ROM_START( cpoker210ks )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD( "u20-210ks.bin", 0x00000, 0x10000, CRC(8900ccba) SHA1(e8796602db0ab1c1e73ab37d380e7fe39060646d) )
- ROM_LOAD( "champion7.u21", 0x18000, 0x8000, CRC(123ff157) SHA1(aa1d1dc589a2d1ca38b667ab88706280347088b4) )
- ROM_IGNORE( 0x8000)
-
- ROM_REGION( 0x60000, "gfx1", 0 )
- ROM_LOAD( "champion3.u6", 0x00000, 0x20000, CRC(f3e61b24) SHA1(b18998defb6e51daef4ac5a5865674565ffb9029) )
- ROM_LOAD( "champion2.u5", 0x20000, 0x20000, CRC(a68b305f) SHA1(f872d2bf7ab194145dffe6b254ae0ad66aa6a497) )
- ROM_LOAD( "champion1.u4", 0x40000, 0x20000, CRC(860be7c9) SHA1(41bc58713076276aeefc44c7ea903549692b0224) )
-
- //copy?
- ROM_REGION( 0x60000, "gfx2", 0 )
- ROM_COPY( "gfx1", 0x000000, 0, 0x60000 )
-ROM_END
-
-ROM_START( cpoker300us )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD( "u20 v300us.bin", 0x00000, 0x10000, CRC(510dc75c) SHA1(0514135211ccada2aa7c1d87bf2bac64399cfc51) )
- ROM_LOAD( "champion7.u21", 0x18000, 0x8000, CRC(123ff157) SHA1(aa1d1dc589a2d1ca38b667ab88706280347088b4) )
- ROM_IGNORE( 0x8000)
-
- ROM_REGION( 0x60000, "gfx1", 0 )
- ROM_LOAD( "u50-champion 3.bin", 0x00000, 0x20000, CRC(9f076732) SHA1(0d62db6a26e219032801ca90dc78470005a81ff2) )
- ROM_LOAD( "u51-champion 2.bin", 0x20000, 0x20000, CRC(9b775e3a) SHA1(df4a3ef284924900af8035059f167668f33fdb6a) )
- ROM_LOAD( "u52-champion 1.bin", 0x40000, 0x20000, CRC(c032f9a5) SHA1(468a4b8729ad3a4f0f2045bc4aa6ba853f103b70) )
-
- //copy?
- ROM_REGION( 0x60000, "gfx2", 0 )
- ROM_COPY( "gfx1", 0x000000, 0, 0x60000 )
-ROM_END
-
-ROM_START( igs_ncs )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD( "v.bin", 0x00000, 0x10000, CRC(8077724b) SHA1(1f6e01d5838e6ec4f91b07637c281a3f59631a51) )
- ROM_LOAD( "7.bin", 0x10000, 0x10000, CRC(678e412c) SHA1(dba031d3576d098d314d6589dd1aeda44d17c650) )
-
- ROM_REGION( 0x60000, "gfx1", 0 )
- ROM_LOAD( "6.bin", 0x00000, 0x20000, CRC(d8e88148) SHA1(5f5c06d947027ef76026e8834f2090b96652006c) )
- ROM_LOAD( "5.bin", 0x20000, 0x20000, CRC(96c8a71c) SHA1(202d04850df9dfbd405c4b5372ef1b39850ac7f7) )
- ROM_LOAD( "4.bin", 0x40000, 0x20000, CRC(5480eae8) SHA1(93e35e8ba7d282cb93d51498420341a4e95acf78) )
-
- ROM_REGION( 0x30000, "gfx2", 0 )
- ROM_LOAD( "3.bin", 0x00000, 0x10000, CRC(fcb115ac) SHA1(a9f2b9762413840669cd44f8e54b47a7c4350d11) )
- ROM_LOAD( "2.bin", 0x10000, 0x10000, CRC(848343a3) SHA1(b12f9bc2feb470d2fa8b085621fa60c0895109d4) )
- ROM_LOAD( "1.bin", 0x20000, 0x10000, CRC(921ad5de) SHA1(b06ab2e63b31361dcb0367110f47bf2453ecdca6) )
-ROM_END
-
-
-/* New Champion Skill by IGS
- -- the dump MAY be incomplete, there were 3 empty positions on the PCB near
- the gfx roms
-
-Chips of Note
-
-IGS 003C (near chip with TEST OK E0069281 label)
-IGS 002
-IGA 001A
-
-
-'file'
-KC8255A
-9941
-(near CPU roms)
-
-UM3567 9946
-
-5x 8 switch dips
-
-Clocks
-3.579545Mhz (near sound)
-12Mhz
-
-
---- what is the CPU, it looks like either Z80 or Z180 based
- -- CPU rom is lightly encrypted (usual IGS style, some xors)
-
-*/
-
-void igspoker_state::init_igs_ncs2()
-{
- uint8_t *src = (uint8_t *) (memregion("maincpu")->base());
- for (int i = 0; i < 0x10000; i++)
- {
- /* bit 0 xor layer */
- if(i & 0x200)
- {
- if(i & 0x80)
- {
- if(~i & 0x02)
- {
- src[i] ^= 0x01;
- }
- }
- else
- {
- src[i] ^= 0x01;
- }
- }
- else
- {
- src[i] ^= 0x01;
- }
-
- /* bit 1 xor layer */
- if(i & 0x800)
- {
- if(i & 0x100)
- {
- if(i & 0x40)
- {
- src[i] ^= 0x02;
- }
- }
- }
-
- /* bit 5 xor layer */
- if(i & 0x100)
- {
- if(i & 0x40)
- {
- src[i] ^= 0x20;
- }
- }
- else
- {
- src[i] ^= 0x20;
- }
- }
-
-}
-
-ROM_START( igs_ncs2 )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD( "ncs_v100n.u20", 0x00000, 0x10000, CRC(2bb91de5) SHA1(b0b7b3b9cee1ce4da10cf78ef1c8079f3d9cafbf) )
- ROM_LOAD( "ncs_v100n.u21", 0x10000, 0x10000, CRC(678e412c) SHA1(dba031d3576d098d314d6589dd1aeda44d17c650) )
-
- ROM_REGION( 0xc0000, "gfx1", 0 )
- ROM_LOAD( "ncs_v100n.u50", 0x00000, 0x40000, CRC(ff2bb3dc) SHA1(364c948504003b4230fbdac74227842c802d4c12) )
- ROM_LOAD( "ncs_v100n.u51", 0x40000, 0x40000, CRC(f8530313) SHA1(b21d6de7d5d4b902008ceea7e1227545e0d1701b) )
- ROM_LOAD( "ncs_v100n.u52", 0x80000, 0x40000, CRC(2fa5b6df) SHA1(5bfc651297440f73692079f1806b1e40b457b7b8) )
-
- ROM_REGION( 0x30000, "gfx2", ROMREGION_ERASEFF )
- // looks like these are needed for pre-game screens, sockets were empty
- ROM_LOAD( "ncs_v100n.u55", 0x00000, 0x10000, NO_DUMP )
- ROM_LOAD( "ncs_v100n.u56", 0x10000, 0x10000, NO_DUMP )
- ROM_LOAD( "ncs_v100n.u57", 0x20000, 0x10000, NO_DUMP )
-ROM_END
-
-
-void igspoker_state::init_chleague()
-{
- uint8_t *rom = memregion("maincpu")->base();
- int length = memregion("maincpu")->bytes();
- for (int A = 0; A < length; A++)
- {
- if ((A & 0x09C0) == 0x0880) rom[A] ^= 0x20;
- if ((A & 0x0B40) == 0x0140) rom[A] ^= 0x20;
- }
-
- /* Renable patched out DSW Display in test mode */
- rom[0xA835] = 0xcd;
- rom[0xA836] = 0x3a;
- rom[0xA837] = 0x48;
-
- rom[0xA863] = 0xcd;
- rom[0xA864] = 0x40;
- rom[0xA865] = 0xd3;
-
- rom[0xaade] = 0xcd;
- rom[0xaadf] = 0x17;
- rom[0xaae0] = 0xa5;
-
- /* Fix graphic glitch */
- rom[0x48e8] = 0x19;
- rom[0x48e9] = 0x5e;
- rom[0x48ea] = 0x23;
-
- /* Patch trap */
- rom[0x0eed] = 0xc3;
-}
-
-ROM_START( chleague )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD( "12b.bin", 0x00000, 0x10000, CRC(8b4fb718) SHA1(2ce7cf73aab8a644ecac4189c8ffe7dae9a21571) )
- ROM_LOAD( "12a.bin", 0x10000, 0x10000, CRC(bd3af488) SHA1(3c5e7a8623d11bd50a1949e870f1044eec7fc463) )
-
- ROM_REGION( 0x60000, "gfx1", 0 )
- ROM_LOAD( "23.bin", 0x40000, 0x20000, CRC(4ac8cc41) SHA1(e4bfd63408511e7d21f140d315493af7fdeba373) )
- ROM_LOAD( "24.bin", 0x20000, 0x20000, CRC(6cb070f0) SHA1(27c34bb6463f3841e27fb61afe32fb94c9aedbd0) )
- ROM_LOAD( "25.bin", 0x00000, 0x20000, CRC(adebfda8) SHA1(32193f8553d70b15d77f6bc3f7c84ffeb5a60cc4) )
-
- ROM_REGION( 0x30000, "gfx2", ROMREGION_ERASE00 )
-ROM_END
-
-ROM_START( chleagul )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD( "12d.bin", 0x00000, 0x10000, CRC(7e143b05) SHA1(943a471fa16fd6c000f601ec8bdb35d70f12c033) )
- ROM_LOAD( "12c.bin", 0x10000, 0x10000, CRC(bd3af488) SHA1(3c5e7a8623d11bd50a1949e870f1044eec7fc463) )
-
- ROM_REGION( 0x60000, "gfx1", 0 )
- ROM_LOAD( "23.bin", 0x40000, 0x20000, CRC(4ac8cc41) SHA1(e4bfd63408511e7d21f140d315493af7fdeba373) )
- ROM_LOAD( "24.bin", 0x20000, 0x20000, CRC(6cb070f0) SHA1(27c34bb6463f3841e27fb61afe32fb94c9aedbd0) )
- ROM_LOAD( "25.bin", 0x00000, 0x20000, CRC(adebfda8) SHA1(32193f8553d70b15d77f6bc3f7c84ffeb5a60cc4) )
-
- ROM_REGION( 0x30000, "gfx2", ROMREGION_ERASE00 )
-ROM_END
-
-/*
- Champion League (v220I, dual-program, set 1).
-
- This set has two different programs splitted in quarters.
- Both programs are intended to cover playing cards graphics (2nd quarter program),
- or cans (lattine) graphics to avoid some italian laws... (4th quarter program).
-
- Seems that there's no way to switch between them. They are harcoded through the
- involved PLD's. Addressing lines lower than A12 are driven normally.
-
- Even when the game has IGS copyright strings inside the program ROM, this set was
- manufactured/released by PlayMark SRL in 1998 to deal with the italian 1995 laws.
-
-
- Main program ROM banking through PLDs...
-
- 27C2001
- .-----v-----.
- (VPP)-|01 32|-(VCC)
- PALCE22V10H (u16) pin 21 (IO7) <---(A16)-|02 31|-(/P)
- PALCE22V10H (u16) pin 05 (I4) <----(A15)-|03 30|-(A17)---> A40MX04-PL84 (u20) pin 37 (I/O)
- PALCE22V10H (u16) pin 02 (I1) <----(A12)-|04 29|-(A14)---> PALCE22V10H (u16) pin 04 (I3)
- RAM U6264ADC (u14) pin 03 (A7) <----(A7)-|05 28|-(A13)---> PALCE22V10H (u16) pin 03 (I2)
- RAM U6264ADC (u14) pin 04 (A6) <----(A6)-|06 27|-(A8)----> RAM U6264ADC (u14) pin 25 (A8)
- RAM U6264ADC (u14) pin 05 (A5) <----(A5)-|07 26|-(A9)----> RAM U6264ADC (u14) pin 24 (A9)
- RAM U6264ADC (u14) pin 06 (A4) <----(A4)-|08 25|-(A11)---> RAM U6264ADC (u14) pin 23 (A11)
- RAM U6264ADC (u14) pin 07 (A3) <----(A3)-|09 24|-(/G)
- RAM U6264ADC (u14) pin 08 (A2) <----(A2)-|10 23|-(A10)---> RAM U6264ADC (u14) pin 21 (A10)
- RAM U6264ADC (u14) pin 09 (A1) <----(A1)-|11 22|-(/E)
- RAM U6264ADC (u14) pin 10 (A0) <----(A0)-|12 21|-(Q7)
- (Q0)-|13 20|-(Q6)
- (Q1)-|14 19|-(Q5)
- (Q2)-|15 18|-(Q4)
- (VSS)-|16 17|-(Q3)
- '-----------'
-
-
- Specs...
-
- CPUs
- 1x Z0840006PSC-Z80 CPU (u13) - 8-bit Microprocessor - main.
- 1x PIC16C65A-20/P (u1) - 8bit CMOS Microcontroller (internal ROM not dumped).
- 1x CP82C55A (u29) - Programmable Peripheral Interface.
- 1x YM2413 (u3) - FM Operator Type-M (OPM) - sound.
- 1x LM358 (u4) - Dual Operational Amplifier - sound.
- 1x TDA2003 (u6) - Audio Amplifier - sound.
-
- 1x 24.000000 MHz oscillator (x2).
- 1x 3.579545 MHz oscillator (x1).
-
- ROMs
- 1x 27C020 (u15) - dumped.
- 3x M27C1001 (u9, u10, u11) - dumped.
-
- RAMs
- 2x U6264ADC (u7, u14).
- 2x HM3-65728BK-5 (u22, u23).
-
- PLDs
- 2x A40MX04-PL84 (u20, u21) - not dumped.
- 1x PALCE22V10H (u16) - not dumped.
-
- Others
- 1x 28x2 edge connector.
- 1x 6 legs connector (J3).
- 1x pushbutton (S5 RESET).
- 1x trimmer (volume).
- 4x 8 DIP switches banks (DSW1-4).
- 1x 4 DIP switches bank (SW5).
- 1x 3.6V Battery (BT1).
-
-*/
-ROM_START( chleagxa )
- ROM_REGION( 0x40000, "maincpu", 0 ) // Each half contains a different set of data+program. The game needs banking.
- ROM_LOAD( "26.u15", 0x10000, 0x10000, CRC(84bf82db) SHA1(725ca115955cc68bc9a8b70fcf3b15ea47b6ffa2) ) // chleagxa, low combination. Cards GFX.
- ROM_CONTINUE( 0x00000, 0x10000)
- ROM_CONTINUE( 0x30000, 0x10000) // chleagxa, high combination. Cans GFX.
- ROM_CONTINUE( 0x20000, 0x10000)
-
- ROM_REGION( 0x60000, "gfx1", 0 )
- ROM_LOAD( "23.u9", 0x40000, 0x20000, CRC(4ac8cc41) SHA1(e4bfd63408511e7d21f140d315493af7fdeba373) )
- ROM_LOAD( "24.u10", 0x20000, 0x20000, CRC(6cb070f0) SHA1(27c34bb6463f3841e27fb61afe32fb94c9aedbd0) )
- ROM_LOAD( "25.u11", 0x00000, 0x20000, CRC(adebfda8) SHA1(32193f8553d70b15d77f6bc3f7c84ffeb5a60cc4) )
-
- ROM_REGION( 0x30000, "gfx2", ROMREGION_ERASE00 )
-ROM_END
-
-
-/*
- Champion League (v220I, dual-program, set 2).
-
- This set has two different programs splitted in quarters.
- Both programs are intended to cover playing cards graphics (2nd quarter program),
- or cans (lattine) graphics to avoid some italian laws... (4th quarter program).
-
- Similar to the above set. See tech notes there.
-
- Specs...
-
- CPUs
- 1x Z0840006PSC (Z80 CPU) @5.997 MHz (u13) - 8-bit Microprocessor - main.
- 1x PIC16C65A-20/P @5.997 MHz (u1) - 8bit CMOS Microcontroller (internal ROM not dumped).
- 1x D71055C (u29) - Parallel Interface Unit.
- 1x KA358 (u4) - Dual Operational Amplifier - sound.
- 1x TDA2003 (u6) - Audio Amplifier - sound.
- 1x YM2413 @3.578 MHz (u3) - FM Operator Type-LL - sound.
-
- 1x 24.000000 MHz oscillator (x2).
- 1x 3.579545 MHz oscillator (x1).
-
- ROMs
- 3x M27C1001 (23, 24, 25) - dumped.
- 1x M27C2001 (26) - dumped.
-
- RAMs
- 2x HM3-65728BH-5 (u22, u23).
- 2x V62C51864L-70P (u7, u14).
-
- PLDs
- 1x PALCE22V10H-25PC/4 (u16) - read protected.
- 2x A40MX04-PL84 (u20, u21) - read protected.
-
- Others
- 1x 28x2 JAMMA edge connector.
- 1x 6 legs connector(J3).
- 1x pushbutton(S5).
- 1x trimmer (volume)(PT1).
- 4x 8 DIP switches banks (DSW1-4).
- 1x 4 DIP switches bank (DSW5).
- 1x 3.6V battery.
-
-*/
-ROM_START( chleagxb )
- ROM_REGION( 0x40000, "maincpu", 0 ) // Each half contains a different set of data+program. The game needs banking.
- ROM_LOAD( "26.u15", 0x10000, 0x10000, CRC(e9555257) SHA1(8a20d8faf8520b928f1979239343bd9de9e66e70) ) // chleagxb, low combination. Cards GFX.
- ROM_CONTINUE( 0x00000, 0x10000)
- ROM_CONTINUE( 0x30000, 0x10000) // chleagxb, high combination. Cans GFX.
- ROM_CONTINUE( 0x20000, 0x10000)
-
- ROM_REGION( 0x60000, "gfx1", 0 )
- ROM_LOAD( "23.u9", 0x40000, 0x20000, CRC(2206fbbb) SHA1(c11e5f6fc460045ae93e44fba9662d8ac613581f) )
- ROM_LOAD( "24.u10", 0x20000, 0x20000, CRC(17a97591) SHA1(e314a02bc7f35386394f0ec78303f59f998fcca5) )
- ROM_LOAD( "25.u11", 0x00000, 0x20000, CRC(d0aba992) SHA1(42844a86bd583977c43582995f50a79d89d8687f) )
-
- ROM_REGION( 0x30000, "gfx2", ROMREGION_ERASE00 )
-ROM_END
-
-
-void igspoker_state::init_number10()
-{
- uint8_t *rom = memregion("maincpu")->base();
- int length = memregion("maincpu")->bytes();
- for (int A = 0; A < length; A++)
- {
- if ((A & 0x09C0) == 0x0880) rom[A] ^= 0x20;
- if ((A & 0x0B40) == 0x0140) rom[A] ^= 0x20;
- }
-
- /* Renable patched out DSW Display in test mode */
- rom[0xA835] = 0xcd;
- rom[0xA836] = 0x3a;
- rom[0xA837] = 0x48;
-
- rom[0xA863] = 0xcd;
- rom[0xA864] = 0x40;
- rom[0xA865] = 0xd3;
-
- rom[0xaade] = 0xcd;
- rom[0xaadf] = 0x17;
- rom[0xaae0] = 0xa5;
-
- /* Fix graphic glitch */
- rom[0x48e8] = 0x19;
- rom[0x48e9] = 0x5e;
- rom[0x48ea] = 0x23;
-
- /* Patch trap */
- rom[0xeed] = 0xc3;
-
- /* Descramble graphic */
- rom = memregion("gfx1")->base();
- length = memregion("gfx1")->bytes();
- std::vector<uint8_t> tmp(length);
- memcpy(&tmp[0],rom,length);
- for (int A = 0; A < length; A++)
- {
- int addr = (A & ~0xffff) | bitswap<16>(A,15,14,13,12,11,10,9,8,7,6,5,4,3,0,1,2);
- rom[A] = tmp[addr];
- }
-}
-
-ROM_START( number10 )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD( "10b.bin", 0x00000, 0x10000, CRC(149935d1) SHA1(8bb2f6bbe8fc5388e058cfce5c554ee9a5de2a6a) )
- ROM_LOAD( "10a.bin", 0x10000, 0x10000, CRC(73c6335b) SHA1(df2893c9ede5379afdd2ffbc50de90d715240a1f) )
-
- ROM_REGION( 0x60000, "gfx1", 0 )
- ROM_LOAD( "11.bin", 0x00000, 0x20000, CRC(7095cc2a) SHA1(a831f4fc219d0660e1bef65bb6ae6b930795bfea) )
- ROM_LOAD( "12.bin", 0x20000, 0x20000, CRC(9cc00079) SHA1(60df16cbc005c3d249ff9342106c4354f47d9740) )
- ROM_LOAD( "13.bin", 0x40000, 0x20000, CRC(44f86441) SHA1(7fd4af167544bc5113e36647bfe2d2653f77f134) )
-
- ROM_REGION( 0x30000, "gfx2", ROMREGION_ERASE00 )
-
- ROM_REGION( 0x40000, "oki", 0 ) /* Oki Samples */
- ROM_LOAD( "9.bin", 0x0000, 0x40000, CRC(dd213b5c) SHA1(82e32aa44eee227d7424553a743df48606bbd48e) )
-ROM_END
-
-ROM_START( numbr10l )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD( "10d.bin", 0x00000, 0x10000, CRC(e1c2b9cc) SHA1(a0943222531b5d0cdc44bd8e1a183107d2e1799d) )
- ROM_LOAD( "10c.bin", 0x10000, 0x10000, CRC(34620db9) SHA1(63bda238f55888d964bad3d70a0dff7d635b7441) )
-
- ROM_REGION( 0x60000, "gfx1", 0 )
- ROM_LOAD( "11.bin", 0x00000, 0x20000, CRC(7095cc2a) SHA1(a831f4fc219d0660e1bef65bb6ae6b930795bfea) )
- ROM_LOAD( "12.bin", 0x20000, 0x20000, CRC(9cc00079) SHA1(60df16cbc005c3d249ff9342106c4354f47d9740) )
- ROM_LOAD( "13.bin", 0x40000, 0x20000, CRC(44f86441) SHA1(7fd4af167544bc5113e36647bfe2d2653f77f134) )
-
- ROM_REGION( 0x30000, "gfx2", ROMREGION_ERASE00 )
-
- ROM_REGION( 0x40000, "oki", 0 ) /* Oki Samples */
- ROM_LOAD( "9.bin", 0x0000, 0x40000, CRC(dd213b5c) SHA1(82e32aa44eee227d7424553a743df48606bbd48e) )
-ROM_END
-
-
-void igspoker_state::init_cpokerpk()
-{
- uint8_t *rom = memregion("maincpu")->base();
- for (int A = 0x0714; A < 0xF000; A += 0x1000)
- rom[A] ^= 0x20;
-}
-
-ROM_START( cpokerpk )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD( "blue.bin", 0x00000, 0x20000, CRC(3e987389) SHA1(ab154db89406590d04270d7b29e60efab15758ca) )
-
- ROM_REGION( 0x80000, "gfx1", 0 )
- ROM_LOAD16_BYTE( "red.bin", 0x00000, 0x40000, CRC(b72fe1e0) SHA1(0507df7e1495aa265b276337c9c151478dd9d376) )
- ROM_LOAD16_BYTE( "white.bin", 0x00001, 0x40000, CRC(bdf55fa4) SHA1(487999d22941a0ef2f3874d31527f45d122aadb0) )
-
- ROM_REGION( 0x40000, "gfx2", ROMREGION_ERASE00 )
-
- ROM_REGION( 0x40000, "oki", 0 ) /* Oki Samples */
- ROM_LOAD( "yellow.bin", 0x0000, 0x40000, CRC(dd213b5c) SHA1(82e32aa44eee227d7424553a743df48606bbd48e) )
-ROM_END
-
-ROM_START( cpokerpkg )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD( "cp.u35", 0x00000, 0x20000, CRC(25e129b9) SHA1(01dc9e09603cef233da28e30194e53ef4cd04475) )
-
- ROM_REGION( 0x80000, "gfx1", 0 )
- ROM_LOAD16_BYTE( "3.u23", 0x00000, 0x40000, CRC(b72fe1e0) SHA1(0507df7e1495aa265b276337c9c151478dd9d376) )
- ROM_LOAD16_BYTE( "2.u25", 0x00001, 0x40000, CRC(bdf55fa4) SHA1(487999d22941a0ef2f3874d31527f45d122aadb0) )
-
- ROM_REGION( 0x40000, "gfx2", ROMREGION_ERASE00 )
-
- ROM_REGION( 0x40000, "oki", 0 ) /* Oki Samples */
- ROM_LOAD( "9.bin", 0x0000, 0x40000, CRC(dd213b5c) SHA1(82e32aa44eee227d7424553a743df48606bbd48e) )
-
- ROM_REGION( 0x2dd, "plds",0 )
- ROM_LOAD( "palce22v10h.u44.bad.dump", 0x000, 0x2dd, BAD_DUMP CRC(5c4e9024) SHA1(e9d1e4df3d79c21f4ce053a84bb7b7a43d650f91) )
-ROM_END
-
-ROM_START( citalcup )
- ROM_REGION( 0x20000, "maincpu", 0 )
- ROM_LOAD( "ic.u35", 0x00000, 0x20000, CRC(f120eb31) SHA1(b87f638d4eebe05323b6952956d44368077f27aa) )
-
- ROM_REGION( 0x80000, "gfx1", 0 )
- ROM_LOAD16_BYTE( "u23.bin", 0x00000, 0x40000, CRC(b8d2be66) SHA1(fc8cec6bbf7cd446e3388a7c0171643a8d8f3064) )
- ROM_LOAD16_BYTE( "u25.bin", 0x00001, 0x40000, CRC(b53b8830) SHA1(9854ab83300e7d79c9ab4e154941bfeb607ae8ff) )
-
- ROM_REGION( 0x40000, "gfx2", ROMREGION_ERASE00 )
-
- ROM_REGION( 0x40000, "oki", 0 ) /* Oki Samples */
- ROM_LOAD( "9.bin", 0x0000, 0x40000, CRC(dd213b5c) SHA1(82e32aa44eee227d7424553a743df48606bbd48e) )
-ROM_END
-
-/*
-
-IGS Tetris. PCB NO-T0039
-
-Chips
-1 x CPU not visible
-1x 8255
-1x IGS 003
-1x IGS 002
-1x AMT 001
-1x YM2413 (sound)
-1x oscillator 12.000MHz
-1x oscillator 3.579545
-
-*/
-
-ROM_START( igstet341 )
- ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "tetris_v-341r.u23", 0x00000, 0x10000, CRC(3a9762e6) SHA1(9307bfba4c715075edc4e3b892acf49d08b14266) )
-
- ROM_REGION( 0x60000, "gfx1", 0 )
- ROM_LOAD( "tetris_1.u4", 0x40000, 0x20000, CRC(6bf90dd5) SHA1(280eb3a54cf5e4fbeeee25d87b10900bba360641) )
- ROM_LOAD( "tetris_2.u5", 0x20000, 0x20000, CRC(7079e79e) SHA1(bc44c446e8a7ee9cb75695ca1c1a27f78e4b3e30) )
- ROM_LOAD( "tetris_3.u6", 0x00000, 0x20000, CRC(8159768d) SHA1(b28026afa8206adbc381dfa461eea842354ea5b6) )
-
- ROM_REGION( 0x30000, "gfx2", ROMREGION_ERASE00 )
-
-ROM_END
-
-void igspoker_state::init_tet341()
-{
- uint8_t *rom = memregion("maincpu")->base();
- for (int A = 0; A < 0x10000; A++)
- {
- rom[A] ^= 0x01;
- if ((A & 0x0060) == 0x0020) rom[A] ^= 0x20;
- if ((A & 0x0282) == 0x0282) rom[A] ^= 0x01;
- if ((A & 0x0940) == 0x0940) rom[A] ^= 0x02;
- }
- memset(&rom[0xf000], 0, 0x1000);
-
- /* Patch trap */
- rom[0xbb86] = 0xc3;
-}
-
-ROM_START( pktet346 )
- ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "v-346i.bin", 0x00000, 0x10000, CRC(8015ef13) SHA1(62841daff380d40c14ddb9c1b3fccdbb287e0b0d) )
-
- ROM_REGION( 0x60000, "gfx1", 0 )
- ROM_LOAD( "346i-1.bin", 0x40000, 0x20000, CRC(1f8ae481) SHA1(259808422ae1c89f08deb982387b342a68afad7f) )
- ROM_LOAD( "346i-2.bin", 0x20000, 0x20000, CRC(f198a24f) SHA1(a4bc5936f8729b00dc3c5034ce5689e4d16284bf) )
- ROM_LOAD( "346i-3.bin", 0x00000, 0x20000, CRC(cfc4954d) SHA1(c68edbe0a7ce6a95d978756d2c1c8c5935786bcc) )
-
- ROM_REGION( 0x30000, "gfx2", ROMREGION_ERASE00 )
-
-ROM_END
-
-void igspoker_state::init_pktet346()
-{
- uint8_t *rom = memregion("maincpu")->base();
- for (int A = 0; A < 0x10000; A++)
- {
- rom[A] ^= 0x21;
- if ((A & 0x0008) == 0x0008) rom[A] ^= 0x20;
- if ((A & 0x0098) == 0x0000) rom[A] ^= 0x20;
- if ((A & 0x0282) == 0x0282) rom[A] ^= 0x01;
- if ((A & 0x0940) == 0x0940) rom[A] ^= 0x02;
- }
- memset(&rom[0xf000], 0, 0x1000);
-
- /* Patch trap */
- rom[0xbb0c] = 0xc3;
-}
-
-
-/*
-
-Cherry master looking board
-
-Big chip with no markings at U80 stickered KUNG FU
- V1.0
- 1992
-
-Board silkscreend on top PCB NO.0013-B
-
-.45 27010 stickered 6
-.44 27010 stickered 5
-.43 27010 stickered 4
-.42 27128 stickered 3
-.41 27128 stickered 2
-.40 27128 stickered 1
-.98 27256 stickered 7 couldn't read chip, but board was silkscreened 27c256
-.97 27512 stickered ? looked like japanese writing
-.38 74s287
-.46 18cv8 <--- same checksum as .48
-.47 pal16l8a <--- checksum was 0
-.48 18cv8 <--- same checksum as .46
-
-unknown 24 pin chip @ u29
-open 24 pin socket @ u54
-12 MHz crystal
-
-5 x DSW8
-3 x NEC D8255AC
-
-*/
-
-ROM_START( kungfu )
- ROM_REGION( 0x20000, "maincpu", ROMREGION_ERASE00 )
- // u97 contains leftover x86 code at 0-3fff (compiled with Borland Turbo-C).
- // You can rename the rom to kungfu.exe and run it (DOS MZ executable)!
- // The rest is Z80 code, so the CPU at u80 is probably a variant with internal ROM.
- ROM_LOAD( "kungfu-internal.u80", 0x00000, 0x04000, NO_DUMP )
- ROM_LOAD( "kungfu.u97", 0x00000, 0x10000, CRC(5c8e16de) SHA1(4af3795753d6e08f528b861d3a771c782e173556) )
- ROM_LOAD( "kungfu-7.u98", 0x10000, 0x08000, CRC(1d3f0c79) SHA1(0a33798b69fbdc0fb7c47c51f5759e42acd2c608) )
-
- ROM_REGION( 0x60000, "gfx1", 0 )
- ROM_LOAD( "kungfu-4.u43", 0x00000, 0x20000, CRC(df4afedb) SHA1(56ab18c46a199653c284417a8e9edc9f32374318) )
- ROM_LOAD( "kungfu-5.u44", 0x20000, 0x20000, CRC(25c9c98e) SHA1(2d3a399d8d53ee5cb8106d2b35d1ab1778439f81) )
- ROM_LOAD( "kungfu-6.u45", 0x40000, 0x20000, CRC(f1ec5f0d) SHA1(0aa888e13312ed5d98953c81f03a61c6175c7fec) )
-
- ROM_REGION( 0x30000, "gfx2", ROMREGION_ERASE00 )
- ROM_LOAD( "kungfu-1.u40", 0x00000, 0x4000, CRC(abaada6b) SHA1(a6b910db7451e8ca737f43f32dfc8fc5ecf865f4) )
- ROM_LOAD( "kungfu-2.u41", 0x10000, 0x4000, CRC(927b3060) SHA1(a780ea5aaee04287cc9533c2d258dc18f8426530) )
- ROM_LOAD( "kungfu-3.u42", 0x20000, 0x4000, CRC(bbf78e03) SHA1(06fee093e75e2611d00c076c2e0a681938fa8b74) )
-
- ROM_REGION( 0x1000, "plds", 0 )
- ROM_LOAD( "kungfu.u38", 0x000, 0x100, CRC(2074f729) SHA1(eb9a60dec57a029ae6d3fc53aa7bc78e8ac34392) )
- ROM_LOAD( "kungfu.u46", 0x000, 0xde1, CRC(5d4aacaf) SHA1(733546ce0585c40833e1c34504c33219a2bea0a9) )
- ROM_LOAD( "kungfu.u47", 0x000, 0xaee, CRC(5c7e25b5) SHA1(7d37e4abfe1256bd9cb168e0f02e651118dfb304) )
- ROM_LOAD( "kungfu.u48", 0x000, 0xde1, CRC(5d4aacaf) SHA1(733546ce0585c40833e1c34504c33219a2bea0a9) )
-ROM_END
-
-void igspoker_state::init_kungfu()
-{
- uint8_t *rom = memregion("maincpu")->base();
-
- for (int A = 0x4000; A < 0x10000; A++)
- {
- rom[A] = rom[A] ^ 0x01;
- }
- memset( &rom[0xf000], 0, 0x1000);
-}
-
-
-GAMEL( 1993?,cpoker, 0, igspoker, cpoker, igspoker_state, init_cpoker, ROT0, "IGS", "Champion Poker (v220I)", 0, layout_igspoker )
-GAMEL( 1993?,cpokert, cpoker, igspoker, cpoker, igspoker_state, init_cpokert, ROT0, "IGS (Tuning license)", "Champion Poker (v200G)", 0, layout_igspoker )
-GAMEL( 1993, cpokerx, cpoker, igspoker, cpokerx, igspoker_state, init_cpokert, ROT0, "IGS", "Champion Poker (v100)", 0, layout_igspoker )
-GAMEL( 1993, cpoker101, cpoker, igspoker, cpokerx, igspoker_state, init_cpoker101, ROT0, "IGS", "Champion Poker (v101)", 0, layout_igspoker ) // need to fix lamps/layout
-GAMEL( 1993, cpoker201f, cpoker, igspoker, cpoker, igspoker_state, init_cpoker101, ROT0, "IGS", "Champion Poker (v201F)", 0, layout_igspoker )
-GAMEL( 1993, cpoker210ks, cpoker, igspoker, cpokerx, igspoker_state, init_cpoker101, ROT0, "IGS", "Champion Poker (v210KS)", MACHINE_NOT_WORKING, layout_igspoker ) // need to verify protection handling and inputs/outputs
-GAMEL( 1993, cpoker300us, cpoker, igspoker, cpoker, igspoker_state, init_cpoker300us, ROT0, "IGS", "Champion Poker (v300US)", MACHINE_NOT_WORKING, layout_igspoker ) // need to verify protection handling and inputs/outputs
-
-GAMEL( 2000, chleague, 0, igspoker, chleague, igspoker_state, init_chleague, ROT0, "IGS", "Champion League (v220I, Poker)", 0, layout_igspoker )
-GAMEL( 2000, chleagul, chleague, igspoker, chleague, igspoker_state, init_chleague, ROT0, "IGS", "Champion League (v220I, Lattine)", 0, layout_igspoker )
-GAMEL( 1998, chleagxa, chleague, igspoker, chleague, igspoker_state, init_chleague, ROT0, "PlayMark SRL", "Champion League (v220I, dual program, set 1)", 0, layout_igspoker )
-GAMEL( 1998, chleagxb, chleague, igspoker, chleague, igspoker_state, init_chleague, ROT0, "PlayMark SRL", "Champion League (v220I, dual program, set 2)", 0, layout_igspoker )
-
-GAMEL( 198?, csk227it, 0, csk227it, csk227, igspoker_state, init_cska, ROT0, "IGS", "Champion Skill (with Ability)", 0, layout_igspoker ) /* SU 062 */
-GAMEL( 198?, csk234it, csk227it, csk234it, csk234, igspoker_state, init_cska, ROT0, "IGS", "Champion Skill (Ability, Poker & Symbols)", 0, layout_igspoker ) /* SU 062 */
-
-GAMEL( 2000, number10, 0, number10, number10, igspoker_state, init_number10, ROT0, "PlayMark SRL", "Number Dieci (Poker)", 0, layout_igspoker )
-GAMEL( 2000, numbr10l, number10, number10, number10, igspoker_state, init_number10, ROT0, "PlayMark SRL", "Number Dieci (Lattine)", 0, layout_igspoker )
-
-GAMEL( 198?, igs_ncs, 0, igs_ncs, igs_ncs, igspoker_state, init_igs_ncs, ROT0, "IGS", "New Champion Skill (v100n)", 0, layout_igspoker ) /* SU 062 */
-
-GAMEL( 199?, cpokerpk, 0, cpokerpk, cpokerpk, igspoker_state, init_cpokerpk, ROT0, "bootleg (SGS)", "Champion Italian PK (bootleg, blue board)", 0, layout_igspoker )
-GAMEL( 199?, cpokerpkg, cpokerpk, cpokerpk, cpokerpk, igspoker_state, init_cpokerpk, ROT0, "bootleg (SGS)", "Champion Italian PK (bootleg, green board)", 0, layout_igspoker )
-GAMEL( 199?, citalcup, cpokerpk, cpokerpk, cpokerpk, igspoker_state, init_cpokerpk, ROT0, "bootleg (SGS)", "Champion Italian Cup (bootleg V220IT)", 0, layout_igspoker )
-
-GAMEL( 2000, igs_ncs2, 0, igs_ncs, igs_ncs, igspoker_state, init_igs_ncs2, ROT0, "IGS", "New Champion Skill (v100n 2000)", MACHINE_IMPERFECT_GRAPHICS, layout_igspoker )
-
-GAMEL( 1998, stellecu, 0, number10, number10, igspoker_state, empty_init, ROT0, "Sure", "Stelle e Cubi (Italy)", MACHINE_NOT_WORKING, layout_igspoker )
-
-GAMEL( 1993?,pktet346, 0, pktetris, pktet346, igspoker_state, init_pktet346, ROT0, "IGS", "PK Tetris (v346I)", 0, layout_igspoker )
-GAMEL( 199?, igstet341, pktet346, pktetris, igstet341,igspoker_state, init_tet341, ROT0, "IGS", "Tetris (v341R)", 0, layout_igspoker )
-
-GAMEL( 1992, kungfu, 0, igspoker, cpoker, igspoker_state, init_kungfu, ROT0, "IGS", "Kung Fu (IGS, v100)", MACHINE_NOT_WORKING, layout_igspoker )