mirror of
https://github.com/holub/mame
synced 2025-07-03 17:08:39 +03:00
Merge pull request #4973 from cam900/tc0110pcr_dipalette
tc0110pcr.cpp : Updates
This commit is contained in:
commit
3d16b045b9
@ -877,22 +877,21 @@ void asuka_state::bonzeadv(machine_config &config)
|
|||||||
screen.set_visarea(0*8, 40*8-1, 3*8, 31*8-1);
|
screen.set_visarea(0*8, 40*8-1, 3*8, 31*8-1);
|
||||||
screen.set_screen_update(FUNC(asuka_state::screen_update_bonzeadv));
|
screen.set_screen_update(FUNC(asuka_state::screen_update_bonzeadv));
|
||||||
screen.screen_vblank().set(FUNC(asuka_state::screen_vblank_asuka));
|
screen.screen_vblank().set(FUNC(asuka_state::screen_vblank_asuka));
|
||||||
screen.set_palette("palette");
|
screen.set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
GFXDECODE(config, "gfxdecode", "palette", gfx_asuka);
|
GFXDECODE(config, "gfxdecode", m_tc0110pcr, gfx_asuka);
|
||||||
PALETTE(config, "palette").set_entries(4096);
|
|
||||||
|
|
||||||
PC090OJ(config, m_pc090oj, 0);
|
PC090OJ(config, m_pc090oj, 0);
|
||||||
m_pc090oj->set_offsets(0, 8);
|
m_pc090oj->set_offsets(0, 8);
|
||||||
m_pc090oj->set_gfxdecode_tag("gfxdecode");
|
m_pc090oj->set_gfxdecode_tag("gfxdecode");
|
||||||
m_pc090oj->set_palette_tag("palette");
|
m_pc090oj->set_palette_tag(m_tc0110pcr);
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn, 0);
|
TC0100SCN(config, m_tc0100scn, 0);
|
||||||
m_tc0100scn->set_gfx_region(1);
|
m_tc0100scn->set_gfx_region(1);
|
||||||
m_tc0100scn->set_gfxdecode_tag("gfxdecode");
|
m_tc0100scn->set_gfxdecode_tag("gfxdecode");
|
||||||
m_tc0100scn->set_palette("palette");
|
m_tc0100scn->set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr, 0, "palette");
|
TC0110PCR(config, m_tc0110pcr, 0);
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
SPEAKER(config, "mono").front_center();
|
SPEAKER(config, "mono").front_center();
|
||||||
@ -936,23 +935,22 @@ void asuka_state::asuka(machine_config &config)
|
|||||||
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
|
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
|
||||||
screen.set_screen_update(FUNC(asuka_state::screen_update_asuka));
|
screen.set_screen_update(FUNC(asuka_state::screen_update_asuka));
|
||||||
screen.screen_vblank().set(FUNC(asuka_state::screen_vblank_asuka));
|
screen.screen_vblank().set(FUNC(asuka_state::screen_vblank_asuka));
|
||||||
screen.set_palette("palette");
|
screen.set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
GFXDECODE(config, "gfxdecode", "palette", gfx_asuka);
|
GFXDECODE(config, "gfxdecode", m_tc0110pcr, gfx_asuka);
|
||||||
PALETTE(config, "palette").set_entries(4096);
|
|
||||||
|
|
||||||
PC090OJ(config, m_pc090oj, 0);
|
PC090OJ(config, m_pc090oj, 0);
|
||||||
m_pc090oj->set_offsets(0, 8);
|
m_pc090oj->set_offsets(0, 8);
|
||||||
m_pc090oj->set_usebuffer(1);
|
m_pc090oj->set_usebuffer(1);
|
||||||
m_pc090oj->set_gfxdecode_tag("gfxdecode");
|
m_pc090oj->set_gfxdecode_tag("gfxdecode");
|
||||||
m_pc090oj->set_palette_tag("palette");
|
m_pc090oj->set_palette_tag(m_tc0110pcr);
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn, 0);
|
TC0100SCN(config, m_tc0100scn, 0);
|
||||||
m_tc0100scn->set_gfx_region(1);
|
m_tc0100scn->set_gfx_region(1);
|
||||||
m_tc0100scn->set_gfxdecode_tag("gfxdecode");
|
m_tc0100scn->set_gfxdecode_tag("gfxdecode");
|
||||||
m_tc0100scn->set_palette("palette");
|
m_tc0100scn->set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr, 0, "palette");
|
TC0110PCR(config, m_tc0110pcr, 0);
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
SPEAKER(config, "mono").front_center();
|
SPEAKER(config, "mono").front_center();
|
||||||
@ -1008,24 +1006,23 @@ void asuka_state::cadash(machine_config &config)
|
|||||||
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
|
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
|
||||||
screen.set_screen_update(FUNC(asuka_state::screen_update_bonzeadv));
|
screen.set_screen_update(FUNC(asuka_state::screen_update_bonzeadv));
|
||||||
screen.screen_vblank().set(FUNC(asuka_state::screen_vblank_asuka));
|
screen.screen_vblank().set(FUNC(asuka_state::screen_vblank_asuka));
|
||||||
screen.set_palette("palette");
|
screen.set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
GFXDECODE(config, "gfxdecode", "palette", gfx_asuka);
|
GFXDECODE(config, "gfxdecode", m_tc0110pcr, gfx_asuka);
|
||||||
PALETTE(config, "palette").set_entries(4096);
|
|
||||||
|
|
||||||
PC090OJ(config, m_pc090oj, 0);
|
PC090OJ(config, m_pc090oj, 0);
|
||||||
m_pc090oj->set_offsets(0, 8);
|
m_pc090oj->set_offsets(0, 8);
|
||||||
m_pc090oj->set_usebuffer(1);
|
m_pc090oj->set_usebuffer(1);
|
||||||
m_pc090oj->set_gfxdecode_tag("gfxdecode");
|
m_pc090oj->set_gfxdecode_tag("gfxdecode");
|
||||||
m_pc090oj->set_palette_tag("palette");
|
m_pc090oj->set_palette_tag(m_tc0110pcr);
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn, 0);
|
TC0100SCN(config, m_tc0100scn, 0);
|
||||||
m_tc0100scn->set_gfx_region(1);
|
m_tc0100scn->set_gfx_region(1);
|
||||||
m_tc0100scn->set_offsets(1, 0);
|
m_tc0100scn->set_offsets(1, 0);
|
||||||
m_tc0100scn->set_gfxdecode_tag("gfxdecode");
|
m_tc0100scn->set_gfxdecode_tag("gfxdecode");
|
||||||
m_tc0100scn->set_palette("palette");
|
m_tc0100scn->set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr, 0, "palette");
|
TC0110PCR(config, m_tc0110pcr, 0);
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
SPEAKER(config, "mono").front_center();
|
SPEAKER(config, "mono").front_center();
|
||||||
@ -1069,23 +1066,22 @@ void asuka_state::mofflott(machine_config &config)
|
|||||||
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
|
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
|
||||||
screen.set_screen_update(FUNC(asuka_state::screen_update_asuka));
|
screen.set_screen_update(FUNC(asuka_state::screen_update_asuka));
|
||||||
screen.screen_vblank().set(FUNC(asuka_state::screen_vblank_asuka));
|
screen.screen_vblank().set(FUNC(asuka_state::screen_vblank_asuka));
|
||||||
screen.set_palette("palette");
|
screen.set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
GFXDECODE(config, "gfxdecode", "palette", gfx_asuka);
|
GFXDECODE(config, "gfxdecode", m_tc0110pcr, gfx_asuka);
|
||||||
PALETTE(config, "palette").set_entries(4096); /* only Mofflott uses full palette space */
|
|
||||||
|
|
||||||
PC090OJ(config, m_pc090oj, 0);
|
PC090OJ(config, m_pc090oj, 0);
|
||||||
m_pc090oj->set_offsets(0, 8);
|
m_pc090oj->set_offsets(0, 8);
|
||||||
m_pc090oj->set_gfxdecode_tag("gfxdecode");
|
m_pc090oj->set_gfxdecode_tag("gfxdecode");
|
||||||
m_pc090oj->set_palette_tag("palette");
|
m_pc090oj->set_palette_tag(m_tc0110pcr);
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn, 0);
|
TC0100SCN(config, m_tc0100scn, 0);
|
||||||
m_tc0100scn->set_gfx_region(1);
|
m_tc0100scn->set_gfx_region(1);
|
||||||
m_tc0100scn->set_offsets(1, 0);
|
m_tc0100scn->set_offsets(1, 0);
|
||||||
m_tc0100scn->set_gfxdecode_tag("gfxdecode");
|
m_tc0100scn->set_gfxdecode_tag("gfxdecode");
|
||||||
m_tc0100scn->set_palette("palette");
|
m_tc0100scn->set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr, 0, "palette");
|
TC0110PCR(config, m_tc0110pcr, 0);
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
SPEAKER(config, "mono").front_center();
|
SPEAKER(config, "mono").front_center();
|
||||||
@ -1137,23 +1133,22 @@ void asuka_state::eto(machine_config &config)
|
|||||||
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
|
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
|
||||||
screen.set_screen_update(FUNC(asuka_state::screen_update_asuka));
|
screen.set_screen_update(FUNC(asuka_state::screen_update_asuka));
|
||||||
screen.screen_vblank().set(FUNC(asuka_state::screen_vblank_asuka));
|
screen.screen_vblank().set(FUNC(asuka_state::screen_vblank_asuka));
|
||||||
screen.set_palette("palette");
|
screen.set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
GFXDECODE(config, "gfxdecode", "palette", gfx_asuka);
|
GFXDECODE(config, "gfxdecode", m_tc0110pcr, gfx_asuka);
|
||||||
PALETTE(config, "palette").set_entries(4096);
|
|
||||||
|
|
||||||
PC090OJ(config, m_pc090oj, 0);
|
PC090OJ(config, m_pc090oj, 0);
|
||||||
m_pc090oj->set_offsets(0, 8);
|
m_pc090oj->set_offsets(0, 8);
|
||||||
m_pc090oj->set_gfxdecode_tag("gfxdecode");
|
m_pc090oj->set_gfxdecode_tag("gfxdecode");
|
||||||
m_pc090oj->set_palette_tag("palette");
|
m_pc090oj->set_palette_tag(m_tc0110pcr);
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn, 0);
|
TC0100SCN(config, m_tc0100scn, 0);
|
||||||
m_tc0100scn->set_gfx_region(1);
|
m_tc0100scn->set_gfx_region(1);
|
||||||
m_tc0100scn->set_offsets(1, 0);
|
m_tc0100scn->set_offsets(1, 0);
|
||||||
m_tc0100scn->set_gfxdecode_tag("gfxdecode");
|
m_tc0100scn->set_gfxdecode_tag("gfxdecode");
|
||||||
m_tc0100scn->set_palette("palette");
|
m_tc0100scn->set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr, 0, "palette");
|
TC0110PCR(config, m_tc0110pcr, 0);
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
SPEAKER(config, "mono").front_center();
|
SPEAKER(config, "mono").front_center();
|
||||||
|
@ -218,24 +218,23 @@ void galastrm_state::galastrm(machine_config &config)
|
|||||||
m_screen->set_size(64*8, 50*8);
|
m_screen->set_size(64*8, 50*8);
|
||||||
m_screen->set_visarea(0+96, 40*8-1+96, 3*8+60, 32*8-1+60);
|
m_screen->set_visarea(0+96, 40*8-1+96, 3*8+60, 32*8-1+60);
|
||||||
m_screen->set_screen_update(FUNC(galastrm_state::screen_update));
|
m_screen->set_screen_update(FUNC(galastrm_state::screen_update));
|
||||||
m_screen->set_palette(m_palette);
|
m_screen->set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_galastrm);
|
GFXDECODE(config, m_gfxdecode, m_tc0110pcr, gfx_galastrm);
|
||||||
PALETTE(config, m_palette).set_entries(4096);
|
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn, 0);
|
TC0100SCN(config, m_tc0100scn, 0);
|
||||||
m_tc0100scn->set_gfx_region(0);
|
m_tc0100scn->set_gfx_region(0);
|
||||||
m_tc0100scn->set_offsets(-48, -56);
|
m_tc0100scn->set_offsets(-48, -56);
|
||||||
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
||||||
m_tc0100scn->set_palette(m_palette);
|
m_tc0100scn->set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
TC0480SCP(config, m_tc0480scp, 0);
|
TC0480SCP(config, m_tc0480scp, 0);
|
||||||
m_tc0480scp->set_gfx_region(1);
|
m_tc0480scp->set_gfx_region(1);
|
||||||
m_tc0480scp->set_palette(m_palette);
|
m_tc0480scp->set_palette(m_tc0110pcr);
|
||||||
m_tc0480scp->set_offsets(-40, -3);
|
m_tc0480scp->set_offsets(-40, -3);
|
||||||
m_tc0480scp->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0480scp->set_gfxdecode_tag(m_gfxdecode);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr, 0, m_palette);
|
TC0110PCR(config, m_tc0110pcr, 0);
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
TAITO_EN(config, "taito_en", 0);
|
TAITO_EN(config, "taito_en", 0);
|
||||||
|
@ -610,9 +610,13 @@ static const gfx_layout charlayout =
|
|||||||
32*8 /* every sprite takes 32 consecutive bytes */
|
32*8 /* every sprite takes 32 consecutive bytes */
|
||||||
};
|
};
|
||||||
|
|
||||||
static GFXDECODE_START( gfx_ninjaw )
|
static GFXDECODE_START( gfx_ninjaw_1 )
|
||||||
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 256 ) /* sprites */
|
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 256 ) /* sprites */
|
||||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 256 ) /* scr tiles (screen 1) */
|
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 256 ) /* scr tiles (screen 1) */
|
||||||
|
GFXDECODE_END
|
||||||
|
|
||||||
|
static GFXDECODE_START( gfx_ninjaw_23 )
|
||||||
|
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 256 ) /* sprites */
|
||||||
GFXDECODE_ENTRY( "gfx3", 0, charlayout, 0, 256 ) /* scr tiles (screens 2+) */
|
GFXDECODE_ENTRY( "gfx3", 0, charlayout, 0, 256 ) /* scr tiles (screens 2+) */
|
||||||
GFXDECODE_END
|
GFXDECODE_END
|
||||||
|
|
||||||
@ -743,10 +747,9 @@ void ninjaw_state::ninjaw(machine_config &config)
|
|||||||
tc0040ioc.read_7_callback().set_ioport("IN2");
|
tc0040ioc.read_7_callback().set_ioport("IN2");
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_ninjaw);
|
GFXDECODE(config, m_gfxdecode[0], m_tc0110pcr[0], gfx_ninjaw_1);
|
||||||
PALETTE(config, m_palette).set_entries(4096);
|
GFXDECODE(config, m_gfxdecode[1], m_tc0110pcr[1], gfx_ninjaw_23);
|
||||||
PALETTE(config, "palette2").set_entries(4096);
|
GFXDECODE(config, m_gfxdecode[2], m_tc0110pcr[2], gfx_ninjaw_23);
|
||||||
PALETTE(config, "palette3").set_entries(4096);
|
|
||||||
|
|
||||||
config.set_default_layout(layout_ninjaw);
|
config.set_default_layout(layout_ninjaw);
|
||||||
|
|
||||||
@ -756,7 +759,7 @@ void ninjaw_state::ninjaw(machine_config &config)
|
|||||||
lscreen.set_size(36*8, 32*8);
|
lscreen.set_size(36*8, 32*8);
|
||||||
lscreen.set_visarea(0*8, 36*8-1, 3*8, 31*8-1);
|
lscreen.set_visarea(0*8, 36*8-1, 3*8, 31*8-1);
|
||||||
lscreen.set_screen_update(FUNC(ninjaw_state::screen_update_left));
|
lscreen.set_screen_update(FUNC(ninjaw_state::screen_update_left));
|
||||||
lscreen.set_palette(m_palette);
|
lscreen.set_palette(m_tc0110pcr[0]);
|
||||||
|
|
||||||
screen_device &mscreen(SCREEN(config, "mscreen", SCREEN_TYPE_RASTER));
|
screen_device &mscreen(SCREEN(config, "mscreen", SCREEN_TYPE_RASTER));
|
||||||
mscreen.set_refresh_hz(60);
|
mscreen.set_refresh_hz(60);
|
||||||
@ -764,7 +767,7 @@ void ninjaw_state::ninjaw(machine_config &config)
|
|||||||
mscreen.set_size(36*8, 32*8);
|
mscreen.set_size(36*8, 32*8);
|
||||||
mscreen.set_visarea(0*8, 36*8-1, 3*8, 31*8-1);
|
mscreen.set_visarea(0*8, 36*8-1, 3*8, 31*8-1);
|
||||||
mscreen.set_screen_update(FUNC(ninjaw_state::screen_update_middle));
|
mscreen.set_screen_update(FUNC(ninjaw_state::screen_update_middle));
|
||||||
mscreen.set_palette("palette2");
|
mscreen.set_palette(m_tc0110pcr[1]);
|
||||||
|
|
||||||
screen_device &rscreen(SCREEN(config, "rscreen", SCREEN_TYPE_RASTER));
|
screen_device &rscreen(SCREEN(config, "rscreen", SCREEN_TYPE_RASTER));
|
||||||
rscreen.set_refresh_hz(60);
|
rscreen.set_refresh_hz(60);
|
||||||
@ -772,37 +775,37 @@ void ninjaw_state::ninjaw(machine_config &config)
|
|||||||
rscreen.set_size(36*8, 32*8);
|
rscreen.set_size(36*8, 32*8);
|
||||||
rscreen.set_visarea(0*8, 36*8-1, 3*8, 31*8-1);
|
rscreen.set_visarea(0*8, 36*8-1, 3*8, 31*8-1);
|
||||||
rscreen.set_screen_update(FUNC(ninjaw_state::screen_update_right));
|
rscreen.set_screen_update(FUNC(ninjaw_state::screen_update_right));
|
||||||
rscreen.set_palette("palette3");
|
rscreen.set_palette(m_tc0110pcr[2]);
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn[0], 0);
|
TC0100SCN(config, m_tc0100scn[0], 0);
|
||||||
m_tc0100scn[0]->set_gfx_region(1);
|
m_tc0100scn[0]->set_gfx_region(1);
|
||||||
m_tc0100scn[0]->set_offsets(22, 0);
|
m_tc0100scn[0]->set_offsets(22, 0);
|
||||||
m_tc0100scn[0]->set_multiscr_xoffs(0);
|
m_tc0100scn[0]->set_multiscr_xoffs(0);
|
||||||
m_tc0100scn[0]->set_multiscr_hack(0);
|
m_tc0100scn[0]->set_multiscr_hack(0);
|
||||||
m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode[0]);
|
||||||
m_tc0100scn[0]->set_palette(m_palette);
|
m_tc0100scn[0]->set_palette(m_tc0110pcr[0]);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr[0], 0, m_palette);
|
TC0110PCR(config, m_tc0110pcr[0], 0);
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn[1], 0);
|
TC0100SCN(config, m_tc0100scn[1], 0);
|
||||||
m_tc0100scn[1]->set_gfx_region(2);
|
m_tc0100scn[1]->set_gfx_region(1);
|
||||||
m_tc0100scn[1]->set_offsets(22, 0);
|
m_tc0100scn[1]->set_offsets(22, 0);
|
||||||
m_tc0100scn[1]->set_multiscr_xoffs(2);
|
m_tc0100scn[1]->set_multiscr_xoffs(2);
|
||||||
m_tc0100scn[1]->set_multiscr_hack(1);
|
m_tc0100scn[1]->set_multiscr_hack(1);
|
||||||
m_tc0100scn[1]->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0100scn[1]->set_gfxdecode_tag(m_gfxdecode[1]);
|
||||||
m_tc0100scn[1]->set_palette("palette2");
|
m_tc0100scn[1]->set_palette(m_tc0110pcr[1]);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr[1], 0, "palette2");
|
TC0110PCR(config, m_tc0110pcr[1], 0);
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn[2], 0);
|
TC0100SCN(config, m_tc0100scn[2], 0);
|
||||||
m_tc0100scn[2]->set_gfx_region(2);
|
m_tc0100scn[2]->set_gfx_region(1);
|
||||||
m_tc0100scn[2]->set_offsets(22, 0);
|
m_tc0100scn[2]->set_offsets(22, 0);
|
||||||
m_tc0100scn[2]->set_multiscr_xoffs(4);
|
m_tc0100scn[2]->set_multiscr_xoffs(4);
|
||||||
m_tc0100scn[2]->set_multiscr_hack(1);
|
m_tc0100scn[2]->set_multiscr_hack(1);
|
||||||
m_tc0100scn[2]->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0100scn[2]->set_gfxdecode_tag(m_gfxdecode[2]);
|
||||||
m_tc0100scn[2]->set_palette("palette3");
|
m_tc0100scn[2]->set_palette(m_tc0110pcr[2]);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr[2], 0, "palette3");
|
TC0110PCR(config, m_tc0110pcr[2], 0);
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
SPEAKER(config, "lspeaker").front_left();
|
SPEAKER(config, "lspeaker").front_left();
|
||||||
@ -856,10 +859,9 @@ void ninjaw_state::darius2(machine_config &config)
|
|||||||
tc0040ioc.read_7_callback().set_ioport("IN2");
|
tc0040ioc.read_7_callback().set_ioport("IN2");
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_ninjaw);
|
GFXDECODE(config, m_gfxdecode[0], m_tc0110pcr[0], gfx_ninjaw_1);
|
||||||
PALETTE(config, m_palette).set_entries(4096);
|
GFXDECODE(config, m_gfxdecode[1], m_tc0110pcr[1], gfx_ninjaw_23);
|
||||||
PALETTE(config, "palette2").set_entries(4096);
|
GFXDECODE(config, m_gfxdecode[2], m_tc0110pcr[2], gfx_ninjaw_23);
|
||||||
PALETTE(config, "palette3").set_entries(4096);
|
|
||||||
|
|
||||||
config.set_default_layout(layout_ninjaw);
|
config.set_default_layout(layout_ninjaw);
|
||||||
|
|
||||||
@ -869,7 +871,7 @@ void ninjaw_state::darius2(machine_config &config)
|
|||||||
lscreen.set_size(36*8, 32*8);
|
lscreen.set_size(36*8, 32*8);
|
||||||
lscreen.set_visarea(0*8, 36*8-1, 3*8, 31*8-1);
|
lscreen.set_visarea(0*8, 36*8-1, 3*8, 31*8-1);
|
||||||
lscreen.set_screen_update(FUNC(ninjaw_state::screen_update_left));
|
lscreen.set_screen_update(FUNC(ninjaw_state::screen_update_left));
|
||||||
lscreen.set_palette(m_palette);
|
lscreen.set_palette(m_tc0110pcr[0]);
|
||||||
|
|
||||||
screen_device &mscreen(SCREEN(config, "mscreen", SCREEN_TYPE_RASTER));
|
screen_device &mscreen(SCREEN(config, "mscreen", SCREEN_TYPE_RASTER));
|
||||||
mscreen.set_refresh_hz(60);
|
mscreen.set_refresh_hz(60);
|
||||||
@ -877,7 +879,7 @@ void ninjaw_state::darius2(machine_config &config)
|
|||||||
mscreen.set_size(36*8, 32*8);
|
mscreen.set_size(36*8, 32*8);
|
||||||
mscreen.set_visarea(0*8, 36*8-1, 3*8, 31*8-1);
|
mscreen.set_visarea(0*8, 36*8-1, 3*8, 31*8-1);
|
||||||
mscreen.set_screen_update(FUNC(ninjaw_state::screen_update_middle));
|
mscreen.set_screen_update(FUNC(ninjaw_state::screen_update_middle));
|
||||||
mscreen.set_palette("palette2");
|
mscreen.set_palette(m_tc0110pcr[1]);
|
||||||
|
|
||||||
screen_device &rscreen(SCREEN(config, "rscreen", SCREEN_TYPE_RASTER));
|
screen_device &rscreen(SCREEN(config, "rscreen", SCREEN_TYPE_RASTER));
|
||||||
rscreen.set_refresh_hz(60);
|
rscreen.set_refresh_hz(60);
|
||||||
@ -885,37 +887,37 @@ void ninjaw_state::darius2(machine_config &config)
|
|||||||
rscreen.set_size(36*8, 32*8);
|
rscreen.set_size(36*8, 32*8);
|
||||||
rscreen.set_visarea(0*8, 36*8-1, 3*8, 31*8-1);
|
rscreen.set_visarea(0*8, 36*8-1, 3*8, 31*8-1);
|
||||||
rscreen.set_screen_update(FUNC(ninjaw_state::screen_update_right));
|
rscreen.set_screen_update(FUNC(ninjaw_state::screen_update_right));
|
||||||
rscreen.set_palette("palette3");
|
rscreen.set_palette(m_tc0110pcr[2]);
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn[0], 0);
|
TC0100SCN(config, m_tc0100scn[0], 0);
|
||||||
m_tc0100scn[0]->set_gfx_region(1);
|
m_tc0100scn[0]->set_gfx_region(1);
|
||||||
m_tc0100scn[0]->set_offsets(22, 0);
|
m_tc0100scn[0]->set_offsets(22, 0);
|
||||||
m_tc0100scn[0]->set_multiscr_xoffs(0);
|
m_tc0100scn[0]->set_multiscr_xoffs(0);
|
||||||
m_tc0100scn[0]->set_multiscr_hack(0);
|
m_tc0100scn[0]->set_multiscr_hack(0);
|
||||||
m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode[0]);
|
||||||
m_tc0100scn[0]->set_palette(m_palette);
|
m_tc0100scn[0]->set_palette(m_tc0110pcr[0]);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr[0], 0, m_palette);
|
TC0110PCR(config, m_tc0110pcr[0], 0);
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn[1], 0);
|
TC0100SCN(config, m_tc0100scn[1], 0);
|
||||||
m_tc0100scn[1]->set_gfx_region(2);
|
m_tc0100scn[1]->set_gfx_region(1);
|
||||||
m_tc0100scn[1]->set_offsets(22, 0);
|
m_tc0100scn[1]->set_offsets(22, 0);
|
||||||
m_tc0100scn[1]->set_multiscr_xoffs(2);
|
m_tc0100scn[1]->set_multiscr_xoffs(2);
|
||||||
m_tc0100scn[1]->set_multiscr_hack(1);
|
m_tc0100scn[1]->set_multiscr_hack(1);
|
||||||
m_tc0100scn[1]->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0100scn[1]->set_gfxdecode_tag(m_gfxdecode[1]);
|
||||||
m_tc0100scn[1]->set_palette("palette2");
|
m_tc0100scn[1]->set_palette(m_tc0110pcr[1]);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr[1], 0, "palette2");
|
TC0110PCR(config, m_tc0110pcr[1], 0);
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn[2], 0);
|
TC0100SCN(config, m_tc0100scn[2], 0);
|
||||||
m_tc0100scn[2]->set_gfx_region(2);
|
m_tc0100scn[2]->set_gfx_region(1);
|
||||||
m_tc0100scn[2]->set_offsets(22, 0);
|
m_tc0100scn[2]->set_offsets(22, 0);
|
||||||
m_tc0100scn[2]->set_multiscr_xoffs(4);
|
m_tc0100scn[2]->set_multiscr_xoffs(4);
|
||||||
m_tc0100scn[2]->set_multiscr_hack(1);
|
m_tc0100scn[2]->set_multiscr_hack(1);
|
||||||
m_tc0100scn[2]->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0100scn[2]->set_gfxdecode_tag(m_gfxdecode[2]);
|
||||||
m_tc0100scn[2]->set_palette("palette3");
|
m_tc0100scn[2]->set_palette(m_tc0110pcr[2]);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr[2], 0, "palette3");
|
TC0110PCR(config, m_tc0110pcr[2], 0);
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
SPEAKER(config, "lspeaker").front_left();
|
SPEAKER(config, "lspeaker").front_left();
|
||||||
|
@ -623,19 +623,18 @@ void othunder_state::othunder(machine_config &config)
|
|||||||
screen.set_size(40*8, 32*8);
|
screen.set_size(40*8, 32*8);
|
||||||
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
|
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
|
||||||
screen.set_screen_update(FUNC(othunder_state::screen_update));
|
screen.set_screen_update(FUNC(othunder_state::screen_update));
|
||||||
screen.set_palette(m_palette);
|
screen.set_palette(m_tc0110pcr);
|
||||||
screen.screen_vblank().set(FUNC(othunder_state::vblank_w));
|
screen.screen_vblank().set(FUNC(othunder_state::vblank_w));
|
||||||
|
|
||||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_othunder);
|
GFXDECODE(config, m_gfxdecode, m_tc0110pcr, gfx_othunder);
|
||||||
PALETTE(config, m_palette).set_entries(4096);
|
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn, 0);
|
TC0100SCN(config, m_tc0100scn, 0);
|
||||||
m_tc0100scn->set_gfx_region(1);
|
m_tc0100scn->set_gfx_region(1);
|
||||||
m_tc0100scn->set_offsets(4, 0);
|
m_tc0100scn->set_offsets(4, 0);
|
||||||
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
||||||
m_tc0100scn->set_palette(m_palette);
|
m_tc0100scn->set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr, 0, m_palette);
|
TC0110PCR(config, m_tc0110pcr, 0);
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
SPEAKER(config, "speaker").front_center();
|
SPEAKER(config, "speaker").front_center();
|
||||||
|
@ -2939,9 +2939,18 @@ void taitof2_state::taito_f2_te7750(machine_config &config)
|
|||||||
te7750.in_port9_cb().set_ioport("IN4");
|
te7750.in_port9_cb().set_ioport("IN4");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void taitof2_state::taito_f2_tc0110pcr(machine_config &config)
|
||||||
|
{
|
||||||
|
TC0110PCR(config, m_tc0110pcr, 0);
|
||||||
|
m_gfxdecode->set_palette(m_tc0110pcr);
|
||||||
|
m_screen->set_palette(m_tc0110pcr);
|
||||||
|
}
|
||||||
|
|
||||||
void taitof2_state::finalb(machine_config &config)
|
void taitof2_state::finalb(machine_config &config)
|
||||||
{
|
{
|
||||||
taito_f2_tc0220ioc(config);
|
taito_f2_tc0220ioc(config);
|
||||||
|
taito_f2_tc0110pcr(config);
|
||||||
|
config.device_remove("palette");
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
m_maincpu->set_addrmap(AS_PROGRAM, &taitof2_state::finalb_map);
|
m_maincpu->set_addrmap(AS_PROGRAM, &taitof2_state::finalb_map);
|
||||||
@ -2955,9 +2964,7 @@ void taitof2_state::finalb(machine_config &config)
|
|||||||
m_tc0100scn->set_gfx_region(1);
|
m_tc0100scn->set_gfx_region(1);
|
||||||
m_tc0100scn->set_offsets(1, 0);
|
m_tc0100scn->set_offsets(1, 0);
|
||||||
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
||||||
m_tc0100scn->set_palette(m_palette);
|
m_tc0100scn->set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr, 0, m_palette);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void taitof2_state::dondokod(machine_config &config)
|
void taitof2_state::dondokod(machine_config &config)
|
||||||
@ -3074,6 +3081,8 @@ void taitof2_state::cameltry(machine_config &config)
|
|||||||
void taitof2_state::qtorimon(machine_config &config)
|
void taitof2_state::qtorimon(machine_config &config)
|
||||||
{
|
{
|
||||||
taito_f2_tc0220ioc(config);
|
taito_f2_tc0220ioc(config);
|
||||||
|
taito_f2_tc0110pcr(config);
|
||||||
|
config.device_remove("palette");
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
m_maincpu->set_addrmap(AS_PROGRAM, &taitof2_state::qtorimon_map);
|
m_maincpu->set_addrmap(AS_PROGRAM, &taitof2_state::qtorimon_map);
|
||||||
@ -3085,9 +3094,7 @@ void taitof2_state::qtorimon(machine_config &config)
|
|||||||
TC0100SCN(config, m_tc0100scn, 0);
|
TC0100SCN(config, m_tc0100scn, 0);
|
||||||
m_tc0100scn->set_gfx_region(1);
|
m_tc0100scn->set_gfx_region(1);
|
||||||
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
||||||
m_tc0100scn->set_palette(m_palette);
|
m_tc0100scn->set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr, 0, m_palette);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void taitof2_state::liquidk(machine_config &config)
|
void taitof2_state::liquidk(machine_config &config)
|
||||||
@ -3114,6 +3121,8 @@ void taitof2_state::liquidk(machine_config &config)
|
|||||||
void taitof2_state::quizhq(machine_config &config)
|
void taitof2_state::quizhq(machine_config &config)
|
||||||
{
|
{
|
||||||
taito_f2(config);
|
taito_f2(config);
|
||||||
|
taito_f2_tc0110pcr(config);
|
||||||
|
config.device_remove("palette");
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
m_maincpu->set_addrmap(AS_PROGRAM, &taitof2_state::quizhq_map);
|
m_maincpu->set_addrmap(AS_PROGRAM, &taitof2_state::quizhq_map);
|
||||||
@ -3125,9 +3134,7 @@ void taitof2_state::quizhq(machine_config &config)
|
|||||||
TC0100SCN(config, m_tc0100scn, 0);
|
TC0100SCN(config, m_tc0100scn, 0);
|
||||||
m_tc0100scn->set_gfx_region(1);
|
m_tc0100scn->set_gfx_region(1);
|
||||||
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
||||||
m_tc0100scn->set_palette(m_palette);
|
m_tc0100scn->set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr, 0, m_palette);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void taitof2_state::ssi(machine_config &config)
|
void taitof2_state::ssi(machine_config &config)
|
||||||
@ -3199,6 +3206,8 @@ void taitof2_state::growl(machine_config &config)
|
|||||||
void taitof2_state::mjnquest(machine_config &config)
|
void taitof2_state::mjnquest(machine_config &config)
|
||||||
{
|
{
|
||||||
taito_f2(config);
|
taito_f2(config);
|
||||||
|
taito_f2_tc0110pcr(config);
|
||||||
|
config.device_remove("palette");
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
m_maincpu->set_addrmap(AS_PROGRAM, &taitof2_state::mjnquest_map);
|
m_maincpu->set_addrmap(AS_PROGRAM, &taitof2_state::mjnquest_map);
|
||||||
@ -3209,10 +3218,8 @@ void taitof2_state::mjnquest(machine_config &config)
|
|||||||
TC0100SCN(config, m_tc0100scn, 0);
|
TC0100SCN(config, m_tc0100scn, 0);
|
||||||
m_tc0100scn->set_gfx_region(1);
|
m_tc0100scn->set_gfx_region(1);
|
||||||
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
||||||
m_tc0100scn->set_palette(m_palette);
|
m_tc0100scn->set_palette(m_tc0110pcr);
|
||||||
m_tc0100scn->set_tile_callback(FUNC(taitof2_state::mjnquest_tmap_cb), this);
|
m_tc0100scn->set_tile_callback(FUNC(taitof2_state::mjnquest_tmap_cb), this);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr, 0, m_palette);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void taitof2_state::footchmp(machine_config &config)
|
void taitof2_state::footchmp(machine_config &config)
|
||||||
|
@ -3194,21 +3194,20 @@ void taitoz_state::contcirc(machine_config &config)
|
|||||||
screen.set_size(40*8, 32*8);
|
screen.set_size(40*8, 32*8);
|
||||||
screen.set_visarea(0*8, 40*8-1, 3*8, 31*8-1);
|
screen.set_visarea(0*8, 40*8-1, 3*8, 31*8-1);
|
||||||
screen.set_screen_update(FUNC(taitoz_state::screen_update_contcirc));
|
screen.set_screen_update(FUNC(taitoz_state::screen_update_contcirc));
|
||||||
screen.set_palette("palette");
|
screen.set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
GFXDECODE(config, m_gfxdecode, "palette", gfx_taitoz);
|
GFXDECODE(config, m_gfxdecode, m_tc0110pcr, gfx_taitoz);
|
||||||
PALETTE(config, "palette").set_format(palette_device::xBGR_555, 4096);
|
|
||||||
|
|
||||||
MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
|
MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn, 0);
|
TC0100SCN(config, m_tc0100scn, 0);
|
||||||
m_tc0100scn->set_gfx_region(1);
|
m_tc0100scn->set_gfx_region(1);
|
||||||
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
||||||
m_tc0100scn->set_palette("palette");
|
m_tc0100scn->set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
TC0150ROD(config, m_tc0150rod, 0);
|
TC0150ROD(config, m_tc0150rod, 0);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr, 0, "palette");
|
TC0110PCR(config, m_tc0110pcr, 0);
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
SPEAKER(config, "front").front_center();
|
SPEAKER(config, "front").front_center();
|
||||||
@ -3265,21 +3264,20 @@ void taitoz_state::chasehq(machine_config &config)
|
|||||||
screen.set_size(40*8, 32*8);
|
screen.set_size(40*8, 32*8);
|
||||||
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
|
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
|
||||||
screen.set_screen_update(FUNC(taitoz_state::screen_update_chasehq));
|
screen.set_screen_update(FUNC(taitoz_state::screen_update_chasehq));
|
||||||
screen.set_palette("palette");
|
screen.set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
GFXDECODE(config, m_gfxdecode, "palette", gfx_chasehq);
|
GFXDECODE(config, m_gfxdecode, m_tc0110pcr, gfx_chasehq);
|
||||||
PALETTE(config, "palette").set_format(palette_device::xBGR_555, 4096);
|
|
||||||
|
|
||||||
MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
|
MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn, 0);
|
TC0100SCN(config, m_tc0100scn, 0);
|
||||||
m_tc0100scn->set_gfx_region(1);
|
m_tc0100scn->set_gfx_region(1);
|
||||||
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
||||||
m_tc0100scn->set_palette("palette");
|
m_tc0100scn->set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
TC0150ROD(config, m_tc0150rod, 0);
|
TC0150ROD(config, m_tc0150rod, 0);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr, 0, "palette");
|
TC0110PCR(config, m_tc0110pcr, 0);
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
SPEAKER(config, "front").front_center();
|
SPEAKER(config, "front").front_center();
|
||||||
@ -3338,21 +3336,20 @@ void taitoz_state::enforce(machine_config &config)
|
|||||||
screen.set_size(40*8, 32*8);
|
screen.set_size(40*8, 32*8);
|
||||||
screen.set_visarea(0*8, 40*8-1, 2*8, 31*8-1);
|
screen.set_visarea(0*8, 40*8-1, 2*8, 31*8-1);
|
||||||
screen.set_screen_update(FUNC(taitoz_state::screen_update_contcirc));
|
screen.set_screen_update(FUNC(taitoz_state::screen_update_contcirc));
|
||||||
screen.set_palette("palette");
|
screen.set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
GFXDECODE(config, m_gfxdecode, "palette", gfx_taitoz);
|
GFXDECODE(config, m_gfxdecode, m_tc0110pcr, gfx_taitoz);
|
||||||
PALETTE(config, "palette").set_format(palette_device::xBGR_555, 4096);
|
|
||||||
|
|
||||||
MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
|
MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn, 0);
|
TC0100SCN(config, m_tc0100scn, 0);
|
||||||
m_tc0100scn->set_gfx_region(1);
|
m_tc0100scn->set_gfx_region(1);
|
||||||
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
||||||
m_tc0100scn->set_palette("palette");
|
m_tc0100scn->set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
TC0150ROD(config, m_tc0150rod, 0);
|
TC0150ROD(config, m_tc0150rod, 0);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr, 0, "palette");
|
TC0110PCR(config, m_tc0110pcr, 0);
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
SPEAKER(config, "lspeaker").front_left();
|
SPEAKER(config, "lspeaker").front_left();
|
||||||
@ -3572,21 +3569,20 @@ void taitoz_state::nightstr(machine_config &config)
|
|||||||
screen.set_size(40*8, 32*8);
|
screen.set_size(40*8, 32*8);
|
||||||
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
|
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
|
||||||
screen.set_screen_update(FUNC(taitoz_state::screen_update_chasehq));
|
screen.set_screen_update(FUNC(taitoz_state::screen_update_chasehq));
|
||||||
screen.set_palette("palette");
|
screen.set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
GFXDECODE(config, m_gfxdecode, "palette", gfx_chasehq);
|
GFXDECODE(config, m_gfxdecode, m_tc0110pcr, gfx_chasehq);
|
||||||
PALETTE(config, "palette").set_format(palette_device::xBGR_555, 4096);
|
|
||||||
|
|
||||||
MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
|
MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn, 0);
|
TC0100SCN(config, m_tc0100scn, 0);
|
||||||
m_tc0100scn->set_gfx_region(1);
|
m_tc0100scn->set_gfx_region(1);
|
||||||
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
||||||
m_tc0100scn->set_palette("palette");
|
m_tc0100scn->set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
TC0150ROD(config, m_tc0150rod, 0);
|
TC0150ROD(config, m_tc0150rod, 0);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr, 0, "palette");
|
TC0110PCR(config, m_tc0110pcr, 0);
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
SPEAKER(config, "front").front_center();
|
SPEAKER(config, "front").front_center();
|
||||||
@ -3645,21 +3641,20 @@ void taitoz_state::aquajack(machine_config &config)
|
|||||||
screen.set_size(40*8, 32*8);
|
screen.set_size(40*8, 32*8);
|
||||||
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
|
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
|
||||||
screen.set_screen_update(FUNC(taitoz_state::screen_update_aquajack));
|
screen.set_screen_update(FUNC(taitoz_state::screen_update_aquajack));
|
||||||
screen.set_palette("palette");
|
screen.set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
GFXDECODE(config, m_gfxdecode, "palette", gfx_taitoz);
|
GFXDECODE(config, m_gfxdecode, m_tc0110pcr, gfx_taitoz);
|
||||||
PALETTE(config, "palette").set_format(palette_device::xBGR_555, 4096);
|
|
||||||
|
|
||||||
MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
|
MCFG_VIDEO_START_OVERRIDE(taitoz_state,taitoz)
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn, 0);
|
TC0100SCN(config, m_tc0100scn, 0);
|
||||||
m_tc0100scn->set_gfx_region(1);
|
m_tc0100scn->set_gfx_region(1);
|
||||||
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
||||||
m_tc0100scn->set_palette("palette");
|
m_tc0100scn->set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
TC0150ROD(config, m_tc0150rod, 0);
|
TC0150ROD(config, m_tc0150rod, 0);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr, 0, "palette");
|
TC0110PCR(config, m_tc0110pcr, 0);
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
SPEAKER(config, "lspeaker").front_left();
|
SPEAKER(config, "lspeaker").front_left();
|
||||||
@ -3723,18 +3718,17 @@ void taitoz_state::spacegun(machine_config &config)
|
|||||||
screen.set_size(40*8, 32*8);
|
screen.set_size(40*8, 32*8);
|
||||||
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
|
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
|
||||||
screen.set_screen_update(FUNC(taitoz_state::screen_update_spacegun));
|
screen.set_screen_update(FUNC(taitoz_state::screen_update_spacegun));
|
||||||
screen.set_palette("palette");
|
screen.set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
GFXDECODE(config, m_gfxdecode, "palette", gfx_taitoz);
|
GFXDECODE(config, m_gfxdecode, m_tc0110pcr, gfx_taitoz);
|
||||||
PALETTE(config, "palette").set_format(palette_device::xBGR_555, 4096);
|
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn, 0);
|
TC0100SCN(config, m_tc0100scn, 0);
|
||||||
m_tc0100scn->set_gfx_region(1);
|
m_tc0100scn->set_gfx_region(1);
|
||||||
m_tc0100scn->set_offsets(4, 0);
|
m_tc0100scn->set_offsets(4, 0);
|
||||||
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0100scn->set_gfxdecode_tag(m_gfxdecode);
|
||||||
m_tc0100scn->set_palette("palette");
|
m_tc0100scn->set_palette(m_tc0110pcr);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr, 0, "palette");
|
TC0110PCR(config, m_tc0110pcr, 0);
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
SPEAKER(config, "lspeaker").front_left();
|
SPEAKER(config, "lspeaker").front_left();
|
||||||
|
@ -398,9 +398,13 @@ static const gfx_layout charlayout =
|
|||||||
32*8 /* every sprite takes 32 consecutive bytes */
|
32*8 /* every sprite takes 32 consecutive bytes */
|
||||||
};
|
};
|
||||||
|
|
||||||
static GFXDECODE_START( gfx_warriorb )
|
static GFXDECODE_START( gfx_warriorb_1 )
|
||||||
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 256 ) /* sprites */
|
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 256 ) /* sprites */
|
||||||
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 256 ) /* scr tiles (screen 1) */
|
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 256 ) /* scr tiles (screen 1) */
|
||||||
|
GFXDECODE_END
|
||||||
|
|
||||||
|
static GFXDECODE_START( gfx_warriorb_2 )
|
||||||
|
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 256 ) /* sprites */
|
||||||
GFXDECODE_ENTRY( "gfx3", 0, charlayout, 0, 256 ) /* scr tiles (screen 2) */
|
GFXDECODE_ENTRY( "gfx3", 0, charlayout, 0, 256 ) /* scr tiles (screen 2) */
|
||||||
GFXDECODE_END
|
GFXDECODE_END
|
||||||
|
|
||||||
@ -440,9 +444,8 @@ void warriorb_state::darius2d(machine_config &config)
|
|||||||
m_tc0220ioc->read_7_callback().set_ioport("IN2");
|
m_tc0220ioc->read_7_callback().set_ioport("IN2");
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_warriorb);
|
GFXDECODE(config, m_gfxdecode[0], m_tc0110pcr[0], gfx_warriorb_1);
|
||||||
PALETTE(config, m_palette).set_entries(4096);
|
GFXDECODE(config, m_gfxdecode[1], m_tc0110pcr[1], gfx_warriorb_2);
|
||||||
PALETTE(config, "palette2").set_entries(4096);
|
|
||||||
|
|
||||||
config.set_default_layout(layout_dualhsxs);
|
config.set_default_layout(layout_dualhsxs);
|
||||||
|
|
||||||
@ -452,15 +455,15 @@ void warriorb_state::darius2d(machine_config &config)
|
|||||||
lscreen.set_size(40*8, 32*8);
|
lscreen.set_size(40*8, 32*8);
|
||||||
lscreen.set_visarea(0*8, 40*8-1, 3*8, 32*8-1);
|
lscreen.set_visarea(0*8, 40*8-1, 3*8, 32*8-1);
|
||||||
lscreen.set_screen_update(FUNC(warriorb_state::screen_update_left));
|
lscreen.set_screen_update(FUNC(warriorb_state::screen_update_left));
|
||||||
lscreen.set_palette(m_palette);
|
lscreen.set_palette(m_tc0110pcr[0]);
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn[0], 0);
|
TC0100SCN(config, m_tc0100scn[0], 0);
|
||||||
m_tc0100scn[0]->set_gfx_region(1);
|
m_tc0100scn[0]->set_gfx_region(1);
|
||||||
m_tc0100scn[0]->set_offsets(4, 0);
|
m_tc0100scn[0]->set_offsets(4, 0);
|
||||||
m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode[0]);
|
||||||
m_tc0100scn[0]->set_palette(m_palette);
|
m_tc0100scn[0]->set_palette(m_tc0110pcr[0]);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr[0], 0, m_palette);
|
TC0110PCR(config, m_tc0110pcr[0], 0);
|
||||||
|
|
||||||
screen_device &rscreen(SCREEN(config, "rscreen", SCREEN_TYPE_RASTER));
|
screen_device &rscreen(SCREEN(config, "rscreen", SCREEN_TYPE_RASTER));
|
||||||
rscreen.set_refresh_hz(60);
|
rscreen.set_refresh_hz(60);
|
||||||
@ -468,16 +471,16 @@ void warriorb_state::darius2d(machine_config &config)
|
|||||||
rscreen.set_size(40*8, 32*8);
|
rscreen.set_size(40*8, 32*8);
|
||||||
rscreen.set_visarea(0*8, 40*8-1, 3*8, 32*8-1);
|
rscreen.set_visarea(0*8, 40*8-1, 3*8, 32*8-1);
|
||||||
rscreen.set_screen_update(FUNC(warriorb_state::screen_update_right));
|
rscreen.set_screen_update(FUNC(warriorb_state::screen_update_right));
|
||||||
rscreen.set_palette("palette2");
|
rscreen.set_palette(m_tc0110pcr[1]);
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn[1], 0);
|
TC0100SCN(config, m_tc0100scn[1], 0);
|
||||||
m_tc0100scn[1]->set_gfx_region(2);
|
m_tc0100scn[1]->set_gfx_region(1);
|
||||||
m_tc0100scn[1]->set_offsets(4, 0);
|
m_tc0100scn[1]->set_offsets(4, 0);
|
||||||
m_tc0100scn[1]->set_multiscr_hack(1);
|
m_tc0100scn[1]->set_multiscr_hack(1);
|
||||||
m_tc0100scn[1]->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0100scn[1]->set_gfxdecode_tag(m_gfxdecode[1]);
|
||||||
m_tc0100scn[1]->set_palette("palette2");
|
m_tc0100scn[1]->set_palette(m_tc0110pcr[1]);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr[1], 0, "palette2");
|
TC0110PCR(config, m_tc0110pcr[1], 0);
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
SPEAKER(config, "lspeaker").front_left();
|
SPEAKER(config, "lspeaker").front_left();
|
||||||
@ -521,9 +524,8 @@ void warriorb_state::warriorb(machine_config &config)
|
|||||||
m_tc0510nio->read_7_callback().set_ioport("IN2");
|
m_tc0510nio->read_7_callback().set_ioport("IN2");
|
||||||
|
|
||||||
/* video hardware */
|
/* video hardware */
|
||||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_warriorb);
|
GFXDECODE(config, m_gfxdecode[0], m_tc0110pcr[0], gfx_warriorb_1);
|
||||||
PALETTE(config, m_palette).set_entries(4096);
|
GFXDECODE(config, m_gfxdecode[1], m_tc0110pcr[1], gfx_warriorb_2);
|
||||||
PALETTE(config, "palette2").set_entries(4096);
|
|
||||||
|
|
||||||
config.set_default_layout(layout_dualhsxs);
|
config.set_default_layout(layout_dualhsxs);
|
||||||
|
|
||||||
@ -533,15 +535,15 @@ void warriorb_state::warriorb(machine_config &config)
|
|||||||
lscreen.set_size(40*8, 32*8);
|
lscreen.set_size(40*8, 32*8);
|
||||||
lscreen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
|
lscreen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
|
||||||
lscreen.set_screen_update(FUNC(warriorb_state::screen_update_left));
|
lscreen.set_screen_update(FUNC(warriorb_state::screen_update_left));
|
||||||
lscreen.set_palette(m_palette);
|
lscreen.set_palette(m_tc0110pcr[0]);
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn[0], 0);
|
TC0100SCN(config, m_tc0100scn[0], 0);
|
||||||
m_tc0100scn[0]->set_gfx_region(1);
|
m_tc0100scn[0]->set_gfx_region(1);
|
||||||
m_tc0100scn[0]->set_offsets(4, 0);
|
m_tc0100scn[0]->set_offsets(4, 0);
|
||||||
m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0100scn[0]->set_gfxdecode_tag(m_gfxdecode[0]);
|
||||||
m_tc0100scn[0]->set_palette(m_palette);
|
m_tc0100scn[0]->set_palette(m_tc0110pcr[0]);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr[0], 0, m_palette);
|
TC0110PCR(config, m_tc0110pcr[0], 0);
|
||||||
|
|
||||||
screen_device &rscreen(SCREEN(config, "rscreen", SCREEN_TYPE_RASTER));
|
screen_device &rscreen(SCREEN(config, "rscreen", SCREEN_TYPE_RASTER));
|
||||||
rscreen.set_refresh_hz(60);
|
rscreen.set_refresh_hz(60);
|
||||||
@ -549,17 +551,17 @@ void warriorb_state::warriorb(machine_config &config)
|
|||||||
rscreen.set_size(40*8, 32*8);
|
rscreen.set_size(40*8, 32*8);
|
||||||
rscreen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
|
rscreen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
|
||||||
rscreen.set_screen_update(FUNC(warriorb_state::screen_update_right));
|
rscreen.set_screen_update(FUNC(warriorb_state::screen_update_right));
|
||||||
rscreen.set_palette("palette2");
|
rscreen.set_palette(m_tc0110pcr[1]);
|
||||||
|
|
||||||
TC0100SCN(config, m_tc0100scn[1], 0);
|
TC0100SCN(config, m_tc0100scn[1], 0);
|
||||||
m_tc0100scn[1]->set_gfx_region(2);
|
m_tc0100scn[1]->set_gfx_region(1);
|
||||||
m_tc0100scn[1]->set_offsets(4, 0);
|
m_tc0100scn[1]->set_offsets(4, 0);
|
||||||
m_tc0100scn[1]->set_multiscr_xoffs(1);
|
m_tc0100scn[1]->set_multiscr_xoffs(1);
|
||||||
m_tc0100scn[1]->set_multiscr_hack(1);
|
m_tc0100scn[1]->set_multiscr_hack(1);
|
||||||
m_tc0100scn[1]->set_gfxdecode_tag(m_gfxdecode);
|
m_tc0100scn[1]->set_gfxdecode_tag(m_gfxdecode[1]);
|
||||||
m_tc0100scn[1]->set_palette("palette2");
|
m_tc0100scn[1]->set_palette(m_tc0110pcr[1]);
|
||||||
|
|
||||||
TC0110PCR(config, m_tc0110pcr[1], 0, "palette2");
|
TC0110PCR(config, m_tc0110pcr[1], 0);
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
SPEAKER(config, "lspeaker").front_left();
|
SPEAKER(config, "lspeaker").front_left();
|
||||||
|
@ -53,8 +53,7 @@ public:
|
|||||||
m_tc0110pcr(*this, "tc0110pcr"),
|
m_tc0110pcr(*this, "tc0110pcr"),
|
||||||
m_tc0480scp(*this, "tc0480scp"),
|
m_tc0480scp(*this, "tc0480scp"),
|
||||||
m_gfxdecode(*this, "gfxdecode"),
|
m_gfxdecode(*this, "gfxdecode"),
|
||||||
m_screen(*this, "screen"),
|
m_screen(*this, "screen")
|
||||||
m_palette(*this, "palette")
|
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
void galastrm(machine_config &config);
|
void galastrm(machine_config &config);
|
||||||
@ -75,7 +74,6 @@ private:
|
|||||||
required_device<tc0480scp_device> m_tc0480scp;
|
required_device<tc0480scp_device> m_tc0480scp;
|
||||||
required_device<gfxdecode_device> m_gfxdecode;
|
required_device<gfxdecode_device> m_gfxdecode;
|
||||||
required_device<screen_device> m_screen;
|
required_device<screen_device> m_screen;
|
||||||
required_device<palette_device> m_palette;
|
|
||||||
|
|
||||||
struct gs_tempsprite
|
struct gs_tempsprite
|
||||||
{
|
{
|
||||||
|
@ -30,8 +30,7 @@ public:
|
|||||||
m_tc0110pcr(*this, "tc0110pcr_%u", 1),
|
m_tc0110pcr(*this, "tc0110pcr_%u", 1),
|
||||||
m_2610_l(*this, "2610.%u.l", 1),
|
m_2610_l(*this, "2610.%u.l", 1),
|
||||||
m_2610_r(*this, "2610.%u.r", 1),
|
m_2610_r(*this, "2610.%u.r", 1),
|
||||||
m_gfxdecode(*this, "gfxdecode"),
|
m_gfxdecode(*this, "gfxdecode_%u", 1),
|
||||||
m_palette(*this, "palette"),
|
|
||||||
m_spriteram(*this, "spriteram"),
|
m_spriteram(*this, "spriteram"),
|
||||||
m_z80bank(*this, "z80bank")
|
m_z80bank(*this, "z80bank")
|
||||||
{ }
|
{ }
|
||||||
@ -48,8 +47,7 @@ private:
|
|||||||
required_device_array<tc0110pcr_device, 3> m_tc0110pcr;
|
required_device_array<tc0110pcr_device, 3> m_tc0110pcr;
|
||||||
required_device_array<filter_volume_device, 2> m_2610_l;
|
required_device_array<filter_volume_device, 2> m_2610_l;
|
||||||
required_device_array<filter_volume_device, 2> m_2610_r;
|
required_device_array<filter_volume_device, 2> m_2610_r;
|
||||||
required_device<gfxdecode_device> m_gfxdecode;
|
required_device_array<gfxdecode_device, 3> m_gfxdecode;
|
||||||
required_device<palette_device> m_palette;
|
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
required_shared_ptr<uint16_t> m_spriteram;
|
required_shared_ptr<uint16_t> m_spriteram;
|
||||||
@ -74,8 +72,8 @@ private:
|
|||||||
uint32_t screen_update_middle(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
uint32_t screen_update_middle(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||||
uint32_t screen_update_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
uint32_t screen_update_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||||
void postload();
|
void postload();
|
||||||
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, int primask, int x_offs, int y_offs );
|
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int primask, int x_offs, int y_offs, int chip);
|
||||||
void parse_control( );
|
void parse_control();
|
||||||
uint32_t update_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int xoffs, int chip);
|
uint32_t update_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int xoffs, int chip);
|
||||||
void darius2_master_map(address_map &map);
|
void darius2_master_map(address_map &map);
|
||||||
void darius2_slave_map(address_map &map);
|
void darius2_slave_map(address_map &map);
|
||||||
|
@ -38,8 +38,7 @@ public:
|
|||||||
m_2610_1r(*this, "2610.1r"),
|
m_2610_1r(*this, "2610.1r"),
|
||||||
m_2610_2l(*this, "2610.2l"),
|
m_2610_2l(*this, "2610.2l"),
|
||||||
m_2610_2r(*this, "2610.2r"),
|
m_2610_2r(*this, "2610.2r"),
|
||||||
m_gfxdecode(*this, "gfxdecode"),
|
m_gfxdecode(*this, "gfxdecode")
|
||||||
m_palette(*this, "palette")
|
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
void othunder(machine_config &config);
|
void othunder(machine_config &config);
|
||||||
@ -97,7 +96,6 @@ private:
|
|||||||
required_device<filter_volume_device> m_2610_2l;
|
required_device<filter_volume_device> m_2610_2l;
|
||||||
required_device<filter_volume_device> m_2610_2r;
|
required_device<filter_volume_device> m_2610_2r;
|
||||||
required_device<gfxdecode_device> m_gfxdecode;
|
required_device<gfxdecode_device> m_gfxdecode;
|
||||||
required_device<palette_device> m_palette;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // MAME_INCLUDES_OTHUNDER_H
|
#endif // MAME_INCLUDES_OTHUNDER_H
|
||||||
|
@ -49,6 +49,7 @@ public:
|
|||||||
void taito_f2_tc0220ioc(machine_config &config);
|
void taito_f2_tc0220ioc(machine_config &config);
|
||||||
void taito_f2_tc0510nio(machine_config &config);
|
void taito_f2_tc0510nio(machine_config &config);
|
||||||
void taito_f2_te7750(machine_config &config);
|
void taito_f2_te7750(machine_config &config);
|
||||||
|
void taito_f2_tc0110pcr(machine_config &config);
|
||||||
void taito_f2(machine_config &config);
|
void taito_f2(machine_config &config);
|
||||||
void thundfox(machine_config &config);
|
void thundfox(machine_config &config);
|
||||||
void dinorex(machine_config &config);
|
void dinorex(machine_config &config);
|
||||||
@ -170,7 +171,7 @@ protected:
|
|||||||
optional_device<tc0510nio_device> m_tc0510nio;
|
optional_device<tc0510nio_device> m_tc0510nio;
|
||||||
required_device<gfxdecode_device> m_gfxdecode;
|
required_device<gfxdecode_device> m_gfxdecode;
|
||||||
required_device<screen_device> m_screen;
|
required_device<screen_device> m_screen;
|
||||||
required_device<palette_device> m_palette;
|
optional_device<palette_device> m_palette;
|
||||||
|
|
||||||
DECLARE_WRITE8_MEMBER(coin_nibble_w);
|
DECLARE_WRITE8_MEMBER(coin_nibble_w);
|
||||||
DECLARE_WRITE16_MEMBER(growl_coin_word_w);
|
DECLARE_WRITE16_MEMBER(growl_coin_word_w);
|
||||||
|
@ -27,8 +27,7 @@ public:
|
|||||||
m_tc0510nio(*this, "tc0510nio"),
|
m_tc0510nio(*this, "tc0510nio"),
|
||||||
m_2610_l(*this, "2610.%u.l", 1),
|
m_2610_l(*this, "2610.%u.l", 1),
|
||||||
m_2610_r(*this, "2610.%u.r", 1),
|
m_2610_r(*this, "2610.%u.r", 1),
|
||||||
m_gfxdecode(*this, "gfxdecode"),
|
m_gfxdecode(*this, "gfxdecode_%u", 1),
|
||||||
m_palette(*this, "palette"),
|
|
||||||
m_spriteram(*this, "spriteram"),
|
m_spriteram(*this, "spriteram"),
|
||||||
m_z80bank(*this, "z80bank") { }
|
m_z80bank(*this, "z80bank") { }
|
||||||
|
|
||||||
@ -45,8 +44,7 @@ private:
|
|||||||
optional_device<tc0510nio_device> m_tc0510nio;
|
optional_device<tc0510nio_device> m_tc0510nio;
|
||||||
required_device_array<filter_volume_device, 2> m_2610_l;
|
required_device_array<filter_volume_device, 2> m_2610_l;
|
||||||
required_device_array<filter_volume_device, 2> m_2610_r;
|
required_device_array<filter_volume_device, 2> m_2610_r;
|
||||||
required_device<gfxdecode_device> m_gfxdecode;
|
required_device_array<gfxdecode_device, 2> m_gfxdecode;
|
||||||
required_device<palette_device> m_palette;
|
|
||||||
|
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
required_shared_ptr<uint16_t> m_spriteram;
|
required_shared_ptr<uint16_t> m_spriteram;
|
||||||
@ -67,7 +65,7 @@ private:
|
|||||||
|
|
||||||
uint32_t screen_update_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
uint32_t screen_update_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||||
uint32_t screen_update_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
uint32_t screen_update_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||||
void draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int x_offs, int y_offs );
|
void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int x_offs, int y_offs, int chip);
|
||||||
uint32_t update_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int xoffs, int chip);
|
uint32_t update_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int xoffs, int chip);
|
||||||
|
|
||||||
void darius2d_map(address_map &map);
|
void darius2d_map(address_map &map);
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
SPRITE DRAW ROUTINE
|
SPRITE DRAW ROUTINE
|
||||||
************************************************************/
|
************************************************************/
|
||||||
|
|
||||||
void ninjaw_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect, int primask, int x_offs, int y_offs )
|
void ninjaw_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect, int primask, int x_offs, int y_offs, int chip)
|
||||||
{
|
{
|
||||||
int offs, data, tilenum, color, flipx, flipy;
|
int offs, data, tilenum, color, flipx, flipy;
|
||||||
int x, y, priority, curx, cury;
|
int x, y, priority, curx, cury;
|
||||||
@ -69,7 +69,7 @@ void ninjaw_state::draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect
|
|||||||
cury = y;
|
cury = y;
|
||||||
code = tilenum;
|
code = tilenum;
|
||||||
|
|
||||||
m_gfxdecode->gfx(0)->transpen(bitmap,cliprect,
|
m_gfxdecode[chip]->gfx(0)->transpen(bitmap,cliprect,
|
||||||
code, color,
|
code, color,
|
||||||
flipx, flipy,
|
flipx, flipy,
|
||||||
curx, cury, 0);
|
curx, cury, 0);
|
||||||
@ -104,15 +104,15 @@ uint32_t ninjaw_state::update_screen(screen_device &screen, bitmap_ind16 &bitmap
|
|||||||
|
|
||||||
/* Ensure screen blanked even when bottom layers not drawn due to disable bit */
|
/* Ensure screen blanked even when bottom layers not drawn due to disable bit */
|
||||||
if (nodraw)
|
if (nodraw)
|
||||||
bitmap.fill(m_palette->black_pen(), cliprect);
|
bitmap.fill(m_tc0110pcr[chip]->black_pen(), cliprect);
|
||||||
|
|
||||||
/* Sprites can be under/over the layer below text layer */
|
/* Sprites can be under/over the layer below text layer */
|
||||||
draw_sprites(bitmap, cliprect, 1, xoffs, 8); // draw sprites with priority 1 which are under the mid layer
|
draw_sprites(bitmap, cliprect, 1, xoffs, 8, chip); // draw sprites with priority 1 which are under the mid layer
|
||||||
|
|
||||||
// draw middle layer
|
// draw middle layer
|
||||||
tc0100scn->tilemap_draw(screen, bitmap, cliprect, layer[1], 0, 0);
|
tc0100scn->tilemap_draw(screen, bitmap, cliprect, layer[1], 0, 0);
|
||||||
|
|
||||||
draw_sprites(bitmap,cliprect,0,xoffs,8); // draw sprites with priority 0 which are over the mid layer
|
draw_sprites(bitmap, cliprect, 0, xoffs, 8, chip); // draw sprites with priority 0 which are over the mid layer
|
||||||
|
|
||||||
// draw top(text) layer
|
// draw top(text) layer
|
||||||
tc0100scn->tilemap_draw(screen, bitmap, cliprect, layer[2], 0, 0);
|
tc0100scn->tilemap_draw(screen, bitmap, cliprect, layer[2], 0, 0);
|
||||||
|
@ -15,17 +15,15 @@ The data bus is 16 bits wide.
|
|||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "tc0110pcr.h"
|
#include "tc0110pcr.h"
|
||||||
|
|
||||||
#define TC0110PCR_RAM_SIZE 0x2000
|
|
||||||
|
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(TC0110PCR, tc0110pcr_device, "tc0110pcr", "Taito TC0110PCR")
|
DEFINE_DEVICE_TYPE(TC0110PCR, tc0110pcr_device, "tc0110pcr", "Taito TC0110PCR")
|
||||||
|
|
||||||
tc0110pcr_device::tc0110pcr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
tc0110pcr_device::tc0110pcr_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
|
||||||
: device_t(mconfig, TC0110PCR, tag, owner, clock)
|
: device_t(mconfig, TC0110PCR, tag, owner, clock)
|
||||||
|
, device_palette_interface(mconfig, *this)
|
||||||
, m_ram(nullptr)
|
, m_ram(nullptr)
|
||||||
, m_type(0)
|
, m_type(0)
|
||||||
, m_addr(0)
|
, m_addr(0)
|
||||||
, m_palette(*this, finder_base::DUMMY_TAG)
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,12 +64,11 @@ void tc0110pcr_device::device_post_load()
|
|||||||
|
|
||||||
void tc0110pcr_device::restore_colors()
|
void tc0110pcr_device::restore_colors()
|
||||||
{
|
{
|
||||||
int i, color, r = 0, g = 0, b = 0;
|
for (int i = 0; i < (256 * 16); i++)
|
||||||
|
|
||||||
for (i = 0; i < (256 * 16); i++)
|
|
||||||
{
|
{
|
||||||
color = m_ram[i];
|
const u16 color = m_ram[i];
|
||||||
|
|
||||||
|
u8 r = 0, g = 0, b = 0;
|
||||||
switch (m_type)
|
switch (m_type)
|
||||||
{
|
{
|
||||||
case 0x00:
|
case 0x00:
|
||||||
@ -99,12 +96,12 @@ void tc0110pcr_device::restore_colors()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_palette->set_pen_color(i, rgb_t(r, g, b));
|
set_pen_color(i, rgb_t(r, g, b));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
READ16_MEMBER(tc0110pcr_device::word_r )
|
u16 tc0110pcr_device::word_r(offs_t offset)
|
||||||
{
|
{
|
||||||
switch (offset)
|
switch (offset)
|
||||||
{
|
{
|
||||||
@ -117,7 +114,7 @@ READ16_MEMBER(tc0110pcr_device::word_r )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE16_MEMBER(tc0110pcr_device::word_w )
|
void tc0110pcr_device::word_w(offs_t offset, u16 data)
|
||||||
{
|
{
|
||||||
switch (offset)
|
switch (offset)
|
||||||
{
|
{
|
||||||
@ -130,7 +127,7 @@ WRITE16_MEMBER(tc0110pcr_device::word_w )
|
|||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
m_ram[m_addr] = data & 0xffff;
|
m_ram[m_addr] = data & 0xffff;
|
||||||
m_palette->set_pen_color(m_addr, pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
|
set_pen_color(m_addr, pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -139,7 +136,7 @@ WRITE16_MEMBER(tc0110pcr_device::word_w )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE16_MEMBER(tc0110pcr_device::step1_word_w )
|
void tc0110pcr_device::step1_word_w(offs_t offset, u16 data)
|
||||||
{
|
{
|
||||||
switch (offset)
|
switch (offset)
|
||||||
{
|
{
|
||||||
@ -151,7 +148,7 @@ WRITE16_MEMBER(tc0110pcr_device::step1_word_w )
|
|||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
m_ram[m_addr] = data & 0xffff;
|
m_ram[m_addr] = data & 0xffff;
|
||||||
m_palette->set_pen_color(m_addr, pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
|
set_pen_color(m_addr, pal5bit(data >> 0), pal5bit(data >> 5), pal5bit(data >> 10));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -160,7 +157,7 @@ WRITE16_MEMBER(tc0110pcr_device::step1_word_w )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE16_MEMBER(tc0110pcr_device::step1_rbswap_word_w )
|
void tc0110pcr_device::step1_rbswap_word_w(offs_t offset, u16 data)
|
||||||
{
|
{
|
||||||
m_type = 1; /* xRRRRRGGGGGBBBBB */
|
m_type = 1; /* xRRRRRGGGGGBBBBB */
|
||||||
|
|
||||||
@ -174,7 +171,7 @@ WRITE16_MEMBER(tc0110pcr_device::step1_rbswap_word_w )
|
|||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
m_ram[m_addr] = data & 0xffff;
|
m_ram[m_addr] = data & 0xffff;
|
||||||
m_palette->set_pen_color(m_addr, pal5bit(data >> 10), pal5bit(data >> 5), pal5bit(data >> 0));
|
set_pen_color(m_addr, pal5bit(data >> 10), pal5bit(data >> 5), pal5bit(data >> 0));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -183,7 +180,7 @@ WRITE16_MEMBER(tc0110pcr_device::step1_rbswap_word_w )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE16_MEMBER(tc0110pcr_device::step1_4bpg_word_w )
|
void tc0110pcr_device::step1_4bpg_word_w(offs_t offset, u16 data)
|
||||||
{
|
{
|
||||||
m_type = 2; /* xxxxBBBBGGGGRRRR */
|
m_type = 2; /* xxxxBBBBGGGGRRRR */
|
||||||
|
|
||||||
@ -197,7 +194,7 @@ WRITE16_MEMBER(tc0110pcr_device::step1_4bpg_word_w )
|
|||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
m_ram[m_addr] = data & 0xffff;
|
m_ram[m_addr] = data & 0xffff;
|
||||||
m_palette->set_pen_color(m_addr, pal4bit(data >> 0), pal4bit(data >> 4), pal4bit(data >> 8));
|
set_pen_color(m_addr, pal4bit(data >> 0), pal4bit(data >> 4), pal4bit(data >> 8));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -8,22 +8,16 @@
|
|||||||
#include "emupal.h"
|
#include "emupal.h"
|
||||||
|
|
||||||
|
|
||||||
class tc0110pcr_device : public device_t
|
class tc0110pcr_device : public device_t, public device_palette_interface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
template <typename T> tc0110pcr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&palette_tag)
|
tc0110pcr_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||||
: tc0110pcr_device(mconfig, tag, owner, clock)
|
|
||||||
{
|
|
||||||
m_palette.set_tag(std::forward<T>(palette_tag));
|
|
||||||
}
|
|
||||||
|
|
||||||
tc0110pcr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
u16 word_r(offs_t offset);
|
||||||
|
void word_w(offs_t offset, u16 data); /* color index goes up in step of 2 */
|
||||||
DECLARE_READ16_MEMBER( word_r );
|
void step1_word_w(offs_t offset, u16 data); /* color index goes up in step of 1 */
|
||||||
DECLARE_WRITE16_MEMBER( word_w ); /* color index goes up in step of 2 */
|
void step1_rbswap_word_w(offs_t offset, u16 data); /* swaps red and blue components */
|
||||||
DECLARE_WRITE16_MEMBER( step1_word_w ); /* color index goes up in step of 1 */
|
void step1_4bpg_word_w(offs_t offset, u16 data); /* only 4 bits per color gun */
|
||||||
DECLARE_WRITE16_MEMBER( step1_rbswap_word_w ); /* swaps red and blue components */
|
|
||||||
DECLARE_WRITE16_MEMBER( step1_4bpg_word_w ); /* only 4 bits per color gun */
|
|
||||||
|
|
||||||
void restore_colors();
|
void restore_colors();
|
||||||
|
|
||||||
@ -33,11 +27,15 @@ protected:
|
|||||||
virtual void device_reset() override;
|
virtual void device_reset() override;
|
||||||
virtual void device_post_load() override;
|
virtual void device_post_load() override;
|
||||||
|
|
||||||
|
// device_palette_interface overrides
|
||||||
|
virtual u32 palette_entries() const override { return TC0110PCR_RAM_SIZE; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
static const unsigned TC0110PCR_RAM_SIZE = 0x2000 / 2;
|
||||||
|
|
||||||
std::unique_ptr<uint16_t[]> m_ram;
|
std::unique_ptr<uint16_t[]> m_ram;
|
||||||
int m_type;
|
int m_type;
|
||||||
int m_addr;
|
int m_addr;
|
||||||
required_device<palette_device> m_palette;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
DECLARE_DEVICE_TYPE(TC0110PCR, tc0110pcr_device)
|
DECLARE_DEVICE_TYPE(TC0110PCR, tc0110pcr_device)
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
SPRITE DRAW ROUTINE
|
SPRITE DRAW ROUTINE
|
||||||
************************************************************/
|
************************************************************/
|
||||||
|
|
||||||
void warriorb_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int x_offs, int y_offs )
|
void warriorb_state::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int x_offs, int y_offs, int chip)
|
||||||
{
|
{
|
||||||
int offs, data, data2, tilenum, color, flipx, flipy;
|
int offs, data, data2, tilenum, color, flipx, flipy;
|
||||||
int x, y, priority, pri_mask;
|
int x, y, priority, pri_mask;
|
||||||
@ -54,7 +54,7 @@ void warriorb_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap,
|
|||||||
if (x > 0x3c0) x -= 0x400;
|
if (x > 0x3c0) x -= 0x400;
|
||||||
if (y > 0x180) y -= 0x200;
|
if (y > 0x180) y -= 0x200;
|
||||||
|
|
||||||
m_gfxdecode->gfx(0)->prio_transpen(bitmap,cliprect,
|
m_gfxdecode[chip]->gfx(0)->prio_transpen(bitmap,cliprect,
|
||||||
tilenum,
|
tilenum,
|
||||||
color,
|
color,
|
||||||
flipx,flipy,
|
flipx,flipy,
|
||||||
@ -93,13 +93,13 @@ uint32_t warriorb_state::update_screen(screen_device &screen, bitmap_ind16 &bitm
|
|||||||
|
|
||||||
/* Ensure screen blanked even when bottom layers not drawn due to disable bit */
|
/* Ensure screen blanked even when bottom layers not drawn due to disable bit */
|
||||||
if (nodraw)
|
if (nodraw)
|
||||||
bitmap.fill(m_palette->black_pen(), cliprect);
|
bitmap.fill(m_tc0110pcr[chip]->black_pen(), cliprect);
|
||||||
|
|
||||||
// draw middle layer
|
// draw middle layer
|
||||||
tc0100scn->tilemap_draw(screen, bitmap, cliprect, layer[1], 0, 1);
|
tc0100scn->tilemap_draw(screen, bitmap, cliprect, layer[1], 0, 1);
|
||||||
|
|
||||||
/* Sprites can be under/over the layer below text layer */
|
/* Sprites can be under/over the layer below text layer */
|
||||||
draw_sprites(screen, bitmap, cliprect, xoffs * chip, 8); // draw sprites
|
draw_sprites(screen, bitmap, cliprect, xoffs * chip, 8, chip); // draw sprites
|
||||||
|
|
||||||
// draw top(text) layer
|
// draw top(text) layer
|
||||||
tc0100scn->tilemap_draw(screen, bitmap, cliprect, layer[2], 0, 0);
|
tc0100scn->tilemap_draw(screen, bitmap, cliprect, layer[2], 0, 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user