diff options
author | Miodrag Milanovic <mmicko@gmail.com> | 2014-03-02 18:04:19 +0000 |
---|---|---|
committer | Miodrag Milanovic <mmicko@gmail.com> | 2014-03-02 18:04:19 +0000 |
commit | c074e83a3350727d60c9b0ad53fc09274b5670e5 (patch) | |
tree | 7f835a475291f7940e7c198e465f7d720f860c6f /src | |
parent | e3035b01a468bfcd99f466a13fb544a3be46f0af (diff) |
more crash fixes (nw)
Diffstat (limited to 'src')
-rw-r--r-- | src/mame/drivers/sigmab98.c | 12 | ||||
-rw-r--r-- | src/mame/drivers/spy.c | 7 | ||||
-rw-r--r-- | src/mame/drivers/surpratk.c | 8 | ||||
-rw-r--r-- | src/mame/drivers/thunderx.c | 10 | ||||
-rw-r--r-- | src/mame/drivers/vendetta.c | 8 | ||||
-rw-r--r-- | src/mame/includes/spy.h | 2 | ||||
-rw-r--r-- | src/mame/includes/surpratk.h | 2 | ||||
-rw-r--r-- | src/mame/includes/thunderx.h | 2 | ||||
-rw-r--r-- | src/mame/includes/vendetta.h | 2 |
9 files changed, 32 insertions, 21 deletions
diff --git a/src/mame/drivers/sigmab98.c b/src/mame/drivers/sigmab98.c index 5a2d0f01cea..777ec19cdc3 100644 --- a/src/mame/drivers/sigmab98.c +++ b/src/mame/drivers/sigmab98.c @@ -112,6 +112,7 @@ public: required_shared_ptr<UINT8> m_nvram; required_device<eeprom_serial_93cxx_device> m_eeprom; required_device<gfxdecode_device> m_gfxdecode; + dynamic_array<UINT8> m_paletteram; UINT8 m_reg; UINT8 m_rombank; @@ -1214,7 +1215,7 @@ WRITE8_MEMBER(sigmab98_state::itazuram_palette_w) READ8_MEMBER(sigmab98_state::itazuram_palette_r) { - return m_generic_paletteram_8[offset]; + return m_paletteram[offset]; } static ADDRESS_MAP_START( itazuram_map, AS_PROGRAM, 8, sigmab98_state ) @@ -1396,7 +1397,7 @@ READ8_MEMBER(sigmab98_state::tdoboon_c000_r) case 0x66: // PALETTERAM + TABLE? if (offset < 0x200) - return m_generic_paletteram_8[offset]; + return m_paletteram[offset]; break; case 0x67: // REGS @@ -2142,9 +2143,10 @@ DRIVER_INIT_MEMBER(sigmab98_state,itazuram) m_rombank = 0x0f; // RAM banks - m_generic_paletteram_8.allocate(0x3000); - memset(m_generic_paletteram_8, 0, 0x3000); - membank("palbank")->set_base(m_generic_paletteram_8); + m_paletteram.resize(0x3000); + m_palette->basemem().set(m_paletteram, ENDIANNESS_BIG, 2); + memset(m_paletteram, 0, 0x3000); + membank("palbank")->set_base(m_paletteram); m_rambank = 0x64; m_spriteram.allocate(0x1000 * 5); diff --git a/src/mame/drivers/spy.c b/src/mame/drivers/spy.c index 4151decd943..f4782bfbc62 100644 --- a/src/mame/drivers/spy.c +++ b/src/mame/drivers/spy.c @@ -35,7 +35,7 @@ READ8_MEMBER(spy_state::spy_bankedram1_r) { if (m_rambank & 1) { - return m_generic_paletteram_8[offset]; + return m_paletteram[offset]; } else if (m_rambank & 2) { @@ -496,9 +496,12 @@ void spy_state::machine_start() membank("bank1")->configure_entries(0, 12, &ROM[0x10000], 0x2000); - m_generic_paletteram_8.allocate(0x800); + m_paletteram.resize(0x800); + m_palette->basemem().set(m_paletteram, ENDIANNESS_BIG, 2); + memset(m_pmcram, 0, sizeof(m_pmcram)); + save_item(NAME(m_paletteram)); save_item(NAME(m_rambank)); save_item(NAME(m_pmcbank)); save_item(NAME(m_video_enable)); diff --git a/src/mame/drivers/surpratk.c b/src/mame/drivers/surpratk.c index 9306a302061..d3800b10e86 100644 --- a/src/mame/drivers/surpratk.c +++ b/src/mame/drivers/surpratk.c @@ -29,9 +29,9 @@ READ8_MEMBER(surpratk_state::bankedram_r) if (m_videobank & 0x02) { if (m_videobank & 0x04) - return m_generic_paletteram_8[offset + 0x0800]; + return m_paletteram[offset + 0x0800]; else - return m_generic_paletteram_8[offset]; + return m_paletteram[offset]; } else if (m_videobank & 0x01) return m_k053244->k053245_r(space, offset); @@ -178,8 +178,10 @@ void surpratk_state::machine_start() membank("bank1")->configure_entries(28, 4, &ROM[0x08000], 0x2000); membank("bank1")->set_entry(0); - m_generic_paletteram_8.allocate(0x1000); + m_paletteram.resize(0x1000); + m_palette->basemem().set(m_paletteram, ENDIANNESS_BIG, 2); + save_item(NAME(m_paletteram)); save_item(NAME(m_videobank)); save_item(NAME(m_sprite_colorbase)); save_item(NAME(m_layer_colorbase)); diff --git a/src/mame/drivers/thunderx.c b/src/mame/drivers/thunderx.c index b4f2a980754..9d09f8b5a43 100644 --- a/src/mame/drivers/thunderx.c +++ b/src/mame/drivers/thunderx.c @@ -45,7 +45,7 @@ void thunderx_state::device_timer(emu_timer &timer, device_timer_id id, int para READ8_MEMBER(thunderx_state::scontra_bankedram_r) { if (m_palette_selected) - return m_generic_paletteram_8[offset]; + return m_paletteram[offset]; else return m_ram[offset]; } @@ -76,7 +76,7 @@ READ8_MEMBER(thunderx_state::thunderx_bankedram_r) } } else - return m_generic_paletteram_8[offset]; + return m_paletteram[offset]; } WRITE8_MEMBER(thunderx_state::thunderx_bankedram_w) @@ -602,8 +602,10 @@ static const k051960_interface thunderx_k051960_intf = MACHINE_START_MEMBER(thunderx_state,scontra) { - 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_priority)); save_item(NAME(m_1f98_data)); save_item(NAME(m_palette_selected)); diff --git a/src/mame/drivers/vendetta.c b/src/mame/drivers/vendetta.c index bd68fc18da0..5ccc21327dc 100644 --- a/src/mame/drivers/vendetta.c +++ b/src/mame/drivers/vendetta.c @@ -156,7 +156,7 @@ void vendetta_state::vendetta_video_banking( int select ) space.install_read_bank(m_video_banking_base + 0x2000, m_video_banking_base + 0x2fff, "bank4" ); space.install_write_handler(m_video_banking_base + 0x2000, m_video_banking_base + 0x2fff, write8_delegate(FUNC(palette_device::write), m_palette.target()) ); space.install_readwrite_handler(m_video_banking_base + 0x0000, m_video_banking_base + 0x0fff, read8_delegate(FUNC(k053247_device::k053247_r), (k053247_device*)m_k053246), write8_delegate(FUNC(k053247_device::k053247_w), (k053247_device*)m_k053246) ); - membank("bank4")->set_base(m_generic_paletteram_8); + membank("bank4")->set_base(m_paletteram); } else { @@ -449,8 +449,10 @@ void vendetta_state::machine_start() membank("bank1")->configure_entries(0, 28, &ROM[0x10000], 0x2000); membank("bank1")->set_entry(0); - m_generic_paletteram_8.allocate(0x1000); - + m_paletteram.resize(0x1000); + m_palette->basemem().set(m_paletteram, ENDIANNESS_BIG, 2); + + save_item(NAME(m_paletteram)); save_item(NAME(m_irq_enabled)); save_item(NAME(m_sprite_colorbase)); save_item(NAME(m_layer_colorbase)); diff --git a/src/mame/includes/spy.h b/src/mame/includes/spy.h index ac4d8706462..33db43a205d 100644 --- a/src/mame/includes/spy.h +++ b/src/mame/includes/spy.h @@ -24,7 +24,7 @@ public: /* memory pointers */ required_shared_ptr<UINT8> m_ram; UINT8 m_pmcram[0x800]; -// UINT8 * m_paletteram; // currently this uses generic palette handling + dynamic_array<UINT8> m_paletteram; /* video-related */ int m_layer_colorbase[3]; diff --git a/src/mame/includes/surpratk.h b/src/mame/includes/surpratk.h index da5d53345a1..92c9a5fe044 100644 --- a/src/mame/includes/surpratk.h +++ b/src/mame/includes/surpratk.h @@ -22,7 +22,7 @@ public: /* memory pointers */ required_shared_ptr<UINT8> m_ram; -// UINT8 * m_paletteram; // currently this uses generic palette handling + dynamic_array<UINT8> m_paletteram; /* video-related */ int m_layer_colorbase[3]; diff --git a/src/mame/includes/thunderx.h b/src/mame/includes/thunderx.h index e607dcfa39a..adc67bb4beb 100644 --- a/src/mame/includes/thunderx.h +++ b/src/mame/includes/thunderx.h @@ -28,7 +28,7 @@ public: /* memory pointers */ required_shared_ptr<UINT8> m_ram; UINT8 m_pmcram[0x800]; -// UINT8 * m_paletteram; // currently this uses generic palette handling + dynamic_array<UINT8> m_paletteram; /* video-related */ int m_layer_colorbase[3]; diff --git a/src/mame/includes/vendetta.h b/src/mame/includes/vendetta.h index e8ba3158b99..bce7ba8275d 100644 --- a/src/mame/includes/vendetta.h +++ b/src/mame/includes/vendetta.h @@ -32,7 +32,7 @@ public: /* memory pointers */ UINT8 * m_ram; -// UINT8 * m_paletteram; // currently this uses generic palette handling + dynamic_array<UINT8> m_paletteram; /* video-related */ int m_layer_colorbase[3]; |