mirror of
https://github.com/holub/mame
synced 2025-10-08 09:30:17 +03:00
poker72: boots up. By adjusting SW1 you can get various test screens and cards.
This commit is contained in:
parent
de8cee11fb
commit
790877f11e
@ -1,16 +1,22 @@
|
|||||||
// license:BSD-3-Clause
|
// license:BSD-3-Clause
|
||||||
// copyright-holders:David Haywood
|
// copyright-holders:David Haywood, Robbbert
|
||||||
/*
|
/************************************************************************************************
|
||||||
Unknown game, dump was marked 'slot 72 - poker'
|
Poker Monarch
|
||||||
|
|
||||||
GFX roms contain
|
GFX roms contain
|
||||||
'Extrema Systems International Ltd'
|
'Extrema Systems International Ltd'
|
||||||
as well as a logo for the company.
|
as well as a logo for the company.
|
||||||
|
|
||||||
There are also 'Lucky Boy' graphics in various places, which might be the title.
|
There are also 'Lucky Boy' graphics in various places.
|
||||||
|
|
||||||
|
* Turn on all the dips of SW1
|
||||||
|
* Restart game
|
||||||
|
* If it says ERROR OF RAM GAME STOP, press F2
|
||||||
|
* When you get a blank blue screen Press Alt+2
|
||||||
|
* This gives a setup screen. Press F2 to see cards and logo (and it beeps)
|
||||||
|
* Depending on settings of SW1, you can get other cards, or other test screens.
|
||||||
|
|
||||||
*/
|
*************************************************************************************************/
|
||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "cpu/z80/z80.h"
|
#include "cpu/z80/z80.h"
|
||||||
@ -89,17 +95,15 @@ WRITE8_MEMBER(poker72_state::poker72_paletteram_w)
|
|||||||
|
|
||||||
WRITE8_MEMBER(poker72_state::output_w)
|
WRITE8_MEMBER(poker72_state::output_w)
|
||||||
{
|
{
|
||||||
UINT8 *ROM = memregion("maincpu")->base();
|
|
||||||
|
|
||||||
printf("%02x\n",data);
|
printf("%02x\n",data);
|
||||||
|
|
||||||
/* if((data & 0xc) == 0xc)
|
/* if((data & 0xc) == 0xc)
|
||||||
membank("bank1")->set_base(&ROM[0x10000]);
|
membank("bank1")->set_entry(2);
|
||||||
else*/
|
else*/
|
||||||
if(data & 8)
|
if(data & 8)
|
||||||
membank("bank1")->set_base(&ROM[0x08000]);
|
membank("bank1")->set_entry(1);
|
||||||
else
|
else
|
||||||
membank("bank1")->set_base(&ROM[0x00000]);
|
membank("bank1")->set_entry(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(poker72_state::tile_bank_w)
|
WRITE8_MEMBER(poker72_state::tile_bank_w)
|
||||||
@ -108,17 +112,17 @@ WRITE8_MEMBER(poker72_state::tile_bank_w)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static ADDRESS_MAP_START( poker72_map, AS_PROGRAM, 8, poker72_state )
|
static ADDRESS_MAP_START( poker72_map, AS_PROGRAM, 8, poker72_state )
|
||||||
AM_RANGE(0x0000, 0xbfff) AM_ROMBANK("bank1")
|
AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank1")
|
||||||
AM_RANGE(0xc000, 0xdfff) AM_RAM //work ram
|
AM_RANGE(0xc000, 0xdfff) AM_RAM //work ram
|
||||||
AM_RANGE(0xe000, 0xefff) AM_RAM AM_SHARE("vram")
|
AM_RANGE(0xe000, 0xefff) AM_RAM AM_SHARE("vram")
|
||||||
AM_RANGE(0xf000, 0xfbff) AM_RAM_WRITE(poker72_paletteram_w) AM_SHARE("pal")
|
AM_RANGE(0xf000, 0xfbff) AM_RAM_WRITE(poker72_paletteram_w) AM_SHARE("pal")
|
||||||
AM_RANGE(0xfc00, 0xfdff) AM_RAM //???
|
AM_RANGE(0xfc00, 0xfdff) AM_RAM //???
|
||||||
AM_RANGE(0xfe08, 0xfe08) AM_READ_PORT("IN0")
|
AM_RANGE(0xfe08, 0xfe08) AM_READ_PORT("SW1")
|
||||||
AM_RANGE(0xfe09, 0xfe09) AM_READ_PORT("IN1")
|
AM_RANGE(0xfe09, 0xfe09) AM_READ_PORT("IN1")
|
||||||
AM_RANGE(0xfe0a, 0xfe0a) AM_READ_PORT("IN2")
|
AM_RANGE(0xfe0a, 0xfe0a) AM_READ_PORT("IN2")
|
||||||
AM_RANGE(0xfe0c, 0xfe0c) AM_READ_PORT("IN3")
|
AM_RANGE(0xfe0c, 0xfe0c) AM_READ_PORT("SW4")
|
||||||
AM_RANGE(0xfe0d, 0xfe0d) AM_READ_PORT("IN4")
|
AM_RANGE(0xfe0d, 0xfe0d) AM_READ_PORT("SW5")
|
||||||
AM_RANGE(0xfe0e, 0xfe0e) AM_READ_PORT("IN5")
|
AM_RANGE(0xfe0e, 0xfe0e) AM_READ_PORT("SW6")
|
||||||
|
|
||||||
AM_RANGE(0xfe17, 0xfe17) AM_READNOP //irq ack
|
AM_RANGE(0xfe17, 0xfe17) AM_READNOP //irq ack
|
||||||
AM_RANGE(0xfe20, 0xfe20) AM_WRITE(output_w) //output, irq enable?
|
AM_RANGE(0xfe20, 0xfe20) AM_WRITE(output_w) //output, irq enable?
|
||||||
@ -142,8 +146,8 @@ ADDRESS_MAP_END
|
|||||||
|
|
||||||
|
|
||||||
static INPUT_PORTS_START( poker72 )
|
static INPUT_PORTS_START( poker72 )
|
||||||
PORT_START("IN0")
|
PORT_START("SW1")
|
||||||
PORT_DIPNAME( 0x01, 0x00, "IN0" )
|
PORT_DIPNAME( 0x01, 0x00, "SW1" )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
||||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
|
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
|
||||||
@ -169,28 +173,28 @@ static INPUT_PORTS_START( poker72 )
|
|||||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||||
|
|
||||||
PORT_START("IN1")
|
PORT_START("IN1")
|
||||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_POKER_HOLD1 )
|
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_POKER_HOLD1 ) // Z
|
||||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_POKER_HOLD2 )
|
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_POKER_HOLD2 ) // X
|
||||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_POKER_HOLD3 )
|
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_POKER_HOLD3 ) // C
|
||||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_POKER_HOLD4 )
|
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_POKER_HOLD4 ) // V
|
||||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_POKER_HOLD5 )
|
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_POKER_HOLD5 ) // B
|
||||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("M. Bet")
|
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("M. Bet")
|
||||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_COIN1 )
|
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_COIN1 )
|
||||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Black")
|
PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Black")
|
||||||
|
|
||||||
|
|
||||||
PORT_START("IN2")
|
PORT_START("IN2")
|
||||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Red")
|
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Red")
|
||||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP )
|
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_GAMBLE_D_UP )
|
||||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE )
|
PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_GAMBLE_TAKE )
|
||||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL )
|
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_GAMBLE_DEAL ) // '2'
|
||||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_GAMBLE_BET )
|
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_GAMBLE_BET ) // M
|
||||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_COIN2 )
|
PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_COIN2 )
|
||||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_SERVICE1 ) // '9'
|
||||||
PORT_SERVICE( 0x0080, IP_ACTIVE_LOW )
|
PORT_SERVICE( 0x0080, IP_ACTIVE_HIGH ) // F2
|
||||||
|
|
||||||
PORT_START("IN3")
|
PORT_START("SW4")
|
||||||
PORT_DIPNAME( 0x01, 0x00, "IN3" )
|
PORT_DIPNAME( 0x01, 0x00, "SW4" )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
||||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
|
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
|
||||||
@ -214,8 +218,8 @@ static INPUT_PORTS_START( poker72 )
|
|||||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
|
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||||
PORT_START("IN4")
|
PORT_START("SW5")
|
||||||
PORT_DIPNAME( 0x01, 0x00, "IN4" )
|
PORT_DIPNAME( 0x01, 0x00, "SW5" )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
||||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
|
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
|
||||||
@ -239,8 +243,8 @@ static INPUT_PORTS_START( poker72 )
|
|||||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
|
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||||
PORT_START("IN5")
|
PORT_START("SW6")
|
||||||
PORT_DIPNAME( 0x01, 0x00, "IN5" )
|
PORT_DIPNAME( 0x01, 0x00, "SW6" )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
||||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
|
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
|
||||||
@ -266,8 +270,8 @@ static INPUT_PORTS_START( poker72 )
|
|||||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||||
|
|
||||||
|
|
||||||
PORT_START("DSW0")
|
PORT_START("SW2")
|
||||||
PORT_DIPNAME( 0x01, 0x00, "DSW0" )
|
PORT_DIPNAME( 0x01, 0x00, "SW2" )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
||||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
|
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
|
||||||
@ -292,8 +296,8 @@ static INPUT_PORTS_START( poker72 )
|
|||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||||
|
|
||||||
PORT_START("DSW1")
|
PORT_START("SW3")
|
||||||
PORT_DIPNAME( 0x01, 0x00, "DSW1" )
|
PORT_DIPNAME( 0x01, 0x00, "SW3" )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
||||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
|
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
|
||||||
@ -354,9 +358,7 @@ PALETTE_INIT_MEMBER(poker72_state, poker72)
|
|||||||
|
|
||||||
void poker72_state::machine_reset()
|
void poker72_state::machine_reset()
|
||||||
{
|
{
|
||||||
UINT8 *ROM = memregion("maincpu")->base();
|
membank("bank1")->set_entry(0);
|
||||||
|
|
||||||
membank("bank1")->set_base(&ROM[0]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static MACHINE_CONFIG_START( poker72, poker72_state )
|
static MACHINE_CONFIG_START( poker72, poker72_state )
|
||||||
@ -384,15 +386,15 @@ static MACHINE_CONFIG_START( poker72, poker72_state )
|
|||||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||||
|
|
||||||
MCFG_SOUND_ADD("ay", AY8910, 8000000/8) /* ? Mhz */
|
MCFG_SOUND_ADD("ay", AY8910, 8000000/8) /* ? Mhz */
|
||||||
MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW0"))
|
MCFG_AY8910_PORT_A_READ_CB(IOPORT("SW2"))
|
||||||
MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW1"))
|
MCFG_AY8910_PORT_B_READ_CB(IOPORT("SW3"))
|
||||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ROM_START( poker72 )
|
ROM_START( poker72 )
|
||||||
ROM_REGION( 0x20000, "maincpu", 0 )
|
ROM_REGION( 0x20000, "roms", 0 )
|
||||||
ROM_LOAD( "27010.bin", 0x00000, 0x20000, CRC(62447341) SHA1(e442c1f834a5dd2ab6ab3bdd316dfa86f2ca6647) )
|
ROM_LOAD( "27010.bin", 0x00000, 0x20000, CRC(62447341) SHA1(e442c1f834a5dd2ab6ab3bdd316dfa86f2ca6647) )
|
||||||
|
|
||||||
ROM_REGION( 0x1000, "89c51", 0 )
|
ROM_REGION( 0x1000, "89c51", 0 )
|
||||||
@ -407,9 +409,14 @@ ROM_END
|
|||||||
|
|
||||||
DRIVER_INIT_MEMBER(poker72_state,poker72)
|
DRIVER_INIT_MEMBER(poker72_state,poker72)
|
||||||
{
|
{
|
||||||
UINT8 *rom = memregion("maincpu")->base();
|
UINT8 *rom = memregion("roms")->base();
|
||||||
|
|
||||||
rom[0x4a9] = 0x28;
|
// configure and intialize bank 1
|
||||||
|
membank("bank1")->configure_entries(0, 4, memregion("roms")->base(), 0x8000);
|
||||||
|
membank("bank1")->set_entry(0);
|
||||||
|
|
||||||
|
//rom[0x4a9] = 0x28;
|
||||||
|
rom[0x4aa] = 0x00;
|
||||||
}
|
}
|
||||||
|
|
||||||
GAME( 1995, poker72, 0, poker72, poker72, poker72_state, poker72, ROT0, "Extrema Systems International Ltd.", "Poker Monarch (v2.50)", MACHINE_NOT_WORKING ) // actually unknown, was marked 'slot 72 poker' Manufacturers logo and 'Lucky Boy' gfx in rom..
|
GAME( 1995, poker72, 0, poker72, poker72, poker72_state, poker72, ROT0, "Extrema Systems International Ltd.", "Poker Monarch (v2.50)", MACHINE_NOT_WORKING )
|
||||||
|
Loading…
Reference in New Issue
Block a user