diff options
author | Ivan Vangelista <mesgnet@yahoo.it> | 2017-05-27 11:32:20 +0200 |
---|---|---|
committer | Ivan Vangelista <mesgnet@yahoo.it> | 2017-05-27 11:32:20 +0200 |
commit | 7281fbfae760e3930880d6067c322363c9ed649d (patch) | |
tree | 9294daa261c1dcf6b7c8195848ca430d53f57e65 | |
parent | 2d4ba2471d86555562870973bd456c8dc2581d33 (diff) |
harddriv.cpp: worked around a strtdriv sound regression (nw)
-rw-r--r-- | src/mame/drivers/harddriv.cpp | 7 | ||||
-rw-r--r-- | src/mame/includes/harddriv.h | 2 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/mame/drivers/harddriv.cpp b/src/mame/drivers/harddriv.cpp index e6c3249dccf..e769c7c1542 100644 --- a/src/mame/drivers/harddriv.cpp +++ b/src/mame/drivers/harddriv.cpp @@ -412,7 +412,7 @@ harddriv_state::harddriv_state(const machine_config &mconfig, device_type type, m_adsp_eprom_base(0), m_sim_memory(*this, "user1"), m_adsp_pgm_memory_word(nullptr), - m_ds3_sdata_memory(*this, "ds3sdsp_data"), + m_ds3_sdata_memory(nullptr), m_ds3_sdata_memory_size(0), m_ds3_gcmd(0), m_ds3_gflag(0), @@ -4699,8 +4699,9 @@ void harddriv_state::init_ds3() m_maincpu->space(AS_PROGRAM).install_write_handler(0x823000, 0x8237ff, write16_delegate(FUNC(harddriv_state::hd68k_ds3_sirq_clear_w), this)); m_maincpu->space(AS_PROGRAM).install_write_handler(0x823800, 0x823fff, write16_delegate(FUNC(harddriv_state::hd68k_ds3_control_w), this)); - /* predetermine memory regions */ - m_ds3_sdata_memory_size = m_ds3_sdata_memory.bytes() / 2; + /* predetermine memory regions, can't use a region_ptr because strtdriv expects uint8_t while hdrivair expects uint16_t */ + m_ds3_sdata_memory = (uint16_t*)memregion("ds3sdsp_data")->base(); + m_ds3_sdata_memory_size = memregion("ds3sdsp_data")->bytes() / 2; /* diff --git a/src/mame/includes/harddriv.h b/src/mame/includes/harddriv.h index 27a93988b7b..d8f140c3cf5 100644 --- a/src/mame/includes/harddriv.h +++ b/src/mame/includes/harddriv.h @@ -352,7 +352,7 @@ protected: uint16_t m_som_memory[0x8000/2]; uint16_t * m_adsp_pgm_memory_word; - optional_region_ptr<uint16_t> m_ds3_sdata_memory; + uint16_t * m_ds3_sdata_memory; uint32_t m_ds3_sdata_memory_size; uint8_t m_ds3_gcmd; |