diff --git a/src/mame/drivers/fccpu20.cpp b/src/mame/drivers/fccpu20.cpp index 07496323f33..1d4bbef136e 100644 --- a/src/mame/drivers/fccpu20.cpp +++ b/src/mame/drivers/fccpu20.cpp @@ -133,6 +133,9 @@ #include "emu.h" #include "cpu/m68000/m68000.h" +#include "bus/vme/vme.h" +#include "bus/vme/vme_fcisio.h" +#include "bus/vme/vme_fcscsi.h" #include "bus/rs232/rs232.h" #include "machine/clock.h" @@ -258,6 +261,11 @@ void cpu20_state::update_irq_to_maincpu() } #endif +static SLOT_INTERFACE_START(fccpu20_vme_cards) + SLOT_INTERFACE("fcisio", VME_FCISIO1) + SLOT_INTERFACE("fcscsi", VME_FCSCSI1) +SLOT_INTERFACE_END + /* * Machine configuration */ @@ -265,6 +273,9 @@ static MACHINE_CONFIG_START (cpu20, cpu20_state) /* basic machine hardware */ MCFG_CPU_ADD ("maincpu", M68020, XTAL_16MHz) /* Crytstal not verified */ MCFG_CPU_PROGRAM_MAP (cpu20_mem) + + MCFG_VME_DEVICE_ADD("vme") + MCFG_VME_SLOT_ADD ("vme", "slot1", fccpu20_vme_cards, nullptr) MACHINE_CONFIG_END /* ROM definitions */ diff --git a/src/mame/drivers/force68k.cpp b/src/mame/drivers/force68k.cpp index 3f5b59d308c..2770844d9c6 100644 --- a/src/mame/drivers/force68k.cpp +++ b/src/mame/drivers/force68k.cpp @@ -86,6 +86,9 @@ #include "bus/generic/slot.h" #include "bus/generic/carts.h" #include "softlist.h" +#include "bus/vme/vme.h" +#include "bus/vme/vme_fcisio.h" +#include "bus/vme/vme_fcscsi.h" #define LOG(x) x @@ -417,69 +420,79 @@ image_init_result force68k_state::force68k_load_cart(device_image_interface &ima return image_init_result::PASS; } + +static SLOT_INTERFACE_START(fccpu1_vme_cards) + SLOT_INTERFACE("fcisio", VME_FCISIO1) + SLOT_INTERFACE("fcscsi", VME_FCSCSI1) +SLOT_INTERFACE_END + /* * Machine configuration */ static MACHINE_CONFIG_START (fccpu1, force68k_state) -/* basic machine hardware */ -MCFG_CPU_ADD ("maincpu", M68000, XTAL_16MHz / 2) -MCFG_CPU_PROGRAM_MAP (force68k_mem) + /* basic machine hardware */ + MCFG_CPU_ADD ("maincpu", M68000, XTAL_16MHz / 2) + MCFG_CPU_PROGRAM_MAP (force68k_mem) -/* P3/Host Port config - * LO command causes ROM monitor to expect S-records on HOST port by default - * Implementation through nullmodem currently does not support handshakes so - * the ROM momitor is over-run while checking for checksums etc if used with - * UI mount feature. - */ -MCFG_DEVICE_ADD ("aciahost", ACIA6850, 0) + /* P3/Host Port config + * LO command causes ROM monitor to expect S-records on HOST port by default + * Implementation through nullmodem currently does not support handshakes so + * the ROM momitor is over-run while checking for checksums etc if used with + * UI mount feature. + */ + MCFG_DEVICE_ADD ("aciahost", ACIA6850, 0) -MCFG_ACIA6850_TXD_HANDLER (DEVWRITELINE ("rs232host", rs232_port_device, write_txd)) -MCFG_ACIA6850_RTS_HANDLER (DEVWRITELINE ("rs232host", rs232_port_device, write_rts)) + MCFG_ACIA6850_TXD_HANDLER (DEVWRITELINE ("rs232host", rs232_port_device, write_txd)) + MCFG_ACIA6850_RTS_HANDLER (DEVWRITELINE ("rs232host", rs232_port_device, write_rts)) -MCFG_RS232_PORT_ADD ("rs232host", default_rs232_devices, "null_modem") -MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("aciahost", acia6850_device, write_rxd)) -MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("aciahost", acia6850_device, write_cts)) + MCFG_RS232_PORT_ADD ("rs232host", default_rs232_devices, "null_modem") + MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("aciahost", acia6850_device, write_rxd)) + MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("aciahost", acia6850_device, write_cts)) -MCFG_DEVICE_ADD ("aciahost_clock", CLOCK, ACIA_CLOCK) -MCFG_CLOCK_SIGNAL_HANDLER (WRITELINE (force68k_state, write_aciahost_clock)) + MCFG_DEVICE_ADD ("aciahost_clock", CLOCK, ACIA_CLOCK) + MCFG_CLOCK_SIGNAL_HANDLER (WRITELINE (force68k_state, write_aciahost_clock)) -/* P4/Terminal Port config */ -MCFG_DEVICE_ADD ("aciaterm", ACIA6850, 0) + /* P4/Terminal Port config */ + MCFG_DEVICE_ADD ("aciaterm", ACIA6850, 0) -MCFG_ACIA6850_TXD_HANDLER (DEVWRITELINE ("rs232trm", rs232_port_device, write_txd)) -MCFG_ACIA6850_RTS_HANDLER (DEVWRITELINE ("rs232trm", rs232_port_device, write_rts)) + MCFG_ACIA6850_TXD_HANDLER (DEVWRITELINE ("rs232trm", rs232_port_device, write_txd)) + MCFG_ACIA6850_RTS_HANDLER (DEVWRITELINE ("rs232trm", rs232_port_device, write_rts)) -MCFG_RS232_PORT_ADD ("rs232trm", default_rs232_devices, "terminal") -MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("aciaterm", acia6850_device, write_rxd)) -MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("aciaterm", acia6850_device, write_cts)) + MCFG_RS232_PORT_ADD ("rs232trm", default_rs232_devices, "terminal") + MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("aciaterm", acia6850_device, write_rxd)) + MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("aciaterm", acia6850_device, write_cts)) -MCFG_DEVICE_ADD ("aciaterm_clock", CLOCK, ACIA_CLOCK) -MCFG_CLOCK_SIGNAL_HANDLER (WRITELINE (force68k_state, write_aciaterm_clock)) + MCFG_DEVICE_ADD ("aciaterm_clock", CLOCK, ACIA_CLOCK) + MCFG_CLOCK_SIGNAL_HANDLER (WRITELINE (force68k_state, write_aciaterm_clock)) -/* P5/Remote Port config */ -MCFG_DEVICE_ADD ("aciaremt", ACIA6850, 0) + /* P5/Remote Port config */ + MCFG_DEVICE_ADD ("aciaremt", ACIA6850, 0) -MCFG_DEVICE_ADD ("aciaremt_clock", CLOCK, ACIA_CLOCK) -MCFG_CLOCK_SIGNAL_HANDLER (WRITELINE (force68k_state, write_aciaterm_clock)) + MCFG_DEVICE_ADD ("aciaremt_clock", CLOCK, ACIA_CLOCK) + MCFG_CLOCK_SIGNAL_HANDLER (WRITELINE (force68k_state, write_aciaterm_clock)) -/* RTC Real Time Clock device */ -MCFG_DEVICE_ADD ("rtc", MM58167, XTAL_32_768kHz) + /* RTC Real Time Clock device */ + MCFG_DEVICE_ADD ("rtc", MM58167, XTAL_32_768kHz) -/* PIT Parallel Interface and Timer device, assuming strapped for on board clock */ -MCFG_DEVICE_ADD ("pit", PIT68230, XTAL_16MHz / 2) -MCFG_PIT68230_PA_OUTPUT_CB (DEVWRITE8 ("cent_data_out", output_latch_device, write)) -MCFG_PIT68230_H2_CB (DEVWRITELINE ("centronics", centronics_device, write_strobe)) + /* PIT Parallel Interface and Timer device, assuming strapped for on board clock */ + MCFG_DEVICE_ADD ("pit", PIT68230, XTAL_16MHz / 2) + MCFG_PIT68230_PA_OUTPUT_CB (DEVWRITE8 ("cent_data_out", output_latch_device, write)) + MCFG_PIT68230_H2_CB (DEVWRITELINE ("centronics", centronics_device, write_strobe)) -// centronics -MCFG_CENTRONICS_ADD ("centronics", centronics_devices, "printer") -MCFG_CENTRONICS_ACK_HANDLER (WRITELINE (force68k_state, centronics_ack_w)) -MCFG_CENTRONICS_BUSY_HANDLER (WRITELINE (force68k_state, centronics_busy_w)) -MCFG_CENTRONICS_PERROR_HANDLER (WRITELINE (force68k_state, centronics_perror_w)) -MCFG_CENTRONICS_SELECT_HANDLER (WRITELINE (force68k_state, centronics_select_w)) -MCFG_CENTRONICS_OUTPUT_LATCH_ADD ("cent_data_out", "centronics") + // centronics + MCFG_CENTRONICS_ADD ("centronics", centronics_devices, "printer") + MCFG_CENTRONICS_ACK_HANDLER (WRITELINE (force68k_state, centronics_ack_w)) + MCFG_CENTRONICS_BUSY_HANDLER (WRITELINE (force68k_state, centronics_busy_w)) + MCFG_CENTRONICS_PERROR_HANDLER (WRITELINE (force68k_state, centronics_perror_w)) + MCFG_CENTRONICS_SELECT_HANDLER (WRITELINE (force68k_state, centronics_select_w)) + MCFG_CENTRONICS_OUTPUT_LATCH_ADD ("cent_data_out", "centronics") -// EPROM sockets -MCFG_FRAGMENT_ADD(fccpu1_eprom_sockets) + // EPROM sockets + MCFG_FRAGMENT_ADD(fccpu1_eprom_sockets) + + // VME interface + MCFG_VME_DEVICE_ADD("vme") + MCFG_VME_SLOT_ADD ("vme", "slot1", fccpu1_vme_cards, nullptr) MACHINE_CONFIG_END #if 0 /* @@ -487,28 +500,28 @@ MACHINE_CONFIG_END * such as an optional 68881 FPU */ static MACHINE_CONFIG_START (fccpu6, force68k_state) -MCFG_CPU_ADD ("maincpu", M68000, XTAL_8MHz) /* Jumper B10 Mode B */ -MCFG_CPU_PROGRAM_MAP (force68k_mem) + MCFG_CPU_ADD ("maincpu", M68000, XTAL_8MHz) /* Jumper B10 Mode B */ + MCFG_CPU_PROGRAM_MAP (force68k_mem) MACHINE_CONFIG_END static MACHINE_CONFIG_START (fccpu6a, force68k_state) -MCFG_CPU_ADD ("maincpu", M68000, XTAL_12_5MHz) /* Jumper B10 Mode A */ -MCFG_CPU_PROGRAM_MAP (force68k_mem) + MCFG_CPU_ADD ("maincpu", M68000, XTAL_12_5MHz) /* Jumper B10 Mode A */ + MCFG_CPU_PROGRAM_MAP (force68k_mem) MACHINE_CONFIG_END static MACHINE_CONFIG_START (fccpu6v, force68k_state) -MCFG_CPU_ADD ("maincpu", M68010, XTAL_8MHz) /* Jumper B10 Mode B */ -MCFG_CPU_PROGRAM_MAP (force68k_mem) + MCFG_CPU_ADD ("maincpu", M68010, XTAL_8MHz) /* Jumper B10 Mode B */ + MCFG_CPU_PROGRAM_MAP (force68k_mem) MACHINE_CONFIG_END static MACHINE_CONFIG_START (fccpu6va, force68k_state) -MCFG_CPU_ADD ("maincpu", M68010, XTAL_12_5MHz) /* Jumper B10 Mode A */ -MCFG_CPU_PROGRAM_MAP (force68k_mem) + MCFG_CPU_ADD ("maincpu", M68010, XTAL_12_5MHz) /* Jumper B10 Mode A */ + MCFG_CPU_PROGRAM_MAP (force68k_mem) MACHINE_CONFIG_END static MACHINE_CONFIG_START (fccpu6vb, force68k_state) -MCFG_CPU_ADD ("maincpu", M68010, XTAL_12_5MHz) /* Jumper B10 Mode A */ -MCFG_CPU_PROGRAM_MAP (force68k_mem) + MCFG_CPU_ADD ("maincpu", M68010, XTAL_12_5MHz) /* Jumper B10 Mode A */ + MCFG_CPU_PROGRAM_MAP (force68k_mem) MACHINE_CONFIG_END #endif diff --git a/src/mame/drivers/hk68v10.cpp b/src/mame/drivers/hk68v10.cpp index 849c0576f8c..756af103380 100644 --- a/src/mame/drivers/hk68v10.cpp +++ b/src/mame/drivers/hk68v10.cpp @@ -166,6 +166,7 @@ #include "emu.h" #include "cpu/m68000/m68000.h" +#include "bus/vme/vme.h" #include "machine/z80scc.h" #include "bus/rs232/rs232.h" #include "machine/clock.h" @@ -325,24 +326,29 @@ WRITE16_MEMBER (hk68v10_state::vme_a16_w){ * Original HBUG configuration word: 0x003D = 0000 0000 0011 1101 */ +static SLOT_INTERFACE_START(hk68_vme_cards) +SLOT_INTERFACE_END + /* * Machine configuration */ static MACHINE_CONFIG_START (hk68v10, hk68v10_state) -/* basic machine hardware */ -MCFG_CPU_ADD ("maincpu", M68010, XTAL_10MHz) -MCFG_CPU_PROGRAM_MAP (hk68v10_mem) + /* basic machine hardware */ + MCFG_CPU_ADD ("maincpu", M68010, XTAL_10MHz) + MCFG_CPU_PROGRAM_MAP (hk68v10_mem) -/* Terminal Port config */ -MCFG_SCC8530_ADD("scc", SCC_CLOCK, 0, 0, 0, 0 ) -MCFG_Z80SCC_OUT_TXDA_CB(DEVWRITELINE("rs232trm", rs232_port_device, write_txd)) -MCFG_Z80SCC_OUT_DTRA_CB(DEVWRITELINE("rs232trm", rs232_port_device, write_dtr)) -MCFG_Z80SCC_OUT_RTSA_CB(DEVWRITELINE("rs232trm", rs232_port_device, write_rts)) + /* Terminal Port config */ + MCFG_SCC8530_ADD("scc", SCC_CLOCK, 0, 0, 0, 0 ) + MCFG_Z80SCC_OUT_TXDA_CB(DEVWRITELINE("rs232trm", rs232_port_device, write_txd)) + MCFG_Z80SCC_OUT_DTRA_CB(DEVWRITELINE("rs232trm", rs232_port_device, write_dtr)) + MCFG_Z80SCC_OUT_RTSA_CB(DEVWRITELINE("rs232trm", rs232_port_device, write_rts)) -MCFG_RS232_PORT_ADD ("rs232trm", default_rs232_devices, "terminal") -MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("scc", scc8530_device, rxa_w)) -MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("scc", scc8530_device, ctsa_w)) + MCFG_RS232_PORT_ADD ("rs232trm", default_rs232_devices, "terminal") + MCFG_RS232_RXD_HANDLER (DEVWRITELINE ("scc", scc8530_device, rxa_w)) + MCFG_RS232_CTS_HANDLER (DEVWRITELINE ("scc", scc8530_device, ctsa_w)) + MCFG_VME_DEVICE_ADD("vme") + MCFG_VME_SLOT_ADD ("vme", "slot1", hk68_vme_cards, nullptr) MACHINE_CONFIG_END /* ROM definitions */