Previous 199869 Revisions Next

r26861 Wednesday 1st January, 2014 at 14:59:52 UTC by smf
Changed victor9000 keyboard to push the data line to the 6522 [smf]
[src/mess/drivers]victor9k.c
[src/mess/includes]victor9k.h
[src/mess/machine]victor9kb.c victor9kb.h

trunk/src/mess/machine/victor9kb.c
r26860r26861
253253      m_ya(*this, "YA"),
254254      m_yb(*this, "YB"),
255255      m_yc(*this, "YC"),
256      m_write_kbrdy(*this),
256      m_kbrdy_handler(*this),
257      m_kbdata_handler(*this),
257258      m_y(0),
258259      m_kbrdy(1),
259260      m_kbdata(1),
r26860r26861
269270void victor9k_keyboard_device::device_start()
270271{
271272   // resolve callbacks
272   m_write_kbrdy.resolve_safe();
273   m_kbrdy_handler.resolve_safe();
274   m_kbdata_handler.resolve_safe();
273275
274276   // state saving
275277   save_item(NAME(m_y));
r26860r26861
384386   if (m_kbrdy != kbrdy)
385387   {
386388      m_kbrdy = kbrdy;
387      m_write_kbrdy(m_kbrdy);
389      m_kbrdy_handler(m_kbrdy);
388390   }
389391
390   m_kbdata = BIT(data, 3);
392   int kbdata = BIT(data, 3);
391393
394   if (m_kbdata != kbdata)
395   {
396      m_kbdata = kbdata;
397      m_kbdata_handler(m_kbdata);
398   }
399
392400   logerror("P2 %01x\n", data & 0x0f);
393401}
394402
trunk/src/mess/machine/victor9kb.h
r26860r26861
2121
2222
2323//**************************************************************************
24//  MACROS / CONSTANTS
24//  INTERFACE CONFIGURATION MACROS
2525//**************************************************************************
2626
27#define VICTOR9K_KEYBOARD_TAG   "victor9kb"
27#define MCFG_VICTOR9K_KBRDY_HANDLER(_devcb) \
28   devcb = &victor9k_keyboard_device::set_kbrdy_handler(*device, DEVCB2_##_devcb);
2829
30#define MCFG_VICTOR9K_KBDATA_HANDLER(_devcb) \
31   devcb = &victor9k_keyboard_device::set_kbdata_handler(*device, DEVCB2_##_devcb);
2932
3033
3134//**************************************************************************
32//  INTERFACE CONFIGURATION MACROS
33//**************************************************************************
34
35#define MCFG_VICTOR9K_KEYBOARD_ADD(_kbrdy) \
36   MCFG_DEVICE_ADD(VICTOR9K_KEYBOARD_TAG, VICTOR9K_KEYBOARD, 0) \
37   downcast<victor9k_keyboard_device *>(device)->set_kbrdy_callback(DEVCB2_##_kbrdy);
38
39
40//**************************************************************************
4135//  TYPE DEFINITIONS
4236//**************************************************************************
4337
r26860r26861
4943   // construction/destruction
5044   victor9k_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
5145
52   template<class _kbrdy> void set_kbrdy_callback(_kbrdy kbrdy) { m_write_kbrdy.set_callback(kbrdy); }
46   template<class _Object> static devcb2_base &set_kbrdy_handler(device_t &device, _Object object) { return downcast<victor9k_keyboard_device &>(device).m_kbrdy_handler.set_callback(object); }
47   template<class _Object> static devcb2_base &set_kbdata_handler(device_t &device, _Object object) { return downcast<victor9k_keyboard_device &>(device).m_kbdata_handler.set_callback(object); }
5348
5449   // optional information overrides
5550   virtual const rom_entry *device_rom_region() const;
r26860r26861
8782   required_ioport m_yb;
8883   required_ioport m_yc;
8984
90   devcb2_write_line   m_write_kbrdy;
85   devcb2_write_line   m_kbrdy_handler;
86   devcb2_write_line   m_kbdata_handler;
9187
9288   UINT8 m_y;
9389   int m_kbrdy;
trunk/src/mess/includes/victor9k.h
r26860r26861
5151#define RS232_A_TAG     "rs232a"
5252#define RS232_B_TAG     "rs232b"
5353#define SCREEN_TAG      "screen"
54#define VICTOR9K_KEYBOARD_TAG   "victor9kb"
5455
5556class victor9k_state : public driver_device
5657{
trunk/src/mess/drivers/victor9k.c
r26860r26861
11141114
11151115   MCFG_DEVICE_ADD(M6522_2_TAG, VIA6522, XTAL_30MHz/30)
11161116   MCFG_VIA6522_READPA_HANDLER(READ8(victor9k_state, via2_pa_r))
1117   MCFG_VIA6522_READCB1_HANDLER(DEVREADLINE(VICTOR9K_KEYBOARD_TAG, victor9k_keyboard_device, kbrdy_r))
1118   MCFG_VIA6522_READCB2_HANDLER(DEVREADLINE(VICTOR9K_KEYBOARD_TAG, victor9k_keyboard_device, kbdata_r))
11191117   MCFG_VIA6522_WRITEPA_HANDLER(WRITE8(victor9k_state, via2_pa_w))
11201118   MCFG_VIA6522_WRITEPB_HANDLER(WRITE8(victor9k_state, via2_pb_w))
11211119   MCFG_VIA6522_IRQ_HANDLER(WRITELINE(victor9k_state, via2_irq_w))
r26860r26861
11721170   MCFG_RS232_OUT_RI_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, rib_w))
11731171   MCFG_RS232_OUT_CTS_HANDLER(DEVWRITELINE(UPD7201_TAG, z80dart_device, ctsb_w))
11741172
1175   MCFG_VICTOR9K_KEYBOARD_ADD(WRITELINE(victor9k_state, kbrdy_w))
1173   MCFG_DEVICE_ADD(VICTOR9K_KEYBOARD_TAG, VICTOR9K_KEYBOARD, 0)
1174   MCFG_VICTOR9K_KBRDY_HANDLER(WRITELINE(victor9k_state, kbrdy_w))
1175   MCFG_VICTOR9K_KBDATA_HANDLER(DEVWRITELINE(M6522_2_TAG, via6522_device, write_cb2))
11761176
11771177   // internal ram
11781178   MCFG_RAM_ADD(RAM_TAG)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team