summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/crystal.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/crystal.cpp')
-rw-r--r--src/mame/drivers/crystal.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mame/drivers/crystal.cpp b/src/mame/drivers/crystal.cpp
index 584afe59af9..7975089efcb 100644
--- a/src/mame/drivers/crystal.cpp
+++ b/src/mame/drivers/crystal.cpp
@@ -186,6 +186,7 @@ private:
uint32_t m_Bank;
uint32_t m_maxbank;
uint32_t m_FlashCmd;
+ std::unique_ptr<uint8_t[]> m_dummy_region;
uint32_t system_input_r();
void Banksw_w(uint32_t data);
@@ -365,15 +366,15 @@ void crystal_state::machine_start()
if (m_mainbank)
{
m_maxbank = (m_flash) ? m_flash.bytes() / 0x1000000 : 0;
- uint8_t *dummy_region = auto_alloc_array(machine(), uint8_t, 0x1000000);
- std::fill_n(&dummy_region[0], 0x1000000, 0xff); // 0xff Filled at Unmapped area
- uint8_t *ROM = (m_flash) ? (uint8_t *)&m_flash[0] : dummy_region;
+ m_dummy_region = std::make_unique<uint8_t[]>(0x1000000);
+ std::fill_n(&m_dummy_region[0], 0x1000000, 0xff); // 0xff Filled at Unmapped area
+ uint8_t *ROM = (m_flash) ? (uint8_t *)&m_flash[0] : &m_dummy_region[0];
for (int i = 0; i < 8; i++)
{
if ((i < m_maxbank))
m_mainbank->configure_entry(i, ROM + i * 0x1000000);
else
- m_mainbank->configure_entry(i, dummy_region);
+ m_mainbank->configure_entry(i, m_dummy_region.get());
}
}
}