Previous 199869 Revisions Next

r28725 Wednesday 19th March, 2014 at 14:46:10 UTC by Curt Coder
(MESS) Cleaned up devcb2. (nw)
[src/mess/drivers]abc80.c pc1512.c tandy2k.c trs80m2.c
[src/mess/machine]abc80kb.h pc1512kb.h tandy2kb.h trs80m2kb.h

trunk/src/mess/machine/trs80m2kb.h
r28724r28725
3232//  INTERFACE CONFIGURATION MACROS
3333//**************************************************************************
3434
35#define MCFG_TRS80M2_KEYBOARD_ADD(_clock) \
36   MCFG_DEVICE_ADD(TRS80M2_KEYBOARD_TAG, TRS80M2_KEYBOARD, 0) \
37   downcast<trs80m2_keyboard_device *>(device)->set_clock_callback(DEVCB2_##_clock);
35#define MCFG_TRS80M2_KEYBOARD_CLOCK_CALLBACK(_write) \
36   devcb = &trs80m2_keyboard_device::set_clock_wr_callback(*device, DEVCB2_##_write);
3837
3938
4039
r28724r28725
5049   // construction/destruction
5150   trs80m2_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
5251
53   template<class _clock> void set_clock_callback(_clock clock) { m_write_clock.set_callback(clock); }
52   template<class _Object> static devcb2_base &set_clock_wr_callback(device_t &device, _Object object) { return downcast<trs80m2_keyboard_device &>(device).m_write_clock.set_callback(object); }
5453
5554   // optional information overrides
5655   virtual const rom_entry *device_rom_region() const;
trunk/src/mess/machine/abc80kb.h
r28724r28725
3131//  INTERFACE CONFIGURATION MACROS
3232//**************************************************************************
3333
34#define MCFG_ABC80_KEYBOARD_ADD(_keydown) \
35   MCFG_DEVICE_ADD(ABC80_KEYBOARD_TAG, ABC80_KEYBOARD, 0) \
36   downcast<abc80_keyboard_device *>(device)->set_callback(DEVCB2_##_keydown);
34#define MCFG_ABC80_KEYBOARD_KEYDOWN_CALLBACK(_write) \
35   devcb = &abc80_keyboard_device::set_keydown_wr_callback(*device, DEVCB2_##_write);
3736
3837
3938
r28724r28725
4948   // construction/destruction
5049   abc80_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
5150
52   template<class _keydown> void set_callback(_keydown keydown) { m_write_keydown.set_callback(keydown); }
51   template<class _Object> static devcb2_base &set_keydown_wr_callback(device_t &device, _Object object) { return downcast<abc80_keyboard_device &>(device).m_write_keydown.set_callback(object); }
5352
5453   // optional information overrides
5554   virtual const rom_entry *device_rom_region() const;
trunk/src/mess/machine/pc1512kb.h
r28724r28725
3232//  INTERFACE CONFIGURATION MACROS
3333//**************************************************************************
3434
35#define MCFG_PC1512_KEYBOARD_ADD(_clock, _data) \
36   MCFG_DEVICE_ADD(PC1512_KEYBOARD_TAG, PC1512_KEYBOARD, 0) \
37   downcast<pc1512_keyboard_device *>(device)->set_clock_callback(DEVCB2_##_clock); \
38   downcast<pc1512_keyboard_device *>(device)->set_data_callback(DEVCB2_##_data);
35#define MCFG_PC1512_KEYBOARD_CLOCK_CALLBACK(_write) \
36   devcb = &pc1512_keyboard_device::set_clock_wr_callback(*device, DEVCB2_##_write);
3937
38#define MCFG_PC1512_KEYBOARD_DATA_CALLBACK(_write) \
39   devcb = &pc1512_keyboard_device::set_data_wr_callback(*device, DEVCB2_##_write);
4040
4141
42
4243//**************************************************************************
4344//  TYPE DEFINITIONS
4445//**************************************************************************
r28724r28725
5152   // construction/destruction
5253   pc1512_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
5354
54   template<class _clock> void set_clock_callback(_clock clock) { m_write_clock.set_callback(clock); }
55   template<class _data> void set_data_callback(_data data) { m_write_data.set_callback(data); }
55   template<class _Object> static devcb2_base &set_clock_wr_callback(device_t &device, _Object object) { return downcast<pc1512_keyboard_device &>(device).m_write_clock.set_callback(object); }
56   template<class _Object> static devcb2_base &set_data_wr_callback(device_t &device, _Object object) { return downcast<pc1512_keyboard_device &>(device).m_write_data.set_callback(object); }
5657
5758   // optional information overrides
5859   virtual const rom_entry *device_rom_region() const;
trunk/src/mess/machine/tandy2kb.h
r28724r28725
3131//  INTERFACE CONFIGURATION MACROS
3232//**************************************************************************
3333
34#define MCFG_TANDY2K_KEYBOARD_ADD(_clock, _data) \
35   MCFG_DEVICE_ADD(TANDY2K_KEYBOARD_TAG, TANDY2K_KEYBOARD, 0) \
36   downcast<tandy2k_keyboard_device *>(device)->set_clock_callback(DEVCB2_##_clock); \
37   downcast<tandy2k_keyboard_device *>(device)->set_data_callback(DEVCB2_##_data);
34#define MCFG_TANDY2000_KEYBOARD_CLOCK_CALLBACK(_write) \
35   devcb = &tandy2k_keyboard_device::set_clock_wr_callback(*device, DEVCB2_##_write);
3836
37#define MCFG_TANDY2000_KEYBOARD_DATA_CALLBACK(_write) \
38   devcb = &tandy2k_keyboard_device::set_data_wr_callback(*device, DEVCB2_##_write);
3939
4040
41
4142//**************************************************************************
4243//  TYPE DEFINITIONS
4344//**************************************************************************
r28724r28725
5051   // construction/destruction
5152   tandy2k_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
5253
53   template<class _clock> void set_clock_callback(_clock clock) { m_write_clock.set_callback(clock); }
54   template<class _data> void set_data_callback(_data data) { m_write_data.set_callback(data); }
54   template<class _Object> static devcb2_base &set_clock_wr_callback(device_t &device, _Object object) { return downcast<tandy2k_keyboard_device &>(device).m_write_clock.set_callback(object); }
55   template<class _Object> static devcb2_base &set_data_wr_callback(device_t &device, _Object object) { return downcast<tandy2k_keyboard_device &>(device).m_write_data.set_callback(object); }
5556
5657   // optional information overrides
5758   virtual const rom_entry *device_rom_region() const;
trunk/src/mess/drivers/tandy2k.c
r28724r28725
708708
709709   MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
710710
711   MCFG_TANDY2K_KEYBOARD_ADD(WRITELINE(tandy2k_state, kbdclk_w), WRITELINE(tandy2k_state, kbddat_w))
711   MCFG_DEVICE_ADD(TANDY2K_KEYBOARD_TAG, TANDY2K_KEYBOARD, 0)
712   MCFG_TANDY2000_KEYBOARD_CLOCK_CALLBACK(WRITELINE(tandy2k_state, kbdclk_w))
713   MCFG_TANDY2000_KEYBOARD_DATA_CALLBACK(WRITELINE(tandy2k_state, kbddat_w))
712714
713715   // software lists
714716   MCFG_SOFTWARE_LIST_ADD("flop_list", "tandy2k")
trunk/src/mess/drivers/trs80m2.c
r28724r28725
840840   MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(trs80m2_state, write_centronics_perror))
841841   MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
842842
843   MCFG_TRS80M2_KEYBOARD_ADD(WRITELINE(trs80m2_state, kb_clock_w))
843   MCFG_DEVICE_ADD(TRS80M2_KEYBOARD_TAG, TRS80M2_KEYBOARD, 0)
844   MCFG_TRS80M2_KEYBOARD_CLOCK_CALLBACK(WRITELINE(trs80m2_state, kb_clock_w))
844845   MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf)
845846
846847   // internal RAM
r28724r28725
894895   MCFG_Z80DMA_ADD(Z80DMA_TAG, XTAL_8MHz/2, dma_intf)
895896   MCFG_Z80PIO_ADD(Z80PIO_TAG, XTAL_8MHz/2, pio_intf)
896897   MCFG_Z80SIO0_ADD(Z80SIO_TAG, XTAL_8MHz/2, sio_intf)
898   MCFG_PIC8259_ADD(AM9519A_TAG, INPUTLINE(M68000_TAG, M68K_IRQ_5), VCC, NULL )
897899
898900   MCFG_CENTRONICS_ADD(CENTRONICS_TAG, centronics_printers, "image")
899901   MCFG_CENTRONICS_ACK_HANDLER(DEVWRITELINE(Z80PIO_TAG, z80pio_device, strobe_b))
r28724r28725
902904   MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(trs80m2_state, write_centronics_perror))
903905   MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
904906
905   MCFG_PIC8259_ADD(AM9519A_TAG, INPUTLINE(M68000_TAG, M68K_IRQ_5), VCC, NULL )
906   MCFG_TRS80M2_KEYBOARD_ADD(WRITELINE(trs80m2_state, kb_clock_w))
907   MCFG_DEVICE_ADD(TRS80M2_KEYBOARD_TAG, TRS80M2_KEYBOARD, 0)
908   MCFG_TRS80M2_KEYBOARD_CLOCK_CALLBACK(WRITELINE(trs80m2_state, kb_clock_w))
909   MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf)
907910
908911   // internal RAM
909912   MCFG_RAM_ADD(RAM_TAG)
trunk/src/mess/drivers/abc80.c
r28724r28725
562562   // devices
563563   MCFG_Z80PIO_ADD(Z80PIO_TAG, XTAL_11_9808MHz/2/2, pio_intf)
564564   MCFG_CASSETTE_ADD("cassette", abc80_cassette_interface)
565   MCFG_ABC80_KEYBOARD_ADD(WRITELINE(abc80_state, keydown_w))
565   MCFG_DEVICE_ADD(ABC80_KEYBOARD_TAG, ABC80_KEYBOARD, 0)
566   MCFG_ABC80_KEYBOARD_KEYDOWN_CALLBACK(WRITELINE(abc80_state, keydown_w))
566567   MCFG_ABCBUS_SLOT_ADD(ABCBUS_TAG, abcbus_cards, "slow")
567568   MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("slow", abc830_slow)
568569   MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL)
trunk/src/mess/drivers/pc1512.c
r28724r28725
12841284   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
12851285
12861286   // devices
1287   MCFG_PC1512_KEYBOARD_ADD(WRITELINE(pc1512_state, kbclk_w), WRITELINE(pc1512_state, kbdata_w))
1287   MCFG_DEVICE_ADD(PC1512_KEYBOARD_TAG, PC1512_KEYBOARD, 0)
1288   MCFG_PC1512_KEYBOARD_CLOCK_CALLBACK(WRITELINE(pc1512_state, kbclk_w))
1289   MCFG_PC1512_KEYBOARD_DATA_CALLBACK(WRITELINE(pc1512_state, kbdata_w))
12881290   MCFG_I8237_ADD(I8237A5_TAG, XTAL_24MHz/6, dmac_intf)
12891291   MCFG_PIC8259_ADD(I8259A2_TAG, INPUTLINE(I8086_TAG, INPUT_LINE_IRQ0), VCC, NULL)
12901292
r28724r28725
13721374   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
13731375
13741376   // devices
1375   MCFG_PC1512_KEYBOARD_ADD(WRITELINE(pc1512_state, kbclk_w), WRITELINE(pc1512_state, kbdata_w))
1377   MCFG_DEVICE_ADD(PC1512_KEYBOARD_TAG, PC1512_KEYBOARD, 0)
1378   MCFG_PC1512_KEYBOARD_CLOCK_CALLBACK(WRITELINE(pc1512_state, kbclk_w))
1379   MCFG_PC1512_KEYBOARD_DATA_CALLBACK(WRITELINE(pc1512_state, kbdata_w))
13761380   MCFG_I8237_ADD(I8237A5_TAG, XTAL_24MHz/6, dmac_intf)
13771381   MCFG_PIC8259_ADD(I8259A2_TAG, INPUTLINE(I8086_TAG, INPUT_LINE_IRQ0), VCC, NULL)
13781382

Previous 199869 Revisions Next


© 1997-2024 The MAME Team