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.
This commit is contained in:
Dirk Best 2019-04-02 01:18:04 +02:00
parent a3a802ac0a
commit 9d85fe1188

View File

@ -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, thats why its 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<uint8_t> m_video_ram;
required_shared_ptr<uint8_t> m_attribute_ram;
required_device<gfxdecode_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, &ltcasino_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 )