trunk/src/mess/machine/cs4031.c
| r24624 | r24625 | |
| 210 | 210 | m_refresh_toggle(0), |
| 211 | 211 | m_iochck(1), |
| 212 | 212 | m_nmi_mask(1), |
| 213 | m_sysctrl(0), |
| 213 | 214 | m_cpureset(0), |
| 214 | 215 | m_kbrst(1), |
| 215 | 216 | m_ext_gatea20(0), |
| r24624 | r24625 | |
| 316 | 317 | m_space_io->install_write_handler(0x0070, 0x0073, write8_delegate(FUNC(cs4031_device::rtc_w), this), 0x000000ff); |
| 317 | 318 | m_space_io->install_readwrite_handler(0x0070, 0x0073, read8_delegate(FUNC(mc146818_device::data_r), &(*m_rtc)), write8_delegate(FUNC(mc146818_device::data_w), &(*m_rtc)), 0x0000ff00); |
| 318 | 319 | m_space_io->install_readwrite_handler(0x0080, 0x008f, read8_delegate(FUNC(cs4031_device::dma_page_r), this), write8_delegate(FUNC(cs4031_device::dma_page_w), this), 0xffffffff); |
| 319 | | m_space_io->install_write_handler(0x0090, 0x0093, write8_delegate(FUNC(cs4031_device::sysctrl_w), this), 0x00ff0000); |
| 320 | m_space_io->install_readwrite_handler(0x0090, 0x0093, read8_delegate(FUNC(cs4031_device::sysctrl_r), this), write8_delegate(FUNC(cs4031_device::sysctrl_w), this), 0x00ff0000); |
| 320 | 321 | m_space_io->install_readwrite_handler(0x00a0, 0x00a3, read8_delegate(FUNC(pic8259_device::read), &(*m_intc2)), write8_delegate(FUNC(pic8259_device::write), &(*m_intc2)), 0x0000ffff); |
| 321 | 322 | m_space_io->install_readwrite_handler(0x00c0, 0x00df, read8_delegate(FUNC(cs4031_device::dma2_r),this), write8_delegate(FUNC(cs4031_device::dma2_w),this), 0xffffffff); |
| 322 | 323 | } |
| r24624 | r24625 | |
| 785 | 786 | if (LOG_IO) |
| 786 | 787 | logerror("cs4031_device::sysctrl_w: %u\n", data); |
| 787 | 788 | |
| 789 | m_sysctrl = data; |
| 790 | |
| 788 | 791 | m_fast_gatea20 = BIT(data, 1); |
| 789 | 792 | a20m(); |
| 790 | 793 | |
| r24624 | r24625 | |
| 798 | 801 | m_cpureset = BIT(data, 0); |
| 799 | 802 | } |
| 800 | 803 | |
| 804 | READ8_MEMBER( cs4031_device::sysctrl_r ) |
| 805 | { |
| 806 | if (LOG_IO) |
| 807 | logerror("cs4031_device::sysctrl_r: %u\n", m_sysctrl); |
| 801 | 808 | |
| 809 | return m_sysctrl; |
| 810 | } |
| 811 | |
| 802 | 812 | //************************************************************************** |
| 803 | 813 | // MISCELLANEOUS |
| 804 | 814 | //************************************************************************** |
trunk/src/mess/machine/cs4031.h
| r24624 | r24625 | |
| 139 | 139 | DECLARE_WRITE8_MEMBER( portb_w ); |
| 140 | 140 | DECLARE_WRITE8_MEMBER( rtc_w ); |
| 141 | 141 | DECLARE_WRITE8_MEMBER( sysctrl_w ); |
| 142 | DECLARE_READ8_MEMBER( sysctrl_r ); |
| 142 | 143 | DECLARE_READ8_MEMBER( dma_page_r ) { return m_dma_page[offset]; } |
| 143 | 144 | DECLARE_WRITE8_MEMBER( dma_page_w ) { m_dma_page[offset] = data; } |
| 144 | 145 | DECLARE_READ8_MEMBER( dma2_r ) { return m_dma2->read(space, offset / 2); } |
| r24624 | r24625 | |
| 239 | 240 | int m_refresh_toggle; |
| 240 | 241 | int m_iochck; |
| 241 | 242 | int m_nmi_mask; |
| 243 | UINT8 m_sysctrl; |
| 242 | 244 | |
| 243 | 245 | // keyboard |
| 244 | 246 | at_keyboard_controller_device *m_keybc; |