update more to use modern palette device handling, removing redundant code (nw)

This commit is contained in:
David Haywood 2014-03-06 16:10:50 +00:00
parent 4532da6717
commit df69542717
4 changed files with 10 additions and 67 deletions

View File

@ -35,8 +35,6 @@ public:
m_bg_2_videoram(*this, "bg_videoram_2"),
m_attr_videoram(*this, "attr_videoram"),
m_attr_2_videoram(*this, "attr_videoram_2"),
m_paletteram_1(*this, "paletteram_1"),
m_paletteram_2(*this, "paletteram_2"),
m_maincpu(*this, "maincpu"),
m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette") { }
@ -49,8 +47,6 @@ public:
required_shared_ptr<UINT16> m_attr_videoram;
required_shared_ptr<UINT16> m_attr_2_videoram;
required_shared_ptr<UINT16> m_paletteram_1;
required_shared_ptr<UINT16> m_paletteram_2;
DECLARE_WRITE16_MEMBER(fresh_bg_videoram_w);
DECLARE_WRITE16_MEMBER(fresh_attr_videoram_w);
@ -59,8 +55,6 @@ public:
DECLARE_WRITE16_MEMBER(fresh_attr_2_videoram_w);
TILE_GET_INFO_MEMBER(get_fresh_bg_2_tile_info);
DECLARE_WRITE16_MEMBER(fresh_paletteram_1_w);
DECLARE_WRITE16_MEMBER(fresh_paletteram_2_w);
UINT16 m_d30000_value;
@ -85,7 +79,6 @@ public:
{
logerror("c76000_write (scroll 3) %04x (m_d30000_value = %04x)\n", data, m_d30000_value);
}
void update_palette(int offset);
DECLARE_READ16_MEMBER( unk_r )
{
@ -151,27 +144,6 @@ WRITE16_MEMBER(fresh_state::fresh_attr_2_videoram_w)
}
void fresh_state::update_palette( int offset )
{
UINT16 pal1 = m_paletteram_1[offset];
UINT8 pal2 = m_paletteram_2[offset];
m_palette->set_pen_color(offset,rgb_t(pal1&0xff,(pal1>>8)&0xff,pal2));
}
WRITE16_MEMBER(fresh_state::fresh_paletteram_1_w)
{
COMBINE_DATA(&m_paletteram_1[offset]);
update_palette(offset);
}
WRITE16_MEMBER(fresh_state::fresh_paletteram_2_w)
{
COMBINE_DATA(&m_paletteram_2[offset]);
update_palette(offset);
}
void fresh_state::video_start()
@ -214,8 +186,8 @@ static ADDRESS_MAP_START( fresh_map, AS_PROGRAM, 16, fresh_state )
// written together
AM_RANGE(0xC40000, 0xC417ff) AM_RAM_WRITE(fresh_paletteram_1_w) AM_SHARE( "paletteram_1" ) // 16-bit
AM_RANGE(0xC50000, 0xC517ff) AM_RAM_WRITE(fresh_paletteram_2_w) AM_SHARE( "paletteram_2" ) // 8-bit
AM_RANGE(0xC40000, 0xC417ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0xC50000, 0xC517ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
// AM_RANGE(0xD00000, 0xD00001) AM_RAM
// AM_RANGE(0xD10000, 0xD10001) AM_RAM
@ -629,6 +601,8 @@ static MACHINE_CONFIG_START( fresh, fresh_state )
MCFG_SCREEN_UPDATE_DRIVER(fresh_state, screen_update_fresh)
MCFG_PALETTE_ADD("palette", 0x1000) // or 0xc00
MCFG_PALETTE_FORMAT(XBGR)
MCFG_GFXDECODE_ADD("gfxdecode", fresh)
/* sound hw? */

View File

@ -44,20 +44,7 @@ READ16_MEMBER(lemmings_state::lemmings_trackball_r)
WRITE16_MEMBER(lemmings_state::lemmings_palette_24bit_w)
{
int r, g, b;
COMBINE_DATA(&m_paletteram[offset]);
if (offset & 1)
offset--;
b = (m_paletteram[offset] >> 0) & 0xff;
g = (m_paletteram[offset + 1] >> 8) & 0xff;
r = (m_paletteram[offset + 1] >> 0) & 0xff;
m_palette->set_pen_color(offset / 2, rgb_t(r, g, b));
}
void lemmings_state::lemmings_sound_cb( address_space &space, UINT16 data, UINT16 mem_mask )
{
@ -95,7 +82,7 @@ static ADDRESS_MAP_START( lemmings_map, AS_PROGRAM, 16, lemmings_state )
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_SHARE("spriteram2")
AM_RANGE(0x160000, 0x160fff) AM_RAM_WRITE(lemmings_palette_24bit_w) AM_SHARE("paletteram")
AM_RANGE(0x160000, 0x160fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x170000, 0x17000f) AM_RAM_WRITE(lemmings_control_w) AM_SHARE("control_data")
AM_RANGE(0x190000, 0x19000f) AM_READ(lemmings_trackball_r)
AM_RANGE(0x1a0000, 0x1a3fff) AM_READWRITE(lem_protection_region_0_146_r,lem_protection_region_0_146_w)AM_SHARE("prot16ram") /* Protection device */
@ -265,6 +252,7 @@ static MACHINE_CONFIG_START( lemmings, lemmings_state )
MCFG_GFXDECODE_ADD("gfxdecode", lemmings)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(XBGR)
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)

View File

@ -62,7 +62,6 @@ public:
int m_prev_sprites_count;
UINT8 m_spotty_sound_cmd;
DECLARE_WRITE32_MEMBER(limenko_coincounter_w);
DECLARE_WRITE32_MEMBER(limenko_paletteram_w);
DECLARE_WRITE32_MEMBER(bg_videoram_w);
DECLARE_WRITE32_MEMBER(md_videoram_w);
DECLARE_WRITE32_MEMBER(fg_videoram_w);
@ -109,23 +108,7 @@ WRITE32_MEMBER(limenko_state::limenko_coincounter_w)
coin_counter_w(machine(),0,data & 0x10000);
}
WRITE32_MEMBER(limenko_state::limenko_paletteram_w)
{
UINT16 paldata;
COMBINE_DATA(&m_generic_paletteram_32[offset]);
if(ACCESSING_BITS_0_15)
{
paldata = m_generic_paletteram_32[offset] & 0x7fff;
m_palette->set_pen_color(offset * 2 + 1, pal5bit(paldata >> 0), pal5bit(paldata >> 5), pal5bit(paldata >> 10));
}
if(ACCESSING_BITS_16_31)
{
paldata = (m_generic_paletteram_32[offset] >> 16) & 0x7fff;
m_palette->set_pen_color(offset * 2 + 0, pal5bit(paldata >> 0), pal5bit(paldata >> 5), pal5bit(paldata >> 10));
}
}
WRITE32_MEMBER(limenko_state::bg_videoram_w)
{
@ -234,7 +217,7 @@ static ADDRESS_MAP_START( limenko_map, AS_PROGRAM, 32, limenko_state )
AM_RANGE(0x80010000, 0x80017fff) AM_RAM_WRITE(bg_videoram_w) AM_SHARE("bg_videoram")
AM_RANGE(0x80018000, 0x80018fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x80019000, 0x80019fff) AM_RAM AM_SHARE("spriteram2")
AM_RANGE(0x8001c000, 0x8001dfff) AM_RAM_WRITE(limenko_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x8001c000, 0x8001dfff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x8001e000, 0x8001ebff) AM_RAM // ? not used
AM_RANGE(0x8001ffec, 0x8001ffff) AM_RAM AM_SHARE("videoreg")
AM_RANGE(0x8003e000, 0x8003e003) AM_WRITE(spriteram_buffer_w)
@ -261,7 +244,7 @@ static ADDRESS_MAP_START( spotty_map, AS_PROGRAM, 32, limenko_state )
AM_RANGE(0x80010000, 0x80017fff) AM_RAM_WRITE(bg_videoram_w) AM_SHARE("bg_videoram")
AM_RANGE(0x80018000, 0x80018fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x80019000, 0x80019fff) AM_RAM AM_SHARE("spriteram2")
AM_RANGE(0x8001c000, 0x8001dfff) AM_RAM_WRITE(limenko_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x8001c000, 0x8001dfff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x8001e000, 0x8001ebff) AM_RAM // ? not used
AM_RANGE(0x8001ffec, 0x8001ffff) AM_RAM AM_SHARE("videoreg")
AM_RANGE(0x8003e000, 0x8003e003) AM_WRITE(spriteram_buffer_w)
@ -770,7 +753,7 @@ static MACHINE_CONFIG_START( limenko, limenko_state )
MCFG_GFXDECODE_ADD("gfxdecode", limenko)
MCFG_PALETTE_ADD("palette", 0x1000)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@ -801,6 +784,7 @@ static MACHINE_CONFIG_START( spotty, limenko_state )
MCFG_GFXDECODE_ADD("gfxdecode", limenko)
MCFG_PALETTE_ADD("palette", 0x1000)
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
/* sound hardware */

View File

@ -12,7 +12,6 @@ public:
m_deco146(*this, "ioprot"),
m_spriteram(*this, "spriteram"),
m_spriteram2(*this, "spriteram2") ,
m_paletteram(*this, "paletteram"),
m_control_data(*this, "control_data"),
m_vram_data(*this, "vram_data"),
m_pixel_0_data(*this, "pixel_0_data"),
@ -35,7 +34,6 @@ public:
required_device<buffered_spriteram16_device> m_spriteram;
required_device<buffered_spriteram16_device> m_spriteram2;
/* memory pointers */
required_shared_ptr<UINT16> m_paletteram;
required_shared_ptr<UINT16> m_control_data;
required_shared_ptr<UINT16> m_vram_data;
required_shared_ptr<UINT16> m_pixel_0_data;
@ -45,7 +43,6 @@ public:
DECLARE_WRITE16_MEMBER(lemmings_control_w);
DECLARE_READ16_MEMBER(lemmings_trackball_r);
DECLARE_WRITE16_MEMBER(lemmings_palette_24bit_w);
void lemmings_sound_cb( address_space &space, UINT16 data, UINT16 mem_mask );
DECLARE_WRITE8_MEMBER(lemmings_sound_ack_w);
DECLARE_WRITE16_MEMBER(lemmings_pixel_0_w);