summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/hornet.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/hornet.cpp')
-rw-r--r--src/mame/drivers/hornet.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/mame/drivers/hornet.cpp b/src/mame/drivers/hornet.cpp
index 8c9494d87a6..78d6390290e 100644
--- a/src/mame/drivers/hornet.cpp
+++ b/src/mame/drivers/hornet.cpp
@@ -377,6 +377,7 @@ public:
hornet_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_workram(*this, "workram"),
+ m_sharc_dataram(*this, "sharc%u_dataram", 0U),
m_maincpu(*this, "maincpu"),
m_audiocpu(*this, "audiocpu"),
m_k056800(*this, "k056800"),
@@ -418,6 +419,7 @@ private:
static const int m_sound_timer_usec = 2800;
required_shared_ptr<uint32_t> m_workram;
+ optional_shared_ptr_array<uint32_t, 2> m_sharc_dataram;
required_device<ppc4xx_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
required_device<k056800_device> m_k056800;
@@ -811,9 +813,9 @@ void hornet_state::gn680_memmap(address_map &map)
void hornet_state::sharc0_map(address_map &map)
{
map(0x0400000, 0x041ffff).rw(m_konppc, FUNC(konppc_device::cgboard_0_shared_sharc_r), FUNC(konppc_device::cgboard_0_shared_sharc_w));
- map(0x0500000, 0x05fffff).ram().share("sharc0_dataram").umask32(0x0000ffff);
+ map(0x0500000, 0x05fffff).ram().share(m_sharc_dataram[0]).lr32(NAME([this](offs_t offset) { return m_sharc_dataram[0][offset] & 0xffff; }));
map(0x1400000, 0x14fffff).ram();
- map(0x2400000, 0x27fffff).rw("voodoo0", FUNC(voodoo_device::voodoo_r), FUNC(voodoo_device::voodoo_w));
+ map(0x2400000, 0x27fffff).rw(m_voodoo[0], FUNC(voodoo_device::voodoo_r), FUNC(voodoo_device::voodoo_w));
map(0x3400000, 0x34000ff).rw(m_konppc, FUNC(konppc_device::cgboard_0_comm_sharc_r), FUNC(konppc_device::cgboard_0_comm_sharc_w));
map(0x3500000, 0x35000ff).rw(m_konppc, FUNC(konppc_device::K033906_0_r), FUNC(konppc_device::K033906_0_w));
map(0x3600000, 0x37fffff).bankr("master_cgboard_bank");
@@ -822,9 +824,9 @@ void hornet_state::sharc0_map(address_map &map)
void hornet_state::sharc1_map(address_map &map)
{
map(0x0400000, 0x041ffff).rw(m_konppc, FUNC(konppc_device::cgboard_1_shared_sharc_r), FUNC(konppc_device::cgboard_1_shared_sharc_w));
- map(0x0500000, 0x05fffff).ram().share("sharc1_dataram").umask32(0x0000ffff);
+ map(0x0500000, 0x05fffff).ram().share(m_sharc_dataram[1]).lr32(NAME([this](offs_t offset) { return m_sharc_dataram[1][offset] & 0xffff; }));
map(0x1400000, 0x14fffff).ram();
- map(0x2400000, 0x27fffff).rw("voodoo1", FUNC(voodoo_device::voodoo_r), FUNC(voodoo_device::voodoo_w));
+ map(0x2400000, 0x27fffff).rw(m_voodoo[1], FUNC(voodoo_device::voodoo_r), FUNC(voodoo_device::voodoo_w));
map(0x3400000, 0x34000ff).rw(m_konppc, FUNC(konppc_device::cgboard_1_comm_sharc_r), FUNC(konppc_device::cgboard_1_comm_sharc_w));
map(0x3500000, 0x35000ff).rw(m_konppc, FUNC(konppc_device::K033906_1_r), FUNC(konppc_device::K033906_1_w));
map(0x3600000, 0x37fffff).bankr("slave_cgboard_bank");
@@ -1081,7 +1083,7 @@ void hornet_state::hornet(machine_config &config)
m_voodoo[0]->set_cpu_tag(m_dsp[0]);
m_voodoo[0]->vblank_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
- K033906(config, "k033906_1", 0, "voodoo0");
+ K033906(config, "k033906_1", 0, m_voodoo[0]);
// video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
@@ -1160,7 +1162,7 @@ void hornet_state::sscope(machine_config &config)
m_voodoo[1]->set_cpu_tag(m_dsp[1]);
m_voodoo[1]->vblank_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ1);
- K033906(config, "k033906_2", 0, "voodoo1");
+ K033906(config, "k033906_2", 0, m_voodoo[1]);
// video hardware
config.device_remove("screen");