mirror of
https://github.com/holub/mame
synced 2025-04-26 10:13:37 +03:00
(MESS) vcs/ctrl: Cleanup. (nw)
This commit is contained in:
parent
601b9c4bed
commit
1d3b1717a6
@ -14,7 +14,7 @@
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
// DEVICE DEFINITION
|
||||
//**************************************************************************
|
||||
|
||||
const device_type VCS_CONTROL_PORT = &device_creator<vcs_control_port_device>;
|
||||
@ -29,22 +29,13 @@ const device_type VCS_CONTROL_PORT = &device_creator<vcs_control_port_device>;
|
||||
// device_vcs_control_port_interface - constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
device_vcs_control_port_interface::device_vcs_control_port_interface(const machine_config &mconfig, device_t &device)
|
||||
: device_slot_card_interface(mconfig,device)
|
||||
device_vcs_control_port_interface::device_vcs_control_port_interface(const machine_config &mconfig, device_t &device) :
|
||||
device_slot_card_interface(mconfig, device)
|
||||
{
|
||||
m_port = dynamic_cast<vcs_control_port_device *>(device.owner());
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ~device_vcs_control_port_interface - destructor
|
||||
//-------------------------------------------------
|
||||
|
||||
device_vcs_control_port_interface::~device_vcs_control_port_interface()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
@ -57,16 +48,7 @@ device_vcs_control_port_interface::~device_vcs_control_port_interface()
|
||||
vcs_control_port_device::vcs_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
|
||||
device_t(mconfig, VCS_CONTROL_PORT, "Atari VCS control port", tag, owner, clock, "vcs_control_port", __FILE__),
|
||||
device_slot_interface(mconfig, *this),
|
||||
m_trigger_handler(*this)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// vcs_control_port_device - destructor
|
||||
//-------------------------------------------------
|
||||
|
||||
vcs_control_port_device::~vcs_control_port_device()
|
||||
m_write_trigger(*this)
|
||||
{
|
||||
}
|
||||
|
||||
@ -79,31 +61,21 @@ void vcs_control_port_device::device_start()
|
||||
{
|
||||
m_device = dynamic_cast<device_vcs_control_port_interface *>(get_card_device());
|
||||
|
||||
m_trigger_handler.resolve_safe();
|
||||
m_write_trigger.resolve_safe();
|
||||
}
|
||||
|
||||
|
||||
UINT8 vcs_control_port_device::joy_r() { UINT8 data = 0xff; if (exists()) data = m_device->vcs_joy_r(); return data; }
|
||||
READ8_MEMBER( vcs_control_port_device::joy_r ) { return joy_r(); }
|
||||
UINT8 vcs_control_port_device::pot_x_r() { UINT8 data = 0xff; if (exists()) data = m_device->vcs_pot_x_r(); return data; }
|
||||
READ8_MEMBER( vcs_control_port_device::pot_x_r ) { return pot_x_r(); }
|
||||
UINT8 vcs_control_port_device::pot_y_r() { UINT8 data = 0xff; if (exists()) data = m_device->vcs_pot_y_r(); return data; }
|
||||
READ8_MEMBER( vcs_control_port_device::pot_y_r ) { return pot_y_r(); }
|
||||
void vcs_control_port_device::joy_w( UINT8 data ) { if ( exists() ) m_device->vcs_joy_w( data ); }
|
||||
WRITE8_MEMBER( vcs_control_port_device::joy_w ) { joy_w(data); }
|
||||
bool vcs_control_port_device::exists() { return m_device != NULL; }
|
||||
bool vcs_control_port_device::has_pot_x() { return exists() && m_device->has_pot_x(); }
|
||||
bool vcs_control_port_device::has_pot_y() { return exists() && m_device->has_pot_y(); }
|
||||
|
||||
void vcs_control_port_device::trigger_w(int state)
|
||||
{
|
||||
m_trigger_handler(state);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// SLOT_INTERFACE( vcs_control_port_devices )
|
||||
//-------------------------------------------------
|
||||
|
||||
#include "joybooster.h"
|
||||
#include "joystick.h"
|
||||
#include "keypad.h"
|
||||
#include "lightpen.h"
|
||||
#include "paddles.h"
|
||||
#include "wheel.h"
|
||||
|
||||
SLOT_INTERFACE_START( vcs_control_port_devices )
|
||||
SLOT_INTERFACE("joy", VCS_JOYSTICK)
|
||||
SLOT_INTERFACE("pad", VCS_PADDLES)
|
||||
|
@ -30,8 +30,8 @@
|
||||
MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
|
||||
|
||||
|
||||
#define MCFG_VCS_CONTROL_PORT_TRIGGER_HANDLER(_devcb) \
|
||||
devcb = &vcs_control_port_device::set_trigger_handler(*device, DEVCB2_##_devcb);
|
||||
#define MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(_write) \
|
||||
devcb = &vcs_control_port_device::set_trigger_wr_callback(*device, DEVCB2_##_write);
|
||||
|
||||
|
||||
|
||||
@ -39,70 +39,17 @@
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
||||
// ======================> vcs_control_port_device
|
||||
|
||||
class device_vcs_control_port_interface;
|
||||
|
||||
class vcs_control_port_device : public device_t,
|
||||
public device_slot_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
vcs_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~vcs_control_port_device();
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_trigger_handler(device_t &device, _Object object) { return downcast<vcs_control_port_device &>(device).m_trigger_handler.set_callback(object); }
|
||||
|
||||
// computer interface
|
||||
|
||||
// Data returned by the joy_r methods:
|
||||
// bit 0 - pin 1 - Up
|
||||
// bit 1 - pin 2 - Down
|
||||
// bit 2 - pin 3 - Left
|
||||
// bit 3 - pin 4 - Right
|
||||
// bit 4 - pin 5 -
|
||||
// bit 5 - pin 6 - Button
|
||||
// pin 7 - +5V
|
||||
// pin 8 - GND
|
||||
// bit 6 - pin 9 -
|
||||
//
|
||||
UINT8 joy_r();
|
||||
DECLARE_READ8_MEMBER( joy_r );
|
||||
UINT8 pot_x_r();
|
||||
DECLARE_READ8_MEMBER( pot_x_r );
|
||||
UINT8 pot_y_r();
|
||||
DECLARE_READ8_MEMBER( pot_y_r );
|
||||
|
||||
void joy_w( UINT8 data );
|
||||
DECLARE_WRITE8_MEMBER( joy_w );
|
||||
|
||||
bool exists();
|
||||
bool has_pot_x();
|
||||
bool has_pot_y();
|
||||
|
||||
void trigger_w(int state);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
|
||||
device_vcs_control_port_interface *m_device;
|
||||
|
||||
private:
|
||||
devcb2_write_line m_trigger_handler;
|
||||
};
|
||||
class vcs_control_port_device;
|
||||
|
||||
|
||||
// ======================> device_vcs_control_port_interface
|
||||
|
||||
// class representing interface-specific live vcs_expansion card
|
||||
class device_vcs_control_port_interface : public device_slot_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
device_vcs_control_port_interface(const machine_config &mconfig, device_t &device);
|
||||
virtual ~device_vcs_control_port_interface();
|
||||
virtual ~device_vcs_control_port_interface() { }
|
||||
|
||||
virtual UINT8 vcs_joy_r() { return 0xff; };
|
||||
virtual UINT8 vcs_pot_x_r() { return 0xff; };
|
||||
@ -117,19 +64,64 @@ protected:
|
||||
};
|
||||
|
||||
|
||||
// ======================> vcs_control_port_device
|
||||
|
||||
class vcs_control_port_device : public device_t,
|
||||
public device_slot_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
vcs_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
virtual ~vcs_control_port_device() { }
|
||||
|
||||
// static configuration helpers
|
||||
template<class _Object> static devcb2_base &set_trigger_wr_callback(device_t &device, _Object object) { return downcast<vcs_control_port_device &>(device).m_write_trigger.set_callback(object); }
|
||||
|
||||
// computer interface
|
||||
|
||||
// Data returned by the joy_r methods:
|
||||
// bit 0 - pin 1 - Up
|
||||
// bit 1 - pin 2 - Down
|
||||
// bit 2 - pin 3 - Left
|
||||
// bit 3 - pin 4 - Right
|
||||
// bit 4 - pin 5 -
|
||||
// bit 5 - pin 6 - Button
|
||||
// pin 7 - +5V
|
||||
// pin 8 - GND
|
||||
// bit 6 - pin 9 -
|
||||
//
|
||||
UINT8 joy_r() { UINT8 data = 0xff; if (exists()) data = m_device->vcs_joy_r(); return data; }
|
||||
DECLARE_READ8_MEMBER( joy_r ) { return joy_r(); }
|
||||
UINT8 pot_x_r() { UINT8 data = 0xff; if (exists()) data = m_device->vcs_pot_x_r(); return data; }
|
||||
DECLARE_READ8_MEMBER( pot_x_r ) { return pot_x_r(); }
|
||||
UINT8 pot_y_r() { UINT8 data = 0xff; if (exists()) data = m_device->vcs_pot_y_r(); return data; }
|
||||
DECLARE_READ8_MEMBER( pot_y_r ) { return pot_y_r(); }
|
||||
|
||||
void joy_w( UINT8 data ) { if ( exists() ) m_device->vcs_joy_w( data ); }
|
||||
DECLARE_WRITE8_MEMBER( joy_w );
|
||||
|
||||
bool exists() { return m_device != NULL; }
|
||||
bool has_pot_x() { return exists() && m_device->has_pot_x(); }
|
||||
bool has_pot_y() { return exists() && m_device->has_pot_y(); }
|
||||
|
||||
void trigger_w(int state) { m_write_trigger(state); }
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
|
||||
device_vcs_control_port_interface *m_device;
|
||||
|
||||
private:
|
||||
devcb2_write_line m_write_trigger;
|
||||
};
|
||||
|
||||
|
||||
// device type definition
|
||||
extern const device_type VCS_CONTROL_PORT;
|
||||
|
||||
|
||||
// slot devices
|
||||
#include "joybooster.h"
|
||||
#include "joystick.h"
|
||||
#include "keypad.h"
|
||||
#include "lightpen.h"
|
||||
#include "paddles.h"
|
||||
#include "wheel.h"
|
||||
|
||||
SLOT_INTERFACE_EXTERN( vcs_control_port_devices );
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -1486,7 +1486,7 @@ static MACHINE_CONFIG_START( ntsc, c128_state )
|
||||
MCFG_MOS6526_PORT_B_CALLBACKS(READ8(c128_state, cia2_pb_r), WRITE8(c128_state, cia2_pb_w), DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_8))
|
||||
MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT_TAG, cbm_datassette_devices, "c1530", DEVWRITELINE(MOS6526_2_TAG, mos6526_device, flag_w))
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, NULL)
|
||||
MCFG_VCS_CONTROL_PORT_TRIGGER_HANDLER(DEVWRITELINE(MOS8564_TAG, mos8564_device, lp_w))
|
||||
MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(DEVWRITELINE(MOS8564_TAG, mos8564_device, lp_w))
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, "joy")
|
||||
MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, VIC6567_CLOCK, c64_expansion_cards, NULL)
|
||||
MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACKS(WRITELINE(c128_state, exp_irq_w), WRITELINE(c128_state, exp_nmi_w), WRITELINE(c128_state, exp_reset_w))
|
||||
@ -1624,7 +1624,7 @@ static MACHINE_CONFIG_START( pal, c128_state )
|
||||
MCFG_MOS6526_PORT_B_CALLBACKS(READ8(c128_state, cia2_pb_r), WRITE8(c128_state, cia2_pb_w), DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_8))
|
||||
MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT_TAG, cbm_datassette_devices, "c1530", DEVWRITELINE(MOS6526_2_TAG, mos6526_device, flag_w))
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, NULL)
|
||||
MCFG_VCS_CONTROL_PORT_TRIGGER_HANDLER(DEVWRITELINE(MOS8566_TAG, mos8566_device, lp_w))
|
||||
MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(DEVWRITELINE(MOS8566_TAG, mos8566_device, lp_w))
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, "joy")
|
||||
MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, VIC6569_CLOCK, c64_expansion_cards, NULL)
|
||||
MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACKS(WRITELINE(c128_state, exp_irq_w), WRITELINE(c128_state, exp_nmi_w), WRITELINE(c128_state, exp_reset_w))
|
||||
|
@ -1116,7 +1116,7 @@ static MACHINE_CONFIG_START( ntsc, c64_state )
|
||||
MCFG_CBM_IEC_BUS_SRQ_CALLBACK(DEVWRITELINE(MOS6526_1_TAG, mos6526_device, flag_w))
|
||||
MCFG_CBM_IEC_BUS_ATN_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_9))
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, NULL)
|
||||
MCFG_VCS_CONTROL_PORT_TRIGGER_HANDLER(DEVWRITELINE(MOS6567_TAG, mos6567_device, lp_w))
|
||||
MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(DEVWRITELINE(MOS6567_TAG, mos6567_device, lp_w))
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, "joy")
|
||||
MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, VIC6567_CLOCK, c64_expansion_cards, NULL)
|
||||
MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACKS(WRITELINE(c64_state, exp_irq_w), WRITELINE(c64_state, exp_nmi_w), WRITELINE(c64_state, exp_reset_w))
|
||||
@ -1245,7 +1245,7 @@ static MACHINE_CONFIG_START( pal, c64_state )
|
||||
MCFG_CBM_IEC_BUS_SRQ_CALLBACK(DEVWRITELINE(MOS6526_1_TAG, mos6526_device, flag_w))
|
||||
MCFG_CBM_IEC_BUS_ATN_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_9))
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, NULL)
|
||||
MCFG_VCS_CONTROL_PORT_TRIGGER_HANDLER(DEVWRITELINE(MOS6569_TAG, mos6569_device, lp_w))
|
||||
MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(DEVWRITELINE(MOS6569_TAG, mos6569_device, lp_w))
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, "joy")
|
||||
MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, VIC6569_CLOCK, c64_expansion_cards, NULL)
|
||||
MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACKS(WRITELINE(c64_state, exp_irq_w), WRITELINE(c64_state, exp_nmi_w), WRITELINE(c64_state, exp_reset_w))
|
||||
@ -1351,7 +1351,7 @@ static MACHINE_CONFIG_START( pal_gs, c64gs_state )
|
||||
MCFG_CBM_IEC_BUS_SRQ_CALLBACK(DEVWRITELINE(MOS6526_1_TAG, mos6526_device, flag_w))
|
||||
MCFG_CBM_IEC_BUS_ATN_CALLBACK(DEVWRITELINE(PET_USER_PORT_TAG, pet_user_port_device, write_9))
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, NULL)
|
||||
MCFG_VCS_CONTROL_PORT_TRIGGER_HANDLER(DEVWRITELINE(MOS6569_TAG, mos6569_device, lp_w))
|
||||
MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(DEVWRITELINE(MOS6569_TAG, mos6569_device, lp_w))
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, "joy")
|
||||
MCFG_C64_EXPANSION_SLOT_ADD(C64_EXPANSION_SLOT_TAG, VIC6569_CLOCK, c64_expansion_cards, NULL)
|
||||
MCFG_C64_EXPANSION_SLOT_IRQ_CALLBACKS(WRITELINE(c64_state, exp_irq_w), WRITELINE(c64_state, exp_nmi_w), WRITELINE(c64_state, exp_reset_w))
|
||||
|
@ -2181,7 +2181,7 @@ static MACHINE_CONFIG_START( p500_ntsc, p500_state )
|
||||
MCFG_IEEE488_SRQ_CALLBACK(DEVWRITELINE(MOS6525_1_TAG, tpi6525_device, i1_w))
|
||||
MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT_TAG, cbm_datassette_devices, NULL, DEVWRITELINE(MOS6526_TAG, mos6526_device, flag_w))
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, NULL)
|
||||
MCFG_VCS_CONTROL_PORT_TRIGGER_HANDLER(DEVWRITELINE(MOS6567_TAG, mos6567_device, lp_w))
|
||||
MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(DEVWRITELINE(MOS6567_TAG, mos6567_device, lp_w))
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, NULL)
|
||||
MCFG_CBM2_EXPANSION_SLOT_ADD(CBM2_EXPANSION_SLOT_TAG, VIC6567_CLOCK, cbm2_expansion_cards, NULL)
|
||||
MCFG_CBM2_USER_PORT_ADD(CBM2_USER_PORT_TAG, p500_user_intf, cbm2_user_port_cards, NULL)
|
||||
@ -2247,7 +2247,7 @@ static MACHINE_CONFIG_START( p500_pal, p500_state )
|
||||
MCFG_IEEE488_SRQ_CALLBACK(DEVWRITELINE(MOS6525_1_TAG, tpi6525_device, i1_w))
|
||||
MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT_TAG, cbm_datassette_devices, NULL, DEVWRITELINE(MOS6526_TAG, mos6526_device, flag_w))
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, NULL)
|
||||
MCFG_VCS_CONTROL_PORT_TRIGGER_HANDLER(DEVWRITELINE(MOS6569_TAG, mos6569_device, lp_w))
|
||||
MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(DEVWRITELINE(MOS6569_TAG, mos6569_device, lp_w))
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, NULL)
|
||||
MCFG_CBM2_EXPANSION_SLOT_ADD(CBM2_EXPANSION_SLOT_TAG, VIC6569_CLOCK, cbm2_expansion_cards, NULL)
|
||||
MCFG_CBM2_USER_PORT_ADD(CBM2_USER_PORT_TAG, p500_user_intf, cbm2_user_port_cards, NULL)
|
||||
|
@ -626,7 +626,7 @@ static MACHINE_CONFIG_START( vic10, vic10_state )
|
||||
MCFG_MOS6526_PORT_B_CALLBACKS(READ8(vic10_state, cia_pb_r), WRITE8(vic10_state, cia_pb_w), NULL)
|
||||
MCFG_PET_DATASSETTE_PORT_ADD(PET_DATASSETTE_PORT_TAG, cbm_datassette_devices, "c1530", DEVWRITELINE(MOS6526_TAG, mos6526_device, flag_w))
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, NULL)
|
||||
MCFG_VCS_CONTROL_PORT_TRIGGER_HANDLER(DEVWRITELINE(MOS6566_TAG, mos6566_device, lp_w))
|
||||
MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(DEVWRITELINE(MOS6566_TAG, mos6566_device, lp_w))
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL2_TAG, vcs_control_port_devices, "joy")
|
||||
MCFG_VIC10_EXPANSION_SLOT_ADD(VIC10_EXPANSION_SLOT_TAG, VIC6566_CLOCK, vic10_expansion_cards, NULL)
|
||||
MCFG_VIC10_EXPANSION_SLOT_IRQ_CALLBACKS(WRITELINE(vic10_state, exp_irq_w), WRITELINE(vic10_state, exp_reset_w))
|
||||
|
@ -679,7 +679,7 @@ static MACHINE_CONFIG_START( vic20, vic20_state )
|
||||
MCFG_CBM_IEC_BUS_SRQ_CALLBACK(DEVWRITELINE(M6522_2_TAG, via6522_device, write_cb1))
|
||||
|
||||
MCFG_VCS_CONTROL_PORT_ADD(CONTROL1_TAG, vcs_control_port_devices, "joy")
|
||||
MCFG_VCS_CONTROL_PORT_TRIGGER_HANDLER(WRITELINE(vic20_state, write_light_pen))
|
||||
MCFG_VCS_CONTROL_PORT_TRIGGER_CALLBACK(WRITELINE(vic20_state, write_light_pen))
|
||||
|
||||
MCFG_PET_USER_PORT_ADD(PET_USER_PORT_TAG, vic20_user_port_cards, NULL)
|
||||
MCFG_PET_USER_PORT_3_HANDLER(WRITELINE(vic20_state, exp_reset_w))
|
||||
|
Loading…
Reference in New Issue
Block a user