ladyfrog fix and some save state add in old (nw)

This commit is contained in:
Miodrag Milanovic 2014-03-02 17:30:43 +00:00
parent f01fcea816
commit c21bc4a756
8 changed files with 25 additions and 13 deletions

View File

@ -188,6 +188,7 @@ void blockhl_state::machine_start()
m_paletteram.resize(m_palette->entries() * 2); m_paletteram.resize(m_palette->entries() * 2);
m_palette->basemem().set(m_paletteram, ENDIANNESS_BIG, 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_palette_selected));
save_item(NAME(m_rombank)); save_item(NAME(m_rombank));
} }

View File

@ -311,6 +311,7 @@ void chqflag_state::machine_start()
m_paletteram.resize(m_palette->entries() * 2); m_paletteram.resize(m_palette->entries() * 2);
m_palette->basemem().set(m_paletteram, ENDIANNESS_BIG, 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_k051316_readroms));
save_item(NAME(m_last_vreg)); save_item(NAME(m_last_vreg));
save_item(NAME(m_analog_ctrl)); save_item(NAME(m_analog_ctrl));

View File

@ -27,7 +27,7 @@ INTERRUPT_GEN_MEMBER(gbusters_state::gbusters_interrupt)
READ8_MEMBER(gbusters_state::bankedram_r) READ8_MEMBER(gbusters_state::bankedram_r)
{ {
if (m_palette_selected) if (m_palette_selected)
return m_generic_paletteram_8[offset]; return m_paletteram[offset];
else else
return m_ram[offset]; return m_ram[offset];
} }
@ -263,8 +263,10 @@ void gbusters_state::machine_start()
membank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x2000); membank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x2000);
membank("bank1")->set_entry(0); 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_palette_selected));
save_item(NAME(m_priority)); save_item(NAME(m_priority));
} }

View File

@ -316,7 +316,7 @@ static MACHINE_CONFIG_START( ladyfrog, ladyfrog_state )
MCFG_GFXDECODE_ADD("gfxdecode", ladyfrog) MCFG_GFXDECODE_ADD("gfxdecode", ladyfrog)
MCFG_PALETTE_ADD("palette", 512) MCFG_PALETTE_ADD("palette", 512)
MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR)
/* sound hardware */ /* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SPEAKER_STANDARD_MONO("mono")

View File

@ -23,6 +23,7 @@ public:
/* memory pointers */ /* memory pointers */
required_shared_ptr<UINT8> m_ram; required_shared_ptr<UINT8> m_ram;
dynamic_array<UINT8> m_paletteram;
/* video-related */ /* video-related */
int m_layer_colorbase[3]; int m_layer_colorbase[3];

View File

@ -22,8 +22,8 @@ public:
required_shared_ptr<UINT8> m_videoram; required_shared_ptr<UINT8> m_videoram;
UINT8 * m_spriteram; UINT8 * m_spriteram;
required_shared_ptr<UINT8> m_scrlram; required_shared_ptr<UINT8> m_scrlram;
// UINT8 * m_paletteram; // currently this uses generic palette handling dynamic_array<UINT8> m_paletteram;
// UINT8 * m_paletteram2; // currently this uses generic palette handling dynamic_array<UINT8> m_paletteram_ext;
/* video-related */ /* video-related */
tilemap_t *m_bg_tilemap; tilemap_t *m_bg_tilemap;

View File

@ -64,6 +64,8 @@ void crimfght_state::video_start()
m_layer_colorbase[1] = 4; m_layer_colorbase[1] = 4;
m_layer_colorbase[2] = 8; m_layer_colorbase[2] = 8;
m_sprite_colorbase = 16; m_sprite_colorbase = 16;
save_item(NAME(m_paletteram));
} }

View File

@ -44,7 +44,7 @@ READ8_MEMBER(ladyfrog_state::ladyfrog_videoram_r)
WRITE8_MEMBER(ladyfrog_state::ladyfrog_palette_w) WRITE8_MEMBER(ladyfrog_state::ladyfrog_palette_w)
{ {
if (offset & 0x100) 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 else
m_palette->write(space, (offset & 0xff) + (m_palette_bank << 8), data); 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) READ8_MEMBER(ladyfrog_state::ladyfrog_palette_r)
{ {
if (offset & 0x100) 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 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) 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_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_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_paletteram.resize(0x200);
m_generic_paletteram2_8.allocate(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_scroll_cols(32);
m_bg_tilemap->set_scrolldy(15, 15); 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() void ladyfrog_state::video_start()