summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/ioc2.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/ioc2.h')
-rw-r--r--src/mame/machine/ioc2.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/mame/machine/ioc2.h b/src/mame/machine/ioc2.h
index 7a5db0ec1fb..0d61bda84b7 100644
--- a/src/mame/machine/ioc2.h
+++ b/src/mame/machine/ioc2.h
@@ -11,7 +11,15 @@
#pragma once
+#define IOC2_NEW_KBDC (0)
+
+#if IOC2_NEW_KBDC
+#include "machine/at_keybc.h"
+#else
#include "machine/8042kbdc.h"
+#endif
+#include "bus/pc_kbd/pc_kbdc.h"
+#include "bus/pc_kbd/keyboards.h"
#include "machine/pc_lpt.h"
#include "machine/pckeybrd.h"
#include "machine/pit8253.h"
@@ -64,6 +72,7 @@ public:
void set_local_int_mask(int channel, const uint32_t mask);
void set_map_int_mask(int channel, const uint32_t mask);
void set_timer_int_clear(const uint32_t data);
+ void set_mappable_int(uint8_t mask, bool state);
uint8_t get_pit_reg(uint32_t offset) { return m_pit->read(offset); }
void set_pit_reg(uint32_t offset, uint8_t data) { return m_pit->write(offset, data); }
@@ -82,7 +91,6 @@ protected:
DECLARE_WRITE_LINE_MEMBER(kbdc_int_w);
DECLARE_WRITE_LINE_MEMBER(duart_int_w);
- void set_mappable_int(uint8_t mask, bool state);
void check_mappable_interrupt(int channel);
enum
@@ -158,8 +166,12 @@ protected:
required_device<cpu_device> m_maincpu;
required_device<scc85230_device> m_scc;
required_device<pc_lpt_device> m_pi1; // we assume standard parallel port (SPP) mode
- // TODO: SGI parallel port (SGIPP), HP BOISE high speed parallel port (HPBPP), and Ricoh scanner modes
+ // TODO: SGI parallel port (SGIPP), HP BOISE high speed parallel port (HPBPP), and Ricoh scanner mode
+#if IOC2_NEW_KBDC
+ required_device<ps2_keyboard_controller_device> m_kbdc;
+#else
required_device<kbdc8042_device> m_kbdc;
+#endif
required_device<pit8254_device> m_pit;
virtual void handle_reset_reg_write(uint8_t data);