trunk/src/mame/drivers/vlc.c
| r30677 | r30678 | |
| 166 | 166 | required_device<mc68681_device> m_duart40_68681; |
| 167 | 167 | |
| 168 | 168 | required_device<cpu_device> m_maincpu; |
| 169 | | optional_device<microtouch_serial_device> m_microtouch; |
| 169 | optional_device<microtouch_device> m_microtouch; |
| 170 | 170 | required_device<nvram_device> m_nvram; |
| 171 | 171 | |
| 172 | 172 | required_shared_ptr<UINT16> m_ram62256; |
| r30677 | r30678 | |
| 632 | 632 | |
| 633 | 633 | MCFG_MC68681_ADD( "duart40_68681", XTAL_3_6864MHz ) // UARTA = Touch , UARTB = Bill Acceptor |
| 634 | 634 | MCFG_MC68681_IRQ_CALLBACK(WRITELINE(nevada_state, duart40_irq_handler)) |
| 635 | | MCFG_MC68681_A_TX_CALLBACK(DEVWRITELINE("microtouch", microtouch_serial_device, rx)) |
| 635 | MCFG_MC68681_A_TX_CALLBACK(DEVWRITELINE("microtouch", microtouch_device, rx)) |
| 636 | 636 | MCFG_MC68681_INPORT_CALLBACK(IOPORT("DSW3")) |
| 637 | 637 | |
| 638 | | MCFG_MICROTOUCH_SERIAL_ADD( "microtouch", 9600, DEVWRITELINE("duart40_68681", mc68681_device, rx_a_w) ) |
| 638 | MCFG_MICROTOUCH_ADD( "microtouch", 9600, DEVWRITELINE("duart40_68681", mc68681_device, rx_a_w) ) |
| 639 | 639 | |
| 640 | 640 | /* devices */ |
| 641 | 641 | MCFG_DEVICE_ADD("rtc", MSM6242, XTAL_32_768kHz) |
trunk/src/mame/drivers/meritm.c
| r30677 | r30678 | |
| 208 | 208 | required_device<ds1204_device> m_ds1204; |
| 209 | 209 | required_device<v9938_device> m_v9938_0; |
| 210 | 210 | required_device<v9938_device> m_v9938_1; |
| 211 | | optional_device<microtouch_serial_device> m_microtouch; |
| 211 | optional_device<microtouch_device> m_microtouch; |
| 212 | 212 | optional_device<ns16550_device> m_uart; |
| 213 | 213 | DECLARE_WRITE8_MEMBER(meritm_crt250_bank_w); |
| 214 | 214 | DECLARE_WRITE8_MEMBER(meritm_psd_a15_w); |
| r30677 | r30678 | |
| 1105 | 1105 | MCFG_MACHINE_START_OVERRIDE(meritm_state,meritm_crt250_crt252_crt258) |
| 1106 | 1106 | |
| 1107 | 1107 | MCFG_DEVICE_ADD("ns16550", NS16550, UART_CLK) |
| 1108 | | MCFG_INS8250_OUT_TX_CB(DEVWRITELINE("microtouch", microtouch_serial_device, rx)) |
| 1109 | | MCFG_MICROTOUCH_SERIAL_ADD("microtouch", 9600, DEVWRITELINE("ns16550", ins8250_uart_device, rx_w)) |
| 1108 | MCFG_INS8250_OUT_TX_CB(DEVWRITELINE("microtouch", microtouch_device, rx)) |
| 1109 | MCFG_MICROTOUCH_ADD("microtouch", 9600, DEVWRITELINE("ns16550", ins8250_uart_device, rx_w)) |
| 1110 | 1110 | MCFG_MICROTOUCH_TOUCH_CB(meritm_state, meritm_touch_coord_transform) |
| 1111 | 1111 | MACHINE_CONFIG_END |
| 1112 | 1112 | |
| r30677 | r30678 | |
| 1123 | 1123 | MCFG_MACHINE_START_OVERRIDE(meritm_state,meritm_crt260) |
| 1124 | 1124 | |
| 1125 | 1125 | MCFG_DEVICE_ADD("ns16550", NS16550, UART_CLK) |
| 1126 | | MCFG_INS8250_OUT_TX_CB(DEVWRITELINE("microtouch", microtouch_serial_device, rx)) |
| 1127 | | MCFG_MICROTOUCH_SERIAL_ADD("microtouch", 9600, DEVWRITELINE("ns16550", ins8250_uart_device, rx_w)) |
| 1126 | MCFG_INS8250_OUT_TX_CB(DEVWRITELINE("microtouch", microtouch_device, rx)) |
| 1127 | MCFG_MICROTOUCH_ADD("microtouch", 9600, DEVWRITELINE("ns16550", ins8250_uart_device, rx_w)) |
| 1128 | 1128 | MCFG_MICROTOUCH_TOUCH_CB(meritm_state, meritm_touch_coord_transform) |
| 1129 | 1129 | MACHINE_CONFIG_END |
| 1130 | 1130 | |
trunk/src/mame/drivers/tmaster.c
| r30677 | r30678 | |
| 133 | 133 | m_palette(*this, "palette") { } |
| 134 | 134 | |
| 135 | 135 | required_device<cpu_device> m_maincpu; |
| 136 | | optional_device<microtouch_serial_device> m_microtouch; |
| 136 | optional_device<microtouch_device> m_microtouch; |
| 137 | 137 | required_shared_ptr<UINT16> m_regs; |
| 138 | 138 | optional_shared_ptr<UINT16> m_galgames_ram; |
| 139 | 139 | required_device<okim6295_device> m_oki; |
| r30677 | r30678 | |
| 921 | 921 | |
| 922 | 922 | MCFG_MC68681_ADD( "duart68681", XTAL_8_664MHz / 2 /*??*/) |
| 923 | 923 | MCFG_MC68681_IRQ_CALLBACK(WRITELINE(tmaster_state, duart_irq_handler)) |
| 924 | | MCFG_MC68681_A_TX_CALLBACK(DEVWRITELINE("microtouch", microtouch_serial_device, rx)) |
| 924 | MCFG_MC68681_A_TX_CALLBACK(DEVWRITELINE("microtouch", microtouch_device, rx)) |
| 925 | 925 | |
| 926 | | MCFG_MICROTOUCH_SERIAL_ADD( "microtouch", 9600, DEVWRITELINE("duart68681", mc68681_device, rx_a_w) ) |
| 926 | MCFG_MICROTOUCH_ADD( "microtouch", 9600, DEVWRITELINE("duart68681", mc68681_device, rx_a_w) ) |
| 927 | 927 | |
| 928 | 928 | MCFG_NVRAM_ADD_0FILL("nvram") |
| 929 | 929 | |
trunk/src/mame/drivers/adp.c
| r30677 | r30678 | |
| 173 | 173 | { } |
| 174 | 174 | |
| 175 | 175 | required_device<h63484_device> m_h63484; |
| 176 | | required_device<microtouch_serial_device> m_microtouch; |
| 176 | required_device<microtouch_device> m_microtouch; |
| 177 | 177 | required_device<cpu_device> m_maincpu; |
| 178 | 178 | required_device<mc68681_device> m_duart; |
| 179 | 179 | required_device<screen_device> m_screen; |
| r30677 | r30678 | |
| 649 | 649 | |
| 650 | 650 | MCFG_MC68681_ADD( "duart68681", XTAL_8_664MHz / 2 ) |
| 651 | 651 | MCFG_MC68681_IRQ_CALLBACK(WRITELINE(adp_state, duart_irq_handler)) |
| 652 | | MCFG_MC68681_A_TX_CALLBACK(DEVWRITELINE("microtouch", microtouch_serial_device, rx)) |
| 652 | MCFG_MC68681_A_TX_CALLBACK(DEVWRITELINE("microtouch", microtouch_device, rx)) |
| 653 | 653 | MCFG_MC68681_INPORT_CALLBACK(IOPORT("DSW1")) |
| 654 | 654 | |
| 655 | | MCFG_MICROTOUCH_SERIAL_ADD( "microtouch", 9600, DEVWRITELINE("duart68681", mc68681_device, rx_a_w) ) |
| 655 | MCFG_MICROTOUCH_ADD( "microtouch", 9600, DEVWRITELINE("duart68681", mc68681_device, rx_a_w) ) |
| 656 | 656 | |
| 657 | 657 | MCFG_SCREEN_ADD("screen", RASTER) |
| 658 | 658 | MCFG_SCREEN_REFRESH_RATE(60) |
trunk/src/mame/drivers/pcat_nit.c
| r30677 | r30678 | |
| 101 | 101 | |
| 102 | 102 | UINT8 *m_banked_nvram; |
| 103 | 103 | required_device<ns16450_device> m_uart; |
| 104 | | required_device<microtouch_serial_device> m_microtouch; |
| 104 | required_device<microtouch_device> m_microtouch; |
| 105 | 105 | |
| 106 | 106 | DECLARE_WRITE8_MEMBER(pcat_nit_rombank_w); |
| 107 | 107 | DECLARE_READ8_MEMBER(pcat_nit_io_r); |
| r30677 | r30678 | |
| 229 | 229 | |
| 230 | 230 | MCFG_FRAGMENT_ADD( pcat_common ) |
| 231 | 231 | MCFG_DEVICE_ADD( "ns16450_0", NS16450, XTAL_1_8432MHz ) |
| 232 | | MCFG_INS8250_OUT_TX_CB(DEVWRITELINE("microtouch", microtouch_serial_device, rx)) |
| 232 | MCFG_INS8250_OUT_TX_CB(DEVWRITELINE("microtouch", microtouch_device, rx)) |
| 233 | 233 | MCFG_INS8250_OUT_INT_CB(DEVWRITELINE("pic8259_1", pic8259_device, ir4_w)) |
| 234 | | MCFG_MICROTOUCH_SERIAL_ADD( "microtouch", 9600, DEVWRITELINE("ns16450_0", ins8250_uart_device, rx_w) ) // rate? |
| 234 | MCFG_MICROTOUCH_ADD( "microtouch", 9600, DEVWRITELINE("ns16450_0", ins8250_uart_device, rx_w) ) // rate? |
| 235 | 235 | |
| 236 | 236 | MCFG_NVRAM_ADD_0FILL("nvram") |
| 237 | 237 | MACHINE_CONFIG_END |
| r30677 | r30678 | |
| 248 | 248 | |
| 249 | 249 | MCFG_FRAGMENT_ADD( pcat_common ) |
| 250 | 250 | MCFG_DEVICE_ADD( "ns16450_0", NS16450, XTAL_1_8432MHz ) |
| 251 | | MCFG_INS8250_OUT_TX_CB(DEVWRITELINE("microtouch", microtouch_serial_device, rx)) |
| 251 | MCFG_INS8250_OUT_TX_CB(DEVWRITELINE("microtouch", microtouch_device, rx)) |
| 252 | 252 | MCFG_INS8250_OUT_INT_CB(DEVWRITELINE("pic8259_1", pic8259_device, ir4_w)) |
| 253 | | MCFG_MICROTOUCH_SERIAL_ADD( "microtouch", 9600, DEVWRITELINE("ns16450_0", ins8250_uart_device, rx_w) ) // rate? |
| 253 | MCFG_MICROTOUCH_ADD( "microtouch", 9600, DEVWRITELINE("ns16450_0", ins8250_uart_device, rx_w) ) // rate? |
| 254 | 254 | |
| 255 | 255 | MCFG_NVRAM_ADD_0FILL("nvram") |
| 256 | 256 | MACHINE_CONFIG_END |
trunk/src/mame/drivers/magtouch.c
| r30677 | r30678 | |
| 90 | 90 | m_microtouch(*this, "microtouch"){ } |
| 91 | 91 | |
| 92 | 92 | required_device<ns16450_device> m_uart; |
| 93 | | required_device<microtouch_serial_device> m_microtouch; |
| 93 | required_device<microtouch_device> m_microtouch; |
| 94 | 94 | |
| 95 | 95 | DECLARE_READ8_MEMBER(magtouch_io_r); |
| 96 | 96 | DECLARE_WRITE8_MEMBER(magtouch_io_w); |
| r30677 | r30678 | |
| 175 | 175 | |
| 176 | 176 | MCFG_FRAGMENT_ADD( pcat_common ) |
| 177 | 177 | MCFG_DEVICE_ADD( "ns16450_0", NS16450, XTAL_1_8432MHz ) |
| 178 | | MCFG_INS8250_OUT_TX_CB(DEVWRITELINE("microtouch", microtouch_serial_device, rx)) |
| 178 | MCFG_INS8250_OUT_TX_CB(DEVWRITELINE("microtouch", microtouch_device, rx)) |
| 179 | 179 | MCFG_INS8250_OUT_INT_CB(DEVWRITELINE("pic8259_1", pic8259_device, ir4_w)) |
| 180 | | MCFG_MICROTOUCH_SERIAL_ADD( "microtouch", 9600, DEVWRITELINE("ns16450_0", ins8250_uart_device, rx_w) ) // rate? |
| 180 | MCFG_MICROTOUCH_ADD( "microtouch", 9600, DEVWRITELINE("ns16450_0", ins8250_uart_device, rx_w) ) // rate? |
| 181 | 181 | MACHINE_CONFIG_END |
| 182 | 182 | |
| 183 | 183 | |
trunk/src/emu/machine/microtch.c
| r30677 | r30678 | |
| 15 | 15 | |
| 16 | 16 | const device_type MICROTOUCH = &device_creator<microtouch_device>; |
| 17 | 17 | |
| 18 | | microtouch_device::microtouch_device(const machine_config &mconfig, device_type type, const char* name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) |
| 19 | | : device_t(mconfig, type, name, tag, owner, clock, shortname, source), |
| 20 | | m_out_tx_func(*this), |
| 18 | microtouch_device::microtouch_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : |
| 19 | device_t(mconfig, MICROTOUCH, "Microtouch Touchscreen", tag, owner, clock, "microtouch", __FILE__), |
| 20 | device_serial_interface(mconfig, *this), |
| 21 | m_out_stx_func(*this), |
| 21 | 22 | m_touch(*this, "TOUCH"), |
| 22 | 23 | m_touchx(*this, "TOUCH_X"), |
| 23 | 24 | m_touchy(*this, "TOUCH_Y") |
| 24 | 25 | { |
| 25 | 26 | } |
| 26 | 27 | |
| 27 | | microtouch_device::microtouch_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) |
| 28 | | : device_t(mconfig, MICROTOUCH, "Microtouch Touchscreen", tag, owner, clock, "microtouch", __FILE__), |
| 29 | | m_out_tx_func(*this), |
| 30 | | m_touch(*this, "TOUCH"), |
| 31 | | m_touchx(*this, "TOUCH_X"), |
| 32 | | m_touchy(*this, "TOUCH_Y") |
| 33 | | { |
| 34 | | } |
| 35 | | |
| 36 | 28 | int microtouch_device::check_command( const char* commandtocheck, int command_len, UINT8* command_data ) |
| 37 | 29 | { |
| 38 | 30 | if ( (command_len == (strlen(commandtocheck) + 2)) && |
| r30677 | r30678 | |
| 117 | 109 | |
| 118 | 110 | void microtouch_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) |
| 119 | 111 | { |
| 112 | if(id) |
| 113 | { |
| 114 | device_serial_interface::device_timer(timer, id, param, ptr); |
| 115 | return; |
| 116 | } |
| 117 | |
| 120 | 118 | if ( m_tx_buffer_ptr < m_tx_buffer_num ) |
| 121 | 119 | { |
| 122 | | tx( m_tx_buffer[m_tx_buffer_ptr++] ); |
| 120 | m_output = m_tx_buffer[m_tx_buffer_ptr++]; |
| 121 | m_output_valid = true; |
| 122 | if(is_transmit_register_empty()) |
| 123 | tra_complete(); |
| 124 | |
| 123 | 125 | if ( m_tx_buffer_ptr == m_tx_buffer_num ) |
| 124 | 126 | { |
| 125 | 127 | m_tx_buffer_ptr = m_tx_buffer_num = 0; |
| r30677 | r30678 | |
| 190 | 192 | save_item(NAME(m_tx_buffer_ptr)); |
| 191 | 193 | save_item(NAME(m_format)); |
| 192 | 194 | save_item(NAME(m_mode)); |
| 193 | | m_out_tx_func.resolve_safe(); |
| 195 | set_data_frame(1, 8, PARITY_NONE, STOP_BITS_1); //8N1? |
| 196 | set_tra_rate(clock()); |
| 197 | set_rcv_rate(clock()); |
| 198 | m_out_stx_func.resolve_safe(); |
| 199 | m_output_valid = false; |
| 200 | |
| 201 | save_item(NAME(m_output_valid)); |
| 202 | save_item(NAME(m_output)); |
| 194 | 203 | } |
| 195 | 204 | |
| 196 | 205 | |
| 197 | | WRITE8_MEMBER(microtouch_device::rx) |
| 206 | void microtouch_device::rcv_complete() |
| 198 | 207 | { |
| 199 | | m_rx_buffer[m_rx_buffer_ptr] = data; |
| 208 | receive_register_extract(); |
| 209 | m_rx_buffer[m_rx_buffer_ptr] = get_received_char(); |
| 200 | 210 | m_rx_buffer_ptr++; |
| 201 | 211 | if(m_rx_buffer_ptr == 16) |
| 202 | 212 | return; |
| r30677 | r30678 | |
| 280 | 290 | return INPUT_PORTS_NAME(microtouch); |
| 281 | 291 | } |
| 282 | 292 | |
| 283 | | const device_type MICROTOUCH_SERIAL = &device_creator<microtouch_serial_device>; |
| 284 | | |
| 285 | | microtouch_serial_device::microtouch_serial_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) |
| 286 | | : microtouch_device(mconfig, MICROTOUCH_SERIAL, "Microtouch Serial Touchscreen", tag, owner, clock, "microtouch_serial", __FILE__), |
| 287 | | device_serial_interface(mconfig, *this), |
| 288 | | m_out_stx_func(*this) |
| 293 | void microtouch_device::tra_callback() |
| 289 | 294 | { |
| 290 | | } |
| 291 | | |
| 292 | | void microtouch_serial_device::device_start() |
| 293 | | { |
| 294 | | microtouch_device::device_start(); |
| 295 | | set_data_frame(1, 8, PARITY_NONE, STOP_BITS_1); //8N1? |
| 296 | | set_tra_rate(clock()); |
| 297 | | set_rcv_rate(clock()); |
| 298 | | m_out_stx_func.resolve_safe(); |
| 299 | | m_output_valid = false; |
| 300 | | |
| 301 | | save_item(NAME(m_output_valid)); |
| 302 | | save_item(NAME(m_output)); |
| 303 | | } |
| 304 | | |
| 305 | | void microtouch_serial_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) |
| 306 | | { |
| 307 | | if(id) |
| 308 | | device_serial_interface::device_timer(timer, id, param, ptr); |
| 309 | | else |
| 310 | | microtouch_device::device_timer(timer, id, param, ptr); |
| 311 | | } |
| 312 | | |
| 313 | | void microtouch_serial_device::tx(UINT8 data) |
| 314 | | { |
| 315 | | m_output = data; |
| 316 | | m_output_valid = true; |
| 317 | | if(is_transmit_register_empty()) |
| 318 | | tra_complete(); |
| 319 | | } |
| 320 | | |
| 321 | | void microtouch_serial_device::tra_callback() |
| 322 | | { |
| 323 | 295 | m_out_stx_func(transmit_register_get_data_bit()); |
| 324 | 296 | } |
| 325 | 297 | |
| 326 | | void microtouch_serial_device::tra_complete() |
| 298 | void microtouch_device::tra_complete() |
| 327 | 299 | { |
| 328 | 300 | if(m_output_valid) |
| 329 | 301 | { |
| r30677 | r30678 | |
| 331 | 303 | m_output_valid = false; |
| 332 | 304 | } |
| 333 | 305 | } |
| 334 | | |
| 335 | | void microtouch_serial_device::rcv_complete() |
| 336 | | { |
| 337 | | receive_register_extract(); |
| 338 | | microtouch_device::rx(machine().driver_data()->generic_space(), 0, get_received_char()); |
| 339 | | } |
trunk/src/emu/machine/microtch.h
| r30677 | r30678 | |
| 5 | 5 | |
| 6 | 6 | |
| 7 | 7 | class microtouch_device : |
| 8 | | public device_t |
| 8 | public device_t, |
| 9 | public device_serial_interface |
| 9 | 10 | { |
| 10 | 11 | public: |
| 11 | 12 | microtouch_device(const machine_config &mconfig, device_type type, const char* name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source); |
| 12 | 13 | microtouch_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 13 | | template<class _Object> static devcb_base &static_set_tx_callback(device_t &device, _Object object) { return downcast<microtouch_device &>(device).m_out_tx_func.set_callback(object); } |
| 14 | template<class _Object> static devcb_base &static_set_stx_callback(device_t &device, _Object object) { return downcast<microtouch_device &>(device).m_out_stx_func.set_callback(object); } |
| 14 | 15 | |
| 15 | 16 | virtual ioport_constructor device_input_ports() const; |
| 16 | | DECLARE_WRITE8_MEMBER(rx); |
| 17 | DECLARE_WRITE_LINE_MEMBER(rx) { device_serial_interface::rx_w(state); } |
| 17 | 18 | DECLARE_INPUT_CHANGED_MEMBER(touch); |
| 18 | 19 | |
| 19 | 20 | typedef delegate<int (int *, int *)> touch_cb; |
| r30677 | r30678 | |
| 21 | 22 | protected: |
| 22 | 23 | virtual void device_start(); |
| 23 | 24 | virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); |
| 24 | | virtual void tx(UINT8 data) { m_out_tx_func(data); } |
| 25 | | emu_timer* m_timer; |
| 25 | virtual void tra_callback(); |
| 26 | virtual void tra_complete(); |
| 27 | virtual void rcv_complete(); |
| 26 | 28 | private: |
| 27 | 29 | int check_command( const char* commandtocheck, int command_len, UINT8* command_data ); |
| 28 | 30 | void send_format_table_packet(UINT8 flag, int x, int y); |
| r30677 | r30678 | |
| 52 | 54 | int m_last_touch_state; |
| 53 | 55 | int m_last_x; |
| 54 | 56 | int m_last_y; |
| 55 | | devcb_write8 m_out_tx_func; |
| 56 | 57 | touch_cb m_out_touch_cb; |
| 58 | devcb_write_line m_out_stx_func; |
| 57 | 59 | required_ioport m_touch; |
| 58 | 60 | required_ioport m_touchx; |
| 59 | 61 | required_ioport m_touchy; |
| 60 | | }; |
| 61 | | |
| 62 | | extern const device_type MICROTOUCH; |
| 63 | | |
| 64 | | #define MCFG_MICROTOUCH_ADD(_tag, _devcb) \ |
| 65 | | MCFG_DEVICE_ADD(_tag, MICROTOUCH, 0) \ |
| 66 | | devcb = µtouch_serial_device::static_set_tx_callback(*device, DEVCB_##_devcb); |
| 67 | | |
| 68 | | |
| 69 | | class microtouch_serial_device |
| 70 | | : public microtouch_device, |
| 71 | | public device_serial_interface |
| 72 | | { |
| 73 | | public: |
| 74 | | microtouch_serial_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 75 | | template<class _Object> static devcb_base &static_set_stx_callback(device_t &device, _Object object) { return downcast<microtouch_serial_device &>(device).m_out_stx_func.set_callback(object); } |
| 76 | | |
| 77 | | DECLARE_WRITE_LINE_MEMBER(rx) { device_serial_interface::rx_w(state); } |
| 78 | | protected: |
| 79 | | virtual void device_start(); |
| 80 | | virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); |
| 81 | | virtual void tx(UINT8 data); |
| 82 | | virtual void tra_callback(); |
| 83 | | virtual void tra_complete(); |
| 84 | | virtual void rcv_complete(); |
| 85 | | private: |
| 62 | emu_timer* m_timer; |
| 86 | 63 | bool m_output_valid; |
| 87 | 64 | UINT8 m_output; |
| 88 | | devcb_write_line m_out_stx_func; |
| 89 | 65 | }; |
| 90 | 66 | |
| 91 | | extern const device_type MICROTOUCH_SERIAL; |
| 67 | extern const device_type MICROTOUCH; |
| 92 | 68 | |
| 93 | | #define MCFG_MICROTOUCH_SERIAL_ADD(_tag, _clock, _devcb) \ |
| 94 | | MCFG_DEVICE_ADD(_tag, MICROTOUCH_SERIAL, _clock) \ |
| 95 | | devcb = µtouch_serial_device::static_set_stx_callback(*device, DEVCB_##_devcb); |
| 69 | #define MCFG_MICROTOUCH_ADD(_tag, _clock, _devcb) \ |
| 70 | MCFG_DEVICE_ADD(_tag, MICROTOUCH, _clock) \ |
| 71 | devcb = µtouch_device::static_set_stx_callback(*device, DEVCB_##_devcb); |
| 96 | 72 | |
| 97 | 73 | #define MCFG_MICROTOUCH_TOUCH_CB(_class, _touch_cb) \ |
| 98 | 74 | microtouch_device::static_set_touch_callback(*device, microtouch_device::touch_cb(FUNC(_class::_touch_cb), (_class *)owner)); |