mirror of
https://github.com/holub/mame
synced 2025-10-05 08:41:31 +03:00
southbridge.cpp: split the single rw handler to io ports 60 and 61 into two separate handlers one for each port (nw)
To support systems in the future where the southbridge does not contain a keyboard controller.
This commit is contained in:
parent
0fa0fae6f8
commit
734951de8a
@ -182,7 +182,8 @@ void southbridge_device::device_start()
|
||||
spaceio.install_readwrite_handler(0x0000, 0x001f, read8_delegate(FUNC(am9517a_device::read),&(*m_dma8237_1)), write8_delegate(FUNC(am9517a_device::write),&(*m_dma8237_1)), 0xffffffff);
|
||||
spaceio.install_readwrite_handler(0x0020, 0x003f, read8_delegate(FUNC(pic8259_device::read),&(*m_pic8259_master)), write8_delegate(FUNC(pic8259_device::write),&(*m_pic8259_master)), 0xffffffff);
|
||||
spaceio.install_readwrite_handler(0x0040, 0x005f, read8_delegate(FUNC(pit8254_device::read),&(*m_pit8254)), write8_delegate(FUNC(pit8254_device::write),&(*m_pit8254)), 0xffffffff);
|
||||
spaceio.install_readwrite_handler(0x0060, 0x0063, read8_delegate(FUNC(southbridge_device::at_keybc_r),this), write8_delegate(FUNC(southbridge_device::at_keybc_w),this), 0xffffffff);
|
||||
spaceio.install_readwrite_handler(0x0060, 0x0063, read8_delegate(FUNC(at_keyboard_controller_device::data_r), &(*m_keybc)), write8_delegate(FUNC(at_keyboard_controller_device::data_w), &(*m_keybc)), 0x000000ff);
|
||||
spaceio.install_readwrite_handler(0x0060, 0x0063, read8_delegate(FUNC(southbridge_device::at_portb_r), this), write8_delegate(FUNC(southbridge_device::at_portb_w), this), 0x0000ff00);
|
||||
spaceio.install_readwrite_handler(0x0064, 0x0067, read8_delegate(FUNC(at_keyboard_controller_device::status_r),&(*m_keybc)), write8_delegate(FUNC(at_keyboard_controller_device::command_w),&(*m_keybc)), 0xffffffff);
|
||||
spaceio.install_readwrite_handler(0x0070, 0x007f, read8_delegate(FUNC(ds12885_device::read),&(*m_ds12885)), write8_delegate(FUNC(ds12885_device::write),&(*m_ds12885)), 0xffffffff);
|
||||
spaceio.install_readwrite_handler(0x0080, 0x009f, read8_delegate(FUNC(southbridge_device::at_page8_r),this), write8_delegate(FUNC(southbridge_device::at_page8_w),this), 0xffffffff);
|
||||
@ -458,27 +459,6 @@ WRITE8_MEMBER( southbridge_device::at_dma8237_2_w )
|
||||
m_dma8237_2->write( space, offset / 2, data);
|
||||
}
|
||||
|
||||
READ8_MEMBER( southbridge_device::at_keybc_r )
|
||||
{
|
||||
switch (offset)
|
||||
{
|
||||
case 0: return m_keybc->data_r(space, 0);
|
||||
case 1: return at_portb_r(space, 0);
|
||||
}
|
||||
|
||||
return 0xff;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( southbridge_device::at_keybc_w )
|
||||
{
|
||||
switch (offset)
|
||||
{
|
||||
case 0: m_keybc->data_w(space, 0, data); break;
|
||||
case 1: at_portb_w(space, 0, data); break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
WRITE8_MEMBER( southbridge_device::write_rtc )
|
||||
{
|
||||
if (offset==0) {
|
||||
|
@ -121,8 +121,6 @@ private:
|
||||
DECLARE_WRITE8_MEMBER(ide2_write_cs1_w);
|
||||
DECLARE_READ8_MEMBER(at_dma8237_2_r);
|
||||
DECLARE_WRITE8_MEMBER(at_dma8237_2_w);
|
||||
DECLARE_READ8_MEMBER(at_keybc_r);
|
||||
DECLARE_WRITE8_MEMBER(at_keybc_w);
|
||||
DECLARE_WRITE8_MEMBER(write_rtc);
|
||||
DECLARE_READ8_MEMBER(pc_dma_read_byte);
|
||||
DECLARE_WRITE8_MEMBER(pc_dma_write_byte);
|
||||
|
Loading…
Reference in New Issue
Block a user