mirror of
https://github.com/holub/mame
synced 2025-04-26 10:13:37 +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_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? */
|
||||
|
@ -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)
|
||||
|
@ -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 */
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user