playmark.c: fix generic_paletteram regression (nw)

This commit is contained in:
Alex W. Jackson 2014-04-24 15:31:17 +00:00
parent 5a76d01492
commit a34f3cf1ff
4 changed files with 15 additions and 36 deletions

View File

@ -207,7 +207,7 @@ static ADDRESS_MAP_START( bigtwin_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0x70001a, 0x70001b) AM_READ_PORT("DSW1")
AM_RANGE(0x70001c, 0x70001d) AM_READ_PORT("DSW2")
AM_RANGE(0x70001e, 0x70001f) AM_WRITE(playmark_snd_command_w)
AM_RANGE(0x780000, 0x7807ff) AM_WRITE(bigtwin_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x780000, 0x7807ff) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
// AM_RANGE(0xe00000, 0xe00001) ?? written on startup
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
@ -220,7 +220,7 @@ static ADDRESS_MAP_START( bigtwinb_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0x108000, 0x10ffff) AM_RAM_WRITE(hrdtimes_txvideoram_w) AM_SHARE("videoram1")
AM_RANGE(0x110000, 0x11000d) AM_WRITE(hrdtimes_scroll_w)
AM_RANGE(0x201000, 0x2013ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x280000, 0x2807ff) AM_RAM_WRITE(bigtwin_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x280000, 0x2807ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x300010, 0x300011) AM_READ_PORT("SYSTEM")
AM_RANGE(0x300012, 0x300013) AM_READ_PORT("P1")
AM_RANGE(0x300014, 0x300015) AM_READ_PORT("P2")
@ -270,7 +270,7 @@ static ADDRESS_MAP_START( excelsr_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0x70001a, 0x70001b) AM_READ_PORT("DSW1")
AM_RANGE(0x70001c, 0x70001d) AM_READ_PORT("DSW2")
AM_RANGE(0x70001e, 0x70001f) AM_WRITE(playmark_snd_command_w)
AM_RANGE(0x780000, 0x7807ff) AM_RAM_WRITE(bigtwin_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x780000, 0x7807ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0xff0000, 0xffffff) AM_RAM
ADDRESS_MAP_END
@ -281,7 +281,7 @@ static ADDRESS_MAP_START( hotmind_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0x108000, 0x10ffff) AM_RAM_WRITE(hrdtimes_txvideoram_w) AM_SHARE("videoram1")
AM_RANGE(0x110000, 0x11000d) AM_WRITE(hrdtimes_scroll_w)
AM_RANGE(0x200000, 0x200fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x280000, 0x2807ff) AM_RAM_WRITE(bigtwin_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x280000, 0x2807ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x300010, 0x300011) AM_READ_PORT("SYSTEM")
AM_RANGE(0x300012, 0x300013) AM_READ_PORT("P1")
AM_RANGE(0x300014, 0x300015) AM_READ_PORT("P2") AM_WRITE(hotmind_coin_eeprom_w)
@ -304,7 +304,7 @@ static ADDRESS_MAP_START( hrdtimes_main_map, AS_PROGRAM, 16, playmark_state )
AM_RANGE(0x10a000, 0x10bfff) AM_RAM
AM_RANGE(0x110000, 0x11000d) AM_WRITE(hrdtimes_scroll_w)
AM_RANGE(0x200000, 0x200fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x280000, 0x2807ff) AM_RAM_WRITE(bigtwin_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x280000, 0x2807ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x280800, 0x280fff) AM_RAM // unused
AM_RANGE(0x300010, 0x300011) AM_READ_PORT("SYSTEM")
AM_RANGE(0x300012, 0x300013) AM_READ_PORT("P1")
@ -1061,7 +1061,7 @@ static MACHINE_CONFIG_START( bigtwin, playmark_state )
MCFG_GFXDECODE_ADD("gfxdecode", "palette", playmark)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRRGGGGGBBBBBx)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
MCFG_VIDEO_START_OVERRIDE(playmark_state,bigtwin)
@ -1097,7 +1097,7 @@ static MACHINE_CONFIG_START( bigtwinb, playmark_state )
MCFG_GFXDECODE_ADD("gfxdecode", "palette", bigtwinb)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRRGGGGGBBBBBx)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
MCFG_VIDEO_START_OVERRIDE(playmark_state,bigtwinb)
@ -1172,7 +1172,7 @@ static MACHINE_CONFIG_START( excelsr, playmark_state )
MCFG_GFXDECODE_ADD("gfxdecode", "palette", excelsr)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRRGGGGGBBBBBx)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
MCFG_VIDEO_START_OVERRIDE(playmark_state,excelsr)
@ -1211,7 +1211,7 @@ static MACHINE_CONFIG_START( hotmind, playmark_state )
MCFG_GFXDECODE_ADD("gfxdecode", "palette", hrdtimes)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRRGGGGGBBBBBx)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
MCFG_VIDEO_START_OVERRIDE(playmark_state,hotmind)
@ -1251,7 +1251,7 @@ static MACHINE_CONFIG_START( hrdtimes, playmark_state )
MCFG_GFXDECODE_ADD("gfxdecode", "palette", hrdtimes)
MCFG_PALETTE_ADD("palette", 1024)
MCFG_PALETTE_FORMAT(RRRRRGGGGGBBBBBx)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
MCFG_VIDEO_START_OVERRIDE(playmark_state,hrdtimes)

View File

@ -87,7 +87,7 @@ WRITE16_MEMBER(powerbal_state::oki_banking)
static ADDRESS_MAP_START( magicstk_main_map, AS_PROGRAM, 16, powerbal_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x088000, 0x0883ff) AM_RAM_WRITE(bigtwin_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x088000, 0x0883ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x094000, 0x094001) AM_WRITENOP
AM_RANGE(0x094002, 0x094003) AM_WRITENOP
AM_RANGE(0x094004, 0x094005) AM_WRITE(tile_banking_w)
@ -106,7 +106,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( powerbal_main_map, AS_PROGRAM, 16, powerbal_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x088000, 0x0883ff) AM_RAM_WRITE(bigtwin_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x088000, 0x0883ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x094000, 0x094001) AM_WRITENOP
AM_RANGE(0x094002, 0x094003) AM_WRITENOP
AM_RANGE(0x094004, 0x094005) AM_WRITE(tile_banking_w)
@ -505,6 +505,7 @@ static MACHINE_CONFIG_START( powerbal, powerbal_state )
MCFG_GFXDECODE_ADD("gfxdecode", "palette", powerbal)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
MCFG_VIDEO_START_OVERRIDE(powerbal_state,powerbal)
@ -539,6 +540,7 @@ static MACHINE_CONFIG_START( magicstk, powerbal_state )
MCFG_GFXDECODE_ADD("gfxdecode", "palette", powerbal)
MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_FORMAT(RRRRGGGGBBBBRGBx)
MCFG_VIDEO_START_OVERRIDE(powerbal_state,powerbal)

View File

@ -18,8 +18,7 @@ public:
m_maincpu(*this, "maincpu"),
m_audiocpu(*this, "audiocpu"),
m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette"),
m_generic_paletteram_16(*this, "paletteram") { }
m_palette(*this, "palette") { }
/* memory pointers */
optional_shared_ptr<UINT16> m_bgvideoram;
@ -28,7 +27,6 @@ public:
optional_shared_ptr<UINT16> m_videoram3;
required_shared_ptr<UINT16> m_spriteram;
optional_shared_ptr<UINT16> m_rowscroll;
// UINT16 * m_paletteram; // currently this uses generic palette handling
/* video-related */
tilemap_t *m_tx_tilemap;
@ -74,7 +72,6 @@ public:
DECLARE_WRITE16_MEMBER(hrdtimes_txvideoram_w);
DECLARE_WRITE16_MEMBER(hrdtimes_fgvideoram_w);
DECLARE_WRITE16_MEMBER(hrdtimes_bgvideoram_w);
DECLARE_WRITE16_MEMBER(bigtwin_paletteram_w);
DECLARE_WRITE16_MEMBER(bigtwin_scroll_w);
DECLARE_WRITE16_MEMBER(wbeachvl_scroll_w);
DECLARE_WRITE16_MEMBER(excelsr_scroll_w);
@ -113,5 +110,4 @@ public:
optional_device<pic16c57_device> m_audiocpu;
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
required_shared_ptr<UINT16> m_generic_paletteram_16;
};

View File

@ -304,25 +304,6 @@ WRITE16_MEMBER(playmark_state::hrdtimes_bgvideoram_w)
m_bg_tilemap->mark_tile_dirty(offset);
}
WRITE16_MEMBER(playmark_state::bigtwin_paletteram_w)
{
int r, g, b, val;
COMBINE_DATA(&m_generic_paletteram_16[offset]);
val = m_generic_paletteram_16[offset];
r = (val >> 11) & 0x1e;
g = (val >> 7) & 0x1e;
b = (val >> 3) & 0x1e;
r |= ((val & 0x08) >> 3);
g |= ((val & 0x04) >> 2);
b |= ((val & 0x02) >> 1);
m_palette->set_pen_color(offset, pal5bit(r), pal5bit(g), pal5bit(b));
}
WRITE16_MEMBER(playmark_state::bigtwin_scroll_w)
{
data = COMBINE_DATA(&m_scroll[offset]);