pc1512: Added mouse port slot interface. [Curt Coder]

This commit is contained in:
Curt Coder 2016-09-05 22:09:58 +03:00
parent 908f473f19
commit c4d0fbc48b
7 changed files with 322 additions and 79 deletions

View File

@ -2904,3 +2904,15 @@ if (BUSES["COMPIS_GRAPHICS"]~=null) then
MAME_DIR .. "src/devices/bus/compis/hrg.h",
}
end
---------------------------------------------------
--
--@src/devices/bus/pc1512/mouse.h,BUSES["PC1512"] = true
---------------------------------------------------
if (BUSES["PC1512"]~=null) then
files {
MAME_DIR .. "src/devices/bus/pc1512/mouse.cpp",
MAME_DIR .. "src/devices/bus/pc1512/mouse.h",
}
end

View File

@ -663,6 +663,7 @@ BUSES["NEWBRAIN"] = true
BUSES["NUBUS"] = true
BUSES["O2"] = true
BUSES["ORICEXT"] = true
BUSES["PC1512"] = true
BUSES["PCE"] = true
BUSES["PC_JOY"] = true
BUSES["PC_KBD"] = true

View File

@ -0,0 +1,118 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
Amstrad PC1512 mouse port emulation
**********************************************************************/
#include "emu.h"
#include "bus/pc1512/mouse.h"
//**************************************************************************
// DEVICE DEFINITION
//**************************************************************************
const device_type PC1512_MOUSE_PORT = &device_creator<pc1512_mouse_port_t>;
const device_type PC1512_MOUSE = &device_creator<pc1512_mouse_t>;
//**************************************************************************
// CARD INTERFACE
//**************************************************************************
//-------------------------------------------------
// device_pc1512_mouse_port_interface - constructor
//-------------------------------------------------
device_pc1512_mouse_port_interface::device_pc1512_mouse_port_interface(const machine_config &mconfig, device_t &device) :
device_slot_card_interface(mconfig, device)
{
m_port = dynamic_cast<pc1512_mouse_port_t *>(device.owner());
}
//**************************************************************************
// LIVE DEVICE
//**************************************************************************
//-------------------------------------------------
// pc1512_mouse_port_t - constructor
//-------------------------------------------------
pc1512_mouse_port_t::pc1512_mouse_port_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
device_t(mconfig, PC1512_MOUSE_PORT, "Amstrad PC1512 mouse port", tag, owner, clock, "pc1512_mouse_port", __FILE__),
device_slot_interface(mconfig, *this),
m_write_x(*this),
m_write_y(*this),
m_write_m1(*this),
m_write_m2(*this),
m_device(nullptr)
{
}
pc1512_mouse_t::pc1512_mouse_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
device_t(mconfig, PC1512_MOUSE, "Amstrad PC1512 mouse", tag, owner, clock, "pc1512_mouse", __FILE__),
device_pc1512_mouse_port_interface(mconfig, *this)
{
}
//-------------------------------------------------
// device_start - device-specific startup
//-------------------------------------------------
void pc1512_mouse_port_t::device_start()
{
m_device = dynamic_cast<device_pc1512_mouse_port_interface *>(get_card_device());
// resolve callbacks
m_write_x.resolve_safe();
m_write_y.resolve_safe();
m_write_m1.resolve_safe();
m_write_m2.resolve_safe();
}
void pc1512_mouse_t::device_start()
{
}
//-------------------------------------------------
// INPUT_PORTS( mouse )
//-------------------------------------------------
static INPUT_PORTS_START( mouse )
PORT_START("MOUSEB")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_NAME("Left Mouse Button") PORT_CODE(MOUSECODE_BUTTON1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc1512_mouse_t, mouse_button_1_changed, 0)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_NAME("Right Mouse Button") PORT_CODE(MOUSECODE_BUTTON2) PORT_CHANGED_MEMBER(DEVICE_SELF, pc1512_mouse_t, mouse_button_2_changed, 0)
PORT_START("MOUSEX")
PORT_BIT( 0xff, 0x00, IPT_MOUSE_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(5) PORT_MINMAX(0, 255) PORT_PLAYER(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc1512_mouse_t, mouse_x_changed, 0)
PORT_START("MOUSEY")
PORT_BIT( 0xff, 0x00, IPT_MOUSE_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(5) PORT_MINMAX(0, 255) PORT_PLAYER(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc1512_mouse_t, mouse_y_changed, 0)
INPUT_PORTS_END
//-------------------------------------------------
// input_ports - device-specific input ports
//-------------------------------------------------
ioport_constructor pc1512_mouse_t::device_input_ports() const
{
return INPUT_PORTS_NAME( mouse );
}
//-------------------------------------------------
// SLOT_INTERFACE( pc1512_mouse_port_devices )
//-------------------------------------------------
SLOT_INTERFACE_START( pc1512_mouse_port_devices )
SLOT_INTERFACE("mouse", PC1512_MOUSE)
SLOT_INTERFACE_END

View File

@ -0,0 +1,140 @@
// license:BSD-3-Clause
// copyright-holders:Curt Coder
/**********************************************************************
Amstrad PC1512 mouse port emulation
**********************************************************************
1 XA
2 XB
3 YA
4 YB
5
6 M1
7 +5V
8 GND
9 M2
**********************************************************************/
#pragma once
#ifndef __PC1512_MOUSE_PORT__
#define __PC1512_MOUSE_PORT__
#include "emu.h"
//**************************************************************************
// INTERFACE CONFIGURATION MACROS
//**************************************************************************
#define PC1512_MOUSE_PORT_TAG "mous"
#define MCFG_PC1512_MOUSE_PORT_ADD(_tag, _slot_intf, _def_slot) \
MCFG_DEVICE_ADD(_tag, PC1512_MOUSE_PORT, 0) \
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
#define MCFG_PC1512_MOUSE_PORT_X_CB(_write) \
devcb = &pc1512_mouse_port_t::set_x_wr_callback(*device, DEVCB_##_write);
#define MCFG_PC1512_MOUSE_PORT_Y_CB(_write) \
devcb = &pc1512_mouse_port_t::set_y_wr_callback(*device, DEVCB_##_write);
#define MCFG_PC1512_MOUSE_PORT_M1_CB(_write) \
devcb = &pc1512_mouse_port_t::set_m1_wr_callback(*device, DEVCB_##_write);
#define MCFG_PC1512_MOUSE_PORT_M2_CB(_write) \
devcb = &pc1512_mouse_port_t::set_m2_wr_callback(*device, DEVCB_##_write);
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
class pc1512_mouse_port_t;
// ======================> device_pc1512_mouse_port_interface
class device_pc1512_mouse_port_interface : public device_slot_card_interface
{
public:
// construction/destruction
device_pc1512_mouse_port_interface(const machine_config &mconfig, device_t &device);
virtual ~device_pc1512_mouse_port_interface() { }
protected:
pc1512_mouse_port_t *m_port;
};
// ======================> pc1512_mouse_port_t
class pc1512_mouse_port_t : public device_t,
public device_slot_interface
{
public:
// construction/destruction
pc1512_mouse_port_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
// static configuration helpers
template<class _Object> static devcb_base &set_x_wr_callback(device_t &device, _Object object) { return downcast<pc1512_mouse_port_t &>(device).m_write_x.set_callback(object); }
template<class _Object> static devcb_base &set_y_wr_callback(device_t &device, _Object object) { return downcast<pc1512_mouse_port_t &>(device).m_write_y.set_callback(object); }
template<class _Object> static devcb_base &set_m1_wr_callback(device_t &device, _Object object) { return downcast<pc1512_mouse_port_t &>(device).m_write_m1.set_callback(object); }
template<class _Object> static devcb_base &set_m2_wr_callback(device_t &device, _Object object) { return downcast<pc1512_mouse_port_t &>(device).m_write_m2.set_callback(object); }
// peripheral interface
void x_w(UINT8 data) { m_write_x(data); }
void y_w(UINT8 data) { m_write_y(data); }
void m1_w(int state) { m_write_m1(state); }
void m2_w(int state) { m_write_m2(state); }
protected:
// device-level overrides
virtual void device_start() override;
devcb_write8 m_write_x;
devcb_write8 m_write_y;
devcb_write_line m_write_m1;
devcb_write_line m_write_m2;
device_pc1512_mouse_port_interface *m_device;
};
// ======================> pc1512_mouse_t
class pc1512_mouse_t : public device_t,
public device_pc1512_mouse_port_interface
{
public:
// construction/destruction
pc1512_mouse_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
// optional information overrides
virtual ioport_constructor device_input_ports() const override;
DECLARE_INPUT_CHANGED_MEMBER( mouse_x_changed ) { m_port->x_w(newval); }
DECLARE_INPUT_CHANGED_MEMBER( mouse_y_changed ) { m_port->y_w(newval); }
DECLARE_INPUT_CHANGED_MEMBER( mouse_button_1_changed ) { m_port->m1_w(newval); }
DECLARE_INPUT_CHANGED_MEMBER( mouse_button_2_changed ) { m_port->m2_w(newval); }
protected:
// device-level overrides
virtual void device_start() override;
};
// device type definition
extern const device_type PC1512_MOUSE_PORT;
extern const device_type PC1512_MOUSE;
// slot devices
SLOT_INTERFACE_EXTERN( pc1512_mouse_port_devices );
#endif

View File

@ -674,76 +674,11 @@ ADDRESS_MAP_END
// INPUT PORTS
//**************************************************************************
//-------------------------------------------------
// INPUT_CHANGED_MEMBER( mouse_button_1_changed )
//-------------------------------------------------
INPUT_CHANGED_MEMBER( pc1512_state::mouse_button_1_changed )
{
m_kb->m1_w(newval);
}
//-------------------------------------------------
// INPUT_CHANGED_MEMBER( mouse_button_2_changed )
//-------------------------------------------------
INPUT_CHANGED_MEMBER( pc1512_state::mouse_button_2_changed )
{
m_kb->m2_w(newval);
}
//-------------------------------------------------
// INPUT_CHANGED_MEMBER( mouse_x_changed )
//-------------------------------------------------
INPUT_CHANGED_MEMBER( pc1512_state::mouse_x_changed )
{
if (newval > oldval)
m_mouse_x++;
else
m_mouse_x--;
}
//-------------------------------------------------
// INPUT_CHANGED_MEMBER( mouse_y_changed )
//-------------------------------------------------
INPUT_CHANGED_MEMBER( pc1512_state::mouse_y_changed )
{
if (newval > oldval)
m_mouse_y--;
else
m_mouse_y++;
}
//-------------------------------------------------
// INPUT_PORTS( mouse )
//-------------------------------------------------
static INPUT_PORTS_START( mouse )
PORT_START("MOUSEB")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_NAME("Left Mouse Button") PORT_CODE(MOUSECODE_BUTTON1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc1512_state, mouse_button_1_changed, 0)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_NAME("Right Mouse Button") PORT_CODE(MOUSECODE_BUTTON2) PORT_CHANGED_MEMBER(DEVICE_SELF, pc1512_state, mouse_button_2_changed, 0)
PORT_START("MOUSEX")
PORT_BIT( 0xff, 0x00, IPT_MOUSE_X ) PORT_SENSITIVITY(100) PORT_KEYDELTA(5) PORT_MINMAX(0, 255) PORT_PLAYER(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc1512_state, mouse_x_changed, 0)
PORT_START("MOUSEY")
PORT_BIT( 0xff, 0x00, IPT_MOUSE_Y ) PORT_SENSITIVITY(100) PORT_KEYDELTA(5) PORT_MINMAX(0, 255) PORT_PLAYER(1) PORT_CHANGED_MEMBER(DEVICE_SELF, pc1512_state, mouse_y_changed, 0)
INPUT_PORTS_END
//-------------------------------------------------
// INPUT_PORTS( pc1512 )
//-------------------------------------------------
static INPUT_PORTS_START( pc1512 )
PORT_INCLUDE( mouse )
PORT_START("LK")
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Language ) )
PORT_DIPSETTING( 0x07, DEF_STR( English ) )
@ -776,8 +711,6 @@ INPUT_PORTS_END
//-------------------------------------------------
static INPUT_PORTS_START( pc1640 )
PORT_INCLUDE( mouse )
PORT_START("LK")
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Language ) )
PORT_DIPSETTING( 0x07, DEF_STR( English ) )
@ -860,6 +793,25 @@ WRITE_LINE_MEMBER( pc1512_state::kbclk_w )
m_kbclk = state;
}
WRITE8_MEMBER( pc1512_state::mouse_x_w )
{
if (data > m_mouse_x_old)
m_mouse_x+=3;
else
m_mouse_x-=3;
m_mouse_x_old = data;
}
WRITE8_MEMBER( pc1512_state::mouse_y_w )
{
if (data > m_mouse_y_old)
m_mouse_y-=3;
else
m_mouse_y+=3;
m_mouse_y_old = data;
}
//-------------------------------------------------
// I8237_INTERFACE( dmac_intf )
@ -1114,6 +1066,8 @@ void pc1512_state::machine_start()
save_item(NAME(m_kbdata));
save_item(NAME(m_mouse_x));
save_item(NAME(m_mouse_y));
save_item(NAME(m_mouse_x_old));
save_item(NAME(m_mouse_y_old));
save_item(NAME(m_dma_page));
save_item(NAME(m_dma_channel));
save_item(NAME(m_dreq0));
@ -1184,6 +1138,8 @@ void pc1640_state::machine_start()
save_item(NAME(m_kbdata));
save_item(NAME(m_mouse_x));
save_item(NAME(m_mouse_y));
save_item(NAME(m_mouse_x_old));
save_item(NAME(m_mouse_y_old));
save_item(NAME(m_dma_page));
save_item(NAME(m_dma_channel));
save_item(NAME(m_dreq0));
@ -1241,6 +1197,13 @@ static MACHINE_CONFIG_START( pc1512, pc1512_state )
MCFG_DEVICE_ADD(PC1512_KEYBOARD_TAG, PC1512_KEYBOARD, 0)
MCFG_PC1512_KEYBOARD_CLOCK_CALLBACK(WRITELINE(pc1512_state, kbclk_w))
MCFG_PC1512_KEYBOARD_DATA_CALLBACK(WRITELINE(pc1512_state, kbdata_w))
MCFG_PC1512_MOUSE_PORT_ADD(PC1512_MOUSE_PORT_TAG, pc1512_mouse_port_devices, "mouse")
MCFG_PC1512_MOUSE_PORT_X_CB(WRITE8(pc1512_state, mouse_x_w))
MCFG_PC1512_MOUSE_PORT_Y_CB(WRITE8(pc1512_state, mouse_y_w))
MCFG_PC1512_MOUSE_PORT_M1_CB(DEVWRITELINE(PC1512_KEYBOARD_TAG, pc1512_keyboard_t, m1_w))
MCFG_PC1512_MOUSE_PORT_M2_CB(DEVWRITELINE(PC1512_KEYBOARD_TAG, pc1512_keyboard_t, m2_w))
MCFG_DEVICE_ADD(I8237A5_TAG, AM9517A, XTAL_24MHz/6)
MCFG_I8237_OUT_HREQ_CB(WRITELINE(pc1512_state, hrq_w))
MCFG_I8237_OUT_EOP_CB(WRITELINE(pc1512_state, eop_w))
@ -1269,11 +1232,13 @@ static MACHINE_CONFIG_START( pc1512, pc1512_state )
MCFG_MC146818_ADD(MC146818_TAG, XTAL_32_768kHz)
MCFG_MC146818_IRQ_HANDLER(DEVWRITELINE(I8259A2_TAG, pic8259_device, ir2_w))
MCFG_PC_FDC_XT_ADD(PC_FDC_XT_TAG)
MCFG_PC_FDC_INTRQ_CALLBACK(WRITELINE(pc1512_state, fdc_int_w))
MCFG_PC_FDC_DRQ_CALLBACK(WRITELINE(pc1512_state, fdc_drq_w))
MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":0", pc1512_floppies, "525dd", pc1512_state::floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":1", pc1512_floppies, nullptr, pc1512_state::floppy_formats)
MCFG_DEVICE_ADD(INS8250_TAG, INS8250, XTAL_1_8432MHz)
MCFG_INS8250_OUT_TX_CB(DEVWRITELINE(RS232_TAG, rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(DEVWRITELINE(RS232_TAG, rs232_port_device, write_dtr))
@ -1286,7 +1251,6 @@ static MACHINE_CONFIG_START( pc1512, pc1512_state )
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(pc1512_state, write_centronics_perror))
MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE(pc1512_state, write_centronics_select))
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(pc1512_state, write_centronics_fault))
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, nullptr)
@ -1363,6 +1327,13 @@ static MACHINE_CONFIG_START( pc1640, pc1640_state )
MCFG_DEVICE_ADD(PC1512_KEYBOARD_TAG, PC1512_KEYBOARD, 0)
MCFG_PC1512_KEYBOARD_CLOCK_CALLBACK(WRITELINE(pc1512_state, kbclk_w))
MCFG_PC1512_KEYBOARD_DATA_CALLBACK(WRITELINE(pc1512_state, kbdata_w))
MCFG_PC1512_MOUSE_PORT_ADD(PC1512_MOUSE_PORT_TAG, pc1512_mouse_port_devices, "mouse")
MCFG_PC1512_MOUSE_PORT_X_CB(WRITE8(pc1512_state, mouse_x_w))
MCFG_PC1512_MOUSE_PORT_Y_CB(WRITE8(pc1512_state, mouse_y_w))
MCFG_PC1512_MOUSE_PORT_M1_CB(DEVWRITELINE(PC1512_KEYBOARD_TAG, pc1512_keyboard_t, m1_w))
MCFG_PC1512_MOUSE_PORT_M2_CB(DEVWRITELINE(PC1512_KEYBOARD_TAG, pc1512_keyboard_t, m2_w))
MCFG_DEVICE_ADD(I8237A5_TAG, AM9517A, XTAL_24MHz/6)
MCFG_I8237_OUT_HREQ_CB(WRITELINE(pc1512_state, hrq_w))
MCFG_I8237_OUT_EOP_CB(WRITELINE(pc1512_state, eop_w))
@ -1391,25 +1362,25 @@ static MACHINE_CONFIG_START( pc1640, pc1640_state )
MCFG_MC146818_ADD(MC146818_TAG, XTAL_32_768kHz)
MCFG_MC146818_IRQ_HANDLER(DEVWRITELINE(I8259A2_TAG, pic8259_device, ir2_w))
MCFG_PC_FDC_XT_ADD(PC_FDC_XT_TAG)
MCFG_PC_FDC_INTRQ_CALLBACK(WRITELINE(pc1512_state, fdc_int_w))
MCFG_PC_FDC_DRQ_CALLBACK(WRITELINE(pc1512_state, fdc_drq_w))
MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":0", pc1512_floppies, "525dd", pc1512_state::floppy_formats)
MCFG_FLOPPY_DRIVE_ADD(PC_FDC_XT_TAG ":1", pc1512_floppies, nullptr, pc1512_state::floppy_formats)
MCFG_DEVICE_ADD(INS8250_TAG, INS8250, XTAL_1_8432MHz)
MCFG_INS8250_OUT_TX_CB(DEVWRITELINE(RS232_TAG, rs232_port_device, write_txd))
MCFG_INS8250_OUT_DTR_CB(DEVWRITELINE(RS232_TAG, rs232_port_device, write_dtr))
MCFG_INS8250_OUT_RTS_CB(DEVWRITELINE(RS232_TAG, rs232_port_device, write_rts))
MCFG_INS8250_OUT_INT_CB(DEVWRITELINE(I8259A2_TAG, pic8259_device, ir4_w))
MCFG_CENTRONICS_ADD("centronics", centronics_devices, "printer")
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(pc1512_state, write_centronics_ack))
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(pc1512_state, write_centronics_busy))
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(pc1512_state, write_centronics_perror))
MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE(pc1512_state, write_centronics_select))
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(pc1512_state, write_centronics_fault))
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, nullptr)

View File

@ -6,15 +6,17 @@
#define __PC1512__
#include "emu.h"
#include "bus/centronics/ctronics.h"
#include "bus/isa/isa.h"
#include "bus/isa/isa_cards.h"
#include "bus/isa/pc1640_iga.h"
#include "bus/pc1512/mouse.h"
#include "cpu/i86/i86.h"
#include "cpu/mcs48/mcs48.h"
#include "formats/pc_dsk.h"
#include "machine/am9517a.h"
#include "machine/buffer.h"
#include "bus/centronics/ctronics.h"
#include "machine/ins8250.h"
#include "bus/isa/isa.h"
#include "bus/isa/isa_cards.h"
#include "machine/mc146818.h"
#include "machine/pic8259.h"
#include "machine/pit8253.h"
@ -23,7 +25,6 @@
#include "machine/ram.h"
#include "sound/speaker.h"
#include "video/mc6845.h"
#include "bus/isa/pc1640_iga.h"
#define I8086_TAG "ic120"
#define I8087_TAG "ic119"
@ -155,10 +156,6 @@ public:
DECLARE_WRITE_LINE_MEMBER( dack1_w );
DECLARE_WRITE_LINE_MEMBER( dack2_w );
DECLARE_WRITE_LINE_MEMBER( dack3_w );
DECLARE_INPUT_CHANGED_MEMBER( mouse_button_1_changed );
DECLARE_INPUT_CHANGED_MEMBER( mouse_button_2_changed );
DECLARE_INPUT_CHANGED_MEMBER( mouse_x_changed );
DECLARE_INPUT_CHANGED_MEMBER( mouse_y_changed );
DECLARE_FLOPPY_FORMATS( floppy_formats );
DECLARE_WRITE_LINE_MEMBER( fdc_int_w );
DECLARE_WRITE_LINE_MEMBER( fdc_drq_w );
@ -167,6 +164,8 @@ public:
DECLARE_WRITE_LINE_MEMBER(write_centronics_perror);
DECLARE_WRITE_LINE_MEMBER(write_centronics_select);
DECLARE_WRITE_LINE_MEMBER(write_centronics_fault);
DECLARE_WRITE8_MEMBER( mouse_x_w );
DECLARE_WRITE8_MEMBER( mouse_y_w );
MC6845_UPDATE_ROW(crtc_update_row);
// system status register
@ -186,6 +185,8 @@ public:
int m_kbdata;
// mouse state
UINT8 m_mouse_x_old;
UINT8 m_mouse_y_old;
UINT8 m_mouse_x;
UINT8 m_mouse_y;

View File

@ -22,7 +22,7 @@
// MACROS / CONSTANTS
//**************************************************************************
#define PC1512_KEYBOARD_TAG "pc1512_keyboard"
#define PC1512_KEYBOARD_TAG "kb"