diff options
Diffstat (limited to 'src/devices/bus/pc_kbd/pcxt83.h')
-rw-r--r-- | src/devices/bus/pc_kbd/pcxt83.h | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/src/devices/bus/pc_kbd/pcxt83.h b/src/devices/bus/pc_kbd/pcxt83.h new file mode 100644 index 00000000000..cec03f8bc92 --- /dev/null +++ b/src/devices/bus/pc_kbd/pcxt83.h @@ -0,0 +1,83 @@ +// license:BSD-3-Clause +// copyright-holders:Curt Coder +/********************************************************************** + + IBM Model F PC/XT 83-key keyboard emulation + +*********************************************************************/ + +#pragma once + +#ifndef __PC_KBD_IBM_PC_XT_83__ +#define __PC_KBD_IBM_PC_XT_83__ + +#include "emu.h" +#include "cpu/mcs48/mcs48.h" +#include "pc_kbdc.h" +#include "machine/rescap.h" + + + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +// ======================> ibm_pc_xt_83_keyboard_device + +class ibm_pc_xt_83_keyboard_device : public device_t, + public device_pc_kbd_interface +{ +public: + // construction/destruction + ibm_pc_xt_83_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // optional information overrides + virtual const rom_entry *device_rom_region() const; + virtual machine_config_constructor device_mconfig_additions() const; + virtual ioport_constructor device_input_ports() const; + + DECLARE_READ8_MEMBER( bus_r ); + DECLARE_WRITE8_MEMBER( bus_w ); + DECLARE_WRITE8_MEMBER( p1_w ); + DECLARE_WRITE8_MEMBER( p2_w ); + DECLARE_READ8_MEMBER( t0_r ); + DECLARE_READ8_MEMBER( t1_r ); + +protected: + // device-level overrides + virtual void device_start(); + virtual void device_reset(); + + // device_pc_kbd_interface overrides + virtual DECLARE_WRITE_LINE_MEMBER( clock_write ); + virtual DECLARE_WRITE_LINE_MEMBER( data_write ); + +private: + required_device<cpu_device> m_maincpu; + required_ioport m_md00; + required_ioport m_md01; + required_ioport m_md02; + required_ioport m_md03; + required_ioport m_md04; + required_ioport m_md05; + required_ioport m_md06; + required_ioport m_md07; + required_ioport m_md08; + required_ioport m_md09; + required_ioport m_md10; + required_ioport m_md11; + + UINT8 m_bus; + UINT8 m_p1; + UINT8 m_p2; + int m_sense; + int m_q; +}; + + +// device type definition +extern const device_type PC_KBD_IBM_PC_XT_83; + + + +#endif |