remove some redundant in-driver palette handlers (nw)

(was a little surprised I needed MCFG_PALETTE_ENDIANNESS(ENDIANNESS_LITTLE) considering no fancy swapping is needed in the old 32-bit handlers.. but ok, it's always been that way)
This commit is contained in:
David Haywood 2014-03-05 23:32:07 +00:00
parent 2e21a4e10d
commit 1e92c5de80
2 changed files with 7 additions and 34 deletions

View File

@ -127,7 +127,6 @@ public:
dreamwld_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_spriteram(*this, "spriteram"),
m_paletteram(*this, "paletteram"),
m_bg_videoram(*this, "bg_videoram"),
m_bg2_videoram(*this, "bg2_videoram"),
m_vregs(*this, "vregs"),
@ -138,7 +137,6 @@ public:
/* memory pointers */
required_shared_ptr<UINT32> m_spriteram;
required_shared_ptr<UINT32> m_paletteram;
required_shared_ptr<UINT32> m_bg_videoram;
required_shared_ptr<UINT32> m_bg2_videoram;
required_shared_ptr<UINT32> m_vregs;
@ -160,7 +158,6 @@ public:
DECLARE_READ32_MEMBER(dreamwld_protdata_r);
DECLARE_WRITE32_MEMBER(dreamwld_6295_0_bank_w);
DECLARE_WRITE32_MEMBER(dreamwld_6295_1_bank_w);
DECLARE_WRITE32_MEMBER(dreamwld_palette_w);
TILE_GET_INFO_MEMBER(get_dreamwld_bg_tile_info);
TILE_GET_INFO_MEMBER(get_dreamwld_bg2_tile_info);
virtual void machine_start();
@ -446,30 +443,12 @@ WRITE32_MEMBER(dreamwld_state::dreamwld_6295_1_bank_w)
logerror("OKI1: unk bank write %x mem_mask %8x\n", data, mem_mask);
}
// why doesn't using paletteram_xRRRRRGGGGGBBBBB_word_w with a 16-bit handler work? colours are
// severely corrupt on dream world's semicom screen + many sprites, seems palette values get duplicated.
WRITE32_MEMBER(dreamwld_state::dreamwld_palette_w)
{
UINT16 dat;
int color;
COMBINE_DATA(&m_paletteram[offset]);
color = offset * 2;
dat = m_paletteram[offset] & 0x7fff;
m_palette->set_pen_color(color+1, pal5bit(dat >> 10), pal5bit(dat >> 5), pal5bit(dat >> 0));
dat = (m_paletteram[offset] >> 16) & 0x7fff;
m_palette->set_pen_color(color, pal5bit(dat >> 10), pal5bit(dat >> 5), pal5bit(dat >> 0));
}
static ADDRESS_MAP_START( baryon_map, AS_PROGRAM, 32, dreamwld_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM AM_WRITENOP
AM_RANGE(0x400000, 0x401fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x600000, 0x601fff) AM_RAM AM_WRITE(dreamwld_palette_w) AM_SHARE("paletteram")
AM_RANGE(0x600000, 0x601fff) AM_DEVREADWRITE16("palette", palette_device, read, write, 0xffffffff) AM_SHARE("palette")
AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(dreamwld_bg_videoram_w ) AM_SHARE("bg_videoram")
AM_RANGE(0x802000, 0x803fff) AM_RAM_WRITE(dreamwld_bg2_videoram_w ) AM_SHARE("bg2_videoram")
AM_RANGE(0x804000, 0x805fff) AM_RAM AM_SHARE("vregs") // scroll regs etc.
@ -605,6 +584,9 @@ static MACHINE_CONFIG_START( baryon, dreamwld_state )
MCFG_SCREEN_VBLANK_DRIVER(dreamwld_state, screen_eof_dreamwld)
MCFG_PALETTE_ADD("palette", 0x1000)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
MCFG_PALETTE_ENDIANNESS(ENDIANNESS_LITTLE)
MCFG_GFXDECODE_ADD("gfxdecode", dreamwld)

View File

@ -34,7 +34,6 @@ public:
DECLARE_READ32_MEMBER(vram_r);
DECLARE_WRITE32_MEMBER(vram_w);
DECLARE_WRITE32_MEMBER(palette_w);
DECLARE_READ32_MEMBER(eeprom_r);
DECLARE_WRITE32_MEMBER(eeprom_w);
DECLARE_WRITE32_MEMBER(int_ack_w);
@ -78,16 +77,6 @@ UINT32 ultrsprt_state::screen_update_ultrsprt(screen_device &screen, bitmap_ind1
}
WRITE32_MEMBER(ultrsprt_state::palette_w)
{
COMBINE_DATA(&m_generic_paletteram_32[offset]);
data = m_generic_paletteram_32[offset];
m_palette->set_pen_color((offset*2)+0, rgb_t(pal5bit(data >> 26), pal5bit(data >> 21), pal5bit(data >> 16)));
m_palette->set_pen_color((offset*2)+1, rgb_t(pal5bit(data >> 10), pal5bit(data >> 5), pal5bit(data >> 0)));
}
/*****************************************************************************/
WRITE32_MEMBER(ultrsprt_state::int_ack_w)
@ -146,7 +135,7 @@ static ADDRESS_MAP_START( ultrsprt_map, AS_PROGRAM, 32, ultrsprt_state )
AM_RANGE(0x700000c0, 0x700000cf) AM_WRITENOP // Written following DMA interrupt - unused int ack?
AM_RANGE(0x700000e0, 0x700000e3) AM_WRITE(int_ack_w)
AM_RANGE(0x7f000000, 0x7f01ffff) AM_RAM AM_SHARE("workram")
AM_RANGE(0x7f700000, 0x7f703fff) AM_RAM_WRITE(palette_w) AM_SHARE("paletteram")
AM_RANGE(0x7f700000, 0x7f703fff) AM_DEVREADWRITE16("palette", palette_device, read, write, 0xffffffff) AM_SHARE("palette")
AM_RANGE(0x7f800000, 0x7f9fffff) AM_MIRROR(0x00600000) AM_ROM AM_REGION("program", 0)
ADDRESS_MAP_END
@ -242,6 +231,8 @@ static MACHINE_CONFIG_START( ultrsprt, ultrsprt_state )
MCFG_SCREEN_UPDATE_DRIVER(ultrsprt_state, screen_update_ultrsprt)
MCFG_PALETTE_ADD("palette", 8192)
MCFG_PALETTE_FORMAT(xRRRRRGGGGGBBBBB)
MCFG_PALETTE_ENDIANNESS(ENDIANNESS_LITTLE)
/* sound hardware */
MCFG_K056800_ADD("k056800", XTAL_18_432MHz)