This commit is contained in:
Michaël Banaan Ananas 2012-05-24 02:38:22 +00:00
parent 7b8364ff5a
commit ca3e6f2bc4

View File

@ -37,6 +37,8 @@ public:
m_cram(*this, "cram") m_cram(*this, "cram")
{ {
m_soundlatch = 0; m_soundlatch = 0;
m_bank = 0;
m_layer = 0;
} }
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
@ -59,6 +61,12 @@ public:
}; };
/***************************************************************************
Video
***************************************************************************/
PALETTE_INIT( flipjack ) PALETTE_INIT( flipjack )
{ {
// from prom // from prom
@ -125,7 +133,7 @@ static SCREEN_UPDATE_RGB32( flipjack )
int tile = state->m_bank << 8 | state->m_vram[x+y*0x100]; int tile = state->m_bank << 8 | state->m_vram[x+y*0x100];
int color = state->m_cram[x+y*0x100] & 0x3f; int color = state->m_cram[x+y*0x100] & 0x3f;
drawgfx_transpen(bitmap,cliprect,gfx,tile,color,0,0,x*8,(y*8),0); drawgfx_transpen(bitmap, cliprect, gfx, tile, color, 0, 0, x*8, y*8, 0);
} }
} }
@ -162,16 +170,12 @@ static SCREEN_UPDATE_RGB32( flipjack )
return 0; return 0;
} }
WRITE8_MEMBER(flipjack_state::flipjack_sound_nmi_ack_w)
{
device_set_input_line(m_audiocpu, INPUT_LINE_NMI, CLEAR_LINE);
}
WRITE8_MEMBER(flipjack_state::flipjack_soundlatch_w) /***************************************************************************
{
m_soundlatch = data; I/O
device_set_input_line(m_audiocpu, 0, ASSERT_LINE);
} ***************************************************************************/
WRITE8_MEMBER(flipjack_state::flipjack_bank_w) WRITE8_MEMBER(flipjack_state::flipjack_bank_w)
{ {
@ -183,7 +187,6 @@ WRITE8_MEMBER(flipjack_state::flipjack_bank_w)
membank("bank1")->set_entry(data >> 2 & 1); membank("bank1")->set_entry(data >> 2 & 1);
} }
WRITE8_MEMBER(flipjack_state::flipjack_layer_w) WRITE8_MEMBER(flipjack_state::flipjack_layer_w)
{ {
// d0: flip screen // d0: flip screen
@ -201,13 +204,22 @@ static READ8_DEVICE_HANDLER( flipjack_soundlatch_r )
return state->m_soundlatch; return state->m_soundlatch;
} }
WRITE8_MEMBER(flipjack_state::flipjack_soundlatch_w)
{
m_soundlatch = data;
device_set_input_line(m_audiocpu, 0, ASSERT_LINE);
}
WRITE8_MEMBER(flipjack_state::flipjack_sound_nmi_ack_w)
{
device_set_input_line(m_audiocpu, INPUT_LINE_NMI, CLEAR_LINE);
}
static WRITE8_DEVICE_HANDLER( flipjack_portc_w ) static WRITE8_DEVICE_HANDLER( flipjack_portc_w )
{ {
// watchdog? // watchdog?
} }
INPUT_CHANGED_MEMBER(flipjack_state::flipjack_coin) INPUT_CHANGED_MEMBER(flipjack_state::flipjack_coin)
{ {
if (newval) if (newval)
@ -215,6 +227,7 @@ INPUT_CHANGED_MEMBER(flipjack_state::flipjack_coin)
} }
static ADDRESS_MAP_START( flipjack_main_map, AS_PROGRAM, 8, flipjack_state ) static ADDRESS_MAP_START( flipjack_main_map, AS_PROGRAM, 8, flipjack_state )
AM_RANGE(0x0000, 0x1fff) AM_ROM AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("bank1") AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("bank1")
@ -252,6 +265,12 @@ static ADDRESS_MAP_START( flipjack_sound_io_map, AS_IO, 8, flipjack_state )
ADDRESS_MAP_END ADDRESS_MAP_END
/***************************************************************************
Inputs
***************************************************************************/
static INPUT_PORTS_START( flipjack ) static INPUT_PORTS_START( flipjack )
PORT_START("COIN") PORT_START("COIN")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, flipjack_state, flipjack_coin, 0) // where in P1/P2/P3 is it mapped? PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, flipjack_state, flipjack_coin, 0) // where in P1/P2/P3 is it mapped?
@ -306,6 +325,12 @@ static INPUT_PORTS_START( flipjack )
INPUT_PORTS_END INPUT_PORTS_END
/***************************************************************************
Machine Config
***************************************************************************/
static I8255A_INTERFACE( ppi8255_intf ) static I8255A_INTERFACE( ppi8255_intf )
{ {
DEVCB_INPUT_PORT("P1"), /* Port A read */ DEVCB_INPUT_PORT("P1"), /* Port A read */
@ -353,7 +378,6 @@ static MC6845_INTERFACE( mc6845_intf )
static const gfx_layout tilelayout = static const gfx_layout tilelayout =
{ {
8, 8, 8, 8,
@ -365,14 +389,12 @@ static const gfx_layout tilelayout =
8*8 8*8
}; };
static GFXDECODE_START( flipjack ) static GFXDECODE_START( flipjack )
GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 64 ) GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 64 )
GFXDECODE_END GFXDECODE_END
static MACHINE_START( flipjack ) static MACHINE_START( flipjack )
{ {
flipjack_state *state = machine.driver_data<flipjack_state>(); flipjack_state *state = machine.driver_data<flipjack_state>();
@ -407,16 +429,16 @@ static MACHINE_CONFIG_START( flipjack, flipjack_state )
MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(VIDEO_CLOCK, 0x188, 0, 0x100, 0x100, 0, 0xc0) // from crtc MCFG_SCREEN_RAW_PARAMS(VIDEO_CLOCK, 0x188, 0, 0x100, 0x100, 0, 0xc0) // from crtc
MCFG_MC6845_ADD("crtc", HD6845, VIDEO_CLOCK/8, mc6845_intf)
MCFG_GFXDECODE(flipjack)
MCFG_PALETTE_LENGTH(128+8) MCFG_PALETTE_LENGTH(128+8)
MCFG_PALETTE_INIT(flipjack) MCFG_PALETTE_INIT(flipjack)
MCFG_SCREEN_UPDATE_STATIC(flipjack) MCFG_SCREEN_UPDATE_STATIC(flipjack)
MCFG_GFXDECODE(flipjack) /* sound hardware */
MCFG_MC6845_ADD("crtc", HD6845, VIDEO_CLOCK/8, mc6845_intf)
MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ay1", AY8910, MASTER_CLOCK/8) MCFG_SOUND_ADD("ay1", AY8910, MASTER_CLOCK/8)
@ -428,6 +450,7 @@ static MACHINE_CONFIG_START( flipjack, flipjack_state )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END MACHINE_CONFIG_END
ROM_START( flipjack ) ROM_START( flipjack )
ROM_REGION( 0x14000, "maincpu", 0 ) ROM_REGION( 0x14000, "maincpu", 0 )
ROM_LOAD( "3.d5", 0x0000, 0x2000, CRC(123bd992) SHA1(d845e2b9af5b81d950e5edf35201f1dd1c4af651) ) ROM_LOAD( "3.d5", 0x0000, 0x2000, CRC(123bd992) SHA1(d845e2b9af5b81d950e5edf35201f1dd1c4af651) )
@ -451,6 +474,4 @@ ROM_START( flipjack )
ROM_END ROM_END
GAME( 198?, flipjack, 0, flipjack, flipjack, 0, ROT90, "Jackson Co., Ltd.", "Flipper Jack", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE ) GAME( 198?, flipjack, 0, flipjack, flipjack, 0, ROT90, "Jackson Co., Ltd.", "Flipper Jack", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )