mcr68: use standard palette device

This commit is contained in:
Dirk Best 2015-08-01 11:40:12 +02:00
parent 3882549d6a
commit 066a7f7918
3 changed files with 7 additions and 36 deletions

View File

@ -308,7 +308,7 @@ static ADDRESS_MAP_START( mcr68_map, AS_PROGRAM, 16, mcr68_state )
AM_RANGE(0x070000, 0x070fff) AM_RAM_WRITE(mcr68_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x071000, 0x071fff) AM_RAM
AM_RANGE(0x080000, 0x080fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x090000, 0x09007f) AM_WRITE(mcr68_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x090000, 0x09007f) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x0a0000, 0x0a000f) AM_READWRITE(mcr68_6840_upper_r, mcr68_6840_upper_w)
AM_RANGE(0x0b0000, 0x0bffff) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x0d0000, 0x0dffff) AM_READ_PORT("IN0")
@ -334,7 +334,7 @@ static ADDRESS_MAP_START( zwackery_map, AS_PROGRAM, 16, mcr68_state )
AM_RANGE(0x108000, 0x108007) AM_DEVREADWRITE8("pia1", pia6821_device, read, write, 0x00ff)
AM_RANGE(0x10c000, 0x10c007) AM_DEVREADWRITE8("pia2", pia6821_device, read, write, 0x00ff)
AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(zwackery_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x802000, 0x803fff) AM_RAM_WRITE(zwackery_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x802000, 0x803fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0xc00000, 0xc00fff) AM_RAM_WRITE(zwackery_spriteram_w) AM_SHARE("spriteram")
ADDRESS_MAP_END
@ -352,7 +352,7 @@ static ADDRESS_MAP_START( pigskin_map, AS_PROGRAM, 16, mcr68_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x080000, 0x08ffff) AM_READ(pigskin_port_1_r)
AM_RANGE(0x0a0000, 0x0affff) AM_READ(pigskin_port_2_r)
AM_RANGE(0x0c0000, 0x0c007f) AM_WRITE(mcr68_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x0c0000, 0x0c007f) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x0e0000, 0x0effff) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(mcr68_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x120000, 0x120001) AM_READWRITE(pigskin_protection_r, pigskin_protection_w)
@ -378,7 +378,7 @@ static ADDRESS_MAP_START( trisport_map, AS_PROGRAM, 16, mcr68_state )
AM_RANGE(0x080000, 0x08ffff) AM_READ(trisport_port_1_r)
AM_RANGE(0x0a0000, 0x0affff) AM_READ_PORT("DSW")
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x120000, 0x12007f) AM_WRITE(mcr68_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x120000, 0x12007f) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x160000, 0x160fff) AM_RAM_WRITE(mcr68_videoram_w) AM_SHARE("videoram")
AM_RANGE(0x180000, 0x18000f) AM_READWRITE(mcr68_6840_upper_r, mcr68_6840_upper_w)
@ -1054,6 +1054,7 @@ static MACHINE_CONFIG_START( zwackery, mcr68_state )
MCFG_GFXDECODE_ADD("gfxdecode", "palette", zwackery)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_FORMAT(xRRRRRBBBBBGGGGG_inverted)
MCFG_VIDEO_START_OVERRIDE(mcr68_state,zwackery)
@ -1086,6 +1087,7 @@ static MACHINE_CONFIG_START( mcr68, mcr68_state )
MCFG_GFXDECODE_ADD("gfxdecode", "palette", mcr68)
MCFG_PALETTE_ADD("palette", 64)
MCFG_PALETTE_FORMAT(xxxxxxxRRRBBBGGG)
MCFG_VIDEO_START_OVERRIDE(mcr68_state,mcr68)

View File

@ -28,8 +28,7 @@ public:
m_maincpu(*this, "maincpu"),
m_gfxdecode(*this, "gfxdecode"),
m_screen(*this, "screen"),
m_palette(*this, "palette"),
m_generic_paletteram_16(*this, "paletteram") { }
m_palette(*this, "palette") { }
optional_device<midway_chip_squeak_deluxe_device> m_chip_squeak_deluxe;
optional_device<midway_sounds_good_device> m_sounds_good;
@ -79,8 +78,6 @@ public:
DECLARE_READ16_MEMBER(mcr68_6840_r_common);
void reload_count(int counter);
UINT16 compute_counter(int counter);
DECLARE_WRITE16_MEMBER(mcr68_paletteram_w);
DECLARE_WRITE16_MEMBER(zwackery_paletteram_w);
DECLARE_WRITE16_MEMBER(mcr68_videoram_w);
DECLARE_WRITE16_MEMBER(zwackery_videoram_w);
DECLARE_WRITE16_MEMBER(zwackery_spriteram_w);
@ -129,5 +126,4 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<screen_device> m_screen;
required_device<palette_device> m_palette;
required_shared_ptr<UINT16> m_generic_paletteram_16;
};

View File

@ -131,33 +131,6 @@ VIDEO_START_MEMBER(mcr68_state,zwackery)
/*************************************
*
* Palette RAM writes
*
*************************************/
WRITE16_MEMBER(mcr68_state::mcr68_paletteram_w)
{
int newword;
COMBINE_DATA(&m_generic_paletteram_16[offset]);
newword = m_generic_paletteram_16[offset];
m_palette->set_pen_color(offset, pal3bit(newword >> 6), pal3bit(newword >> 0), pal3bit(newword >> 3));
}
WRITE16_MEMBER(mcr68_state::zwackery_paletteram_w)
{
int newword;
COMBINE_DATA(&m_generic_paletteram_16[offset]);
newword = m_generic_paletteram_16[offset];
m_palette->set_pen_color(offset, pal5bit(~newword >> 10), pal5bit(~newword >> 0), pal5bit(~newword >> 5));
}
/*************************************
*
* Video RAM writes