mirror of
https://github.com/holub/mame
synced 2025-10-06 17:08:28 +03:00
k033906.cpp : Updates
Simplify handlers, Fix some spacings, Convert arrays into std::unique_ptr
This commit is contained in:
parent
65bef99bca
commit
26a60daf89
@ -25,6 +25,8 @@ k033906_device::k033906_device(const machine_config &mconfig, const char *tag, d
|
|||||||
: device_t(mconfig, K033906, tag, owner, clock)
|
: device_t(mconfig, K033906, tag, owner, clock)
|
||||||
, m_reg_set(0)
|
, m_reg_set(0)
|
||||||
, m_voodoo(*this, finder_base::DUMMY_TAG)
|
, 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()
|
void k033906_device::device_start()
|
||||||
{
|
{
|
||||||
m_reg_set = 0;
|
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_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)
|
if (m_reg_set)
|
||||||
return reg_r(offset);
|
return reg_r(offset);
|
||||||
@ -118,7 +122,7 @@ READ32_MEMBER(k033906_device::read)
|
|||||||
return m_ram[offset];
|
return m_ram[offset];
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE32_MEMBER(k033906_device::write)
|
void k033906_device::write(offs_t offset, u32 data)
|
||||||
{
|
{
|
||||||
if (m_reg_set)
|
if (m_reg_set)
|
||||||
reg_w(offset, data);
|
reg_w(offset, data);
|
||||||
|
@ -26,9 +26,9 @@ public:
|
|||||||
|
|
||||||
k033906_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
k033906_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
DECLARE_READ32_MEMBER( read );
|
u32 read(offs_t offset);
|
||||||
DECLARE_WRITE32_MEMBER( write );
|
void write(offs_t offset, u32 data);
|
||||||
DECLARE_WRITE_LINE_MEMBER( set_reg );
|
DECLARE_WRITE_LINE_MEMBER(set_reg);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// device-level overrides
|
// device-level overrides
|
||||||
@ -47,8 +47,8 @@ private:
|
|||||||
|
|
||||||
required_device<voodoo_device> m_voodoo;
|
required_device<voodoo_device> m_voodoo;
|
||||||
|
|
||||||
uint32_t m_reg[256];
|
std::unique_ptr<u32[]> m_reg;
|
||||||
uint32_t m_ram[32768];
|
std::unique_ptr<u32[]> m_ram;
|
||||||
};
|
};
|
||||||
|
|
||||||
DECLARE_DEVICE_TYPE(K033906, k033906_device)
|
DECLARE_DEVICE_TYPE(K033906, k033906_device)
|
||||||
|
@ -384,12 +384,12 @@ READ32_MEMBER( konppc_device::K033906_0_r )
|
|||||||
if (nwk_device_sel[0] & 0x01)
|
if (nwk_device_sel[0] & 0x01)
|
||||||
return nwk_fifo_r(space, 0);
|
return nwk_fifo_r(space, 0);
|
||||||
else
|
else
|
||||||
return m_k033906[0]->read(space, offset, mem_mask);
|
return m_k033906[0]->read(offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE32_MEMBER( konppc_device::K033906_0_w )
|
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 )
|
READ32_MEMBER( konppc_device::K033906_1_r )
|
||||||
@ -397,12 +397,12 @@ READ32_MEMBER( konppc_device::K033906_1_r )
|
|||||||
if (nwk_device_sel[1] & 0x01)
|
if (nwk_device_sel[1] & 0x01)
|
||||||
return nwk_fifo_r(space, 1);
|
return nwk_fifo_r(space, 1);
|
||||||
else
|
else
|
||||||
return m_k033906[1]->read(space, offset, mem_mask);
|
return m_k033906[1]->read(offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE32_MEMBER( konppc_device::K033906_1_w)
|
WRITE32_MEMBER( konppc_device::K033906_1_w)
|
||||||
{
|
{
|
||||||
m_k033906[1]->write(space, offset, data, mem_mask);
|
m_k033906[1]->write(offset, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
Loading…
Reference in New Issue
Block a user