summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/supdrapo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/supdrapo.cpp')
-rw-r--r--src/mame/drivers/supdrapo.cpp617
1 files changed, 0 insertions, 617 deletions
diff --git a/src/mame/drivers/supdrapo.cpp b/src/mame/drivers/supdrapo.cpp
deleted file mode 100644
index f7ba439428f..00000000000
--- a/src/mame/drivers/supdrapo.cpp
+++ /dev/null
@@ -1,617 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Angelo Salese, Pierpaolo Prazzoli, Roberto Fresca
-/************************************************************************
-
- Super Draw Poker (c) Stern Electronics 1983
-
- Driver by Pierpaolo Prazzoli.
- Additional work by Angelo Salese & Roberto Fresca.
-
-*************************************************************************
-
- Notes:
-
- - According to some original screenshots floating around the net, this game
- uses a weird coloring scheme for the char text that dynamically changes
- the color of an entire column. For now I can only guess about how it
- truly works.
-
- - An original snap of these can be seen at:
- http://mamedev.emulab.it/kale/fast/files/A00000211628-007.jpg
-
-
-*************************************************************************
-
-
- Updates:
-
- - Reworked inputs to match the standard poker inputs names/layout.
- - Hooked the payout switch.
- - Hooked a watchdog circuitry, that seems intended to reset
- the game and/or an external device.
- - Added machine start & reset.
- - All clocks pre defined.
- - Added ay8910 interface as a preliminary attempt to analyze the unknown
- port writes when these ports are set as input.
- - Figured out the following DIP switches:
- Auto Bet (No, Yes).
- Allow Raise (No, Yes).
- Double-Up (No, Yes).
- Minimal Winner Hand (Jacks or Better, Two Pair).
- Deal Speed (Slow, Fast).
- Aces Type (Normal Aces, Number 1).
- Cards Deck Type (English cards, French cards).
- Max Bet (5, 10, 15, 20).
- - Added NVRAM support.
- - Reorganized and cleaned-up the driver.
-
-
- To do:
-
- - Needs schematics to check if the current implementation of the
- "global column coloring" is correct.
- - Check unknown read/writes, too many of them.
- - Check the correct CPU and AY8910 clocks from PCB.
- - A workaround for writes to ay8910 ports when these are set as input.
-
-
-************************************************************************/
-
-#include "emu.h"
-#include "cpu/z80/z80.h"
-#include "sound/ay8910.h"
-#include "machine/nvram.h"
-#include "machine/watchdog.h"
-#include "emupal.h"
-#include "screen.h"
-#include "speaker.h"
-
-
-#define MASTER_CLOCK XTAL(12'000'000)
-#define CPU_CLOCK MASTER_CLOCK/4 /* guess */
-#define SND_CLOCK MASTER_CLOCK/8 /* guess */
-
-class supdrapo_state : public driver_device
-{
-public:
- supdrapo_state(const machine_config &mconfig, device_type type, const char *tag) :
- driver_device(mconfig, type, tag),
- m_maincpu(*this, "maincpu"),
- m_watchdog(*this, "watchdog"),
- m_gfxdecode(*this, "gfxdecode"),
- m_palette(*this, "palette"),
- m_col_line(*this, "col_line"),
- m_videoram(*this, "videoram"),
- m_char_bank(*this, "char_bank")
- { }
-
- void supdrapo(machine_config &config);
-
-private:
- required_device<cpu_device> m_maincpu;
- required_device<watchdog_timer_device> m_watchdog;
- required_device<gfxdecode_device> m_gfxdecode;
- required_device<palette_device> m_palette;
-
- required_shared_ptr<uint8_t> m_col_line;
- required_shared_ptr<uint8_t> m_videoram;
- required_shared_ptr<uint8_t> m_char_bank;
-
- uint8_t m_wdog;
-
- DECLARE_READ8_MEMBER(rng_r);
- DECLARE_WRITE8_MEMBER(wdog8000_w);
- DECLARE_WRITE8_MEMBER(debug8004_w);
- DECLARE_WRITE8_MEMBER(debug7c00_w);
- DECLARE_WRITE8_MEMBER(coinin_w);
- DECLARE_WRITE8_MEMBER(payout_w);
- DECLARE_WRITE8_MEMBER(ay8910_outputa_w);
- DECLARE_WRITE8_MEMBER(ay8910_outputb_w);
-
- virtual void machine_start() override;
- virtual void machine_reset() override;
- virtual void video_start() override;
- void supdrapo_palette(palette_device &palette) const;
-
- uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void sdpoker_mem(address_map &map);
-};
-
-
-/*********************************************************************
- Video Hardware
-**********************************************************************/
-
-void supdrapo_state::video_start()
-{
-}
-
-
-uint32_t supdrapo_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
-{
- int count = 0;
- for (int y = 0; y < 32; y++)
- {
- for (int x = 0; x < 32; x++)
- {
- int const tile = m_videoram[count] + m_char_bank[count] * 0x100;
- // Global Column Coloring, GUESS!
- int const color = m_col_line[(x*2) + 1] ? (m_col_line[(x*2) + 1] - 1) & 7 : 0;
-
- m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, tile,color, 0, 0, x*8, y*8);
-
- count++;
- }
- }
-
- return 0;
-}
-
-
-// Maybe bit 2 & 3 of the second color prom are intensity bits?
-void supdrapo_state::supdrapo_palette(palette_device &palette) const
-{
- const uint8_t *color_prom = memregion("proms")->base();
-
- for (int i = 0; i < 0x100; ++i)
- {
- int bit0, bit1, bit2;
-
- bit0 = 0; // BIT(color_prom[0], 0);
- bit1 = BIT(color_prom[0], 0);
- bit2 = BIT(color_prom[0], 1);
- int const g = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
-
- bit0 = 0; // BIT(color_prom[0], 3);
- bit1 = BIT(color_prom[0], 2);
- bit2 = BIT(color_prom[0], 3);
- int const b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
-
- bit0 = 0; // BIT(color_prom[0], 0);
- bit1 = BIT(color_prom[0x100], 0);
- bit2 = BIT(color_prom[0x100], 1);
- int const r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
-
- palette.set_pen_color(i, rgb_t(r, g, b));
- color_prom++;
- }
-}
-
-
-/*********************************************************************
- R/W Handlers
-**********************************************************************/
-
-READ8_MEMBER(supdrapo_state::rng_r)
-{
- return machine().rand();
-}
-
-WRITE8_MEMBER(supdrapo_state::wdog8000_w)
-{
-/* Kind of state watchdog alternating 0x00 & 0x01 writes.
- Used when exit the test mode (writes 2 consecutive 0's).
- Seems to be intended to reset some external device.
-
- Watchdog: 01
- Watchdog: 00
- Watchdog: 01
- Watchdog: 00
- Watchdog: 01
- Watchdog: 00
- Watchdog: 00 ---> Exit from test mode.
-
- Debug3: 00
- Watchdog: 00
- Watchdog: 00
-
- Debug3: 00
- Watchdog: 01
- Watchdog: 00
- Watchdog: 01
- Watchdog: 00
- Watchdog: 01
- Watchdog: 00
-
-*/
-
-
- if (m_wdog == data)
- {
- m_watchdog->watchdog_reset(); /* Reset */
- }
-
- m_wdog = data;
-// logerror("Watchdog: %02X\n", data);
-}
-
-
-WRITE8_MEMBER(supdrapo_state::debug8004_w)
-{
-/* Writes 0x00 each time the machine is initialized */
-
- logerror("debug8004: %02X\n", data);
-// popmessage("written : %02X", data);
-}
-
-WRITE8_MEMBER(supdrapo_state::debug7c00_w)
-{
-/* This one write 0's constantly when the input test mode is running */
- logerror("debug7c00: %02X\n", data);
-}
-
-
-/*********************************************************************
- Coin I/O Counters
-**********************************************************************/
-
-WRITE8_MEMBER(supdrapo_state::coinin_w)
-{
- machine().bookkeeping().coin_counter_w(0, data & 0x01); /* Coin In */
-}
-
-WRITE8_MEMBER(supdrapo_state::payout_w)
-{
- machine().bookkeeping().coin_counter_w(1, data & 0x01); /* Payout */
-}
-
-
-/*********************************************************************
- Machine Start & Reset
-**********************************************************************/
-
-void supdrapo_state::machine_start()
-{
- save_item(NAME(m_wdog));
-}
-
-
-void supdrapo_state::machine_reset()
-{
- m_wdog = 1;
-}
-
-
-/*********************************************************************
- Memory Map
-**********************************************************************/
-
-void supdrapo_state::sdpoker_mem(address_map &map)
-{
- map(0x0000, 0x4fff).rom();
- map(0x5000, 0x50ff).ram().share("col_line");
- map(0x57ff, 0x57ff).ram().share("col_line");
- map(0x5800, 0x58ff).ram().share("col_line");
- map(0x6000, 0x67ff).ram(); //work ram
- map(0x6800, 0x6bff).ram().share("videoram");
- map(0x6c00, 0x6fff).ram().share("char_bank");
- map(0x7000, 0x7bff).ram(); //$7600 seems watchdog
- map(0x7c00, 0x7c00).w(FUNC(supdrapo_state::debug7c00_w));
- map(0x8000, 0x8000).portr("IN4").w(FUNC(supdrapo_state::wdog8000_w));
- map(0x8001, 0x8001).portr("IN0");
- map(0x8002, 0x8002).portr("IN1").w(FUNC(supdrapo_state::payout_w));
- map(0x8003, 0x8003).portr("IN2").w(FUNC(supdrapo_state::coinin_w));
- map(0x8004, 0x8004).portr("IN3").w(FUNC(supdrapo_state::debug8004_w));
- map(0x8005, 0x8005).portr("SW1");
- map(0x8006, 0x8006).portr("SW2");
- map(0x9000, 0x90ff).ram().share("nvram");
- map(0x9400, 0x9400).r(FUNC(supdrapo_state::rng_r));
- map(0x9800, 0x9801).w("aysnd", FUNC(ay8910_device::data_address_w));
-}
-
-
-/*********************************************************************
- Input Ports
-**********************************************************************/
-
-static INPUT_PORTS_START( supdrapo )
- PORT_START("IN0")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON9 ) PORT_NAME("P1 Win/Take") PORT_CODE(KEYCODE_4) PORT_PLAYER(1)
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON8 ) PORT_NAME("P1 Cancel") PORT_CODE(KEYCODE_N) PORT_PLAYER(1)
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("P1 Deal") PORT_CODE(KEYCODE_2) PORT_PLAYER(1)
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON11 ) PORT_NAME("P1 Bet/Play") PORT_CODE(KEYCODE_1) PORT_PLAYER(1)
- PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN4 ) PORT_NAME("Coin 4: 10")
- PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN3 ) PORT_NAME("Coin 3: 5")
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_NAME("Coin 2: 2")
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_NAME("Coin 1: 1")
-
- PORT_START("IN1")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("P1 Hold 5") PORT_CODE(KEYCODE_B) PORT_PLAYER(1)
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("P1 Hold 4") PORT_CODE(KEYCODE_V) PORT_PLAYER(1)
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("P1 Hold 3") PORT_CODE(KEYCODE_C) PORT_PLAYER(1)
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Hold 2") PORT_CODE(KEYCODE_X) PORT_PLAYER(1)
- PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Hold 1") PORT_CODE(KEYCODE_Z) PORT_PLAYER(1)
- PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON7 ) PORT_NAME("P1 Black") PORT_CODE(KEYCODE_A) PORT_PLAYER(1)
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("P1 Red") PORT_CODE(KEYCODE_S) PORT_PLAYER(1)
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON10 ) PORT_NAME("P1 Double Up") PORT_CODE(KEYCODE_3) PORT_PLAYER(1)
-
- PORT_START("IN2")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Win/Take") PORT_PLAYER(2)
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Cancel") PORT_PLAYER(2)
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Deal") PORT_PLAYER(2)
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Bet/Play") PORT_PLAYER(2)
- PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Coin 4: 10")
- PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Coin 3: 5")
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Coin 2: 2")
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Coin 1: 1")
-
- PORT_START("IN3")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Hold 5") PORT_PLAYER(2)
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Hold 4") PORT_PLAYER(2)
- PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Hold 3") PORT_PLAYER(2)
- PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Hold 2") PORT_PLAYER(2)
- PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Hold 1") PORT_PLAYER(2)
- PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Black") PORT_PLAYER(2)
- PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Red") PORT_PLAYER(2)
- PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Double Up") PORT_PLAYER(2)
-
- PORT_START("IN4")
- PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P1 Flip") PORT_PLAYER(1)
- PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("P2 Flip") PORT_PLAYER(2)
- PORT_BIT( 0x1c, IP_ACTIVE_HIGH, IPT_UNKNOWN )
- PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SERVICE1 ) PORT_NAME("Payout") PORT_CODE(KEYCODE_W)
- PORT_SERVICE_NO_TOGGLE( 0x40, IP_ACTIVE_HIGH )
- PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
- PORT_DIPSETTING( 0x00, "1 Player" )
- PORT_DIPSETTING( 0x80, "2 Players" )
-
- PORT_START("SW1") // Bank 1 @ 8A
- PORT_DIPNAME( 0x0f, 0x02, "Payout Percentage" ) PORT_DIPLOCATION("SW1:1,2,3,4")
- PORT_DIPSETTING( 0x00, "25%" )
- PORT_DIPSETTING( 0x01, "30%" )
- PORT_DIPSETTING( 0x02, "35%" )
- PORT_DIPSETTING( 0x03, "40%" )
- PORT_DIPSETTING( 0x04, "45%" )
- PORT_DIPSETTING( 0x05, "50%" )
- PORT_DIPSETTING( 0x06, "55%" )
- PORT_DIPSETTING( 0x07, "60%" )
- PORT_DIPSETTING( 0x08, "65%" )
- PORT_DIPSETTING( 0x09, "70%" )
- PORT_DIPSETTING( 0x0a, "75%" )
- PORT_DIPSETTING( 0x0b, "80%" )
- PORT_DIPSETTING( 0x0c, "85%" )
- PORT_DIPSETTING( 0x0d, "90%" )
- PORT_DIPSETTING( 0x0e, "95%" )
- PORT_DIPSETTING( 0x0f, "100%" )
- PORT_DIPNAME( 0x30, 0x10, "Maximum Payout Points" ) PORT_DIPLOCATION("SW1:5,6")
- PORT_DIPSETTING( 0x00, "0" )
- PORT_DIPSETTING( 0x10, "200" )
- PORT_DIPSETTING( 0x20, "500" )
- PORT_DIPSETTING( 0x30, "1000" )
- PORT_DIPNAME( 0xc0, 0xc0, "Maximum Bet Points" ) PORT_DIPLOCATION("SW1:7,8")
- PORT_DIPSETTING( 0x00, "5" )
- PORT_DIPSETTING( 0x40, "10" )
- PORT_DIPSETTING( 0x80, "15" )
- PORT_DIPSETTING( 0xc0, "30" )
-
- PORT_START("SW2") // Bank 2 @ 9A
- PORT_DIPNAME( 0x01, 0x01, "Deal Play Last Amount" ) PORT_DIPLOCATION("SW2:1")
- PORT_DIPSETTING( 0x00, DEF_STR( No ) )
- PORT_DIPSETTING( 0x01, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x02, 0x02, "Allow Raise" ) PORT_DIPLOCATION("SW2:2")
- PORT_DIPSETTING( 0x00, DEF_STR( No ) )
- PORT_DIPSETTING( 0x02, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x04, 0x04, "Red/Black Double-Up" ) PORT_DIPLOCATION("SW2:3")
- PORT_DIPSETTING( 0x00, DEF_STR( No ) )
- PORT_DIPSETTING( 0x04, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x08, 0x08, "Minimum Winning Hand" ) PORT_DIPLOCATION("SW2:4")
- PORT_DIPSETTING( 0x08, "Jacks or Better" )
- PORT_DIPSETTING( 0x00, "Two Pair or Better" )
- PORT_DIPNAME( 0x10, 0x10, "Deal Speed" ) PORT_DIPLOCATION("SW2:5")
- PORT_DIPSETTING( 0x00, "Slow" )
- PORT_DIPSETTING( 0x10, "Fast" )
- PORT_DIPNAME( 0x20, 0x20, "Flash Buttons" ) PORT_DIPLOCATION("SW2:6")
- PORT_DIPSETTING( 0x00, DEF_STR( No ) )
- PORT_DIPSETTING( 0x20, DEF_STR( Yes ) )
- PORT_DIPNAME( 0x40, 0x00, DEF_STR( Language ) ) PORT_DIPLOCATION("SW2:7")
- PORT_DIPSETTING( 0x00, DEF_STR( English ) )
- PORT_DIPSETTING( 0x40, DEF_STR( French ) )
- PORT_DIPNAME( 0x80, 0x00, "Cards Deck Type" ) PORT_DIPLOCATION("SW2:8")
- PORT_DIPSETTING( 0x00, "English Cards" )
- PORT_DIPSETTING( 0x80, "French Cards" )
-INPUT_PORTS_END
-
-
-/*********************************************************************
- Graphics Decode / Layout
-**********************************************************************/
-
-static const gfx_layout charlayout =
-{
- 8,8,
- RGN_FRAC(1,4),
- 4,
- { 0, RGN_FRAC(1,4), RGN_FRAC(2,4), RGN_FRAC(3,4) },
- { 0, 1, 2, 3, 4, 5, 6, 7 },
- { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
- 8*8
-};
-
-static GFXDECODE_START( gfx_supdrapo )
- GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 )
-GFXDECODE_END
-
-
-/*********************************************************************
- Sound Interface
-**********************************************************************/
-
-WRITE8_MEMBER(supdrapo_state::ay8910_outputa_w)
-{
-// popmessage("ay8910_outputa_w %02x",data);
-}
-
-WRITE8_MEMBER(supdrapo_state::ay8910_outputb_w)
-{
-// popmessage("ay8910_outputb_w %02x",data);
-}
-
-
-/*********************************************************************
- Machine Driver
-**********************************************************************/
-
-void supdrapo_state::supdrapo(machine_config &config)
-{
- Z80(config, m_maincpu, CPU_CLOCK); /* guess */
- m_maincpu->set_addrmap(AS_PROGRAM, &supdrapo_state::sdpoker_mem);
- m_maincpu->set_vblank_int("screen", FUNC(supdrapo_state::irq0_line_hold));
-
- WATCHDOG_TIMER(config, m_watchdog);
-
- NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
-
- /* 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(256, 256);
- screen.set_visarea(0*8, 32*8-1, 0*8, 32*8-1);
- screen.set_screen_update(FUNC(supdrapo_state::screen_update));
- screen.set_palette(m_palette);
-
- GFXDECODE(config, m_gfxdecode, m_palette, gfx_supdrapo);
- PALETTE(config, m_palette, FUNC(supdrapo_state::supdrapo_palette), 0x100);
-
- SPEAKER(config, "mono").front_center();
-
- ay8910_device &aysnd(AY8910(config, "aysnd", SND_CLOCK)); /* guess */
- aysnd.port_a_write_callback().set(FUNC(supdrapo_state::ay8910_outputa_w));
- aysnd.port_b_write_callback().set(FUNC(supdrapo_state::ay8910_outputb_w));
- aysnd.add_route(ALL_OUTPUTS, "mono", 0.50);
-}
-
-
-/*********************************************************************
- ROMs Load
-**********************************************************************/
-
-/*
-A2-1C 8910
-A2-1D Z80
-A1-1E
-A1-1H
-A3-1J
-
- A1-4K
- A1-4L
- A1-4N
- A1-4P A1-9N (6301)
- A1-9P
-*/
-ROM_START( supdrapo )
- ROM_REGION( 0x010000, "maincpu", 0 )
- ROM_LOAD( "a2-1c", 0x0000, 0x1000, CRC(b65af689) SHA1(b45cd15ca8f9c931d83a90f3cdbebf218070b195) )
- ROM_LOAD( "a2-1d", 0x1000, 0x1000, CRC(9ccc4347) SHA1(ea8f4d17aaacc7091ca0a66247b55eb12155c9d7) )
- ROM_LOAD( "a1-1e", 0x2000, 0x1000, CRC(44f2b75d) SHA1(615d0acd3f8a109334f415732b6b4fe7b810d91c) ) //a2-1e
- ROM_LOAD( "a1-1h", 0x3000, 0x1000, CRC(9c1a10ff) SHA1(243dd64f0b29f9bed4cfa8ecb801ddd973d9e3c3) )
- ROM_LOAD( "a3-1j", 0x4000, 0x1000, CRC(71c2bf1c) SHA1(cb98bbf88b8a410075a074ec8619c6e703c6c582) )
-
- ROM_REGION( 0x04000, "gfx1", 0 )
- ROM_LOAD( "a1-4p", 0x0000, 0x1000, CRC(5ac096cc) SHA1(60173a83d0e60fd4d0eb40b7b4e80a74ac5fb23d) )
- ROM_LOAD( "a1-4n", 0x1000, 0x1000, CRC(6985fac9) SHA1(c6357fe0f042b67f8559ec9da03106d1ff08dc66) )
- ROM_LOAD( "a1-4l", 0x2000, 0x1000, CRC(534f7b94) SHA1(44b83053827b27b9e45f6fc50d3878984ef5c5cc) )
- ROM_LOAD( "a1-4k", 0x3000, 0x1000, CRC(3d881f5b) SHA1(53d8800a098e4393224de0b82f8e516f73fd6b62) )
-
- ROM_REGION( 0x00200, "proms", 0 )
- ROM_LOAD( "a1-9n", 0x0000, 0x0100, CRC(e62529e3) SHA1(176f2069b0c06c1d088909e81658652af06c8eec) )
- ROM_LOAD( "a1-9p", 0x0100, 0x0100, CRC(a0547746) SHA1(747c8aef5afa26124fe0763e7f96c4ff6be31863) )
-ROM_END
-
-/*
-------------------------------------------
-
- Jeutel (bootleg?)
-
- 1x MOSTEK 8236 / MK3880N-IRL / Z80-CPU
- 1x SOUND AY-3-8910
- 1x X-TAL 12,000
- 2x 8 DIP switches banks.
-
-------------------------------------------
-*/
-ROM_START( supdrapoa )
- ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "0.c1", 0x0000, 0x1000, CRC(63e2775a) SHA1(742e8db5378631fd93a22d2131f9523ee74c03a5) )
- ROM_LOAD( "1.d1", 0x1000, 0x1000, CRC(aa1578de) SHA1(8f1a33864b2c8e09a25c7603522ebfc7e0757d56) )
- ROM_LOAD( "2.e1", 0x2000, 0x1000, CRC(ffe0415c) SHA1(0233d192814ced0b32abd4b7d2e93431a339732f) )
- ROM_LOAD( "3.h1", 0x3000, 0x1000, CRC(1bae52fa) SHA1(f89d48d67e52d0fca51eb23fee2d5cb94afcf7f4) )
- ROM_LOAD( "4.j1", 0x4000, 0x1000, CRC(7af26f63) SHA1(aeeca69ef1c21acae4283183e4b073ec0d303f4a) )
-
- ROM_REGION( 0x4000, "gfx1", 0 )
- ROM_LOAD( "8.p4", 0x0000, 0x1000, CRC(ef0700c5) SHA1(53f49d99f310fdf675e3b7339bdca1115e4a1935) )
- ROM_LOAD( "7.n4", 0x1000, 0x1000, CRC(3f77031b) SHA1(2d282d39ea568aa44af8b56228b6e096c2713a15) )
- ROM_LOAD( "6.l4", 0x2000, 0x1000, CRC(d70cd50e) SHA1(c3e3dcf79f8a25df5b878ef8734a6d0dc22004ba) )
- ROM_LOAD( "5.k4", 0x3000, 0x1000, CRC(34564917) SHA1(90b49fe8a5371159388839d42913352cf58c60e6) )
-
- ROM_REGION( 0x00200, "proms", 0 ) /* using the color PROMs from the parent set - no reason to think they differ */
- ROM_LOAD( "a1-9n", 0x0000, 0x0100, CRC(e62529e3) SHA1(176f2069b0c06c1d088909e81658652af06c8eec) )
- ROM_LOAD( "a1-9p", 0x0100, 0x0100, CRC(a0547746) SHA1(747c8aef5afa26124fe0763e7f96c4ff6be31863) )
-ROM_END
-
-/*
-Poker Relance Gamble
-EMU Infos dumper f205v
-manufacturer Valadon Automation
-
-Technical references
-
-CPUs
-QTY Type clock position function
-1x NEC D780C 2c 8-bit Microprocessor - main
-1x AY-3-8910 2a Programmable Sound Generator - sound
-1x LM380N 10b Audio Amplifier - sound
-1x oscillator 12.000MHz 5b
-
-ROMs
-QTY Type position status
-9x ET2732Q 0-8 dumped
-1x DM74S287N 9n,9p dumped
-
-RAMs
-QTY Type position
-8x MM2114N-3 1k,1l,1m,1n,2f,3f,3h,3j
-1x MWS5101AEL2 2p
-
-Others
-
-1x 22x2 edge connector
-1x 31x2 thin edge connector
-1x trimmer (volume)(10a)
-2x 8x2 switches DIP (8a,9a)
-
-Notes
-
-At 2l there is an empty space with "batt." handwritten on the PCB
-At 1p there is an unmarked DIP20 mil.300 chip.
-
-*/
-
-ROM_START( supdrapob )
- ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "pok0.1c", 0x0000, 0x1000, CRC(b53f0470) SHA1(79003cc957e22d5bde720b6f4caed5481edd2c7e) )
- ROM_LOAD( "pok1.1d", 0x1000, 0x1000, CRC(9797a42d) SHA1(65446317e6f1a2de53dd10146338fb63bd5b0a99) )
- ROM_LOAD( "pok2.1ef", 0x2000, 0x1000, CRC(2b7a5baa) SHA1(dd86bb35692eabc1482768cf0bc082f3e0bd90fe) )
- ROM_LOAD( "pok3.1h", 0x3000, 0x1000, CRC(9c3ea609) SHA1(612f455515f367b7d59608528d06221665da8876) )
- ROM_LOAD( "pok4.1j", 0x4000, 0x1000, CRC(52025ba3) SHA1(923de6110a3608698a31baf552d4854b1053cc0e) )
-
- ROM_REGION( 0x4000, "gfx1", 0 )
- ROM_LOAD( "pok8.4p", 0x0000, 0x1000, CRC(82b387e1) SHA1(d7b7e4f7b5b8082438444ce1fa585917ae737bcf) )
- ROM_LOAD( "pok7.4n", 0x1000, 0x1000, CRC(6ab0ad02) SHA1(86b22ab3ceb69f981aa32247c93411631c33a6e8) )
- ROM_LOAD( "pok6.4lm", 0x2000, 0x1000, CRC(c8eab65c) SHA1(c4d37fed9675d8bb051e6f97e56f27450a24ddb8) )
- ROM_LOAD( "pok5.4k", 0x3000, 0x1000, CRC(2c0bb656) SHA1(aa2f309afcdefda5e40be0a354d0b3e5548c44bb) )
-
- ROM_REGION( 0x00200, "proms", 0 )
- ROM_LOAD( "dm74s287n.9n", 0x0000, 0x0100, CRC(e62529e3) SHA1(176f2069b0c06c1d088909e81658652af06c8eec) )
- ROM_LOAD( "dm74s287n.9p", 0x0100, 0x0100, CRC(a0547746) SHA1(747c8aef5afa26124fe0763e7f96c4ff6be31863) )
-ROM_END
-
-
-/*********************************************************************
- Games Drivers
-**********************************************************************/
-
-// YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS
-GAME( 1983, supdrapo, 0, supdrapo, supdrapo, supdrapo_state, empty_init, ROT90, "Valadon Automation (Stern Electronics license)", "Super Draw Poker (set 1)", MACHINE_SUPPORTS_SAVE )
-GAME( 1983, supdrapoa, supdrapo, supdrapo, supdrapo, supdrapo_state, empty_init, ROT90, "Valadon Automation / Jeutel", "Super Draw Poker (set 2)", MACHINE_SUPPORTS_SAVE )
-GAME( 1983, supdrapob, supdrapo, supdrapo, supdrapo, supdrapo_state, empty_init, ROT90, "bootleg", "Super Draw Poker (bootleg)", MACHINE_SUPPORTS_SAVE )