From 053ca07fddfd37cfee83333c8d66195250beb87b Mon Sep 17 00:00:00 2001 From: Angelo Salese Date: Mon, 9 Mar 2009 21:40:32 +0000 Subject: [PATCH] Merged Casino Winner and Royal Casino drivers [Angelo Salese] * Fixes Royal Casino colors; * Added flip screen support to the driver; * Changed Casino Winner to be a clone of Royal Casino; * Cleaned-up the driver; --- .gitattributes | 1 - src/mame/drivers/caswin.c | 166 ++++++++++++------ src/mame/drivers/rcasino.c | 347 ------------------------------------- src/mame/mame.mak | 1 - 4 files changed, 112 insertions(+), 403 deletions(-) delete mode 100644 src/mame/drivers/rcasino.c diff --git a/.gitattributes b/.gitattributes index 7137f4067b0..3c4ea893adf 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1906,7 +1906,6 @@ src/mame/drivers/rallyx.c svneol=native#text/plain src/mame/drivers/rampart.c svneol=native#text/plain src/mame/drivers/rastan.c svneol=native#text/plain src/mame/drivers/rbmk.c svneol=native#text/plain -src/mame/drivers/rcasino.c svneol=native#text/plain src/mame/drivers/rcorsair.c svneol=native#text/plain src/mame/drivers/re900.c svneol=native#text/plain src/mame/drivers/realbrk.c svneol=native#text/plain diff --git a/src/mame/drivers/caswin.c b/src/mame/drivers/caswin.c index ed203d4fdc6..5d96c3fb77e 100644 --- a/src/mame/drivers/caswin.c +++ b/src/mame/drivers/caswin.c @@ -1,12 +1,43 @@ /******************************************************************************************* +Royal Casino (c) 1984 Dyna Casino Winner (c) 1985 Aristocrat driver by Chris Hardy & Angelo Salese +original rcasino.c driver by Curt Coder TODO: -Cherry-type subgames appears to have wrong graphics alignment,maybe it's some fancy window effect? +-Add lamps support; +-p1 & p2 inputs are tied to the same port...maybe they are mux-ed with the flip screen bit? + +============================================================================================ + ---------------------------------------- + Casino Royal by Dyna Electronics CO. LTD + ---------------------------------------- + + Location Device File ID Checksum + -------------------------------------------- + 18B 2764 RI-W1 C62D + 16B 2764 RI-W2 AC85 + 15B 2732 RI-W3 70B7 + 11B 2732 RI-W4 0C21 + 9B 2764 RI-W5 EB59 + 8B 2764 RI-W6 C934 + 6B 2732 RI-W7 4130 + 9E 82S123 PROM1.BPR 0F29 + 8E 82S123 PROM2.BPR 0EE5 + + Notes: PCB No. D-2608208A1-2 + + Brief hardware overview + ----------------------- + + Main processor - Z80 + Sound - AY-3-8910 + + --- *******************************************************************************************/ @@ -53,13 +84,16 @@ static WRITE8_HANDLER( sc0_attr_w ) } /*These two are tested during the two cherry sub-games.I really don't know what is supposed to do...*/ -static WRITE8_HANDLER( scroll_w ) +static WRITE8_HANDLER( vvillage_scroll_w ) { + //... } -/*---- --x- enable some weird effect*/ -static WRITE8_HANDLER( vregs_w ) +/*---- --x- window effect? */ +/*---- ---x flip screen */ +static WRITE8_HANDLER( vvillage_vregs_w ) { + flip_screen_set(space->machine, data & 1); } /********************** @@ -73,15 +107,16 @@ static READ8_HANDLER( vvillage_rng_r ) return mame_rand(space->machine); } -static WRITE8_HANDLER( output_w ) +static WRITE8_HANDLER( vvillage_output_w ) { coin_counter_w(0,data & 1); coin_counter_w(1,data & 1); + // data & 4 payout counter coin_lockout_w(0,data & 0x20); coin_lockout_w(1,data & 0x20); } -static WRITE8_HANDLER( lamps_w ) +static WRITE8_HANDLER( vvillage_lamps_w ) { /* ---x ---- lamp button 5 @@ -90,26 +125,31 @@ static WRITE8_HANDLER( lamps_w ) ---- --x- lamp button 2 ---- ---x lamp button 1 */ + set_led_status(0, data & 0x01); + set_led_status(1, data & 0x02); + set_led_status(2, data & 0x04); + set_led_status(3, data & 0x08); + set_led_status(4, data & 0x10); } -static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) +static ADDRESS_MAP_START( vvillage_mem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x7fff) AM_ROM - AM_RANGE(0xa000, 0xa000) AM_READ(vvillage_rng_r) - AM_RANGE(0xe000, 0xefff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size) //maybe not all of it - AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(sc0_vram_w) AM_BASE(&sc0_vram) - AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(sc0_attr_w) AM_BASE(&sc0_attr) + AM_RANGE(0xa000, 0xa000) AM_READ(vvillage_rng_r) //accessed by caswin only + AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size) + AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(sc0_vram_w) AM_BASE(&sc0_vram) + AM_RANGE(0xf800, 0xfbff) AM_RAM_WRITE(sc0_attr_w) AM_BASE(&sc0_attr) ADDRESS_MAP_END -static ADDRESS_MAP_START( portmap, ADDRESS_SPACE_IO, 8 ) +static ADDRESS_MAP_START( vvillage_io, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE(0x01,0x01) AM_DEVREAD("ay", ay8910_r) AM_RANGE(0x02,0x03) AM_DEVWRITE("ay", ay8910_data_address_w) AM_RANGE(0x10,0x10) AM_READ_PORT("IN0") AM_RANGE(0x11,0x11) AM_READ_PORT("IN1") - AM_RANGE(0x10,0x10) AM_WRITE(scroll_w) - AM_RANGE(0x11,0x11) AM_WRITE(vregs_w) - AM_RANGE(0x12,0x12) AM_WRITE(lamps_w) - AM_RANGE(0x13,0x13) AM_WRITE(output_w) + AM_RANGE(0x10,0x10) AM_WRITE(vvillage_scroll_w) + AM_RANGE(0x11,0x11) AM_WRITE(vvillage_vregs_w) + AM_RANGE(0x12,0x12) AM_WRITE(vvillage_lamps_w) + AM_RANGE(0x13,0x13) AM_WRITE(vvillage_output_w) ADDRESS_MAP_END @@ -124,58 +164,59 @@ static INPUT_PORTS_START( vvillage ) PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Note Acceptor")// Note PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Hopper Payout") PORT_CODE(KEYCODE_7) - PORT_BIT( 0xf8, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // Hopper Micro + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 ) // 1P FlipFlop + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) // 2P FlipFlop + PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("DSW1") - PORT_DIPNAME( 0x01, 0x00, "Poker" ) - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x00, "Black Jack" ) - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x00, "Hi & Low" ) - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x00, "Five Line" ) - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, "Super Conti" ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) + PORT_DIPNAME( 0x01, 0x00, "Poker Available" ) PORT_DIPLOCATION("SW1:1") + PORT_DIPSETTING( 0x01, DEF_STR( No ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x02, 0x00, "Black Jack Available" ) PORT_DIPLOCATION("SW1:2") + PORT_DIPSETTING( 0x02, DEF_STR( No ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x04, 0x00, "Hi & Low Available" ) PORT_DIPLOCATION("SW1:3") + PORT_DIPSETTING( 0x04, DEF_STR( No ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x08, 0x00, "Five Line Available" ) PORT_DIPLOCATION("SW1:4") + PORT_DIPSETTING( 0x08, DEF_STR( No ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x10, 0x00, "Super Conti Available" ) PORT_DIPLOCATION("SW1:5") + PORT_DIPSETTING( 0x10, DEF_STR( No ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x20, 0x20, "BlackJack, Even Rule" ) PORT_DIPLOCATION("SW1:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) + PORT_DIPNAME( 0x40, 0x40, "Poker, Royal Flush Rule" ) PORT_DIPLOCATION("SW1:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) + PORT_DIPNAME( 0x80, 0x80, "Poker, Jack or Better Rule") PORT_DIPLOCATION("SW1:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW2") - PORT_DIPNAME( 0x01, 0x00, "Auto Hopper" ) - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x01, DEF_STR( Yes ) ) - 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_DIPNAME( 0x01, 0x00, "Enable Hopper Payout" ) PORT_DIPLOCATION("SW2:1") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x01, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x00, "Enable Hopper Win Payout") PORT_DIPLOCATION("SW2:2") + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x02, DEF_STR( On ) ) + PORT_DIPNAME( 0x04, 0x04, "Hi Lo, Royal Flush" ) PORT_DIPLOCATION("SW2:3") 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_DIPNAME( 0x08, 0x08, "Game Bet") PORT_DIPLOCATION("SW2:4") + PORT_DIPSETTING( 0x08, "Normal Game") + PORT_DIPSETTING( 0x00, "Double Game") + PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "Show Dip-Switches Status" ) - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, DEF_STR( Service_Mode ) ) //analyzer + PORT_SERVICE( 0x40, IP_ACTIVE_LOW ) PORT_DIPLOCATION("SW2:7") + PORT_DIPNAME( 0x80, 0x80, "Analyzer" ) PORT_DIPLOCATION("SW2:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END @@ -235,8 +276,8 @@ static PALETTE_INIT( caswin ) static MACHINE_DRIVER_START( vvillage ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", Z80,4000000) /* ? MHz */ - MDRV_CPU_PROGRAM_MAP(readmem,0) - MDRV_CPU_IO_MAP(portmap,0) + MDRV_CPU_PROGRAM_MAP(vvillage_mem,0) + MDRV_CPU_IO_MAP(vvillage_io,0) MDRV_CPU_VBLANK_INT("screen", irq0_line_hold ) /* video hardware */ @@ -277,5 +318,22 @@ ROM_START( caswin ) ROM_LOAD( "clr2.bin", 0x20, 0x20, CRC(2b5c7826) SHA1(c0de392aebd6982e5846c12aeb2e871358be60d7) ) ROM_END +ROM_START( rcasino ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "ri-w1.18b", 0x0000, 0x2000, CRC(ed105d69) SHA1(951697e1050f72967f0710155aa8ff72db73fce1) ) + ROM_LOAD( "ri-w2.16b", 0x2000, 0x2000, CRC(a1a80b33) SHA1(2f969713cae288de1985d7baa70cad50c4148970) ) + ROM_LOAD( "ri-w3.15b", 0x4000, 0x1000, CRC(acf77a36) SHA1(599470e461a261130e942d174051648459f37a37) ) -GAME( 1985, caswin, 0, vvillage, vvillage, 0, ROT270, "Aristocrat", "Casino Winner", GAME_IMPERFECT_GRAPHICS ) + ROM_REGION( 0x6000, "gfx1", 0 ) + ROM_LOAD( "ri-w6.8b", 0x0000, 0x2000, CRC(b2dd4e1e) SHA1(323dcfb26653c17951db65ce2ced3325d35489e4) ) + ROM_LOAD( "ri-w7.6b", 0x2000, 0x1000, CRC(8e0d3b9c) SHA1(c5211d834b0db488839a5c53d00435a0b59cd4ca) ) + ROM_LOAD( "ri-w5.9b", 0x3000, 0x2000, CRC(81d20577) SHA1(50a1e0231400c106539ffa78deb3e0e6c8afc3f5) ) + ROM_LOAD( "ri-w4.11b", 0x5000, 0x1000, CRC(7ca0e78c) SHA1(163cfd1f76ecbd14219146963d1abc4c09c0ac8c) ) + + ROM_REGION( 0x40, "proms", 0 ) + ROM_LOAD( "prom1.9e", 0x0000, 0x0020, CRC(93312432) SHA1(3c7abc165e6bc7e0c56ca97d89b0b5e06323b82e) ) + ROM_LOAD( "prom2.8e", 0x0020, 0x0020, CRC(2b5c7826) SHA1(c0de392aebd6982e5846c12aeb2e871358be60d7) ) +ROM_END + +GAME( 1984, rcasino, 0, vvillage, vvillage, 0, ROT270, "Dyna Electronics", "Royal Casino", GAME_IMPERFECT_GRAPHICS ) +GAME( 1985, caswin, rcasino, vvillage, vvillage, 0, ROT270, "Aristocrat", "Casino Winner", GAME_IMPERFECT_GRAPHICS ) diff --git a/src/mame/drivers/rcasino.c b/src/mame/drivers/rcasino.c deleted file mode 100644 index 6af0ccbc98a..00000000000 --- a/src/mame/drivers/rcasino.c +++ /dev/null @@ -1,347 +0,0 @@ -/* -"Royal Casino" - - ---------------------------------------- - Casino Royal by Dyna Electronics CO. LTD - ---------------------------------------- - - Location Device File ID Checksum - -------------------------------------------- - 18B 2764 RI-W1 C62D - 16B 2764 RI-W2 AC85 - 15B 2732 RI-W3 70B7 - 11B 2732 RI-W4 0C21 - 9B 2764 RI-W5 EB59 - 8B 2764 RI-W6 C934 - 6B 2732 RI-W7 4130 - 9E 82S123 PROM1.BPR 0F29 - 8E 82S123 PROM2.BPR 0EE5 - - Notes: PCB No. D-2608208A1-2 - - Brief hardware overview - ----------------------- - - Main processor - Z80 - Sound - AY-3-8910 - - --- - - Driver by Curt Coder - -TODO: - -Get correct data for hopper on and lockout. -*/ - -#include "driver.h" -#include "cpu/z80/z80.h" -#include "sound/ay8910.h" - -static tilemap *bg_tilemap; -static int pulse; -static int hopper; -static PALETTE_INIT( rcasino ) -{ - int i; - - for (i = 0; i < machine->config->total_colors; i++) - { - int bit0, bit1, bit2, r, g, b; - - // red component - - bit0 = (*color_prom >> 7) & 0x01; - bit1 = (*color_prom >> 6) & 0x01; - bit2 = (*color_prom >> 5) & 0x01; - - r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2; - - // green component - - bit0 = (*color_prom >> 4) & 0x01; - bit1 = (*color_prom >> 3) & 0x01; - bit2 = (*color_prom >> 2) & 0x01; - - g = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2; - - // blue component - - bit0 = 0; - bit1 = (*color_prom >> 1) & 0x01; - bit2 = (*color_prom >> 0) & 0x01; - - b = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2; - - palette_set_color(machine, i, MAKE_RGB(r, g, b)); - - color_prom++; - } -} - -static WRITE8_HANDLER( rcasino_videoram_w ) -{ - videoram[offset] = data; - tilemap_mark_tile_dirty(bg_tilemap, offset); -} - -static WRITE8_HANDLER( rcasino_colorram_w ) -{ - colorram[offset] = data; - tilemap_mark_tile_dirty(bg_tilemap, offset); -} - -static TILE_GET_INFO( get_bg_tile_info ) -{ - int attr = colorram[tile_index]; - int bank = (attr & 0x40) >> 6; - int code = videoram[tile_index] + ((attr & 0x30) << 4); - int color = attr & 0x0f; - - SET_TILE_INFO(bank, code, color, 0); -} - -static VIDEO_START(rcasino) -{ - bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows, - 8, 8, 32, 32); -} - -static VIDEO_UPDATE(rcasino) -{ - tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0); - return 0; -} - -static WRITE8_HANDLER( rcasino_port_10_w ) -{ -// popmessage("port 10 data %u", data); - // write several values when the wheels are spinning -} - -static WRITE8_HANDLER( rcasino_port_11_w ) -{ - /* - write 0 when "P1 FlipFlop" (start1) is pressed - write 1 when "P2 FlipFlop" (start2) is pressed - write 2 when in "Super Conti" game - - In royalmah.c games this is an input port selector, but - there are only 2 input ports in this game and this write - seems to have no effect - */ -} - -static WRITE8_HANDLER( rcasino_lamp_w ) -{ - // button lamps - set_led_status(0, data & 0x01); - set_led_status(1, data & 0x02); - set_led_status(2, data & 0x04); - set_led_status(3, data & 0x08); - set_led_status(4, data & 0x10); -} - -static WRITE8_HANDLER( rcasino_coin_counter_w ) -{ - // coin counter - coin_counter_w(0, data & 0x01); - - // payout counter - coin_counter_w(1, data & 0x04); - - // activate hopper - //hopper = data & 0x08; - - // write 0x80 if payout fails and "call dealer" appears on screen, is it a coin lockout? - //coin_lockout_w(0, data & 0x80); -//Probably, most of these systems have some protection to stop clueless people from clogging up a broken hopper. -} - -static READ8_HANDLER( rcasino_port_11_r ) -{ - if (hopper) - { - if (pulse) - pulse = 0; - else pulse = 0x04; - } - return input_port_read(space->machine, "IN1") + pulse; -} - -static ADDRESS_MAP_START( rcasino_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x4fff) AM_ROM - AM_RANGE(0xe000, 0xe7ff) AM_RAM - AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(rcasino_videoram_w) AM_BASE(&videoram) - AM_RANGE(0xf800, 0xfbff) AM_RAM_WRITE(rcasino_colorram_w) AM_BASE(&colorram) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( rcasino_io_map, ADDRESS_SPACE_IO, 8 ) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x01, 0x01) AM_DEVREAD("ay", ay8910_r) - AM_RANGE(0x02, 0x03) AM_DEVWRITE("ay", ay8910_data_address_w) - AM_RANGE(0x10, 0x10) AM_READ_PORT("IN0") AM_WRITE(rcasino_port_10_w) -// AM_RANGE(0x11, 0x11) AM_READ_PORT("IN1") AM_WRITE(rcasino_port_11_w) - AM_RANGE(0x11, 0x11) AM_READWRITE(rcasino_port_11_r, rcasino_port_11_w) - AM_RANGE(0x12, 0x12) AM_WRITE(rcasino_lamp_w) - AM_RANGE(0x13, 0x13) AM_WRITE(rcasino_coin_counter_w) -ADDRESS_MAP_END - -static INPUT_PORTS_START( rcasino ) - PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_A) // SW1 - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_S) // SW2 - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_D) // SW3 - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_F) // SW4 - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_G) // SW5 - PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("IN1") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) // Coin - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Note Acceptor")// Note - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_4) PORT_NAME("Payout")// Pay Out - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // Hopper Micro - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 ) // 1P FlipFlop - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) // 2P FlipFlop - PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) - - PORT_START("DSW1") - PORT_DIPNAME( 0x01, 0x01, "Poker available?" ) - PORT_DIPSETTING( 0x01, DEF_STR( No ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x02, 0x02, "Black Jack available?") - PORT_DIPSETTING( 0x02, DEF_STR( No ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x04, 0x04, "Hi and Low available?" ) - PORT_DIPSETTING( 0x04, DEF_STR( No ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x08, 0x08, "Five Line (Slot) available?") - PORT_DIPSETTING( 0x08, DEF_STR( No ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x10, 0x10, "Super Continental available?") - PORT_DIPSETTING( 0x10, DEF_STR( No ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x20, 0x20, "Rule Change (BlackJack, even)" ) - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x40, 0x40, "Rule Change (Poker, Royal Flush)" ) - PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x80, 0x80, "Rule Change (Poker, Jack or Better)") - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - - PORT_START("DSW2") - PORT_DIPNAME( 0x01, 0x01, "Enable Hopper Payout" ) // enables Payout button - PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x02, 0x02, "Enable Hopper Win Payout") // enables Payout button - PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x04, 0x04, "Hi Lo, Royal Flush" ) - PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x08, 0x08, "Game Bet") - PORT_DIPSETTING( 0x08, "Normal Game") - PORT_DIPSETTING( 0x00, "Double Game") - PORT_DIPNAME( 0x10, 0x10, "Always Off" ) - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x20, "Always Off") - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_SERVICE( 0x40, IP_ACTIVE_LOW ) - PORT_DIPNAME( 0x80, 0x80, "Analyzer" ) - PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) -INPUT_PORTS_END - -static const gfx_layout charlayout = -{ - 8, 8, - RGN_FRAC(1,2), - 2, - { 0, 0x2000*8 }, - { 7, 6, 5, 4, 3, 2, 1, 0 }, - { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, - 8*8 -}; - -static const gfx_layout charlayout2 = -{ - 8, 8, - RGN_FRAC(1,2), - 2, - { 0, 0x1000*8 }, - { 7, 6, 5, 4, 3, 2, 1, 0 }, - { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, - 8*8 -}; - -static GFXDECODE_START( rcasino ) - GFXDECODE_ENTRY( "gfx1", 0x0000, charlayout, 0, 16 ) - GFXDECODE_ENTRY( "gfx2", 0x0000, charlayout2, 0, 16 ) -GFXDECODE_END - -static const ay8910_interface ay8910_config = -{ - AY8910_LEGACY_OUTPUT, - AY8910_DEFAULT_LOADS, - DEVCB_INPUT_PORT("DSW1"), - DEVCB_INPUT_PORT("DSW2"), - DEVCB_NULL, - DEVCB_NULL -}; - -static MACHINE_DRIVER_START( rcasino ) - // basic machine hardware - MDRV_CPU_ADD("maincpu", Z80, 8000000/2) // ??? - MDRV_CPU_PROGRAM_MAP(rcasino_map, 0) - MDRV_CPU_IO_MAP(rcasino_io_map, 0) - MDRV_CPU_VBLANK_INT("screen", irq0_line_hold) - - // video hardware - - MDRV_SCREEN_ADD("screen", RASTER) - MDRV_SCREEN_REFRESH_RATE(60) - MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) - MDRV_SCREEN_SIZE(32*8, 32*8) - MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) - - MDRV_GFXDECODE(rcasino) - MDRV_PALETTE_LENGTH(64) - - MDRV_PALETTE_INIT(rcasino) - MDRV_VIDEO_START(rcasino) - MDRV_VIDEO_UPDATE(rcasino) - - // sound hardware - MDRV_SPEAKER_STANDARD_MONO("mono") - - MDRV_SOUND_ADD("ay", AY8910, 18432000/12) - MDRV_SOUND_CONFIG(ay8910_config) - MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) - -MACHINE_DRIVER_END - -ROM_START( rcasino ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "ri-w1.18b", 0x0000, 0x2000, CRC(ed105d69) SHA1(951697e1050f72967f0710155aa8ff72db73fce1) ) - ROM_LOAD( "ri-w2.16b", 0x2000, 0x2000, CRC(a1a80b33) SHA1(2f969713cae288de1985d7baa70cad50c4148970) ) - ROM_LOAD( "ri-w3.15b", 0x4000, 0x1000, CRC(acf77a36) SHA1(599470e461a261130e942d174051648459f37a37) ) - - ROM_REGION( 0x4000, "gfx1", ROMREGION_DISPOSE ) - ROM_LOAD( "ri-w5.9b", 0x0000, 0x2000, CRC(81d20577) SHA1(50a1e0231400c106539ffa78deb3e0e6c8afc3f5) ) - ROM_LOAD( "ri-w6.8b", 0x2000, 0x2000, CRC(b2dd4e1e) SHA1(323dcfb26653c17951db65ce2ced3325d35489e4) ) - - ROM_REGION( 0x2000, "gfx2", ROMREGION_DISPOSE ) - ROM_LOAD( "ri-w4.11b", 0x0000, 0x1000, CRC(7ca0e78c) SHA1(163cfd1f76ecbd14219146963d1abc4c09c0ac8c) ) - ROM_LOAD( "ri-w7.6b", 0x1000, 0x1000, CRC(8e0d3b9c) SHA1(c5211d834b0db488839a5c53d00435a0b59cd4ca) ) - - ROM_REGION( 0x40, "proms", 0 ) - ROM_LOAD( "prom1.9e", 0x0000, 0x0020, CRC(93312432) SHA1(3c7abc165e6bc7e0c56ca97d89b0b5e06323b82e) ) - ROM_LOAD( "prom2.8e", 0x0020, 0x0020, CRC(2b5c7826) SHA1(c0de392aebd6982e5846c12aeb2e871358be60d7) ) -ROM_END - -GAME( 1984, rcasino, 0, rcasino, rcasino, 0, ROT270, "Dyna Electronics", "Royal Casino", GAME_IMPERFECT_COLORS ) diff --git a/src/mame/mame.mak b/src/mame/mame.mak index 316d23e2062..2f5d0da4f63 100644 --- a/src/mame/mame.mak +++ b/src/mame/mame.mak @@ -684,7 +684,6 @@ $(MAMEOBJ)/dynax.a: \ $(DRIVERS)/ddenlovr.o \ $(DRIVERS)/dynax.o $(VIDEO)/dynax.o \ $(DRIVERS)/hnayayoi.o $(VIDEO)/hnayayoi.o \ - $(DRIVERS)/rcasino.o \ $(DRIVERS)/realbrk.o $(VIDEO)/realbrk.o \ $(DRIVERS)/royalmah.o \