mirror of
https://github.com/holub/mame
synced 2025-04-29 03:20:50 +03:00
update more to use modern palette device handling, removing redundant code (nw)
This commit is contained in:
parent
4532da6717
commit
df69542717
@ -35,8 +35,6 @@ public:
|
|||||||
m_bg_2_videoram(*this, "bg_videoram_2"),
|
m_bg_2_videoram(*this, "bg_videoram_2"),
|
||||||
m_attr_videoram(*this, "attr_videoram"),
|
m_attr_videoram(*this, "attr_videoram"),
|
||||||
m_attr_2_videoram(*this, "attr_videoram_2"),
|
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_maincpu(*this, "maincpu"),
|
||||||
m_gfxdecode(*this, "gfxdecode"),
|
m_gfxdecode(*this, "gfxdecode"),
|
||||||
m_palette(*this, "palette") { }
|
m_palette(*this, "palette") { }
|
||||||
@ -49,8 +47,6 @@ public:
|
|||||||
required_shared_ptr<UINT16> m_attr_videoram;
|
required_shared_ptr<UINT16> m_attr_videoram;
|
||||||
required_shared_ptr<UINT16> m_attr_2_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_bg_videoram_w);
|
||||||
DECLARE_WRITE16_MEMBER(fresh_attr_videoram_w);
|
DECLARE_WRITE16_MEMBER(fresh_attr_videoram_w);
|
||||||
@ -59,8 +55,6 @@ public:
|
|||||||
DECLARE_WRITE16_MEMBER(fresh_attr_2_videoram_w);
|
DECLARE_WRITE16_MEMBER(fresh_attr_2_videoram_w);
|
||||||
TILE_GET_INFO_MEMBER(get_fresh_bg_2_tile_info);
|
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;
|
UINT16 m_d30000_value;
|
||||||
|
|
||||||
@ -85,7 +79,6 @@ public:
|
|||||||
{
|
{
|
||||||
logerror("c76000_write (scroll 3) %04x (m_d30000_value = %04x)\n", data, m_d30000_value);
|
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 )
|
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()
|
void fresh_state::video_start()
|
||||||
@ -214,8 +186,8 @@ static ADDRESS_MAP_START( fresh_map, AS_PROGRAM, 16, fresh_state )
|
|||||||
|
|
||||||
|
|
||||||
// written together
|
// written together
|
||||||
AM_RANGE(0xC40000, 0xC417ff) AM_RAM_WRITE(fresh_paletteram_1_w) AM_SHARE( "paletteram_1" ) // 16-bit
|
AM_RANGE(0xC40000, 0xC417ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
|
||||||
AM_RANGE(0xC50000, 0xC517ff) AM_RAM_WRITE(fresh_paletteram_2_w) AM_SHARE( "paletteram_2" ) // 8-bit
|
AM_RANGE(0xC50000, 0xC517ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
|
||||||
|
|
||||||
// AM_RANGE(0xD00000, 0xD00001) AM_RAM
|
// AM_RANGE(0xD00000, 0xD00001) AM_RAM
|
||||||
// AM_RANGE(0xD10000, 0xD10001) 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_SCREEN_UPDATE_DRIVER(fresh_state, screen_update_fresh)
|
||||||
|
|
||||||
MCFG_PALETTE_ADD("palette", 0x1000) // or 0xc00
|
MCFG_PALETTE_ADD("palette", 0x1000) // or 0xc00
|
||||||
|
MCFG_PALETTE_FORMAT(XBGR)
|
||||||
|
|
||||||
MCFG_GFXDECODE_ADD("gfxdecode", fresh)
|
MCFG_GFXDECODE_ADD("gfxdecode", fresh)
|
||||||
|
|
||||||
/* sound hw? */
|
/* sound hw? */
|
||||||
|
@ -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 )
|
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(0x100000, 0x10ffff) AM_RAM
|
||||||
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
|
AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_SHARE("spriteram2")
|
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(0x170000, 0x17000f) AM_RAM_WRITE(lemmings_control_w) AM_SHARE("control_data")
|
||||||
AM_RANGE(0x190000, 0x19000f) AM_READ(lemmings_trackball_r)
|
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 */
|
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_GFXDECODE_ADD("gfxdecode", lemmings)
|
||||||
MCFG_PALETTE_ADD("palette", 1024)
|
MCFG_PALETTE_ADD("palette", 1024)
|
||||||
|
MCFG_PALETTE_FORMAT(XBGR)
|
||||||
|
|
||||||
|
|
||||||
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
|
MCFG_DEVICE_ADD("spritegen", DECO_SPRITE, 0)
|
||||||
|
@ -62,7 +62,6 @@ public:
|
|||||||
int m_prev_sprites_count;
|
int m_prev_sprites_count;
|
||||||
UINT8 m_spotty_sound_cmd;
|
UINT8 m_spotty_sound_cmd;
|
||||||
DECLARE_WRITE32_MEMBER(limenko_coincounter_w);
|
DECLARE_WRITE32_MEMBER(limenko_coincounter_w);
|
||||||
DECLARE_WRITE32_MEMBER(limenko_paletteram_w);
|
|
||||||
DECLARE_WRITE32_MEMBER(bg_videoram_w);
|
DECLARE_WRITE32_MEMBER(bg_videoram_w);
|
||||||
DECLARE_WRITE32_MEMBER(md_videoram_w);
|
DECLARE_WRITE32_MEMBER(md_videoram_w);
|
||||||
DECLARE_WRITE32_MEMBER(fg_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);
|
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)
|
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(0x80010000, 0x80017fff) AM_RAM_WRITE(bg_videoram_w) AM_SHARE("bg_videoram")
|
||||||
AM_RANGE(0x80018000, 0x80018fff) AM_RAM AM_SHARE("spriteram")
|
AM_RANGE(0x80018000, 0x80018fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x80019000, 0x80019fff) AM_RAM AM_SHARE("spriteram2")
|
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(0x8001e000, 0x8001ebff) AM_RAM // ? not used
|
||||||
AM_RANGE(0x8001ffec, 0x8001ffff) AM_RAM AM_SHARE("videoreg")
|
AM_RANGE(0x8001ffec, 0x8001ffff) AM_RAM AM_SHARE("videoreg")
|
||||||
AM_RANGE(0x8003e000, 0x8003e003) AM_WRITE(spriteram_buffer_w)
|
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(0x80010000, 0x80017fff) AM_RAM_WRITE(bg_videoram_w) AM_SHARE("bg_videoram")
|
||||||
AM_RANGE(0x80018000, 0x80018fff) AM_RAM AM_SHARE("spriteram")
|
AM_RANGE(0x80018000, 0x80018fff) AM_RAM AM_SHARE("spriteram")
|
||||||
AM_RANGE(0x80019000, 0x80019fff) AM_RAM AM_SHARE("spriteram2")
|
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(0x8001e000, 0x8001ebff) AM_RAM // ? not used
|
||||||
AM_RANGE(0x8001ffec, 0x8001ffff) AM_RAM AM_SHARE("videoreg")
|
AM_RANGE(0x8001ffec, 0x8001ffff) AM_RAM AM_SHARE("videoreg")
|
||||||
AM_RANGE(0x8003e000, 0x8003e003) AM_WRITE(spriteram_buffer_w)
|
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_GFXDECODE_ADD("gfxdecode", limenko)
|
||||||
MCFG_PALETTE_ADD("palette", 0x1000)
|
MCFG_PALETTE_ADD("palette", 0x1000)
|
||||||
|
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||||
@ -801,6 +784,7 @@ static MACHINE_CONFIG_START( spotty, limenko_state )
|
|||||||
|
|
||||||
MCFG_GFXDECODE_ADD("gfxdecode", limenko)
|
MCFG_GFXDECODE_ADD("gfxdecode", limenko)
|
||||||
MCFG_PALETTE_ADD("palette", 0x1000)
|
MCFG_PALETTE_ADD("palette", 0x1000)
|
||||||
|
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
|
||||||
|
|
||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
|
@ -12,7 +12,6 @@ public:
|
|||||||
m_deco146(*this, "ioprot"),
|
m_deco146(*this, "ioprot"),
|
||||||
m_spriteram(*this, "spriteram"),
|
m_spriteram(*this, "spriteram"),
|
||||||
m_spriteram2(*this, "spriteram2") ,
|
m_spriteram2(*this, "spriteram2") ,
|
||||||
m_paletteram(*this, "paletteram"),
|
|
||||||
m_control_data(*this, "control_data"),
|
m_control_data(*this, "control_data"),
|
||||||
m_vram_data(*this, "vram_data"),
|
m_vram_data(*this, "vram_data"),
|
||||||
m_pixel_0_data(*this, "pixel_0_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_spriteram;
|
||||||
required_device<buffered_spriteram16_device> m_spriteram2;
|
required_device<buffered_spriteram16_device> m_spriteram2;
|
||||||
/* memory pointers */
|
/* memory pointers */
|
||||||
required_shared_ptr<UINT16> m_paletteram;
|
|
||||||
required_shared_ptr<UINT16> m_control_data;
|
required_shared_ptr<UINT16> m_control_data;
|
||||||
required_shared_ptr<UINT16> m_vram_data;
|
required_shared_ptr<UINT16> m_vram_data;
|
||||||
required_shared_ptr<UINT16> m_pixel_0_data;
|
required_shared_ptr<UINT16> m_pixel_0_data;
|
||||||
@ -45,7 +43,6 @@ public:
|
|||||||
|
|
||||||
DECLARE_WRITE16_MEMBER(lemmings_control_w);
|
DECLARE_WRITE16_MEMBER(lemmings_control_w);
|
||||||
DECLARE_READ16_MEMBER(lemmings_trackball_r);
|
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 );
|
void lemmings_sound_cb( address_space &space, UINT16 data, UINT16 mem_mask );
|
||||||
DECLARE_WRITE8_MEMBER(lemmings_sound_ack_w);
|
DECLARE_WRITE8_MEMBER(lemmings_sound_ack_w);
|
||||||
DECLARE_WRITE16_MEMBER(lemmings_pixel_0_w);
|
DECLARE_WRITE16_MEMBER(lemmings_pixel_0_w);
|
||||||
|
Loading…
Reference in New Issue
Block a user