diff --git a/src/emu/machine/mc68901.c b/src/emu/machine/mc68901.c index 701ddca02b1..40e499a8654 100644 --- a/src/emu/machine/mc68901.c +++ b/src/emu/machine/mc68901.c @@ -184,11 +184,11 @@ inline void mc68901_device::check_interrupts() { if (m_ipr & m_imr) { - m_out_irq_func(ASSERT_LINE); + m_out_irq_cb(ASSERT_LINE); } else { - m_out_irq_func(CLEAR_LINE); + m_out_irq_cb(CLEAR_LINE); } } @@ -228,10 +228,10 @@ inline void mc68901_device::timer_count(int index) switch (index) { - case TIMER_A: m_out_tao_func(m_to[index]); break; - case TIMER_B: m_out_tbo_func(m_to[index]); break; - case TIMER_C: m_out_tco_func(m_to[index]); break; - case TIMER_D: m_out_tdo_func(m_to[index]); break; + case TIMER_A: m_out_tao_cb(m_to[index]); break; + case TIMER_B: m_out_tbo_cb(m_to[index]); break; + case TIMER_C: m_out_tco_cb(m_to[index]); break; + case TIMER_D: m_out_tdo_cb(m_to[index]); break; } if (m_ier & INT_MASK_TIMER[index]) @@ -323,7 +323,7 @@ void mc68901_device::gpio_output() if (m_gpio_output != new_gpio_output) { m_gpio_output = new_gpio_output; - m_out_gpio_func(0, m_gpio_output); + m_out_gpio_cb((offs_t)0, m_gpio_output); } } @@ -338,6 +338,18 @@ void mc68901_device::gpio_output() mc68901_device::mc68901_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : device_t(mconfig, MC68901, "Motorola MC68901", tag, owner, clock, "mc68901", __FILE__), device_serial_interface(mconfig, *this), + m_timer_clock(0), + m_rx_clock(0), + m_tx_clock(0), + m_out_irq_cb(*this), + m_out_gpio_cb(*this), + m_out_tao_cb(*this), + m_out_tbo_cb(*this), + m_out_tco_cb(*this), + m_out_tdo_cb(*this), + m_out_so_cb(*this), + //m_out_rr_cb(*this), + //m_out_tr_cb(*this), m_aer(0), m_ier(0), m_gpio_input(0), @@ -346,27 +358,6 @@ mc68901_device::mc68901_device(const machine_config &mconfig, const char *tag, d } -//------------------------------------------------- -// device_config_complete - perform any -// operations now that the configuration is -// complete -//------------------------------------------------- - -void mc68901_device::device_config_complete() -{ - // inherit a copy of the static data - const mc68901_interface *intf = reinterpret_cast(static_config()); - if (intf != NULL) - *static_cast(this) = *intf; - - // or initialize to defaults if none provided - else - { -// memset(&in_pa_cb, 0, sizeof(in_pa_cb)); - } -} - - //------------------------------------------------- // device_start - device-specific startup //------------------------------------------------- @@ -376,13 +367,15 @@ void mc68901_device::device_start() m_start_bit_hack_for_external_clocks = true; /* resolve callbacks */ - m_out_gpio_func.resolve(m_out_gpio_cb, *this); - m_out_so_func.resolve(m_out_so_cb, *this); - m_out_tao_func.resolve(m_out_tao_cb, *this); - m_out_tbo_func.resolve(m_out_tbo_cb, *this); - m_out_tco_func.resolve(m_out_tco_cb, *this); - m_out_tdo_func.resolve(m_out_tdo_cb, *this); - m_out_irq_func.resolve(m_out_irq_cb, *this); + m_out_irq_cb.resolve_safe(); + m_out_gpio_cb.resolve_safe(); + m_out_tao_cb.resolve_safe(); + m_out_tbo_cb.resolve_safe(); + m_out_tco_cb.resolve_safe(); + m_out_tdo_cb.resolve_safe(); + m_out_so_cb.resolve_safe(); + //m_out_rr_cb.resolve_safe(); + //m_out_tr_cb.resolve_safe(); /* create the timers */ m_timer[TIMER_A] = timer_alloc(TIMER_A); @@ -492,7 +485,7 @@ void mc68901_device::device_timer(emu_timer &timer, device_timer_id id, int para void mc68901_device::tra_callback() { - m_out_so_func(transmit_register_get_data_bit()); + m_out_so_cb(transmit_register_get_data_bit()); } @@ -740,7 +733,7 @@ void mc68901_device::register_w(offs_t offset, UINT8 data) m_to[TIMER_A] = 0; - m_out_tao_func(m_to[TIMER_A]); + m_out_tao_cb(m_to[TIMER_A]); } break; @@ -795,7 +788,7 @@ void mc68901_device::register_w(offs_t offset, UINT8 data) m_to[TIMER_B] = 0; - m_out_tbo_func(m_to[TIMER_B]); + m_out_tbo_cb(m_to[TIMER_B]); } break; diff --git a/src/emu/machine/mc68901.h b/src/emu/machine/mc68901.h index 12aca65c923..e4b52ed31ed 100644 --- a/src/emu/machine/mc68901.h +++ b/src/emu/machine/mc68901.h @@ -44,64 +44,73 @@ #include "emu.h" - -//************************************************************************** -// MACROS / CONSTANTS -//************************************************************************** - - - - //************************************************************************** // INTERFACE CONFIGURATION MACROS //************************************************************************** -#define MCFG_MC68901_ADD(_tag, _clock, _config) \ - MCFG_DEVICE_ADD((_tag), MC68901, _clock) \ - MCFG_DEVICE_CONFIG(_config) +#define MCFG_MC68901_TIMER_CLOCK(_clk) \ + mc68901_device::set_timer_clock(*device, _clk); -#define MC68901_INTERFACE(name) \ - const mc68901_interface (name) = +#define MCFG_MC68901_RX_CLOCK(_clk) \ + mc68901_device::set_rx_clock(*device, _clk); +#define MCFG_MC68901_TX_CLOCK(_clk) \ + mc68901_device::set_tx_clock(*device, _clk); +#define MCFG_MC68901_OUT_IRQ_CB(_devcb) \ + devcb = &mc68901_device::set_out_irq_callback(*device, DEVCB2_##_devcb); + +#define MCFG_MC68901_OUT_GPIO_CB(_devcb) \ + devcb = &mc68901_device::set_out_gpio_callback(*device, DEVCB2_##_devcb); + +#define MCFG_MC68901_OUT_TAO_CB(_devcb) \ + devcb = &mc68901_device::set_out_tao_callback(*device, DEVCB2_##_devcb); + +#define MCFG_MC68901_OUT_TBO_CB(_devcb) \ + devcb = &mc68901_device::set_out_tbo_callback(*device, DEVCB2_##_devcb); + +#define MCFG_MC68901_OUT_TCO_CB(_devcb) \ + devcb = &mc68901_device::set_out_tco_callback(*device, DEVCB2_##_devcb); + +#define MCFG_MC68901_OUT_TDO_CB(_devcb) \ + devcb = &mc68901_device::set_out_tdo_callback(*device, DEVCB2_##_devcb); + +#define MCFG_MC68901_OUT_SO_CB(_devcb) \ + devcb = &mc68901_device::set_out_so_callback(*device, DEVCB2_##_devcb); + +/*#define MCFG_MC68901_OUT_RR_CB(_devcb) \ + devcb = &mc68901_device::set_out_rr_callback(*device, DEVCB2_##_devcb); + +#define MCFG_MC68901_OUT_TR_CB(_devcb) \ + devcb = &mc68901_device::set_out_tr_callback(*device, DEVCB2_##_devcb);*/ + //************************************************************************** // TYPE DEFINITIONS //************************************************************************** -// ======================> mc68901_interface - -struct mc68901_interface -{ - int m_timer_clock; /* timer clock */ - int m_rx_clock; /* serial receive clock */ - int m_tx_clock; /* serial transmit clock */ - - devcb_write_line m_out_irq_cb; - - devcb_write8 m_out_gpio_cb; - - devcb_write_line m_out_tao_cb; - devcb_write_line m_out_tbo_cb; - devcb_write_line m_out_tco_cb; - devcb_write_line m_out_tdo_cb; - - devcb_write_line m_out_so_cb; - devcb_write_line m_out_rr_cb; - devcb_write_line m_out_tr_cb; -}; - - // ======================> mc68901_device class mc68901_device : public device_t, - public device_serial_interface, - public mc68901_interface + public device_serial_interface { public: // construction/destruction mc68901_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + static void set_timer_clock(device_t &device, int timer_clock) { downcast(device).m_timer_clock = timer_clock; } + static void set_rx_clock(device_t &device, int rx_clock) { downcast(device).m_rx_clock = rx_clock; } + static void set_tx_clock(device_t &device, int tx_clock) { downcast(device).m_tx_clock = tx_clock; } + template static devcb2_base &set_out_irq_callback(device_t &device, _Object object) { return downcast(device).m_out_irq_cb.set_callback(object); } + template static devcb2_base &set_out_gpio_callback(device_t &device, _Object object) { return downcast(device).m_out_gpio_cb.set_callback(object); } + template static devcb2_base &set_out_tao_callback(device_t &device, _Object object) { return downcast(device).m_out_tao_cb.set_callback(object); } + template static devcb2_base &set_out_tbo_callback(device_t &device, _Object object) { return downcast(device).m_out_tbo_cb.set_callback(object); } + template static devcb2_base &set_out_tco_callback(device_t &device, _Object object) { return downcast(device).m_out_tco_cb.set_callback(object); } + template static devcb2_base &set_out_tdo_callback(device_t &device, _Object object) { return downcast(device).m_out_tdo_cb.set_callback(object); } + template static devcb2_base &set_out_so_callback(device_t &device, _Object object) { return downcast(device).m_out_so_cb.set_callback(object); } + //template static devcb2_base &set_rr_callback(device_t &device, _Object object) { return downcast(device).m_out_rr_cb.set_callback(object); } + //template static devcb2_base &set_tr_callback(device_t &device, _Object object) { return downcast(device).m_out_tr_cb.set_callback(object); } DECLARE_READ8_MEMBER( read ); DECLARE_WRITE8_MEMBER( write ); @@ -124,7 +133,6 @@ public: protected: // device-level overrides - virtual void device_config_complete(); virtual void device_start(); virtual void device_reset(); virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr); @@ -235,13 +243,22 @@ private: static const int GPIO_TIMER[]; static const int PRESCALER[]; - devcb_resolved_write8 m_out_gpio_func; - devcb_resolved_write_line m_out_so_func; - devcb_resolved_write_line m_out_tao_func; - devcb_resolved_write_line m_out_tbo_func; - devcb_resolved_write_line m_out_tco_func; - devcb_resolved_write_line m_out_tdo_func; - devcb_resolved_write_line m_out_irq_func; + int m_timer_clock; /* timer clock */ + int m_rx_clock; /* serial receive clock */ + int m_tx_clock; /* serial transmit clock */ + + devcb2_write_line m_out_irq_cb; + + devcb2_write8 m_out_gpio_cb; + + devcb2_write_line m_out_tao_cb; + devcb2_write_line m_out_tbo_cb; + devcb2_write_line m_out_tco_cb; + devcb2_write_line m_out_tdo_cb; + + devcb2_write_line m_out_so_cb; + //devcb2_write_line m_out_rr_cb; + //devcb2_write_line m_out_tr_cb; //int m_device_type; /* device type */ diff --git a/src/mame/drivers/micro3d.c b/src/mame/drivers/micro3d.c index cead351ec64..5d29d4a746a 100644 --- a/src/mame/drivers/micro3d.c +++ b/src/mame/drivers/micro3d.c @@ -307,22 +307,6 @@ static const duart68681_config micro3d_duart68681_config = micro3d_duart_output_w }; -static MC68901_INTERFACE( mfp_intf ) -{ - 4000000, /* timer clock */ - 0, /* receive clock */ - 0, /* transmit clock */ - DEVCB_CPU_INPUT_LINE("maincpu", M68K_IRQ_4), /* interrupt */ - DEVCB_NULL, /* GPIO write */ - DEVCB_NULL, /* TAO */ - DEVCB_NULL, /* TBO */ - DEVCB_NULL, /* TCO */ - DEVCB_NULL, /* TDO */ - DEVCB_NULL, /* serial output */ - DEVCB_NULL, - DEVCB_NULL -}; - /************************************* * @@ -349,7 +333,12 @@ static MACHINE_CONFIG_START( micro3d, micro3d_state ) MCFG_CPU_IO_MAP(soundmem_io) MCFG_DUART68681_ADD("duart68681", XTAL_3_6864MHz, micro3d_duart68681_config) - MCFG_MC68901_ADD("mc68901", 4000000, mfp_intf) + + MCFG_DEVICE_ADD("mc68901", MC68901, 4000000) + MCFG_MC68901_TIMER_CLOCK(4000000) + MCFG_MC68901_RX_CLOCK(0) + MCFG_MC68901_TX_CLOCK(0) + MCFG_MC68901_OUT_IRQ_CB(INPUTLINE("maincpu", M68K_IRQ_4)) MCFG_NVRAM_ADD_0FILL("nvram") MCFG_QUANTUM_TIME(attotime::from_hz(3000)) diff --git a/src/mess/drivers/atarist.c b/src/mess/drivers/atarist.c index a5dd77b69cf..3180bf4718e 100644 --- a/src/mess/drivers/atarist.c +++ b/src/mess/drivers/atarist.c @@ -1864,72 +1864,11 @@ WRITE_LINE_MEMBER(st_state::write_acia_clock) } -//------------------------------------------------- -// MC68901_INTERFACE( mfp_intf ) -//------------------------------------------------- - WRITE_LINE_MEMBER( st_state::mfp_tdo_w ) { m_mfp->clock_w(state); } -static MC68901_INTERFACE( mfp_intf ) -{ - Y1, /* timer clock */ - 0, /* receive clock */ - 0, /* transmit clock */ - DEVCB_CPU_INPUT_LINE(M68000_TAG, M68K_IRQ_6), /* interrupt */ - DEVCB_NULL, /* GPIO write */ - DEVCB_NULL, /* TAO */ - DEVCB_NULL, /* TBO */ - DEVCB_NULL, /* TCO */ - DEVCB_DRIVER_LINE_MEMBER(st_state, mfp_tdo_w), /* TDO */ - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd) -}; - - -//------------------------------------------------- -// MC68901_INTERFACE( atariste_mfp_intf ) -//------------------------------------------------- - -static MC68901_INTERFACE( atariste_mfp_intf ) -{ - Y1, /* timer clock */ - 0, /* receive clock */ - 0, /* transmit clock */ - DEVCB_CPU_INPUT_LINE(M68000_TAG, M68K_IRQ_6), /* interrupt */ - DEVCB_NULL, /* GPIO write */ - DEVCB_NULL, /* TAO */ - DEVCB_NULL, /* TBO */ - DEVCB_NULL, /* TCO */ - DEVCB_DRIVER_LINE_MEMBER(st_state, mfp_tdo_w), /* TDO */ - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd) -}; - - -//------------------------------------------------- -// MC68901_INTERFACE( stbook_mfp_intf ) -//------------------------------------------------- - - -// TODO power alarms (i7_w) - -#if 0 -static MC68901_INTERFACE( stbook_mfp_intf ) -{ - Y1, /* timer clock */ - 0, /* receive clock */ - 0, /* transmit clock */ - DEVCB_CPU_INPUT_LINE(M68000_TAG, M68K_IRQ_6), /* interrupt */ - DEVCB_NULL, /* GPIO write */ - DEVCB_NULL, /* TAO */ - DEVCB_NULL, /* TBO */ - DEVCB_NULL, /* TCO */ - DEVCB_DRIVER_LINE_MEMBER(st_state, mfp_tdo_w), /* TDO */ - DEVCB_DEVICE_LINE_MEMBER(RS232_TAG, rs232_port_device, write_txd) -}; -#endif - void st_state::fdc_intrq_w(bool state) { m_mfp->i5_w(!state); @@ -2209,7 +2148,13 @@ static MACHINE_CONFIG_START( st, st_state ) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics") - MCFG_MC68901_ADD(MC68901_TAG, Y2/8, mfp_intf) + MCFG_DEVICE_ADD(MC68901_TAG, MC68901, Y2/8) + MCFG_MC68901_TIMER_CLOCK(Y1) + MCFG_MC68901_RX_CLOCK(0) + MCFG_MC68901_TX_CLOCK(0) + MCFG_MC68901_OUT_IRQ_CB(INPUTLINE(M68000_TAG, M68K_IRQ_6)) + MCFG_MC68901_OUT_TDO_CB(WRITELINE(st_state, mfp_tdo_w)) + MCFG_MC68901_OUT_SO_CB(DEVWRITELINE(RS232_TAG, rs232_port_device, write_txd)) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) MCFG_RS232_RXD_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, write_rx)) @@ -2288,7 +2233,13 @@ static MACHINE_CONFIG_START( megast, megast_state ) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics") - MCFG_MC68901_ADD(MC68901_TAG, Y2/8, mfp_intf) + MCFG_DEVICE_ADD(MC68901_TAG, MC68901, Y2/8) + MCFG_MC68901_TIMER_CLOCK(Y1) + MCFG_MC68901_RX_CLOCK(0) + MCFG_MC68901_TX_CLOCK(0) + MCFG_MC68901_OUT_IRQ_CB(INPUTLINE(M68000_TAG, M68K_IRQ_6)) + MCFG_MC68901_OUT_TDO_CB(WRITELINE(st_state, mfp_tdo_w)) + MCFG_MC68901_OUT_SO_CB(DEVWRITELINE(RS232_TAG, rs232_port_device, write_txd)) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) MCFG_RS232_RXD_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, write_rx)) @@ -2374,7 +2325,13 @@ static MACHINE_CONFIG_START( ste, ste_state ) MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics") - MCFG_MC68901_ADD(MC68901_TAG, Y2/8, atariste_mfp_intf) + MCFG_DEVICE_ADD(MC68901_TAG, MC68901, Y2/8) + MCFG_MC68901_TIMER_CLOCK(Y1) + MCFG_MC68901_RX_CLOCK(0) + MCFG_MC68901_TX_CLOCK(0) + MCFG_MC68901_OUT_IRQ_CB(INPUTLINE(M68000_TAG, M68K_IRQ_6)) + MCFG_MC68901_OUT_TDO_CB(WRITELINE(st_state, mfp_tdo_w)) + MCFG_MC68901_OUT_SO_CB(DEVWRITELINE(RS232_TAG, rs232_port_device, write_txd)) MCFG_RS232_PORT_ADD(RS232_TAG, default_rs232_devices, NULL) MCFG_RS232_RXD_HANDLER(DEVWRITELINE(MC68901_TAG, mc68901_device, write_rx)) @@ -2458,7 +2415,14 @@ static MACHINE_CONFIG_START( stbook, stbook_state ) MCFG_SOUND_CONFIG(stbook_psg_intf) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) - MCFG_MC68901_ADD(MC68901_TAG, U517/8, stbook_mfp_intf) + MCFG_DEVICE_ADD(MC68901_TAG, MC68901, U517/8) + MCFG_MC68901_TIMER_CLOCK(Y1) + MCFG_MC68901_RX_CLOCK(0) + MCFG_MC68901_TX_CLOCK(0) + MCFG_MC68901_OUT_IRQ_CB(INPUTLINE(M68000_TAG, M68K_IRQ_6)) + MCFG_MC68901_OUT_TDO_CB(WRITELINE(st_state, mfp_tdo_w)) + MCFG_MC68901_OUT_SO_CB(DEVWRITELINE(RS232_TAG, rs232_port_device, write_txd)) + MCFG_WD1772x_ADD(WD1772_TAG, U517/2) MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG ":0", atari_floppies, "35dd", 0, st_state::floppy_formats) MCFG_FLOPPY_DRIVE_ADD(WD1772_TAG ":1", atari_floppies, 0, 0, st_state::floppy_formats) diff --git a/src/mess/drivers/indiana.c b/src/mess/drivers/indiana.c index 36b9455b790..f8ea27330a6 100644 --- a/src/mess/drivers/indiana.c +++ b/src/mess/drivers/indiana.c @@ -98,22 +98,6 @@ SLOT_INTERFACE_START( indiana_isa_cards ) SLOT_INTERFACE("ide", ISA16_IDE) SLOT_INTERFACE_END -static MC68901_INTERFACE( mfp_interface ) -{ - XTAL_16MHz/4, /* timer clock */ - 0, /* receive clock */ - 0, /* transmit clock */ - DEVCB_NULL, /* interrupt */ - DEVCB_NULL, /* GPIO write */ - DEVCB_NULL, /* TAO */ - DEVCB_NULL, /* TBO */ - DEVCB_NULL, /* TCO */ - DEVCB_NULL, /* TDO */ - DEVCB_DEVICE_LINE_MEMBER("keyboard", serial_keyboard_device, input_txd), /* serial output */ - DEVCB_NULL, - DEVCB_NULL -}; - static struct serial_keyboard_interface keyboard_interface = { DEVCB_DEVICE_LINE_MEMBER(MFP_TAG, mc68901_device, write_rx) @@ -131,7 +115,12 @@ static MACHINE_CONFIG_START( indiana, indiana_state ) MCFG_ISA16_SLOT_ADD(ISABUS_TAG, "isa3", indiana_isa_cards, "comat", false) MCFG_ISA16_SLOT_ADD(ISABUS_TAG, "isa4", indiana_isa_cards, "ide", false) - MCFG_MC68901_ADD(MFP_TAG, XTAL_16MHz/4, mfp_interface) + MCFG_DEVICE_ADD(MFP_TAG, MC68901, XTAL_16MHz/4) + MCFG_MC68901_TIMER_CLOCK(XTAL_16MHz/4) + MCFG_MC68901_RX_CLOCK(0) + MCFG_MC68901_TX_CLOCK(0) + MCFG_MC68901_OUT_SO_CB(DEVWRITELINE("keyboard", serial_keyboard_device, input_txd)) + MCFG_SERIAL_KEYBOARD_ADD("keyboard", keyboard_interface, 1200) MACHINE_CONFIG_END diff --git a/src/mess/drivers/x68k.c b/src/mess/drivers/x68k.c index 1cbea06337e..b436d496feb 100644 --- a/src/mess/drivers/x68k.c +++ b/src/mess/drivers/x68k.c @@ -1409,22 +1409,6 @@ WRITE_LINE_MEMBER( x68k_state::mfp_tbo_w ) m_mfpdev->clock_w(state); } -static MC68901_INTERFACE( mfp_interface ) -{ - 4000000, /* timer clock */ - 0, /* receive clock */ - 0, /* transmit clock */ - DEVCB_DRIVER_LINE_MEMBER(x68k_state,mfp_irq_callback), /* interrupt */ - DEVCB_NULL, /* GPIO write */ - DEVCB_NULL, /* TAO */ - DEVCB_DRIVER_LINE_MEMBER(x68k_state, mfp_tbo_w), /* TBO */ - DEVCB_NULL, /* TCO */ - DEVCB_NULL, /* TDO */ - DEVCB_DEVICE_LINE_MEMBER("keyboard", serial_keyboard_device, input_txd), /* serial output */ - DEVCB_NULL, - DEVCB_NULL -}; - static struct serial_keyboard_interface x68k_keyboard_interface = { DEVCB_DEVICE_LINE_MEMBER(MC68901_TAG, mc68901_device, write_rx) @@ -1929,7 +1913,13 @@ static MACHINE_CONFIG_FRAGMENT( x68000_base ) MCFG_MACHINE_RESET_OVERRIDE(x68k_state, x68000 ) /* device hardware */ - MCFG_MC68901_ADD(MC68901_TAG, 4000000, mfp_interface) + MCFG_DEVICE_ADD(MC68901_TAG, MC68901, 4000000) + MCFG_MC68901_TIMER_CLOCK(4000000) + MCFG_MC68901_RX_CLOCK(0) + MCFG_MC68901_TX_CLOCK(0) + MCFG_MC68901_OUT_IRQ_CB(WRITELINE(x68k_state, mfp_irq_callback)) + MCFG_MC68901_OUT_TBO_CB(WRITELINE(x68k_state, mfp_tbo_w)) + MCFG_MC68901_OUT_SO_CB(DEVWRITELINE("keyboard", serial_keyboard_device, input_txd)) MCFG_X68K_KEYBOARD_ADD("keyboard", x68k_keyboard_interface) diff --git a/src/mess/video/atarist.c b/src/mess/video/atarist.c index 240534e78af..e6339d26a0f 100644 --- a/src/mess/video/atarist.c +++ b/src/mess/video/atarist.c @@ -13,7 +13,6 @@ #include "emu.h" #include "cpu/m68000/m68000.h" -#include "machine/mc68901.h" #include "machine/ram.h" #include "video/atarist.h" #include "includes/atarist.h"