v53: Add 8-bit mappings for internal peripherals and save associated registers (nw)

This commit is contained in:
AJR 2018-08-12 09:32:24 -04:00
parent 2a5b20e2c7
commit 9fb0658942
2 changed files with 25 additions and 0 deletions

View File

@ -222,6 +222,21 @@ void v53_base_device::device_start()
m_out_dack_3_cb.resolve_safe();
set_irq_acknowledge_callback(device_irq_acknowledge_delegate(FUNC(pic8259_device::inta_cb), (pic8259_device*)m_v53icu));
save_item(NAME(m_SCTL));
save_item(NAME(m_OPSEL));
save_item(NAME(m_SULA));
save_item(NAME(m_TULA));
save_item(NAME(m_IULA));
save_item(NAME(m_DULA));
save_item(NAME(m_OPHA));
save_item(NAME(m_simk));
}
void v53_base_device::device_post_load()
{
install_peripheral_io();
}
void v53_base_device::install_peripheral_io()
@ -262,6 +277,7 @@ void v53_base_device::install_peripheral_io()
if (IOAG) // 8-bit
{
space(AS_IO).install_readwrite_handler(base+0x00, base+0x01, read8_delegate(FUNC(pic8259_device::read), (pic8259_device*)m_v53icu), write8_delegate(FUNC(pic8259_device::write), (pic8259_device*)m_v53icu), 0xffff);
}
else
{
@ -277,6 +293,10 @@ void v53_base_device::install_peripheral_io()
if (IOAG) // 8-bit
{
space(AS_IO).install_readwrite_handler(base+0x00, base+0x01, read8_delegate(FUNC(v53_base_device::tmu_tst0_r), this), write8_delegate(FUNC(v53_base_device::tmu_tct0_w), this), 0x00ff);
space(AS_IO).install_readwrite_handler(base+0x00, base+0x01, read8_delegate(FUNC(v53_base_device::tmu_tst1_r), this), write8_delegate(FUNC(v53_base_device::tmu_tct1_w), this), 0xff00);
space(AS_IO).install_readwrite_handler(base+0x02, base+0x02, read8_delegate(FUNC(v53_base_device::tmu_tst2_r), this), write8_delegate(FUNC(v53_base_device::tmu_tct2_w), this), 0x00ff);
space(AS_IO).install_write_handler(base+0x02, base+0x03, write8_delegate(FUNC(v53_base_device::tmu_tmd_w), this), 0xff00);
}
else
{
@ -294,6 +314,10 @@ void v53_base_device::install_peripheral_io()
if (IOAG) // 8-bit
{
space(AS_IO).install_readwrite_handler(base+0x00, base+0x01, read8_delegate(FUNC(v53_scu_device::data_r), (v53_scu_device*)m_v53scu), write8_delegate(FUNC(v53_scu_device::data_w), (v53_scu_device*)m_v53scu), 0x00ff);
space(AS_IO).install_readwrite_handler(base+0x00, base+0x01, read8_delegate(FUNC(v53_scu_device::status_r), (v53_scu_device*)m_v53scu), write8_delegate(FUNC(v53_scu_device::command_w), (v53_scu_device*)m_v53scu), 0xff00);
space(AS_IO).install_write_handler(base+0x02, base+0x02, write8_delegate(FUNC(v53_scu_device::mode_w), (v53_scu_device*)m_v53scu), 0x00ff);
space(AS_IO).install_readwrite_handler(base+0x02, base+0x03, read8_delegate(FUNC(v53_base_device::scu_simk_r), this), write8_delegate(FUNC(v53_base_device::scu_simk_w), this), 0xff00);
}
else
{

View File

@ -197,6 +197,7 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual void device_start() override;
virtual void device_reset() override;
virtual void device_post_load() override;
virtual void execute_set_input(int inputnum, int state) override;
void install_peripheral_io();