mirror of
https://github.com/holub/mame
synced 2025-04-25 09:50:04 +03:00
saves variables I added recently & expanded vic20 user port so that devices can be shared between vic20/c64/c128 (nw)
This commit is contained in:
parent
846afdc0d9
commit
c1a652b17c
@ -33,14 +33,6 @@
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// CONSTANTS
|
||||
//**************************************************************************
|
||||
|
||||
#define VIC20_USER_PORT_TAG "user"
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// INTERFACE CONFIGURATION MACROS
|
||||
//**************************************************************************
|
||||
@ -67,6 +59,9 @@
|
||||
#define MCFG_VIC20_USER_PORT_8_HANDLER(_devcb) \
|
||||
devcb = &vic20_user_port_device::set_8_handler(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_VIC20_USER_PORT_9_HANDLER(_devcb) \
|
||||
devcb = &vic20_user_port_device::set_9_handler(*device, DEVCB2_##_devcb);
|
||||
|
||||
#define MCFG_VIC20_USER_PORT_B_HANDLER(_devcb) \
|
||||
devcb = &vic20_user_port_device::set_b_handler(*device, DEVCB2_##_devcb);
|
||||
|
||||
@ -119,6 +114,7 @@ public:
|
||||
template<class _Object> static devcb2_base &set_6_handler(device_t &device, _Object object) { return downcast<vic20_user_port_device &>(device).m_6_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_7_handler(device_t &device, _Object object) { return downcast<vic20_user_port_device &>(device).m_7_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_8_handler(device_t &device, _Object object) { return downcast<vic20_user_port_device &>(device).m_8_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_9_handler(device_t &device, _Object object) { return downcast<vic20_user_port_device &>(device).m_9_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_b_handler(device_t &device, _Object object) { return downcast<vic20_user_port_device &>(device).m_b_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_c_handler(device_t &device, _Object object) { return downcast<vic20_user_port_device &>(device).m_c_handler.set_callback(object); }
|
||||
template<class _Object> static devcb2_base &set_d_handler(device_t &device, _Object object) { return downcast<vic20_user_port_device &>(device).m_d_handler.set_callback(object); }
|
||||
@ -131,7 +127,12 @@ public:
|
||||
template<class _Object> static devcb2_base &set_m_handler(device_t &device, _Object object) { return downcast<vic20_user_port_device &>(device).m_m_handler.set_callback(object); }
|
||||
|
||||
// computer interface
|
||||
DECLARE_WRITE_LINE_MEMBER( write_3 );
|
||||
DECLARE_WRITE_LINE_MEMBER( write_4 );
|
||||
DECLARE_WRITE_LINE_MEMBER( write_5 );
|
||||
DECLARE_WRITE_LINE_MEMBER( write_6 );
|
||||
DECLARE_WRITE_LINE_MEMBER( write_7 );
|
||||
DECLARE_WRITE_LINE_MEMBER( write_8 );
|
||||
DECLARE_WRITE_LINE_MEMBER( write_9 );
|
||||
DECLARE_WRITE_LINE_MEMBER( write_b );
|
||||
DECLARE_WRITE_LINE_MEMBER( write_c );
|
||||
@ -151,6 +152,7 @@ public:
|
||||
devcb2_write_line m_6_handler;
|
||||
devcb2_write_line m_7_handler;
|
||||
devcb2_write_line m_8_handler;
|
||||
devcb2_write_line m_9_handler;
|
||||
devcb2_write_line m_b_handler;
|
||||
devcb2_write_line m_c_handler;
|
||||
devcb2_write_line m_d_handler;
|
||||
@ -180,7 +182,12 @@ public:
|
||||
device_vic20_user_port_interface(const machine_config &mconfig, device_t &device);
|
||||
virtual ~device_vic20_user_port_interface();
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( write_3 ) {}
|
||||
DECLARE_WRITE_LINE_MEMBER( write_4 ) {}
|
||||
DECLARE_WRITE_LINE_MEMBER( write_5 ) {}
|
||||
DECLARE_WRITE_LINE_MEMBER( write_6 ) {}
|
||||
DECLARE_WRITE_LINE_MEMBER( write_7 ) {}
|
||||
DECLARE_WRITE_LINE_MEMBER( write_8 ) {}
|
||||
DECLARE_WRITE_LINE_MEMBER( write_9 ) {}
|
||||
DECLARE_WRITE_LINE_MEMBER( write_b ) {}
|
||||
DECLARE_WRITE_LINE_MEMBER( write_c ) {}
|
||||
|
@ -591,6 +591,12 @@ void vic20_state::machine_start()
|
||||
|
||||
// state saving
|
||||
save_item(NAME(m_key_col));
|
||||
save_item(NAME(m_light_pen));
|
||||
save_item(NAME(m_user_joy0));
|
||||
save_item(NAME(m_user_joy1));
|
||||
save_item(NAME(m_user_joy2));
|
||||
save_item(NAME(m_user_light_pen));
|
||||
save_item(NAME(m_user_cassette_switch));
|
||||
}
|
||||
|
||||
|
||||
|
@ -27,6 +27,7 @@
|
||||
#define IEC_TAG "iec"
|
||||
#define SCREEN_TAG "screen"
|
||||
#define CONTROL1_TAG "joy1"
|
||||
#define VIC20_USER_PORT_TAG "user"
|
||||
|
||||
class vic20_state : public driver_device
|
||||
{
|
||||
@ -117,6 +118,12 @@ public:
|
||||
DECLARE_QUICKLOAD_LOAD_MEMBER( cbm_vc20 );
|
||||
// keyboard state
|
||||
int m_key_col;
|
||||
int m_light_pen;
|
||||
int m_user_joy0;
|
||||
int m_user_joy1;
|
||||
int m_user_joy2;
|
||||
int m_user_light_pen;
|
||||
int m_user_cassette_switch;
|
||||
|
||||
enum
|
||||
{
|
||||
@ -151,13 +158,6 @@ public:
|
||||
IO2 = 6,
|
||||
IO3 = 7
|
||||
};
|
||||
|
||||
int m_light_pen;
|
||||
int m_user_joy0;
|
||||
int m_user_joy1;
|
||||
int m_user_joy2;
|
||||
int m_user_light_pen;
|
||||
int m_user_cassette_switch;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user