the multi-screen taito games now use multiple palettes (nw)

This commit is contained in:
David Haywood 2014-02-28 16:55:41 +00:00
parent d571db2a30
commit d59eb782b3
8 changed files with 63 additions and 83 deletions

View File

@ -813,10 +813,6 @@ static const pc090oj_interface bonzeadv_pc090oj_intf =
0, 0, 8, 0
};
static const tc0110pcr_interface asuka_tc0110pcr_intf =
{
0
};
void asuka_state::machine_start()
@ -902,7 +898,7 @@ static MACHINE_CONFIG_START( bonzeadv, asuka_state )
MCFG_PC090OJ_PALETTE("palette")
MCFG_TC0100SCN_ADD("tc0100scn", asuka_tc0100scn_intf)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", asuka_tc0110pcr_intf)
MCFG_TC0110PCR_ADD("tc0110pcr")
MCFG_TC0110PCR_PALETTE("palette")
/* sound hardware */
@ -949,7 +945,7 @@ static MACHINE_CONFIG_START( asuka, asuka_state )
MCFG_PC090OJ_PALETTE("palette")
MCFG_TC0100SCN_ADD("tc0100scn", asuka_tc0100scn_intf)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", asuka_tc0110pcr_intf)
MCFG_TC0110PCR_ADD("tc0110pcr")
MCFG_TC0110PCR_PALETTE("palette")
/* sound hardware */
@ -1004,7 +1000,7 @@ static MACHINE_CONFIG_START( cadash, asuka_state )
MCFG_PC090OJ_PALETTE("palette")
MCFG_TC0100SCN_ADD("tc0100scn", cadash_tc0100scn_intf)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", asuka_tc0110pcr_intf)
MCFG_TC0110PCR_ADD("tc0110pcr")
MCFG_TC0110PCR_PALETTE("palette")
/* sound hardware */
@ -1051,7 +1047,7 @@ static MACHINE_CONFIG_START( mofflott, asuka_state )
MCFG_PC090OJ_PALETTE("palette")
MCFG_TC0100SCN_ADD("tc0100scn", cadash_tc0100scn_intf)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", asuka_tc0110pcr_intf)
MCFG_TC0110PCR_ADD("tc0110pcr")
MCFG_TC0110PCR_PALETTE("palette")
/* sound hardware */
@ -1102,7 +1098,7 @@ static MACHINE_CONFIG_START( galmedes, asuka_state )
MCFG_PC090OJ_PALETTE("palette")
MCFG_TC0100SCN_ADD("tc0100scn", cadash_tc0100scn_intf)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", asuka_tc0110pcr_intf)
MCFG_TC0110PCR_ADD("tc0110pcr")
MCFG_TC0110PCR_PALETTE("palette")
/* sound hardware */
@ -1149,7 +1145,7 @@ static MACHINE_CONFIG_START( eto, asuka_state )
MCFG_PC090OJ_PALETTE("palette")
MCFG_TC0100SCN_ADD("tc0100scn", cadash_tc0100scn_intf)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", asuka_tc0110pcr_intf)
MCFG_TC0110PCR_ADD("tc0110pcr")
MCFG_TC0110PCR_PALETTE("palette")
/* sound hardware */

View File

@ -751,10 +751,6 @@ static const tc0100scn_interface darius2_tc0100scn_intf_r =
4, 1
};
static const tc0110pcr_interface darius2_tc0110pcr_intf_l = { 0 /* pal_offs / 0x1000 */ };
static const tc0110pcr_interface darius2_tc0110pcr_intf_m = { 1 /* pal_offs / 0x1000 */ };
static const tc0110pcr_interface darius2_tc0110pcr_intf_r = { 2 /* pal_offs / 0x1000 */ };
static const tc0220ioc_interface ninjaw_io_intf =
{
DEVCB_INPUT_PORT("DSWA"), DEVCB_INPUT_PORT("DSWB"),
@ -814,7 +810,10 @@ static MACHINE_CONFIG_START( ninjaw, ninjaw_state )
/* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", ninjaw)
MCFG_PALETTE_ADD("palette", 4096*3)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_ADD("palette2", 4096)
MCFG_PALETTE_ADD("palette3", 4096)
MCFG_DEFAULT_LAYOUT(layout_darius)
MCFG_SCREEN_ADD("lscreen", RASTER)
@ -823,6 +822,7 @@ static MACHINE_CONFIG_START( ninjaw, ninjaw_state )
MCFG_SCREEN_SIZE(36*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 3*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ninjaw_state, screen_update_ninjaw_left)
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_ADD("mscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@ -830,6 +830,7 @@ static MACHINE_CONFIG_START( ninjaw, ninjaw_state )
MCFG_SCREEN_SIZE(36*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 3*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ninjaw_state, screen_update_ninjaw_middle)
MCFG_SCREEN_PALETTE("palette2")
MCFG_SCREEN_ADD("rscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@ -837,7 +838,7 @@ static MACHINE_CONFIG_START( ninjaw, ninjaw_state )
MCFG_SCREEN_SIZE(36*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 3*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ninjaw_state, screen_update_ninjaw_right)
MCFG_SCREEN_PALETTE("palette3")
MCFG_TC0100SCN_ADD("tc0100scn_1", darius2_tc0100scn_intf_l)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
@ -845,12 +846,12 @@ static MACHINE_CONFIG_START( ninjaw, ninjaw_state )
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0100SCN_ADD("tc0100scn_3", darius2_tc0100scn_intf_r)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr_1", darius2_tc0110pcr_intf_l)
MCFG_TC0110PCR_PALETTE("palette")
MCFG_TC0110PCR_ADD("tc0110pcr_2", darius2_tc0110pcr_intf_m)
MCFG_TC0110PCR_PALETTE("palette")
MCFG_TC0110PCR_ADD("tc0110pcr_3", darius2_tc0110pcr_intf_r)
MCFG_TC0110PCR_ADD("tc0110pcr_1")
MCFG_TC0110PCR_PALETTE("palette")
MCFG_TC0110PCR_ADD("tc0110pcr_2")
MCFG_TC0110PCR_PALETTE("palette2")
MCFG_TC0110PCR_ADD("tc0110pcr_3")
MCFG_TC0110PCR_PALETTE("palette3")
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@ -900,7 +901,10 @@ static MACHINE_CONFIG_START( darius2, ninjaw_state )
/* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", ninjaw)
MCFG_PALETTE_ADD("palette", 4096*3)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_ADD("palette2", 4096)
MCFG_PALETTE_ADD("palette3", 4096)
MCFG_DEFAULT_LAYOUT(layout_darius)
MCFG_SCREEN_ADD("lscreen", RASTER)
@ -909,6 +913,7 @@ static MACHINE_CONFIG_START( darius2, ninjaw_state )
MCFG_SCREEN_SIZE(36*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 3*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ninjaw_state, screen_update_ninjaw_left)
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_ADD("mscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@ -916,6 +921,7 @@ static MACHINE_CONFIG_START( darius2, ninjaw_state )
MCFG_SCREEN_SIZE(36*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 3*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ninjaw_state, screen_update_ninjaw_middle)
MCFG_SCREEN_PALETTE("palette2")
MCFG_SCREEN_ADD("rscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@ -923,7 +929,7 @@ static MACHINE_CONFIG_START( darius2, ninjaw_state )
MCFG_SCREEN_SIZE(36*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 3*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ninjaw_state, screen_update_ninjaw_right)
MCFG_SCREEN_PALETTE("palette3")
MCFG_TC0100SCN_ADD("tc0100scn_1", darius2_tc0100scn_intf_l)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
@ -931,12 +937,12 @@ static MACHINE_CONFIG_START( darius2, ninjaw_state )
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0100SCN_ADD("tc0100scn_3", darius2_tc0100scn_intf_r)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr_1", darius2_tc0110pcr_intf_l)
MCFG_TC0110PCR_PALETTE("palette")
MCFG_TC0110PCR_ADD("tc0110pcr_2", darius2_tc0110pcr_intf_m)
MCFG_TC0110PCR_PALETTE("palette")
MCFG_TC0110PCR_ADD("tc0110pcr_3", darius2_tc0110pcr_intf_r)
MCFG_TC0110PCR_ADD("tc0110pcr_1")
MCFG_TC0110PCR_PALETTE("palette")
MCFG_TC0110PCR_ADD("tc0110pcr_2")
MCFG_TC0110PCR_PALETTE("palette2")
MCFG_TC0110PCR_ADD("tc0110pcr_3")
MCFG_TC0110PCR_PALETTE("palette3")
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")

View File

@ -632,10 +632,7 @@ static const tc0100scn_interface othunder_tc0100scn_intf =
0, 0
};
static const tc0110pcr_interface othunder_tc0110pcr_intf =
{
0
};
static const tc0220ioc_interface othunder_io_intf =
{
@ -696,7 +693,7 @@ static MACHINE_CONFIG_START( othunder, othunder_state )
MCFG_TC0100SCN_ADD("tc0100scn", othunder_tc0100scn_intf)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", othunder_tc0110pcr_intf)
MCFG_TC0110PCR_ADD("tc0110pcr")
MCFG_TC0110PCR_PALETTE("palette")
/* sound hardware */

View File

@ -2975,7 +2975,6 @@ static const tc0480scp_interface metalb_tc0480scp_intf =
256 /* col_base */
};
static const tc0110pcr_interface taitof2_tc0110pcr_intf = { 0 };
static const tc0280grd_interface taitof2_tc0280grd_intf = { 2 };
static const tc0280grd_interface taitof2_tc0430grw_intf = { 2 };
@ -3078,7 +3077,7 @@ static MACHINE_CONFIG_DERIVED( finalb, taito_f2_tc0220ioc )
MCFG_TC0100SCN_ADD("tc0100scn", finalb_tc0100scn_intf)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", taitof2_tc0110pcr_intf)
MCFG_TC0110PCR_ADD("tc0110pcr")
MCFG_TC0110PCR_PALETTE("palette")
MACHINE_CONFIG_END
@ -3175,7 +3174,7 @@ static MACHINE_CONFIG_DERIVED( qtorimon, taito_f2_tc0220ioc )
MCFG_TC0100SCN_ADD("tc0100scn", taitof2_tc0100scn_intf)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", taitof2_tc0110pcr_intf)
MCFG_TC0110PCR_ADD("tc0110pcr")
MCFG_TC0110PCR_PALETTE("palette")
MACHINE_CONFIG_END
@ -3211,7 +3210,7 @@ static MACHINE_CONFIG_DERIVED( quizhq, taito_f2 )
MCFG_TC0100SCN_ADD("tc0100scn", taitof2_tc0100scn_intf)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", taitof2_tc0110pcr_intf)
MCFG_TC0110PCR_ADD("tc0110pcr")
MCFG_TC0110PCR_PALETTE("palette")
MACHINE_CONFIG_END
@ -3279,7 +3278,7 @@ static MACHINE_CONFIG_DERIVED( mjnquest, taito_f2 )
MCFG_TC0100SCN_ADD("tc0100scn", taitof2_tc0100scn_intf)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", taitof2_tc0110pcr_intf)
MCFG_TC0110PCR_ADD("tc0110pcr")
MCFG_TC0110PCR_PALETTE("palette")
MACHINE_CONFIG_END

View File

@ -2993,7 +2993,6 @@ static const tc0480scp_interface taitoz_tc0480scp_intf =
0 /* col_base */
};
static const tc0110pcr_interface taitoz_tc0110pcr_intf = { 0 };
static const tc0150rod_interface taitoz_tc0150rod_intf = { "gfx3" };
@ -3093,7 +3092,7 @@ static MACHINE_CONFIG_START( contcirc, taitoz_state )
MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
MCFG_TC0110PCR_ADD("tc0110pcr")
MCFG_TC0110PCR_PALETTE("palette")
/* sound hardware */
@ -3158,7 +3157,7 @@ static MACHINE_CONFIG_START( chasehq, taitoz_state )
MCFG_TC0100SCN_ADD("tc0100scn", chasehq_tc0100scn_intf)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
MCFG_TC0110PCR_ADD("tc0110pcr")
MCFG_TC0110PCR_PALETTE("palette")
/* sound hardware */
@ -3225,7 +3224,7 @@ static MACHINE_CONFIG_START( enforce, taitoz_state )
MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
MCFG_TC0110PCR_ADD("tc0110pcr")
MCFG_TC0110PCR_PALETTE("palette")
/* sound hardware */
@ -3425,7 +3424,7 @@ static MACHINE_CONFIG_START( nightstr, taitoz_state )
MCFG_TC0100SCN_ADD("tc0100scn", chasehq_tc0100scn_intf)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
MCFG_TC0110PCR_ADD("tc0110pcr")
MCFG_TC0110PCR_PALETTE("palette")
/* sound hardware */
@ -3492,7 +3491,7 @@ static MACHINE_CONFIG_START( aquajack, taitoz_state )
MCFG_TC0100SCN_ADD("tc0100scn", taitoz_tc0100scn_intf)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0150ROD_ADD("tc0150rod", taitoz_tc0150rod_intf)
MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
MCFG_TC0110PCR_ADD("tc0110pcr")
MCFG_TC0110PCR_PALETTE("palette")
/* sound hardware */
@ -3553,7 +3552,7 @@ static MACHINE_CONFIG_START( spacegun, taitoz_state )
MCFG_TC0100SCN_ADD("tc0100scn", spacegun_tc0100scn_intf)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr", taitoz_tc0110pcr_intf)
MCFG_TC0110PCR_ADD("tc0110pcr")
MCFG_TC0110PCR_PALETTE("palette")
/* sound hardware */

View File

@ -459,15 +459,6 @@ static const tc0100scn_interface warriorb_tc0100scn_intf_r =
1, 1
};
static const tc0110pcr_interface darius2d_tc0110pcr_intf_l =
{
0
};
static const tc0110pcr_interface darius2d_tc0110pcr_intf_r =
{
1
};
static const tc0220ioc_interface darius2d_io_intf =
@ -520,7 +511,9 @@ static MACHINE_CONFIG_START( darius2d, warriorb_state )
/* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", warriorb)
MCFG_PALETTE_ADD("palette", 4096*2)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_ADD("palette2", 4096)
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
MCFG_SCREEN_ADD("lscreen", RASTER)
@ -529,6 +522,7 @@ static MACHINE_CONFIG_START( darius2d, warriorb_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 3*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(warriorb_state, screen_update_warriorb_left)
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_ADD("rscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@ -536,16 +530,16 @@ static MACHINE_CONFIG_START( darius2d, warriorb_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 3*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(warriorb_state, screen_update_warriorb_right)
MCFG_SCREEN_PALETTE("palette2")
MCFG_TC0100SCN_ADD("tc0100scn_1", darius2d_tc0100scn_intf_l)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0100SCN_ADD("tc0100scn_2", darius2d_tc0100scn_intf_r)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr_1", darius2d_tc0110pcr_intf_l)
MCFG_TC0110PCR_PALETTE("palette")
MCFG_TC0110PCR_ADD("tc0110pcr_2", darius2d_tc0110pcr_intf_r)
MCFG_TC0110PCR_ADD("tc0110pcr_1")
MCFG_TC0110PCR_PALETTE("palette")
MCFG_TC0110PCR_ADD("tc0110pcr_2")
MCFG_TC0110PCR_PALETTE("palette2")
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@ -587,7 +581,9 @@ static MACHINE_CONFIG_START( warriorb, warriorb_state )
/* video hardware */
MCFG_GFXDECODE_ADD("gfxdecode", warriorb)
MCFG_PALETTE_ADD("palette", 4096*2)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_ADD("palette2", 4096)
MCFG_DEFAULT_LAYOUT(layout_dualhsxs)
MCFG_SCREEN_ADD("lscreen", RASTER)
@ -596,6 +592,7 @@ static MACHINE_CONFIG_START( warriorb, warriorb_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(warriorb_state, screen_update_warriorb_left)
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_ADD("rscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
@ -603,16 +600,16 @@ static MACHINE_CONFIG_START( warriorb, warriorb_state )
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(warriorb_state, screen_update_warriorb_right)
MCFG_SCREEN_PALETTE("palette2")
MCFG_TC0100SCN_ADD("tc0100scn_1", warriorb_tc0100scn_intf_l)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0100SCN_ADD("tc0100scn_2", warriorb_tc0100scn_intf_r)
MCFG_TC0100SCN_GFXDECODE("gfxdecode")
MCFG_TC0110PCR_ADD("tc0110pcr_1", darius2d_tc0110pcr_intf_l)
MCFG_TC0110PCR_PALETTE("palette")
MCFG_TC0110PCR_ADD("tc0110pcr_2", darius2d_tc0110pcr_intf_r)
MCFG_TC0110PCR_ADD("tc0110pcr_1")
MCFG_TC0110PCR_PALETTE("palette")
MCFG_TC0110PCR_ADD("tc0110pcr_2")
MCFG_TC0110PCR_PALETTE("palette2")
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")

View File

@ -46,15 +46,7 @@ void tc0110pcr_device::static_set_palette_tag(device_t &device, const char *tag)
void tc0110pcr_device::device_config_complete()
{
// inherit a copy of the static data
const tc0110pcr_interface *intf = reinterpret_cast<const tc0110pcr_interface *>(static_config());
if (intf != NULL)
*static_cast<tc0110pcr_interface *>(this) = *intf;
// or initialize to defaults if none provided
else
{
}
}
//-------------------------------------------------
@ -119,7 +111,7 @@ void tc0110pcr_device::restore_colors()
}
}
m_palette->set_pen_color(i + (m_pal_offs << 12), rgb_t(r, g, b));
m_palette->set_pen_color(i, rgb_t(r, g, b));
}
}
@ -166,12 +158,12 @@ WRITE16_MEMBER(tc0110pcr_device::step1_word_w )
case 0:
m_addr = data & 0xfff;
if (data > 0xfff)
logerror ("Write to palette index (color area %d) > 0xfff\n", m_pal_offs);
logerror ("Write to palette index > 0xfff\n");
break;
case 1:
m_ram[m_addr] = data & 0xffff;
m_palette->set_pen_color(m_addr + (m_pal_offs << 12), pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
m_palette->set_pen_color(m_addr, pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
break;
default:

View File

@ -1,13 +1,8 @@
#ifndef _TC0110PCR_H_
#define _TC0110PCR_H_
struct tc0110pcr_interface
{
int m_pal_offs;
};
class tc0110pcr_device : public device_t,
public tc0110pcr_interface
class tc0110pcr_device : public device_t
{
public:
tc0110pcr_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
@ -38,9 +33,8 @@ private:
extern const device_type TC0110PCR;
#define MCFG_TC0110PCR_ADD(_tag, _interface) \
#define MCFG_TC0110PCR_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, TC0110PCR, 0) \
MCFG_DEVICE_CONFIG(_interface)
#define MCFG_TC0110PCR_PALETTE(_palette_tag) \
tc0110pcr_device::static_set_palette_tag(*device, "^" _palette_tag);