From 9d85fe11889216b8f007a9dbe4f455b2970f3ac8 Mon Sep 17 00:00:00 2001 From: Dirk Best Date: Tue, 2 Apr 2019 01:18:04 +0200 Subject: [PATCH] ltcasino: Update and verify all dipswitches, add NVRAM Also document service mode and update notes. The dipswitches now fully match the dipswitch menu in service mode. --- src/mame/drivers/ltcasino.cpp | 298 ++++++++++++++++++---------------- 1 file changed, 157 insertions(+), 141 deletions(-) diff --git a/src/mame/drivers/ltcasino.cpp b/src/mame/drivers/ltcasino.cpp index 9d38ba05d6d..7205a0ac00e 100644 --- a/src/mame/drivers/ltcasino.cpp +++ b/src/mame/drivers/ltcasino.cpp @@ -3,21 +3,26 @@ /*************************************************************************** Little Casino + Little Casino II Mini Vegas 4in1 - Non-Payout 'Gambling' style games. + Non-Payout 'Gambling' style games TODO: - Clocks need to be verified + - Timing is probably wrong, IRQ sources need to be verified - Figure out the rest of the dipswitches - Keyboard - - Battery backed RAM for High Scores & Keyboard message Notes: - - The color versions are commonly called Little Casino II (as stickered on cabinet) - This is NOT reflected on the title screen - - Color version of the first version is undumped (flyer exists)? - - In v18_10_rf.bin, around 0x600 is text showing a service mode screen / dipswitch settings - How do you activate it? + - To enter service mode, press buttons 2 and 4 then reset. Let go + of the buttons once the video test finishes. Some games also + enter service mode if you disable all games via the dipswitches. + Once in service mode, press both buttons 2 and 4 to advance to + next screen. + - The name "Little Casino II" is just reflected by a sticker on the + cabinet - the title screen is still "Little Casino" + - Color version of "Little Casino" is undumped (flyer exists)? Mini Vegas @@ -60,42 +65,12 @@ Other: Hitachi HD46821P 1MHz NMOS Peripheral Interface Adapter (PIA) x 2 44 pin edge connector -Additional notes about Little Casino II v18.1 included with ROMs: - -DIP 1: -^^^^^^ -1 ON = ?? -2 ON = ?? -3 ON = 2 coins 1 credit -4 ON = 1 coin 2 credit -5 ON = hard -6 ON = very easy -7 ON = no display of high scores -8 ON = ?? - - -DIP 2: -^^^^^^ -1 ON = 3 hands a credit - -8 = ON = starts playing by itself - - -DIP 3: -^^^^^^ -All off = game hangs after coinup. ** - -** Same result as disabling all selectable games, that’s why it’s suggested below - that some of port “Q” is mapped to DSW3. - - Notice that many dip explanations above don't match effects below, so ports and - dipswitches might not be linearly mapped. - ***************************************************************************/ #include "emu.h" #include "cpu/m6502/m6502.h" #include "machine/6821pia.h" +#include "machine/nvram.h" #include "sound/ay8910.h" #include "video/tms9927.h" #include "emupal.h" @@ -122,6 +97,8 @@ public: m_video_ram(*this, "video_ram"), m_attribute_ram(*this, "attribute_ram"), m_gfxdecode(*this, "gfxdecode"), + m_input_q(*this, "Q"), + m_input_s(*this, "S"), m_lamps(*this, "button_%u", 0U), m_tilemap(nullptr) { } @@ -129,7 +106,7 @@ public: void init_mv4in1(); void ltcasino(machine_config &config); - void ltcasinn(machine_config &config); + void ltcasin2(machine_config &config); void mv4in1(machine_config &config); private: @@ -141,19 +118,24 @@ private: required_shared_ptr m_video_ram; required_shared_ptr m_attribute_ram; required_device m_gfxdecode; + required_ioport m_input_q; + required_ioport m_input_s; output_finder<5> m_lamps; tilemap_t *m_tilemap; void main_map(address_map &map); - void ltcasinn_palette(palette_device &palette) const; + void ltcasin2_palette(palette_device &palette) const; uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); TILE_GET_INFO_MEMBER(ltcasino_tile_info); - TILE_GET_INFO_MEMBER(ltcasinn_tile_info); + TILE_GET_INFO_MEMBER(ltcasin2_tile_info); void machine_start_ltcasino(); - void machine_start_ltcasinn(); + void machine_start_ltcasin2(); + + DECLARE_READ8_MEMBER(input_q_r); + DECLARE_READ8_MEMBER(input_s_r); DECLARE_WRITE8_MEMBER(output_r_w); DECLARE_WRITE8_MEMBER(output_t_w); @@ -167,7 +149,7 @@ private: void ltcasino_state::main_map(address_map &map) { map.unmap_value_high(); - map(0x0000, 0x07ff).ram(); + map(0x0000, 0x07ff).ram().share("nvram"); map(0x8000, 0xcfff).rom(); map(0xd000, 0xd7ff).ram().share(m_video_ram); map(0xe000, 0xe7ff).ram().share(m_attribute_ram); @@ -184,8 +166,6 @@ void ltcasino_state::main_map(address_map &map) // INPUT PORT DEFINITIONS //************************************************************************** - - static INPUT_PORTS_START( ltcasino ) PORT_START("COIN") PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_COIN1) PORT_WRITE_LINE_DEVICE_MEMBER("pia0", pia6821_device, ca1_w) @@ -197,41 +177,41 @@ static INPUT_PORTS_START( ltcasino ) PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3) PORT_NAME("Button 3") PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4) PORT_NAME("Button 4") PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5) PORT_NAME("Button 5") - PORT_DIPNAME(0x20, 0x00, "Enable Craps") // off to enter service - likely mapped to DSW3 - PORT_DIPSETTING( 0x20, DEF_STR( Off )) - PORT_DIPSETTING( 0x00, DEF_STR( On )) - PORT_DIPNAME(0x40, 0x00, "Enable Poker") // off to enter service - likely mapped to DSW3 - PORT_DIPSETTING( 0x40, DEF_STR( Off )) - PORT_DIPSETTING( 0x00, DEF_STR( On )) - PORT_DIPNAME(0x80, 0x00, "Enable Black Jack") // off to enter service - likely mapped to DSW3 - PORT_DIPSETTING( 0x80, DEF_STR( Off )) - PORT_DIPSETTING( 0x00, DEF_STR( On )) + PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_CUSTOM) + PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_CUSTOM) + PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_CUSTOM) PORT_START("S") - PORT_DIPUNKNOWN_DIPLOC(0x01, IP_ACTIVE_LOW, "DSW3:1") - PORT_DIPUNKNOWN_DIPLOC(0x02, IP_ACTIVE_LOW, "DSW3:2") - PORT_DIPUNKNOWN_DIPLOC(0x04, IP_ACTIVE_LOW, "DSW3:3") - PORT_DIPUNKNOWN_DIPLOC(0x08, IP_ACTIVE_LOW, "DSW3:4") - PORT_DIPUNKNOWN_DIPLOC(0x10, IP_ACTIVE_LOW, "DSW3:5") - PORT_DIPNAME(0x20, 0x00, DEF_STR( Service_Mode )) - PORT_DIPSETTING( 0x00, DEF_STR( Off )) - PORT_DIPSETTING( 0x20, DEF_STR( On )) - PORT_DIPLOCATION("DSW3:6") - PORT_DIPNAME(0x40, 0x00, "Enable Hi-Lo") // off to enter service + PORT_DIPUNKNOWN_DIPLOC(0x01, IP_ACTIVE_LOW, "C:1") + PORT_DIPNAME(0x02, 0x00, "Enable Black Jack") + PORT_DIPSETTING( 0x00, DEF_STR( On )) + PORT_DIPSETTING( 0x02, DEF_STR( Off )) + PORT_DIPLOCATION("C:2") + PORT_DIPNAME(0x04, 0x00, "Enable Craps") + PORT_DIPSETTING( 0x00, DEF_STR( On )) + PORT_DIPSETTING( 0x04, DEF_STR( Off )) + PORT_DIPLOCATION("C:3") + PORT_DIPNAME(0x08, 0x00, "Enable Poker") + PORT_DIPSETTING( 0x00, DEF_STR( On )) + PORT_DIPSETTING( 0x08, DEF_STR( Off )) + PORT_DIPLOCATION("C:4") + PORT_DIPUNKNOWN_DIPLOC(0x10, IP_ACTIVE_LOW, "C:5") + PORT_DIPUNUSED_DIPLOC(0x20, IP_ACTIVE_LOW, "C:6") // would enable game 5 + PORT_DIPNAME(0x40, 0x00, "Enable Hi-Lo") + PORT_DIPSETTING( 0x00, DEF_STR( On )) PORT_DIPSETTING( 0x40, DEF_STR( Off )) - PORT_DIPSETTING( 0x00, DEF_STR( On )) - PORT_DIPLOCATION("DSW3:7") + PORT_DIPLOCATION("C:7") PORT_DIPNAME(0x80, 0x00, DEF_STR( Demo_Sounds )) - PORT_DIPSETTING( 0x80, DEF_STR( Off )) PORT_DIPSETTING( 0x00, DEF_STR( On )) - PORT_DIPLOCATION("DSW3:8") + PORT_DIPSETTING( 0x80, DEF_STR( Off )) + PORT_DIPLOCATION("C:8") PORT_START("A") - PORT_DIPNAME(0x03, 0x03, "Hands to Start") - PORT_DIPSETTING( 0x03, "3") - PORT_DIPSETTING( 0x02, "4") - PORT_DIPSETTING( 0x01, "5") + PORT_DIPNAME(0x03, 0x03, "Hands per Game") PORT_DIPSETTING( 0x00, "6") + PORT_DIPSETTING( 0x01, "5") + PORT_DIPSETTING( 0x02, "4") + PORT_DIPSETTING( 0x03, "3") PORT_DIPLOCATION("A:1,2") PORT_DIPNAME(0x0c, 0x0c, DEF_STR( Coinage )) PORT_DIPSETTING( 0x00, DEF_STR( 2C_2C )) @@ -243,15 +223,15 @@ static INPUT_PORTS_START( ltcasino ) PORT_DIPSETTING( 0x00, DEF_STR( Off )) PORT_DIPSETTING( 0x10, DEF_STR( On )) // limits to 15 coins PORT_DIPLOCATION("A:5") - PORT_DIPUNKNOWN_DIPLOC(0x20, IP_ACTIVE_LOW, "A:6") // If this is LOW Little Casino II sets can reset on coin-up + PORT_DIPUNKNOWN_DIPLOC(0x20, IP_ACTIVE_LOW, "A:6") // coin window on ltcasin2 PORT_DIPUNKNOWN_DIPLOC(0x40, IP_ACTIVE_LOW, "A:7") PORT_DIPNAME(0x80, 0x80, "Screen Mode") - PORT_DIPSETTING( 0x80, "60 Hz") - PORT_DIPSETTING( 0x00, "50 Hz") + PORT_DIPSETTING( 0x00, "50 Cycle") + PORT_DIPSETTING( 0x80, "60 Cycle") PORT_DIPLOCATION("A:8") PORT_START("B") - PORT_DIPNAME(0x01, 0x01, "Show High Scores") // When it's OFF, it doesn't show or allow High Scores + PORT_DIPNAME(0x01, 0x01, "Topten") // toggles availability of the high score table PORT_DIPSETTING( 0x00, DEF_STR( Off )) PORT_DIPSETTING( 0x01, DEF_STR( On )) PORT_DIPLOCATION("B:1") @@ -260,17 +240,17 @@ static INPUT_PORTS_START( ltcasino ) PORT_DIPUNKNOWN_DIPLOC(0x08, IP_ACTIVE_LOW, "B:4") PORT_DIPUNKNOWN_DIPLOC(0x10, IP_ACTIVE_LOW, "B:5") PORT_DIPUNKNOWN_DIPLOC(0x20, IP_ACTIVE_LOW, "B:6") - PORT_DIPNAME(0x40, 0x40, "Bonus Hand") - PORT_DIPSETTING( 0x40, "100000 & 200000") - PORT_DIPSETTING( 0x00, DEF_STR( None )) + PORT_DIPNAME(0x40, 0x40, "Free Hand") + PORT_DIPSETTING( 0x00, DEF_STR( Off )) + PORT_DIPSETTING( 0x40, DEF_STR( On )) PORT_DIPLOCATION("B:7") - PORT_DIPNAME(0x80, 0x80, "Auto Play") - PORT_DIPSETTING( 0x80, DEF_STR( Off )) + PORT_DIPNAME(0x80, 0x80, "Autoplay") PORT_DIPSETTING( 0x00, DEF_STR( On )) + PORT_DIPSETTING( 0x80, DEF_STR( Off )) PORT_DIPLOCATION("B:8") INPUT_PORTS_END -static INPUT_PORTS_START( ltcasinn ) +static INPUT_PORTS_START( ltcasin2 ) PORT_INCLUDE(ltcasino) PORT_MODIFY("COIN") @@ -278,34 +258,35 @@ static INPUT_PORTS_START( ltcasinn ) PORT_MODIFY("S") PORT_DIPNAME(0x01, 0x01, "Keyboard") + PORT_DIPSETTING( 0x00, DEF_STR( On )) PORT_DIPSETTING( 0x01, DEF_STR( Off )) - PORT_DIPSETTING( 0x00, DEF_STR( On )) - PORT_DIPLOCATION("DSW3:1") + PORT_DIPLOCATION("C:1") + PORT_DIPUNKNOWN_DIPLOC(0x10, IP_ACTIVE_LOW, "C:5") PORT_DIPNAME(0x20, 0x00, "Enable Horse") + PORT_DIPSETTING( 0x00, DEF_STR( On )) PORT_DIPSETTING( 0x20, DEF_STR( Off )) - PORT_DIPSETTING( 0x00, DEF_STR( On )) - PORT_DIPLOCATION("DSW3:6") + PORT_DIPLOCATION("C:6") PORT_DIPNAME(0x40, 0x00, "Enable Slots") - PORT_DIPSETTING( 0x40, DEF_STR( Off )) PORT_DIPSETTING( 0x00, DEF_STR( On )) - PORT_DIPLOCATION("DSW3:7") + PORT_DIPSETTING( 0x40, DEF_STR( Off )) + PORT_DIPLOCATION("C:7") PORT_MODIFY("A") - PORT_DIPUNKNOWN_DIPLOC(0x10, IP_ACTIVE_LOW, "A:5") // Coin Limit for other sets, v18.1 always locked to 15 coins? - PORT_DIPNAME(0x40, 0x00, "Leave On") // needs to be 0x00 or can reset on coin-up - But controls Hi-scores display?????? - PORT_DIPSETTING( 0x00, DEF_STR( On )) - PORT_DIPSETTING( 0x40, DEF_STR( Off )) + PORT_DIPUNUSED_DIPLOC(0x10, IP_ACTIVE_LOW, "A:5") // Coin Limit for other sets, v18.1 always locked to 15 coins + PORT_DIPNAME(0x20, 0x00, "Coin Window") // needs to be disabled or it can reset on coin-up + PORT_DIPSETTING( 0x00, DEF_STR( Off )) + PORT_DIPSETTING( 0x20, DEF_STR( On )) + PORT_DIPLOCATION("A:6") + PORT_DIPNAME(0x40, 0x40, "Topten") // toggles availability of the high score table + PORT_DIPSETTING( 0x00, DEF_STR( Off )) + PORT_DIPSETTING( 0x40, DEF_STR( On )) PORT_DIPLOCATION("A:7") PORT_MODIFY("B") - PORT_DIPUNKNOWN_DIPLOC(0x01, IP_ACTIVE_LOW, "B:1") // Moves "Show High Scores" to A:7 - see about note - PORT_DIPNAME(0x02, 0x02, "Memory Test") // tests d000 to d7ff - PORT_DIPSETTING( 0x00, DEF_STR( Off )) - PORT_DIPSETTING( 0x02, DEF_STR( On )) - PORT_DIPLOCATION("B:2") + PORT_DIPUNKNOWN_DIPLOC(0x01, IP_ACTIVE_LOW, "B:1") INPUT_PORTS_END -static INPUT_PORTS_START( ltcasinna ) +static INPUT_PORTS_START( ltcasin2a ) PORT_INCLUDE(ltcasino) PORT_MODIFY("COIN") @@ -313,19 +294,19 @@ static INPUT_PORTS_START( ltcasinna ) PORT_MODIFY("S") PORT_DIPNAME(0x01, 0x01, "Keyboard") + PORT_DIPSETTING( 0x00, DEF_STR( On )) PORT_DIPSETTING( 0x01, DEF_STR( Off )) - PORT_DIPSETTING( 0x00, DEF_STR( On )) - PORT_DIPLOCATION("DSW3:1") + PORT_DIPLOCATION("C:1") PORT_DIPNAME(0x20, 0x00, "Enable Horse") - PORT_DIPSETTING( 0x20, DEF_STR( Off )) PORT_DIPSETTING( 0x00, DEF_STR( On )) - PORT_DIPLOCATION("DSW3:6") + PORT_DIPSETTING( 0x20, DEF_STR( Off )) + PORT_DIPLOCATION("C:6") PORT_MODIFY("A") - PORT_DIPNAME(0x40, 0x00, "Leave On") // needs to be 0x00 or can reset on coin-up - PORT_DIPSETTING( 0x00, DEF_STR( On )) - PORT_DIPSETTING( 0x40, DEF_STR( Off )) - PORT_DIPLOCATION("A:7") + PORT_DIPNAME(0x20, 0x00, "Coin Window") // needs to be disabled or it can reset on coin-up + PORT_DIPSETTING( 0x00, DEF_STR( Off )) + PORT_DIPSETTING( 0x20, DEF_STR( On )) + PORT_DIPLOCATION("A:6") PORT_MODIFY("B") PORT_DIPNAME(0x02, 0x02, "Memory Test") // tests d000 to d7ff @@ -337,23 +318,23 @@ INPUT_PORTS_END static INPUT_PORTS_START( mv4in1 ) PORT_INCLUDE(ltcasino) - PORT_MODIFY("Q") - PORT_DIPNAME(0x20, 0x00, "Enable Dice") // must be off to enter service - likely mapped to DSW3 - PORT_DIPSETTING( 0x20, DEF_STR( Off )) - PORT_DIPSETTING( 0x00, DEF_STR( On )) - PORT_DIPNAME(0x80, 0x00, "Enable 21") // must be off to enter service - likely mapped to DSW3 - PORT_DIPSETTING( 0x80, DEF_STR( Off )) - PORT_DIPSETTING( 0x00, DEF_STR( On )) - PORT_MODIFY("S") PORT_DIPNAME(0x01, 0x01, "Keyboard") + PORT_DIPSETTING( 0x00, DEF_STR( On )) PORT_DIPSETTING( 0x01, DEF_STR( Off )) + PORT_DIPLOCATION("C:1") + PORT_DIPNAME(0x02, 0x00, "Enable 21") + PORT_DIPSETTING( 0x00, DEF_STR( On )) + PORT_DIPSETTING( 0x02, DEF_STR( Off )) + PORT_DIPLOCATION("C:2") + PORT_DIPNAME(0x04, 0x00, "Enable Dice") + PORT_DIPSETTING( 0x00, DEF_STR( On )) + PORT_DIPSETTING( 0x04, DEF_STR( Off )) + PORT_DIPLOCATION("C:3") + PORT_DIPNAME(0x40, 0x00, "Enable Red-Dog") PORT_DIPSETTING( 0x00, DEF_STR( On )) - PORT_DIPLOCATION("DSW3:1") - PORT_DIPNAME(0x40, 0x00, "Enable Red-Dog") // must be off to enter service PORT_DIPSETTING( 0x40, DEF_STR( Off )) - PORT_DIPSETTING( 0x00, DEF_STR( On )) - PORT_DIPLOCATION("DSW3:7") + PORT_DIPLOCATION("C:7") INPUT_PORTS_END @@ -361,7 +342,7 @@ INPUT_PORTS_END // VIDEO EMULATION //************************************************************************** -void ltcasino_state::ltcasinn_palette(palette_device &palette) const +void ltcasino_state::ltcasin2_palette(palette_device &palette) const { for (int i = 0; i < 8; i++) { @@ -394,7 +375,7 @@ TILE_GET_INFO_MEMBER(ltcasino_state::ltcasino_tile_info) SET_TILE_INFO_MEMBER(0, code, 0, 0); } -TILE_GET_INFO_MEMBER(ltcasino_state::ltcasinn_tile_info) +TILE_GET_INFO_MEMBER(ltcasino_state::ltcasin2_tile_info) { uint16_t code = m_video_ram[tile_index]; // +1 on attribute offset otherwise glitches occurs on left side of objects? @@ -428,7 +409,7 @@ static GFXDECODE_START( gfx_ltcasino ) GFXDECODE_ENTRY("gfx1", 0, tiles8x8_layout, 0, 1) GFXDECODE_END -static GFXDECODE_START( gfx_ltcasinn ) +static GFXDECODE_START( gfx_ltcasin2 ) GFXDECODE_ENTRY("gfx1", 0, tiles8x8_layout, 0, 64) GFXDECODE_END @@ -450,12 +431,36 @@ void ltcasino_state::machine_start_ltcasino() m_lamps.resolve(); } -void ltcasino_state::machine_start_ltcasinn() +void ltcasino_state::machine_start_ltcasin2() { - m_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(ltcasino_state::ltcasinn_tile_info), this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32); + m_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(ltcasino_state::ltcasin2_tile_info), this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32); m_lamps.resolve(); } +READ8_MEMBER(ltcasino_state::input_s_r) +{ + uint8_t data = m_input_s->read() & 0xf1; + + // bit 1, 2 and 3 from input port Q bit 7, 5 and 6 + data |= BIT(m_input_q->read(), 7) << 1; + data |= BIT(m_input_q->read(), 5) << 2; + data |= BIT(m_input_q->read(), 6) << 3; + + return data; +} + +READ8_MEMBER(ltcasino_state::input_q_r) +{ + uint8_t data = m_input_q->read() & 0x1f; + + // bit 5, 6 and 7 from input port Q bit 2, 3 and 1 + data |= BIT(m_input_s->read(), 2) << 5; + data |= BIT(m_input_s->read(), 3) << 6; + data |= BIT(m_input_s->read(), 1) << 7; + + return data; +} + WRITE8_MEMBER(ltcasino_state::output_r_w) { // 7------- unknown (toggles rapidly) @@ -489,12 +494,14 @@ void ltcasino_state::ltcasino(machine_config &config) M6502(config, m_maincpu, 18_MHz_XTAL/16); // clock unknown m_maincpu->set_addrmap(AS_PROGRAM, <casino_state::main_map); + NVRAM(config, "nvram"); + PIA6821(config, m_pia[0], 0); - m_pia[0]->readpa_handler().set_ioport("Q"); + m_pia[0]->readpa_handler().set(FUNC(ltcasino_state::input_q_r)); m_pia[0]->writepb_handler().set(FUNC(ltcasino_state::output_r_w)); PIA6821(config, m_pia[1], 0); - m_pia[1]->readpa_handler().set_ioport("S"); + m_pia[1]->readpa_handler().set(FUNC(ltcasino_state::input_s_r)); m_pia[1]->writepb_handler().set(FUNC(ltcasino_state::output_t_w)); MCFG_MACHINE_START_OVERRIDE(ltcasino_state, ltcasino) @@ -525,21 +532,21 @@ void ltcasino_state::ltcasino(machine_config &config) m_ay->add_route(ALL_OUTPUTS, "mono", 0.4); } -void ltcasino_state::ltcasinn(machine_config &config) +void ltcasino_state::ltcasin2(machine_config &config) { ltcasino(config); - MCFG_MACHINE_START_OVERRIDE(ltcasino_state, ltcasinn) + MCFG_MACHINE_START_OVERRIDE(ltcasino_state, ltcasin2) config.device_remove("palette"); - PALETTE(config, "palette", FUNC(ltcasino_state::ltcasinn_palette), 128, 8); + PALETTE(config, "palette", FUNC(ltcasino_state::ltcasin2_palette), 128, 8); - m_gfxdecode->set_info(gfx_ltcasinn); + m_gfxdecode->set_info(gfx_ltcasin2); } void ltcasino_state::mv4in1(machine_config &config) { - ltcasinn(config); + ltcasin2(config); // different XTAL m_maincpu->set_clock(18.432_MHz_XTAL/16); @@ -553,10 +560,12 @@ void ltcasino_state::mv4in1(machine_config &config) // ROM DEFINITIONS //************************************************************************** +// Selection text: "SELECT GAME DESIRED!" +// Games: Black Jack, Draw Poker, Craps, Hi-Lo ROM_START( ltcasino ) ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "a", 0x8000, 0x1000, CRC(14909fee) SHA1(bf53fa65da7f013ea1ac6b4942cdfdb34ef16252) ) // Selection text: Select Game Desired! - ROM_LOAD( "b", 0x9800, 0x0800, CRC(1473f854) SHA1(eadaec1f6d653e61458bc262945c20140f4530eb) ) // Games: Black Jack, Draw Poker, Craps & Hi-Lo + ROM_LOAD( "a", 0x8000, 0x1000, CRC(14909fee) SHA1(bf53fa65da7f013ea1ac6b4942cdfdb34ef16252) ) + ROM_LOAD( "b", 0x9800, 0x0800, CRC(1473f854) SHA1(eadaec1f6d653e61458bc262945c20140f4530eb) ) ROM_LOAD( "c", 0xa800, 0x0800, CRC(7a07004b) SHA1(62bd0f3d12b7eada6fc271abea60569aca7262b0) ) ROM_LOAD( "d", 0xb800, 0x0800, CRC(5148cafc) SHA1(124039f48784bf032f612714db73fb67a216a1e7) ) ROM_LOAD( "e", 0xc800, 0x0800, CRC(5f9e103a) SHA1(b0e9ace4c3962c06e5250fac16a245dca711350f) ) @@ -566,10 +575,12 @@ ROM_START( ltcasino ) ROM_LOAD( "v", 0x0000, 0x0800, CRC(f1f75675) SHA1(8f3777e6b2a3f824f94b28669cac501ec02bbf36) ) ROM_END +// Selection text: "PLAY YOUR FAVORITES" +// Games: 21, Draw Poker, Dice, Red-Dog ROM_START( mv4in1 ) ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "g.ic13", 0x8000, 0x1000, CRC(ac33bd85) SHA1(fd555f70d0a7040473d35ec38e19185671a471ea) ) // Selection text: Play Your Favorites - ROM_LOAD( "f.ic14", 0x9000, 0x1000, CRC(f95c87d1) SHA1(df5ed53722ec55a97eabe10b0ed3f1ba32cbe55f) ) // Games: 21, Draw Poker, Dice & Red-Dog + ROM_LOAD( "g.ic13", 0x8000, 0x1000, CRC(ac33bd85) SHA1(fd555f70d0a7040473d35ec38e19185671a471ea) ) + ROM_LOAD( "f.ic14", 0x9000, 0x1000, CRC(f95c87d1) SHA1(df5ed53722ec55a97eabe10b0ed3f1ba32cbe55f) ) ROM_LOAD( "e.ic15", 0xa000, 0x1000, CRC(e525fcf2) SHA1(f1ec0c514e25ec4a1caf737ff8a962c81fb2706a) ) ROM_LOAD( "d.ic16", 0xb000, 0x1000, CRC(ab34673f) SHA1(520a173a342a27b5f9d995e6f53c3a2f0f359f9e) ) ROM_LOAD( "c.ic17", 0xc000, 0x1000, CRC(e384edf4) SHA1(99042528ce2b35191248d90162ca06a1a585667c) ) @@ -579,10 +590,13 @@ ROM_START( mv4in1 ) ROM_LOAD( "a.ic19", 0x0000, 0x1000, CRC(a25c125e) SHA1(e0ba83ccddbd82a2bf52585ae0accb9192cbb00e) ) ROM_END -ROM_START( ltcasin2 ) // board was marked version 18.1 (C)1984 +// Selection text: "PLEASE MAKE SELECTION!" +// Games: Black Jack, Draw Poker, Craps, Slots, Horse +// Board was marked version 18.1 (C)1984 +ROM_START( ltcasin2 ) ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "v18_10_ra.bin", 0x8000, 0x1000, CRC(f0c5cc96) SHA1(ec50918ba2a2487df70694f9e1a52d4b8d1bc7e2) ) // Selection text: Please Make Selection! - ROM_LOAD( "v18_10_rb.bin", 0x9000, 0x1000, CRC(2ece16e4) SHA1(ef6adc45be2ecc510cd8b2e9682635066013a5e4) ) // Games: Black Jack, Draw Poker, Craps, Slots & Horse + ROM_LOAD( "v18_10_ra.bin", 0x8000, 0x1000, CRC(f0c5cc96) SHA1(ec50918ba2a2487df70694f9e1a52d4b8d1bc7e2) ) + ROM_LOAD( "v18_10_rb.bin", 0x9000, 0x1000, CRC(2ece16e4) SHA1(ef6adc45be2ecc510cd8b2e9682635066013a5e4) ) ROM_LOAD( "v18_10_rc.bin", 0xa000, 0x1000, CRC(16bae5c9) SHA1(e5cb61d9dcae3c46c7139f3494d1bf981ec8821f) ) ROM_LOAD( "v18_10_rd.bin", 0xb000, 0x1000, CRC(d12f2d6b) SHA1(e3544bf6b778c21b704a01f1ed06d6517ca01604) ) ROM_LOAD( "v18_10_re.bin", 0xc000, 0x1000, CRC(2acdad10) SHA1(2732b791fea0a9d1c6e4c174739381466f2b0270) ) @@ -592,10 +606,12 @@ ROM_START( ltcasin2 ) // board was marked version 18.1 (C)1984 ROM_LOAD( "v18_10_rv.bin", 0x0000, 0x1000, CRC(7209898d) SHA1(94bd7e8c3a544429af721e9564c11cc56d7805be) ) ROM_END +// Selection text: "PLEASE PICK YOUR POISON!" +// Games: Black Jack, Draw Poker, Craps, Hi-Lo, Horse ROM_START( ltcasin2a ) ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "v17_00_ra.bin", 0x8000, 0x1000, CRC(1a595442) SHA1(b8fe3e5ed2024a57187c0ce547c1bbef2429ed63) ) // Selection text: Please Pick Your Poison! - ROM_LOAD( "v17_00_rb.bin", 0x9000, 0x1000, CRC(4f5502c1) SHA1(cd1b7c08d26fed71c45e44ebd208bd18dc262e8f) ) // Games: Black Jack, Draw Poker, Craps, Hi-Lo & Horse + ROM_LOAD( "v17_00_ra.bin", 0x8000, 0x1000, CRC(1a595442) SHA1(b8fe3e5ed2024a57187c0ce547c1bbef2429ed63) ) + ROM_LOAD( "v17_00_rb.bin", 0x9000, 0x1000, CRC(4f5502c1) SHA1(cd1b7c08d26fed71c45e44ebd208bd18dc262e8f) ) ROM_LOAD( "v17_00_rc.bin", 0xa000, 0x1000, CRC(990283b8) SHA1(8a3fe5be8381894b8e8dd14c7d42190e60a25600) ) ROM_LOAD( "v17_00_rd.bin", 0xb000, 0x1000, CRC(884f39dc) SHA1(fe149faf118279205e82760c5052cefb88a2f5be) ) ROM_LOAD( "v17_00_re.bin", 0xc000, 0x1000, CRC(fae38204) SHA1(e5908734cee0a89d873ab3761ded285f8ae138d3) ) @@ -612,6 +628,6 @@ ROM_END // YEAR NAME PARENT MACHINE INPUT CLASS INIT ROTATION COMPANY FULLNAME FLAGS GAMEL( 1982, ltcasino, 0, ltcasino, ltcasino, ltcasino_state, empty_init, ROT0, "Digital Controls Inc.", "Little Casino", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK, layout_ltcasino ) -GAMEL( 1983, mv4in1, ltcasino, mv4in1, mv4in1, ltcasino_state, init_mv4in1, ROT0, "Entertainment Enterprises, Ltd.", "Mini Vegas 4in1", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK, layout_ltcasinn ) -GAMEL( 1984, ltcasin2, 0, ltcasinn, ltcasinn, ltcasino_state, empty_init, ROT0, "Digital Controls Inc.", "Little Casino II v18.1", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK, layout_ltcasinn ) -GAMEL( 1984, ltcasin2a, ltcasin2, ltcasinn, ltcasinna, ltcasino_state, empty_init, ROT0, "Digital Controls Inc.", "Little Casino II v17.0", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK, layout_ltcasinn ) +GAMEL( 1983, mv4in1, 0, mv4in1, mv4in1, ltcasino_state, init_mv4in1, ROT0, "Entertainment Enterprises, Ltd.", "Mini Vegas 4in1", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK, layout_ltcasinn ) +GAMEL( 1984, ltcasin2, 0, ltcasin2, ltcasin2, ltcasino_state, empty_init, ROT0, "Digital Controls Inc.", "Little Casino II v18.1", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK, layout_ltcasinn ) +GAMEL( 1984, ltcasin2a, ltcasin2, ltcasin2, ltcasin2a, ltcasino_state, empty_init, ROT0, "Digital Controls Inc.", "Little Casino II v17.0", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK, layout_ltcasinn )