trunk/src/mess/machine/trs80m2kb.h
| r28724 | r28725 | |
| 32 | 32 | // INTERFACE CONFIGURATION MACROS |
| 33 | 33 | //************************************************************************** |
| 34 | 34 | |
| 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); |
| 38 | 37 | |
| 39 | 38 | |
| 40 | 39 | |
| r28724 | r28725 | |
| 50 | 49 | // construction/destruction |
| 51 | 50 | trs80m2_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 52 | 51 | |
| 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); } |
| 54 | 53 | |
| 55 | 54 | // optional information overrides |
| 56 | 55 | virtual const rom_entry *device_rom_region() const; |
trunk/src/mess/machine/abc80kb.h
| r28724 | r28725 | |
| 31 | 31 | // INTERFACE CONFIGURATION MACROS |
| 32 | 32 | //************************************************************************** |
| 33 | 33 | |
| 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); |
| 37 | 36 | |
| 38 | 37 | |
| 39 | 38 | |
| r28724 | r28725 | |
| 49 | 48 | // construction/destruction |
| 50 | 49 | abc80_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 51 | 50 | |
| 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); } |
| 53 | 52 | |
| 54 | 53 | // optional information overrides |
| 55 | 54 | virtual const rom_entry *device_rom_region() const; |
trunk/src/mess/machine/pc1512kb.h
| r28724 | r28725 | |
| 32 | 32 | // INTERFACE CONFIGURATION MACROS |
| 33 | 33 | //************************************************************************** |
| 34 | 34 | |
| 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); |
| 39 | 37 | |
| 38 | #define MCFG_PC1512_KEYBOARD_DATA_CALLBACK(_write) \ |
| 39 | devcb = &pc1512_keyboard_device::set_data_wr_callback(*device, DEVCB2_##_write); |
| 40 | 40 | |
| 41 | 41 | |
| 42 | |
| 42 | 43 | //************************************************************************** |
| 43 | 44 | // TYPE DEFINITIONS |
| 44 | 45 | //************************************************************************** |
| r28724 | r28725 | |
| 51 | 52 | // construction/destruction |
| 52 | 53 | pc1512_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 53 | 54 | |
| 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); } |
| 56 | 57 | |
| 57 | 58 | // optional information overrides |
| 58 | 59 | virtual const rom_entry *device_rom_region() const; |
trunk/src/mess/machine/tandy2kb.h
| r28724 | r28725 | |
| 31 | 31 | // INTERFACE CONFIGURATION MACROS |
| 32 | 32 | //************************************************************************** |
| 33 | 33 | |
| 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); |
| 38 | 36 | |
| 37 | #define MCFG_TANDY2000_KEYBOARD_DATA_CALLBACK(_write) \ |
| 38 | devcb = &tandy2k_keyboard_device::set_data_wr_callback(*device, DEVCB2_##_write); |
| 39 | 39 | |
| 40 | 40 | |
| 41 | |
| 41 | 42 | //************************************************************************** |
| 42 | 43 | // TYPE DEFINITIONS |
| 43 | 44 | //************************************************************************** |
| r28724 | r28725 | |
| 50 | 51 | // construction/destruction |
| 51 | 52 | tandy2k_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 52 | 53 | |
| 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); } |
| 55 | 56 | |
| 56 | 57 | // optional information overrides |
| 57 | 58 | virtual const rom_entry *device_rom_region() const; |
trunk/src/mess/drivers/tandy2k.c
| r28724 | r28725 | |
| 708 | 708 | |
| 709 | 709 | MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG) |
| 710 | 710 | |
| 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)) |
| 712 | 714 | |
| 713 | 715 | // software lists |
| 714 | 716 | MCFG_SOFTWARE_LIST_ADD("flop_list", "tandy2k") |
trunk/src/mess/drivers/trs80m2.c
| r28724 | r28725 | |
| 840 | 840 | MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(trs80m2_state, write_centronics_perror)) |
| 841 | 841 | MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG) |
| 842 | 842 | |
| 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)) |
| 844 | 845 | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 845 | 846 | |
| 846 | 847 | // internal RAM |
| r28724 | r28725 | |
| 894 | 895 | MCFG_Z80DMA_ADD(Z80DMA_TAG, XTAL_8MHz/2, dma_intf) |
| 895 | 896 | MCFG_Z80PIO_ADD(Z80PIO_TAG, XTAL_8MHz/2, pio_intf) |
| 896 | 897 | MCFG_Z80SIO0_ADD(Z80SIO_TAG, XTAL_8MHz/2, sio_intf) |
| 898 | MCFG_PIC8259_ADD(AM9519A_TAG, INPUTLINE(M68000_TAG, M68K_IRQ_5), VCC, NULL ) |
| 897 | 899 | |
| 898 | 900 | MCFG_CENTRONICS_ADD(CENTRONICS_TAG, centronics_printers, "image") |
| 899 | 901 | MCFG_CENTRONICS_ACK_HANDLER(DEVWRITELINE(Z80PIO_TAG, z80pio_device, strobe_b)) |
| r28724 | r28725 | |
| 902 | 904 | MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(trs80m2_state, write_centronics_perror)) |
| 903 | 905 | MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG) |
| 904 | 906 | |
| 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) |
| 907 | 910 | |
| 908 | 911 | // internal RAM |
| 909 | 912 | MCFG_RAM_ADD(RAM_TAG) |
trunk/src/mess/drivers/abc80.c
| r28724 | r28725 | |
| 562 | 562 | // devices |
| 563 | 563 | MCFG_Z80PIO_ADD(Z80PIO_TAG, XTAL_11_9808MHz/2/2, pio_intf) |
| 564 | 564 | 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)) |
| 566 | 567 | MCFG_ABCBUS_SLOT_ADD(ABCBUS_TAG, abcbus_cards, "slow") |
| 567 | 568 | MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("slow", abc830_slow) |
| 568 | 569 | MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) |
trunk/src/mess/drivers/pc1512.c
| r28724 | r28725 | |
| 1284 | 1284 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) |
| 1285 | 1285 | |
| 1286 | 1286 | // 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)) |
| 1288 | 1290 | MCFG_I8237_ADD(I8237A5_TAG, XTAL_24MHz/6, dmac_intf) |
| 1289 | 1291 | MCFG_PIC8259_ADD(I8259A2_TAG, INPUTLINE(I8086_TAG, INPUT_LINE_IRQ0), VCC, NULL) |
| 1290 | 1292 | |
| r28724 | r28725 | |
| 1372 | 1374 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) |
| 1373 | 1375 | |
| 1374 | 1376 | // 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)) |
| 1376 | 1380 | MCFG_I8237_ADD(I8237A5_TAG, XTAL_24MHz/6, dmac_intf) |
| 1377 | 1381 | MCFG_PIC8259_ADD(I8259A2_TAG, INPUTLINE(I8086_TAG, INPUT_LINE_IRQ0), VCC, NULL) |
| 1378 | 1382 | |