summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/subsino.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/subsino.cpp')
-rw-r--r--src/mame/drivers/subsino.cpp3925
1 files changed, 0 insertions, 3925 deletions
diff --git a/src/mame/drivers/subsino.cpp b/src/mame/drivers/subsino.cpp
deleted file mode 100644
index 331eb20bde6..00000000000
--- a/src/mame/drivers/subsino.cpp
+++ /dev/null
@@ -1,3925 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Luca Elia, David Haywood, Angelo Salese, Roberto Fresca
-/***************************************************************************
-
- -= Subsino's Gambling Games =-
-
- Driver by Luca Elia (l.elia@tin.it)
- Additional work by David Haywood, Angelo Salese and Roberto Fresca.
-
-
- CPU: Black epoxy box containing:
- 1x CXK58257M (32768 x 8-Bit) High Speed CMOS SRAM.
- 1x HD647180X0P6, HD643180X0P6 or HD641180X0P6 Z180-CPU.
- 1x X-TAL (unknown frequency).
- 1x Battery.
-
- GFX: 1 Tilemap (8x8 tiles, no scrolling)
- CUSTOM: 2 x SUBSINO SS9100, SUBSINO SS9101
- SOUND: M6295, YM2413 or YM3812
- OTHER: Battery
-
-To Do:
-
-- Remove ROM patches from smoto, stbsub and tesorone, emulate the protection instead.
-- Hopper emulation currently hooked up in stbsub, tesorone and smoto. Add to others.
-
-****************************************************************************
-
- Game Notes:
- ----------
-
-
- * Victor5, Victor 21, Shark Party.
-
- To enter the bookkeeping mode press STATS (key 9).
- Press START/DEAL (key 2) to exit.
-
-
- * Treasure Island.
-
- To enter test mode, keep STATS/TEST (key 9) pressed during boot.
- HOLD3 (key C) to increase the tune/sound number, START (key 2) to decrease it.
-
- To enter the bookkeeping mode press STATS/TEST (key 9).
- Press START/TAKE (key 2) to exit.
-
-
- * Poker Carnival (crsbingo)
-
- To adjust the game rate, press SETTINGS (key 0) and then use HOLD4 (key V)
- to choose the individual game to set. Press HOLD5 (key B) to change value.
- Press START/DEAL (key 2) to exit.
-
- To enter the bookkeeping mode press STATS (key 9).
- Press START/DEAL (key 2) to exit.
-
-
- * Super Rider, Super Moto
-
- To enter test mode, keep STATS/TEST (key 9) pressed during boot.
- HOLD5 (key B) to select between VOICE <-> MUSIC.
- HOLD4 (key V) to increase the tune/sound number, START (key 2) to decrease it.
-
- To enter the bookkeeping mode press STATS/TEST (key 9).
- Press START/DEAL (key 2) to exit.
-
-
-****************************************************************************
-
- Updates:
-
- 2010-01-01 / 2010-01-16
- -----------------------
-
- (general):
-
- - Lowered CPU clock to 1.5 MHz.
- - Reworked former inputs.
- - Added specific game and technical notes.
- - Added lamps support.
- - Cleaned-up a bit the driver.
-
- Victor 5:
-
- - Mapped the M6295 but commented out due to missing sample roms.
- - Added keyin, keyout, payout, stats and settings inputs.
- - Added coin/keyin/keyout counters.
- - Limited the bet and coin pulses to avoid repeats and coin jams.
- - Added complete coinage and keyin DIP switches.
- - Added main game and double-up rates DIP switches.
- - Added minimum bet DIP switches.
- - Added maximum bet DIP switches.
- - Added attract music DIP switch.
- - Added button-lamps layout.
-
- Victor 21:
-
- - Mapped the M6295 but commented out due to missing sample roms.
- - Added bet x10, keyin, keyout, stats and settings inputs.
- - Added coin/keyin/keyout/payout counters.
- - Limited the bet and coin pulses to avoid repeats and coin jams.
- - Added complete coinage and keyin DIP switches.
- - Added main game rate DIP switches.
- - Added minimum bet DIP switches.
- - Added attract music DIP switch.
- - Added button-lamps layout.
-
- Poker Carnival (crsbingo):
-
- - Added change card, keyin, keyout, stats and settings inputs.
- - Added coin/keyin/keyout/payout counters.
- - Limited the bet and coin pulses to avoid repeats and coin jams.
- - Added complete coinage and keyin DIP switches.
- - Added double-up rate DIP switches.
- - Added minimum bet DIP switches.
- - Added maximum bet DIP switches.
- - Added cards graphics DIP switches.
- - Added double-up type DIP switches.
- - Added button-lamps layout.
-
- Super Rider, Super Moto:
-
- - Added stats and settings inputs.
- - Added coin counters.
- - Added main game and double-up rates DIP switches.
- - Added double-up and control type DIP switches.
- - Added coinage and demo sounds DIP switches.
- - Added button-lamps layout.
-
- Shark Party:
-
- - Added stats and settings inputs.
- - Added coin counters.
- - Added main game and double-up rates DIP switches.
- - Added double-up, coinage and demo sounds DIP switches.
- - Added button-lamps layout.
-
-
- 2010-02-03
- ----------
-
- Treasure Island:
-
- - Added proper inputs.
- - Added coin/keyin/keyout/payout counters.
- - Limited the bet and coin pulses to avoid repeats and coin jams.
- - Added complete coinage and keyin DIP switches.
- - Added main game and double-up rates DIP switches.
- - Added minimum bet DIP switches.
- - Added maximum bet DIP switches.
- - Added main game and double-up limit DIP switches.
- - Added payout mode and auto take DIP switches.
- - Added DIP locations as seen in the settings mode.
- - Added demo sounds DIP switch.
- - Created proper button-lamps layout.
- - Added technical notes.
- - Some clean-ups...
-
-
- 2010-04-20
- ----------
-
- Shark Party (English, Alpha license):
-
- - Created complete inputs from the scratch.
- - Added coin/keyin/keyout counters.
- - Added main game and double-up rates DIP switches.
- - Added minimum bet DIP switches.
- - Added maximum bet DIP switches.
- - Added complete coinage and remote credits DIP switches.
- - Added jokers and demo sounds DIP switches.
- - Figured out and documented all the game outputs.
- - Created proper button-lamps layout.
-
- Now the game is in full-working state.
-
-
- 2010-04-22
- ----------
-
- Treasure Bonus (Subsino)
-
- - Reworked and cleaned-up the inputs.
- Most buttons have more than one single function.
- - Added DIP locations.
- - Figured out the following DIP Switches:
- Complete Coinage (1/2/5/10/20/25/50/100).
- Remote Credits (1/2/5/10/20/25/50/100).
- Minimum Bet (1/8/16/32).
- Max Bet (16/32/64/80).
- Demo Sounds (Off/On).
- Game Limit (10000/20000/30000/60000).
- Double-Up (No/Yes).
- Win Rate (84/86/88/90/92/94/96%).
- Double-Up Level (0/1/2/3/4/5/6/7).
- Double-Up Game (Dancers / Panties Colors / Cards / Seven-Bingo).
-
- - Fixed inverted functions and buggy inputs.
- - Added lamps support.
- - Created button-lamps layout.
- - Remapped inputs to reflect the controls layout. This way is more
- user-friendly since controls are straight with button-lamps.
- - Added coin/keyin/keyout/payout counters.
- - Removed the pulse limitation in the BET input. This allow it to work
- as BET and STOP2 properly.
- - Added technical notes.
-
-
- 2010-10-12
- ----------
-
- - Added Victor 6 (3 sets).
- - Created proper inputs for all sets.
-
-
- 2019-07-31
- ----------
-
- - Added Victor 5 (otiginal set, now parent).
- - Dumped the samples ROMs of Victor 5 and Victor 21, and hooked the OKI6295.
-
-
-***************************************************************************/
-
-#include "emu.h"
-#include "cpu/z180/hd647180x.h"
-#include "machine/i8255.h"
-#include "machine/nvram.h"
-#include "machine/subsino.h"
-#include "machine/ticket.h"
-#include "sound/okim6295.h"
-#include "sound/ym2413.h"
-#include "sound/3812intf.h"
-#include "video/ramdac.h"
-#include "emupal.h"
-#include "screen.h"
-#include "speaker.h"
-#include "tilemap.h"
-
-#include "victor5.lh"
-#include "victor21.lh"
-#include "crsbingo.lh"
-#include "sharkpy.lh"
-#include "sharkpye.lh"
-#include "smoto.lh"
-#include "tisub.lh"
-#include "stisub.lh"
-
-class subsino_state : public driver_device
-{
-public:
- subsino_state(const machine_config &mconfig, device_type type, const char *tag) :
- driver_device(mconfig, type, tag),
- m_colorram(*this, "colorram"),
- m_videoram(*this, "videoram"),
- m_reel_scroll(*this, "reel_scroll.%u", 0U),
- m_reel_ram(*this, "reel_ram.%u", 0U),
- m_stbsub_out_c(*this, "stbsub_out_c"),
- m_maincpu(*this, "maincpu"),
- m_gfxdecode(*this, "gfxdecode"),
- m_palette(*this, "palette"),
- m_hopper(*this, "hopper"),
- m_lamps(*this, "lamp%u", 0U) {
- }
-
- void mtrainnv(machine_config &config);
- void stbsub(machine_config &config);
- void tisub(machine_config &config);
- void crsbingo(machine_config &config);
- void srider(machine_config &config);
- void victor21(machine_config &config);
- void sharkpy(machine_config &config);
- void victor5(machine_config &config);
-
- void init_stbsub();
- void init_stisub();
- void init_tesorone();
- void init_tesorone230();
- void init_smoto20();
- void init_sharkpy();
- void init_smoto16();
- void init_crsbingo();
- void init_victor21();
- void init_victor5();
- void init_tisuba();
- void init_sharkpye();
- void init_tisub();
- void init_mtrainnv();
-
-protected:
- virtual void machine_start() override;
-
-private:
- required_shared_ptr<uint8_t> m_colorram;
- required_shared_ptr<uint8_t> m_videoram;
- optional_shared_ptr_array<uint8_t, 3> m_reel_scroll;
- optional_shared_ptr_array<uint8_t, 3> m_reel_ram;
- optional_shared_ptr<uint8_t> m_stbsub_out_c;
- required_device<cpu_device> m_maincpu;
- required_device<gfxdecode_device> m_gfxdecode;
- required_device<palette_device> m_palette;
- required_device<ticket_dispenser_device> m_hopper;
- output_finder<16> m_lamps;
-
- tilemap_t *m_tmap;
- tilemap_t *m_reel_tilemap[3];
- int m_tiles_offset;
- uint8_t m_out_c;
- std::unique_ptr<uint8_t[]> m_reel_attr[3];
- uint8_t m_flash_val;
- uint8_t m_flash_packet;
- uint8_t m_flash_packet_start;
-
- DECLARE_WRITE8_MEMBER(tiles_offset_w);
- DECLARE_WRITE8_MEMBER(videoram_w);
- DECLARE_WRITE8_MEMBER(colorram_w);
- template<uint8_t Reel> DECLARE_WRITE8_MEMBER(reel_ram_w);
- DECLARE_WRITE8_MEMBER(out_a_w);
- DECLARE_WRITE8_MEMBER(out_b_w);
- DECLARE_READ8_MEMBER(flash_r);
- DECLARE_WRITE8_MEMBER(flash_w);
- DECLARE_READ8_MEMBER(hwcheck_r);
- DECLARE_WRITE8_MEMBER(out_c_w);
- DECLARE_WRITE8_MEMBER(reel_scrollattr_w);
- DECLARE_READ8_MEMBER(reel_scrollattr_r);
-
- TILE_GET_INFO_MEMBER(get_tile_info);
- TILE_GET_INFO_MEMBER(get_stbsub_tile_info);
- template<uint8_t Reel> TILE_GET_INFO_MEMBER(get_reel_tile_info);
- template<uint8_t Reel> TILE_GET_INFO_MEMBER(get_stbsub_reel_tile_info);
- DECLARE_VIDEO_START(subsino);
- void _2proms_palette(palette_device &palette) const;
- void _3proms_palette(palette_device &palette) const;
- DECLARE_VIDEO_START(reels);
- DECLARE_VIDEO_START(stbsub);
- uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- uint32_t screen_update_reels(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- uint32_t screen_update_stbsub_reels(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
-
- void crsbingo_map(address_map &map);
- void mtrainnv_map(address_map &map);
- void ramdac_map(address_map &map);
- void sharkpy_map(address_map &map);
- void srider_map(address_map &map);
- void stbsub_map(address_map &map);
- void subsino_iomap(address_map &map);
- void tisub_map(address_map &map);
- void victor21_map(address_map &map);
- void victor5_map(address_map &map);
-};
-
-void subsino_state::machine_start()
-{
- m_lamps.resolve();
-
- save_item(NAME(m_tiles_offset));
- save_item(NAME(m_out_c));
-}
-
-/***************************************************************************
-* Video Hardware *
-***************************************************************************/
-
-
-WRITE8_MEMBER(subsino_state::tiles_offset_w)
-{
- m_tiles_offset = (data & 1) ? 0x1000: 0;
- m_tmap->mark_tile_dirty(offset);
-// popmessage("gfx %02x",data);
-}
-
-WRITE8_MEMBER(subsino_state::videoram_w)
-{
- m_videoram[offset] = data;
- m_tmap->mark_tile_dirty(offset);
-}
-
-WRITE8_MEMBER(subsino_state::colorram_w)
-{
- m_colorram[offset] = data;
- m_tmap->mark_tile_dirty(offset);
-}
-
-TILE_GET_INFO_MEMBER(subsino_state::get_tile_info)
-{
- uint16_t code = m_videoram[ tile_index ] + (m_colorram[ tile_index ] << 8);
- uint16_t color = (code >> 8) & 0x0f;
- code = ((code & 0xf000) >> 4) + ((code & 0xff) >> 0);
- code += m_tiles_offset;
- SET_TILE_INFO_MEMBER(0, code, color, 0);
-}
-
-TILE_GET_INFO_MEMBER(subsino_state::get_stbsub_tile_info)
-{
- uint16_t code = m_videoram[ tile_index ] + (m_colorram[ tile_index ] << 8);
- code&= 0x3fff;
- SET_TILE_INFO_MEMBER(0, code, 0, 0);
-}
-
-
-VIDEO_START_MEMBER(subsino_state,subsino)
-{
- m_tmap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(subsino_state::get_tile_info)), TILEMAP_SCAN_ROWS, 8,8, 0x40,0x20);
- m_tmap->set_transparent_pen(0 );
- m_tiles_offset = 0;
-}
-
-
-template<uint8_t Reel>
-WRITE8_MEMBER(subsino_state::reel_ram_w)
-{
- m_reel_ram[Reel][offset] = data;
- m_reel_tilemap[Reel]->mark_tile_dirty(offset);
-}
-
-template<uint8_t Reel>
-TILE_GET_INFO_MEMBER(subsino_state::get_reel_tile_info)
-{
- int code = m_reel_ram[Reel][tile_index];
- int colour = (m_out_c&0x7) + 8;
-
- SET_TILE_INFO_MEMBER(1,
- code,
- colour,
- 0);
-}
-
-template<uint8_t Reel>
-TILE_GET_INFO_MEMBER(subsino_state::get_stbsub_reel_tile_info)
-{
- int code = m_reel_ram[Reel][tile_index];
- int attr = m_reel_attr[Reel][tile_index];
-
- SET_TILE_INFO_MEMBER(1,
- code | (attr << 8),
- 0,
- 0);
-}
-
-
-VIDEO_START_MEMBER(subsino_state, reels)
-{
- VIDEO_START_CALL_MEMBER( subsino );
-
- m_reel_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(subsino_state::get_reel_tile_info<0>)), TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
- m_reel_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(subsino_state::get_reel_tile_info<1>)), TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
- m_reel_tilemap[2] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(subsino_state::get_reel_tile_info<2>)), TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
-
- m_reel_tilemap[0]->set_scroll_cols(64);
- m_reel_tilemap[1]->set_scroll_cols(64);
- m_reel_tilemap[2]->set_scroll_cols(64);
-
-}
-
-VIDEO_START_MEMBER(subsino_state,stbsub)
-{
- m_tmap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(subsino_state::get_stbsub_tile_info)), TILEMAP_SCAN_ROWS, 8, 8, 0x40, 0x20);
- m_tmap->set_transparent_pen(0 );
-
- m_reel_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(subsino_state::get_stbsub_reel_tile_info<0>)), TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
- m_reel_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(subsino_state::get_stbsub_reel_tile_info<1>)), TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
- m_reel_tilemap[2] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(subsino_state::get_stbsub_reel_tile_info<2>)), TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
-
- m_reel_tilemap[0]->set_scroll_cols(64);
- m_reel_tilemap[1]->set_scroll_cols(64);
- m_reel_tilemap[2]->set_scroll_cols(64);
-
- m_out_c = 0x08;
-}
-
-
-uint32_t subsino_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
-{
- bitmap.fill(0, cliprect);
- m_tmap->draw(screen, bitmap, cliprect, 0, 0);
- return 0;
-}
-
-uint32_t subsino_state::screen_update_reels(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
-{
- bitmap.fill(0, cliprect);
-
- for (uint8_t reel = 0; reel < 3; reel++)
- {
- for (int i = 0; i < 64; i++)
- {
- m_reel_tilemap[reel]->set_scrolly(i, m_reel_scroll[reel][i]);
- }
- }
-
- if (m_out_c&0x08)
- {
- // are these hardcoded, or registers?
- const rectangle visible1(0*8, (14+48)*8-1, 4*8, (4+7)*8-1);
- const rectangle visible2(0*8, (14+48)*8-1, 10*8, (10+7)*8-1);
- const rectangle visible3(0*8, (14+48)*8-1, 18*8, (18+7)*8-1);
-
- m_reel_tilemap[0]->draw(screen, bitmap, visible1, 0, 0);
- m_reel_tilemap[1]->draw(screen, bitmap, visible2, 0, 0);
- m_reel_tilemap[2]->draw(screen, bitmap, visible3, 0, 0);
- }
-
- m_tmap->draw(screen, bitmap, cliprect, 0, 0);
- return 0;
-}
-
-
-uint32_t subsino_state::screen_update_stbsub_reels(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
-{
- bitmap.fill(0, cliprect);
-
- if (m_reel_attr[0])
- {
- for (uint8_t reel = 0; reel < 3; reel++)
- m_reel_tilemap[reel]->mark_all_dirty();
- }
-
- for (uint8_t reel = 0; reel < 3; reel++)
- {
- for (int i = 0; i < 64; i++)
- {
- m_reel_tilemap[reel]->set_scrolly(i, m_reel_scroll[reel][i]);
- }
- }
-
- if (m_out_c & 0x08)
- {
- // areas based on d-up game in attract mode
- const rectangle visible1(0, 511, 0, 87);
- const rectangle visible2(0, 511, 88, 143);
- const rectangle visible3(0, 511, 144, 223);
-
- m_reel_tilemap[0]->draw(screen, bitmap, visible1, 0, 0);
- m_reel_tilemap[1]->draw(screen, bitmap, visible2, 0, 0);
- m_reel_tilemap[2]->draw(screen, bitmap, visible3, 0, 0);
- }
-
- m_tmap->draw(screen, bitmap, cliprect, 0, 0);
- return 0;
-}
-
-
-void subsino_state::_2proms_palette(palette_device &palette) const
-{
- uint8_t const *const color_prom = memregion("proms")->base();
- for (int i = 0; i < 256; i++)
- {
- int bit0, bit1, bit2;
- int const val = color_prom[i | 0x100] | (color_prom[i | 0x000] << 4);
-
- bit0 = 0;
- bit1 = BIT(val, 6);
- bit2 = BIT(val, 7);
- int const b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
-
- bit0 = BIT(val, 3);
- bit1 = BIT(val, 4);
- bit2 = BIT(val, 5);
- int const g = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
-
- bit0 = BIT(val, 0);
- bit1 = BIT(val, 1);
- bit2 = BIT(val, 2);
- int const r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
-
- palette.set_pen_color(i, rgb_t(r, g, b));
- }
-}
-
-void subsino_state::_3proms_palette(palette_device &palette) const
-{
- uint8_t const *const color_prom = memregion("proms")->base();
- for (int i = 0; i < 256; i++)
- {
- int bit0, bit1, bit2;
- int const val = color_prom[i | 0x000] | (color_prom[i | 0x100] << 3) | (color_prom[i | 0x200] << 6);
-
- bit0 = 0;
- bit1 = BIT(val, 7);
- bit2 = BIT(val, 6);
- int const b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
-
- bit0 = BIT(val, 5);
- bit1 = BIT(val, 4);
- bit2 = BIT(val, 3);
- int const g = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
-
- bit0 = BIT(val, 2);
- bit1 = BIT(val, 1);
- bit2 = BIT(val, 0);
- int const r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
-
- palette.set_pen_color(i, rgb_t(r, g, b));
- }
-}
-
-
-/***************************************************************************
-* Lamps & other outputs. *
-***************************************************************************/
-
-WRITE8_MEMBER(subsino_state::out_a_w)
-{
-/***** COIN PULSE: *****
-
-
- * Victor 5, Victor 21, Poker Carnival (crsbingo),
- Shark Party (English, Alpha license), Treasure Bonus (Subsino).
-
- 7654 3210
- ---- ---x Coin pulse.
- ---- --x- Key In pulse.
- ---x ---- Key Out pulse.
- --x- ---- Payout pulse.
-
-
- * Treasure Island.
-
- 7654 3210
- ---- ---x Key In pulse.
- ---- --x- Coin pulse.
- ---x ---- Key Out pulse.
- --x- ---- Payout pulse.
-
-
- * Super Rider, Super Moto, Shark Party.
-
- 7654 3210
- ---- --x- Coin pulse.
-
-*/
-
- for (int i = 0; i < 8; i++) // Lamps 8 - 15
- m_lamps[i + 8] = BIT(data, i);
-
- machine().bookkeeping().coin_counter_w(0, data & 0x01 ); /* coin / keyin */
- machine().bookkeeping().coin_counter_w(1, data & 0x02 ); /* keyin / coin */
- machine().bookkeeping().coin_counter_w(2, data & 0x10 ); /* keyout */
- machine().bookkeeping().coin_counter_w(3, data & 0x20 ); /* payout */
-
- m_hopper->motor_w(BIT(data, 5)); // hopper motor
-
-// popmessage("Out A %02x",data);
-}
-
-WRITE8_MEMBER(subsino_state::out_b_w)
-{
-/***** LAMPS: *****
-
- * Victor 5.
-
- 7654 3210
- ---- ---x HOLD2.
- ---- --x- BET.
- ---- -x-- ???.
- ---- x--- START / TAKE.
- ---x ---- HOLD1.
- --x- ---- HOLD5 / SMALL.
- -x-- ---- HOLD3 / HALF TAKE.
- x--- ---- HOLD4 / BIG.
-
-
- * Victor 21.
-
- 7654 3210
- ---- ---x DOUBLE (or SPLIT?).
- ---- --x- BET.
- ---- -x-- SPLIT (or DOUBLE?).
- ---- x--- STAND.
- ---x ---- ???.
- --x- ---- DEAL / HIT.
- -x-- ---- ???.
- x--- ---- GAME OVER?.
-
-
- * Treasure Island.
-
- 7654 3210
- ---- ---x HOLD1.
- ---- --x- HOLD2 / BIG.
- ---- -x-- ???.
- ---- x--- BET.
- ---x ---- DOUBLE / INFO.
- --x- ---- START / TAKE.
- -x-- ---- HOLD3 / SMALL.
- x--- ---- ???.
-
-
- * Poker Carnival (crsbingo).
-
- 7654 3210
- ---- ---x HOLD2 / DOUBLE.
- ---- --x- BET.
- ---- -x-- ???.
- ---- x--- START / TAKE.
- ---x ---- HOLD1.
- --x- ---- HOLD5 / SMALL.
- -x-- ---- HOLD3 / CHANGE.
- x--- ---- HOLD4 / BIG.
-
-
- * Super Rider, Super Moto.
-
- 7654 3210
- ---- ---x HOLD1 / SELECT.
- ---- --x- HOLD2.
- ---- -x-- ???.
- ---- x--- BET.
- ---x ---- HOLD3.
- --x- ---- START / TAKE.
- -x-- ---- HOLD4.
- x--- ---- HOLD5. Also TEST button (bookkeeping) lamp is routed here.
-
-
- * Shark Party.
-
- 7654 3210
- ---- ---x HOLD3.
- ---- --x- HOLD4 / BIG.
- ---- -x-- ???.
- ---- x--- BET.
- ---x ---- HOLD1 / DOUBLE.
- --x- ---- START / TAKE.
- -x-- ---- HOLD2.
- x--- ---- HOLD5 / SMALL.
-
-
- * Shark Party (English, Alpha license).
-
- 7654 3210
- ---- ---x ???.
- ---- --x- HOLD3 / D-UP.
- ---- -x-- START.
- ---- x--- HOLD1 / BET.
- ---x ---- ???.
- --x- ---- HOLD2 / TAKE.
- -x-- ---- ???.
- x--- ---- HOLD4 & HOLD5.
-
-
- * Treasure Bonus (Subsino).
-
- 7654 3210
- ---- ---x SMALL / RED / STOP3.
- ---- --x- D-UP / INFO.
- ---- -x-- START / STOP ALL.
- ---- x--- BET / STOP2.
- ---x ---- ???.
- --x- ---- TAKE / STOP1.
- -x-- ---- ???.
- x--- ---- BIG / BLACK.
-
-
- After seeing the button/lamps functions, I think that controls layout should be
- arranged the following way:
-
- ________ ________ ________ ________ ________ __________
- | | | | | | | | | | | |
- | D-UP | | TAKE | | BET | | SMALL | | BIG | | START |
- | INFO | | STOP 1 | | STOP 2 | | STOP 3 | | | | STOP ALL |
- |________| |________| |________| |________| |________| |__________|
-
- Key 'Z' Key 'X' Key 'C' Key 'V' Key 'B' Key 'N'
-
- Mapped to the above keys to be more user-friendly.
-
-*/
-
- // Lamps 0 - 7
- for (int i = 0; i < 8; i++)
- m_lamps[i] = BIT(data, i);
-
-// popmessage("Out B %02x",data);
-}
-
-
-/***************************************************************************
-* Memory Maps *
-***************************************************************************/
-
-void subsino_state::srider_map(address_map &map)
-{
- map(0x00000, 0x0bfff).rom();
- map(0x0c000, 0x0cfff).ram();
- map(0x0d000, 0x0d002).r("ppi1", FUNC(i8255_device::read));
- map(0x0d004, 0x0d006).r("ppi2", FUNC(i8255_device::read));
- map(0x0d009, 0x0d009).w(FUNC(subsino_state::out_b_w));
- map(0x0d00a, 0x0d00a).w(FUNC(subsino_state::out_a_w));
- map(0x0d00c, 0x0d00c).portr("INC");
- map(0x0d016, 0x0d017).w("ymsnd", FUNC(ym3812_device::write));
- map(0x0d018, 0x0d018).w("oki", FUNC(okim6295_device::write));
- map(0x0d01b, 0x0d01b).w(FUNC(subsino_state::tiles_offset_w));
- map(0x0e000, 0x0e7ff).ram().w(FUNC(subsino_state::colorram_w)).share("colorram");
- map(0x0e800, 0x0efff).ram().w(FUNC(subsino_state::videoram_w)).share("videoram");
-}
-
-void subsino_state::sharkpy_map(address_map &map)
-{
- map(0x00000, 0x13fff).rom(); //overlap unmapped regions
- map(0x09800, 0x09fff).ram();
- map(0x09000, 0x09002).r("ppi1", FUNC(i8255_device::read));
- map(0x09004, 0x09006).r("ppi2", FUNC(i8255_device::read));
- map(0x09009, 0x09009).w(FUNC(subsino_state::out_b_w));
- map(0x0900a, 0x0900a).w(FUNC(subsino_state::out_a_w));
- map(0x0900c, 0x0900c).portr("INC");
- map(0x09016, 0x09017).w("ymsnd", FUNC(ym3812_device::write));
- map(0x09018, 0x09018).w("oki", FUNC(okim6295_device::write));
- map(0x0901b, 0x0901b).w(FUNC(subsino_state::tiles_offset_w));
- map(0x07800, 0x07fff).ram();
- map(0x08000, 0x087ff).ram().w(FUNC(subsino_state::colorram_w)).share("colorram");
- map(0x08800, 0x08fff).ram().w(FUNC(subsino_state::videoram_w)).share("videoram");
-}
-
-/*
-Victor 21 protection is absolutely trivial. At every number of presetted hands, there's an animation
-that announces to the player that the card deck changes. If the protection check fails (at start-up),
-this event makes the game to reset without any money in the bank.
-*/
-
-void subsino_state::victor21_map(address_map &map)
-{
- map(0x00000, 0x08fff).rom(); //overlap unmapped regions
- map(0x09800, 0x09fff).ram();
- map(0x09000, 0x09003).rw("ppi", FUNC(i8255_device::read), FUNC(i8255_device::write));
- map(0x09004, 0x09004).portr("INA");
- map(0x09005, 0x09005).portr("INB");
- map(0x09006, 0x09006).portr("SW1");
- map(0x09007, 0x09007).portr("SW2");
- map(0x09008, 0x09008).portr("SW3");
- map(0x0900b, 0x0900b).ram(); //protection
- map(0x0900c, 0x0900c).w("oki", FUNC(okim6295_device::write));
- map(0x0900e, 0x0900f).w("ymsnd", FUNC(ym2413_device::write));
- map(0x0900d, 0x0900d).w(FUNC(subsino_state::tiles_offset_w));
- map(0x07800, 0x07fff).ram();
- map(0x08000, 0x087ff).ram().w(FUNC(subsino_state::videoram_w)).share("videoram");
- map(0x08800, 0x08fff).ram().w(FUNC(subsino_state::colorram_w)).share("colorram");
- map(0x10000, 0x13fff).rom();
-}
-
-
-/*
-Victor 5 has a protection device that calculates the combinations of the screen.
-0x00 = you lose
-0x01 = royal flush
-0x02 = 5 of a kind
- ...
-0x0a = jacks of better
-
-0xd9 is asked at the POST, game refuses to run otherwise.
-
-The fun thing is that the main CPU actually calculates the combinations then it routes to this port
-thru packet writes, 0xd* starts the packet, 0xe* ends the packet.
-I'm fairly sure that this thing can do a lot more, the POST check makes me think that 0xd9 is actually a result of a RNG.
-For now we'll emulate the bare minimum to let this game to work, obviously we need tests/tracing on the real board to understand
-what it is exactly and what it can possibly do.
-*/
-
-
-READ8_MEMBER(subsino_state::flash_r)
-{
-// printf("R %02x\n",m_flash_val);
-
- if(m_flash_val == 0xff)
- return 0xd9;
- else if(m_flash_val <= 0xa)
- return m_flash_val;
- else if(m_flash_val == 0x92)
- return 0xeb; //protected GFXs in Cross Bingo
- else
- return 0xd9;
-}
-
-WRITE8_MEMBER(subsino_state::flash_w)
-{
- switch(m_flash_packet_start)
- {
- case 0:
- m_flash_packet = data;
- if((m_flash_packet & 0xf8) == 0xd0)
- m_flash_packet_start = 1; //start of packet
- break;
- case 1:
- m_flash_packet = data;
- if((m_flash_packet & 0xf8) == 0xe0)
- m_flash_packet_start = 0; //end of packet
- else
- m_flash_val = data;
- break;
- }
-}
-
-void subsino_state::victor5_map(address_map &map)
-{
- victor21_map(map);
- map(0x0900a, 0x0900a).rw(FUNC(subsino_state::flash_r), FUNC(subsino_state::flash_w));
- map(0x0900b, 0x0900b).nopr(); //"flash" status, bit 0
- map(0x0900c, 0x0900c).w("oki", FUNC(okim6295_device::write));
-}
-
-
-READ8_MEMBER(subsino_state::hwcheck_r)
-{
- /* Wants this at POST otherwise an "Hardware Error" occurs. */
- return 0x55;
-}
-
-void subsino_state::crsbingo_map(address_map &map)
-{
- map(0x00000, 0x8fff).rom(); //overlap unmapped regions
-
- map(0x09800, 0x09fff).ram();
-
- map(0x09000, 0x09000).portr("SW1");
- map(0x09001, 0x09001).portr("SW2");
- map(0x09002, 0x09002).portr("INA");
- map(0x09003, 0x09003).portr("INB");
- map(0x09004, 0x09004).portr("INC");
- map(0x09005, 0x09005).w(FUNC(subsino_state::out_a_w));
-
- map(0x09008, 0x09008).portr("SW4");
- map(0x09009, 0x09009).portr("SW3"); // .w(FUNC(subsino_state::out_a_w));
- map(0x0900a, 0x0900a).rw(FUNC(subsino_state::hwcheck_r), FUNC(subsino_state::out_b_w));
-
- map(0x09010, 0x09010).rw(FUNC(subsino_state::flash_r), FUNC(subsino_state::flash_w));
-// map(0x09011, 0x09011) //"flash" status, bit 0
-// map(0x0900c, 0x0900c).portr("INC");
- map(0x0900c, 0x0900d).w("ymsnd", FUNC(ym2413_device::write));
-
-// map(0x09018, 0x09018).w("oki", FUNC(okim6295_device::write));
-
-// map(0x0900d, 0x0900d).w(FUNC(subsino_state::tiles_offset_w));
-
- map(0x07800, 0x07fff).ram();
- map(0x08000, 0x087ff).ram().w(FUNC(subsino_state::videoram_w)).share("videoram");
- map(0x08800, 0x08fff).ram().w(FUNC(subsino_state::colorram_w)).share("colorram");
-
- map(0x10000, 0x13fff).rom(); //overlap unmapped regions
-
-}
-
-WRITE8_MEMBER(subsino_state::out_c_w)
-{
- // not 100% sure on this
-
- // ???? eccc
- // e = enable reels?
- // c = reel colour bank?
- m_out_c = data;
-
- for (uint8_t reel = 0; reel < 3; reel++)
- m_reel_tilemap[reel]->mark_all_dirty();
-// popmessage("data %02x\n",data);
-}
-
-void subsino_state::tisub_map(address_map &map)
-{
- map(0x00000, 0x0bfff).rom(); // overlap unmapped regions
- map(0x09800, 0x09fff).ram();
-
- map(0x09000, 0x09002).r("ppi1", FUNC(i8255_device::read));
- map(0x09004, 0x09006).r("ppi2", FUNC(i8255_device::read));
-
- /* 0x09008: is marked as OUTPUT C in the test mode. */
- map(0x09008, 0x09008).w(FUNC(subsino_state::out_c_w));
- map(0x09009, 0x09009).w(FUNC(subsino_state::out_b_w));
- map(0x0900a, 0x0900a).w(FUNC(subsino_state::out_a_w));
-
- map(0x0900c, 0x0900c).portr("INC");
-
- map(0x09016, 0x09017).w("ymsnd", FUNC(ym3812_device::write));
-
-// map(0x0900c, 0x0900c).w("oki", FUNC(okim6295_device::write));
-
- map(0x0901b, 0x0901b).w(FUNC(subsino_state::tiles_offset_w));
-
- map(0x07800, 0x07fff).ram();
- map(0x08800, 0x08fff).ram().w(FUNC(subsino_state::videoram_w)).share("videoram");
- map(0x08000, 0x087ff).ram().w(FUNC(subsino_state::colorram_w)).share("colorram");
-
- map(0x10000, 0x13fff).rom();
- map(0x14000, 0x14fff).rom(); // reads the card face data here (see rom copy in rom loading)
-
- map(0x150c0, 0x150ff).ram().share("reel_scroll.2");
- map(0x15140, 0x1517f).ram().share("reel_scroll.1");
- map(0x15180, 0x151bf).ram().share("reel_scroll.0");
-
- map(0x15800, 0x159ff).ram().w(FUNC(subsino_state::reel_ram_w<0>)).share("reel_ram.0");
- map(0x15a00, 0x15bff).ram().w(FUNC(subsino_state::reel_ram_w<1>)).share("reel_ram.1");
- map(0x15c00, 0x15dff).ram().w(FUNC(subsino_state::reel_ram_w<2>)).share("reel_ram.2");
-}
-
-void subsino_state::ramdac_map(address_map &map)
-{
- map(0x000, 0x3ff).rw("ramdac", FUNC(ramdac_device::ramdac_pal_r), FUNC(ramdac_device::ramdac_rgb666_w));
-}
-
-// this stuff is banked..
-// not 100% sure on the bank bits.. other bits are also set
-WRITE8_MEMBER(subsino_state::reel_scrollattr_w)
-{
- if (*m_stbsub_out_c & 0x20)
- {
- if (offset<0x200)
- {
- m_reel_attr[0][offset&0x1ff] = data;
- }
- else if (offset<0x400)
- {
- m_reel_attr[1][offset&0x1ff] = data;
- }
- else if (offset<0x600)
- {
- m_reel_attr[2][offset&0x1ff] = data;
- }
- else
- {
- // ??
- }
- }
- else
- {
- offset &=0xff;
-
- if (offset<0x40)
- {
- // ??
- }
- else if (offset<0x80)
- {
- m_reel_scroll[1][offset&0x3f] = data;
- }
- else if (offset<0xc0)
- {
- m_reel_scroll[0][offset&0x3f] = data;
- }
- else
- {
- m_reel_scroll[2][offset&0x3f] = data;
- }
- }
-}
-
-READ8_MEMBER(subsino_state::reel_scrollattr_r)
-{
- return m_reel_attr[0][offset];
-}
-
-void subsino_state::stbsub_map(address_map &map)
-{
- map(0x00000, 0x0bfff).rom();
-
- map(0x0c000, 0x0cfff).ram().share("nvram");
-
- map(0x0d000, 0x0d002).r("ppi1", FUNC(i8255_device::read));
- map(0x0d004, 0x0d006).r("ppi2", FUNC(i8255_device::read));
-
- map(0x0d008, 0x0d008).ram().share("stbsub_out_c");
-
- map(0x0d009, 0x0d009).w(FUNC(subsino_state::out_b_w));
- map(0x0d00a, 0x0d00a).w(FUNC(subsino_state::out_a_w));
-
- map(0x0d00c, 0x0d00c).portr("INC");
-
- map(0x0d010, 0x0d010).w("ramdac", FUNC(ramdac_device::index_w));
- map(0x0d011, 0x0d011).w("ramdac", FUNC(ramdac_device::pal_w));
- map(0x0d012, 0x0d012).w("ramdac", FUNC(ramdac_device::mask_w));
-
- map(0x0d016, 0x0d017).w("ymsnd", FUNC(ym3812_device::write));
-
-// map(0x0d01b, 0x0d01b).w(FUNC(subsino_state::tiles_offset_w));
-
- map(0x0e000, 0x0e7ff).ram().w(FUNC(subsino_state::colorram_w)).share("colorram");
- map(0x0e800, 0x0efff).ram().w(FUNC(subsino_state::videoram_w)).share("videoram");
-
- map(0xf000, 0xf7ff).rw(FUNC(subsino_state::reel_scrollattr_r), FUNC(subsino_state::reel_scrollattr_w));
-
- map(0xf800, 0xf9ff).ram().w(FUNC(subsino_state::reel_ram_w<0>)).share("reel_ram.0");
- map(0xfa00, 0xfbff).ram().w(FUNC(subsino_state::reel_ram_w<1>)).share("reel_ram.1");
- map(0xfc00, 0xfdff).ram().w(FUNC(subsino_state::reel_ram_w<2>)).share("reel_ram.2");
-}
-
-
-/***************************************************************************
- Magic Train (Clear NVRAM ROM?)
-***************************************************************************/
-
-void subsino_state::mtrainnv_map(address_map &map)
-{
- map(0x00000, 0x0bfff).rom();
-
- map(0x0c000, 0x0cfff).ram().share("nvram");
-
- map(0x0d000, 0x0d002).r("ppi1", FUNC(i8255_device::read));
- map(0x0d004, 0x0d006).r("ppi2", FUNC(i8255_device::read));
-
- map(0x0d008, 0x0d008).ram().share("stbsub_out_c");
-// map(0x0d009, 0x0d009).w(FUNC(subsino_state::));
-// map(0x0d00a, 0x0d00a).w(FUNC(subsino_state::));
-// map(0x0d00b, 0x0d00b).w(FUNC(subsino_state::));
- map(0x0d00c, 0x0d00c).portr("INC");
-
- map(0x0d010, 0x0d010).w("ramdac", FUNC(ramdac_device::index_w));
- map(0x0d011, 0x0d011).w("ramdac", FUNC(ramdac_device::pal_w));
- map(0x0d012, 0x0d012).w("ramdac", FUNC(ramdac_device::mask_w));
-
-// map(0x0d012, 0x0d012).w(FUNC(subsino_state::));
-
- map(0x0d016, 0x0d017).w("ymsnd", FUNC(ym3812_device::write));
-
-// map(0x0d018, 0x0d018).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
-
- map(0x0e000, 0x0e7ff).ram().w(FUNC(subsino_state::colorram_w)).share("colorram");
- map(0x0e800, 0x0efff).ram().w(FUNC(subsino_state::videoram_w)).share("videoram");
-
- map(0xf000, 0xf7ff).rw(FUNC(subsino_state::reel_scrollattr_r), FUNC(subsino_state::reel_scrollattr_w));
-
- map(0xf800, 0xf9ff).ram().w(FUNC(subsino_state::reel_ram_w<0>)).share("reel_ram.0");
- map(0xfa00, 0xfbff).ram().w(FUNC(subsino_state::reel_ram_w<1>)).share("reel_ram.1");
- map(0xfc00, 0xfdff).ram().w(FUNC(subsino_state::reel_ram_w<2>)).share("reel_ram.2");
-}
-
-
-void subsino_state::subsino_iomap(address_map &map)
-{
- map(0x0000, 0x003f).ram(); // internal regs
-}
-
-
-/***************************************************************************
-* Input Ports *
-***************************************************************************/
-
-static INPUT_PORTS_START( victor21 )
-
- PORT_START( "SW1" )
- PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
- PORT_DIPSETTING( 0x06, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x05, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x07, "1 Coin / 10 Credits" )
- PORT_DIPSETTING( 0x03, "1 Coin / 20 Credits" )
- PORT_DIPSETTING( 0x02, "1 Coin / 25 Credits" )
- PORT_DIPSETTING( 0x01, "1 Coin / 50 Credits" )
- PORT_DIPSETTING( 0x00, "1 Coin / 100 Credits" )
- PORT_DIPNAME( 0x08, 0x08, "Key In" )
- PORT_DIPSETTING( 0x08, "100 Points/Pulse" )
- PORT_DIPSETTING( 0x00, "200 Points/Pulse" )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START( "SW2" )
- PORT_DIPNAME( 0x03, 0x03, "Main Game Rate" )
- PORT_DIPSETTING( 0x00, "75%" )
- PORT_DIPSETTING( 0x01, "80%" )
- PORT_DIPSETTING( 0x03, "85%" )
- PORT_DIPSETTING( 0x02, "90%" )
- PORT_DIPNAME( 0x04, 0x04, "Max Rate" )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x18, 0x18, "Minimum Bet" )
- PORT_DIPSETTING( 0x10, "1" )
- PORT_DIPSETTING( 0x08, "5" )
- PORT_DIPSETTING( 0x18, "10" )
- PORT_DIPSETTING( 0x00, "20" )
- PORT_DIPNAME( 0x20, 0x20, "Attract Music" )
- PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x20, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, "SW2 - 40" )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START( "SW3" )
- PORT_DIPNAME( 0x01, 0x01, "SW3" )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START( "INA" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_V) PORT_NAME("Split")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_CODE(KEYCODE_Z) PORT_NAME("Deal / Hit")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_BET ) PORT_IMPULSE(3)
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_STAND ) PORT_CODE(KEYCODE_X)
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_A) PORT_NAME("Bet x10") // multibet
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_CODE(KEYCODE_C)
-
- PORT_START( "INB" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(3) // coin 1
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) // key in
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(3) // coin 2
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(3) // coin 3
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Stats") // Bookkeeping.
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Settings") // Game Rate.
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // no payout?
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // key out
-
- PORT_START( "INC" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset") // hard reset
- 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_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-INPUT_PORTS_END
-
-
-static INPUT_PORTS_START( victor5 )
-
- PORT_START( "SW1" )
- PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
- PORT_DIPSETTING( 0x06, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x05, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x07, "1 Coin / 10 Credits" )
- PORT_DIPSETTING( 0x03, "1 Coin / 20 Credits" )
- PORT_DIPSETTING( 0x02, "1 Coin / 25 Credits" )
- PORT_DIPSETTING( 0x01, "1 Coin / 50 Credits" )
- PORT_DIPSETTING( 0x00, "1 Coin / 100 Credits" )
- PORT_DIPNAME( 0x08, 0x08, "Key In" )
- PORT_DIPSETTING( 0x08, "100 Points/Pulse" )
- PORT_DIPSETTING( 0x00, "500 Points/Pulse" )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0xc0, 0xc0, "Max Bet" )
- PORT_DIPSETTING( 0x80, "20" )
- PORT_DIPSETTING( 0x40, "40" )
- PORT_DIPSETTING( 0xc0, "50" )
- PORT_DIPSETTING( 0x00, "80" )
-
- PORT_START( "SW2" )
- PORT_DIPNAME( 0x03, 0x03, "Main Game Rate" )
- PORT_DIPSETTING( 0x00, "68%" )
- PORT_DIPSETTING( 0x01, "76%" )
- PORT_DIPSETTING( 0x03, "84%" )
- PORT_DIPSETTING( 0x02, "92%" )
- PORT_DIPNAME( 0x0c, 0x0c, "Double-Up Rate" )
- PORT_DIPSETTING( 0x00, "74%" )
- PORT_DIPSETTING( 0x04, "80%" )
- PORT_DIPSETTING( 0x0c, "86%" )
- PORT_DIPSETTING( 0x08, "92%" )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0xc0, 0xc0, "Minimum Bet" )
- PORT_DIPSETTING( 0x80, "1" )
- PORT_DIPSETTING( 0x40, "5" )
- PORT_DIPSETTING( 0xc0, "10" )
- PORT_DIPSETTING( 0x00, "20" )
-
- PORT_START( "SW3" )
- PORT_DIPNAME( 0x01, 0x01, "SW3" )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x00, "Attract Music" )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START( "INA" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / Half Take")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Big")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Small")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Deal / Take")
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_BET ) PORT_IMPULSE(3)
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START( "INB" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(3) // coin
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) // key in
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Stats") // Bookkeeping.
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Settings") // Game Rate & others.
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // payout
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // key out
-
- PORT_START( "INC" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset") // hard reset
- 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_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-INPUT_PORTS_END
-
-
-static INPUT_PORTS_START( tisub )
-
- PORT_START( "SW1" )
- PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3") // SW1-123
- PORT_DIPSETTING( 0x06, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x05, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x07, "1 Coin / 10 Credits" )
- PORT_DIPSETTING( 0x03, "1 Coin / 20 Credits" )
- PORT_DIPSETTING( 0x02, "1 Coin / 25 Credits" )
- PORT_DIPSETTING( 0x01, "1 Coin / 50 Credits" )
- PORT_DIPSETTING( 0x00, "1 Coin / 100 Credits" )
- PORT_DIPNAME( 0x38, 0x38, "Key In" ) PORT_DIPLOCATION("SW1:4,5,6") // SW1-456
- PORT_DIPSETTING( 0x30, "4 Points/Pulse" )
- PORT_DIPSETTING( 0x28, "8 Points/Pulse" )
- PORT_DIPSETTING( 0x20, "20 Points/Pulse" )
- PORT_DIPSETTING( 0x38, "40 Points/Pulse" )
- PORT_DIPSETTING( 0x18, "80 Points/Pulse" )
- PORT_DIPSETTING( 0x10, "100 Points/Pulse" )
- PORT_DIPSETTING( 0x08, "200 Points/Pulse" )
- PORT_DIPSETTING( 0x00, "400 Points/Pulse" )
- PORT_DIPNAME( 0x40, 0x40, "Payout Mode" ) PORT_DIPLOCATION("SW1:7") // SW1-7
- PORT_DIPSETTING( 0x40, "Coin Value" )
- PORT_DIPSETTING( 0x00, "Key In Value" )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8")
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START( "SW2" )
- PORT_DIPNAME( 0x03, 0x03, "Minimum Bet" ) PORT_DIPLOCATION("SW2:1,2") // SW2-12
- PORT_DIPSETTING( 0x03, "1" )
- PORT_DIPSETTING( 0x02, "8" )
- PORT_DIPSETTING( 0x01, "16" )
- PORT_DIPSETTING( 0x00, "32" )
- PORT_DIPNAME( 0x0c, 0x08, "Max Bet" ) PORT_DIPLOCATION("SW2:3,4") // SW2-34
- PORT_DIPSETTING( 0x0c, "2" )
- PORT_DIPSETTING( 0x00, "8" )
- PORT_DIPSETTING( 0x04, "16" )
- PORT_DIPSETTING( 0x08, "32" )
- PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:5") // Not in test mode.
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, "Game Limit" ) PORT_DIPLOCATION("SW2:6") // SW2-6
- PORT_DIPSETTING( 0x20, "20000" )
- PORT_DIPSETTING( 0x00, "30000" )
- PORT_DIPNAME( 0x40, 0x40, "Auto Take" ) PORT_DIPLOCATION("SW2:7") // SW2-7
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:8")
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START( "SW3" )
- PORT_DIPNAME( 0x07, 0x07, "Main Game Rate" ) PORT_DIPLOCATION("SW3:1,2,3") // SW3-123
- PORT_DIPSETTING( 0x00, "77%" )
- PORT_DIPSETTING( 0x01, "80%" )
- PORT_DIPSETTING( 0x02, "83%" )
- PORT_DIPSETTING( 0x03, "86%" )
- PORT_DIPSETTING( 0x04, "89%" )
- PORT_DIPSETTING( 0x07, "92%" )
- PORT_DIPSETTING( 0x05, "95%" )
- PORT_DIPSETTING( 0x06, "98%" )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:4")
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:5")
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:6")
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:7")
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:8")
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START( "SW4" )
- PORT_DIPNAME( 0x07, 0x07, "Double-Up Rate" ) PORT_DIPLOCATION("SW4:1,2,3") // SW4-123
- PORT_DIPSETTING( 0x00, "70%" )
- PORT_DIPSETTING( 0x01, "74%" )
- PORT_DIPSETTING( 0x02, "78%" )
- PORT_DIPSETTING( 0x03, "82%" )
- PORT_DIPSETTING( 0x04, "86%" )
- PORT_DIPSETTING( 0x07, "90%" )
- PORT_DIPSETTING( 0x05, "94%" )
- PORT_DIPSETTING( 0x06, "98%" )
- PORT_DIPNAME( 0x08, 0x08, "Double-Up Limit" ) PORT_DIPLOCATION("SW4:4") // SW4-4
- PORT_DIPSETTING( 0x08, "5000" )
- PORT_DIPSETTING( 0x00, "10000" )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW4:5")
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW4:6")
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW4:7")
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW4:8")
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START( "INA" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_NAME("Double / Info")
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Big")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / Small")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Start / Take")
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_BET ) PORT_IMPULSE(3)
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START( "INB" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(3) // coin
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) // key in
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Stats / Test") // Bookkeeping.
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Settings") // Current settings.
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // payout
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // key out
-
- PORT_START( "INC" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset") // hard reset
- 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_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-INPUT_PORTS_END
-
-
-static INPUT_PORTS_START( stbsub )
- PORT_START("SW1")
- PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3")
- PORT_DIPSETTING( 0x06, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x05, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x07, "1 Coin / 10 Credits" )
- PORT_DIPSETTING( 0x03, "1 Coin / 20 Credits" )
- PORT_DIPSETTING( 0x02, "1 Coin / 25 Credits" )
- PORT_DIPSETTING( 0x01, "1 Coin / 50 Credits" )
- PORT_DIPSETTING( 0x00, "1 Coin / 100 Credits" )
- PORT_DIPNAME( 0x38, 0x00, "Remote Credits" ) PORT_DIPLOCATION("SW1:4,5,6")
- PORT_DIPSETTING( 0x30, "1 Pulse / 1 Credits" )
- PORT_DIPSETTING( 0x28, "1 Pulse / 2 Credits" )
- PORT_DIPSETTING( 0x20, "1 Pulse / 5 Credits" )
- PORT_DIPSETTING( 0x38, "1 Pulse / 10 Credits" )
- PORT_DIPSETTING( 0x18, "1 Pulse / 20 Credits" )
- PORT_DIPSETTING( 0x10, "1 Pulse / 25 Credits" )
- PORT_DIPSETTING( 0x08, "1 Pulse / 50 Credits" )
- PORT_DIPSETTING( 0x00, "1 Pulse / 100 Credits" )
- PORT_DIPNAME( 0x40, 0x40, "Pay-out" ) PORT_DIPLOCATION("SW1:7")
- PORT_DIPSETTING( 0x40, "Coin" )
- PORT_DIPSETTING( 0x00, "Key" )
- PORT_DIPNAME( 0x80, 0x80, "Hold Function" ) PORT_DIPLOCATION("SW1:8")
- PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
- PORT_DIPSETTING( 0x00, DEF_STR( No ) )
-
- PORT_START("SW2")
- PORT_DIPNAME( 0x03, 0x03, "Minimum Bet" ) PORT_DIPLOCATION("SW2:1,2")
- PORT_DIPSETTING( 0x02, "1" )
- PORT_DIPSETTING( 0x03, "8" )
- PORT_DIPSETTING( 0x01, "16" )
- PORT_DIPSETTING( 0x00, "32" )
- PORT_DIPNAME( 0x0c, 0x0c, "Max Bet" ) PORT_DIPLOCATION("SW2:3,4")
- PORT_DIPSETTING( 0x04, "16" )
- PORT_DIPSETTING( 0x08, "32" )
- PORT_DIPSETTING( 0x0c, "64" )
- PORT_DIPSETTING( 0x00, "80" )
- PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:5")
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x60, 0x60, "Game Limit" ) PORT_DIPLOCATION("SW2:6,7")
- PORT_DIPSETTING( 0x40, "10000" )
- PORT_DIPSETTING( 0x60, "20000" )
- PORT_DIPSETTING( 0x20, "30000" )
- PORT_DIPSETTING( 0x00, "60000" )
- PORT_DIPNAME( 0x80, 0x80, "Double Up" ) PORT_DIPLOCATION("SW2:8")
- PORT_DIPSETTING( 0x00, DEF_STR( No ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
-
- PORT_START( "SW3" )
- PORT_DIPNAME( 0x07, 0x07, "Win Rate" ) PORT_DIPLOCATION("SW3:1,2,3")
- PORT_DIPSETTING( 0x00, "84%" )
- PORT_DIPSETTING( 0x01, "84%" ) // yes, again!
- PORT_DIPSETTING( 0x02, "86%" )
- PORT_DIPSETTING( 0x03, "88%" )
- PORT_DIPSETTING( 0x04, "90%" )
- PORT_DIPSETTING( 0x07, "92%" )
- PORT_DIPSETTING( 0x05, "94%" )
- PORT_DIPSETTING( 0x06, "96%" )
- PORT_DIPNAME( 0x08, 0x08, "Control Panel" ) PORT_DIPLOCATION("SW3:4")
- PORT_DIPSETTING( 0x08, "Type A (No Hold)" )
- PORT_DIPSETTING( 0x00, "Type B" )
- PORT_DIPNAME( 0x30, 0x30, "Max Bonus" ) PORT_DIPLOCATION("SW3:5,6")
- PORT_DIPSETTING( 0x30, "1000" )
- PORT_DIPSETTING( 0x20, "2000" )
- PORT_DIPSETTING( 0x10, "3000" )
- PORT_DIPSETTING( 0x00, "5000" )
- PORT_DIPNAME( 0x40, 0x40, "Gather Rate of Bonus" ) PORT_DIPLOCATION("SW3:7")
- PORT_DIPSETTING( 0x40, "1.0%" )
- PORT_DIPSETTING( 0x00, "0.5%" )
- PORT_DIPNAME( 0x80, 0x80, "Reel Speed" ) PORT_DIPLOCATION("SW3:8")
- PORT_DIPSETTING( 0x80, "Slow" )
- PORT_DIPSETTING( 0x00, "Fast" )
-
- PORT_START( "SW4" )
- PORT_DIPNAME( 0x07, 0x07, "Double-Up Level" ) PORT_DIPLOCATION("SW4:1,2,3")
- PORT_DIPSETTING( 0x07, "7 (Easy)" )
- PORT_DIPSETTING( 0x06, "6" )
- PORT_DIPSETTING( 0x05, "5" )
- PORT_DIPSETTING( 0x04, "4" )
- PORT_DIPSETTING( 0x03, "3" )
- PORT_DIPSETTING( 0x02, "2" )
- PORT_DIPSETTING( 0x01, "1" )
- PORT_DIPSETTING( 0x00, "0 (Hard)" )
- PORT_DIPNAME( 0x08, 0x08, "Double-Up Limit" ) PORT_DIPLOCATION("SW4:4")
- PORT_DIPSETTING( 0x08, "5000" )
- PORT_DIPSETTING( 0x00, "10000" )
- PORT_DIPNAME( 0x10, 0x10, "Double-Up Game" ) PORT_DIPLOCATION("SW4:5")
- PORT_DIPSETTING( 0x10, "Dancers / Panties Colors" )
- PORT_DIPSETTING( 0x00, "Cards / Seven-Bingo" )
- PORT_DIPNAME( 0xe0, 0xe0, "Clear Ticket Unit" ) PORT_DIPLOCATION("SW4:6,7,8")
- PORT_DIPSETTING( 0x00, "500" )
- PORT_DIPSETTING( 0x20, "100" )
- PORT_DIPSETTING( 0x40, "50" )
- PORT_DIPSETTING( 0x60, "25" )
- PORT_DIPSETTING( 0x80, "20" )
- PORT_DIPSETTING( 0xa0, "10" )
- PORT_DIPSETTING( 0xc0, "5" )
- PORT_DIPSETTING( 0xe0, "1" )
-
- PORT_START("INA")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START ) PORT_CODE(KEYCODE_N) PORT_NAME("Start / Stop All")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_BET ) PORT_CODE(KEYCODE_C) PORT_NAME("Bet / Stop 2")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_CODE(KEYCODE_Z) PORT_NAME("Double / Info")
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START( "INB" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(3) // coin
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) // key in
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Stats / Test") // Bookkeeping.
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Settings") // Current settings.
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // payout
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // key out
-
- PORT_START("INC")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_CODE(KEYCODE_V) PORT_NAME("Small / Black / Stop 3")
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("hopper", ticket_dispenser_device, line_r) // hopper sensor
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset") // hard reset
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_CODE(KEYCODE_B) PORT_NAME("Big / Red")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_CODE(KEYCODE_X) PORT_NAME("Take / Stop 1")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-INPUT_PORTS_END
-
-
-static INPUT_PORTS_START( tesorone )
- PORT_START("SW1")
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1")
- PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) // 5
- PORT_DIPSETTING( 0x01, "1 Coin / 10 Credits" ) // 16
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:2") // ?
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:3") // ?
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4")
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5")
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6")
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7") // ?
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8") // ?
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START("SW2")
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:1") // ?
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:2") // ?
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:3") // ?
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW2:4")
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:5")
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x60, 0x60, "Game Limit" ) PORT_DIPLOCATION("SW2:6,7")
- PORT_DIPSETTING( 0x40, "5000" )
- PORT_DIPSETTING( 0x60, "10000" )
- PORT_DIPSETTING( 0x20, "20000" )
- PORT_DIPSETTING( 0x00, "30000" )
- PORT_DIPNAME( 0x80, 0x80, "Double Up" ) PORT_DIPLOCATION("SW2:8")
- PORT_DIPSETTING( 0x00, DEF_STR( No ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
-
- PORT_START( "SW3" )
- PORT_DIPNAME( 0x07, 0x07, "Win Rate" ) PORT_DIPLOCATION("SW3:1,2,3")
- PORT_DIPSETTING( 0x00, "59%" )
- PORT_DIPSETTING( 0x01, "64%" )
- PORT_DIPSETTING( 0x02, "69%" )
- PORT_DIPSETTING( 0x03, "74%" )
- PORT_DIPSETTING( 0x04, "79%" )
- PORT_DIPSETTING( 0x07, "84%" )
- PORT_DIPSETTING( 0x05, "89%" )
- PORT_DIPSETTING( 0x06, "94%" )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:4") // ?
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:5")
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:6")
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:7")
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "Reel Speed" ) PORT_DIPLOCATION("SW3:8")
- PORT_DIPSETTING( 0x80, "Slow" )
- PORT_DIPSETTING( 0x00, "Fast" )
-
- PORT_START( "SW4" )
- PORT_DIPNAME( 0x07, 0x07, "Double-Up Level" ) PORT_DIPLOCATION("SW4:1,2,3")
- PORT_DIPSETTING( 0x07, "7 (Easy)" )
- PORT_DIPSETTING( 0x06, "6" )
- PORT_DIPSETTING( 0x05, "5" )
- PORT_DIPSETTING( 0x04, "4" )
- PORT_DIPSETTING( 0x03, "3" )
- PORT_DIPSETTING( 0x02, "2" )
- PORT_DIPSETTING( 0x01, "1" )
- PORT_DIPSETTING( 0x00, "0 (Hard)" )
- PORT_DIPNAME( 0x08, 0x08, "Double-Up Limit" ) PORT_DIPLOCATION("SW4:4")
- PORT_DIPSETTING( 0x08, "5000" )
- PORT_DIPSETTING( 0x00, "10000" )
- PORT_DIPNAME( 0x70, 0x70, "Remote Credits" ) PORT_DIPLOCATION("SW4:5,6,7")
-// PORT_DIPSETTING( 0x00, "50" )
-// PORT_DIPSETTING( 0x10, "50" )
-// PORT_DIPSETTING( 0x20, "50" )
- PORT_DIPSETTING( 0x30, "50" )
- PORT_DIPSETTING( 0x70, "100" )
- PORT_DIPSETTING( 0x60, "200" )
- PORT_DIPSETTING( 0x50, "400" )
- PORT_DIPSETTING( 0x40, "800" )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW4:8") // ?
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START("INA")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START ) PORT_CODE(KEYCODE_N) PORT_NAME("Start / Stop All")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_BET ) PORT_CODE(KEYCODE_C) PORT_NAME("Bet / Stop 2")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_CODE(KEYCODE_Z) PORT_NAME("Double / Info")
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START( "INB" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(3) // coin
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) // key in
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Stats / Test") // Bookkeeping.
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Settings") // Current settings.
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // payout
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // key out
-
- PORT_START("INC")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_CODE(KEYCODE_V) PORT_NAME("Small / Black / Stop 3")
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("hopper", ticket_dispenser_device, line_r) // hopper sensor
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset") // hard reset
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_CODE(KEYCODE_B) PORT_NAME("Big / Red")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_CODE(KEYCODE_X) PORT_NAME("Take / Stop 1")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-INPUT_PORTS_END
-
-
-static INPUT_PORTS_START( crsbingo )
-
- PORT_START( "SW1" )
- PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
- PORT_DIPSETTING( 0x06, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x05, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x07, "1 Coin / 10 Credits" )
- PORT_DIPSETTING( 0x03, "1 Coin / 20 Credits" )
- PORT_DIPSETTING( 0x02, "1 Coin / 25 Credits" )
- PORT_DIPSETTING( 0x01, "1 Coin / 50 Credits" )
- PORT_DIPSETTING( 0x00, "1 Coin / 100 Credits" )
- PORT_DIPNAME( 0x38, 0x38, "Key In" )
- PORT_DIPSETTING( 0x30, "4 Points/Pulse" )
- PORT_DIPSETTING( 0x28, "8 Points/Pulse" )
- PORT_DIPSETTING( 0x20, "20 Points/Pulse" )
- PORT_DIPSETTING( 0x10, "40 Points/Pulse" )
- PORT_DIPSETTING( 0x18, "80 Points/Pulse" )
- PORT_DIPSETTING( 0x38, "100 Points/Pulse" )
- PORT_DIPSETTING( 0x08, "200 Points/Pulse" )
- PORT_DIPSETTING( 0x00, "400 Points/Pulse" )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START( "SW2" )
- PORT_DIPNAME( 0x03, 0x03, "Minimum Bet" )
- PORT_DIPSETTING( 0x02, "1" )
- PORT_DIPSETTING( 0x01, "5" )
- PORT_DIPSETTING( 0x03, "10" )
- PORT_DIPSETTING( 0x00, "20" )
- PORT_DIPNAME( 0x0c, 0x0c, "Max Bet" )
- PORT_DIPSETTING( 0x04, "5" )
- PORT_DIPSETTING( 0x00, "10" )
- PORT_DIPSETTING( 0x08, "20" )
- PORT_DIPSETTING( 0x0c, "50" )
- PORT_DIPNAME( 0x30, 0x30, "Cards Graphics" )
- PORT_DIPSETTING( 0x00, "Classic Cards" )
- PORT_DIPSETTING( 0x10, "Alternate Set" )
- PORT_DIPSETTING( 0x20, "Fruits" )
- PORT_DIPSETTING( 0x30, "Classic Cards" )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START( "SW3" )
- PORT_DIPNAME( 0x01, 0x01, "SW3" )
- PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START( "SW4" )
- PORT_DIPNAME( 0x07, 0x07, "Double-Up Rate" )
- PORT_DIPSETTING( 0x00, "70%" )
- PORT_DIPSETTING( 0x01, "74%" )
- PORT_DIPSETTING( 0x02, "78%" )
- PORT_DIPSETTING( 0x03, "82%" )
- PORT_DIPSETTING( 0x04, "86%" )
- PORT_DIPSETTING( 0x07, "90%" )
- PORT_DIPSETTING( 0x05, "94%" )
- PORT_DIPSETTING( 0x06, "98%" )
- PORT_DIPNAME( 0x08, 0x08, "Double-Up Type" )
- PORT_DIPSETTING( 0x08, "Type 1 (no change card)" )
- PORT_DIPSETTING( 0x00, "Type 2 (with change card)" )
- PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
-
- PORT_START( "INA" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Double")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / Change")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Big")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Small")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Deal / Take")
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_BET ) PORT_IMPULSE(3)
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START( "INB" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(3) // coin
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) // key in
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Stats") // Bookkeeping.
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Settings") // Game Rate & others.
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // payout
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // key out
-
- PORT_START( "INC" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset") // hard reset
- 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_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-INPUT_PORTS_END
-
-
-static INPUT_PORTS_START( sharkpy )
-
- PORT_START( "SW1" )
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Coinage ) )
- PORT_DIPSETTING( 0x01, "1 Coin / 10 Credits" )
- PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) )
- PORT_DIPUNKNOWN( 0x02, 0x02 )
- PORT_DIPUNKNOWN( 0x04, 0x04 )
- PORT_DIPUNKNOWN( 0x08, 0x08 )
- PORT_DIPUNKNOWN( 0x10, 0x10 )
- PORT_DIPUNKNOWN( 0x20, 0x20 )
- PORT_DIPUNKNOWN( 0x40, 0x40 )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "SW2" )
- PORT_DIPUNKNOWN( 0x01, 0x01 )
- PORT_DIPUNKNOWN( 0x02, 0x02 )
- PORT_DIPUNKNOWN( 0x04, 0x04 )
- PORT_DIPUNKNOWN( 0x08, 0x08 )
- PORT_DIPUNKNOWN( 0x10, 0x10 )
- PORT_DIPUNKNOWN( 0x20, 0x20 )
- PORT_DIPNAME( 0x40, 0x00, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "Double-Up" )
- PORT_DIPSETTING( 0x00, DEF_STR( No ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
-
- PORT_START( "SW3" )
- PORT_DIPNAME( 0x07, 0x07, "Main Game Rate" )
- PORT_DIPSETTING( 0x00, "55%" )
- PORT_DIPSETTING( 0x01, "60%" )
- PORT_DIPSETTING( 0x02, "65%" )
- PORT_DIPSETTING( 0x03, "70%" )
- PORT_DIPSETTING( 0x04, "75%" )
- PORT_DIPSETTING( 0x07, "80%" )
- PORT_DIPSETTING( 0x05, "85%" )
- PORT_DIPSETTING( 0x06, "90%" )
- PORT_DIPNAME( 0x38, 0x38, "Double-Up Rate" )
- PORT_DIPSETTING( 0x30, "0" )
- PORT_DIPSETTING( 0x28, "1" )
- PORT_DIPSETTING( 0x38, "2" )
- PORT_DIPSETTING( 0x20, "3" )
- PORT_DIPSETTING( 0x18, "4" )
- PORT_DIPSETTING( 0x10, "5" )
- PORT_DIPSETTING( 0x08, "6" )
- PORT_DIPSETTING( 0x00, "7" )
- PORT_DIPUNKNOWN( 0x40, 0x40 )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "SW4" )
- PORT_DIPUNKNOWN( 0x01, 0x01 )
- PORT_DIPUNKNOWN( 0x02, 0x02 )
- PORT_DIPUNKNOWN( 0x04, 0x04 )
- PORT_DIPUNKNOWN( 0x08, 0x08 )
- PORT_DIPUNKNOWN( 0x10, 0x10 )
- PORT_DIPUNKNOWN( 0x20, 0x20 )
- PORT_DIPUNKNOWN( 0x40, 0x40 )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "INA" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / Double (Select)")
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Big")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Small")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Deal / Take")
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_BET ) PORT_NAME("Bet") PORT_IMPULSE(3)
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START( "INB" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(3) // coin
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Stats / Test") // Bookkeeping.
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Settings") // Game Rate & others.
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // payout?
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // key out?
-
- PORT_START( "INC" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset") // hard reset
- 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_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-INPUT_PORTS_END
-
-
-static INPUT_PORTS_START( sharkpye )
-
- PORT_START( "SW1" )
- PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
- PORT_DIPSETTING( 0x06, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x05, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x07, "1 Coin / 10 Credits" )
- PORT_DIPSETTING( 0x03, "1 Coin / 20 Credits" )
- PORT_DIPSETTING( 0x02, "1 Coin / 25 Credits" )
- PORT_DIPSETTING( 0x01, "1 Coin / 50 Credits" )
- PORT_DIPSETTING( 0x00, "1 Coin / 100 Credits" )
- PORT_DIPNAME( 0x38, 0x38, "Remote Credits" )
- PORT_DIPSETTING( 0x30, "1 Pulse / 1 Credits" )
- PORT_DIPSETTING( 0x28, "1 Pulse / 2 Credits" )
- PORT_DIPSETTING( 0x20, "1 Pulse / 5 Credits" )
- PORT_DIPSETTING( 0x18, "1 Pulse / 10 Credits" )
- PORT_DIPSETTING( 0x10, "1 Pulse / 50 Credits" )
- PORT_DIPSETTING( 0x38, "1 Pulse / 100 Credits" )
- PORT_DIPSETTING( 0x08, "1 Pulse / 200 Credits" )
- PORT_DIPSETTING( 0x00, "1 Pulse / 500 Credits" )
- PORT_DIPUNKNOWN( 0x40, 0x40 )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "SW2" )
- PORT_DIPNAME( 0x03, 0x03, "Minimum Bet" )
- PORT_DIPSETTING( 0x03, "1" )
- PORT_DIPSETTING( 0x02, "5" )
- PORT_DIPSETTING( 0x01, "10" )
- PORT_DIPSETTING( 0x00, "20" )
- PORT_DIPNAME( 0x0c, 0x0c, "Max Bet" )
- PORT_DIPSETTING( 0x08, "10" )
- PORT_DIPSETTING( 0x04, "40" )
- PORT_DIPSETTING( 0x0c, "50" )
- PORT_DIPSETTING( 0x00, "80" )
- PORT_DIPNAME( 0x10, 0x10, "Jokers" )
- PORT_DIPSETTING( 0x10, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPUNKNOWN( 0x20, 0x20 )
- PORT_DIPNAME( 0x40, 0x00, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "SW3" )
- PORT_DIPNAME( 0x07, 0x07, "Main Game Rate" )
- PORT_DIPSETTING( 0x00, "92%" )
- PORT_DIPSETTING( 0x01, "93%" )
- PORT_DIPSETTING( 0x02, "94%" )
- PORT_DIPSETTING( 0x03, "95%" )
- PORT_DIPSETTING( 0x04, "96%" )
- PORT_DIPSETTING( 0x07, "97%" )
- PORT_DIPSETTING( 0x05, "98%" )
- PORT_DIPSETTING( 0x06, "99%" )
- PORT_DIPNAME( 0x38, 0x38, "Double-Up Rate" )
- PORT_DIPSETTING( 0x00, "82" )
- PORT_DIPSETTING( 0x08, "84" )
- PORT_DIPSETTING( 0x10, "86" )
- PORT_DIPSETTING( 0x18, "88" )
- PORT_DIPSETTING( 0x20, "90" )
- PORT_DIPSETTING( 0x38, "92" )
- PORT_DIPSETTING( 0x28, "94" )
- PORT_DIPSETTING( 0x30, "96" )
- PORT_DIPUNKNOWN( 0x40, 0x40 )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "SW4" )
- PORT_DIPUNKNOWN( 0x01, 0x01 )
- PORT_DIPUNKNOWN( 0x02, 0x02 )
- PORT_DIPUNKNOWN( 0x04, 0x04 )
- PORT_DIPUNKNOWN( 0x08, 0x08 )
- PORT_DIPUNKNOWN( 0x10, 0x10 )
- PORT_DIPUNKNOWN( 0x20, 0x20 )
- PORT_DIPUNKNOWN( 0x40, 0x40 )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "INA" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Start")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / Bet")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / Double-Up")
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START( "INB" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(3) // coin
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Stats / Test") // Bookkeeping.
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Settings") // Game Rate & others.
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT )
-
- PORT_START( "INC" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Small")
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset Switch") // hard reset
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Big")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Take")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-INPUT_PORTS_END
-
-
-static INPUT_PORTS_START( smoto16 )
-
- PORT_START( "SW1" )
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Coinage ) )
- PORT_DIPSETTING( 0x01, "1 Coin / 10 Credits" )
- PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) )
- PORT_DIPUNKNOWN( 0x02, 0x02 )
- PORT_DIPNAME( 0x04, 0x04, "Hopper" )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPUNKNOWN( 0x08, 0x08 )
- PORT_DIPUNKNOWN( 0x10, 0x10 )
- PORT_DIPUNKNOWN( 0x20, 0x20 )
- PORT_DIPUNKNOWN( 0x40, 0x40 )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "SW2" )
- PORT_DIPUNKNOWN( 0x01, 0x01 )
- PORT_DIPUNKNOWN( 0x02, 0x02 )
- PORT_DIPUNKNOWN( 0x04, 0x04 )
- PORT_DIPUNKNOWN( 0x08, 0x08 )
- PORT_DIPUNKNOWN( 0x10, 0x10 )
- PORT_DIPUNKNOWN( 0x20, 0x20 )
- PORT_DIPNAME( 0x40, 0x00, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "Double-Up" )
- PORT_DIPSETTING( 0x00, DEF_STR( No ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
-
- PORT_START( "SW3" )
- PORT_DIPNAME( 0x07, 0x07, "Main Game Rate" )
- PORT_DIPSETTING( 0x00, "55%" )
- PORT_DIPSETTING( 0x01, "60%" )
- PORT_DIPSETTING( 0x02, "65%" )
- PORT_DIPSETTING( 0x03, "70%" )
- PORT_DIPSETTING( 0x04, "75%" )
- PORT_DIPSETTING( 0x07, "80%" )
- PORT_DIPSETTING( 0x05, "85%" )
- PORT_DIPSETTING( 0x06, "90%" )
- PORT_DIPNAME( 0x38, 0x38, "Double-Up Rate" )
- PORT_DIPSETTING( 0x00, "0" )
- PORT_DIPSETTING( 0x08, "1" )
- PORT_DIPSETTING( 0x10, "2" )
- PORT_DIPSETTING( 0x18, "3" )
- PORT_DIPSETTING( 0x20, "4" )
- PORT_DIPSETTING( 0x28, "5" )
- PORT_DIPSETTING( 0x30, "6" )
- PORT_DIPSETTING( 0x38, "7" )
- PORT_DIPUNKNOWN( 0x40, 0x40 )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "SW4" )
- PORT_DIPUNKNOWN( 0x01, 0x01 )
- PORT_DIPUNKNOWN( 0x02, 0x02 )
- PORT_DIPUNKNOWN( 0x04, 0x04 )
- PORT_DIPUNKNOWN( 0x08, 0x08 )
- PORT_DIPUNKNOWN( 0x10, 0x10 )
- PORT_DIPUNKNOWN( 0x20, 0x20 )
- PORT_DIPNAME( 0x40, 0x40, "Game Control" )
- PORT_DIPSETTING( 0x40, "Normal Holds" )
- PORT_DIPSETTING( 0x00, "Left-Right Marker" )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "INA" ) // d005
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / Double (Select)")
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Right")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / Left")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Select")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Deal / Take")
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_BET ) PORT_NAME("Bet / Speed") PORT_IMPULSE(3)
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START( "INB" ) // d006
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(3) // coin
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("hopper", ticket_dispenser_device, line_r) // hopper sensor
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Stats / Test") // Bookkeeping.
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Settings") // Game Rate & others.
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // payout
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // key out?
-
- PORT_START( "INC" ) // d00c
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("hopper", ticket_dispenser_device, line_r) // hopper sensor
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset") // hard reset
- 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_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-INPUT_PORTS_END
-
-
-static INPUT_PORTS_START( smoto20 )
-
- PORT_START( "SW1" )
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Coinage ) )
- PORT_DIPSETTING( 0x01, "1 Coin / 10 Credits" )
- PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) )
- PORT_DIPUNKNOWN( 0x02, 0x02 )
- PORT_DIPNAME( 0x04, 0x04, "Hopper" )
- PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPUNKNOWN( 0x08, 0x08 )
- PORT_DIPUNKNOWN( 0x10, 0x10 )
- PORT_DIPUNKNOWN( 0x20, 0x20 )
- PORT_DIPUNKNOWN( 0x40, 0x40 )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "SW2" )
- PORT_DIPUNKNOWN( 0x01, 0x01 )
- PORT_DIPUNKNOWN( 0x02, 0x02 )
- PORT_DIPUNKNOWN( 0x04, 0x04 )
- PORT_DIPUNKNOWN( 0x08, 0x08 )
- PORT_DIPUNKNOWN( 0x10, 0x10 )
- PORT_DIPUNKNOWN( 0x20, 0x20 )
- PORT_DIPNAME( 0x40, 0x00, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x80, 0x80, "Double-Up" )
- PORT_DIPSETTING( 0x00, DEF_STR( No ) )
- PORT_DIPSETTING( 0x80, DEF_STR( Yes ) )
-
- PORT_START( "SW3" )
- PORT_DIPNAME( 0x07, 0x07, "Main Game Rate" )
- PORT_DIPSETTING( 0x00, "25%" )
- PORT_DIPSETTING( 0x01, "30%" )
- PORT_DIPSETTING( 0x02, "35%" )
- PORT_DIPSETTING( 0x03, "40%" )
- PORT_DIPSETTING( 0x04, "45%" )
- PORT_DIPSETTING( 0x07, "50%" )
- PORT_DIPSETTING( 0x05, "55%" )
- PORT_DIPSETTING( 0x06, "60%" )
- PORT_DIPNAME( 0x38, 0x38, "Double-Up Rate" )
- PORT_DIPSETTING( 0x00, "0" )
- PORT_DIPSETTING( 0x08, "1" )
- PORT_DIPSETTING( 0x10, "2" )
- PORT_DIPSETTING( 0x18, "3" )
- PORT_DIPSETTING( 0x20, "4" )
- PORT_DIPSETTING( 0x28, "5" )
- PORT_DIPSETTING( 0x30, "6" )
- PORT_DIPSETTING( 0x38, "7" )
- PORT_DIPUNKNOWN( 0x40, 0x40 )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "SW4" )
- PORT_DIPUNKNOWN( 0x01, 0x01 )
- PORT_DIPUNKNOWN( 0x02, 0x02 )
- PORT_DIPUNKNOWN( 0x04, 0x04 )
- PORT_DIPUNKNOWN( 0x08, 0x08 )
- PORT_DIPUNKNOWN( 0x10, 0x10 )
- PORT_DIPUNKNOWN( 0x20, 0x20 )
- PORT_DIPNAME( 0x40, 0x40, "Game Control" )
- PORT_DIPSETTING( 0x40, "Normal Holds" )
- PORT_DIPSETTING( 0x00, "Left-Right Marker" )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "INA" ) // d005
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / Double (Select)")
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Right")
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / Left")
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Select")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Deal / Take")
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_BET ) PORT_NAME("Bet / Speed") PORT_IMPULSE(3)
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START( "INB" ) // d006
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(3) // coin
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("hopper", ticket_dispenser_device, line_r) // hopper sensor
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Stats / Test") // Bookkeeping.
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Settings") // Game Rate & others.
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // payout
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // key out?
-
- PORT_START( "INC" ) // d00c
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("hopper", ticket_dispenser_device, line_r) // hopper sensor
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset") // hard reset
- 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_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-INPUT_PORTS_END
-
-
-static INPUT_PORTS_START( victor6 )
-
- PORT_START( "SW1" )
- PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
- PORT_DIPSETTING( 0x06, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x05, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x07, "1 Coin / 10 Credits" )
- PORT_DIPSETTING( 0x03, "1 Coin / 20 Credits" )
- PORT_DIPSETTING( 0x02, "1 Coin / 25 Credits" )
- PORT_DIPSETTING( 0x01, "1 Coin / 50 Credits" )
- PORT_DIPSETTING( 0x00, "1 Coin / 100 Credits" )
- PORT_DIPNAME( 0x38, 0x38, "Remote Credits" )
- PORT_DIPSETTING( 0x30, "1 Pulse / 1 Credits" )
- PORT_DIPSETTING( 0x28, "1 Pulse / 2 Credits" )
- PORT_DIPSETTING( 0x20, "1 Pulse / 5 Credits" )
- PORT_DIPSETTING( 0x18, "1 Pulse / 10 Credits" )
- PORT_DIPSETTING( 0x10, "1 Pulse / 50 Credits" )
- PORT_DIPSETTING( 0x38, "1 Pulse / 100 Credits" )
- PORT_DIPSETTING( 0x08, "1 Pulse / 200 Credits" )
- PORT_DIPSETTING( 0x00, "1 Pulse / 500 Credits" )
- PORT_DIPUNKNOWN( 0x40, 0x40 )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "SW2" )
- PORT_DIPNAME( 0x03, 0x03, "Minimum Bet" )
- PORT_DIPSETTING( 0x03, "1" )
- PORT_DIPSETTING( 0x02, "5" )
- PORT_DIPSETTING( 0x01, "10" )
- PORT_DIPSETTING( 0x00, "20" )
- PORT_DIPNAME( 0x0c, 0x0c, "Max Bet" )
- PORT_DIPSETTING( 0x00, "8" )
- PORT_DIPSETTING( 0x08, "10" )
- PORT_DIPSETTING( 0x04, "40" )
- PORT_DIPSETTING( 0x0c, "50" )
- PORT_DIPNAME( 0x10, 0x10, "Jokers" )
- PORT_DIPSETTING( 0x10, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPUNKNOWN( 0x20, 0x20 )
- PORT_DIPNAME( 0x40, 0x00, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "SW3" )
- PORT_DIPNAME( 0x07, 0x07, "Main Game Rate" )
- PORT_DIPSETTING( 0x00, "87%" )
- PORT_DIPSETTING( 0x01, "89%" )
- PORT_DIPSETTING( 0x02, "91%" )
- PORT_DIPSETTING( 0x03, "93%" )
- PORT_DIPSETTING( 0x04, "95%" )
- PORT_DIPSETTING( 0x07, "97%" )
- PORT_DIPSETTING( 0x05, "99%" )
- PORT_DIPSETTING( 0x06, "101%" )
- PORT_DIPNAME( 0x38, 0x38, "Double-Up Rate" )
- PORT_DIPSETTING( 0x00, "82" )
- PORT_DIPSETTING( 0x08, "84" )
- PORT_DIPSETTING( 0x10, "86" )
- PORT_DIPSETTING( 0x18, "88" )
- PORT_DIPSETTING( 0x20, "90" )
- PORT_DIPSETTING( 0x38, "92" )
- PORT_DIPSETTING( 0x28, "94" )
- PORT_DIPSETTING( 0x30, "96" )
- PORT_DIPUNKNOWN( 0x40, 0x40 )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "SW4" )
- PORT_DIPUNKNOWN( 0x01, 0x01 )
- PORT_DIPUNKNOWN( 0x02, 0x02 )
- PORT_DIPUNKNOWN( 0x04, 0x04 )
- PORT_DIPUNKNOWN( 0x08, 0x08 )
- PORT_DIPUNKNOWN( 0x10, 0x10 )
- PORT_DIPUNKNOWN( 0x20, 0x20 )
- PORT_DIPUNKNOWN( 0x40, 0x40 )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "INA" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Start")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / Bet")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / Double-Up")
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START( "INB" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(3) // coin
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Stats / Test") // Bookkeeping.
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Settings") // Game Rate & others.
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT )
-
- PORT_START( "INC" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Small")
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset Switch") // hard reset
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Big")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Take")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-INPUT_PORTS_END
-
-
-static INPUT_PORTS_START( victor6a )
-
- PORT_START( "SW1" )
- PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
- PORT_DIPSETTING( 0x06, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x05, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x07, "1 Coin / 10 Credits" )
- PORT_DIPSETTING( 0x03, "1 Coin / 20 Credits" )
- PORT_DIPSETTING( 0x02, "1 Coin / 25 Credits" )
- PORT_DIPSETTING( 0x01, "1 Coin / 50 Credits" )
- PORT_DIPSETTING( 0x00, "1 Coin / 100 Credits" )
- PORT_DIPNAME( 0x38, 0x38, "Remote Credits" )
- PORT_DIPSETTING( 0x30, "1 Pulse / 1 Credits" )
- PORT_DIPSETTING( 0x28, "1 Pulse / 2 Credits" )
- PORT_DIPSETTING( 0x20, "1 Pulse / 5 Credits" )
- PORT_DIPSETTING( 0x18, "1 Pulse / 10 Credits" )
- PORT_DIPSETTING( 0x10, "1 Pulse / 50 Credits" )
- PORT_DIPSETTING( 0x38, "1 Pulse / 100 Credits" )
- PORT_DIPSETTING( 0x08, "1 Pulse / 200 Credits" )
- PORT_DIPSETTING( 0x00, "1 Pulse / 500 Credits" )
- PORT_DIPUNKNOWN( 0x40, 0x40 )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "SW2" )
- PORT_DIPNAME( 0x03, 0x03, "Minimum Bet" )
- PORT_DIPSETTING( 0x03, "1" )
- PORT_DIPSETTING( 0x02, "5" )
- PORT_DIPSETTING( 0x01, "10" )
- PORT_DIPSETTING( 0x00, "20" )
- PORT_DIPNAME( 0x0c, 0x0c, "Max Bet" )
- PORT_DIPSETTING( 0x08, "10" )
- PORT_DIPSETTING( 0x04, "40" )
- PORT_DIPSETTING( 0x0c, "50" )
- PORT_DIPSETTING( 0x00, "80" )
- PORT_DIPNAME( 0x10, 0x10, "Jokers" )
- PORT_DIPSETTING( 0x10, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPUNKNOWN( 0x20, 0x20 )
- PORT_DIPNAME( 0x40, 0x00, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "SW3" )
- PORT_DIPNAME( 0x07, 0x07, "Main Game Rate" )
- PORT_DIPSETTING( 0x00, "94%" )
- PORT_DIPSETTING( 0x01, "95%" )
- PORT_DIPSETTING( 0x02, "96%" )
- PORT_DIPSETTING( 0x03, "97%" )
- PORT_DIPSETTING( 0x04, "98%" )
- PORT_DIPSETTING( 0x07, "99%" )
- PORT_DIPSETTING( 0x05, "100%" )
- PORT_DIPSETTING( 0x06, "101%" )
- PORT_DIPNAME( 0x38, 0x38, "Double-Up Rate" )
- PORT_DIPSETTING( 0x00, "82" )
- PORT_DIPSETTING( 0x08, "84" )
- PORT_DIPSETTING( 0x10, "86" )
- PORT_DIPSETTING( 0x18, "88" )
- PORT_DIPSETTING( 0x20, "90" )
- PORT_DIPSETTING( 0x38, "92" )
- PORT_DIPSETTING( 0x28, "94" )
- PORT_DIPSETTING( 0x30, "96" )
- PORT_DIPUNKNOWN( 0x40, 0x40 )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "SW4" )
- PORT_DIPUNKNOWN( 0x01, 0x01 )
- PORT_DIPUNKNOWN( 0x02, 0x02 )
- PORT_DIPUNKNOWN( 0x04, 0x04 )
- PORT_DIPUNKNOWN( 0x08, 0x08 )
- PORT_DIPUNKNOWN( 0x10, 0x10 )
- PORT_DIPUNKNOWN( 0x20, 0x20 )
- PORT_DIPUNKNOWN( 0x40, 0x40 )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "INA" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Start")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / Bet")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / Double-Up")
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START( "INB" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(3) // coin
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Stats / Test") // Bookkeeping.
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Settings") // Game Rate & others.
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT )
-
- PORT_START( "INC" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Small")
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset Switch") // hard reset
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Big")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Take")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-INPUT_PORTS_END
-
-
-static INPUT_PORTS_START( victor6b )
-
- PORT_START( "SW1" )
- PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
- PORT_DIPSETTING( 0x06, DEF_STR( 1C_1C ) )
- PORT_DIPSETTING( 0x05, DEF_STR( 1C_2C ) )
- PORT_DIPSETTING( 0x04, DEF_STR( 1C_5C ) )
- PORT_DIPSETTING( 0x07, "1 Coin / 10 Credits" )
- PORT_DIPSETTING( 0x03, "1 Coin / 20 Credits" )
- PORT_DIPSETTING( 0x02, "1 Coin / 25 Credits" )
- PORT_DIPSETTING( 0x01, "1 Coin / 50 Credits" )
- PORT_DIPSETTING( 0x00, "1 Coin / 100 Credits" )
- PORT_DIPNAME( 0x38, 0x38, "Remote Credits" )
- PORT_DIPSETTING( 0x30, "1 Pulse / 1 Credits" )
- PORT_DIPSETTING( 0x28, "1 Pulse / 2 Credits" )
- PORT_DIPSETTING( 0x20, "1 Pulse / 5 Credits" )
- PORT_DIPSETTING( 0x18, "1 Pulse / 10 Credits" )
- PORT_DIPSETTING( 0x10, "1 Pulse / 50 Credits" )
- PORT_DIPSETTING( 0x38, "1 Pulse / 100 Credits" )
- PORT_DIPSETTING( 0x08, "1 Pulse / 200 Credits" )
- PORT_DIPSETTING( 0x00, "1 Pulse / 500 Credits" )
- PORT_DIPUNKNOWN( 0x40, 0x40 )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "SW2" )
- PORT_DIPNAME( 0x03, 0x03, "Minimum Bet" )
- PORT_DIPSETTING( 0x03, "1" )
- PORT_DIPSETTING( 0x02, "5" )
- PORT_DIPSETTING( 0x01, "10" )
- PORT_DIPSETTING( 0x00, "20" )
- PORT_DIPNAME( 0x0c, 0x0c, "Max Bet" )
- PORT_DIPSETTING( 0x08, "Invalid" )
- PORT_DIPSETTING( 0x04, "40" )
- PORT_DIPSETTING( 0x0c, "50" )
- PORT_DIPSETTING( 0x00, "80" )
- PORT_DIPNAME( 0x10, 0x10, "Jokers" )
- PORT_DIPSETTING( 0x10, DEF_STR( No ) )
- PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
- PORT_DIPUNKNOWN( 0x20, 0x20 )
- PORT_DIPNAME( 0x40, 0x00, DEF_STR( Demo_Sounds ) )
- PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
- PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "SW3" )
- PORT_DIPNAME( 0x07, 0x07, "Main Game Rate" )
- PORT_DIPSETTING( 0x00, "94%" )
- PORT_DIPSETTING( 0x01, "95%" )
- PORT_DIPSETTING( 0x02, "96%" )
- PORT_DIPSETTING( 0x03, "97%" )
- PORT_DIPSETTING( 0x04, "98%" )
- PORT_DIPSETTING( 0x07, "99%" )
- PORT_DIPSETTING( 0x05, "100%" )
- PORT_DIPSETTING( 0x06, "101%" )
- PORT_DIPNAME( 0x38, 0x38, "Double-Up Rate" )
- PORT_DIPSETTING( 0x00, "82" )
- PORT_DIPSETTING( 0x08, "84" )
- PORT_DIPSETTING( 0x10, "86" )
- PORT_DIPSETTING( 0x18, "88" )
- PORT_DIPSETTING( 0x20, "90" )
- PORT_DIPSETTING( 0x38, "92" )
- PORT_DIPSETTING( 0x28, "94" )
- PORT_DIPSETTING( 0x30, "96" )
- PORT_DIPUNKNOWN( 0x40, 0x40 )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "SW4" )
- PORT_DIPUNKNOWN( 0x01, 0x01 )
- PORT_DIPUNKNOWN( 0x02, 0x02 )
- PORT_DIPUNKNOWN( 0x04, 0x04 )
- PORT_DIPUNKNOWN( 0x08, 0x08 )
- PORT_DIPUNKNOWN( 0x10, 0x10 )
- PORT_DIPUNKNOWN( 0x20, 0x20 )
- PORT_DIPUNKNOWN( 0x40, 0x40 )
- PORT_DIPUNKNOWN( 0x80, 0x80 )
-
- PORT_START( "INA" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Start")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / Bet")
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / Double-Up")
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-
- PORT_START( "INB" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(3) // coin
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Stats / Test") // Bookkeeping.
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Settings") // Game Rate & others.
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT )
-
- PORT_START( "INC" )
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Small")
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset Switch") // hard reset
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Big")
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Take")
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
-INPUT_PORTS_END
-
-
-/***************************************************************************
-* Graphics Layout *
-***************************************************************************/
-
-static const gfx_layout layout_8x8x3 =
-{
- 8, 8,
- RGN_FRAC(1, 3),
- 3,
- { RGN_FRAC(0,3), RGN_FRAC(1,3), RGN_FRAC(2,3) },
- { STEP8(0,1) },
- { STEP8(0,8) },
- 8*8
-};
-
-static const gfx_layout layout_8x8x4 =
-{
- 8, 8,
- RGN_FRAC(1, 4),
- 4,
- { RGN_FRAC(2,4), RGN_FRAC(3,4), RGN_FRAC(0,4), RGN_FRAC(1,4) },
- { STEP8(0,1) },
- { STEP8(0,8) },
- 8*8
-};
-
-static const gfx_layout layout_8x32x4 =
-{
- 8, 32,
- RGN_FRAC(1, 4),
- 4,
- { RGN_FRAC(2,4), RGN_FRAC(3,4), RGN_FRAC(0,4), RGN_FRAC(1,4) },
- { STEP8(0,1) },
- { STEP32(0,8) },
- 8*8*4
-};
-
-static const gfx_layout layout_8x8x8 =
-{
- 8, 8,
- RGN_FRAC(1,4),
- 8,
- { 0,1,2,3,4,5,6,7 },
- { RGN_FRAC(0,4), RGN_FRAC(1,4), RGN_FRAC(2,4), RGN_FRAC(3,4), RGN_FRAC(0,4)+8, RGN_FRAC(1,4)+8, RGN_FRAC(2,4)+8, RGN_FRAC(3,4)+8 },
- { 0*16,1*16,2*16,3*16,4*16,5*16,6*16,7*16 },
- 8*16
-};
-
-static const gfx_layout layout_8x32x8 =
-{
- 8, 32,
- RGN_FRAC(1,4),
- 8,
- { 0,1,2,3,4,5,6,7 },
- { RGN_FRAC(0,4), RGN_FRAC(1,4), RGN_FRAC(2,4), RGN_FRAC(3,4), RGN_FRAC(0,4)+8, RGN_FRAC(1,4)+8, RGN_FRAC(2,4)+8, RGN_FRAC(3,4)+8 },
- { 0*16,1*16,2*16,3*16,4*16,5*16,6*16,7*16, 8*16,9*16,10*16,11*16,12*16,13*16,14*16,15*16,
- 16*16,17*16,18*16,19*16,20*16,21*16,22*16,23*16,24*16,25*16,26*16,27*16,28*16,29*16,30*16,31*16},
- 32*16
-};
-
-
-static GFXDECODE_START( subsino_depth3 )
- GFXDECODE_ENTRY( "tilemap", 0, layout_8x8x3, 0, 16 )
-GFXDECODE_END
-
-static GFXDECODE_START( subsino_depth4 )
- GFXDECODE_ENTRY( "tilemap", 0, layout_8x8x4, 0, 16 )
-GFXDECODE_END
-
-static GFXDECODE_START( subsino_depth4_reels )
- GFXDECODE_ENTRY( "tilemap", 0, layout_8x8x4, 0, 16 )
- GFXDECODE_ENTRY( "reels", 0, layout_8x32x4, 0, 16 )
-GFXDECODE_END
-
-static GFXDECODE_START( subsino_stbsub )
- GFXDECODE_ENTRY( "tilemap", 0, layout_8x8x8, 0, 1 )
- GFXDECODE_ENTRY( "reels", 0, layout_8x32x8, 0, 1 )
-GFXDECODE_END
-
-/***************************************************************************
-* Machine Drivers *
-***************************************************************************/
-
-void subsino_state::victor21(machine_config &config)
-{
- /* basic machine hardware */
- HD647180X(config, m_maincpu, XTAL(12'000'000)); /* Unknown clock */
- m_maincpu->set_addrmap(AS_PROGRAM, &subsino_state::victor21_map);
- m_maincpu->set_addrmap(AS_IO, &subsino_state::subsino_iomap);
-
- i8255_device &ppi(I8255A(config, "ppi"));
- ppi.out_pa_callback().set(FUNC(subsino_state::out_a_w));
- ppi.tri_pa_callback().set_constant(0);
- ppi.out_pb_callback().set(FUNC(subsino_state::out_b_w));
- ppi.tri_pb_callback().set_constant(0);
- ppi.in_pc_callback().set_ioport("INC");
-
- TICKET_DISPENSER(config, m_hopper, attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW);
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(60);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
- screen.set_size(512, 256);
- screen.set_visarea(0, 512-1, 0+16, 256-16-1);
- screen.set_screen_update(FUNC(subsino_state::screen_update));
- screen.set_palette(m_palette);
-
- GFXDECODE(config, m_gfxdecode, m_palette, subsino_depth3);
-
- PALETTE(config, m_palette, FUNC(subsino_state::_2proms_palette), 0x100);
-
- MCFG_VIDEO_START_OVERRIDE(subsino_state,subsino)
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
-
- YM2413(config, "ymsnd", XTAL(3'579'545)).add_route(ALL_OUTPUTS, "mono", 1.0);
-
- OKIM6295(config, "oki", XTAL(4'433'619) / 4, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); /* Clock frequency & pin 7 not verified */
-}
-
-/* same but with an additional protection. */
-void subsino_state::victor5(machine_config &config)
-{
- victor21(config);
-
- /* basic machine hardware */
- m_maincpu->set_addrmap(AS_PROGRAM, &subsino_state::victor5_map);
-}
-
-
-void subsino_state::crsbingo(machine_config &config)
-{
- /* basic machine hardware */
- HD647180X(config, m_maincpu, XTAL(12'000'000)); /* Unknown CPU and clock */
- m_maincpu->set_addrmap(AS_PROGRAM, &subsino_state::crsbingo_map);
- m_maincpu->set_addrmap(AS_IO, &subsino_state::subsino_iomap);
-
- TICKET_DISPENSER(config, m_hopper, attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW);
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(60);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
- screen.set_size(512, 256);
- screen.set_visarea(0, 512-1, 0+16, 256-16-1);
- screen.set_screen_update(FUNC(subsino_state::screen_update));
- screen.set_palette(m_palette);
-
- GFXDECODE(config, m_gfxdecode, m_palette, subsino_depth4);
-
- PALETTE(config, m_palette, FUNC(subsino_state::_2proms_palette), 0x100);
-
- MCFG_VIDEO_START_OVERRIDE(subsino_state,subsino)
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
-
- YM2413(config, "ymsnd", XTAL(3'579'545)).add_route(ALL_OUTPUTS, "mono", 1.0); /* Unknown clock */
-}
-
-
-void subsino_state::srider(machine_config &config)
-{
- /* basic machine hardware */
- HD647180X(config, m_maincpu, XTAL(12'000'000)); /* Unknown clock */
- m_maincpu->set_addrmap(AS_PROGRAM, &subsino_state::srider_map);
- m_maincpu->set_addrmap(AS_IO, &subsino_state::subsino_iomap);
-
- i8255_device &ppi1(I8255A(config, "ppi1"));
- ppi1.in_pa_callback().set_ioport("SW1");
- ppi1.in_pb_callback().set_ioport("SW2");
- ppi1.in_pc_callback().set_ioport("SW3");
-
- i8255_device &ppi2(I8255A(config, "ppi2"));
- ppi2.in_pa_callback().set_ioport("SW4");
- ppi2.in_pb_callback().set_ioport("INA");
- ppi2.in_pc_callback().set_ioport("INB");
-
- TICKET_DISPENSER(config, m_hopper, attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW);
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(60);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
- screen.set_size(512, 256);
- screen.set_visarea(0, 512-1, 0+16, 256-16-1);
- screen.set_screen_update(FUNC(subsino_state::screen_update));
- screen.set_palette(m_palette);
-
- GFXDECODE(config, m_gfxdecode, m_palette, subsino_depth4);
-
- PALETTE(config, m_palette, FUNC(subsino_state::_3proms_palette), 0x100);
-
- MCFG_VIDEO_START_OVERRIDE(subsino_state,subsino)
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
-
- YM3812(config, "ymsnd", XTAL(3'579'545)).add_route(ALL_OUTPUTS, "mono", 1.0);
-
- OKIM6295(config, "oki", XTAL(4'433'619) / 4, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); /* Clock frequency & pin 7 not verified */
-}
-
-
-void subsino_state::sharkpy(machine_config &config)
-{
- srider(config);
-
- /* basic machine hardware */
- m_maincpu->set_addrmap(AS_PROGRAM, &subsino_state::sharkpy_map);
-}
-
-void subsino_state::tisub(machine_config &config)
-{
- /* basic machine hardware */
- HD647180X(config, m_maincpu, XTAL(12'000'000)); /* Unknown CPU and clock */
- m_maincpu->set_addrmap(AS_PROGRAM, &subsino_state::tisub_map);
- m_maincpu->set_addrmap(AS_IO, &subsino_state::subsino_iomap);
-
- i8255_device &ppi1(I8255A(config, "ppi1"));
- ppi1.in_pa_callback().set_ioport("SW1");
- ppi1.in_pb_callback().set_ioport("SW2");
- ppi1.in_pc_callback().set_ioport("SW3");
-
- i8255_device &ppi2(I8255A(config, "ppi2"));
- ppi2.in_pa_callback().set_ioport("SW4");
- ppi2.in_pb_callback().set_ioport("INA");
- ppi2.in_pc_callback().set_ioport("INB");
-
- TICKET_DISPENSER(config, m_hopper, attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW);
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(60);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
- screen.set_size(512, 256);
- screen.set_visarea(0, 512-1, 0+16, 256-16-1);
- screen.set_screen_update(FUNC(subsino_state::screen_update_reels));
- screen.set_palette(m_palette);
-
- GFXDECODE(config, m_gfxdecode, m_palette, subsino_depth4_reels);
-
- PALETTE(config, m_palette, FUNC(subsino_state::_3proms_palette), 0x100);
-
- MCFG_VIDEO_START_OVERRIDE(subsino_state, reels)
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
-
- YM3812(config, "ymsnd", XTAL(3'579'545)).add_route(ALL_OUTPUTS, "mono", 1.0); /* Unknown clock */
-}
-
-void subsino_state::stbsub(machine_config &config)
-{
- /* basic machine hardware */
- HD647180X(config, m_maincpu, XTAL(12'000'000)); /* Unknown clock */
- m_maincpu->set_addrmap(AS_PROGRAM, &subsino_state::stbsub_map);
- m_maincpu->set_addrmap(AS_IO, &subsino_state::subsino_iomap);
-
- i8255_device &ppi1(I8255A(config, "ppi1"));
- ppi1.in_pa_callback().set_ioport("SW1");
- ppi1.in_pb_callback().set_ioport("SW2");
- ppi1.in_pc_callback().set_ioport("SW3");
-
- i8255_device &ppi2(I8255A(config, "ppi2"));
- ppi2.in_pa_callback().set_ioport("SW4");
- ppi2.in_pb_callback().set_ioport("INB");
- ppi2.in_pc_callback().set_ioport("INA");
-
- NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
- TICKET_DISPENSER(config, m_hopper, attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW);
-
- /* video hardware */
- screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_refresh_hz(60);
- screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
- screen.set_size(512, 256);
- screen.set_visarea(0, 512-1, 0+16, 256-16-1);
- screen.set_screen_update(FUNC(subsino_state::screen_update_stbsub_reels));
- screen.set_palette(m_palette);
-
- GFXDECODE(config, m_gfxdecode, m_palette, subsino_stbsub);
-
- PALETTE(config, m_palette).set_entries(0x100);
- //PALETTE(config, m_palette, FUNC(subsino_state::_3proms_palette), 0x100);
-
- ramdac_device &ramdac(RAMDAC(config, "ramdac", 0, m_palette)); // HMC HM86171 VGA 256 colour RAMDAC
- ramdac.set_addrmap(0, &subsino_state::ramdac_map);
-
- MCFG_VIDEO_START_OVERRIDE(subsino_state,stbsub)
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
-
- YM3812(config, "ymsnd", XTAL(3'579'545)).add_route(ALL_OUTPUTS, "mono", 1.0);
-}
-
-void subsino_state::mtrainnv(machine_config &config)
-{
- stbsub(config);
-
- /* basic machine hardware */
- m_maincpu->set_addrmap(AS_PROGRAM, &subsino_state::mtrainnv_map);
-}
-
-
-/***************************************************************************
-* ROMs Loading *
-***************************************************************************/
-
-/***************************************************************************
-
- Victor 5
- (C)1991 Subsino / Buffy
-
- Original Subsino PCB
- with CPU brick.
-
- Dumped by Team Europe.
-
-***************************************************************************/
-
-ROM_START( victor5 )
- ROM_REGION( 0x14000, "maincpu", 0 )
- ROM_LOAD( "1.u1", 0x10000, 0x4000, CRC(bc4d6ed6) SHA1(6b2087360ea0ae9e48a623934cb2fb973a80f1ec) )
- ROM_CONTINUE(0x0000,0xc000)
-
- ROM_REGION( 0x18000, "tilemap", 0 )
- ROM_LOAD( "2.u24", 0x10000, 0x8000, CRC(f7026c74) SHA1(75a72839ad6b349563110ed10ad235958d5c0170) )
- ROM_LOAD( "3.u25", 0x08000, 0x8000, CRC(24ebe112) SHA1(61c32bb76c7600837880f468829dba176f8330f3) )
- ROM_LOAD( "4.u26", 0x00000, 0x8000, CRC(889baf02) SHA1(a2d01f3c09a69bd5b38531b41c53c550a03de229) )
-
- ROM_REGION( 0x20000, "oki", ROMREGION_ERASE )
- ROM_LOAD( "6.u49", 0x00000, 0x10000, CRC(73fb4f7b) SHA1(23db0ff42503847c6c7ebb364985430a48de4d8a) )
- ROM_LOAD( "5.u48", 0x10000, 0x10000, CRC(403d5632) SHA1(844e1a4bdf7cc9c1196f79e75a83f03a964feb16) )
-
- ROM_REGION( 0x200, "proms", 0 )
- ROM_LOAD( "82s129.u35", 0x000, 0x100, CRC(40094bed) SHA1(b25d96126b3f7bd06bf76dc9958f8669f83abdb7) )
- ROM_LOAD( "82s129.u36", 0x100, 0x100, CRC(9ca021c5) SHA1(6a1d8d4f958d36e4a676dc4f4aee83d637933bc3) )
-ROM_END
-
-/***************************************************************************
-
-Victor 5
-(C)1991 Subsino
-
-Chips:
-
-1x unknown big black box
-1x M5L8255AP
-1x UM3567
-1x M6295
-1x oscillator 12.000
-1x oscillator 4.433619
-1x oscillator 3.579545
-
-ROMs:
-
-1x M27C512 (1)
-3x 27C256 (2,3,4)
-
-Notes:
-
-1x 36x2 edge connector (con3)
-1x 10x2 edge connector (con4)
-1x RS232 9pins connector (con5)
-2x batteries
-3x 8x2 switches dip
-1x pushbutton
-
-Sticker on PCB reads V552520
-
-Info by f205v (26/03/2008)
-
-***************************************************************************/
-
-ROM_START( victor5a )
- ROM_REGION( 0x14000, "maincpu", 0 )
- ROM_LOAD( "1.u1", 0x10000, 0x4000, CRC(e3ada2fc) SHA1(eddb460dcb80a29fbbe3ed6c4733c75b892baf52) )
- ROM_CONTINUE(0x0000,0xc000)
-
- ROM_REGION( 0x18000, "tilemap", 0 )
- ROM_LOAD( "2.u24", 0x10000, 0x8000, CRC(1229e951) SHA1(1e548625bb60e2d6f52a376a0dea9e5709f94135) )
- ROM_LOAD( "3.u23", 0x08000, 0x8000, CRC(2d89bbf1) SHA1(d7fda0174a835e88b330dfd09bdb604bfe4c2e44) )
- ROM_LOAD( "4.u22", 0x00000, 0x8000, CRC(ecf840a1) SHA1(9ecf522afb23e3557d37effc3c8568e8a14dad1a) )
-
- ROM_REGION( 0x20000, "oki", ROMREGION_ERASE )
- ROM_LOAD( "6.u49", 0x00000, 0x10000, CRC(73fb4f7b) SHA1(23db0ff42503847c6c7ebb364985430a48de4d8a) )
- ROM_LOAD( "5.u48", 0x10000, 0x10000, CRC(403d5632) SHA1(844e1a4bdf7cc9c1196f79e75a83f03a964feb16) )
-
- ROM_REGION( 0x200, "proms", 0 )
- ROM_LOAD( "82s129.u35", 0x000, 0x100, CRC(40094bed) SHA1(b25d96126b3f7bd06bf76dc9958f8669f83abdb7) )
- ROM_LOAD( "82s129.u36", 0x100, 0x100, CRC(9ca021c5) SHA1(6a1d8d4f958d36e4a676dc4f4aee83d637933bc3) )
-ROM_END
-
-
-/***************************************************************************
-
-Victor 21
-(C)1990 Subsino
-
-Chips:
-
-1x unknown big black box
-1x M5L8255AP
-1x UM3567
-1x M6295
-1x oscillator 12.000
-1x oscillator 4.433619
-1x oscillator 3.579545
-
-ROMs:
-
-1x M27C512 (1)
-3x 27C256 (2,3,4)
-
-Other:
-
-1x 36x2 edge connector (con3)
-1x 10x2 edge connector (con4)
-1x RS232 9pins connector (con5)
-2x batteries
-3x 8 switches dips
-1x pushbutton
-
-PCB layout is identical to "Victor 5"
-Sticker on PCB reads V12040
-
-Info by f205v, Corrado Tomaselli (20/04/2008)
-
-***************************************************************************/
-
-ROM_START( victor21 )
- ROM_REGION( 0x14000, "maincpu", 0 )
- ROM_LOAD( "1.u1", 0x10000, 0x4000, CRC(43999b2d) SHA1(7ce26fd332ffe35fd826a1a6166b228d4bc370b8) )
- ROM_CONTINUE( 0x00000, 0xc000)
-
- ROM_REGION( 0x18000, "tilemap", 0 )
- ROM_LOAD( "2.u24", 0x10000, 0x8000, CRC(f1181b93) SHA1(53cd4d2ce13973495b51d911a4745a69a9784983) )
- ROM_LOAD( "3.u25", 0x08000, 0x8000, CRC(437abb27) SHA1(bd3790807d60a41d58e07f60fb990553076d6e96) )
- ROM_LOAD( "4.u26", 0x00000, 0x8000, CRC(e2f66eee) SHA1(ece924fe626f21fd7d31faabf19225d80e2bcfd3) )
-
- ROM_REGION( 0x20000, "oki", ROMREGION_ERASE )
- ROM_LOAD( "6.u49", 0x00000, 0x10000, CRC(4153711c) SHA1(11b4f5f8ec3c93194d1d5b78ae35ca79d8f66a16) )
- ROM_LOAD( "5.u48", 0x10000, 0x10000, CRC(3d451de6) SHA1(cbb22679fc9ce27e2ca90aa8035bf1b1c353c69e) )
-
- ROM_REGION( 0x200, "proms", 0 )
- ROM_LOAD( "82s129.u35", 0x000, 0x100, CRC(40094bed) SHA1(b25d96126b3f7bd06bf76dc9958f8669f83abdb7) )
- ROM_LOAD( "82s129.u36", 0x100, 0x100, CRC(9ca021c5) SHA1(6a1d8d4f958d36e4a676dc4f4aee83d637933bc3) )
-ROM_END
-
-
-/***************************************************************************
-
- Treasure Island
- -- this has an extra layer for the reels, exactly the same as goldstar.c
-
-***************************************************************************/
-
-ROM_START( tisub )
- ROM_REGION( 0x18000, "maincpu", 0 )
- ROM_LOAD( "rom_1.bin", 0x10000, 0x4000, CRC(ed3b4a69) SHA1(c57985e8d19b2b495fc768e52b83cbbd75f027ad) )
- ROM_CONTINUE(0x0000,0xc000)
- ROM_COPY( "maincpu", 0x09000, 0x14000, 0x1000)
-
- ROM_REGION( 0x40000, "tilemap", 0 )
- ROM_LOAD( "rom_6.bin", 0x00000, 0x10000, CRC(c2c226df) SHA1(39762b390d6b271c3252342e843a181dd152a0cc) )
- ROM_LOAD( "rom_4.bin", 0x10000, 0x10000, CRC(37724fda) SHA1(084653662c9f77afef2a77c607e1fb093aaf3adf) )
- ROM_LOAD( "rom_5.bin", 0x20000, 0x10000, CRC(3d18acd8) SHA1(179545c18ad880097366c07c8e2fa821701a2758) )
- ROM_LOAD( "rom_7.bin", 0x30000, 0x10000, CRC(9d7d99d8) SHA1(a3df5e023c2102028a5186101dc0b19d91e8965e) )
-
- ROM_REGION( 0x8000, "reels", 0 )
- ROM_LOAD( "rom_2.bin", 0x0000, 0x4000, CRC(836c756d) SHA1(fca1d5b600861eea30ed73ee13be735e7d167097) )
- ROM_IGNORE(0x4000)
- ROM_LOAD( "rom_3.bin", 0x4000, 0x4000, CRC(2ad82222) SHA1(68780b9528393b28eaa2f90501efb5a8c39bed63) )
- ROM_IGNORE(0x4000)
-
- ROM_REGION( 0x300, "proms", 0 )
- ROM_LOAD( "n82s129n.u39", 0x000, 0x100, CRC(971843e5) SHA1(4cb5fc1085503dae2f2f02eb49cca051ac84b890) )
- ROM_LOAD( "n82s129n.u40", 0x100, 0x100, CRC(b4bd872c) SHA1(c0f9fe68186636d6d6bc6f81415459631cf38edd) )
- ROM_LOAD( "n82s129n.u41", 0x200, 0x100, CRC(db99f6da) SHA1(d281a2fa06f1890ef0b1c4d099e6828827db14fd) )
-ROM_END
-
-/*
-
- Treasure Island (Alt version)...
-
- ROMs 4 & 5 are missing. ROMs 6 & 7 are identical to parent set.
- So... Assuming that 4 & 5 should have the same bitplanes.
-
- ROM 3 is bad, but ROM 2 only has the first byte different,
- getting different values in each dump. The rest remains identical.
-
- Program ROM is different.
-
- Color PROMs are from this set.
-
-*/
-
-ROM_START( tisuba )
- ROM_REGION( 0x18000, "maincpu", 0 )
- ROM_LOAD( "01.bin", 0x10000, 0x4000, CRC(9967dd38) SHA1(63b74bc0c0952114b7321e8f399bd64dc293aade) )
- ROM_CONTINUE(0x0000,0xc000)
- ROM_COPY( "maincpu", 0x09000, 0x14000, 0x1000)
-
- ROM_REGION( 0x40000, "tilemap", 0 )
- ROM_LOAD( "rom_6.bin", 0x00000, 0x10000, CRC(c2c226df) SHA1(39762b390d6b271c3252342e843a181dd152a0cc) )
- ROM_LOAD( "rom_4.bin", 0x10000, 0x10000, CRC(37724fda) SHA1(084653662c9f77afef2a77c607e1fb093aaf3adf) )
- ROM_LOAD( "rom_5.bin", 0x20000, 0x10000, CRC(3d18acd8) SHA1(179545c18ad880097366c07c8e2fa821701a2758) )
- ROM_LOAD( "rom_7.bin", 0x30000, 0x10000, CRC(9d7d99d8) SHA1(a3df5e023c2102028a5186101dc0b19d91e8965e) )
-
- ROM_REGION( 0x8000, "reels", 0 )
- ROM_LOAD( "rom_2.bin", 0x0000, 0x4000, CRC(836c756d) SHA1(fca1d5b600861eea30ed73ee13be735e7d167097) )
- ROM_IGNORE(0x4000)
- ROM_LOAD( "rom_3.bin", 0x4000, 0x4000, CRC(2ad82222) SHA1(68780b9528393b28eaa2f90501efb5a8c39bed63) )
- ROM_IGNORE(0x4000)
-
- ROM_REGION( 0x300, "proms", 0 )
- ROM_LOAD( "n82s129n.u39", 0x000, 0x100, CRC(971843e5) SHA1(4cb5fc1085503dae2f2f02eb49cca051ac84b890) )
- ROM_LOAD( "n82s129n.u40", 0x100, 0x100, CRC(b4bd872c) SHA1(c0f9fe68186636d6d6bc6f81415459631cf38edd) )
- ROM_LOAD( "n82s129n.u41", 0x200, 0x100, CRC(db99f6da) SHA1(d281a2fa06f1890ef0b1c4d099e6828827db14fd) )
-ROM_END
-
-
-/***************************************************************************
-
-Cross Bingo
-(C)1991 Subsino
-
-Chips:
-
-1x big unknown epoxy block (main)
-1x unknown Subsino SS9101-173001 (DIP42)
-1x unknown blank quad chip (QFP68)
-1x UM3567 (sound)
-3x ULN2003AN (sound)
-1x LM324N (sound)
-1x oscillator 12.000
-1x oscillator 3.579545
-
-ROMs:
-
-3x M27512
-2x PROM N82S129N
-2x PLD 18CV8PC (read protected)
-
-Other:
-
-1x 22x2 edge connector
-1x 11x2 edge connector
-1x 10x2 edge connector (payout system)
-1x RS232 connector
-1x trimmer (volume)
-1x pushbutton
-4x 8x2 switches dip
-1x battery
-
-Info by f205v (14/12/2008)
-
-***************************************************************************/
-
-ROM_START( crsbingo )
- ROM_REGION( 0x14000, "maincpu", 0 )
- ROM_LOAD( "1.u36", 0x10000, 0x4000, CRC(c5aff4eb) SHA1(74f06d7735975657fca9be5fff9e7d53f38fcd02) )
- ROM_CONTINUE(0x0000,0xc000)
-
- ROM_REGION( 0x20000, "tilemap", 0 )
- ROM_LOAD( "2.u4", 0x00000, 0x10000, CRC(ce527722) SHA1(f3759cefab902259eb25f8d4be2fcafc1afd90b9) )
- ROM_LOAD( "3.u15", 0x10000, 0x10000, CRC(23785451) SHA1(8574e59aa816a644ff4b102bd5754ef1284deea0) )
-
- ROM_REGION( 0x200, "proms", 0 )
- ROM_LOAD( "82s129.u13", 0x000, 0x100, CRC(89c06859) SHA1(b98d5335f36ea3842086677aca47b605030d442f) )
- ROM_LOAD( "82s129.u14", 0x100, 0x100, CRC(eaddb54f) SHA1(51fbf31e910a93315204a892d10bcf982a6ed099) )
-
- ROM_REGION( 0x40000, "oki", ROMREGION_ERASE00 )
-
- ROM_REGION( 0x155 * 2, "plds", 0 )
- ROM_LOAD( "18cv8.u22", 0x000, 0x155, NO_DUMP )
- ROM_LOAD( "18cv8.u29", 0x155, 0x155, NO_DUMP )
-ROM_END
-
-
-/***************************************************************************
-
-Shark Party
-(C)1993 Subsino
-
-Chips:
-
-1x unknown big black box
-1x custom SUBSINO_SS9101_409235I (DIL42)(u48)
-2x KD89C55 (u49,u50)
-1x K-665 (u55)(equivalent to M6295)
-1x K-664 (u57)(equivalent to YM3014)
-1x K-666 (u52)(equivalent to YM3812)
-3x 45580D (amplifier)(u58,u59,u60)
-2x custom SUBSINO_SS9100_3512204V (SMT 44pins)(u10,u19)
-1x oscillator 4.433619MHz
-1x oscillator 12.000MHz
-
-ROMs:
-
-1x 27C1001 (u54)
-1x 27C512 (u18)
-2x 27C010 (u16,u17)
-3x N82S129AN (u11,u12,u13)
-4x GAL16V8B (u2,u37,u45,u46)(not dumped)
-2x TIBPAL16L8 (u43,u44)(not dumped)
-
-Other:
-
-1x 36x2 edge connector (con5)
-1x 10x2 edge connector (con4)
-1x battery
-1x trimmer (volume)
-1x pushbutton (sw5)
-4x 8x2 switches dip (sw1,sw2,sw3,sw4)
-
-Info by f205v (25/03/2008)
-
-***************************************************************************/
-
-ROM_START( sharkpy )
- ROM_REGION( 0x14000, "maincpu", 0 )
- ROM_LOAD( "shark_n.1.u18", 0x0a000, 0x6000, CRC(25aeac2f) SHA1(d94e3e5cfffd150ac48e1463493a8323f42e7a89) ) // is this mapped correctly? - used during gameplay?
- ROM_CONTINUE(0x0000, 0xa000)
-
- ROM_REGION( 0x40000, "tilemap", 0 )
- ROM_LOAD( "shark_n.3.u16", 0x00000, 0x08000, CRC(a7a715ce) SHA1(38b93e05377d9cb816688f5070e847480f195c6b) )
- ROM_CONTINUE( 0x10000, 0x08000 )
- ROM_CONTINUE( 0x08000, 0x08000 )
- ROM_CONTINUE( 0x18000, 0x08000 )
- ROM_LOAD( "shark_n.2.u17", 0x20000, 0x08000, CRC(c27f3d0a) SHA1(77c8eb0322c5b9c89777cb080d26ecf9abe01ae7) )
- ROM_CONTINUE( 0x30000, 0x08000 )
- ROM_CONTINUE( 0x28000, 0x08000 )
- ROM_CONTINUE( 0x38000, 0x08000 )
-
- ROM_REGION( 0x40000, "oki", 0 )
- ROM_LOAD( "shark=ii=-italy_4_ver1.0.u54", 0x00000, 0x20000, CRC(9f384c59) SHA1(d2b087b8370b40b6f0944de661ea6aebaebea06f) )
-
- ROM_REGION( 0x300, "proms", 0 )
- ROM_LOAD( "n82s129an.u11", 0x000, 0x100, CRC(daf3657a) SHA1(93005938e2d60d54e7bbf1e234bba3802ee1af21) )
- ROM_LOAD( "n82s129an.u12", 0x100, 0x100, CRC(5a7a25ed) SHA1(eebd679195e6ea50f64f3c46cd06ee21a1550491) )
- ROM_LOAD( "n82s129an.u13", 0x200, 0x100, CRC(0ef5f218) SHA1(a02cf266661385aa078563bd83240d36549c1cf0) )
-ROM_END
-
-/***************************************************************************
-
-Shark Party (alt)
-(C)1993 Subsino
-
-Chips:
-
-1x unknown big black box
-1x custom SUBSINO_SS9101_409235I (DIL42)(u48)
-2x KD89C55 (u49,u50)
-1x K-665 (u55)(equivalent to M6295)
-1x K-664 (u57)(equivalent to YM3014)
-1x SM64JBCK (u52)(equivalent to YM3812)
-3x 45580D (amplifier)(u58,u59,u60)
-2x custom SUBSINO_SS9100_3512201V (SMT 44pins)(u10,u19)
-1x oscillator 4.433619MHz
-1x oscillator 12.000MHz
-
-ROMs:
-
-2x 27C1001 (u54,u17)
-1x 27C512 (u18)
-1x 27C010 (u16)
-3x N82S129AN (u11,u12,u13)
-4x GAL16V8B (u2,u37,u45,u46)(not dumped)
-2x TIBPAL16L8 (u43,u44)(not dumped)
-
-Other:
-
-1x 36x2 edge connector (con5)
-1x 10x2 edge connector (con4)
-1x battery
-1x trimmer (volume)
-1x pushbutton (sw5)
-4x 8x2 switches dip (sw1,sw2,sw3,sw4)
-
-Info by f205v (25/03/2008)
-
-***************************************************************************/
-
-ROM_START( sharkpya )
- ROM_REGION( 0x14000, "maincpu", 0 )
- ROM_LOAD( "shark1.6.u18", 0x0a000, 0x6000, CRC(365312a0) SHA1(de8370b1f35e8d071185d2e5f2fbd2fdf74c55ac) )
- ROM_CONTINUE(0x0000, 0xa000)
-
- ROM_REGION( 0x40000, "tilemap", 0 )
- ROM_LOAD( "shark_n.3.u16", 0x00000, 0x08000, CRC(a7a715ce) SHA1(38b93e05377d9cb816688f5070e847480f195c6b) )
- ROM_CONTINUE( 0x10000, 0x08000 )
- ROM_CONTINUE( 0x08000, 0x08000 )
- ROM_CONTINUE( 0x18000, 0x08000 )
- ROM_LOAD( "shark_n.2.u17", 0x20000, 0x08000, CRC(c27f3d0a) SHA1(77c8eb0322c5b9c89777cb080d26ecf9abe01ae7) )
- ROM_CONTINUE( 0x30000, 0x08000 )
- ROM_CONTINUE( 0x28000, 0x08000 )
- ROM_CONTINUE( 0x38000, 0x08000 )
-
- ROM_REGION( 0x40000, "oki", 0 )
- ROM_LOAD( "shark=ii=-italy_4_ver1.0.u54", 0x00000, 0x20000, CRC(9f384c59) SHA1(d2b087b8370b40b6f0944de661ea6aebaebea06f) )
-
- ROM_REGION( 0x300, "proms", 0 )
- ROM_LOAD( "sn82s129an.u11", 0x000, 0x100, CRC(daf3657a) SHA1(93005938e2d60d54e7bbf1e234bba3802ee1af21) )
- ROM_LOAD( "sn82s129an.u12", 0x100, 0x100, CRC(5a7a25ed) SHA1(eebd679195e6ea50f64f3c46cd06ee21a1550491) )
- ROM_LOAD( "sn82s129an.u13", 0x200, 0x100, CRC(0ef5f218) SHA1(a02cf266661385aa078563bd83240d36549c1cf0) )
-ROM_END
-
-/***************************************************************************
-
- Shark Party (English, Alpha license)
-
- - Different inputs system.
- - Different DIP Switches.
- - Different Button-Lamps outputs.
-
-***************************************************************************/
-
-ROM_START( sharkpye )
- ROM_REGION( 0x14000, "maincpu", 0 )
- ROM_LOAD( "sharkpye.u18", 0x0a000, 0x6000, CRC(12473814) SHA1(9c24ed41781aefee0161add912e730ba0d4f4d3e) )
- ROM_CONTINUE(0x0000, 0xa000)
-
- ROM_REGION( 0x40000, "tilemap", 0 )
- ROM_LOAD( "sharkpye.u16", 0x00000, 0x08000, CRC(90862185) SHA1(9d632bfa707d3449a87d7f370eb2b5c36e61aadd) )
- ROM_CONTINUE( 0x10000, 0x08000 )
- ROM_CONTINUE( 0x08000, 0x08000 )
- ROM_CONTINUE( 0x18000, 0x08000 )
- ROM_LOAD( "sharkpye.u17", 0x20000, 0x08000, CRC(b7b6119a) SHA1(b61c77d2170d96fcb39ea31c4136387441b9037f) )
- ROM_CONTINUE( 0x30000, 0x08000 )
- ROM_CONTINUE( 0x28000, 0x08000 )
- ROM_CONTINUE( 0x38000, 0x08000 )
-
- ROM_REGION( 0x40000, "oki", 0 )
- ROM_LOAD( "sharkpye.u54", 0x00000, 0x20000, CRC(9f384c59) SHA1(d2b087b8370b40b6f0944de661ea6aebaebea06f) )
-
- ROM_REGION( 0x300, "proms", 0 )
- ROM_LOAD( "n82s129an.u11", 0x000, 0x100, CRC(daf3657a) SHA1(93005938e2d60d54e7bbf1e234bba3802ee1af21) )
- ROM_LOAD( "n82s129an.u12", 0x100, 0x100, CRC(5a7a25ed) SHA1(eebd679195e6ea50f64f3c46cd06ee21a1550491) )
- ROM_LOAD( "n82s129an.u13", 0x200, 0x100, CRC(0ef5f218) SHA1(a02cf266661385aa078563bd83240d36549c1cf0) )
-ROM_END
-
-
-/****************************************************************************
-
- Victor 6 (Subsino/Alpha)
-
- SET MAINRATE MAXBET
- ----------------------------
- victor6 87-101% 50
- victor6a 94-101% 80
- victor6b 94-101% 80 (no 10 option)
-
-
-****************************************************************************/
-
-ROM_START( victor6 )
- ROM_REGION( 0x14000, "maincpu", 0 )
- ROM_LOAD( "victor_6ii-rom_1.ver2.3n.u18", 0x0a000, 0x6000, CRC(d496ecbd) SHA1(1f982b42bc46c09298916a6cb2db0b38c6451ec3) )
- ROM_CONTINUE(0x0000, 0xa000)
-
- ROM_REGION( 0x40000, "tilemap", 0 )
- ROM_LOAD( "victor_6ii-rom_3_ver1.0.u16", 0x00000, 0x08000, CRC(4e96c30a) SHA1(4989b10a52ba61459864aa44be9ebafe68b4d231) )
- ROM_CONTINUE( 0x10000, 0x08000 )
- ROM_CONTINUE( 0x08000, 0x08000 )
- ROM_CONTINUE( 0x18000, 0x08000 )
- ROM_LOAD( "victor_6ii-rom_2_ver1.0.u17", 0x20000, 0x08000, CRC(4630a1da) SHA1(a14df7d7047350a7b1ae485570869d9fa50a2f6d) )
- ROM_CONTINUE( 0x30000, 0x08000 )
- ROM_CONTINUE( 0x28000, 0x08000 )
- ROM_CONTINUE( 0x38000, 0x08000 )
-
- ROM_REGION( 0x40000, "oki", 0 )
- ROM_LOAD( "victor_6ii-rom_4_ver1.0.u54", 0x00000, 0x20000, CRC(ed2a6ff8) SHA1(b776b85a350cd0176ffa04248084475d07ac5bfa) )
-
- ROM_REGION( 0x300, "proms", 0 )
- ROM_LOAD( "n82s129.u11", 0x000, 0x100, CRC(e8d7c8c3) SHA1(26ea907e45e70269956f842817b2d827cbc647ec) )
- ROM_LOAD( "n82s129.u12", 0x100, 0x100, CRC(4cee9225) SHA1(bb784ff636f90de3965272021f610abb41e0d40d) )
- ROM_LOAD( "n82s129.u13", 0x200, 0x100, CRC(b135c3eb) SHA1(54b04c5c4eb3a769123f2630740f0575e2ea6ff2) )
-ROM_END
-
-ROM_START( victor6a )
- ROM_REGION( 0x14000, "maincpu", 0 )
- ROM_LOAD( "victor_6ii_alpha_1_ver2.3.u18", 0x0a000, 0x6000, CRC(2a3eaecd) SHA1(18bf2dfec8cd5690d6465f750093942afda66475) )
- ROM_CONTINUE(0x0000, 0xa000)
-
- ROM_REGION( 0x40000, "tilemap", 0 )
- ROM_LOAD( "victor_6ii-rom_3_ver1.0.u16", 0x00000, 0x08000, CRC(4e96c30a) SHA1(4989b10a52ba61459864aa44be9ebafe68b4d231) )
- ROM_CONTINUE( 0x10000, 0x08000 )
- ROM_CONTINUE( 0x08000, 0x08000 )
- ROM_CONTINUE( 0x18000, 0x08000 )
- ROM_LOAD( "victor_6ii-rom_2_ver1.0.u17", 0x20000, 0x08000, CRC(4630a1da) SHA1(a14df7d7047350a7b1ae485570869d9fa50a2f6d) )
- ROM_CONTINUE( 0x30000, 0x08000 )
- ROM_CONTINUE( 0x28000, 0x08000 )
- ROM_CONTINUE( 0x38000, 0x08000 )
-
- ROM_REGION( 0x40000, "oki", 0 )
- ROM_LOAD( "victor_6ii-rom_4_ver1.0.u54", 0x00000, 0x20000, CRC(ed2a6ff8) SHA1(b776b85a350cd0176ffa04248084475d07ac5bfa) )
-
- ROM_REGION( 0x300, "proms", 0 )
- ROM_LOAD( "n82s129.u11", 0x000, 0x100, CRC(e8d7c8c3) SHA1(26ea907e45e70269956f842817b2d827cbc647ec) )
- ROM_LOAD( "n82s129.u12", 0x100, 0x100, CRC(4cee9225) SHA1(bb784ff636f90de3965272021f610abb41e0d40d) )
- ROM_LOAD( "n82s129.u13", 0x200, 0x100, CRC(b135c3eb) SHA1(54b04c5c4eb3a769123f2630740f0575e2ea6ff2) )
-ROM_END
-
-ROM_START( victor6b )
- ROM_REGION( 0x14000, "maincpu", 0 )
- ROM_LOAD( "victor_6ii_rom_1_ver1.2.u18", 0x0a000, 0x6000, CRC(309876fc) SHA1(305c4cf347b512607e2c58a580075a34b48bedd5) )
- ROM_CONTINUE(0x0000, 0xa000)
-
- ROM_REGION( 0x40000, "tilemap", 0 )
- ROM_LOAD( "victor_6ii-rom_3_ver1.0.u16", 0x00000, 0x08000, CRC(4e96c30a) SHA1(4989b10a52ba61459864aa44be9ebafe68b4d231) )
- ROM_CONTINUE( 0x10000, 0x08000 )
- ROM_CONTINUE( 0x08000, 0x08000 )
- ROM_CONTINUE( 0x18000, 0x08000 )
- ROM_LOAD( "victor_6ii-rom_2_ver1.0.u17", 0x20000, 0x08000, CRC(4630a1da) SHA1(a14df7d7047350a7b1ae485570869d9fa50a2f6d) )
- ROM_CONTINUE( 0x30000, 0x08000 )
- ROM_CONTINUE( 0x28000, 0x08000 )
- ROM_CONTINUE( 0x38000, 0x08000 )
-
- ROM_REGION( 0x40000, "oki", 0 )
- ROM_LOAD( "victor_6ii-rom_4_ver1.0.u54", 0x00000, 0x20000, CRC(ed2a6ff8) SHA1(b776b85a350cd0176ffa04248084475d07ac5bfa) )
-
- ROM_REGION( 0x300, "proms", 0 )
- ROM_LOAD( "n82s129.u11", 0x000, 0x100, CRC(e8d7c8c3) SHA1(26ea907e45e70269956f842817b2d827cbc647ec) )
- ROM_LOAD( "n82s129.u12", 0x100, 0x100, CRC(4cee9225) SHA1(bb784ff636f90de3965272021f610abb41e0d40d) )
- ROM_LOAD( "n82s129.u13", 0x200, 0x100, CRC(b135c3eb) SHA1(54b04c5c4eb3a769123f2630740f0575e2ea6ff2) )
-ROM_END
-
-
-/***************************************************************************
-
-Super Rider (Italy Ver 1.6)
-(C)1996 Subsino
-
-Chips:
-
-2x custom QFP44 label SUBSINOSS9100
-1x custom DIP42 label SUBSINOSS9101
-2x FILE KD89C55A (equivalent to 8255)
-1x custom QFP44 label M28 (sound)(equivalent to M6295)
-1x custom DIP24 label K-666 (sound)(equivalent to YM3812)
-1x custom DIP8 label K-664 (sound)(equivalent to YM3014)
-1x oscillator 12.000MHz (main)
-1x oscillator 4.43361MHz (sound)
-
-ROMs:
-
-1x TMS27C512 (1)
-2x TMS27C010A (2,3)(main)
-1x TMS27C010A (4) (sound)
-3x PROM N82S129AN
-
-Other:
-
-1x 10x2 edge connector (looks like a coin payout)
-1x 36x2 edge connector
-1x battery 3.6V NiCd
-1x pushbutton (sw5)
-4x 8 switches dips (sw1-4)
-1x trimmer (volume)
-1x BIG BLACK BOX (on top of the box there is a small door closing a button-battery; for sure there is more in it, but I do not know how to open it / tore it apart)
-
-This game is the official Italian version of "Super Rider" by Subsino
-
-Info by f205v (29/12/2005)
-
-***************************************************************************/
-
-ROM_START( smoto16 )
- ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "rideritaly_1ver1.6.u18", 0x0000, 0x10000, CRC(c7c0c3e8) SHA1(5dc80bc775f370653135a7b3ea9c8d3c92263804) )
-
- ROM_REGION( 0x40000, "tilemap", 0 )
- ROM_LOAD( "rideritaly_3ver1.6.u16", 0x00000, 0x08000, CRC(998a8feb) SHA1(27f08b23f2dd3736f4f12f489d9a3aa096c99e8a) )
- ROM_CONTINUE( 0x10000, 0x08000 )
- ROM_CONTINUE( 0x08000, 0x08000 )
- ROM_CONTINUE( 0x18000, 0x08000 )
- ROM_LOAD( "rideritaly_2ver1.6.u17", 0x20000, 0x08000, CRC(bdf9bf26) SHA1(49e7c0b99fec06dca5816eb7e38aed025efcaaa7) )
- ROM_CONTINUE( 0x30000, 0x08000 )
- ROM_CONTINUE( 0x28000, 0x08000 )
- ROM_CONTINUE( 0x38000, 0x08000 )
-
- ROM_REGION( 0x40000, "oki", 0 )
- ROM_LOAD( "rideritaly_4ver1.6.u54", 0x00000, 0x20000, CRC(df828563) SHA1(f39324c5c37486ed9512e0ff934394556dd182ae) )
-
- ROM_REGION( 0x300, "proms", 0 )
- ROM_LOAD( "prom-n82s129an.u11", 0x000, 0x100, CRC(e17730a6) SHA1(50c730b24e1d3d205c70f9381e4136e2ba6e499a) )
- ROM_LOAD( "prom-n82s129an.u12", 0x100, 0x100, CRC(df848861) SHA1(f7e382f8b56d6b9f2af6c7a48a19e3631a64bb6d) )
- ROM_LOAD( "prom-n82s129an.u13", 0x200, 0x100, CRC(9cb4a5c0) SHA1(0e0a368329c6d1cb685ed655d699a4894988fdb1) )
-ROM_END
-
-void subsino_state::init_smoto16()
-{
- uint8_t *rom = memregion( "maincpu" )->base();
- rom[0x12d0] = 0x20; // "ERROR 951010"
-}
-
-/***************************************************************************
-
-Super Rider (Italy Ver 2.0)
-(C)1997 Subsino
-
-Chips:
-
-2x custom QFP44 label SUBSINOSS9100
-1x custom DIP42 label SUBSINOSS9101
-2x D8255AC-2 (equivalent to 8255)
-1x custom QFP44 label K-665 (sound)(equivalent to OKI M6295)
-1x custom DIP24 label SM64 (sound)(equivalent to YM3812)
-1x custom DIP8 label K-664 (sound)(equivalent to YM3014)
-1x oscillator 12.000MHz (main)
-1x oscillator 4.433619MHz (sound)
-
-ROMs:
-
-1x 27C512 (1)
-2x M27C1001 (2,3)(main)
-1x M27C1001 (4) (sound)
-3x PROM N82S129AN
-3x PALCE16V8H (not dumped)
-2x TIBPAL16L8B (not dumped)
-1x GAL16V8B (not dumped)
-
-Other:
-
-1x 10x2 edge connector (looks like a coin payout)
-1x 36x2 edge connector
-1x battery 3.6V NiCd
-4x 8 switches dips (sw1-4)
-1x trimmer (volume)
-1x BIG BLACK BOX (on top of the box there is a small door closing a button-battery; for sure there is more in it, but I do not know how to open it / tore it apart)
-
-This game is the official Italian version of "Super Rider" by Subsino
-
-Info by f205v, Corrado Tomaselli (20/04/2008)
-
-***************************************************************************/
-
-ROM_START( smoto20 )
- ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "italyv2.0-25.u18", 0x00000, 0x10000, CRC(91abc76e) SHA1(b0eb3afda1d94111056559017802b16b2e72a9a5) )
-
- ROM_REGION( 0x40000, "tilemap", 0 )
- ROM_LOAD( "3.u16", 0x00000, 0x08000, CRC(44b44385) SHA1(27c2865e52ab67aa8e077e8e1202cbf2addc0dfc) )
- ROM_CONTINUE( 0x10000, 0x08000 )
- ROM_CONTINUE( 0x08000, 0x08000 )
- ROM_CONTINUE( 0x18000, 0x08000 )
- ROM_LOAD( "2.u17", 0x20000, 0x08000, CRC(380fc964) SHA1(4a5076d90cb94e2ffeec7534ce64d4cdb320f374) )
- ROM_CONTINUE( 0x30000, 0x08000 )
- ROM_CONTINUE( 0x28000, 0x08000 )
- ROM_CONTINUE( 0x38000, 0x08000 )
-
- ROM_REGION( 0x40000, "oki", 0 )
- ROM_LOAD( "rom4ver1.0.u54", 0x00000, 0x20000, CRC(df828563) SHA1(f39324c5c37486ed9512e0ff934394556dd182ae) )
-
- ROM_REGION( 0x300, "proms", 0 )
- ROM_LOAD( "82s129.u11", 0x000, 0x100, CRC(e17730a6) SHA1(50c730b24e1d3d205c70f9381e4136e2ba6e499a) )
- ROM_LOAD( "82s129.u12", 0x100, 0x100, CRC(df848861) SHA1(f7e382f8b56d6b9f2af6c7a48a19e3631a64bb6d) )
- ROM_LOAD( "82s129.u13", 0x200, 0x100, CRC(9cb4a5c0) SHA1(0e0a368329c6d1cb685ed655d699a4894988fdb1) )
-ROM_END
-
-
-/***************************************************************************
-
- Treasure Bonus
- (C) American Alpha
-
- CPU module marked 'Super Treasure Island'
-
-***************************************************************************/
-
-ROM_START( stbsub )
- ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "trbon-rlu16.u12", 0x00000, 0x10000, CRC(07771290) SHA1(c485943045396d8580271504a1fec7c88579f4a2) )
-
- ROM_REGION( 0x100000, "tilemap", 0 )
- ROM_LOAD( "sti-alpha_2-ver1.1.u30", 0x00000, 0x40000, CRC(3bc4c8c5) SHA1(12e868f4b4d4df6b59befcd785ab1fe5c1def58d) )
- ROM_LOAD( "sti-alpha_3-ver1.1.u29", 0x40000, 0x40000, CRC(5473c41a) SHA1(94294887af8ffc4f2edbcbde1c51797f20c44efe) )
- ROM_LOAD( "sti-alpha_4-ver1.1.u28", 0x80000, 0x40000, CRC(ccf895e1) SHA1(c12ecf0577b5b856d8202474f084003cc95da51c) )
- ROM_LOAD( "sti-alpha_5-ver1.1.u27", 0xc0000, 0x40000, CRC(98eed855) SHA1(89291b1b143924caa79a6d694f10c14d93c57eac) )
-
- ROM_REGION( 0x80000, "reels", 0 )
- ROM_LOAD( "sti-alpha_6-ver1.1.u25", 0x00000, 0x20000, CRC(83471a70) SHA1(c63e4c1a8cfb6e7feae4fd97f7d77feaf63c949b) )
- ROM_LOAD( "sti-alpha_7-ver1.1.u24", 0x20000, 0x20000, CRC(05bc7ed2) SHA1(23ae716cd149ee940ac4bdc114fbfeb290e91b11) )
- ROM_LOAD( "sti-alpha_8-ver1.1.u23", 0x40000, 0x20000, CRC(d3c11545) SHA1(0383358d223c9bfe67c3b5de7a9cc3e43a9769b2) )
- ROM_LOAD( "sti-alpha_9-ver1.1.u22", 0x60000, 0x20000, CRC(9710a223) SHA1(76ef6bd77ae33d91a9b6a9a615d07caee3356dfb) )
-ROM_END
-
-ROM_START( stisub )
- ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "b1", 0x00000, 0x10000, CRC(3f7adf66) SHA1(6ff37d070c7866133853c7cb3e2fbcb5610d87e8) )
-
- ROM_REGION( 0x100000, "tilemap", 0 )
- ROM_LOAD( "-2.u30", 0x00000, 0x40000, CRC(60596c9c) SHA1(6cea104539957bacb857bb14f967633e8cd729c0) )
- ROM_LOAD( "b-3.u29", 0x40000, 0x40000, CRC(eb0968d3) SHA1(5313150725d9b7019ddaddc0b1cdb92330ab0b49) )
- ROM_LOAD( "b-4.u28", 0x80000, 0x40000, CRC(ee5024ba) SHA1(cf65bbee12f6aaf8bb22c2a03e7b360fa58f3b80) )
- ROM_LOAD( "a-5.u27", 0xc0000, 0x40000, CRC(6748c76d) SHA1(1013f5924c584df4bd6a1a3dbd0fff96c1313ed3) )
-
- ROM_REGION( 0x80000, "reels", 0 )
- ROM_LOAD( "a-6.u25", 0x00000, 0x20000, CRC(69a19c43) SHA1(d90a59bfee500ea9b1a21f60bc2fd7c3ddadb6a6) )
- ROM_LOAD( "b-7.u24", 0x20000, 0x20000, CRC(09173bec) SHA1(c9bf491a9d4009d1debf7a19657129a209f02768) )
- ROM_LOAD( "b-8.u23", 0x40000, 0x20000, CRC(10ff8fdf) SHA1(1f07ce5517c816852e5b739e3170d104c080ea18) )
- ROM_LOAD( "a-9.u22", 0x60000, 0x20000, CRC(ce1e9a3d) SHA1(263e396058e74ae55834dc028b477eb21ceab9b9) )
-ROM_END
-
-
-/***************************************************************************
-
-Tesorone Dell'Isola (2 sets)
-(C) Subsino
-
-Italian version of "Treasure Bonus"
-
-PCB: SN01256-3 CS186P006-1 (same as "Treasure Bonus")
-
-Chips:
-
-1x pLSI 1032-60
-2x FILE KD89C55A (equivalent to 8255)
-1x K-664 (equivalent to YM3014)
-1x K-665 (equivalent to M6295)
-1x K-666 (equivalent to YM3812)
-1x custom DIP42 SUBSINO SS9101
-1x HMC HM86171-80 (RAMDAC)
-
-2x oscillator 12.000MHz ?
-1x oscillator 4.43361MHz ?
-
-Other:
-
-1x empty ROM socket for upgrades
-1x battery (unpopulated)
-1x 6x2 edge connector (con2)
-1x 36x2 edge connector
-1x pushbutton (sw5)
-4x 8 switches dips (sw1-4)
-1x trimmer (volume)
-1x BIG BLACK BOX
-
-***************************************************************************/
-
-ROM_START( tesorone )
- ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "tesorone.d.isol.italy_1ver2.41.u12", 0x00000, 0x10000, CRC(b019b689) SHA1(ba7acd15842b29e6ac37795a4d6e0f93d99393a4) )
-
- ROM_REGION( 0x100000, "tilemap", 0 )
- ROM_LOAD( "tesorone.d.isol.italy_2ver1.7.u30", 0x00000, 0x40000, CRC(295887c5) SHA1(b36914977b276ac5e5e31902dff28796f3a28ea1) )
- ROM_LOAD( "tesorone.d.isol.italy_3ver1.7.u29", 0x40000, 0x40000, CRC(89469522) SHA1(ba373900e0310aad3d04ff58909f6144d9b689a7) )
- ROM_LOAD( "tesorone.d.isol.italy_4ver1.7.u28", 0x80000, 0x40000, CRC(2092a368) SHA1(05e1af15761e0186ea7ddb8b82c177e35fcdd382) )
- ROM_LOAD( "tesorone.d.isol.italy_5ver1.7.u27", 0xc0000, 0x40000, CRC(57870bad) SHA1(7a3342c5cc3ed5f48d2dda224913eb357aeb401b) )
-
- ROM_REGION( 0x80000, "reels", 0 )
- ROM_LOAD( "tesorone.d.isol.italy_6ver1.7.u25", 0x00000, 0x20000, CRC(e5578d00) SHA1(28882131d13f052bc31c3fc1b6dc5d9e45d30e82) )
- ROM_LOAD( "tesorone.d.isol.italy_7ver1.7.u24", 0x20000, 0x20000, CRC(c29a7841) SHA1(7bec4a4db0b545b9b9d9a4c14efa9442e7738d8a) )
- ROM_LOAD( "tesorone.d.isol.italy_8ver1.7.u23", 0x40000, 0x20000, CRC(2b4b195a) SHA1(cb165f6737231ae52dbf9775fff13b778835fcac) )
- ROM_LOAD( "tesorone.d.isol.italy_9ver1.7.u22", 0x60000, 0x20000, CRC(1c9f754e) SHA1(7b2feeeaaa4845d2fcfebb2c1bc4d6b69d937400) )
-ROM_END
-
-ROM_START( tesorone230 )
- ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "tesorone.d.isol.italy_1ver2.3.u12", 0x00000, 0x10000, CRC(46cd019b) SHA1(40412ac1234ae0f31b13c4d3b48681da34f1ded9) )
-
- ROM_REGION( 0x100000, "tilemap", 0 )
- ROM_LOAD( "tesorone.d.isol.italy_2ver1.7.u30", 0x00000, 0x40000, CRC(295887c5) SHA1(b36914977b276ac5e5e31902dff28796f3a28ea1) )
- ROM_LOAD( "tesorone.d.isol.italy_3ver1.7.u29", 0x40000, 0x40000, CRC(89469522) SHA1(ba373900e0310aad3d04ff58909f6144d9b689a7) )
- ROM_LOAD( "tesorone.d.isol.italy_4ver1.7.u28", 0x80000, 0x40000, CRC(2092a368) SHA1(05e1af15761e0186ea7ddb8b82c177e35fcdd382) )
- ROM_LOAD( "tesorone.d.isol.italy_5ver1.7.u27", 0xc0000, 0x40000, CRC(57870bad) SHA1(7a3342c5cc3ed5f48d2dda224913eb357aeb401b) )
-
- ROM_REGION( 0x80000, "reels", 0 )
- ROM_LOAD( "tesorone.d.isol.italy_6ver1.7.u25", 0x00000, 0x20000, CRC(e5578d00) SHA1(28882131d13f052bc31c3fc1b6dc5d9e45d30e82) )
- ROM_LOAD( "tesorone.d.isol.italy_7ver1.7.u24", 0x20000, 0x20000, CRC(c29a7841) SHA1(7bec4a4db0b545b9b9d9a4c14efa9442e7738d8a) )
- ROM_LOAD( "tesorone.d.isol.italy_8ver1.7.u23", 0x40000, 0x20000, CRC(2b4b195a) SHA1(cb165f6737231ae52dbf9775fff13b778835fcac) )
- ROM_LOAD( "tesorone.d.isol.italy_9ver1.7.u22", 0x60000, 0x20000, CRC(1c9f754e) SHA1(7b2feeeaaa4845d2fcfebb2c1bc4d6b69d937400) )
-ROM_END
-
-ROM_START( tesorone240 )
- ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "tesorone.d.isol.italy_1ver2.4.u12", 0x00000, 0x10000, CRC(6a7d5395) SHA1(448184b78b6a3e28f891731c83a4e2d1e283c205) )
-
- ROM_REGION( 0x100000, "tilemap", 0 )
- ROM_LOAD( "tesorone.d.isol.italy_2ver1.7.u30", 0x00000, 0x40000, CRC(295887c5) SHA1(b36914977b276ac5e5e31902dff28796f3a28ea1) )
- ROM_LOAD( "tesorone.d.isol.italy_3ver1.7.u29", 0x40000, 0x40000, CRC(89469522) SHA1(ba373900e0310aad3d04ff58909f6144d9b689a7) )
- ROM_LOAD( "tesorone.d.isol.italy_4ver1.7.u28", 0x80000, 0x40000, CRC(2092a368) SHA1(05e1af15761e0186ea7ddb8b82c177e35fcdd382) )
- ROM_LOAD( "tesorone.d.isol.italy_5ver1.7.u27", 0xc0000, 0x40000, CRC(57870bad) SHA1(7a3342c5cc3ed5f48d2dda224913eb357aeb401b) )
-
- ROM_REGION( 0x80000, "reels", 0 )
- ROM_LOAD( "tesorone.d.isol.italy_6ver1.7.u25", 0x00000, 0x20000, CRC(e5578d00) SHA1(28882131d13f052bc31c3fc1b6dc5d9e45d30e82) )
- ROM_LOAD( "tesorone.d.isol.italy_7ver1.7.u24", 0x20000, 0x20000, CRC(c29a7841) SHA1(7bec4a4db0b545b9b9d9a4c14efa9442e7738d8a) )
- ROM_LOAD( "tesorone.d.isol.italy_8ver1.7.u23", 0x40000, 0x20000, CRC(2b4b195a) SHA1(cb165f6737231ae52dbf9775fff13b778835fcac) )
- ROM_LOAD( "tesorone.d.isol.italy_9ver1.7.u22", 0x60000, 0x20000, CRC(1c9f754e) SHA1(7b2feeeaaa4845d2fcfebb2c1bc4d6b69d937400) )
-ROM_END
-
-
-/***************************************************************************
-
- This is allegedly Magic Train - Clear NVRAM ROM:
-
- Subsino sold a "Settings/Clear ROM" for some released titles.
- These devices are *extremely* expensive (and ultra rare, only sold
- to big casino corporations), and should be placed in the empty socket
- to fix a dead board due to NVRAM corruption.
-
- A version of Magic Train running on subsino.cpp (unlike mtrain, which is
- subsino2.cpp) is needed to match this program ROM.
-
-***************************************************************************/
-
-ROM_START( mtrainnv )
- ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "mtrain_settings.bin", 0x00000, 0x10000, CRC(584af1b5) SHA1(91d966d282823dddfdc455bb03728fcdf3713dd7) )
-
- ROM_REGION( 0x10000, "tilemap", 0 )
- ROM_LOAD( "mtrain_tilemap.bin", 0x00000, 0x10000, NO_DUMP )
- ROM_COPY( "maincpu", 0x000000, 0x00000, 0x10000 ) // just to show something
-
- ROM_REGION( 0x10000, "reels", 0 )
- ROM_LOAD( "mtrain_reels.bin", 0x00000, 0x10000, NO_DUMP )
- ROM_COPY( "maincpu", 0x000000, 0x00000, 0x10000 ) // just to show something
-ROM_END
-
-
-/***************************************************************************
-* Driver Init / Decryption *
-***************************************************************************/
-
-void subsino_state::init_victor5()
-{
- subsino_decrypt(machine(), victor5_bitswaps, victor5_xors, 0xc000);
-
- save_item(NAME(m_flash_packet));
- save_item(NAME(m_flash_packet_start));
- save_item(NAME(m_flash_val));
-}
-
-void subsino_state::init_victor21()
-{
- subsino_decrypt(machine(), victor21_bitswaps, victor21_xors, 0xc000);
-}
-
-void subsino_state::init_crsbingo()
-{
- subsino_decrypt(machine(), crsbingo_bitswaps, crsbingo_xors, 0xc000);
-
- save_item(NAME(m_flash_packet));
- save_item(NAME(m_flash_packet_start));
- save_item(NAME(m_flash_val));
-}
-
-void subsino_state::init_sharkpy()
-{
- subsino_decrypt(machine(), sharkpy_bitswaps, sharkpy_xors, 0xa000);
-}
-
-void subsino_state::init_sharkpye()
-{
- subsino_decrypt(machine(), victor5_bitswaps, victor5_xors, 0xa000);
-}
-
-void subsino_state::init_smoto20()
-{
- uint8_t *rom = memregion( "maincpu" )->base();
- rom[0x12e1] = 0x20; // "ERROR 951010"
-}
-
-void subsino_state::init_tisub()
-{
- uint8_t *rom = memregion( "maincpu" )->base();
-
- init_victor5();
-
- /* this trips a z180 MMU core bug? It unmaps a region then the program code jumps to that region... */
- rom[0x64c8] = 0x00;
- rom[0x64c9] = 0x00;
- rom[0x64ca] = 0x00;
- rom[0x64cd] = 0x00;
- rom[0x64ce] = 0x00;
- rom[0x64cf] = 0x00;
-}
-
-void subsino_state::init_tisuba()
-{
- uint8_t *rom = memregion( "maincpu" )->base();
-
- init_victor5();
-
- /* this trips a z180 MMU core bug? It unmaps a region then the program code jumps to that region... */
- rom[0x6491] = 0x00;
- rom[0x6492] = 0x00;
- rom[0x6493] = 0x00;
- rom[0x6496] = 0x00;
- rom[0x6497] = 0x00;
- rom[0x6498] = 0x00;
-}
-
-void subsino_state::init_stbsub()
-{
-#if 1
- uint8_t *rom = memregion( "maincpu" )->base();
- rom[0x1005] = 0x1d; //patch protection check
- rom[0x7ab] = 0x18; //patch "winning protection" check
- rom[0x957] = 0x18; //patch "losing protection" check
-#endif
-
- for (uint8_t reel = 0; reel < 3; reel++)
- {
- m_reel_scroll[reel].allocate(0x40);
-
- m_reel_attr[reel] = std::make_unique<uint8_t[]>(0x200);
-
- save_pointer(NAME(m_reel_attr[reel]), 0x200, reel);
- }
-}
-
-void subsino_state::init_stisub()
-{
- uint8_t *rom = memregion( "maincpu" )->base();
- rom[0x0FA0] = 0x28;
- rom[0x0FA1] = 0x1d; //patch protection check
-
- for (uint8_t reel = 0; reel < 3; reel++)
- {
- m_reel_scroll[reel].allocate(0x40);
-
- m_reel_attr[reel] = std::make_unique<uint8_t[]>(0x200);
-
- save_pointer(NAME(m_reel_attr[reel]), 0x200, reel);
- }
-}
-
-void subsino_state::init_tesorone()
-{
-#if 1
- uint8_t *rom = memregion( "maincpu" )->base();
- rom[0x10a4] = 0x18; //patch protection check ("ERROR 08073"):
- rom[0x10a5] = 0x11;
- rom[0x8b6] = 0x18; //patch "winning protection" check
- rom[0xa84] = 0x18; //patch "losing protection" check
-#endif
-
- for (uint8_t reel = 0; reel < 3; reel++)
- {
- m_reel_scroll[reel].allocate(0x40);
-
- m_reel_attr[reel] = std::make_unique<uint8_t[]>(0x200);
-
- save_pointer(NAME(m_reel_attr[reel]), 0x200, reel);
- }
-}
-
-void subsino_state::init_tesorone230()
-{
-#if 1
- uint8_t *rom = memregion( "maincpu" )->base(); //check this patch!!!!
- rom[0x10a8] = 0x18; //patch protection check ("ERROR 08073"):
- rom[0x10a9] = 0x11;
- rom[0x8ba] = 0x18; //patch "winning protection" check
- rom[0xa88] = 0x18; //patch "losing protection" check
-#endif
-
- for (uint8_t reel = 0; reel < 3; reel++)
- {
- m_reel_scroll[reel].allocate(0x40);
-
- m_reel_attr[reel] = std::make_unique<uint8_t[]>(0x200);
-
- save_pointer(NAME(m_reel_attr[reel]), 0x200, reel);
- }
-}
-
-
-void subsino_state::init_mtrainnv()
-{
- for (uint8_t reel = 0; reel < 3; reel++)
- {
- m_reel_scroll[reel].allocate(0x40);
-
- m_reel_attr[reel] = std::make_unique<uint8_t[]>(0x200);
-
- save_pointer(NAME(m_reel_attr[reel]), 0x200, reel);
- }
-}
-
-/***************************************************************************
-* Game Drivers *
-***************************************************************************/
-
-// YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS LAYOUT
-GAMEL( 1990, victor21, 0, victor21, victor21, subsino_state, init_victor21, ROT0, "Subsino / Buffy", "Victor 21", 0, layout_victor21 )
-
-GAMEL( 1991, victor5, 0, victor5, victor5, subsino_state, init_victor5, ROT0, "Subsino / Buffy", "Victor 5", 0, layout_victor5 ) // Original PCB and game from Subsino.
-GAMEL( 1991, victor5a, victor5, victor5, victor5, subsino_state, init_victor5, ROT0, "Subsino", "G.E.A.", 0, layout_victor5 ) // PCB black-box was marked 'victor 5' - in-game says G.E.A with no manufacturer info?
-
-GAMEL( 1992, tisub, 0, tisub, tisub, subsino_state, init_tisub, ROT0, "Subsino", "Treasure Island (Subsino, set 1)", 0, layout_tisub )
-GAMEL( 1992, tisuba, tisub, tisub, tisub, subsino_state, init_tisuba, ROT0, "Subsino", "Treasure Island (Subsino, set 2)", 0, layout_tisub )
-
-GAMEL( 1991, crsbingo, 0, crsbingo, crsbingo, subsino_state, init_crsbingo, ROT0, "Subsino", "Poker Carnival", 0, layout_crsbingo )
-
-GAMEL( 1995, stbsub, 0, stbsub, stbsub, subsino_state, init_stbsub, ROT0, "American Alpha", "Treasure Bonus (Subsino, v1.6)", 0, layout_stisub ) // board CPU module marked 'Super Treasure Island' (alt title?)
-GAMEL( 1995, stisub, stbsub, stbsub, stbsub, subsino_state, init_stisub, ROT0, "Subsino", "Super Treasure Island (Italy, v1.6)", MACHINE_NOT_WORKING, layout_stisub ) // need proper patches
-GAMEL( 1995, tesorone, stbsub, stbsub, tesorone, subsino_state, init_tesorone, ROT0, "Subsino", "Tesorone Dell'Isola (Italy, v2.41)", 0, layout_stisub )
-GAMEL( 1995, tesorone240, stbsub, stbsub, tesorone, subsino_state, init_tesorone, ROT0, "Subsino", "Tesorone Dell'Isola (Italy, v2.40)", 0, layout_stisub )
-GAMEL( 1995, tesorone230, stbsub, stbsub, tesorone, subsino_state, init_tesorone230, ROT0, "Subsino", "Tesorone Dell'Isola (Italy, v2.30)", 0, layout_stisub )
-
-GAMEL( 1996, sharkpy, 0, sharkpy, sharkpy, subsino_state, init_sharkpy, ROT0, "Subsino", "Shark Party (Italy, v1.3)", 0, layout_sharkpy ) // missing POST messages?
-GAMEL( 1996, sharkpya, sharkpy, sharkpy, sharkpy, subsino_state, init_sharkpy, ROT0, "Subsino", "Shark Party (Italy, v1.6)", 0, layout_sharkpy ) // missing POST messages?
-GAMEL( 1995, sharkpye, sharkpy, sharkpy, sharkpye, subsino_state, init_sharkpye, ROT0, "American Alpha", "Shark Party (English, Alpha license)", 0, layout_sharkpye ) // PCB black-box was marked 'victor 6'
-
-GAMEL( 1995, victor6, 0, sharkpy, victor6, subsino_state, init_sharkpye, ROT0, "American Alpha", "Victor 6 (v2.3N)", 0, layout_sharkpye ) // ^^
-GAMEL( 1995, victor6a, victor6, sharkpy, victor6a, subsino_state, init_sharkpye, ROT0, "American Alpha", "Victor 6 (v2.3)", 0, layout_sharkpye ) // ^^
-GAMEL( 1995, victor6b, victor6, sharkpy, victor6b, subsino_state, init_sharkpye, ROT0, "American Alpha", "Victor 6 (v1.2)", 0, layout_sharkpye ) // ^^ Version # according to label, not displayed
-
-GAMEL( 1996, smoto20, 0, srider, smoto20, subsino_state, init_smoto20, ROT0, "Subsino", "Super Rider (Italy, v2.0)", 0, layout_smoto )
-GAMEL( 1996, smoto16, smoto20, srider, smoto16, subsino_state, init_smoto16, ROT0, "Subsino", "Super Moto (Italy, v1.6)", 0, layout_smoto )
-
-GAME( 1996, mtrainnv, mtrain, mtrainnv, stbsub, subsino_state, init_mtrainnv, ROT0, "Subsino", "Magic Train (Clear NVRAM ROM?)", MACHINE_NOT_WORKING )