trunk/src/emu/bus/ecbbus/grip.c
| r29500 | r29501 | |
| 521 | 521 | } |
| 522 | 522 | } |
| 523 | 523 | |
| 524 | | static ASCII_KEYBOARD_INTERFACE( kb_intf ) |
| 525 | | { |
| 526 | | DEVCB_DEVICE_MEMBER(DEVICE_SELF_OWNER, grip_device, kb_w) |
| 527 | | }; |
| 528 | | |
| 529 | | |
| 530 | | |
| 531 | 524 | //************************************************************************** |
| 532 | 525 | // MACHINE CONFIGURATION |
| 533 | 526 | //************************************************************************** |
| r29500 | r29501 | |
| 571 | 564 | |
| 572 | 565 | MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG) |
| 573 | 566 | |
| 574 | | MCFG_ASCII_KEYBOARD_ADD("keyboard", kb_intf) |
| 567 | MCFG_DEVICE_ADD("keyboard", GENERIC_KEYBOARD, 0) |
| 568 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(grip_device, kb_w)) |
| 575 | 569 | MACHINE_CONFIG_END |
| 576 | 570 | |
| 577 | 571 | |
trunk/src/emu/bus/vip/vp620.c
| r29500 | r29501 | |
| 34 | 34 | m_keystb = ASSERT_LINE; |
| 35 | 35 | } |
| 36 | 36 | |
| 37 | | static ASCII_KEYBOARD_INTERFACE( kb_intf ) |
| 38 | | { |
| 39 | | DEVCB_DEVICE_MEMBER(DEVICE_SELF_OWNER, vp620_device, kb_w) |
| 40 | | }; |
| 41 | | |
| 42 | | |
| 43 | 37 | //------------------------------------------------- |
| 44 | 38 | // MACHINE_CONFIG_FRAGMENT( vp620 ) |
| 45 | 39 | //------------------------------------------------- |
| 46 | 40 | |
| 47 | 41 | static MACHINE_CONFIG_FRAGMENT( vp620 ) |
| 48 | | MCFG_ASCII_KEYBOARD_ADD("keyboard", kb_intf) |
| 42 | MCFG_DEVICE_ADD("keyboard", GENERIC_KEYBOARD, 0) |
| 43 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(vp620_device, kb_w)) |
| 49 | 44 | MACHINE_CONFIG_END |
| 50 | 45 | |
| 51 | 46 | |
trunk/src/emu/machine/keyboard.c
| r29500 | r29501 | |
| 8 | 8 | Example of usage in a driver. |
| 9 | 9 | |
| 10 | 10 | In MACHINE_CONFIG |
| 11 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 11 | |
| 12 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 13 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(xxx_state, kbd_put)) |
| 12 | 14 | |
| 13 | 15 | In the code: |
| 14 | 16 | |
| r29500 | r29501 | |
| 17 | 19 | (code to capture the key as it is pressed) |
| 18 | 20 | } |
| 19 | 21 | |
| 20 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 21 | | { |
| 22 | | DEVCB_DRIVER_MEMBER(xxx_state, kbd_put) |
| 23 | | }; |
| 24 | | |
| 25 | 22 | ***************************************************************************/ |
| 26 | 23 | |
| 27 | 24 | #include "machine/keyboard.h" |
| r29500 | r29501 | |
| 41 | 38 | m_io_kbd5(*this, "TERM_LINE5"), |
| 42 | 39 | m_io_kbd6(*this, "TERM_LINE6"), |
| 43 | 40 | m_io_kbd7(*this, "TERM_LINE7"), |
| 44 | | m_io_kbdc(*this, "TERM_LINEC") |
| 41 | m_io_kbdc(*this, "TERM_LINEC"), |
| 42 | m_keyboard_cb(*this) |
| 45 | 43 | { |
| 46 | 44 | } |
| 47 | 45 | |
| r29500 | r29501 | |
| 55 | 53 | m_io_kbd5(*this, "TERM_LINE5"), |
| 56 | 54 | m_io_kbd6(*this, "TERM_LINE6"), |
| 57 | 55 | m_io_kbd7(*this, "TERM_LINE7"), |
| 58 | | m_io_kbdc(*this, "TERM_LINEC") |
| 56 | m_io_kbdc(*this, "TERM_LINEC"), |
| 57 | m_keyboard_cb(*this) |
| 59 | 58 | { |
| 60 | 59 | } |
| 61 | 60 | |
| r29500 | r29501 | |
| 209 | 208 | |
| 210 | 209 | void generic_keyboard_device::device_start() |
| 211 | 210 | { |
| 212 | | m_keyboard_func.resolve(m_keyboard_cb, *this); |
| 211 | m_keyboard_cb.resolve_safe(); |
| 213 | 212 | m_timer = timer_alloc(); |
| 214 | 213 | } |
| 215 | 214 | |
| 216 | | void generic_keyboard_device::device_config_complete() |
| 217 | | { |
| 218 | | const keyboard_interface *intf = reinterpret_cast<const keyboard_interface *>(static_config()); |
| 219 | | if(intf != NULL) |
| 220 | | { |
| 221 | | *static_cast<keyboard_interface *>(this) = *intf; |
| 222 | | } |
| 223 | | else |
| 224 | | { |
| 225 | | memset(&m_keyboard_cb, 0, sizeof(m_keyboard_cb)); |
| 226 | | } |
| 227 | | } |
| 228 | | |
| 229 | 215 | void generic_keyboard_device::device_reset() |
| 230 | 216 | { |
| 231 | 217 | m_last_code = 0; |
trunk/src/emu/machine/keyboard.h
| r29500 | r29501 | |
| 4 | 4 | #include "emu.h" |
| 5 | 5 | |
| 6 | 6 | /*************************************************************************** |
| 7 | | TYPE DEFINITIONS |
| 8 | | ***************************************************************************/ |
| 9 | | |
| 10 | | struct keyboard_interface |
| 11 | | { |
| 12 | | devcb_write8 m_keyboard_cb; |
| 13 | | }; |
| 14 | | |
| 15 | | #define ASCII_KEYBOARD_INTERFACE(name) const keyboard_interface (name) = |
| 16 | | |
| 17 | | /*************************************************************************** |
| 18 | 7 | DEVICE CONFIGURATION MACROS |
| 19 | 8 | ***************************************************************************/ |
| 20 | 9 | |
| 21 | | #define MCFG_ASCII_KEYBOARD_ADD(_tag, _intrf) \ |
| 22 | | MCFG_DEVICE_ADD(_tag, GENERIC_KEYBOARD, 0) \ |
| 23 | | MCFG_DEVICE_CONFIG(_intrf) |
| 10 | #define MCFG_GENERIC_KEYBOARD_CB(_devcb) \ |
| 11 | devcb = &generic_keyboard_device::set_keyboard_callback(*device, DEVCB2_##_devcb); |
| 24 | 12 | |
| 25 | 13 | /*************************************************************************** |
| 26 | 14 | FUNCTION PROTOTYPES |
| r29500 | r29501 | |
| 28 | 16 | |
| 29 | 17 | INPUT_PORTS_EXTERN( generic_keyboard ); |
| 30 | 18 | |
| 31 | | class generic_keyboard_device : |
| 32 | | public device_t, |
| 33 | | public keyboard_interface |
| 19 | class generic_keyboard_device : public device_t |
| 34 | 20 | { |
| 35 | 21 | public: |
| 36 | 22 | generic_keyboard_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); |
| 37 | 23 | generic_keyboard_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 24 | |
| 25 | template<class _Object> static devcb2_base &set_keyboard_callback(device_t &device, _Object object) { return downcast<generic_keyboard_device &>(device).m_keyboard_cb.set_callback(object); } |
| 38 | 26 | |
| 39 | 27 | virtual ioport_constructor device_input_ports() const; |
| 40 | 28 | virtual machine_config_constructor device_mconfig_additions() const; |
| r29500 | r29501 | |
| 52 | 40 | virtual void device_start(); |
| 53 | 41 | virtual void device_reset(); |
| 54 | 42 | virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); |
| 55 | | virtual void device_config_complete(); |
| 56 | | virtual void send_key(UINT8 code) { m_keyboard_func(0, code); } |
| 43 | virtual void send_key(UINT8 code) { m_keyboard_cb((offs_t)0, code); } |
| 57 | 44 | emu_timer *m_timer; |
| 58 | 45 | private: |
| 59 | 46 | virtual UINT8 keyboard_handler(UINT8 last_code, UINT8 *scan_line); |
| r29500 | r29501 | |
| 61 | 48 | UINT8 m_last_code; |
| 62 | 49 | UINT8 m_scan_line; |
| 63 | 50 | |
| 64 | | devcb_resolved_write8 m_keyboard_func; |
| 51 | devcb2_write8 m_keyboard_cb; |
| 65 | 52 | }; |
| 66 | 53 | |
| 67 | 54 | extern const device_type GENERIC_KEYBOARD; |
trunk/src/emu/machine/terminal.c
| r29500 | r29501 | |
| 141 | 141 | generic_terminal_device::generic_terminal_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) |
| 142 | 142 | : device_t(mconfig, type, name, tag, owner, clock, shortname, source), |
| 143 | 143 | m_palette(*this, "palette"), |
| 144 | | m_io_term_conf(*this, "TERM_CONF") |
| 144 | m_io_term_conf(*this, "TERM_CONF"), |
| 145 | m_keyboard_cb(*this) |
| 145 | 146 | { |
| 146 | 147 | } |
| 147 | 148 | |
| 148 | 149 | generic_terminal_device::generic_terminal_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) |
| 149 | 150 | : device_t(mconfig, GENERIC_TERMINAL, "Generic Terminal", tag, owner, clock, "generic_terminal", __FILE__), |
| 150 | 151 | m_palette(*this, "palette"), |
| 151 | | m_io_term_conf(*this, "TERM_CONF") |
| 152 | m_io_term_conf(*this, "TERM_CONF"), |
| 153 | m_keyboard_cb(*this) |
| 152 | 154 | { |
| 153 | 155 | } |
| 154 | 156 | |
| r29500 | r29501 | |
| 304 | 306 | send_key(data); |
| 305 | 307 | } |
| 306 | 308 | |
| 307 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 308 | | { |
| 309 | | DEVCB_DEVICE_MEMBER(DEVICE_SELF_OWNER, generic_terminal_device, kbd_put) |
| 310 | | }; |
| 311 | | |
| 312 | 309 | /*************************************************************************** |
| 313 | 310 | VIDEO HARDWARE |
| 314 | 311 | ***************************************************************************/ |
| r29500 | r29501 | |
| 323 | 320 | |
| 324 | 321 | MCFG_PALETTE_ADD_MONOCHROME_GREEN("palette") |
| 325 | 322 | |
| 326 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 323 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 324 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(generic_terminal_device, kbd_put)) |
| 327 | 325 | MACHINE_CONFIG_END |
| 328 | 326 | |
| 329 | 327 | machine_config_constructor generic_terminal_device::device_mconfig_additions() const |
| r29500 | r29501 | |
| 333 | 331 | |
| 334 | 332 | void generic_terminal_device::device_start() |
| 335 | 333 | { |
| 336 | | m_keyboard_func.resolve(m_keyboard_cb, *this); |
| 334 | m_keyboard_cb.resolve_safe(); |
| 337 | 335 | } |
| 338 | 336 | |
| 339 | | void generic_terminal_device::device_config_complete() |
| 340 | | { |
| 341 | | const terminal_interface *intf = reinterpret_cast<const terminal_interface *>(static_config()); |
| 342 | | if(intf != NULL) |
| 343 | | { |
| 344 | | *static_cast<terminal_interface *>(this) = *intf; |
| 345 | | } |
| 346 | | else |
| 347 | | { |
| 348 | | memset(&m_keyboard_cb, 0, sizeof(m_keyboard_cb)); |
| 349 | | } |
| 350 | | } |
| 351 | | |
| 352 | 337 | void generic_terminal_device::device_reset() |
| 353 | 338 | { |
| 354 | 339 | clear(); |
trunk/src/emu/machine/terminal.h
| r29500 | r29501 | |
| 6 | 6 | #define TERMINAL_SCREEN_TAG "terminal_screen" |
| 7 | 7 | |
| 8 | 8 | /*************************************************************************** |
| 9 | | TYPE DEFINITIONS |
| 10 | | ***************************************************************************/ |
| 11 | | |
| 12 | | struct terminal_interface |
| 13 | | { |
| 14 | | devcb_write8 m_keyboard_cb; |
| 15 | | }; |
| 16 | | |
| 17 | | #define GENERIC_TERMINAL_INTERFACE(name) const terminal_interface (name) = |
| 18 | | |
| 19 | | /*************************************************************************** |
| 20 | 9 | DEVICE CONFIGURATION MACROS |
| 21 | 10 | ***************************************************************************/ |
| 22 | 11 | |
| 23 | | #define MCFG_GENERIC_TERMINAL_ADD(_tag, _intrf) \ |
| 24 | | MCFG_DEVICE_ADD(_tag, GENERIC_TERMINAL, 0) \ |
| 25 | | MCFG_DEVICE_CONFIG(_intrf) |
| 12 | #define MCFG_GENERIC_TERMINAL_KEYBOARD_CB(_devcb) \ |
| 13 | devcb = &generic_terminal_device::set_keyboard_callback(*device, DEVCB2_##_devcb); |
| 26 | 14 | |
| 27 | | #define MCFG_GENERIC_TERMINAL_REMOVE(_tag) \ |
| 28 | | MCFG_DEVICE_REMOVE(_tag) |
| 29 | | |
| 30 | 15 | /*************************************************************************** |
| 31 | 16 | FUNCTION PROTOTYPES |
| 32 | 17 | ***************************************************************************/ |
| r29500 | r29501 | |
| 36 | 21 | |
| 37 | 22 | INPUT_PORTS_EXTERN( generic_terminal ); |
| 38 | 23 | |
| 39 | | class generic_terminal_device : |
| 40 | | public device_t, |
| 41 | | public terminal_interface |
| 24 | class generic_terminal_device : public device_t |
| 42 | 25 | { |
| 43 | 26 | public: |
| 44 | 27 | generic_terminal_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); |
| 45 | 28 | generic_terminal_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 29 | |
| 30 | template<class _Object> static devcb2_base &set_keyboard_callback(device_t &device, _Object object) { return downcast<generic_terminal_device &>(device).m_keyboard_cb.set_callback(object); } |
| 31 | |
| 46 | 32 | DECLARE_WRITE8_MEMBER(write) { term_write(data); } |
| 47 | 33 | DECLARE_WRITE8_MEMBER(kbd_put); |
| 48 | 34 | UINT32 update(screen_device &device, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
| r29500 | r29501 | |
| 56 | 42 | virtual void term_write(UINT8 data); |
| 57 | 43 | virtual void device_start(); |
| 58 | 44 | virtual void device_reset(); |
| 59 | | virtual void device_config_complete(); |
| 60 | | virtual void send_key(UINT8 code) { m_keyboard_func(0, code); } |
| 45 | virtual void send_key(UINT8 code) { m_keyboard_cb((offs_t)0, code); } |
| 61 | 46 | UINT8 m_buffer[TERMINAL_WIDTH*50]; // make big enough for teleprinter |
| 62 | 47 | UINT8 m_x_pos; |
| 63 | 48 | private: |
| r29500 | r29501 | |
| 68 | 53 | UINT8 m_framecnt; |
| 69 | 54 | UINT8 m_y_pos; |
| 70 | 55 | |
| 71 | | devcb_resolved_write8 m_keyboard_func; |
| 56 | devcb2_write8 m_keyboard_cb; |
| 72 | 57 | }; |
| 73 | 58 | |
| 74 | 59 | extern const device_type GENERIC_TERMINAL; |
trunk/src/mess/drivers/dms86.c
| r29500 | r29501 | |
| 105 | 105 | m_term_data = data; |
| 106 | 106 | } |
| 107 | 107 | |
| 108 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 109 | | { |
| 110 | | DEVCB_DRIVER_MEMBER(dms86_state, kbd_put) |
| 111 | | }; |
| 112 | | |
| 113 | | |
| 114 | 108 | static MACHINE_CONFIG_START( dms86, dms86_state ) |
| 115 | 109 | /* basic machine hardware */ |
| 116 | 110 | MCFG_CPU_ADD("maincpu",I8086, XTAL_9_8304MHz) |
| r29500 | r29501 | |
| 118 | 112 | MCFG_CPU_IO_MAP(dms86_io) |
| 119 | 113 | |
| 120 | 114 | |
| 121 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 115 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 116 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(dms86_state, kbd_put)) |
| 122 | 117 | MACHINE_CONFIG_END |
| 123 | 118 | |
| 124 | 119 | /* ROM definition */ |
trunk/src/mess/drivers/c900.c
| r29500 | r29501 | |
| 84 | 84 | m_term_data = data; |
| 85 | 85 | } |
| 86 | 86 | |
| 87 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 88 | | { |
| 89 | | DEVCB_DRIVER_MEMBER(c900_state, kbd_put) |
| 90 | | }; |
| 91 | | |
| 92 | 87 | /* F4 Character Displayer */ |
| 93 | 88 | static const gfx_layout c900_charlayout = |
| 94 | 89 | { |
| r29500 | r29501 | |
| 114 | 109 | MCFG_CPU_DATA_MAP(c900_data) |
| 115 | 110 | MCFG_CPU_IO_MAP(c900_io) |
| 116 | 111 | |
| 117 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 112 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 113 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(c900_state, kbd_put)) |
| 118 | 114 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", c900) |
| 119 | 115 | MCFG_PALETTE_ADD_BLACK_AND_WHITE("palette") |
| 120 | 116 | MACHINE_CONFIG_END |
trunk/src/mess/drivers/zorba.c
| r29500 | r29501 | |
| 336 | 336 | m_term_data = data; |
| 337 | 337 | } |
| 338 | 338 | |
| 339 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 340 | | { |
| 341 | | DEVCB_DRIVER_MEMBER(zorba_state, kbd_put) |
| 342 | | }; |
| 343 | | |
| 344 | 339 | static MACHINE_CONFIG_START( zorba, zorba_state ) |
| 345 | 340 | // basic machine hardware |
| 346 | 341 | MCFG_CPU_ADD("maincpu", Z80, XTAL_24MHz / 6) |
| r29500 | r29501 | |
| 405 | 400 | MCFG_FLOPPY_DRIVE_ADD("fdc:1", zorba_floppies, "525dd", floppy_image_device::default_floppy_formats) |
| 406 | 401 | |
| 407 | 402 | /* Keyboard */ |
| 408 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 403 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 404 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(zorba_state, kbd_put)) |
| 409 | 405 | MACHINE_CONFIG_END |
| 410 | 406 | |
| 411 | 407 | ROM_START( zorba ) |
trunk/src/mess/drivers/sun1.c
| r29500 | r29501 | |
| 127 | 127 | m_term_data = data; |
| 128 | 128 | } |
| 129 | 129 | |
| 130 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 131 | | { |
| 132 | | DEVCB_DRIVER_MEMBER(sun1_state, kbd_put) |
| 133 | | }; |
| 134 | | |
| 135 | | |
| 136 | 130 | static MACHINE_CONFIG_START( sun1, sun1_state ) |
| 137 | 131 | /* basic machine hardware */ |
| 138 | 132 | MCFG_CPU_ADD("maincpu", M68000, XTAL_10MHz) |
| 139 | 133 | MCFG_CPU_PROGRAM_MAP(sun1_mem) |
| 140 | 134 | |
| 141 | 135 | /* video hardware */ |
| 142 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 136 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 137 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(sun1_state, kbd_put)) |
| 143 | 138 | MACHINE_CONFIG_END |
| 144 | 139 | |
| 145 | 140 | /* ROM definition */ |
trunk/src/mess/drivers/pimps.c
| r29500 | r29501 | |
| 89 | 89 | m_term_data = data; |
| 90 | 90 | } |
| 91 | 91 | |
| 92 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 93 | | { |
| 94 | | DEVCB_DRIVER_MEMBER(pimps_state, kbd_put) |
| 95 | | }; |
| 96 | | |
| 97 | 92 | static MACHINE_CONFIG_START( pimps, pimps_state ) |
| 98 | 93 | /* basic machine hardware */ |
| 99 | 94 | MCFG_CPU_ADD("maincpu",I8085A, XTAL_2MHz) |
| r29500 | r29501 | |
| 101 | 96 | MCFG_CPU_IO_MAP(pimps_io) |
| 102 | 97 | |
| 103 | 98 | /* video hardware */ |
| 104 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 99 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 100 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(pimps_state, kbd_put)) |
| 105 | 101 | MACHINE_CONFIG_END |
| 106 | 102 | |
| 107 | 103 | /* ROM definition */ |
trunk/src/mess/drivers/imsai.c
| r29500 | r29501 | |
| 101 | 101 | m_uart->write_rxc(state); |
| 102 | 102 | } |
| 103 | 103 | |
| 104 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 105 | | { |
| 106 | | DEVCB_DRIVER_MEMBER(imsai_state, kbd_put) |
| 107 | | }; |
| 108 | | |
| 109 | 104 | WRITE8_MEMBER( imsai_state::control_w ) |
| 110 | 105 | { |
| 111 | 106 | } |
| r29500 | r29501 | |
| 122 | 117 | MCFG_CPU_IO_MAP(imsai_io) |
| 123 | 118 | |
| 124 | 119 | /* video hardware */ |
| 125 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 120 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 121 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(imsai_state, kbd_put)) |
| 126 | 122 | |
| 127 | 123 | /* Devices */ |
| 128 | 124 | MCFG_DEVICE_ADD("uart", I8251, 0) |
trunk/src/mess/drivers/votrpss.c
| r29500 | r29501 | |
| 261 | 261 | m_term_data = data; |
| 262 | 262 | } |
| 263 | 263 | |
| 264 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 265 | | { |
| 266 | | DEVCB_DRIVER_MEMBER(votrpss_state, kbd_put) |
| 267 | | }; |
| 268 | | |
| 269 | 264 | DECLARE_WRITE_LINE_MEMBER( votrpss_state::write_uart_clock ) |
| 270 | 265 | { |
| 271 | 266 | m_uart->write_txc(state); |
| r29500 | r29501 | |
| 294 | 289 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) |
| 295 | 290 | |
| 296 | 291 | /* Devices */ |
| 297 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 292 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 293 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(votrpss_state, kbd_put)) |
| 298 | 294 | |
| 299 | 295 | MCFG_DEVICE_ADD("uart", I8251, 0) |
| 300 | 296 | MCFG_I8251_TXD_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_txd)) |
trunk/src/mess/drivers/onyx.c
| r29500 | r29501 | |
| 68 | 68 | m_term_data = data; |
| 69 | 69 | } |
| 70 | 70 | |
| 71 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 72 | | { |
| 73 | | DEVCB_DRIVER_MEMBER(onyx_state, kbd_put) |
| 74 | | }; |
| 75 | | |
| 76 | 71 | #if 0 |
| 77 | 72 | WRITE_LINE_MEMBER( onyx_state::p8k_daisy_interrupt ) |
| 78 | 73 | { |
| r29500 | r29501 | |
| 420 | 415 | //MCFG_Z80PIO_ADD("z80pio_2", XTAL_4MHz, p8k_16_pio_2_intf ) |
| 421 | 416 | |
| 422 | 417 | /* video hardware */ |
| 423 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 418 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 419 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(onyx_state, kbd_put)) |
| 424 | 420 | MACHINE_CONFIG_END |
| 425 | 421 | |
| 426 | 422 | /* ROM definition */ |
trunk/src/mess/drivers/ipds.c
| r29500 | r29501 | |
| 135 | 135 | m_term_data = data; |
| 136 | 136 | } |
| 137 | 137 | |
| 138 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 139 | | { |
| 140 | | DEVCB_DRIVER_MEMBER(ipds_state, kbd_put) |
| 141 | | }; |
| 142 | | |
| 143 | | |
| 144 | 138 | static MACHINE_CONFIG_START( ipds, ipds_state ) |
| 145 | 139 | /* basic machine hardware */ |
| 146 | 140 | MCFG_CPU_ADD("maincpu",I8085A, XTAL_19_6608MHz / 4) |
| r29500 | r29501 | |
| 158 | 152 | MCFG_PALETTE_ADD_MONOCHROME_GREEN("palette") |
| 159 | 153 | |
| 160 | 154 | MCFG_I8275_ADD ( "i8275", ipds_i8275_interface) |
| 161 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 155 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 156 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(ipds_state, kbd_put)) |
| 162 | 157 | MACHINE_CONFIG_END |
| 163 | 158 | |
| 164 | 159 | /* ROM definition */ |
trunk/src/mess/drivers/m20.c
| r29500 | r29501 | |
| 892 | 892 | } |
| 893 | 893 | } |
| 894 | 894 | |
| 895 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 896 | | { |
| 897 | | DEVCB_DRIVER_MEMBER(m20_state, kbd_put) |
| 898 | | }; |
| 899 | | |
| 900 | 895 | static SLOT_INTERFACE_START( m20_floppies ) |
| 901 | 896 | SLOT_INTERFACE( "5dd", FLOPPY_525_DD ) |
| 902 | 897 | SLOT_INTERFACE_END |
| r29500 | r29501 | |
| 957 | 952 | |
| 958 | 953 | MCFG_PIC8259_ADD("i8259", WRITELINE(m20_state, pic_irq_line_w), VCC, NULL) |
| 959 | 954 | |
| 960 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 955 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 956 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(m20_state, kbd_put)) |
| 961 | 957 | |
| 962 | 958 | MCFG_SOFTWARE_LIST_ADD("flop_list","m20") |
| 963 | 959 | MACHINE_CONFIG_END |
trunk/src/mess/drivers/ms9540.c
| r29500 | r29501 | |
| 77 | 77 | m_term_data = data; |
| 78 | 78 | } |
| 79 | 79 | |
| 80 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 81 | | { |
| 82 | | DEVCB_DRIVER_MEMBER(ms9540_state, kbd_put) |
| 83 | | }; |
| 84 | | |
| 85 | 80 | static MACHINE_CONFIG_START( ms9540, ms9540_state ) |
| 86 | 81 | /* basic machine hardware */ |
| 87 | 82 | MCFG_CPU_ADD("maincpu", M68000, 8000000) // unknown clock |
| 88 | 83 | MCFG_CPU_PROGRAM_MAP(ms9540_mem) |
| 89 | 84 | |
| 90 | 85 | /* video hardware */ |
| 91 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 86 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 87 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(ms9540_state, kbd_put)) |
| 88 | |
| 92 | 89 | MACHINE_CONFIG_END |
| 93 | 90 | |
| 94 | 91 | /* ROM definition */ |
trunk/src/mess/drivers/vax11.c
| r29500 | r29501 | |
| 135 | 135 | m_term_status = 0xffff; |
| 136 | 136 | } |
| 137 | 137 | |
| 138 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 139 | | { |
| 140 | | DEVCB_DRIVER_MEMBER(vax11_state, kbd_put) |
| 141 | | }; |
| 142 | | |
| 143 | 138 | static MACHINE_CONFIG_START( vax11, vax11_state ) |
| 144 | 139 | /* basic machine hardware */ |
| 145 | 140 | MCFG_CPU_ADD("maincpu",T11, XTAL_4MHz) // Need proper CPU here |
| r29500 | r29501 | |
| 147 | 142 | MCFG_CPU_PROGRAM_MAP(vax11_mem) |
| 148 | 143 | |
| 149 | 144 | /* video hardware */ |
| 150 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 145 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 146 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(vax11_state, kbd_put)) |
| 151 | 147 | |
| 152 | 148 | MCFG_RX01_ADD("rx01") |
| 153 | 149 | MACHINE_CONFIG_END |
trunk/src/mess/drivers/trs80m2.c
| r29500 | r29501 | |
| 511 | 511 | m_ctc->trg3(m_kbirq); |
| 512 | 512 | } |
| 513 | 513 | |
| 514 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 515 | | { |
| 516 | | DEVCB_DRIVER_MEMBER(trs80m2_state, kbd_w) |
| 517 | | }; |
| 518 | | |
| 519 | | |
| 520 | 514 | //------------------------------------------------- |
| 521 | 515 | // Z80DMA_INTERFACE( dma_intf ) |
| 522 | 516 | //------------------------------------------------- |
| r29500 | r29501 | |
| 842 | 836 | |
| 843 | 837 | MCFG_DEVICE_ADD(TRS80M2_KEYBOARD_TAG, TRS80M2_KEYBOARD, 0) |
| 844 | 838 | MCFG_TRS80M2_KEYBOARD_CLOCK_CALLBACK(WRITELINE(trs80m2_state, kb_clock_w)) |
| 845 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 839 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 840 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(trs80m2_state, kbd_w)) |
| 846 | 841 | |
| 847 | 842 | // internal RAM |
| 848 | 843 | MCFG_RAM_ADD(RAM_TAG) |
| r29500 | r29501 | |
| 906 | 901 | |
| 907 | 902 | MCFG_DEVICE_ADD(TRS80M2_KEYBOARD_TAG, TRS80M2_KEYBOARD, 0) |
| 908 | 903 | MCFG_TRS80M2_KEYBOARD_CLOCK_CALLBACK(WRITELINE(trs80m2_state, kb_clock_w)) |
| 909 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 904 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 905 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(trs80m2_state, kbd_w)) |
| 910 | 906 | |
| 911 | 907 | // internal RAM |
| 912 | 908 | MCFG_RAM_ADD(RAM_TAG) |
trunk/src/mess/drivers/digel804.c
| r29500 | r29501 | |
| 567 | 567 | //m_acia->receive_character(data); |
| 568 | 568 | } |
| 569 | 569 | |
| 570 | | static GENERIC_TERMINAL_INTERFACE( digel804_terminal_intf ) |
| 571 | | { |
| 572 | | DEVCB_DRIVER_MEMBER(digel804_state,digel804_serial_put) |
| 573 | | }; |
| 574 | | |
| 575 | 570 | WRITE_LINE_MEMBER( digel804_state::da_w ) |
| 576 | 571 | { |
| 577 | 572 | m_maincpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE); |
| r29500 | r29501 | |
| 588 | 583 | MCFG_ROC10937_ADD("vfd",0) // RIGHT_TO_LEFT |
| 589 | 584 | |
| 590 | 585 | /* video hardware */ |
| 591 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, digel804_terminal_intf) |
| 586 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 587 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(digel804_state, digel804_serial_put)) |
| 592 | 588 | |
| 593 | 589 | MCFG_DEFAULT_LAYOUT(layout_digel804) |
| 594 | 590 | |
trunk/src/mess/drivers/poly.c
| r29500 | r29501 | |
| 154 | 154 | m_acia->write_rxc(state); |
| 155 | 155 | } |
| 156 | 156 | |
| 157 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 158 | | { |
| 159 | | DEVCB_DRIVER_MEMBER(poly_state, kbd_put) |
| 160 | | }; |
| 161 | | |
| 162 | 157 | static MACHINE_CONFIG_START( poly, poly_state ) |
| 163 | 158 | /* basic machine hardware */ |
| 164 | 159 | MCFG_CPU_ADD("maincpu", M6809E, XTAL_12MHz / 3) // 12.0576MHz |
| r29500 | r29501 | |
| 203 | 198 | |
| 204 | 199 | MCFG_MC6854_ADD("adlc", adlc_intf) |
| 205 | 200 | |
| 206 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 201 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 202 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(poly_state, kbd_put)) |
| 207 | 203 | MACHINE_CONFIG_END |
| 208 | 204 | |
| 209 | 205 | /* ROM definition */ |
trunk/src/mess/drivers/amust.c
| r29500 | r29501 | |
| 202 | 202 | m_term_data = data; |
| 203 | 203 | } |
| 204 | 204 | |
| 205 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 206 | | { |
| 207 | | DEVCB_DRIVER_MEMBER(amust_state, kbd_put) |
| 208 | | }; |
| 209 | | |
| 210 | | |
| 211 | 205 | /* F4 Character Displayer */ |
| 212 | 206 | static const gfx_layout amust_charlayout = |
| 213 | 207 | { |
| r29500 | r29501 | |
| 311 | 305 | |
| 312 | 306 | /* Devices */ |
| 313 | 307 | MCFG_MC6845_ADD("crtc", H46505, "screen", XTAL_14_31818MHz / 8, amust_crtc) |
| 314 | | MCFG_ASCII_KEYBOARD_ADD("keybd", keyboard_intf) |
| 308 | MCFG_DEVICE_ADD("keybd", GENERIC_KEYBOARD, 0) |
| 309 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(amust_state, kbd_put)) |
| 315 | 310 | MCFG_UPD765A_ADD("fdc", false, true) |
| 316 | 311 | MCFG_FLOPPY_DRIVE_ADD("fdc:0", amust_floppies, "525dd", floppy_image_device::default_floppy_formats) |
| 317 | 312 | MCFG_FLOPPY_DRIVE_ADD("fdc:1", amust_floppies, "525dd", floppy_image_device::default_floppy_formats) |
trunk/src/mess/drivers/ravens.c
| r29500 | r29501 | |
| 260 | 260 | m_term_data = data; |
| 261 | 261 | } |
| 262 | 262 | |
| 263 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 264 | | { |
| 265 | | DEVCB_DRIVER_MEMBER(ravens_state, kbd_put) |
| 266 | | }; |
| 267 | | |
| 268 | 263 | QUICKLOAD_LOAD_MEMBER( ravens_state, ravens ) |
| 269 | 264 | { |
| 270 | 265 | address_space &space = m_maincpu->space(AS_PROGRAM); |
| r29500 | r29501 | |
| 359 | 354 | MCFG_MACHINE_RESET_OVERRIDE(ravens_state, ravens2) |
| 360 | 355 | |
| 361 | 356 | /* video hardware */ |
| 362 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 357 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 358 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(ravens_state, kbd_put)) |
| 363 | 359 | |
| 364 | 360 | /* quickload */ |
| 365 | 361 | MCFG_QUICKLOAD_ADD("quickload", ravens_state, ravens, "pgm", 1) |
trunk/src/mess/drivers/cd2650.c
| r29500 | r29501 | |
| 194 | 194 | m_term_data = data; |
| 195 | 195 | } |
| 196 | 196 | |
| 197 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 198 | | { |
| 199 | | DEVCB_DRIVER_MEMBER(cd2650_state, kbd_put) |
| 200 | | }; |
| 201 | | |
| 202 | 197 | QUICKLOAD_LOAD_MEMBER( cd2650_state, cd2650 ) |
| 203 | 198 | { |
| 204 | 199 | int i, result = IMAGE_INIT_FAIL; |
| r29500 | r29501 | |
| 296 | 291 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) |
| 297 | 292 | |
| 298 | 293 | /* Devices */ |
| 299 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 294 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 295 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(cd2650_state, kbd_put)) |
| 300 | 296 | MCFG_CASSETTE_ADD( "cassette", default_cassette_interface ) |
| 301 | 297 | MACHINE_CONFIG_END |
| 302 | 298 | |
trunk/src/mess/drivers/mx2178.c
| r29500 | r29501 | |
| 96 | 96 | m_maincpu->set_input_line(0, HOLD_LINE); |
| 97 | 97 | } |
| 98 | 98 | |
| 99 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 100 | | { |
| 101 | | DEVCB_DRIVER_MEMBER(mx2178_state, kbd_put) |
| 102 | | }; |
| 103 | | |
| 104 | 99 | static MC6845_UPDATE_ROW( update_row ) |
| 105 | 100 | { |
| 106 | 101 | mx2178_state *state = device->machine().driver_data<mx2178_state>(); |
| r29500 | r29501 | |
| 196 | 191 | |
| 197 | 192 | /// TODO: hook up acia to keyboard and memory map |
| 198 | 193 | |
| 199 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 194 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 195 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(mx2178_state, kbd_put)) |
| 200 | 196 | |
| 201 | 197 | MCFG_DEVICE_ADD("acia_clock", CLOCK, 614400) |
| 202 | 198 | MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(mx2178_state, write_acia_clock)) |
trunk/src/mess/drivers/tavernie.c
| r29500 | r29501 | |
| 316 | 316 | m_pia_ivg->cb1_w(1); |
| 317 | 317 | } |
| 318 | 318 | |
| 319 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 320 | | { |
| 321 | | DEVCB_DRIVER_MEMBER(tavernie_state, kbd_put) |
| 322 | | }; |
| 323 | | |
| 324 | 319 | WRITE_LINE_MEMBER( tavernie_state::write_acia_clock ) |
| 325 | 320 | { |
| 326 | 321 | m_acia->write_txc(state); |
| r29500 | r29501 | |
| 384 | 379 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) |
| 385 | 380 | |
| 386 | 381 | /* Devices */ |
| 387 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 382 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 383 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(tavernie_state, kbd_put)) |
| 388 | 384 | MCFG_MC6845_ADD("crtc", MC6845, "screen", 1008000, mc6845_intf) // unknown clock |
| 389 | 385 | |
| 390 | 386 | MCFG_DEVICE_ADD("pia_ivg", PIA6821, 0) |
trunk/src/mess/drivers/mcb216.c
| r29500 | r29501 | |
| 104 | 104 | m_term_data = data; |
| 105 | 105 | } |
| 106 | 106 | |
| 107 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 108 | | { |
| 109 | | DEVCB_DRIVER_MEMBER(mcb216_state, kbd_put) |
| 110 | | }; |
| 111 | | |
| 112 | 107 | MACHINE_RESET_MEMBER( mcb216_state, mcb216 ) |
| 113 | 108 | { |
| 114 | 109 | m_term_data = 0; |
| r29500 | r29501 | |
| 128 | 123 | MCFG_MACHINE_RESET_OVERRIDE(mcb216_state, mcb216) |
| 129 | 124 | |
| 130 | 125 | /* video hardware */ |
| 131 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 126 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 127 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(mcb216_state, kbd_put)) |
| 132 | 128 | MACHINE_CONFIG_END |
| 133 | 129 | |
| 134 | 130 | static MACHINE_CONFIG_START( cb308, mcb216_state ) |
| r29500 | r29501 | |
| 139 | 135 | MCFG_MACHINE_RESET_OVERRIDE(mcb216_state, cb308) |
| 140 | 136 | |
| 141 | 137 | /* video hardware */ |
| 142 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 138 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 139 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(mcb216_state, kbd_put)) |
| 143 | 140 | MACHINE_CONFIG_END |
| 144 | 141 | |
| 145 | 142 | /* ROM definition */ |
trunk/src/mess/drivers/ft68m.c
| r29500 | r29501 | |
| 93 | 93 | m_term_data = data; |
| 94 | 94 | } |
| 95 | 95 | |
| 96 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 97 | | { |
| 98 | | DEVCB_DRIVER_MEMBER(ft68m_state, kbd_put) |
| 99 | | }; |
| 100 | | |
| 101 | 96 | static MACHINE_CONFIG_START( ft68m, ft68m_state ) |
| 102 | 97 | |
| 103 | 98 | /* basic machine hardware */ |
| r29500 | r29501 | |
| 105 | 100 | MCFG_CPU_PROGRAM_MAP(ft68m_mem) |
| 106 | 101 | |
| 107 | 102 | /* video hardware */ |
| 108 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 103 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 104 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(ft68m_state, kbd_put)) |
| 109 | 105 | MACHINE_CONFIG_END |
| 110 | 106 | |
| 111 | 107 | /* ROM definition */ |
trunk/src/mess/drivers/okean240.c
| r29500 | r29501 | |
| 411 | 411 | m_term_data = data; |
| 412 | 412 | } |
| 413 | 413 | |
| 414 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 415 | | { |
| 416 | | DEVCB_DRIVER_MEMBER(okean240_state, kbd_put) |
| 417 | | }; |
| 418 | | |
| 419 | 414 | DRIVER_INIT_MEMBER(okean240_state,okean240) |
| 420 | 415 | { |
| 421 | 416 | UINT8 *RAM = memregion("maincpu")->base(); |
| r29500 | r29501 | |
| 495 | 490 | |
| 496 | 491 | MCFG_PALETTE_ADD_BLACK_AND_WHITE("palette") |
| 497 | 492 | |
| 498 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 493 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 494 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(okean240_state, kbd_put)) |
| 499 | 495 | MACHINE_CONFIG_END |
| 500 | 496 | |
| 501 | 497 | static MACHINE_CONFIG_DERIVED( okean240a, okean240t ) |
| r29500 | r29501 | |
| 503 | 499 | MCFG_CPU_IO_MAP(okean240a_io) |
| 504 | 500 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", okean240a) |
| 505 | 501 | MCFG_DEVICE_REMOVE(TERMINAL_TAG) |
| 506 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, terminal_intf) |
| 502 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 503 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(okean240_state, kbd_put)) |
| 507 | 504 | MACHINE_CONFIG_END |
| 508 | 505 | |
| 509 | 506 | static MACHINE_CONFIG_DERIVED( okean240, okean240t ) |
| r29500 | r29501 | |
| 511 | 508 | MCFG_CPU_IO_MAP(okean240_io) |
| 512 | 509 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", okean240) |
| 513 | 510 | MCFG_DEVICE_REMOVE(TERMINAL_TAG) |
| 514 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, terminal_intf) |
| 511 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 512 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(okean240_state, kbd_put)) |
| 515 | 513 | MACHINE_CONFIG_END |
| 516 | 514 | |
| 517 | 515 | /* ROM definition */ |
trunk/src/mess/drivers/abc80.c
| r29500 | r29501 | |
| 446 | 446 | timer_set(attotime::from_msec(50), TIMER_ID_FAKE_KEYBOARD_CLEAR); |
| 447 | 447 | } |
| 448 | 448 | |
| 449 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 450 | | { |
| 451 | | DEVCB_DRIVER_MEMBER(abc80_state, kbd_w) |
| 452 | | }; |
| 453 | | |
| 454 | | |
| 455 | | |
| 456 | 449 | //************************************************************************** |
| 457 | 450 | // MACHINE INITIALIZATION |
| 458 | 451 | //************************************************************************** |
| r29500 | r29501 | |
| 567 | 560 | MCFG_ABCBUS_SLOT_ADD(ABCBUS_TAG, abcbus_cards, "slow") |
| 568 | 561 | MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("slow", abc830_slow) |
| 569 | 562 | MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) |
| 570 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 563 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 564 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(abc80_state, kbd_w)) |
| 571 | 565 | |
| 572 | 566 | // internal ram |
| 573 | 567 | MCFG_RAM_ADD(RAM_TAG) |
trunk/src/mess/drivers/tsispch.c
| r29500 | r29501 | |
| 169 | 169 | i8251_device *uart = machine().device<i8251_device>("i8251a_u15"); |
| 170 | 170 | uart->receive_character(data); |
| 171 | 171 | } |
| 172 | | static GENERIC_TERMINAL_INTERFACE( tsispch_terminal_intf ) |
| 173 | | { |
| 174 | | DEVCB_DRIVER_MEMBER(tsispch_state, i8251_rxd) |
| 175 | | }; |
| 176 | 172 | |
| 177 | 173 | /***************************************************************************** |
| 178 | 174 | PIC 8259 stuff |
| r29500 | r29501 | |
| 433 | 429 | //MCFG_SOUND_ADD("dac", DAC, 0) /* TODO: correctly figure out how the DAC works; apparently it is connected to the serial output of the upd7720, which will be "fun" to connect up */ |
| 434 | 430 | //MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) |
| 435 | 431 | |
| 436 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG,tsispch_terminal_intf) |
| 432 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 433 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(tsispch_state, i8251_rxd)) |
| 437 | 434 | MACHINE_CONFIG_END |
| 438 | 435 | |
| 439 | 436 | /****************************************************************************** |
trunk/src/mess/drivers/jupiter.c
| r29500 | r29501 | |
| 205 | 205 | { FLOPPY_0, FLOPPY_1, NULL, NULL } |
| 206 | 206 | }; |
| 207 | 207 | |
| 208 | | |
| 209 | | //------------------------------------------------- |
| 210 | | // GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 211 | | //------------------------------------------------- |
| 212 | | |
| 213 | | static GENERIC_TERMINAL_INTERFACE( jupiter2_terminal_intf ) |
| 214 | | { |
| 215 | | DEVCB_NULL |
| 216 | | }; |
| 217 | | |
| 218 | | static ASCII_KEYBOARD_INTERFACE( jupiter3_keyboard_intf ) |
| 219 | | { |
| 220 | | DEVCB_DRIVER_MEMBER(jupiter3_state, kbd_put) |
| 221 | | }; |
| 222 | | |
| 223 | | |
| 224 | | |
| 225 | 208 | //************************************************************************** |
| 226 | 209 | // MACHINE INITIALIZATION |
| 227 | 210 | //************************************************************************** |
| r29500 | r29501 | |
| 264 | 247 | |
| 265 | 248 | // devices |
| 266 | 249 | MCFG_FD1771_ADD(INS1771N1_TAG, fdc_intf) |
| 267 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, jupiter2_terminal_intf) |
| 250 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 268 | 251 | |
| 269 | 252 | // internal ram |
| 270 | 253 | MCFG_RAM_ADD(RAM_TAG) |
| r29500 | r29501 | |
| 296 | 279 | |
| 297 | 280 | // devices |
| 298 | 281 | MCFG_FD1771_ADD(INS1771N1_TAG, fdc_intf) |
| 299 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, jupiter3_keyboard_intf) |
| 282 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 283 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(jupiter3_state, kbd_put)) |
| 300 | 284 | |
| 301 | 285 | // internal ram |
| 302 | 286 | MCFG_RAM_ADD(RAM_TAG) |
trunk/src/mess/drivers/microdec.c
| r29500 | r29501 | |
| 89 | 89 | m_term_data = data; |
| 90 | 90 | } |
| 91 | 91 | |
| 92 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 93 | | { |
| 94 | | DEVCB_DRIVER_MEMBER(microdec_state, kbd_put) |
| 95 | | }; |
| 96 | | |
| 97 | 92 | static SLOT_INTERFACE_START( microdec_floppies ) |
| 98 | 93 | SLOT_INTERFACE( "525hd", FLOPPY_525_HD ) |
| 99 | 94 | SLOT_INTERFACE_END |
| r29500 | r29501 | |
| 105 | 100 | MCFG_CPU_IO_MAP(microdec_io) |
| 106 | 101 | |
| 107 | 102 | /* video hardware */ |
| 108 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 103 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 104 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(microdec_state, kbd_put)) |
| 109 | 105 | |
| 110 | 106 | MCFG_UPD765A_ADD("upd765", true, true) |
| 111 | 107 | MCFG_FLOPPY_DRIVE_ADD("upd765:0", microdec_floppies, "525hd", floppy_image_device::default_floppy_formats) |
trunk/src/mess/drivers/qtsbc.c
| r29500 | r29501 | |
| 78 | 78 | m_term_data = data; |
| 79 | 79 | } |
| 80 | 80 | |
| 81 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 82 | | { |
| 83 | | DEVCB_DRIVER_MEMBER(qtsbc_state, kbd_put) |
| 84 | | }; |
| 85 | | |
| 86 | 81 | static MACHINE_CONFIG_START( qtsbc, qtsbc_state ) |
| 87 | 82 | /* basic machine hardware */ |
| 88 | 83 | MCFG_CPU_ADD("maincpu",Z80, XTAL_4MHz) // Mostek MK3880 |
| r29500 | r29501 | |
| 90 | 85 | MCFG_CPU_IO_MAP(qtsbc_io) |
| 91 | 86 | |
| 92 | 87 | /* video hardware */ |
| 93 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 88 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 89 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(qtsbc_state, kbd_put)) |
| 94 | 90 | MACHINE_CONFIG_END |
| 95 | 91 | |
| 96 | 92 | /* ROM definition */ |
trunk/src/mess/drivers/hpz80unk.c
| r29500 | r29501 | |
| 119 | 119 | m_term_data = data; |
| 120 | 120 | } |
| 121 | 121 | |
| 122 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 123 | | { |
| 124 | | DEVCB_DRIVER_MEMBER(hpz80unk_state, kbd_put) |
| 125 | | }; |
| 126 | | |
| 127 | 122 | static MACHINE_CONFIG_START( hpz80unk, hpz80unk_state ) |
| 128 | 123 | /* basic machine hardware */ |
| 129 | 124 | MCFG_CPU_ADD("maincpu",Z80, XTAL_4MHz) |
| r29500 | r29501 | |
| 131 | 126 | MCFG_CPU_IO_MAP(hpz80unk_io) |
| 132 | 127 | |
| 133 | 128 | /* video hardware */ |
| 134 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 129 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 130 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(hpz80unk_state, kbd_put)) |
| 135 | 131 | MACHINE_CONFIG_END |
| 136 | 132 | |
| 137 | 133 | /* ROM definition */ |
trunk/src/mess/drivers/ccs300.c
| r29500 | r29501 | |
| 93 | 93 | m_term_data = data; |
| 94 | 94 | } |
| 95 | 95 | |
| 96 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 97 | | { |
| 98 | | DEVCB_DRIVER_MEMBER(ccs300_state, kbd_put) |
| 99 | | }; |
| 100 | | |
| 101 | 96 | //************************************* |
| 102 | 97 | // |
| 103 | 98 | // Machine |
| r29500 | r29501 | |
| 131 | 126 | MCFG_MACHINE_RESET_OVERRIDE(ccs300_state, ccs300) |
| 132 | 127 | |
| 133 | 128 | /* video hardware */ |
| 134 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 129 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 130 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(ccs300_state, kbd_put)) |
| 135 | 131 | MACHINE_CONFIG_END |
| 136 | 132 | |
| 137 | 133 | /* ROM definition */ |
trunk/src/mess/drivers/dsb46.c
| r29500 | r29501 | |
| 99 | 99 | m_term_data = data; |
| 100 | 100 | } |
| 101 | 101 | |
| 102 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 103 | | { |
| 104 | | DEVCB_DRIVER_MEMBER(dsb46_state, kbd_put) |
| 105 | | }; |
| 106 | | |
| 107 | 102 | static MACHINE_CONFIG_START( dsb46, dsb46_state ) |
| 108 | 103 | // basic machine hardware |
| 109 | 104 | MCFG_CPU_ADD("maincpu", Z80, 4000000) |
| r29500 | r29501 | |
| 112 | 107 | MCFG_MACHINE_RESET_OVERRIDE(dsb46_state, dsb46) |
| 113 | 108 | |
| 114 | 109 | /* video hardware */ |
| 115 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 110 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 111 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(dsb46_state, kbd_put)) |
| 116 | 112 | MACHINE_CONFIG_END |
| 117 | 113 | |
| 118 | 114 | ROM_START( dsb46 ) |
trunk/src/mess/drivers/evmbug.c
| r29500 | r29501 | |
| 85 | 85 | m_term_data = data; |
| 86 | 86 | } |
| 87 | 87 | |
| 88 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 89 | | { |
| 90 | | DEVCB_DRIVER_MEMBER(evmbug_state, kbd_put) |
| 91 | | }; |
| 92 | | |
| 93 | | |
| 94 | 88 | void evmbug_state::machine_reset() |
| 95 | 89 | { |
| 96 | 90 | m_term_data = 0; |
| r29500 | r29501 | |
| 105 | 99 | MCFG_TMS99xx_ADD("maincpu", TMS9995, 12000000, evmbug_mem, evmbug_io ) |
| 106 | 100 | |
| 107 | 101 | /* video hardware */ |
| 108 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 102 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 103 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(evmbug_state, kbd_put)) |
| 109 | 104 | MACHINE_CONFIG_END |
| 110 | 105 | |
| 111 | 106 | /* ROM definition */ |
trunk/src/mess/drivers/dual68.c
| r29500 | r29501 | |
| 77 | 77 | //m_term_data = data; |
| 78 | 78 | } |
| 79 | 79 | |
| 80 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 81 | | { |
| 82 | | DEVCB_DRIVER_MEMBER(dual68_state, kbd_put) |
| 83 | | }; |
| 84 | | |
| 85 | 80 | static MACHINE_CONFIG_START( dual68, dual68_state ) |
| 86 | 81 | /* basic machine hardware */ |
| 87 | 82 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz / 2) |
| r29500 | r29501 | |
| 93 | 88 | |
| 94 | 89 | |
| 95 | 90 | /* video hardware */ |
| 96 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG,terminal_intf) |
| 91 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 92 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(dual68_state, kbd_put)) |
| 97 | 93 | MACHINE_CONFIG_END |
| 98 | 94 | |
| 99 | 95 | /* ROM definition */ |
trunk/src/mess/drivers/z9001.c
| r29500 | r29501 | |
| 226 | 226 | m_maincpu->space(AS_PROGRAM).write_byte(0x0025, data); |
| 227 | 227 | } |
| 228 | 228 | |
| 229 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 230 | | { |
| 231 | | DEVCB_DRIVER_MEMBER(z9001_state, kbd_put) |
| 232 | | }; |
| 233 | | |
| 234 | 229 | static GFXDECODE_START( z9001 ) |
| 235 | 230 | GFXDECODE_ENTRY( "chargen", 0x0000, z9001_charlayout, 0, 1 ) |
| 236 | 231 | GFXDECODE_END |
| r29500 | r29501 | |
| 263 | 258 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) |
| 264 | 259 | |
| 265 | 260 | /* Devices */ |
| 266 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 261 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 262 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(z9001_state, kbd_put)) |
| 267 | 263 | MCFG_TIMER_DRIVER_ADD_PERIODIC("z9001_timer", z9001_state, timer_callback, attotime::from_msec(10)) |
| 268 | 264 | MCFG_Z80PIO_ADD( "z80pio1", XTAL_9_8304MHz / 4, pio1_intf ) |
| 269 | 265 | MCFG_Z80PIO_ADD( "z80pio2", XTAL_9_8304MHz / 4, pio2_intf ) |
trunk/src/mess/drivers/czk80.c
| r29500 | r29501 | |
| 230 | 230 | m_term_data = data; |
| 231 | 231 | } |
| 232 | 232 | |
| 233 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 234 | | { |
| 235 | | DEVCB_DRIVER_MEMBER(czk80_state, kbd_put) |
| 236 | | }; |
| 237 | | |
| 238 | 233 | static MACHINE_CONFIG_START( czk80, czk80_state ) |
| 239 | 234 | /* basic machine hardware */ |
| 240 | 235 | MCFG_CPU_ADD("maincpu", Z80, XTAL_16MHz / 4) |
| r29500 | r29501 | |
| 243 | 238 | MCFG_CPU_CONFIG(daisy_chain) |
| 244 | 239 | MCFG_MACHINE_RESET_OVERRIDE(czk80_state, czk80) |
| 245 | 240 | |
| 246 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 241 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 242 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(czk80_state, kbd_put)) |
| 247 | 243 | MCFG_UPD765A_ADD("fdc", false, true) |
| 248 | 244 | MCFG_FLOPPY_DRIVE_ADD("fdc:0", czk80_floppies, "525dd", floppy_image_device::default_floppy_formats) |
| 249 | 245 | MCFG_Z80CTC_ADD( "z80ctc", XTAL_16MHz / 4, ctc_intf) |
trunk/src/mess/drivers/jade.c
| r29500 | r29501 | |
| 80 | 80 | m_term_data = data; |
| 81 | 81 | } |
| 82 | 82 | |
| 83 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 84 | | { |
| 85 | | DEVCB_DRIVER_MEMBER(jade_state, kbd_put) |
| 86 | | }; |
| 87 | | |
| 88 | 83 | void jade_state::machine_reset() |
| 89 | 84 | { |
| 90 | 85 | m_term_data = 0; |
| r29500 | r29501 | |
| 97 | 92 | MCFG_CPU_IO_MAP(jade_io) |
| 98 | 93 | |
| 99 | 94 | /* video hardware */ |
| 100 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 95 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 96 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(jade_state, kbd_put)) |
| 101 | 97 | |
| 102 | 98 | /* Devices */ |
| 103 | 99 | MCFG_DEVICE_ADD("uart", I8251, 0) |
trunk/src/mess/drivers/binbug.c
| r29500 | r29501 | |
| 474 | 474 | m_pio->strobe_a(1); |
| 475 | 475 | } |
| 476 | 476 | |
| 477 | | static ASCII_KEYBOARD_INTERFACE( dg680_keyboard_intf ) |
| 478 | | { |
| 479 | | DEVCB_DRIVER_MEMBER(dg680_state, kbd_put) |
| 480 | | }; |
| 481 | | |
| 482 | 477 | READ8_MEMBER( dg680_state::porta_r ) |
| 483 | 478 | { |
| 484 | 479 | UINT8 data = m_term_data; |
| r29500 | r29501 | |
| 566 | 561 | MCFG_PALETTE_ADD_MONOCHROME_AMBER("palette") |
| 567 | 562 | |
| 568 | 563 | /* Keyboard */ |
| 569 | | MCFG_ASCII_KEYBOARD_ADD("keyb", dg680_keyboard_intf) |
| 564 | MCFG_DEVICE_ADD("keyb", GENERIC_KEYBOARD, 0) |
| 565 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(dg680_state, kbd_put)) |
| 570 | 566 | |
| 571 | 567 | /* Cassette */ |
| 572 | 568 | MCFG_CASSETTE_ADD( "cassette", default_cassette_interface ) |
trunk/src/mess/drivers/pdp11.c
| r29500 | r29501 | |
| 344 | 344 | m_teletype_status |= 0x80; |
| 345 | 345 | } |
| 346 | 346 | |
| 347 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 348 | | { |
| 349 | | DEVCB_DRIVER_MEMBER(pdp11_state, kbd_put) |
| 350 | | }; |
| 351 | | |
| 352 | 347 | static MACHINE_CONFIG_START( pdp11, pdp11_state ) |
| 353 | 348 | /* basic machine hardware */ |
| 354 | 349 | MCFG_CPU_ADD("maincpu",T11, XTAL_4MHz) // Need proper CPU here |
| r29500 | r29501 | |
| 357 | 352 | |
| 358 | 353 | |
| 359 | 354 | /* video hardware */ |
| 360 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 355 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 356 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(pdp11_state, kbd_put)) |
| 361 | 357 | |
| 362 | 358 | MCFG_RX01_ADD("rx01") |
| 363 | 359 | MACHINE_CONFIG_END |
trunk/src/mess/drivers/systec.c
| r29500 | r29501 | |
| 73 | 73 | m_term_data = data; |
| 74 | 74 | } |
| 75 | 75 | |
| 76 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 77 | | { |
| 78 | | DEVCB_DRIVER_MEMBER(systec_state, kbd_put) |
| 79 | | }; |
| 80 | | |
| 81 | | |
| 82 | 76 | static ADDRESS_MAP_START(systec_mem, AS_PROGRAM, 8, systec_state) |
| 83 | 77 | ADDRESS_MAP_UNMAP_HIGH |
| 84 | 78 | AM_RANGE(0x0000, 0xffff) AM_RAM AM_REGION("maincpu", 0) |
| r29500 | r29501 | |
| 109 | 103 | |
| 110 | 104 | |
| 111 | 105 | /* video hardware */ |
| 112 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 106 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 107 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(systec_state, kbd_put)) |
| 113 | 108 | MACHINE_CONFIG_END |
| 114 | 109 | |
| 115 | 110 | |
trunk/src/mess/drivers/ts802.c
| r29500 | r29501 | |
| 223 | 223 | m_term_data = data; |
| 224 | 224 | } |
| 225 | 225 | |
| 226 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 227 | | { |
| 228 | | DEVCB_DRIVER_MEMBER(ts802_state, kbd_put) |
| 229 | | }; |
| 230 | | |
| 231 | 226 | #if 0 |
| 232 | 227 | // not correct |
| 233 | 228 | static const z80_daisy_config daisy_chain_intf[] = |
| r29500 | r29501 | |
| 261 | 256 | MCFG_MACHINE_RESET_OVERRIDE(ts802_state, ts802) |
| 262 | 257 | |
| 263 | 258 | /* Devices */ |
| 264 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 259 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 260 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(ts802_state, kbd_put)) |
| 265 | 261 | MCFG_Z80DMA_ADD("z80dma", XTAL_16MHz / 4, dma_intf) |
| 266 | 262 | MCFG_Z80DART_ADD("z80dart1", XTAL_16MHz / 4, dart0_intf ) |
| 267 | 263 | MCFG_Z80DART_ADD("z80dart2", XTAL_16MHz / 4, dart1_intf ) |
trunk/src/mess/drivers/tricep.c
| r29500 | r29501 | |
| 68 | 68 | { |
| 69 | 69 | } |
| 70 | 70 | |
| 71 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 72 | | { |
| 73 | | DEVCB_DRIVER_MEMBER(tricep_state, kbd_put) |
| 74 | | }; |
| 75 | | |
| 76 | 71 | static MACHINE_CONFIG_START( tricep, tricep_state ) |
| 77 | 72 | /* basic machine hardware */ |
| 78 | 73 | MCFG_CPU_ADD("maincpu",M68000, XTAL_8MHz) |
| r29500 | r29501 | |
| 80 | 75 | |
| 81 | 76 | |
| 82 | 77 | /* video hardware */ |
| 83 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 78 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 79 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(tricep_state, kbd_put)) |
| 84 | 80 | MACHINE_CONFIG_END |
| 85 | 81 | |
| 86 | 82 | /* ROM definition */ |
trunk/src/mess/drivers/ec65.c
| r29500 | r29501 | |
| 101 | 101 | } |
| 102 | 102 | } |
| 103 | 103 | |
| 104 | | |
| 105 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 106 | | { |
| 107 | | DEVCB_DRIVER_MEMBER(ec65_state, kbd_put) |
| 108 | | }; |
| 109 | | |
| 110 | 104 | void ec65_state::machine_reset() |
| 111 | 105 | { |
| 112 | 106 | m_via_1->write_pb0(1); |
| r29500 | r29501 | |
| 221 | 215 | MCFG_DEVICE_ADD(ACIA6551_TAG, MOS6551, 0) |
| 222 | 216 | MCFG_MOS6551_XTAL(XTAL_1_8432MHz) |
| 223 | 217 | |
| 224 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 218 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 219 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(ec65_state, kbd_put)) |
| 225 | 220 | MACHINE_CONFIG_END |
| 226 | 221 | |
| 227 | 222 | static MACHINE_CONFIG_START( ec65k, ec65k_state ) |
trunk/src/mess/drivers/cm1800.c
| r29500 | r29501 | |
| 97 | 97 | { |
| 98 | 98 | } |
| 99 | 99 | |
| 100 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 101 | | { |
| 102 | | DEVCB_DRIVER_MEMBER(cm1800_state, kbd_put) |
| 103 | | }; |
| 104 | | |
| 105 | 100 | static MACHINE_CONFIG_START( cm1800, cm1800_state ) |
| 106 | 101 | /* basic machine hardware */ |
| 107 | 102 | MCFG_CPU_ADD("maincpu",I8080, XTAL_2MHz) |
| r29500 | r29501 | |
| 110 | 105 | |
| 111 | 106 | |
| 112 | 107 | /* video hardware */ |
| 113 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 108 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 109 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(cm1800_state, kbd_put)) |
| 114 | 110 | MACHINE_CONFIG_END |
| 115 | 111 | |
| 116 | 112 | /* ROM definition */ |
trunk/src/mess/drivers/pes.c
| r29500 | r29501 | |
| 91 | 91 | m_maincpu->set_input_line(MCS51_RX_LINE, CLEAR_LINE); |
| 92 | 92 | } |
| 93 | 93 | |
| 94 | | static GENERIC_TERMINAL_INTERFACE( pes_terminal_intf ) |
| 95 | | { |
| 96 | | DEVCB_DRIVER_MEMBER(pes_state,pes_kbd_input) |
| 97 | | }; |
| 98 | | |
| 99 | 94 | /* Helper Functions */ |
| 100 | 95 | READ8_MEMBER( pes_state::data_to_i8031) |
| 101 | 96 | { |
| r29500 | r29501 | |
| 266 | 261 | MCFG_SOUND_ADD("tms5220", TMS5220C, 720000) /* 720Khz clock, 10khz output */ |
| 267 | 262 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) |
| 268 | 263 | |
| 269 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG,pes_terminal_intf) |
| 264 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 265 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(pes_state, pes_kbd_input)) |
| 270 | 266 | MACHINE_CONFIG_END |
| 271 | 267 | |
| 272 | 268 | /****************************************************************************** |
trunk/src/mess/drivers/rvoice.c
| r29500 | r29501 | |
| 356 | 356 | { |
| 357 | 357 | } |
| 358 | 358 | |
| 359 | | static GENERIC_TERMINAL_INTERFACE( dectalk_terminal_intf ) |
| 360 | | { |
| 361 | | DEVCB_DRIVER_MEMBER(rvoice_state,null_kbd_put) |
| 362 | | }; |
| 363 | | |
| 364 | 359 | static MACHINE_CONFIG_START( rvoicepc, rvoice_state ) |
| 365 | 360 | /* basic machine hardware */ |
| 366 | 361 | MCFG_CPU_ADD("maincpu", HD63701, XTAL_7_3728MHz) |
| r29500 | r29501 | |
| 379 | 374 | //MCFG_DEFAULT_LAYOUT(layout_dectalk) // hack to avoid screenless system crash |
| 380 | 375 | |
| 381 | 376 | /* sound hardware */ |
| 382 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG,dectalk_terminal_intf) |
| 377 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 378 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(rvoice_state, null_kbd_put)) |
| 383 | 379 | |
| 384 | 380 | MACHINE_CONFIG_END |
| 385 | 381 | |
trunk/src/mess/drivers/bigbord2.c
| r29500 | r29501 | |
| 217 | 217 | } |
| 218 | 218 | } |
| 219 | 219 | |
| 220 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 221 | | { |
| 222 | | DEVCB_DRIVER_MEMBER(bigbord2_state, bigbord2_kbd_put) |
| 223 | | }; |
| 224 | | |
| 225 | | |
| 226 | | |
| 227 | 220 | /* Z80 DMA */ |
| 228 | 221 | |
| 229 | 222 | |
| r29500 | r29501 | |
| 653 | 646 | MCFG_FLOPPY_DRIVE_ADD("fdc:0", bigbord2_floppies, "525dd", floppy_image_device::default_floppy_formats) |
| 654 | 647 | MCFG_FLOPPY_DRIVE_ADD("fdc:1", bigbord2_floppies, "525dd", floppy_image_device::default_floppy_formats) |
| 655 | 648 | MCFG_MC6845_ADD("crtc", MC6845, SCREEN_TAG, XTAL_16MHz / 8, bigbord2_crtc) |
| 656 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 649 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 650 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(bigbord2_state, bigbord2_kbd_put)) |
| 657 | 651 | |
| 658 | 652 | /* sound hardware */ |
| 659 | 653 | MCFG_SPEAKER_STANDARD_MONO("mono") |
trunk/src/mess/drivers/codata.c
| r29500 | r29501 | |
| 75 | 75 | m_term_data = data; |
| 76 | 76 | } |
| 77 | 77 | |
| 78 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 79 | | { |
| 80 | | DEVCB_DRIVER_MEMBER(codata_state, kbd_put) |
| 81 | | }; |
| 82 | | |
| 83 | 78 | void codata_state::machine_reset() |
| 84 | 79 | { |
| 85 | 80 | UINT8* RAM = memregion("user1")->base(); |
| r29500 | r29501 | |
| 94 | 89 | MCFG_CPU_PROGRAM_MAP(codata_mem) |
| 95 | 90 | |
| 96 | 91 | /* video hardware */ |
| 97 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 92 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 93 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(codata_state, kbd_put)) |
| 98 | 94 | MACHINE_CONFIG_END |
| 99 | 95 | |
| 100 | 96 | /* ROM definition */ |
trunk/src/mess/drivers/mits680b.c
| r29500 | r29501 | |
| 92 | 92 | m_term_data = data; |
| 93 | 93 | } |
| 94 | 94 | |
| 95 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 96 | | { |
| 97 | | DEVCB_DRIVER_MEMBER(mits680b_state, kbd_put) |
| 98 | | }; |
| 99 | | |
| 100 | 95 | static MACHINE_CONFIG_START( mits680b, mits680b_state ) |
| 101 | 96 | /* basic machine hardware */ |
| 102 | 97 | MCFG_CPU_ADD("maincpu",M6800, XTAL_1MHz / 2) |
| 103 | 98 | MCFG_CPU_PROGRAM_MAP(mits680b_mem) |
| 104 | 99 | |
| 105 | 100 | /* video hardware */ |
| 106 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 101 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 102 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(mits680b_state, kbd_put)) |
| 107 | 103 | |
| 108 | 104 | /* acia */ |
| 109 | 105 | //MCFG_ACIA6551_ADD("acia") |
trunk/src/mess/drivers/zrt80.c
| r29500 | r29501 | |
| 282 | 282 | m_maincpu->set_input_line(INPUT_LINE_NMI, ASSERT_LINE); |
| 283 | 283 | } |
| 284 | 284 | |
| 285 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 286 | | { |
| 287 | | DEVCB_DRIVER_MEMBER(zrt80_state, kbd_put) |
| 288 | | }; |
| 289 | | |
| 290 | | |
| 291 | 285 | /* F4 Character Displayer */ |
| 292 | 286 | static const gfx_layout zrt80_charlayout = |
| 293 | 287 | { |
| r29500 | r29501 | |
| 330 | 324 | /* Devices */ |
| 331 | 325 | MCFG_MC6845_ADD("crtc", MC6845, "screen", XTAL_20MHz / 8, zrt80_crtc6845_interface) |
| 332 | 326 | MCFG_INS8250_ADD( "ins8250", zrt80_com_interface, 2457600 ) |
| 333 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 327 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 328 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(zrt80_state, kbd_put)) |
| 334 | 329 | MACHINE_CONFIG_END |
| 335 | 330 | |
| 336 | 331 | /* ROM definition */ |
trunk/src/mess/drivers/swtpc.c
| r29500 | r29501 | |
| 109 | 109 | m_term_data = data; |
| 110 | 110 | } |
| 111 | 111 | |
| 112 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 113 | | { |
| 114 | | DEVCB_DRIVER_MEMBER(swtpc_state, kbd_put) |
| 115 | | }; |
| 116 | | |
| 117 | 112 | static MACHINE_CONFIG_START( swtpc, swtpc_state ) |
| 118 | 113 | /* basic machine hardware */ |
| 119 | 114 | MCFG_CPU_ADD("maincpu", M6800, XTAL_1MHz) |
| r29500 | r29501 | |
| 121 | 116 | |
| 122 | 117 | |
| 123 | 118 | /* video hardware */ |
| 124 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 119 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 120 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(swtpc_state, kbd_put)) |
| 125 | 121 | MACHINE_CONFIG_END |
| 126 | 122 | |
| 127 | 123 | /* ROM definition */ |
trunk/src/mess/drivers/dim68k.c
| r29500 | r29501 | |
| 318 | 318 | m_term_data = data; |
| 319 | 319 | } |
| 320 | 320 | |
| 321 | | static ASCII_KEYBOARD_INTERFACE( kb_intf ) |
| 322 | | { |
| 323 | | DEVCB_DRIVER_MEMBER(dim68k_state, kbd_put) |
| 324 | | }; |
| 325 | | |
| 326 | 321 | static MACHINE_CONFIG_START( dim68k, dim68k_state ) |
| 327 | 322 | /* basic machine hardware */ |
| 328 | 323 | MCFG_CPU_ADD("maincpu", M68000, XTAL_10MHz) |
| r29500 | r29501 | |
| 348 | 343 | MCFG_FLOPPY_DRIVE_ADD("fdc:0", dim68k_floppies, "525hd", floppy_image_device::default_floppy_formats) |
| 349 | 344 | MCFG_FLOPPY_DRIVE_ADD("fdc:1", dim68k_floppies, "525hd", floppy_image_device::default_floppy_formats) |
| 350 | 345 | MCFG_MC6845_ADD("crtc", MC6845, "screen", 1790000, dim68k_crtc) |
| 351 | | MCFG_ASCII_KEYBOARD_ADD("keyboard", kb_intf) |
| 346 | MCFG_DEVICE_ADD("keyboard", GENERIC_KEYBOARD, 0) |
| 347 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(dim68k_state, kbd_put)) |
| 352 | 348 | MACHINE_CONFIG_END |
| 353 | 349 | |
| 354 | 350 | /* |
trunk/src/mess/drivers/dm7000.c
| r29500 | r29501 | |
| 297 | 297 | m_scc0_lsr = 1; |
| 298 | 298 | } |
| 299 | 299 | |
| 300 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 301 | | { |
| 302 | | DEVCB_DRIVER_MEMBER(dm7000_state, kbd_put) |
| 303 | | }; |
| 304 | | |
| 305 | 300 | static const powerpc_config ppc405_config = |
| 306 | 301 | { |
| 307 | 302 | 252000000 |
| r29500 | r29501 | |
| 323 | 318 | MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1) |
| 324 | 319 | MCFG_SCREEN_UPDATE_DRIVER(dm7000_state, screen_update_dm7000) |
| 325 | 320 | |
| 326 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 321 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 322 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(dm7000_state, kbd_put)) |
| 327 | 323 | |
| 328 | 324 | MACHINE_CONFIG_END |
| 329 | 325 | |
trunk/src/mess/drivers/imds.c
| r29500 | r29501 | |
| 74 | 74 | m_term_data = data; |
| 75 | 75 | } |
| 76 | 76 | |
| 77 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 78 | | { |
| 79 | | DEVCB_DRIVER_MEMBER(imds_state, kbd_put) |
| 80 | | }; |
| 81 | | |
| 82 | 77 | void imds_state::machine_reset() |
| 83 | 78 | { |
| 84 | 79 | m_term_data = 0; |
| r29500 | r29501 | |
| 102 | 97 | // MCFG_INS8250_ADD( "ins8250", imds_com_interface ) |
| 103 | 98 | |
| 104 | 99 | /* video hardware */ |
| 105 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 100 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 101 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(imds_state, kbd_put)) |
| 106 | 102 | MACHINE_CONFIG_END |
| 107 | 103 | |
| 108 | 104 | /* ROM definition */ |
trunk/src/mess/drivers/llc.c
| r29500 | r29501 | |
| 145 | 145 | m_term_status = 0xff; |
| 146 | 146 | } |
| 147 | 147 | |
| 148 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 149 | | { |
| 150 | | DEVCB_DRIVER_MEMBER(llc_state, kbd_put) |
| 151 | | }; |
| 152 | | |
| 153 | 148 | static const z80_daisy_config llc1_daisy_chain[] = |
| 154 | 149 | { |
| 155 | 150 | { "z80ctc" }, |
| r29500 | r29501 | |
| 225 | 220 | MCFG_Z80PIO_ADD( "z80pio1", XTAL_3MHz, llc1_z80pio1_intf ) |
| 226 | 221 | MCFG_Z80PIO_ADD( "z80pio2", XTAL_3MHz, llc1_z80pio2_intf ) |
| 227 | 222 | MCFG_Z80CTC_ADD( "z80ctc", XTAL_3MHz, llc1_ctc_intf ) |
| 228 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 223 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 224 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(llc_state, kbd_put)) |
| 229 | 225 | MACHINE_CONFIG_END |
| 230 | 226 | |
| 231 | 227 | static MACHINE_CONFIG_START( llc2, llc_state ) |
trunk/src/mess/drivers/ipc.c
| r29500 | r29501 | |
| 107 | 107 | m_term_data = data; |
| 108 | 108 | } |
| 109 | 109 | |
| 110 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 111 | | { |
| 112 | | DEVCB_DRIVER_MEMBER(ipc_state, kbd_put) |
| 113 | | }; |
| 114 | | |
| 115 | 110 | static MACHINE_CONFIG_START( ipc, ipc_state ) |
| 116 | 111 | /* basic machine hardware */ |
| 117 | 112 | MCFG_CPU_ADD("maincpu",I8085A, XTAL_19_6608MHz / 4) |
| r29500 | r29501 | |
| 119 | 114 | MCFG_CPU_IO_MAP(ipc_io) |
| 120 | 115 | |
| 121 | 116 | /* video hardware */ |
| 122 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 117 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 118 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(ipc_state, kbd_put)) |
| 123 | 119 | MACHINE_CONFIG_END |
| 124 | 120 | |
| 125 | 121 | /* ROM definition */ |
trunk/src/mess/drivers/cxhumax.c
| r29500 | r29501 | |
| 1048 | 1048 | memset(m_gxa_cmd_regs,0,sizeof(m_gxa_cmd_regs)); |
| 1049 | 1049 | } |
| 1050 | 1050 | |
| 1051 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 1052 | | { |
| 1053 | | DEVCB_NULL |
| 1054 | | }; |
| 1055 | | |
| 1056 | 1051 | static MACHINE_CONFIG_START( cxhumax, cxhumax_state ) |
| 1057 | 1052 | MCFG_CPU_ADD("maincpu", ARM920T, 180000000) // CX24175 (RevC up?) |
| 1058 | 1053 | MCFG_CPU_PROGRAM_MAP(cxhumax_map) |
| r29500 | r29501 | |
| 1072 | 1067 | |
| 1073 | 1068 | MCFG_PALETTE_ADD_BLACK_AND_WHITE("palette") |
| 1074 | 1069 | |
| 1075 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 1076 | | |
| 1070 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 1077 | 1071 | MACHINE_CONFIG_END |
| 1078 | 1072 | |
| 1079 | 1073 | ROM_START( hxhdci2k ) |
trunk/src/mess/drivers/basic52.c
| r29500 | r29501 | |
| 112 | 112 | m_term_data = data; |
| 113 | 113 | } |
| 114 | 114 | |
| 115 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 116 | | { |
| 117 | | DEVCB_DRIVER_MEMBER(basic52_state, kbd_put) |
| 118 | | }; |
| 119 | | |
| 120 | 115 | static I8255_INTERFACE( ppi8255_intf ) |
| 121 | 116 | { |
| 122 | 117 | DEVCB_NULL, /* Port A read */ |
| r29500 | r29501 | |
| 135 | 130 | |
| 136 | 131 | |
| 137 | 132 | /* video hardware */ |
| 138 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 133 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 134 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(basic52_state, kbd_put)) |
| 139 | 135 | |
| 140 | 136 | MCFG_I8255_ADD("ppi8255", ppi8255_intf ) |
| 141 | 137 | MACHINE_CONFIG_END |
trunk/src/mess/drivers/v6809.c
| r29500 | r29501 | |
| 254 | 254 | m_pia0->cb1_w(1); |
| 255 | 255 | } |
| 256 | 256 | |
| 257 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 258 | | { |
| 259 | | DEVCB_DRIVER_MEMBER(v6809_state, kbd_put) |
| 260 | | }; |
| 261 | | |
| 262 | 257 | WRITE_LINE_MEMBER( v6809_state::write_acia_clock ) |
| 263 | 258 | { |
| 264 | 259 | m_acia0->write_txc(state); |
| r29500 | r29501 | |
| 359 | 354 | |
| 360 | 355 | /* Devices */ |
| 361 | 356 | MCFG_MC6845_ADD("crtc", SY6545_1, "screen", XTAL_16MHz / 8, v6809_crtc) |
| 362 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 357 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 358 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(v6809_state, kbd_put)) |
| 363 | 359 | |
| 364 | 360 | // port A = drive select and 2 control lines ; port B = keyboard |
| 365 | 361 | // CB2 connects to the interrupt pin of the RTC (the rtc code doesn't support it) |
trunk/src/mess/drivers/vector4.c
| r29500 | r29501 | |
| 84 | 84 | m_term_data = data; |
| 85 | 85 | } |
| 86 | 86 | |
| 87 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 88 | | { |
| 89 | | DEVCB_DRIVER_MEMBER(vector4_state, kbd_put) |
| 90 | | }; |
| 91 | | |
| 92 | | |
| 93 | 87 | static MACHINE_CONFIG_START( vector4, vector4_state ) |
| 94 | 88 | /* basic machine hardware */ |
| 95 | 89 | MCFG_CPU_ADD("maincpu",Z80, XTAL_4MHz) |
| r29500 | r29501 | |
| 98 | 92 | |
| 99 | 93 | |
| 100 | 94 | /* video hardware */ |
| 101 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 95 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 96 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(vector4_state, kbd_put)) |
| 102 | 97 | MACHINE_CONFIG_END |
| 103 | 98 | |
| 104 | 99 | /* ROM definition */ |
trunk/src/mess/drivers/besta.c
| r29500 | r29501 | |
| 128 | 128 | m_maincpu->reset(); |
| 129 | 129 | } |
| 130 | 130 | |
| 131 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 132 | | { |
| 133 | | DEVCB_DRIVER_MEMBER(besta_state, kbd_put) |
| 134 | | }; |
| 135 | | |
| 136 | | |
| 137 | 131 | /* CP31 processor board */ |
| 138 | 132 | static MACHINE_CONFIG_START( besta, besta_state ) |
| 139 | 133 | /* basic machine hardware */ |
| r29500 | r29501 | |
| 143 | 137 | #if 0 |
| 144 | 138 | MCFG_DEVICE_ADD("mpcc", MPCC68561, XTAL_25MHz); // confirm internal oscillator frequency |
| 145 | 139 | #endif |
| 146 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 140 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 141 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(besta_state, kbd_put)) |
| 147 | 142 | MACHINE_CONFIG_END |
| 148 | 143 | |
| 149 | 144 | /* ROM definition */ |
trunk/src/mess/drivers/ptcsol.c
| r29500 | r29501 | |
| 739 | 739 | } |
| 740 | 740 | } |
| 741 | 741 | |
| 742 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 743 | | { |
| 744 | | DEVCB_DRIVER_MEMBER(sol20_state, kbd_put) |
| 745 | | }; |
| 746 | | |
| 747 | 742 | static MACHINE_CONFIG_START( sol20, sol20_state ) |
| 748 | 743 | /* basic machine hardware */ |
| 749 | 744 | MCFG_CPU_ADD("maincpu",I8080, XTAL_14_31818MHz/7) |
| r29500 | r29501 | |
| 774 | 769 | MCFG_CASSETTE_ADD( "cassette2", sol20_cassette_interface ) |
| 775 | 770 | MCFG_AY31015_ADD( "uart", sol20_ay31015_config ) |
| 776 | 771 | MCFG_AY31015_ADD( "uart_s", sol20_ay31015_config ) |
| 777 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 772 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 773 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(sol20_state, kbd_put)) |
| 778 | 774 | MACHINE_CONFIG_END |
| 779 | 775 | |
| 780 | 776 | /* ROM definition */ |
trunk/src/mess/drivers/a6809.c
| r29500 | r29501 | |
| 233 | 233 | m_via->write_cb1(0); |
| 234 | 234 | } |
| 235 | 235 | |
| 236 | | static ASCII_KEYBOARD_INTERFACE( kb_intf ) |
| 237 | | { |
| 238 | | DEVCB_DRIVER_MEMBER(a6809_state, kbd_put) |
| 239 | | }; |
| 240 | | |
| 241 | 236 | static MACHINE_CONFIG_START( a6809, a6809_state ) |
| 242 | 237 | /* basic machine hardware */ |
| 243 | 238 | MCFG_CPU_ADD("maincpu",M6809E, XTAL_4MHz) |
| r29500 | r29501 | |
| 270 | 265 | MCFG_SAA5050_D_CALLBACK(READ8(a6809_state, videoram_r)) |
| 271 | 266 | MCFG_SAA5050_SCREEN_SIZE(40, 25, 40) |
| 272 | 267 | |
| 273 | | MCFG_ASCII_KEYBOARD_ADD("keyboard", kb_intf) |
| 268 | MCFG_DEVICE_ADD("keyboard", GENERIC_KEYBOARD, 0) |
| 269 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(a6809_state, kbd_put)) |
| 274 | 270 | MCFG_CASSETTE_ADD( "cassette", default_cassette_interface ) |
| 275 | 271 | MCFG_TIMER_DRIVER_ADD_PERIODIC("a6809_c", a6809_state, a6809_c, attotime::from_hz(4800)) |
| 276 | 272 | MCFG_TIMER_DRIVER_ADD_PERIODIC("a6809_p", a6809_state, a6809_p, attotime::from_hz(40000)) |
trunk/src/mess/drivers/seattle.c
| r29500 | r29501 | |
| 104 | 104 | m_key_available = 1; |
| 105 | 105 | } |
| 106 | 106 | |
| 107 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 108 | | { |
| 109 | | DEVCB_DRIVER_MEMBER(seattle_comp_state, kbd_put) |
| 110 | | }; |
| 111 | | |
| 112 | 107 | static MACHINE_CONFIG_START( seattle, seattle_comp_state ) |
| 113 | 108 | /* basic machine hardware */ |
| 114 | 109 | MCFG_CPU_ADD("maincpu", I8086, 4000000) // no idea |
| r29500 | r29501 | |
| 116 | 111 | MCFG_CPU_IO_MAP(seattle_io) |
| 117 | 112 | |
| 118 | 113 | /* video hardware */ |
| 119 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 114 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 115 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(seattle_comp_state, kbd_put)) |
| 120 | 116 | MACHINE_CONFIG_END |
| 121 | 117 | |
| 122 | 118 | /* ROM definition */ |
trunk/src/mess/drivers/p8k.c
| r29500 | r29501 | |
| 220 | 220 | m_maincpu->set_state_int(Z80_PC, 0x078A); |
| 221 | 221 | } |
| 222 | 222 | |
| 223 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 224 | | { |
| 225 | | DEVCB_DRIVER_MEMBER(p8k_state, kbd_put) |
| 226 | | }; |
| 227 | | |
| 228 | | |
| 229 | 223 | /*************************************************************************** |
| 230 | 224 | |
| 231 | 225 | P8000 8bit Peripherals |
| r29500 | r29501 | |
| 483 | 477 | mem.write_byte(0x43a0, 1); |
| 484 | 478 | } |
| 485 | 479 | |
| 486 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf_16 ) |
| 487 | | { |
| 488 | | DEVCB_DRIVER_MEMBER(p8k_state, kbd_put_16) |
| 489 | | }; |
| 490 | | |
| 491 | | |
| 492 | | |
| 493 | | |
| 494 | 480 | MACHINE_RESET_MEMBER(p8k_state,p8k_16) |
| 495 | 481 | { |
| 496 | 482 | } |
| r29500 | r29501 | |
| 814 | 800 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5) |
| 815 | 801 | |
| 816 | 802 | /* video hardware */ |
| 817 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 803 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 804 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(p8k_state, kbd_put)) |
| 818 | 805 | MACHINE_CONFIG_END |
| 819 | 806 | |
| 820 | 807 | static MACHINE_CONFIG_START( p8k_16, p8k_state ) |
| r29500 | r29501 | |
| 841 | 828 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5) |
| 842 | 829 | |
| 843 | 830 | /* video hardware */ |
| 844 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf_16) |
| 831 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 832 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(p8k_state, kbd_put_16)) |
| 845 | 833 | MACHINE_CONFIG_END |
| 846 | 834 | |
| 847 | 835 | /* ROM definition */ |
trunk/src/mess/drivers/zsbc3.c
| r29500 | r29501 | |
| 100 | 100 | m_term_data = data; |
| 101 | 101 | } |
| 102 | 102 | |
| 103 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 104 | | { |
| 105 | | DEVCB_DRIVER_MEMBER(zsbc3_state, kbd_put) |
| 106 | | }; |
| 107 | 103 | |
| 108 | | |
| 109 | 104 | static MACHINE_CONFIG_START( zsbc3, zsbc3_state ) |
| 110 | 105 | /* basic machine hardware */ |
| 111 | 106 | MCFG_CPU_ADD("maincpu",Z80, XTAL_16MHz /4) |
| r29500 | r29501 | |
| 113 | 108 | MCFG_CPU_IO_MAP(zsbc3_io) |
| 114 | 109 | |
| 115 | 110 | /* video hardware */ |
| 116 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 111 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 112 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(zsbc3_state, kbd_put)) |
| 117 | 113 | MACHINE_CONFIG_END |
| 118 | 114 | |
| 119 | 115 | /* ROM definition */ |
trunk/src/mess/drivers/chaos.c
| r29500 | r29501 | |
| 130 | 130 | m_term_data = data; |
| 131 | 131 | } |
| 132 | 132 | |
| 133 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 134 | | { |
| 135 | | DEVCB_DRIVER_MEMBER(chaos_state, kbd_put) |
| 136 | | }; |
| 137 | | |
| 138 | 133 | void chaos_state::machine_reset() |
| 139 | 134 | { |
| 140 | 135 | // copy the roms into ram |
| r29500 | r29501 | |
| 150 | 145 | MCFG_CPU_IO_MAP(chaos_io) |
| 151 | 146 | |
| 152 | 147 | /* video hardware */ |
| 153 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 148 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 149 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(chaos_state, kbd_put)) |
| 154 | 150 | MACHINE_CONFIG_END |
| 155 | 151 | |
| 156 | 152 | /* ROM definition */ |
trunk/src/mess/drivers/rm380z.c
| r29500 | r29501 | |
| 109 | 109 | AM_RANGE(0xc5, 0xff) AM_READWRITE(rm380z_porthi_r, rm380z_porthi_w) |
| 110 | 110 | ADDRESS_MAP_END |
| 111 | 111 | |
| 112 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 113 | | { |
| 114 | | DEVCB_DRIVER_MEMBER(rm380z_state, keyboard_put) |
| 115 | | }; |
| 116 | | |
| 117 | 112 | INPUT_PORTS_START( rm380z ) |
| 118 | 113 | // PORT_START("additional_chars") |
| 119 | 114 | // PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Escape") PORT_CODE(KEYCODE_ESC) PORT_CODE(KEYCODE_ESC) |
| r29500 | r29501 | |
| 170 | 165 | MCFG_LEGACY_FLOPPY_2_DRIVES_ADD(rm380z_floppy_interface) |
| 171 | 166 | |
| 172 | 167 | /* keyboard */ |
| 173 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 168 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 169 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(rm380z_state, keyboard_put)) |
| 174 | 170 | MACHINE_CONFIG_END |
| 175 | 171 | |
| 176 | 172 | /* ROM definition */ |
trunk/src/mess/drivers/mod8.c
| r29500 | r29501 | |
| 139 | 139 | m_maincpu->set_input_line(0, HOLD_LINE); |
| 140 | 140 | } |
| 141 | 141 | |
| 142 | | static GENERIC_TELEPRINTER_INTERFACE( teleprinter_intf ) |
| 143 | | { |
| 144 | | DEVCB_DRIVER_MEMBER(mod8_state, kbd_put) |
| 145 | | }; |
| 146 | | |
| 147 | 142 | static MACHINE_CONFIG_START( mod8, mod8_state ) |
| 148 | 143 | /* basic machine hardware */ |
| 149 | 144 | MCFG_CPU_ADD("maincpu",I8008, 800000) |
| r29500 | r29501 | |
| 151 | 146 | MCFG_CPU_IO_MAP(mod8_io) |
| 152 | 147 | |
| 153 | 148 | /* video hardware */ |
| 154 | | MCFG_GENERIC_TELEPRINTER_ADD(TELEPRINTER_TAG, teleprinter_intf) |
| 149 | MCFG_DEVICE_ADD(TELEPRINTER_TAG, TELEPRINTER, 0) |
| 150 | MCFG_GENERIC_TELEPRINTER_KEYBOARD_CB(WRITE8(mod8_state, kbd_put)) |
| 155 | 151 | MACHINE_CONFIG_END |
| 156 | 152 | |
| 157 | 153 | |
trunk/src/mess/drivers/mice.c
| r29500 | r29501 | |
| 81 | 81 | m_term_data = data; |
| 82 | 82 | } |
| 83 | 83 | |
| 84 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 85 | | { |
| 86 | | DEVCB_DRIVER_MEMBER(mice_state, kbd_put) |
| 87 | | }; |
| 88 | | |
| 89 | | |
| 90 | 84 | static MACHINE_CONFIG_START( mice, mice_state ) |
| 91 | 85 | /* basic machine hardware */ |
| 92 | 86 | MCFG_CPU_ADD("maincpu", I8085A, XTAL_6_144MHz) |
| r29500 | r29501 | |
| 94 | 88 | MCFG_CPU_IO_MAP(mice_io) |
| 95 | 89 | |
| 96 | 90 | /* video hardware */ |
| 97 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 91 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 92 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(mice_state, kbd_put)) |
| 98 | 93 | MACHINE_CONFIG_END |
| 99 | 94 | |
| 100 | 95 | /* ROM definition */ |
trunk/src/mess/drivers/ccs2810.c
| r29500 | r29501 | |
| 174 | 174 | m_term_data = data; |
| 175 | 175 | } |
| 176 | 176 | |
| 177 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 178 | | { |
| 179 | | DEVCB_DRIVER_MEMBER(ccs_state, kbd_put) |
| 180 | | }; |
| 181 | | |
| 182 | 177 | #if 0 |
| 183 | 178 | static const ins8250_interface com_intf = |
| 184 | 179 | { |
| r29500 | r29501 | |
| 340 | 335 | MCFG_MACHINE_RESET_OVERRIDE(ccs_state, ccs) |
| 341 | 336 | |
| 342 | 337 | /* video hardware */ |
| 343 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 338 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 339 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(ccs_state, kbd_put)) |
| 344 | 340 | |
| 345 | 341 | /* Devices */ |
| 346 | 342 | //MCFG_INS8250_ADD( "ins8250", com_intf, XTAL_1_8432MHz ) |
| r29500 | r29501 | |
| 354 | 350 | MCFG_MACHINE_RESET_OVERRIDE(ccs_state, ccs) |
| 355 | 351 | |
| 356 | 352 | /* video hardware */ |
| 357 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 353 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 354 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(ccs_state, kbd_put)) |
| 358 | 355 | |
| 359 | 356 | /* Devices */ |
| 360 | 357 | MCFG_MB8877x_ADD("fdc", XTAL_16MHz / 8) // UB1793 or MB8877 |
trunk/src/mess/drivers/sapi1.c
| r29500 | r29501 | |
| 491 | 491 | m_term_data = data; |
| 492 | 492 | } |
| 493 | 493 | |
| 494 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 495 | | { |
| 496 | | DEVCB_DRIVER_MEMBER(sapi1_state, kbd_put) |
| 497 | | }; |
| 498 | | |
| 499 | | |
| 500 | | |
| 501 | 494 | /************************************** |
| 502 | 495 | |
| 503 | 496 | Machine |
| r29500 | r29501 | |
| 584 | 577 | /* basic machine hardware */ |
| 585 | 578 | MCFG_CPU_MODIFY("maincpu") |
| 586 | 579 | MCFG_CPU_PROGRAM_MAP(sapi2_mem) |
| 587 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, terminal_intf) |
| 580 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 581 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(sapi1_state, kbd_put)) |
| 588 | 582 | MACHINE_CONFIG_END |
| 589 | 583 | |
| 590 | 584 | static MACHINE_CONFIG_DERIVED( sapi3, sapi2 ) |
| r29500 | r29501 | |
| 618 | 612 | MCFG_MACHINE_RESET_OVERRIDE(sapi1_state, sapizps3 ) |
| 619 | 613 | |
| 620 | 614 | /* video hardware */ |
| 621 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 615 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 616 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(sapi1_state, kbd_put)) |
| 622 | 617 | |
| 623 | 618 | /* internal ram */ |
| 624 | 619 | MCFG_RAM_ADD(RAM_TAG) |
trunk/src/mess/drivers/sbc6510.c
| r29500 | r29501 | |
| 216 | 216 | m_terminal->write(space, 0, data); |
| 217 | 217 | } |
| 218 | 218 | |
| 219 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 220 | | { |
| 221 | | DEVCB_NULL |
| 222 | | }; |
| 223 | | |
| 224 | | |
| 225 | 219 | void sbc6510_state::machine_start() |
| 226 | 220 | { |
| 227 | 221 | char kbdrow[6]; |
| r29500 | r29501 | |
| 314 | 308 | MCFG_GFXDECODE_ADD("gfxdecode", TERMINAL_TAG":palette", sbc6510) |
| 315 | 309 | |
| 316 | 310 | /* video hardware */ |
| 317 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 311 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 318 | 312 | |
| 319 | 313 | /* sound hardware */ |
| 320 | 314 | MCFG_SPEAKER_STANDARD_MONO("mono") |
trunk/src/mess/drivers/zexall.c
| r29500 | r29501 | |
| 162 | 162 | Machine Drivers |
| 163 | 163 | ******************************************************************************/ |
| 164 | 164 | |
| 165 | | static GENERIC_TERMINAL_INTERFACE( zexall_terminal_intf ) |
| 166 | | { |
| 167 | | DEVCB_NULL |
| 168 | | }; |
| 169 | | |
| 170 | 165 | static MACHINE_CONFIG_START( zexall, zexall_state ) |
| 171 | 166 | /* basic machine hardware */ |
| 172 | 167 | MCFG_CPU_ADD("maincpu", Z80, XTAL_3_579545MHz*10) |
| r29500 | r29501 | |
| 175 | 170 | MCFG_QUANTUM_TIME(attotime::from_hz(60)) |
| 176 | 171 | |
| 177 | 172 | /* video hardware */ |
| 178 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, zexall_terminal_intf) |
| 173 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 179 | 174 | MACHINE_CONFIG_END |
| 180 | 175 | |
| 181 | 176 | |
trunk/src/mess/drivers/mccpm.c
| r29500 | r29501 | |
| 124 | 124 | m_term_data = data; |
| 125 | 125 | } |
| 126 | 126 | |
| 127 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 128 | | { |
| 129 | | DEVCB_DRIVER_MEMBER(mccpm_state, kbd_put) |
| 130 | | }; |
| 131 | | |
| 132 | 127 | static MACHINE_CONFIG_START( mccpm, mccpm_state ) |
| 133 | 128 | /* basic machine hardware */ |
| 134 | 129 | MCFG_CPU_ADD("maincpu",Z80, XTAL_4MHz) |
| r29500 | r29501 | |
| 136 | 131 | MCFG_CPU_IO_MAP(mccpm_io) |
| 137 | 132 | |
| 138 | 133 | /* video hardware */ |
| 139 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 134 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 135 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(mccpm_state, kbd_put)) |
| 140 | 136 | MACHINE_CONFIG_END |
| 141 | 137 | |
| 142 | 138 | /* ROM definition */ |
trunk/src/mess/drivers/phunsy.c
| r29500 | r29501 | |
| 184 | 184 | } |
| 185 | 185 | |
| 186 | 186 | |
| 187 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 188 | | { |
| 189 | | DEVCB_DRIVER_MEMBER(phunsy_state, kbd_put) |
| 190 | | }; |
| 191 | | |
| 192 | | |
| 193 | 187 | void phunsy_state::machine_reset() |
| 194 | 188 | { |
| 195 | 189 | membank("bankru")->set_entry(0); // point at ram |
| r29500 | r29501 | |
| 367 | 361 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) |
| 368 | 362 | |
| 369 | 363 | /* Devices */ |
| 370 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 364 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 365 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(phunsy_state, kbd_put)) |
| 371 | 366 | MCFG_CASSETTE_ADD( "cassette", default_cassette_interface ) |
| 372 | 367 | |
| 373 | 368 | /* quickload */ |
trunk/src/mess/drivers/ie15.c
| r29500 | r29501 | |
| 486 | 486 | } |
| 487 | 487 | } |
| 488 | 488 | |
| 489 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 490 | | { |
| 491 | | DEVCB_DRIVER_MEMBER(ie15_state, kbd_put) |
| 492 | | }; |
| 493 | | |
| 494 | | |
| 495 | 489 | void ie15_state::machine_reset() |
| 496 | 490 | { |
| 497 | 491 | m_ruslat = m_beep = m_statusline = m_cursor = m_video = m_kb_data = m_kb_flag0 = 0; |
| r29500 | r29501 | |
| 640 | 634 | MCFG_PALETTE_INIT_OWNER(ie15_state, ie15) |
| 641 | 635 | |
| 642 | 636 | /* Devices */ |
| 643 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 637 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 638 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(ie15_state, kbd_put)) |
| 644 | 639 | MCFG_BITBANGER_ADD(BITBANGER_TAG, ie15_state::ie15_bitbanger_config) |
| 645 | 640 | |
| 646 | 641 | MCFG_SPEAKER_STANDARD_MONO("mono") |
trunk/src/mess/drivers/pm68k.c
| r29500 | r29501 | |
| 78 | 78 | m_term_data = data; |
| 79 | 79 | } |
| 80 | 80 | |
| 81 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 82 | | { |
| 83 | | DEVCB_DRIVER_MEMBER(pm68k_state, kbd_put) |
| 84 | | }; |
| 85 | | |
| 86 | 81 | static MACHINE_CONFIG_START( pm68k, pm68k_state ) |
| 87 | 82 | /* basic machine hardware */ |
| 88 | 83 | MCFG_CPU_ADD("maincpu", M68000, 8000000) |
| 89 | 84 | MCFG_CPU_PROGRAM_MAP(pm68k_mem) |
| 90 | 85 | |
| 91 | 86 | /* video hardware */ |
| 92 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 87 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 88 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(pm68k_state, kbd_put)) |
| 93 | 89 | MACHINE_CONFIG_END |
| 94 | 90 | |
| 95 | 91 | /* ROM definition */ |
trunk/src/mess/drivers/k8915.c
| r29500 | r29501 | |
| 149 | 149 | m_term_data = data; |
| 150 | 150 | } |
| 151 | 151 | |
| 152 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 153 | | { |
| 154 | | DEVCB_DRIVER_MEMBER(k8915_state, kbd_put) |
| 155 | | }; |
| 156 | | |
| 157 | 152 | static MACHINE_CONFIG_START( k8915, k8915_state ) |
| 158 | 153 | /* basic machine hardware */ |
| 159 | 154 | MCFG_CPU_ADD("maincpu", Z80, XTAL_16MHz / 4) |
| r29500 | r29501 | |
| 171 | 166 | |
| 172 | 167 | MCFG_PALETTE_ADD_MONOCHROME_GREEN("palette") |
| 173 | 168 | |
| 174 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 169 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 170 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(k8915_state, kbd_put)) |
| 175 | 171 | MACHINE_CONFIG_END |
| 176 | 172 | |
| 177 | 173 | |
trunk/src/mess/drivers/harriet.c
| r29500 | r29501 | |
| 180 | 180 | m_teletype_status |= 0x80; |
| 181 | 181 | } |
| 182 | 182 | |
| 183 | | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 184 | | { |
| 185 | | DEVCB_DRIVER_MEMBER(harriet_state, kbd_put) |
| 186 | | }; |
| 187 | | |
| 188 | 183 | void harriet_state::machine_start() |
| 189 | 184 | { |
| 190 | 185 | } |
| r29500 | r29501 | |
| 201 | 196 | MCFG_CPU_PROGRAM_MAP(harriet_map) |
| 202 | 197 | |
| 203 | 198 | /* video hardware */ |
| 204 | | MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 199 | MCFG_DEVICE_ADD(TERMINAL_TAG, GENERIC_TERMINAL, 0) |
| 200 | MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(harriet_state, kbd_put)) |
| 205 | 201 | |
| 206 | 202 | MCFG_PALETTE_ADD("palette", 8) |
| 207 | 203 | |
trunk/src/mess/drivers/xerox820.c
| r29500 | r29501 | |
| 520 | 520 | m_kbpio->strobe_b(1); |
| 521 | 521 | } |
| 522 | 522 | |
| 523 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 524 | | { |
| 525 | | DEVCB_DRIVER_MEMBER(xerox820_state, kbd_w) |
| 526 | | }; |
| 527 | | |
| 528 | | |
| 529 | 523 | /* Video */ |
| 530 | 524 | |
| 531 | 525 | UINT32 xerox820_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) |
| r29500 | r29501 | |
| 719 | 713 | MCFG_COM8116_FR_HANDLER(WRITELINE(xerox820_state, fr_w)) |
| 720 | 714 | MCFG_COM8116_FT_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxtxcb_w)) |
| 721 | 715 | |
| 722 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 716 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 717 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(xerox820_state, kbd_w)) |
| 723 | 718 | |
| 724 | 719 | /* internal ram */ |
| 725 | 720 | MCFG_RAM_ADD(RAM_TAG) |
| r29500 | r29501 | |
| 780 | 775 | MCFG_COM8116_FR_HANDLER(WRITELINE(xerox820_state, fr_w)) |
| 781 | 776 | MCFG_COM8116_FT_HANDLER(DEVWRITELINE(Z80SIO_TAG, z80dart_device, rxtxcb_w)) |
| 782 | 777 | |
| 783 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 778 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 779 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(xerox820_state, kbd_w)) |
| 784 | 780 | |
| 785 | 781 | // SASI bus |
| 786 | 782 | MCFG_SCSIBUS_ADD(SASIBUS_TAG) |
trunk/src/mess/drivers/h19.c
| r29500 | r29501 | |
| 411 | 411 | m_maincpu->set_input_line(0, HOLD_LINE); |
| 412 | 412 | } |
| 413 | 413 | |
| 414 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 415 | | { |
| 416 | | DEVCB_DRIVER_MEMBER(h19_state, h19_kbd_put) |
| 417 | | }; |
| 418 | | |
| 419 | 414 | static MACHINE_CONFIG_START( h19, h19_state ) |
| 420 | 415 | /* basic machine hardware */ |
| 421 | 416 | MCFG_CPU_ADD("maincpu",Z80, H19_CLOCK) // From schematics |
| r29500 | r29501 | |
| 435 | 430 | |
| 436 | 431 | MCFG_MC6845_ADD("crtc", MC6845, "screen", XTAL_12_288MHz / 8, h19_crtc6845_interface) // clk taken from schematics |
| 437 | 432 | MCFG_INS8250_ADD( "ins8250", h19_ace_interface, XTAL_12_288MHz / 4) // 3.072mhz clock which gets divided down for the various baud rates |
| 438 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 433 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 434 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(h19_state, h19_kbd_put)) |
| 439 | 435 | |
| 440 | 436 | /* sound hardware */ |
| 441 | 437 | MCFG_SPEAKER_STANDARD_MONO("mono") |
trunk/src/mess/drivers/tk80bs.c
| r29500 | r29501 | |
| 160 | 160 | m_term_data = data; |
| 161 | 161 | } |
| 162 | 162 | |
| 163 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 164 | | { |
| 165 | | DEVCB_DRIVER_MEMBER(tk80bs_state, kbd_put) |
| 166 | | }; |
| 167 | | |
| 168 | | |
| 169 | 163 | /* F4 Character Displayer */ |
| 170 | 164 | static const gfx_layout tk80bs_charlayout = |
| 171 | 165 | { |
| r29500 | r29501 | |
| 202 | 196 | |
| 203 | 197 | /* Devices */ |
| 204 | 198 | MCFG_I8255_ADD( "ppi", ppi_intf) |
| 205 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 199 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 200 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(tk80bs_state, kbd_put)) |
| 206 | 201 | MACHINE_CONFIG_END |
| 207 | 202 | |
| 208 | 203 | |
trunk/src/mess/machine/teleprinter.c
| r29500 | r29501 | |
| 203 | 203 | return 0; |
| 204 | 204 | } |
| 205 | 205 | |
| 206 | | static ASCII_KEYBOARD_INTERFACE( keyboard_intf ) |
| 207 | | { |
| 208 | | DEVCB_DEVICE_MEMBER(DEVICE_SELF_OWNER, generic_terminal_device, kbd_put) |
| 209 | | }; |
| 210 | | |
| 211 | 206 | /*************************************************************************** |
| 212 | 207 | VIDEO HARDWARE |
| 213 | 208 | ***************************************************************************/ |
| r29500 | r29501 | |
| 218 | 213 | MCFG_SCREEN_SIZE(TELEPRINTER_WIDTH*8, TELEPRINTER_HEIGHT*8) |
| 219 | 214 | MCFG_SCREEN_VISIBLE_AREA(0, TELEPRINTER_WIDTH*8-1, 0, TELEPRINTER_HEIGHT*8-1) |
| 220 | 215 | MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, teleprinter_device, tp_update) |
| 221 | | MCFG_ASCII_KEYBOARD_ADD(KEYBOARD_TAG, keyboard_intf) |
| 216 | MCFG_DEVICE_ADD(KEYBOARD_TAG, GENERIC_KEYBOARD, 0) |
| 217 | MCFG_GENERIC_KEYBOARD_CB(WRITE8(generic_terminal_device, kbd_put)) |
| 222 | 218 | MACHINE_CONFIG_END |
| 223 | 219 | |
| 224 | 220 | machine_config_constructor teleprinter_device::device_mconfig_additions() const |
trunk/src/mess/machine/teleprinter.h
| r29500 | r29501 | |
| 6 | 6 | #define TELEPRINTER_WIDTH 80 |
| 7 | 7 | #define TELEPRINTER_HEIGHT 50 |
| 8 | 8 | |
| 9 | | #define GENERIC_TELEPRINTER_INTERFACE GENERIC_TERMINAL_INTERFACE |
| 10 | 9 | |
| 11 | 10 | /*************************************************************************** |
| 12 | 11 | DEVICE CONFIGURATION MACROS |
| r29500 | r29501 | |
| 14 | 13 | #define TELEPRINTER_TAG "teleprinter" |
| 15 | 14 | #define TELEPRINTER_SCREEN_TAG "tty_screen" |
| 16 | 15 | |
| 17 | | #define MCFG_GENERIC_TELEPRINTER_ADD(_tag, _intrf) \ |
| 18 | | MCFG_DEVICE_ADD(_tag, TELEPRINTER, 0) \ |
| 19 | | MCFG_DEVICE_CONFIG(_intrf) |
| 16 | #define MCFG_GENERIC_TELEPRINTER_KEYBOARD_CB(_devcb) \ |
| 17 | devcb = &generic_terminal_device::set_keyboard_callback(*device, DEVCB2_##_devcb); |
| 20 | 18 | |
| 21 | | #define MCFG_GENERIC_TELEPRINTER_REMOVE(_tag) \ |
| 22 | | MCFG_DEVICE_REMOVE(_tag) |
| 23 | | |
| 24 | 19 | /*************************************************************************** |
| 25 | 20 | FUNCTION PROTOTYPES |
| 26 | 21 | ***************************************************************************/ |