diff --git a/src/mame/drivers/blockhl.c b/src/mame/drivers/blockhl.c index 4a7adab6fd8..75d20d14727 100644 --- a/src/mame/drivers/blockhl.c +++ b/src/mame/drivers/blockhl.c @@ -188,6 +188,7 @@ void blockhl_state::machine_start() m_paletteram.resize(m_palette->entries() * 2); m_palette->basemem().set(m_paletteram, ENDIANNESS_BIG, 2); + save_item(NAME(m_paletteram)); save_item(NAME(m_palette_selected)); save_item(NAME(m_rombank)); } diff --git a/src/mame/drivers/chqflag.c b/src/mame/drivers/chqflag.c index 4ba9a93af76..9c5586978c6 100644 --- a/src/mame/drivers/chqflag.c +++ b/src/mame/drivers/chqflag.c @@ -311,6 +311,7 @@ void chqflag_state::machine_start() m_paletteram.resize(m_palette->entries() * 2); m_palette->basemem().set(m_paletteram, ENDIANNESS_BIG, 2); + save_item(NAME(m_paletteram)); save_item(NAME(m_k051316_readroms)); save_item(NAME(m_last_vreg)); save_item(NAME(m_analog_ctrl)); diff --git a/src/mame/drivers/gbusters.c b/src/mame/drivers/gbusters.c index 5a97cf782d6..7fbc3ff3f6b 100644 --- a/src/mame/drivers/gbusters.c +++ b/src/mame/drivers/gbusters.c @@ -27,7 +27,7 @@ INTERRUPT_GEN_MEMBER(gbusters_state::gbusters_interrupt) READ8_MEMBER(gbusters_state::bankedram_r) { if (m_palette_selected) - return m_generic_paletteram_8[offset]; + return m_paletteram[offset]; else return m_ram[offset]; } @@ -262,9 +262,11 @@ void gbusters_state::machine_start() membank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x2000); membank("bank1")->set_entry(0); - - m_generic_paletteram_8.allocate(0x800); - + + m_paletteram.resize(0x800); + m_palette->basemem().set(m_paletteram, ENDIANNESS_BIG, 2); + + save_item(NAME(m_paletteram)); save_item(NAME(m_palette_selected)); save_item(NAME(m_priority)); } diff --git a/src/mame/drivers/ladyfrog.c b/src/mame/drivers/ladyfrog.c index c7c9080f6c6..b262959f40d 100644 --- a/src/mame/drivers/ladyfrog.c +++ b/src/mame/drivers/ladyfrog.c @@ -316,7 +316,7 @@ static MACHINE_CONFIG_START( ladyfrog, ladyfrog_state ) MCFG_GFXDECODE_ADD("gfxdecode", ladyfrog) MCFG_PALETTE_ADD("palette", 512) - + MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") diff --git a/src/mame/includes/gbusters.h b/src/mame/includes/gbusters.h index d33a1904d01..70616c8497e 100644 --- a/src/mame/includes/gbusters.h +++ b/src/mame/includes/gbusters.h @@ -23,6 +23,7 @@ public: /* memory pointers */ required_shared_ptr m_ram; + dynamic_array m_paletteram; /* video-related */ int m_layer_colorbase[3]; diff --git a/src/mame/includes/ladyfrog.h b/src/mame/includes/ladyfrog.h index 87d1cad78a7..44c6e8f2d86 100644 --- a/src/mame/includes/ladyfrog.h +++ b/src/mame/includes/ladyfrog.h @@ -22,8 +22,8 @@ public: required_shared_ptr m_videoram; UINT8 * m_spriteram; required_shared_ptr m_scrlram; -// UINT8 * m_paletteram; // currently this uses generic palette handling -// UINT8 * m_paletteram2; // currently this uses generic palette handling + dynamic_array m_paletteram; + dynamic_array m_paletteram_ext; /* video-related */ tilemap_t *m_bg_tilemap; diff --git a/src/mame/video/crimfght.c b/src/mame/video/crimfght.c index 125b323f0e5..cd83855e1dd 100644 --- a/src/mame/video/crimfght.c +++ b/src/mame/video/crimfght.c @@ -64,6 +64,8 @@ void crimfght_state::video_start() m_layer_colorbase[1] = 4; m_layer_colorbase[2] = 8; m_sprite_colorbase = 16; + + save_item(NAME(m_paletteram)); } diff --git a/src/mame/video/ladyfrog.c b/src/mame/video/ladyfrog.c index 79a7a8659be..0c50ad2a665 100644 --- a/src/mame/video/ladyfrog.c +++ b/src/mame/video/ladyfrog.c @@ -44,7 +44,7 @@ READ8_MEMBER(ladyfrog_state::ladyfrog_videoram_r) WRITE8_MEMBER(ladyfrog_state::ladyfrog_palette_w) { if (offset & 0x100) - m_palette->write(space, (offset & 0xff) + (m_palette_bank << 8), data); + m_palette->write_ext(space, (offset & 0xff) + (m_palette_bank << 8), data); else m_palette->write(space, (offset & 0xff) + (m_palette_bank << 8), data); } @@ -52,9 +52,9 @@ WRITE8_MEMBER(ladyfrog_state::ladyfrog_palette_w) READ8_MEMBER(ladyfrog_state::ladyfrog_palette_r) { if (offset & 0x100) - return m_generic_paletteram2_8[(offset & 0xff) + (m_palette_bank << 8)]; + return m_paletteram_ext[(offset & 0xff) + (m_palette_bank << 8)]; else - return m_generic_paletteram_8[(offset & 0xff) + (m_palette_bank << 8)]; + return m_paletteram[(offset & 0xff) + (m_palette_bank << 8)]; } WRITE8_MEMBER(ladyfrog_state::ladyfrog_gfxctrl_w) @@ -128,12 +128,17 @@ VIDEO_START_MEMBER(ladyfrog_state,ladyfrog_common) m_spriteram = auto_alloc_array(machine(), UINT8, 160); m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ladyfrog_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32); - m_generic_paletteram_8.allocate(0x200); - m_generic_paletteram2_8.allocate(0x200); + m_paletteram.resize(0x200); + m_paletteram_ext.resize(0x200); + m_palette->basemem().set(m_paletteram, ENDIANNESS_LITTLE, 1); + m_palette->extmem().set(m_paletteram_ext, ENDIANNESS_LITTLE, 1); + m_bg_tilemap->set_scroll_cols(32); m_bg_tilemap->set_scrolldy(15, 15); - save_pointer(NAME(m_spriteram), 160); + save_pointer(NAME(m_spriteram), 160); + save_item(NAME(m_paletteram)); + save_item(NAME(m_paletteram_ext)); } void ladyfrog_state::video_start()