summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/segae.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/segae.cpp')
-rw-r--r--src/mame/drivers/segae.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mame/drivers/segae.cpp b/src/mame/drivers/segae.cpp
index e9d547ebe07..f4ebeb4bf59 100644
--- a/src/mame/drivers/segae.cpp
+++ b/src/mame/drivers/segae.cpp
@@ -374,6 +374,7 @@ private:
optional_memory_bank m_bank1d;
optional_ioport_array<2> m_analog_ports;
output_finder<> m_lamp;
+ std::unique_ptr<uint8_t[]> m_banked_decrypted_opcodes;
// Analog input related
uint8_t m_port_select;
@@ -971,11 +972,11 @@ void systeme_state::systemeb(machine_config &config)
void systeme_state::init_opaopa()
{
- uint8_t *banked_decrypted_opcodes = auto_alloc_array(machine(), uint8_t, m_maincpu_region->bytes());
- downcast<mc8123_device &>(*m_maincpu).decode(m_maincpu_region->base(), banked_decrypted_opcodes, m_maincpu_region->bytes());
+ m_banked_decrypted_opcodes = std::make_unique<uint8_t[]>(m_maincpu_region->bytes());
+ downcast<mc8123_device &>(*m_maincpu).decode(m_maincpu_region->base(), m_banked_decrypted_opcodes.get(), m_maincpu_region->bytes());
- m_bank0d->set_base(banked_decrypted_opcodes);
- m_bank1d->configure_entries(0, 16, banked_decrypted_opcodes + 0x10000, 0x4000);
+ m_bank0d->set_base(m_banked_decrypted_opcodes.get());
+ m_bank1d->configure_entries(0, 16, &m_banked_decrypted_opcodes[0x10000], 0x4000);
}