Previous 199869 Revisions Next

r26908 Friday 3rd January, 2014 at 02:35:49 UTC by smf
saves variables I added recently & expanded vic20 user port so that devices can be shared between vic20/c64/c128 (nw)
[src/emu/bus/vic20]user.h
[src/mess/drivers]vic20.c
[src/mess/includes]vic20.h

trunk/src/emu/bus/vic20/user.h
r26907r26908
3434
3535
3636//**************************************************************************
37//  CONSTANTS
38//**************************************************************************
39
40#define VIC20_USER_PORT_TAG     "user"
41
42
43
44//**************************************************************************
4537//  INTERFACE CONFIGURATION MACROS
4638//**************************************************************************
4739
r26907r26908
6759#define MCFG_VIC20_USER_PORT_8_HANDLER(_devcb) \
6860   devcb = &vic20_user_port_device::set_8_handler(*device, DEVCB2_##_devcb);
6961
62#define MCFG_VIC20_USER_PORT_9_HANDLER(_devcb) \
63   devcb = &vic20_user_port_device::set_9_handler(*device, DEVCB2_##_devcb);
64
7065#define MCFG_VIC20_USER_PORT_B_HANDLER(_devcb) \
7166   devcb = &vic20_user_port_device::set_b_handler(*device, DEVCB2_##_devcb);
7267
r26907r26908
119114   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); }
120115   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); }
121116   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); }
117   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); }
122118   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); }
123119   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); }
124120   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); }
r26907r26908
131127   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); }
132128
133129   // computer interface
130   DECLARE_WRITE_LINE_MEMBER( write_3 );
131   DECLARE_WRITE_LINE_MEMBER( write_4 );
132   DECLARE_WRITE_LINE_MEMBER( write_5 );
133   DECLARE_WRITE_LINE_MEMBER( write_6 );
134134   DECLARE_WRITE_LINE_MEMBER( write_7 );
135   DECLARE_WRITE_LINE_MEMBER( write_8 );
135136   DECLARE_WRITE_LINE_MEMBER( write_9 );
136137   DECLARE_WRITE_LINE_MEMBER( write_b );
137138   DECLARE_WRITE_LINE_MEMBER( write_c );
r26907r26908
151152   devcb2_write_line m_6_handler;
152153   devcb2_write_line m_7_handler;
153154   devcb2_write_line m_8_handler;
155   devcb2_write_line m_9_handler;
154156   devcb2_write_line m_b_handler;
155157   devcb2_write_line m_c_handler;
156158   devcb2_write_line m_d_handler;
r26907r26908
180182   device_vic20_user_port_interface(const machine_config &mconfig, device_t &device);
181183   virtual ~device_vic20_user_port_interface();
182184
185   DECLARE_WRITE_LINE_MEMBER( write_3 ) {}
186   DECLARE_WRITE_LINE_MEMBER( write_4 ) {}
187   DECLARE_WRITE_LINE_MEMBER( write_5 ) {}
188   DECLARE_WRITE_LINE_MEMBER( write_6 ) {}
183189   DECLARE_WRITE_LINE_MEMBER( write_7 ) {}
190   DECLARE_WRITE_LINE_MEMBER( write_8 ) {}
184191   DECLARE_WRITE_LINE_MEMBER( write_9 ) {}
185192   DECLARE_WRITE_LINE_MEMBER( write_b ) {}
186193   DECLARE_WRITE_LINE_MEMBER( write_c ) {}
trunk/src/mess/drivers/vic20.c
r26907r26908
591591
592592   // state saving
593593   save_item(NAME(m_key_col));
594   save_item(NAME(m_light_pen));
595   save_item(NAME(m_user_joy0));
596   save_item(NAME(m_user_joy1));
597   save_item(NAME(m_user_joy2));
598   save_item(NAME(m_user_light_pen));
599   save_item(NAME(m_user_cassette_switch));
594600}
595601
596602
trunk/src/mess/includes/vic20.h
r26907r26908
2727#define IEC_TAG         "iec"
2828#define SCREEN_TAG      "screen"
2929#define CONTROL1_TAG    "joy1"
30#define VIC20_USER_PORT_TAG     "user"
3031
3132class vic20_state : public driver_device
3233{
r26907r26908
117118   DECLARE_QUICKLOAD_LOAD_MEMBER( cbm_vc20 );
118119   // keyboard state
119120   int m_key_col;
121   int m_light_pen;
122   int m_user_joy0;
123   int m_user_joy1;
124   int m_user_joy2;
125   int m_user_light_pen;
126   int m_user_cassette_switch;
120127
121128   enum
122129   {
r26907r26908
151158      IO2 = 6,
152159      IO3 = 7
153160   };
154
155   int m_light_pen;
156   int m_user_joy0;
157   int m_user_joy1;
158   int m_user_joy2;
159   int m_user_light_pen;
160   int m_user_cassette_switch;
161161};
162162
163163#endif

Previous 199869 Revisions Next


© 1997-2024 The MAME Team