diff options
Diffstat (limited to 'src/mame/drivers/intellec4.cpp')
-rw-r--r-- | src/mame/drivers/intellec4.cpp | 69 |
1 files changed, 34 insertions, 35 deletions
diff --git a/src/mame/drivers/intellec4.cpp b/src/mame/drivers/intellec4.cpp index 765072fa2ad..09588fdda4d 100644 --- a/src/mame/drivers/intellec4.cpp +++ b/src/mame/drivers/intellec4.cpp @@ -817,35 +817,36 @@ DEVICE_INPUT_DEFAULTS_START(tty) DEVICE_INPUT_DEFAULTS("FLOW_CONTROL", 0x0001, 0x0000) DEVICE_INPUT_DEFAULTS_END -MACHINE_CONFIG_START(intellec4_state::intellec4) - MCFG_DEVICE_ADD(m_program_banks, ADDRESS_MAP_BANK, 0) - MCFG_DEVICE_PROGRAM_MAP(intellec4_program_banks) - MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE) - MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8) - MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(14) - MCFG_ADDRESS_MAP_BANK_STRIDE(0x1000) - - MCFG_DEVICE_ADD(m_rom_port_banks, ADDRESS_MAP_BANK, 0) - MCFG_DEVICE_PROGRAM_MAP(intellec4_rom_port_banks) - MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE) - MCFG_ADDRESS_MAP_BANK_DATA_WIDTH(8) - MCFG_ADDRESS_MAP_BANK_ADDR_WIDTH(14) - MCFG_ADDRESS_MAP_BANK_STRIDE(0x1000) - - MCFG_DEVICE_ADD(m_prom_programmer, INTEL_IMM6_76, 0) - - MCFG_DEVICE_ADD(m_tty, RS232_PORT, default_rs232_devices, "terminal") - MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("terminal", tty) - MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("null_modem", tty) - - MCFG_DEVICE_ADD(m_bus, INTELLEC4_UNIV_BUS, 518000. / 7) - MCFG_INTELLEC4_UNIV_BUS_ROM_SPACE(m_program_banks, AS_PROGRAM) - MCFG_INTELLEC4_UNIV_BUS_ROM_PORTS_SPACE(m_rom_port_banks, AS_PROGRAM) - MCFG_INTELLEC4_UNIV_BUS_MEMORY_SPACE(m_cpu, mcs40_cpu_device_base::AS_RAM_MEMORY) - MCFG_INTELLEC4_UNIV_BUS_STATUS_SPACE(m_cpu, mcs40_cpu_device_base::AS_RAM_STATUS) - MCFG_INTELLEC4_UNIV_BUS_RAM_PORTS_SPACE(m_cpu, mcs40_cpu_device_base::AS_RAM_PORTS) - MCFG_INTELLEC4_UNIV_BUS_RESET_4002_CB(WRITELINE(*this, intellec4_state, bus_reset_4002)) - MCFG_INTELLEC4_UNIV_BUS_USER_RESET_CB(WRITELINE(*this, intellec4_state, bus_user_reset)) +void intellec4_state::intellec4(machine_config &config) +{ + ADDRESS_MAP_BANK(config, m_program_banks, 0); + m_program_banks->set_map(&intellec4_state::intellec4_program_banks); + m_program_banks->set_endianness(ENDIANNESS_LITTLE); + m_program_banks->set_data_width(8); + m_program_banks->set_addr_width(14); + m_program_banks->set_stride(0x1000); + + ADDRESS_MAP_BANK(config, m_rom_port_banks, 0); + m_rom_port_banks->set_map(&intellec4_state::intellec4_rom_port_banks); + m_rom_port_banks->set_endianness(ENDIANNESS_LITTLE); + m_rom_port_banks->set_data_width(8); + m_rom_port_banks->set_addr_width(14); + m_rom_port_banks->set_stride(0x1000); + + INTEL_IMM6_76(config, m_prom_programmer, 0); + + RS232_PORT(config, m_tty, default_rs232_devices, "terminal"); + m_tty->set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(tty)); + m_tty->set_option_device_input_defaults("null_modem", DEVICE_INPUT_DEFAULTS_NAME(tty)); + + INTELLEC4_UNIV_BUS(config, m_bus, 518000. / 7); + m_bus->set_rom_space(m_program_banks, AS_PROGRAM); + m_bus->set_rom_ports_space(m_rom_port_banks, AS_PROGRAM); + m_bus->set_memory_space(m_cpu, mcs40_cpu_device_base::AS_RAM_MEMORY); + m_bus->set_status_space(m_cpu, mcs40_cpu_device_base::AS_RAM_STATUS); + m_bus->set_ram_ports_space(m_cpu, mcs40_cpu_device_base::AS_RAM_PORTS); + m_bus->reset_4002_out_cb().set(FUNC(intellec4_state::bus_reset_4002)); + m_bus->user_reset_out_cb().set(FUNC(intellec4_state::bus_user_reset)); INTELLEC4_UNIV_SLOT(config, "j7", 5.185_MHz_XTAL / 7, m_bus, intellec4_univ_cards, "imm4_90"); INTELLEC4_UNIV_SLOT(config, "j8", 5.185_MHz_XTAL / 7, m_bus, intellec4_univ_cards, "imm6_26"); INTELLEC4_UNIV_SLOT(config, "j9", 5.185_MHz_XTAL / 7, m_bus, intellec4_univ_cards, nullptr); @@ -859,7 +860,7 @@ MACHINE_CONFIG_START(intellec4_state::intellec4) INTELLEC4_UNIV_SLOT(config, "j17", 5.185_MHz_XTAL / 7, m_bus, intellec4_univ_cards, nullptr); INTELLEC4_UNIV_SLOT(config, "j18", 5.185_MHz_XTAL / 7, m_bus, intellec4_univ_cards, nullptr); INTELLEC4_UNIV_SLOT(config, "j19", 5.185_MHz_XTAL / 7, m_bus, intellec4_univ_cards, nullptr); -MACHINE_CONFIG_END +} /*---------------------------------- @@ -1134,8 +1135,7 @@ MACHINE_CONFIG_START(mod4_state::mod4) MCFG_I4004_BUS_CYCLE_CB(BUSCYCLE(mod4_state, bus_cycle)); MCFG_I4004_SYNC_CB(WRITELINE(m_bus, bus::intellec4::univ_bus_device, sync_in)) - MCFG_DEVICE_MODIFY("bus") - MCFG_INTELLEC4_UNIV_BUS_TEST_CB(WRITELINE(*this, mod4_state, bus_test)) + m_bus->test_out_cb().set(FUNC(mod4_state::bus_test)); MCFG_DEFAULT_LAYOUT(layout_intlc44) MACHINE_CONFIG_END @@ -1361,9 +1361,8 @@ MACHINE_CONFIG_START(mod40_state::mod40) MCFG_I4040_SYNC_CB(WRITELINE(m_bus, bus::intellec4::univ_bus_device, sync_in)) MCFG_I4040_STP_ACK_CB(WRITELINE(*this, mod40_state, stp_ack)) - MCFG_DEVICE_MODIFY("bus") - MCFG_INTELLEC4_UNIV_BUS_STOP_CB(WRITELINE(*this, mod40_state, bus_stop)) - MCFG_INTELLEC4_UNIV_BUS_TEST_CB(WRITELINE(*this, mod40_state, bus_test)) + m_bus->stop_out_cb().set(FUNC(mod40_state::bus_stop)); + m_bus->test_out_cb().set(FUNC(mod40_state::bus_test)); MCFG_DEFAULT_LAYOUT(layout_intlc440) MACHINE_CONFIG_END |