mirror of
https://github.com/holub/mame
synced 2025-05-23 14:19:01 +03:00
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:
parent
a3a802ac0a
commit
9d85fe1188
@ -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<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, <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 )
|
||||
|
Loading…
Reference in New Issue
Block a user