Merge pull request #4929 from cam900/k033906_args

k033906.cpp : Updates
This commit is contained in:
R. Belmont 2019-04-26 17:04:46 -04:00 committed by GitHub
commit fbf688b976
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 13 deletions

View File

@ -25,6 +25,8 @@ k033906_device::k033906_device(const machine_config &mconfig, const char *tag, d
: device_t(mconfig, K033906, tag, owner, clock)
, m_reg_set(0)
, m_voodoo(*this, finder_base::DUMMY_TAG)
, m_reg(nullptr)
, m_ram(nullptr)
{
}
@ -35,10 +37,12 @@ k033906_device::k033906_device(const machine_config &mconfig, const char *tag, d
void k033906_device::device_start()
{
m_reg_set = 0;
m_reg = make_unique_clear<u32[]>(256);
m_ram = make_unique_clear<u32[]>(32768);
save_item(NAME(m_reg));
save_item(NAME(m_ram));
save_item(NAME(m_reg_set));
save_pointer(NAME(m_reg), 256);
save_pointer(NAME(m_ram), 32768);
}
@ -110,7 +114,7 @@ void k033906_device::reg_w(int reg, uint32_t data)
}
}
READ32_MEMBER(k033906_device::read)
u32 k033906_device::read(offs_t offset)
{
if (m_reg_set)
return reg_r(offset);
@ -118,7 +122,7 @@ READ32_MEMBER(k033906_device::read)
return m_ram[offset];
}
WRITE32_MEMBER(k033906_device::write)
void k033906_device::write(offs_t offset, u32 data)
{
if (m_reg_set)
reg_w(offset, data);

View File

@ -26,9 +26,9 @@ public:
k033906_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_READ32_MEMBER( read );
DECLARE_WRITE32_MEMBER( write );
DECLARE_WRITE_LINE_MEMBER( set_reg );
u32 read(offs_t offset);
void write(offs_t offset, u32 data);
DECLARE_WRITE_LINE_MEMBER(set_reg);
protected:
// device-level overrides
@ -47,8 +47,8 @@ private:
required_device<voodoo_device> m_voodoo;
uint32_t m_reg[256];
uint32_t m_ram[32768];
std::unique_ptr<u32[]> m_reg;
std::unique_ptr<u32[]> m_ram;
};
DECLARE_DEVICE_TYPE(K033906, k033906_device)

View File

@ -384,12 +384,12 @@ READ32_MEMBER( konppc_device::K033906_0_r )
if (nwk_device_sel[0] & 0x01)
return nwk_fifo_r(space, 0);
else
return m_k033906[0]->read(space, offset, mem_mask);
return m_k033906[0]->read(offset);
}
WRITE32_MEMBER( konppc_device::K033906_0_w )
{
m_k033906[0]->write(space, offset, data, mem_mask);
m_k033906[0]->write(offset, data);
}
READ32_MEMBER( konppc_device::K033906_1_r )
@ -397,12 +397,12 @@ READ32_MEMBER( konppc_device::K033906_1_r )
if (nwk_device_sel[1] & 0x01)
return nwk_fifo_r(space, 1);
else
return m_k033906[1]->read(space, offset, mem_mask);
return m_k033906[1]->read(offset);
}
WRITE32_MEMBER( konppc_device::K033906_1_w)
{
m_k033906[1]->write(space, offset, data, mem_mask);
m_k033906[1]->write(offset, data);
}
/*****************************************************************************/