diff options
Diffstat (limited to 'src/devices/bus')
76 files changed, 736 insertions, 685 deletions
diff --git a/src/devices/bus/a2bus/a2sam.cpp b/src/devices/bus/a2bus/a2sam.cpp index 21ea8d1fdca..a2f2fd8781f 100644 --- a/src/devices/bus/a2bus/a2sam.cpp +++ b/src/devices/bus/a2bus/a2sam.cpp @@ -31,12 +31,15 @@ DEFINE_DEVICE_TYPE(A2BUS_SAM, a2bus_sam_device, "a2sam", "Don't Ask Software S.A // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(a2bus_sam_device::device_add_mconfig) +void a2bus_sam_device::device_add_mconfig(machine_config &config) +{ SPEAKER(config, "speaker").front_center(); - MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC - MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) -MACHINE_CONFIG_END + DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC + voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); + vref.set_output(5.0); + vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); + vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); +} //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/abcbus/cadmouse.cpp b/src/devices/bus/abcbus/cadmouse.cpp index 9cee7326cf4..7a4d90916f9 100644 --- a/src/devices/bus/abcbus/cadmouse.cpp +++ b/src/devices/bus/abcbus/cadmouse.cpp @@ -125,11 +125,12 @@ void abc_cadmouse_device::abc_cadmouse_io(address_map &map) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(abc_cadmouse_device::device_add_mconfig) - MCFG_DEVICE_ADD(Z80_TAG, Z80, XTAL(8'000'000)/2) - MCFG_DEVICE_PROGRAM_MAP(abc_cadmouse_mem) - MCFG_DEVICE_IO_MAP(abc_cadmouse_io) -MACHINE_CONFIG_END +void abc_cadmouse_device::device_add_mconfig(machine_config &config) +{ + Z80(config, m_maincpu, XTAL(8'000'000)/2); + m_maincpu->set_addrmap(AS_PROGRAM, &abc_cadmouse_device::abc_cadmouse_mem); + m_maincpu->set_addrmap(AS_IO, &abc_cadmouse_device::abc_cadmouse_io); +} //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/abcbus/db411223.cpp b/src/devices/bus/abcbus/db411223.cpp index d9d2906f6d6..86ba1f22ee9 100644 --- a/src/devices/bus/abcbus/db411223.cpp +++ b/src/devices/bus/abcbus/db411223.cpp @@ -68,11 +68,12 @@ void databoard_4112_23_t::databoard_4112_23_io(address_map &map) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(databoard_4112_23_t::device_add_mconfig) - MCFG_DEVICE_ADD(Z80_TAG, Z80, 4000000) - MCFG_DEVICE_PROGRAM_MAP(databoard_4112_23_mem) - MCFG_DEVICE_IO_MAP(databoard_4112_23_io) -MACHINE_CONFIG_END +void databoard_4112_23_t::device_add_mconfig(machine_config &config) +{ + Z80(config, m_maincpu, 4000000); + m_maincpu->set_addrmap(AS_PROGRAM, &databoard_4112_23_t::databoard_4112_23_mem); + m_maincpu->set_addrmap(AS_IO, &databoard_4112_23_t::databoard_4112_23_io); +} //------------------------------------------------- diff --git a/src/devices/bus/abcbus/unidisk.cpp b/src/devices/bus/abcbus/unidisk.cpp index 0d5968aa71b..0b068000193 100644 --- a/src/devices/bus/abcbus/unidisk.cpp +++ b/src/devices/bus/abcbus/unidisk.cpp @@ -73,11 +73,12 @@ void unidisk_t::unidisk_io(address_map &map) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(unidisk_t::device_add_mconfig) +void unidisk_t::device_add_mconfig(machine_config &config) +{ TMS9995(config, m_maincpu, 12000000); m_maincpu->set_addrmap(AS_PROGRAM, &unidisk_t::unidisk_mem); m_maincpu->set_addrmap(AS_IO, &unidisk_t::unidisk_io); -MACHINE_CONFIG_END +} //------------------------------------------------- diff --git a/src/devices/bus/c64/16kb.cpp b/src/devices/bus/c64/16kb.cpp index 4b23cb663f7..96e19a52dd2 100644 --- a/src/devices/bus/c64/16kb.cpp +++ b/src/devices/bus/c64/16kb.cpp @@ -22,13 +22,12 @@ DEFINE_DEVICE_TYPE(C64_16KB, c64_16kb_cartridge_device, "c64_16kb", "C64 16KB EP // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(c64_16kb_cartridge_device::device_add_mconfig) - MCFG_GENERIC_CARTSLOT_ADD("roml", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("rom,bin,80") +void c64_16kb_cartridge_device::device_add_mconfig(machine_config &config) +{ + GENERIC_CARTSLOT(config, m_low, generic_linear_slot, nullptr, "rom,bin,80"); - MCFG_GENERIC_CARTSLOT_ADD("romh", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("rom,bin,a0,e0") -MACHINE_CONFIG_END + GENERIC_CARTSLOT(config, m_high, generic_linear_slot, nullptr, "rom,bin,a0,e0"); +} //------------------------------------------------- diff --git a/src/devices/bus/c64/dela_ep256.cpp b/src/devices/bus/c64/dela_ep256.cpp index e11b3ae8f53..0254f4ebdc4 100644 --- a/src/devices/bus/c64/dela_ep256.cpp +++ b/src/devices/bus/c64/dela_ep256.cpp @@ -22,24 +22,17 @@ DEFINE_DEVICE_TYPE(C64_DELA_EP256, c64_dela_ep256_cartridge_device, "delep256", // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(c64_dela_ep256_cartridge_device::device_add_mconfig) - MCFG_GENERIC_SOCKET_ADD("rom1", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") - MCFG_GENERIC_SOCKET_ADD("rom2", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") - MCFG_GENERIC_SOCKET_ADD("rom3", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") - MCFG_GENERIC_SOCKET_ADD("rom4", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") - MCFG_GENERIC_SOCKET_ADD("rom5", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") - MCFG_GENERIC_SOCKET_ADD("rom6", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") - MCFG_GENERIC_SOCKET_ADD("rom7", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") - MCFG_GENERIC_SOCKET_ADD("rom8", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") -MACHINE_CONFIG_END +void c64_dela_ep256_cartridge_device::device_add_mconfig(machine_config &config) +{ + GENERIC_SOCKET(config, "rom1", generic_linear_slot, nullptr, "bin,rom"); + GENERIC_SOCKET(config, "rom2", generic_linear_slot, nullptr, "bin,rom"); + GENERIC_SOCKET(config, "rom3", generic_linear_slot, nullptr, "bin,rom"); + GENERIC_SOCKET(config, "rom4", generic_linear_slot, nullptr, "bin,rom"); + GENERIC_SOCKET(config, "rom5", generic_linear_slot, nullptr, "bin,rom"); + GENERIC_SOCKET(config, "rom6", generic_linear_slot, nullptr, "bin,rom"); + GENERIC_SOCKET(config, "rom7", generic_linear_slot, nullptr, "bin,rom"); + GENERIC_SOCKET(config, "rom8", generic_linear_slot, nullptr, "bin,rom"); +} diff --git a/src/devices/bus/c64/dela_ep64.cpp b/src/devices/bus/c64/dela_ep64.cpp index c9eee384a5a..f30ad70a52e 100644 --- a/src/devices/bus/c64/dela_ep64.cpp +++ b/src/devices/bus/c64/dela_ep64.cpp @@ -22,12 +22,11 @@ DEFINE_DEVICE_TYPE(C64_DELA_EP64, c64_dela_ep64_cartridge_device, "c64_dela_ep64 // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(c64_dela_ep64_cartridge_device::device_add_mconfig) - MCFG_GENERIC_SOCKET_ADD("eprom1", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("rom,bin") - MCFG_GENERIC_SOCKET_ADD("eprom2", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("rom,bin") -MACHINE_CONFIG_END +void c64_dela_ep64_cartridge_device::device_add_mconfig(machine_config &config) +{ + GENERIC_SOCKET(config, m_eprom1, generic_linear_slot, nullptr, "rom,bin"); + GENERIC_SOCKET(config, m_eprom2, generic_linear_slot, nullptr, "rom,bin"); +} //************************************************************************** diff --git a/src/devices/bus/c64/dela_ep7x8.cpp b/src/devices/bus/c64/dela_ep7x8.cpp index 564e7196449..8841c5b2e3e 100644 --- a/src/devices/bus/c64/dela_ep7x8.cpp +++ b/src/devices/bus/c64/dela_ep7x8.cpp @@ -22,22 +22,16 @@ DEFINE_DEVICE_TYPE(C64_DELA_EP7X8, c64_dela_ep7x8_cartridge_device, "c64_dela_ep // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(c64_dela_ep7x8_cartridge_device::device_add_mconfig) - MCFG_GENERIC_SOCKET_ADD("rom1", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") - MCFG_GENERIC_SOCKET_ADD("rom2", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") - MCFG_GENERIC_SOCKET_ADD("rom3", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") - MCFG_GENERIC_SOCKET_ADD("rom4", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") - MCFG_GENERIC_SOCKET_ADD("rom5", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") - MCFG_GENERIC_SOCKET_ADD("rom6", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") - MCFG_GENERIC_SOCKET_ADD("rom7", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") -MACHINE_CONFIG_END +void c64_dela_ep7x8_cartridge_device::device_add_mconfig(machine_config &config) +{ + GENERIC_SOCKET(config, m_eprom[0], generic_linear_slot, nullptr, "bin,rom"); + GENERIC_SOCKET(config, m_eprom[1], generic_linear_slot, nullptr, "bin,rom"); + GENERIC_SOCKET(config, m_eprom[2], generic_linear_slot, nullptr, "bin,rom"); + GENERIC_SOCKET(config, m_eprom[3], generic_linear_slot, nullptr, "bin,rom"); + GENERIC_SOCKET(config, m_eprom[4], generic_linear_slot, nullptr, "bin,rom"); + GENERIC_SOCKET(config, m_eprom[5], generic_linear_slot, nullptr, "bin,rom"); + GENERIC_SOCKET(config, m_eprom[6], generic_linear_slot, nullptr, "bin,rom"); +} //************************************************************************** @@ -51,13 +45,7 @@ MACHINE_CONFIG_END c64_dela_ep7x8_cartridge_device::c64_dela_ep7x8_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, C64_DELA_EP7X8, tag, owner, clock), device_c64_expansion_card_interface(mconfig, *this), - m_eprom1(*this, "rom1"), - m_eprom2(*this, "rom2"), - m_eprom3(*this, "rom3"), - m_eprom4(*this, "rom4"), - m_eprom5(*this, "rom5"), - m_eprom6(*this, "rom6"), - m_eprom7(*this, "rom7"), m_bank(0) + m_eprom(*this, "rom%u", 1U) { } @@ -95,13 +83,13 @@ uint8_t c64_dela_ep7x8_cartridge_device::c64_cd_r(address_space &space, offs_t o offs_t addr = offset & 0x1fff; if (!BIT(m_bank, 0)) data |= m_roml[addr]; - if (!BIT(m_bank, 1)) data |= m_eprom1->read_rom(space, addr); - if (!BIT(m_bank, 2)) data |= m_eprom2->read_rom(space, addr); - if (!BIT(m_bank, 3)) data |= m_eprom3->read_rom(space, addr); - if (!BIT(m_bank, 4)) data |= m_eprom4->read_rom(space, addr); - if (!BIT(m_bank, 5)) data |= m_eprom5->read_rom(space, addr); - if (!BIT(m_bank, 6)) data |= m_eprom6->read_rom(space, addr); - if (!BIT(m_bank, 7)) data |= m_eprom7->read_rom(space, addr); + if (!BIT(m_bank, 1)) data |= m_eprom[0]->read_rom(space, addr); + if (!BIT(m_bank, 2)) data |= m_eprom[1]->read_rom(space, addr); + if (!BIT(m_bank, 3)) data |= m_eprom[2]->read_rom(space, addr); + if (!BIT(m_bank, 4)) data |= m_eprom[3]->read_rom(space, addr); + if (!BIT(m_bank, 5)) data |= m_eprom[4]->read_rom(space, addr); + if (!BIT(m_bank, 6)) data |= m_eprom[5]->read_rom(space, addr); + if (!BIT(m_bank, 7)) data |= m_eprom[6]->read_rom(space, addr); } return data; diff --git a/src/devices/bus/c64/dela_ep7x8.h b/src/devices/bus/c64/dela_ep7x8.h index 48146d1c5e1..3b5470ef0b2 100644 --- a/src/devices/bus/c64/dela_ep7x8.h +++ b/src/devices/bus/c64/dela_ep7x8.h @@ -44,13 +44,7 @@ protected: virtual void c64_cd_w(address_space &space, offs_t offset, uint8_t data, int sphi2, int ba, int roml, int romh, int io1, int io2) override; private: - required_device<generic_slot_device> m_eprom1; - required_device<generic_slot_device> m_eprom2; - required_device<generic_slot_device> m_eprom3; - required_device<generic_slot_device> m_eprom4; - required_device<generic_slot_device> m_eprom5; - required_device<generic_slot_device> m_eprom6; - required_device<generic_slot_device> m_eprom7; + required_device_array<generic_slot_device, 7> m_eprom; uint8_t m_bank; }; diff --git a/src/devices/bus/c64/fcc.cpp b/src/devices/bus/c64/fcc.cpp index 77d505e97a3..b0c91a9e098 100644 --- a/src/devices/bus/c64/fcc.cpp +++ b/src/devices/bus/c64/fcc.cpp @@ -75,10 +75,11 @@ void c64_final_chesscard_device::c64_fcc_map(address_map &map) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(c64_final_chesscard_device::device_add_mconfig) - MCFG_DEVICE_ADD(G65SC02P4_TAG, M65SC02, XTAL(5'000'000)) - MCFG_DEVICE_PROGRAM_MAP(c64_fcc_map) -MACHINE_CONFIG_END +void c64_final_chesscard_device::device_add_mconfig(machine_config &config) +{ + M65SC02(config, m_maincpu, XTAL(5'000'000)); + m_maincpu->set_addrmap(AS_PROGRAM, &c64_final_chesscard_device::c64_fcc_map); +} //------------------------------------------------- diff --git a/src/devices/bus/c64/multiscreen.cpp b/src/devices/bus/c64/multiscreen.cpp index e243a335e50..453cf350256 100644 --- a/src/devices/bus/c64/multiscreen.cpp +++ b/src/devices/bus/c64/multiscreen.cpp @@ -112,13 +112,14 @@ void c64_multiscreen_cartridge_device::multiscreen_mem(address_map &map) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(c64_multiscreen_cartridge_device::device_add_mconfig) - MCFG_DEVICE_ADD(MC6802P_TAG, M6802, XTAL(4'000'000)) - MCFG_DEVICE_PROGRAM_MAP(multiscreen_mem) +void c64_multiscreen_cartridge_device::device_add_mconfig(machine_config &config) +{ + m6802_cpu_device &cpu(M6802(config, MC6802P_TAG, XTAL(4'000'000))); + cpu.set_addrmap(AS_PROGRAM, &c64_multiscreen_cartridge_device::multiscreen_mem); - MCFG_DEVICE_ADD(MC6821P_0_TAG, PIA6821, 0) - MCFG_DEVICE_ADD(MC6821P_1_TAG, PIA6821, 0) -MACHINE_CONFIG_END + PIA6821(config, MC6821P_0_TAG, 0); + PIA6821(config, MC6821P_1_TAG, 0); +} //************************************************************************** diff --git a/src/devices/bus/c64/ps64.cpp b/src/devices/bus/c64/ps64.cpp index b70c8a61c0f..fbfad3fe7d2 100644 --- a/src/devices/bus/c64/ps64.cpp +++ b/src/devices/bus/c64/ps64.cpp @@ -61,25 +61,14 @@ DEFINE_DEVICE_TYPE(C64_PS64, c64_ps64_cartridge_device, "c64_ps64", "C64 PS-64") //------------------------------------------------- -// votrax_sc02_interface votrax_intf -//------------------------------------------------- -/* -static struct votrax_sc02_interface votrax_intf = -{ - DEVCB_NOOP -}; -*/ - - -//------------------------------------------------- // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(c64_ps64_cartridge_device::device_add_mconfig) - //MCFG_SPEAKER_STANDARD_MONO("mono") - //MCFG_VOTRAX_SC02_ADD(SSI263_TAG, 2000000, votrax_intf) - //MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) -MACHINE_CONFIG_END +void c64_ps64_cartridge_device::device_add_mconfig(machine_config &config) +{ + //SPEAKER(config, "speaker").front_center(); + //VOTRAX_SC02(config, SSI263_TAG, 2000000).add_route(ALL_OUTPUTS, "mono", 1.00); +} diff --git a/src/devices/bus/c64/reu.cpp b/src/devices/bus/c64/reu.cpp index efa415e6e39..72f3f6f73e6 100644 --- a/src/devices/bus/c64/reu.cpp +++ b/src/devices/bus/c64/reu.cpp @@ -31,12 +31,12 @@ DEFINE_DEVICE_TYPE(C64_REU1764, c64_reu1764_cartridge_device, "c64_1764reu", "17 // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(c64_reu_cartridge_device::device_add_mconfig) +void c64_reu_cartridge_device::device_add_mconfig(machine_config &config) +{ MOS8726(config, m_dmac, 1000000); // dummy clock - MCFG_GENERIC_SOCKET_ADD("rom", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") -MACHINE_CONFIG_END + GENERIC_SOCKET(config, m_eprom, generic_linear_slot, nullptr, "bin,rom"); +} diff --git a/src/devices/bus/c64/rex_ep256.cpp b/src/devices/bus/c64/rex_ep256.cpp index 67f1ce015b9..266b3b791e1 100644 --- a/src/devices/bus/c64/rex_ep256.cpp +++ b/src/devices/bus/c64/rex_ep256.cpp @@ -22,24 +22,17 @@ DEFINE_DEVICE_TYPE(C64_REX_EP256, c64_rex_ep256_cartridge_device, "rexexp256", " // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(c64_rex_ep256_cartridge_device::device_add_mconfig) - MCFG_GENERIC_SOCKET_ADD("rom1", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") - MCFG_GENERIC_SOCKET_ADD("rom2", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") - MCFG_GENERIC_SOCKET_ADD("rom3", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") - MCFG_GENERIC_SOCKET_ADD("rom4", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") - MCFG_GENERIC_SOCKET_ADD("rom5", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") - MCFG_GENERIC_SOCKET_ADD("rom6", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") - MCFG_GENERIC_SOCKET_ADD("rom7", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") - MCFG_GENERIC_SOCKET_ADD("rom8", generic_linear_slot, nullptr) - MCFG_GENERIC_EXTENSIONS("bin,rom") -MACHINE_CONFIG_END +void c64_rex_ep256_cartridge_device::device_add_mconfig(machine_config &config) +{ + GENERIC_SOCKET(config, "rom1", generic_linear_slot, nullptr, "bin,rom"); + GENERIC_SOCKET(config, "rom2", generic_linear_slot, nullptr, "bin,rom"); + GENERIC_SOCKET(config, "rom3", generic_linear_slot, nullptr, "bin,rom"); + GENERIC_SOCKET(config, "rom4", generic_linear_slot, nullptr, "bin,rom"); + GENERIC_SOCKET(config, "rom5", generic_linear_slot, nullptr, "bin,rom"); + GENERIC_SOCKET(config, "rom6", generic_linear_slot, nullptr, "bin,rom"); + GENERIC_SOCKET(config, "rom7", generic_linear_slot, nullptr, "bin,rom"); + GENERIC_SOCKET(config, "rom8", generic_linear_slot, nullptr, "bin,rom"); +} diff --git a/src/devices/bus/c64/speakeasy.cpp b/src/devices/bus/c64/speakeasy.cpp index 09427458fe7..b7be256ef86 100644 --- a/src/devices/bus/c64/speakeasy.cpp +++ b/src/devices/bus/c64/speakeasy.cpp @@ -31,12 +31,12 @@ DEFINE_DEVICE_TYPE(C64_SPEAKEASY, c64_speakeasy_cartridge_device, "c64_speakeasy // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(c64_speakeasy_cartridge_device::device_add_mconfig) +void c64_speakeasy_cartridge_device::device_add_mconfig(machine_config &config) +{ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD(SC01A_TAG, VOTRAX_SC01, 720000) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.85) -MACHINE_CONFIG_END + VOTRAX_SC01(config, m_votrax, 720000).add_route(ALL_OUTPUTS, "mono", 0.85); +} diff --git a/src/devices/bus/c64/xl80.cpp b/src/devices/bus/c64/xl80.cpp index 050bd4db64f..62cd0a8a3b9 100644 --- a/src/devices/bus/c64/xl80.cpp +++ b/src/devices/bus/c64/xl80.cpp @@ -123,12 +123,13 @@ GFXDECODE_END // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(c64_xl80_device::device_add_mconfig) - MCFG_SCREEN_ADD_MONOCHROME(MC6845_SCREEN_TAG, RASTER, rgb_t::white()) - MCFG_SCREEN_UPDATE_DEVICE(HD46505SP_TAG, h46505_device, screen_update) - MCFG_SCREEN_SIZE(80*8, 24*8) - MCFG_SCREEN_VISIBLE_AREA(0, 80*8-1, 0, 24*8-1) - MCFG_SCREEN_REFRESH_RATE(50) +void c64_xl80_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, MC6845_SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::white())); + screen.set_screen_update(HD46505SP_TAG, FUNC(h46505_device::screen_update)); + screen.set_size(80*8, 24*8); + screen.set_visarea(0, 80*8-1, 0, 24*8-1); + screen.set_refresh_hz(50); GFXDECODE(config, "gfxdecode", m_palette, gfx_c64_xl80); PALETTE(config, m_palette, palette_device::MONOCHROME); @@ -138,7 +139,7 @@ MACHINE_CONFIG_START(c64_xl80_device::device_add_mconfig) m_crtc->set_show_border_area(true); m_crtc->set_char_width(8); m_crtc->set_update_row_callback(FUNC(c64_xl80_device::crtc_update_row), this); -MACHINE_CONFIG_END +} diff --git a/src/devices/bus/cbm2/hrg.cpp b/src/devices/bus/cbm2/hrg.cpp index 1d0e4fc6191..83fab890fcb 100644 --- a/src/devices/bus/cbm2/hrg.cpp +++ b/src/devices/bus/cbm2/hrg.cpp @@ -88,12 +88,13 @@ void cbm2_hrg_b_device::hrg_b_map(address_map &map) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(cbm2_hrg_a_device::device_add_mconfig) - MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green()) - MCFG_SCREEN_UPDATE_DEVICE(EF9365_TAG, ef9365_device, screen_update) - MCFG_SCREEN_SIZE(512, 512) - MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 512-1) - MCFG_SCREEN_REFRESH_RATE(25) +void cbm2_hrg_a_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green())); + screen.set_screen_update(EF9365_TAG, FUNC(ef9365_device::screen_update)); + screen.set_size(512, 512); + screen.set_visarea(0, 512-1, 0, 512-1); + screen.set_refresh_hz(25); PALETTE(config, "palette", palette_device::MONOCHROME); EF9365(config, m_gdc, 1750000); @@ -102,14 +103,15 @@ MACHINE_CONFIG_START(cbm2_hrg_a_device::device_add_mconfig) m_gdc->set_palette_tag("palette"); m_gdc->set_nb_bitplanes(1); m_gdc->set_display_mode(ef9365_device::DISPLAY_MODE_512x512); -MACHINE_CONFIG_END - -MACHINE_CONFIG_START(cbm2_hrg_b_device::device_add_mconfig) - MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green()) - MCFG_SCREEN_UPDATE_DEVICE(EF9366_TAG, ef9365_device, screen_update) - MCFG_SCREEN_SIZE(512, 256) - MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1) - MCFG_SCREEN_REFRESH_RATE(50) +} + +void cbm2_hrg_b_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green())); + screen.set_screen_update(EF9366_TAG, FUNC(ef9365_device::screen_update)); + screen.set_size(512, 256); + screen.set_visarea(0, 512-1, 0, 256-1); + screen.set_refresh_hz(50); PALETTE(config, "palette", palette_device::MONOCHROME); EF9365(config, m_gdc, 1750000); //EF9366 @@ -118,7 +120,7 @@ MACHINE_CONFIG_START(cbm2_hrg_b_device::device_add_mconfig) m_gdc->set_palette_tag("palette"); m_gdc->set_nb_bitplanes(1); m_gdc->set_display_mode(ef9365_device::DISPLAY_MODE_512x256); -MACHINE_CONFIG_END +} diff --git a/src/devices/bus/cbmiec/c1526.cpp b/src/devices/bus/cbmiec/c1526.cpp index 6341807bd60..7123782d42c 100644 --- a/src/devices/bus/cbmiec/c1526.cpp +++ b/src/devices/bus/cbmiec/c1526.cpp @@ -88,20 +88,22 @@ void c1526_device_base::c1526_mem(address_map &map) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(c1526_device::device_add_mconfig) - MCFG_DEVICE_ADD(M6504_TAG, M6504, XTAL(4'000'000)/4) - MCFG_DEVICE_PROGRAM_MAP(c1526_mem) -MACHINE_CONFIG_END +void c1526_device::device_add_mconfig(machine_config &config) +{ + m6504_device &cpu(M6504(config, M6504_TAG, XTAL(4'000'000)/4)); + cpu.set_addrmap(AS_PROGRAM, &c1526_device::c1526_mem); +} //------------------------------------------------- // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(c4023_device::device_add_mconfig) - MCFG_DEVICE_ADD(M6504_TAG, M6504, XTAL(4'000'000)/4) - MCFG_DEVICE_PROGRAM_MAP(c1526_mem) -MACHINE_CONFIG_END +void c4023_device::device_add_mconfig(machine_config &config) +{ + m6504_device &cpu(M6504(config, M6504_TAG, XTAL(4'000'000)/4)); + cpu.set_addrmap(AS_PROGRAM, &c4023_device::c1526_mem); +} //------------------------------------------------- diff --git a/src/devices/bus/cbmiec/serialbox.cpp b/src/devices/bus/cbmiec/serialbox.cpp index b14eca1f389..ab8326528d0 100644 --- a/src/devices/bus/cbmiec/serialbox.cpp +++ b/src/devices/bus/cbmiec/serialbox.cpp @@ -69,10 +69,11 @@ void serial_box_device::serial_box_mem(address_map &map) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(serial_box_device::device_add_mconfig) - MCFG_DEVICE_ADD(M6502_TAG, M65C02, XTAL(4'000'000)/4) - MCFG_DEVICE_PROGRAM_MAP(serial_box_mem) -MACHINE_CONFIG_END +void serial_box_device::device_add_mconfig(machine_config &config) +{ + M65C02(config, m_maincpu, XTAL(4'000'000)/4); + m_maincpu->set_addrmap(AS_PROGRAM, &serial_box_device::serial_box_mem); +} diff --git a/src/devices/bus/cbmiec/vic1515.cpp b/src/devices/bus/cbmiec/vic1515.cpp index 1afc47ce807..5accd8b6858 100644 --- a/src/devices/bus/cbmiec/vic1515.cpp +++ b/src/devices/bus/cbmiec/vic1515.cpp @@ -61,11 +61,12 @@ void vic1515_device::vic1515_io(address_map &map) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(vic1515_device::device_add_mconfig) - MCFG_DEVICE_ADD("maincpu", I8039, XTAL(6'000'000)) - MCFG_DEVICE_PROGRAM_MAP(vic1515_mem) - MCFG_DEVICE_IO_MAP(vic1515_io) -MACHINE_CONFIG_END +void vic1515_device::device_add_mconfig(machine_config &config) +{ + i8039_device &maincpu(I8039(config, "maincpu", XTAL(6'000'000))); + maincpu.set_addrmap(AS_PROGRAM, &vic1515_device::vic1515_mem); + maincpu.set_addrmap(AS_IO, &vic1515_device::vic1515_io); +} //------------------------------------------------- diff --git a/src/devices/bus/cbmiec/vic1520.cpp b/src/devices/bus/cbmiec/vic1520.cpp index 0f515f8638a..8e535c230e6 100644 --- a/src/devices/bus/cbmiec/vic1520.cpp +++ b/src/devices/bus/cbmiec/vic1520.cpp @@ -94,10 +94,11 @@ void vic1520_device::vic1520_mem(address_map &map) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(vic1520_device::device_add_mconfig) - MCFG_DEVICE_ADD(M6500_1_TAG, M6502, XTAL(2'000'000)) // M6500/1 - MCFG_DEVICE_PROGRAM_MAP(vic1520_mem) -MACHINE_CONFIG_END +void vic1520_device::device_add_mconfig(machine_config &config) +{ + m6502_device &cpu(M6502(config, M6500_1_TAG, XTAL(2'000'000))); // M6500/1 + cpu.set_addrmap(AS_PROGRAM, &vic1520_device::vic1520_mem); +} //------------------------------------------------- diff --git a/src/devices/bus/cbus/pc9801_86.cpp b/src/devices/bus/cbus/pc9801_86.cpp index b5146ab6a87..f99665b7542 100644 --- a/src/devices/bus/cbus/pc9801_86.cpp +++ b/src/devices/bus/cbus/pc9801_86.cpp @@ -47,7 +47,8 @@ WRITE_LINE_MEMBER(pc9801_86_device::sound_irq) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(pc9801_86_device::pc9801_86_config) +void pc9801_86_device::pc9801_86_config(machine_config &config) +{ SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); YM2608(config, m_opna, 7.987_MHz_XTAL); @@ -62,16 +63,20 @@ MACHINE_CONFIG_START(pc9801_86_device::pc9801_86_config) m_opna->add_route(1, "lspeaker", 1.00); m_opna->add_route(2, "rspeaker", 1.00); - MCFG_DEVICE_ADD("ldac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) // burr brown pcm61p - MCFG_DEVICE_ADD("rdac", DAC_16BIT_R2R_TWOS_COMPLEMENT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) // burr brown pcm61p - MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) -MACHINE_CONFIG_END + DAC_16BIT_R2R_TWOS_COMPLEMENT(config, m_ldac, 0).add_route(ALL_OUTPUTS, "lspeaker", 1.0); // burr brown pcm61p + DAC_16BIT_R2R_TWOS_COMPLEMENT(config, m_rdac, 0).add_route(ALL_OUTPUTS, "rspeaker", 1.0); // burr brown pcm61p + voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); + vref.set_output(5.0); + vref.add_route(0, "ldac", 1.0, DAC_VREF_POS_INPUT); + vref.add_route(0, "ldac", -1.0, DAC_VREF_NEG_INPUT); + vref.add_route(0, "rdac", 1.0, DAC_VREF_POS_INPUT); + vref.add_route(0, "rdac", -1.0, DAC_VREF_NEG_INPUT); +} -MACHINE_CONFIG_START(pc9801_86_device::device_add_mconfig) +void pc9801_86_device::device_add_mconfig(machine_config &config) +{ pc9801_86_config(config); -MACHINE_CONFIG_END +} // to load a different bios for slots: // -cbusX pc9801_86,bios=N diff --git a/src/devices/bus/centronics/covox.cpp b/src/devices/bus/centronics/covox.cpp index e508578ffe6..f360b97d92a 100644 --- a/src/devices/bus/centronics/covox.cpp +++ b/src/devices/bus/centronics/covox.cpp @@ -38,13 +38,16 @@ centronics_covox_device::centronics_covox_device(const machine_config &mconfig, // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(centronics_covox_device::device_add_mconfig) +void centronics_covox_device::device_add_mconfig(machine_config &config) +{ /* sound hardware */ SPEAKER(config, "speaker").front_center(); - MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC - MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) -MACHINE_CONFIG_END + DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC + voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); + vref.set_output(5.0); + vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); + vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); +} void centronics_covox_device::device_start() { @@ -87,16 +90,20 @@ centronics_covox_stereo_device::centronics_covox_stereo_device(const machine_con // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(centronics_covox_stereo_device::device_add_mconfig) +void centronics_covox_stereo_device::device_add_mconfig(machine_config &config) +{ /* sound hardware */ SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("ldac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) // unknown DAC - MCFG_DEVICE_ADD("rdac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) // unknown DAC - MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE(0, "ldac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "ldac", -1.0, DAC_VREF_NEG_INPUT) - MCFG_SOUND_ROUTE(0, "rdac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "rdac", -1.0, DAC_VREF_NEG_INPUT) -MACHINE_CONFIG_END + DAC_8BIT_R2R(config, m_ldac, 0).add_route(ALL_OUTPUTS, "lspeaker", 0.5); // unknown DAC + DAC_8BIT_R2R(config, m_rdac, 0).add_route(ALL_OUTPUTS, "rspeaker", 0.5); // unknown DAC + voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); + vref.set_output(5.0); + vref.add_route(0, "ldac", 1.0, DAC_VREF_POS_INPUT); + vref.add_route(0, "ldac", -1.0, DAC_VREF_NEG_INPUT); + vref.add_route(0, "rdac", 1.0, DAC_VREF_POS_INPUT); + vref.add_route(0, "rdac", -1.0, DAC_VREF_NEG_INPUT); +} void centronics_covox_stereo_device::device_start() { diff --git a/src/devices/bus/centronics/digiblst.cpp b/src/devices/bus/centronics/digiblst.cpp index 99a046f4d13..680716a8a25 100644 --- a/src/devices/bus/centronics/digiblst.cpp +++ b/src/devices/bus/centronics/digiblst.cpp @@ -38,13 +38,16 @@ centronics_digiblaster_device::centronics_digiblaster_device(const machine_confi // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(centronics_digiblaster_device::device_add_mconfig) +void centronics_digiblaster_device::device_add_mconfig(machine_config &config) +{ /* sound hardware */ SPEAKER(config, "speaker").front_center(); - MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC - MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) -MACHINE_CONFIG_END + DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC + voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); + vref.set_output(5.0); + vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); + vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); +} void centronics_digiblaster_device::device_start() { diff --git a/src/devices/bus/compis/hrg.cpp b/src/devices/bus/compis/hrg.cpp index fc1665107fa..6049be0adcd 100644 --- a/src/devices/bus/compis/hrg.cpp +++ b/src/devices/bus/compis/hrg.cpp @@ -77,14 +77,15 @@ UPD7220_DISPLAY_PIXELS_MEMBER( compis_uhrg_device::display_pixels ) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(compis_hrg_device::device_add_mconfig) - MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green()) - MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) // not accurate - MCFG_SCREEN_SIZE(640, 400) - MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 400-1) - MCFG_SCREEN_UPDATE_DEVICE(UPD7220_TAG, upd7220_device, screen_update) +void compis_hrg_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green())); + screen.set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK); + screen.set_refresh_hz(50); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate + screen.set_size(640, 400); + screen.set_visarea(0, 640-1, 0, 400-1); + screen.set_screen_update(UPD7220_TAG, FUNC(upd7220_device::screen_update)); UPD7220(config, m_crtc, 2252500); // unknown clock m_crtc->set_addrmap(0, &compis_hrg_device::hrg_map); @@ -92,17 +93,18 @@ MACHINE_CONFIG_START(compis_hrg_device::device_add_mconfig) m_crtc->set_screen(SCREEN_TAG); PALETTE(config, m_palette, palette_device::MONOCHROME); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(compis_uhrg_device::device_add_mconfig) - MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green()) - MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK) - MCFG_SCREEN_REFRESH_RATE(50) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) // not accurate - MCFG_SCREEN_SIZE(1280, 800) - MCFG_SCREEN_VISIBLE_AREA(0, 1280-1, 0, 800-1) - MCFG_SCREEN_UPDATE_DEVICE(UPD7220_TAG, upd7220_device, screen_update) +void compis_uhrg_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green())); + screen.set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK); + screen.set_refresh_hz(50); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate + screen.set_size(1280, 800); + screen.set_visarea(0, 1280-1, 0, 800-1); + screen.set_screen_update(UPD7220_TAG, FUNC(upd7220_device::screen_update)); UPD7220(config, m_crtc, 2252500*2); // unknown clock m_crtc->set_addrmap(0, &compis_uhrg_device::uhrg_map); @@ -110,7 +112,7 @@ MACHINE_CONFIG_START(compis_uhrg_device::device_add_mconfig) m_crtc->set_screen(SCREEN_TAG); PALETTE(config, m_palette, palette_device::MONOCHROME); -MACHINE_CONFIG_END +} //************************************************************************** diff --git a/src/devices/bus/comx35/clm.cpp b/src/devices/bus/comx35/clm.cpp index a7809731bcd..48372080308 100644 --- a/src/devices/bus/comx35/clm.cpp +++ b/src/devices/bus/comx35/clm.cpp @@ -137,13 +137,14 @@ GFXDECODE_END // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(comx_clm_device::device_add_mconfig) - MCFG_SCREEN_ADD_MONOCHROME(MC6845_SCREEN_TAG, RASTER, rgb_t::white()) - MCFG_SCREEN_UPDATE_DEVICE(MC6845_TAG, mc6845_device, screen_update) - MCFG_SCREEN_SIZE(80*8, 24*8) - MCFG_SCREEN_VISIBLE_AREA(0, 80*8-1, 0, 24*8-1) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) - MCFG_SCREEN_REFRESH_RATE(50) +void comx_clm_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, MC6845_SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::white())); + screen.set_screen_update(MC6845_TAG, FUNC(mc6845_device::screen_update)); + screen.set_size(80*8, 24*8); + screen.set_visarea(0, 80*8-1, 0, 24*8-1); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); + screen.set_refresh_hz(50); GFXDECODE(config, "gfxdecode", m_palette, gfx_comx_clm); PALETTE(config, m_palette, palette_device::MONOCHROME); @@ -153,7 +154,7 @@ MACHINE_CONFIG_START(comx_clm_device::device_add_mconfig) m_crtc->set_show_border_area(true); m_crtc->set_char_width(8); m_crtc->set_update_row_callback(FUNC(comx_clm_device::crtc_update_row), this); -MACHINE_CONFIG_END +} //************************************************************************** diff --git a/src/devices/bus/cpc/amdrum.cpp b/src/devices/bus/cpc/amdrum.cpp index b0c0610b607..acaebe1c260 100644 --- a/src/devices/bus/cpc/amdrum.cpp +++ b/src/devices/bus/cpc/amdrum.cpp @@ -20,13 +20,16 @@ DEFINE_DEVICE_TYPE(CPC_AMDRUM, cpc_amdrum_device, "cpc_amdrum", "Amdrum") -MACHINE_CONFIG_START(cpc_amdrum_device::device_add_mconfig) +void cpc_amdrum_device::device_add_mconfig(machine_config &config) +{ SPEAKER(config, "speaker").front_center(); - MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC - MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC + voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); + vref.set_output(5.0); + vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); + vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); // no pass-through -MACHINE_CONFIG_END +} //************************************************************************** diff --git a/src/devices/bus/cpc/magicsound.cpp b/src/devices/bus/cpc/magicsound.cpp index f1a940a72c3..3d665d93800 100644 --- a/src/devices/bus/cpc/magicsound.cpp +++ b/src/devices/bus/cpc/magicsound.cpp @@ -20,7 +20,8 @@ DEFINE_DEVICE_TYPE(AL_MAGICSOUND, al_magicsound_device, "al_magicsound", "Aleste Magic Sound Board") -MACHINE_CONFIG_START(al_magicsound_device::device_add_mconfig) +void al_magicsound_device::device_add_mconfig(machine_config &config) +{ AM9517A(config, m_dmac, DERIVED_CLOCK(1, 1)); // CLK from expansion port // According to the schematics, the TC pin (EOP on western chips) is connected to NMI on the expansion port. // NMIs seem to occur too quickly when this is active, so either EOP is not triggered at the correct time, or @@ -57,11 +58,13 @@ MACHINE_CONFIG_START(al_magicsound_device::device_add_mconfig) m_timer2->set_clk<2>(4000000); SPEAKER(config, "speaker").front_center(); - MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // unknown DAC - MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) + DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC + voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); + vref.set_output(5.0); + vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); + vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); // no pass-through(?) -MACHINE_CONFIG_END +} //************************************************************************** diff --git a/src/devices/bus/interpro/keyboard/hle.cpp b/src/devices/bus/interpro/keyboard/hle.cpp index 670e5bd975c..15dd262eddf 100644 --- a/src/devices/bus/interpro/keyboard/hle.cpp +++ b/src/devices/bus/interpro/keyboard/hle.cpp @@ -277,11 +277,11 @@ WRITE_LINE_MEMBER(hle_device_base::input_txd) device_buffered_serial_interface::rx_w(state); } -MACHINE_CONFIG_START(hle_device_base::device_add_mconfig) +void hle_device_base::device_add_mconfig(machine_config &config) +{ SPEAKER(config, "bell").front_center(); - MCFG_DEVICE_ADD("beeper", BEEP, ATTOSECONDS_TO_HZ(480 * ATTOSECONDS_PER_MICROSECOND)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bell", 1.0) -MACHINE_CONFIG_END + BEEP(config, m_beeper, ATTOSECONDS_TO_HZ(480 * ATTOSECONDS_PER_MICROSECOND)).add_route(ALL_OUTPUTS, "bell", 1.0); +} void hle_device_base::device_start() { diff --git a/src/devices/bus/isa/adlib.cpp b/src/devices/bus/isa/adlib.cpp index ad2d3735d6e..6a900b0e09d 100644 --- a/src/devices/bus/isa/adlib.cpp +++ b/src/devices/bus/isa/adlib.cpp @@ -44,11 +44,11 @@ DEFINE_DEVICE_TYPE(ISA8_ADLIB, isa8_adlib_device, "isa_adlib", "Ad Lib Sound Car // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(isa8_adlib_device::device_add_mconfig) +void isa8_adlib_device::device_add_mconfig(machine_config &config) +{ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ym3812", YM3812, ym3812_StdClock) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 3.00) -MACHINE_CONFIG_END + YM3812(config, m_ym3812, ym3812_StdClock).add_route(ALL_OUTPUTS, "mono", 3.00); +} //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/isa/aga.cpp b/src/devices/bus/isa/aga.cpp index 9aa2810431b..dfdf2433c91 100644 --- a/src/devices/bus/isa/aga.cpp +++ b/src/devices/bus/isa/aga.cpp @@ -273,12 +273,13 @@ MC6845_UPDATE_ROW( isa8_aga_device::aga_update_row ) } -MACHINE_CONFIG_START(isa8_aga_device::device_add_mconfig) - MCFG_SCREEN_ADD( AGA_SCREEN_NAME, RASTER ) - MCFG_SCREEN_RAW_PARAMS( XTAL(14'318'181),912,0,640,262,0,200 ) - MCFG_SCREEN_UPDATE_DEVICE( AGA_MC6845_NAME, mc6845_device, screen_update ) +void isa8_aga_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, AGA_SCREEN_NAME, SCREEN_TYPE_RASTER)); + screen.set_raw(XTAL(14'318'181), 912, 0, 640, 262, 0, 200); + screen.set_screen_update(AGA_MC6845_NAME, FUNC(mc6845_device::screen_update)); - MCFG_PALETTE_ADD( "palette", /* CGA_PALETTE_SETS * 16*/ 65536 ) + PALETTE(config, m_palette).set_entries(/* CGA_PALETTE_SETS * 16*/ 65536); MC6845(config, m_mc6845, XTAL(14'318'181)/8); m_mc6845->set_screen(AGA_SCREEN_NAME); @@ -287,7 +288,7 @@ MACHINE_CONFIG_START(isa8_aga_device::device_add_mconfig) m_mc6845->set_update_row_callback(FUNC(isa8_aga_device::aga_update_row), this); m_mc6845->out_hsync_callback().set(FUNC(isa8_aga_device::hsync_changed)); m_mc6845->out_vsync_callback().set(FUNC(isa8_aga_device::vsync_changed)); -MACHINE_CONFIG_END +} /************************************* diff --git a/src/devices/bus/isa/aha1542.cpp b/src/devices/bus/isa/aha1542.cpp index 8e260347eee..b044c88b171 100644 --- a/src/devices/bus/isa/aha1542.cpp +++ b/src/devices/bus/isa/aha1542.cpp @@ -175,10 +175,11 @@ const tiny_rom_entry *aha1542_device::device_rom_region() const return ROM_NAME( aha1542 ); } -MACHINE_CONFIG_START(aha1542_device::device_add_mconfig) - MCFG_DEVICE_ADD(Z84C0010_TAG, Z80, XTAL(12'000'000)) - MCFG_DEVICE_PROGRAM_MAP( z84c0010_mem ) -MACHINE_CONFIG_END +void aha1542_device::device_add_mconfig(machine_config &config) +{ + z80_device &cpu(Z80(config, Z84C0010_TAG, XTAL(12'000'000))); + cpu.set_addrmap(AS_PROGRAM, &aha1542_device::z84c0010_mem); +} aha1542_device::aha1542_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, AHA1542, tag, owner, clock), diff --git a/src/devices/bus/isa/cga.cpp b/src/devices/bus/isa/cga.cpp index f5fb8f185d7..9ebb3e9bdd3 100644 --- a/src/devices/bus/isa/cga.cpp +++ b/src/devices/bus/isa/cga.cpp @@ -261,12 +261,13 @@ DEFINE_DEVICE_TYPE(ISA8_CGA, isa8_cga_device, "cga", "IBM Color/Graphics Monitor // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(isa8_cga_device::device_add_mconfig) - MCFG_SCREEN_ADD(CGA_SCREEN_NAME, RASTER) - MCFG_SCREEN_RAW_PARAMS(XTAL(14'318'181),912,0,640,262,0,200) - MCFG_SCREEN_UPDATE_DEVICE( DEVICE_SELF, isa8_cga_device, screen_update ) +void isa8_cga_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, CGA_SCREEN_NAME, SCREEN_TYPE_RASTER)); + screen.set_raw(XTAL(14'318'181), 912, 0, 640, 262, 0, 200); + screen.set_screen_update(FUNC(isa8_cga_device::screen_update)); - MCFG_PALETTE_ADD("palette", /* CGA_PALETTE_SETS * 16*/ 65536 ) + PALETTE(config, m_palette).set_entries(/* CGA_PALETTE_SETS * 16*/ 65536); MC6845(config, m_crtc, XTAL(14'318'181)/16); m_crtc->set_screen(nullptr); @@ -276,7 +277,7 @@ MACHINE_CONFIG_START(isa8_cga_device::device_add_mconfig) m_crtc->out_hsync_callback().set(FUNC(isa8_cga_device::hsync_changed)); m_crtc->out_vsync_callback().set(FUNC(isa8_cga_device::vsync_changed)); m_crtc->set_reconfigure_callback(FUNC(isa8_cga_device::reconfigure), this); -MACHINE_CONFIG_END +} ioport_constructor isa8_cga_device::device_input_ports() const { @@ -1693,13 +1694,13 @@ const tiny_rom_entry *isa8_cga_mc1502_device::device_rom_region() const DEFINE_DEVICE_TYPE(ISA8_CGA_M24, isa8_cga_m24_device, "cga_m24", "Olivetti M24 CGA") -MACHINE_CONFIG_START(isa8_cga_m24_device::device_add_mconfig) +void isa8_cga_m24_device::device_add_mconfig(machine_config &config) +{ isa8_cga_device::device_add_mconfig(config); - MCFG_DEVICE_MODIFY(CGA_SCREEN_NAME) - MCFG_SCREEN_RAW_PARAMS(XTAL(14'318'181),912,0,640,462,0,400) + subdevice<screen_device>(CGA_SCREEN_NAME)->set_raw(XTAL(14'318'181), 912, 0, 640, 462, 0, 400); m_crtc->set_reconfigure_callback(FUNC(isa8_cga_m24_device::reconfigure), this); -MACHINE_CONFIG_END +} isa8_cga_m24_device::isa8_cga_m24_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_cga_m24_device(mconfig, ISA8_CGA_M24, tag, owner, clock) @@ -1886,12 +1887,12 @@ MC6845_UPDATE_ROW( isa8_cga_m24_device::m24_gfx_1bpp_m24_update_row ) DEFINE_DEVICE_TYPE(ISA8_CGA_CPORTIII, isa8_cga_cportiii_device, "cga_cportiii", "Compaq Portable III CGA") -MACHINE_CONFIG_START(isa8_cga_cportiii_device::device_add_mconfig) +void isa8_cga_cportiii_device::device_add_mconfig(machine_config &config) +{ isa8_cga_m24_device::device_add_mconfig(config); - MCFG_DEVICE_MODIFY(CGA_SCREEN_NAME) - MCFG_SCREEN_COLOR(rgb_t(255, 125, 0)) -MACHINE_CONFIG_END + subdevice<screen_device>(CGA_SCREEN_NAME)->set_color(rgb_t(255, 125, 0)); +} isa8_cga_cportiii_device::isa8_cga_cportiii_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : isa8_cga_m24_device(mconfig, ISA8_CGA_CPORTIII, tag, owner, clock) diff --git a/src/devices/bus/isa/ega.cpp b/src/devices/bus/isa/ega.cpp index 936138bd972..a0e7484b280 100644 --- a/src/devices/bus/isa/ega.cpp +++ b/src/devices/bus/isa/ega.cpp @@ -528,13 +528,14 @@ DEFINE_DEVICE_TYPE(ISA8_EGA, isa8_ega_device, "ega", "IBM Enhanced Graphics Adap // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(isa8_ega_device::device_add_mconfig) - MCFG_SCREEN_ADD(EGA_SCREEN_NAME, RASTER) - MCFG_SCREEN_RAW_PARAMS(16.257_MHz_XTAL, 912, 0, 640, 262, 0, 200) - MCFG_SCREEN_UPDATE_DEVICE(EGA_CRTC_NAME, crtc_ega_device, screen_update) - MCFG_SCREEN_PALETTE("palette") +void isa8_ega_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, EGA_SCREEN_NAME, SCREEN_TYPE_RASTER)); + screen.set_raw(16.257_MHz_XTAL, 912, 0, 640, 262, 0, 200); + screen.set_screen_update(EGA_CRTC_NAME, FUNC(crtc_ega_device::screen_update)); + screen.set_palette(m_palette); - MCFG_PALETTE_ADD( "palette", 64 ) + PALETTE(config, m_palette).set_entries(64); CRTC_EGA(config, m_crtc_ega, 16.257_MHz_XTAL/8); m_crtc_ega->set_screen(EGA_SCREEN_NAME); @@ -544,7 +545,7 @@ MACHINE_CONFIG_START(isa8_ega_device::device_add_mconfig) m_crtc_ega->res_out_hsync_callback().set(FUNC(isa8_ega_device::hsync_changed)); m_crtc_ega->res_out_vsync_callback().set(FUNC(isa8_ega_device::vsync_changed)); m_crtc_ega->res_out_vblank_callback().set(FUNC(isa8_ega_device::vblank_changed)); -MACHINE_CONFIG_END +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/isa/eis_sad8852.cpp b/src/devices/bus/isa/eis_sad8852.cpp index 4f2b5a0c856..f4d634d1033 100644 --- a/src/devices/bus/isa/eis_sad8852.cpp +++ b/src/devices/bus/isa/eis_sad8852.cpp @@ -199,13 +199,14 @@ ioport_constructor isa16_sad8852_device::device_input_ports() const //------------------------------------------------- // Board configuration //------------------------------------------------- -MACHINE_CONFIG_START(isa16_sad8852_device::device_add_mconfig) - MCFG_DEVICE_ADD(I80188_TAG, I80188, XTAL(12'000'000) / 2) // Chip revision is 6 MHz - MCFG_DEVICE_PROGRAM_MAP( sad8852_mem ) - MCFG_DEVICE_IO_MAP(sad8852_io) +void isa16_sad8852_device::device_add_mconfig(machine_config &config) +{ + i80188_cpu_device &cpu(I80188(config, I80188_TAG, XTAL(12'000'000) / 2)); // Chip revision is 6 MHz + cpu.set_addrmap(AS_PROGRAM, &isa16_sad8852_device::sad8852_mem); + cpu.set_addrmap(AS_IO, &isa16_sad8852_device::sad8852_io); I8274_NEW(config, "terminal", XTAL(12'000'000) / 3); // Needs verification -MACHINE_CONFIG_END +} isa16_sad8852_device::isa16_sad8852_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, ISA16_SAD8852, tag, owner, clock) diff --git a/src/devices/bus/isa/finalchs.cpp b/src/devices/bus/isa/finalchs.cpp index e79dee39686..f9e6f37dc8f 100644 --- a/src/devices/bus/isa/finalchs.cpp +++ b/src/devices/bus/isa/finalchs.cpp @@ -71,10 +71,11 @@ DEFINE_DEVICE_TYPE(ISA8_FINALCHS, isa8_finalchs_device, "isa_finalchs", "Final C // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(isa8_finalchs_device::device_add_mconfig) - MCFG_DEVICE_ADD("maincpu",M65C02,5000000) - MCFG_DEVICE_PROGRAM_MAP(finalchs_mem) -MACHINE_CONFIG_END +void isa8_finalchs_device::device_add_mconfig(machine_config &config) +{ + m65c02_device &cpu(M65C02(config, "maincpu", 5000000)); + cpu.set_addrmap(AS_PROGRAM, &isa8_finalchs_device::finalchs_mem); +} //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/isa/lbaenhancer.cpp b/src/devices/bus/isa/lbaenhancer.cpp index 14bd28826ef..f8ebedb130c 100644 --- a/src/devices/bus/isa/lbaenhancer.cpp +++ b/src/devices/bus/isa/lbaenhancer.cpp @@ -84,9 +84,10 @@ const tiny_rom_entry *lba_enhancer_device::device_rom_region() const //------------------------------------------------- // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START( lba_enhancer_device::device_add_mconfig ) -// MCFG_DEVICE_ADD("lba_enhancer", lba_enhancer, 0) -MACHINE_CONFIG_END +void lba_enhancer_device::device_add_mconfig(machine_config &config) +{ +// lba_enhancer(config, "lba_enhancer", 0); +} //------------------------------------------------- diff --git a/src/devices/bus/isa/mda.cpp b/src/devices/bus/isa/mda.cpp index b638aa37ae9..35e46220cff 100644 --- a/src/devices/bus/isa/mda.cpp +++ b/src/devices/bus/isa/mda.cpp @@ -107,12 +107,13 @@ DEFINE_DEVICE_TYPE(ISA8_MDA, isa8_mda_device, "isa_ibm_mda", "IBM Monochrome Dis // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(isa8_mda_device::device_add_mconfig) - MCFG_SCREEN_ADD( MDA_SCREEN_NAME, RASTER) - MCFG_SCREEN_RAW_PARAMS(MDA_CLOCK, 882, 0, 720, 370, 0, 350 ) - MCFG_SCREEN_UPDATE_DEVICE( MC6845_NAME, mc6845_device, screen_update ) +void isa8_mda_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, MDA_SCREEN_NAME, SCREEN_TYPE_RASTER)); + screen.set_raw(MDA_CLOCK, 882, 0, 720, 370, 0, 350); + screen.set_screen_update(MC6845_NAME, FUNC(mc6845_device::screen_update)); - MCFG_PALETTE_ADD( "palette", 4 ) + PALETTE(config, m_palette).set_entries(4); MC6845(config, m_crtc, MDA_CLOCK/9); m_crtc->set_screen(MDA_SCREEN_NAME); @@ -126,7 +127,7 @@ MACHINE_CONFIG_START(isa8_mda_device::device_add_mconfig) PC_LPT(config, m_lpt); m_lpt->irq_handler().set(FUNC(isa8_mda_device::pc_cpu_line)); -MACHINE_CONFIG_END +} //------------------------------------------------- // rom_region - device-specific ROM region @@ -532,12 +533,13 @@ DEFINE_DEVICE_TYPE(ISA8_HERCULES, isa8_hercules_device, "isa_hercules", "Hercule // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(isa8_hercules_device::device_add_mconfig) - MCFG_SCREEN_ADD( HERCULES_SCREEN_NAME, RASTER) - MCFG_SCREEN_RAW_PARAMS(MDA_CLOCK, 882, 0, 720, 370, 0, 350 ) - MCFG_SCREEN_UPDATE_DEVICE( MC6845_NAME, mc6845_device, screen_update ) +void isa8_hercules_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, HERCULES_SCREEN_NAME, SCREEN_TYPE_RASTER)); + screen.set_raw(MDA_CLOCK, 882, 0, 720, 370, 0, 350); + screen.set_screen_update(MC6845_NAME, FUNC(mc6845_device::screen_update)); - MCFG_PALETTE_ADD( "palette", 4 ) + PALETTE(config, m_palette).set_entries(4); MC6845(config, m_crtc, MDA_CLOCK/9); m_crtc->set_screen(HERCULES_SCREEN_NAME); @@ -551,7 +553,7 @@ MACHINE_CONFIG_START(isa8_hercules_device::device_add_mconfig) PC_LPT(config, m_lpt); m_lpt->irq_handler().set(FUNC(isa8_mda_device::pc_cpu_line)); -MACHINE_CONFIG_END +} //------------------------------------------------- // rom_region - device-specific ROM region @@ -745,12 +747,13 @@ DEFINE_DEVICE_TYPE(ISA8_EC1840_0002, isa8_ec1840_0002_device, "ec1840_0002", "EC //------------------------------------------------- // XXX -MACHINE_CONFIG_START(isa8_ec1840_0002_device::device_add_mconfig) - MCFG_SCREEN_ADD( MDA_SCREEN_NAME, RASTER) - MCFG_SCREEN_RAW_PARAMS(MDA_CLOCK, 792, 0, 640, 370, 0, 350 ) - MCFG_SCREEN_UPDATE_DEVICE( MC6845_NAME, mc6845_device, screen_update ) +void isa8_ec1840_0002_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, MDA_SCREEN_NAME, SCREEN_TYPE_RASTER)); + screen.set_raw(MDA_CLOCK, 792, 0, 640, 370, 0, 350); + screen.set_screen_update(MC6845_NAME, FUNC(mc6845_device::screen_update)); - MCFG_PALETTE_ADD( "palette", 4 ) + PALETTE(config, m_palette).set_entries(4); MC6845(config, m_crtc, MDA_CLOCK/8); m_crtc->set_screen(MDA_SCREEN_NAME); @@ -759,7 +762,7 @@ MACHINE_CONFIG_START(isa8_ec1840_0002_device::device_add_mconfig) m_crtc->set_update_row_callback(FUNC(isa8_mda_device::crtc_update_row), this); m_crtc->out_hsync_callback().set(FUNC(isa8_mda_device::hsync_changed)); m_crtc->out_vsync_callback().set(FUNC(isa8_mda_device::vsync_changed)); -MACHINE_CONFIG_END +} //------------------------------------------------- // isa8_ec1840_0002_device - constructor diff --git a/src/devices/bus/isa/num9rev.cpp b/src/devices/bus/isa/num9rev.cpp index baf30cca586..6137ed580a7 100644 --- a/src/devices/bus/isa/num9rev.cpp +++ b/src/devices/bus/isa/num9rev.cpp @@ -53,19 +53,20 @@ UPD7220_DISPLAY_PIXELS_MEMBER( isa8_number_9_rev_device::hgdc_display_pixels ) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(isa8_number_9_rev_device::device_add_mconfig) - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_SIZE(512, 448) - MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 448-1) - MCFG_SCREEN_REFRESH_RATE(60) - MCFG_SCREEN_UPDATE_DRIVER(isa8_number_9_rev_device, screen_update) - MCFG_PALETTE_ADD("palette", 4096) +void isa8_number_9_rev_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_size(512, 448); + screen.set_visarea(0, 512-1, 0, 448-1); + screen.set_refresh_hz(60); + screen.set_screen_update(FUNC(isa8_number_9_rev_device::screen_update)); + PALETTE(config, m_palette).set_entries(4096); UPD7220(config, m_upd7220, XTAL(4'433'619)/2); // unknown clock m_upd7220->set_addrmap(0, &isa8_number_9_rev_device::upd7220_map); m_upd7220->set_display_pixels_callback(FUNC(isa8_number_9_rev_device::hgdc_display_pixels), this); m_upd7220->set_screen("screen"); -MACHINE_CONFIG_END +} //************************************************************************** // LIVE DEVICE diff --git a/src/devices/bus/isa/p1_sound.cpp b/src/devices/bus/isa/p1_sound.cpp index d855f376f12..a1711099c8d 100644 --- a/src/devices/bus/isa/p1_sound.cpp +++ b/src/devices/bus/isa/p1_sound.cpp @@ -29,7 +29,8 @@ DEFINE_DEVICE_TYPE(P1_SOUND, p1_sound_device, "p1_sound", "Poisk-1 sound card (B // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(p1_sound_device::device_add_mconfig) +void p1_sound_device::device_add_mconfig(machine_config &config) +{ I8251(config, m_midi, 0); m_midi->txd_handler().set("mdout", FUNC(midi_port_device::write_txd)); m_midi->rxrdy_handler().set(":isa", FUNC(isa8_device::irq3_w)); @@ -64,12 +65,13 @@ MACHINE_CONFIG_START(p1_sound_device::device_add_mconfig) // m_d17->out_handler<2>().set(FUNC(XXX)); SPEAKER(config, "speaker").front_center(); - MCFG_DEVICE_ADD("filter", FILTER_RC) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0) - MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "filter", 0.5) // unknown DAC - MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) -MACHINE_CONFIG_END + FILTER_RC(config, m_filter).add_route(ALL_OUTPUTS, "speaker", 1.0); + DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "filter", 0.5); // unknown DAC + voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); + vref.set_output(5.0); + vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); + vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); +} //************************************************************************** diff --git a/src/devices/bus/isa/pds.cpp b/src/devices/bus/isa/pds.cpp index 45dffd9904e..65a35db2b14 100644 --- a/src/devices/bus/isa/pds.cpp +++ b/src/devices/bus/isa/pds.cpp @@ -56,6 +56,7 @@ void isa8_pds_device::device_stop() { } -MACHINE_CONFIG_START(isa8_pds_device::device_add_mconfig) - MCFG_DEVICE_ADD("pds_ppi", I8255, 0) -MACHINE_CONFIG_END +void isa8_pds_device::device_add_mconfig(machine_config &config) +{ + I8255(config, m_ppi); +} diff --git a/src/devices/bus/isa/pgc.cpp b/src/devices/bus/isa/pgc.cpp index 4db56f5eaa4..d90badaeae7 100644 --- a/src/devices/bus/isa/pgc.cpp +++ b/src/devices/bus/isa/pgc.cpp @@ -151,30 +151,31 @@ DEFINE_DEVICE_TYPE(ISA8_PGC, isa8_pgc_device, "isa_ibm_pgc", "IBM Professional G // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(isa8_pgc_device::device_add_mconfig) - MCFG_DEVICE_ADD("maincpu", I8088, XTAL(24'000'000)/3) - MCFG_DEVICE_PROGRAM_MAP(pgc_map) +void isa8_pgc_device::device_add_mconfig(machine_config &config) +{ + I8088(config, m_cpu, XTAL(24'000'000)/3); + m_cpu->set_addrmap(AS_PROGRAM, &isa8_pgc_device::pgc_map); #if 0 - MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(isa8_pgc_device, irq_callback) + m_cpu->set_irq_acknowledge_callback(FUNC(isa8_pgc_device::irq_callback)); #endif timer_device &scantimer(TIMER(config, "scantimer")); scantimer.configure_periodic(FUNC(isa8_pgc_device::scanline_callback), attotime::from_hz(60*PGC_TOTAL_VERT)); scantimer.set_start_delay(attotime::from_hz(XTAL(50'000'000)/(2*PGC_HORZ_START))); - MCFG_SCREEN_ADD(PGC_SCREEN_NAME, RASTER) - MCFG_SCREEN_RAW_PARAMS(XTAL(50'000'000)/2, + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + m_screen->set_raw(XTAL(50'000'000)/2, PGC_TOTAL_HORZ, PGC_HORZ_START, PGC_HORZ_START+PGC_DISP_HORZ, - PGC_TOTAL_VERT, PGC_VERT_START, PGC_VERT_START+PGC_DISP_VERT) - MCFG_SCREEN_UPDATE_DRIVER(isa8_pgc_device, screen_update) - MCFG_SCREEN_PALETTE("palette") + PGC_TOTAL_VERT, PGC_VERT_START, PGC_VERT_START+PGC_DISP_VERT); + m_screen->set_screen_update(FUNC(isa8_pgc_device::screen_update)); + m_screen->set_palette(m_palette); #if 0 - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, isa8_pgc_device, vblank_irq)) + m_screen->screen_vblank().set(FUNC(isa8_pgc_device::vblank_irq)); #endif GFXDECODE(config, "gfxdecode", m_palette, gfx_pgc); - MCFG_PALETTE_ADD( "palette", 256 ) -MACHINE_CONFIG_END + PALETTE(config, m_palette).set_entries(256); +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/isa/sc499.cpp b/src/devices/bus/isa/sc499.cpp index e9ace1ddb83..92f049f0402 100644 --- a/src/devices/bus/isa/sc499.cpp +++ b/src/devices/bus/isa/sc499.cpp @@ -177,9 +177,10 @@ static INPUT_PORTS_START( sc499_port ) INPUT_PORTS_END -MACHINE_CONFIG_START(sc499_device::device_add_mconfig) - MCFG_DEVICE_ADD(SC499_CTAPE_TAG, SC499_CTAPE, 0) -MACHINE_CONFIG_END +void sc499_device::device_add_mconfig(machine_config &config) +{ + SC499_CTAPE(config, m_image, 0); +} //************************************************************************** diff --git a/src/devices/bus/isa/svga_cirrus.cpp b/src/devices/bus/isa/svga_cirrus.cpp index 444acac7c1a..bcb6b4995a1 100644 --- a/src/devices/bus/isa/svga_cirrus.cpp +++ b/src/devices/bus/isa/svga_cirrus.cpp @@ -30,14 +30,14 @@ DEFINE_DEVICE_TYPE(ISA16_SVGA_CIRRUS_GD542X, isa16_svga_cirrus_gd542x_device, "c // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(isa16_svga_cirrus_device::device_add_mconfig) - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480) - MCFG_SCREEN_UPDATE_DEVICE("vga", cirrus_gd5430_device, screen_update) +void isa16_svga_cirrus_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480); + screen.set_screen_update("vga", FUNC(cirrus_gd5430_device::screen_update)); - MCFG_DEVICE_ADD("vga", CIRRUS_GD5430, 0) - MCFG_VIDEO_SET_SCREEN("screen") -MACHINE_CONFIG_END + CIRRUS_GD5430(config, "vga", 0).set_screen("screen"); +} //------------------------------------------------- // rom_region - device-specific ROM region @@ -110,14 +110,14 @@ ROM_END // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(isa16_svga_cirrus_gd542x_device::device_add_mconfig) - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480) - MCFG_SCREEN_UPDATE_DEVICE("vga", cirrus_gd5428_device, screen_update) +void isa16_svga_cirrus_gd542x_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480); + screen.set_screen_update("vga", FUNC(cirrus_gd5428_device::screen_update)); - MCFG_DEVICE_ADD("vga", CIRRUS_GD5428, 0) - MCFG_VIDEO_SET_SCREEN("screen") -MACHINE_CONFIG_END + CIRRUS_GD5428(config, "vga", 0).set_screen("screen"); +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/isa/svga_s3.cpp b/src/devices/bus/isa/svga_s3.cpp index 1c97abc3b62..d5a2cde30bf 100644 --- a/src/devices/bus/isa/svga_s3.cpp +++ b/src/devices/bus/isa/svga_s3.cpp @@ -40,14 +40,14 @@ DEFINE_DEVICE_TYPE(ISA16_SVGA_S3, isa16_svga_s3_device, "s3_764", "Number Nine 9 // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(isa16_svga_s3_device::device_add_mconfig) - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480) - MCFG_SCREEN_UPDATE_DEVICE("vga", s3_vga_device, screen_update) +void isa16_svga_s3_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480); + screen.set_screen_update("vga", FUNC(s3_vga_device::screen_update)); - MCFG_DEVICE_ADD("vga", S3_VGA, 0) - MCFG_VIDEO_SET_SCREEN("screen") -MACHINE_CONFIG_END + S3_VGA(config, "vga", 0).set_screen("screen"); +} //------------------------------------------------- // rom_region - device-specific ROM region @@ -146,14 +146,14 @@ DEFINE_DEVICE_TYPE(ISA16_S3VIRGE, isa16_s3virge_device, "s3virge", "S3 ViRGE Gra // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(isa16_s3virge_device::device_add_mconfig) - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480) - MCFG_SCREEN_UPDATE_DEVICE("vga", s3virge_vga_device, screen_update) +void isa16_s3virge_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480); + screen.set_screen_update("vga", FUNC(s3virge_vga_device::screen_update)); - MCFG_DEVICE_ADD("vga", S3VIRGE, 0) - MCFG_VIDEO_SET_SCREEN("screen") -MACHINE_CONFIG_END + S3VIRGE(config, "vga", 0).set_screen("screen"); +} //------------------------------------------------- // rom_region - device-specific ROM region @@ -227,14 +227,14 @@ DEFINE_DEVICE_TYPE(ISA16_S3VIRGEDX, isa16_s3virgedx_device, "s3virgedx", "S3 ViR // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(isa16_s3virgedx_device::device_add_mconfig) - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480) - MCFG_SCREEN_UPDATE_DEVICE("vga", s3virgedx_vga_device, screen_update) +void isa16_s3virgedx_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480); + screen.set_screen_update("vga", FUNC(s3virgedx_vga_device::screen_update)); - MCFG_DEVICE_ADD("vga", S3VIRGEDX, 0) - MCFG_VIDEO_SET_SCREEN("screen") -MACHINE_CONFIG_END + S3VIRGEDX(config, "vga", 0).set_screen("screen"); +} //------------------------------------------------- // rom_region - device-specific ROM region @@ -309,14 +309,14 @@ DEFINE_DEVICE_TYPE(ISA16_DMS3D2KPRO, isa16_stealth3d2kpro_device, "dms3d2kp", "D // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(isa16_stealth3d2kpro_device::device_add_mconfig) - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480) - MCFG_SCREEN_UPDATE_DEVICE("vga", s3virgedx_rev1_vga_device, screen_update) +void isa16_stealth3d2kpro_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480); + screen.set_screen_update("vga", FUNC(s3virgedx_rev1_vga_device::screen_update)); - MCFG_DEVICE_ADD("vga", S3VIRGEDX1, 0) - MCFG_VIDEO_SET_SCREEN("screen") -MACHINE_CONFIG_END + S3VIRGEDX1(config, "vga", 0).set_screen("screen"); +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/isa/svga_trident.cpp b/src/devices/bus/isa/svga_trident.cpp index 79aa1dfd55f..aa7fc90b489 100644 --- a/src/devices/bus/isa/svga_trident.cpp +++ b/src/devices/bus/isa/svga_trident.cpp @@ -30,14 +30,14 @@ DEFINE_DEVICE_TYPE(ISA16_SVGA_TGUI9680, isa16_svga_tgui9680_device, "tgui9680", // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(isa16_svga_tgui9680_device::device_add_mconfig) - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480) - MCFG_SCREEN_UPDATE_DEVICE("vga", trident_vga_device, screen_update) - - MCFG_DEVICE_ADD("vga", TRIDENT_VGA, 0) - MCFG_VIDEO_SET_SCREEN("screen") -MACHINE_CONFIG_END +void isa16_svga_tgui9680_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480); + screen.set_screen_update("vga", FUNC(trident_vga_device::screen_update)); + + TRIDENT_VGA(config, "vga", 0).set_screen("screen"); +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/isa/svga_tseng.cpp b/src/devices/bus/isa/svga_tseng.cpp index fd232b01d8d..dfe39a39d8e 100644 --- a/src/devices/bus/isa/svga_tseng.cpp +++ b/src/devices/bus/isa/svga_tseng.cpp @@ -29,14 +29,14 @@ DEFINE_DEVICE_TYPE(ISA8_SVGA_ET4K, isa8_svga_et4k_device, "et4000", "SVGA Tseng // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(isa8_svga_et4k_device::device_add_mconfig) - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480) - MCFG_SCREEN_UPDATE_DEVICE("vga", tseng_vga_device, screen_update) - - MCFG_DEVICE_ADD("vga", TSENG_VGA, 0) - MCFG_VIDEO_SET_SCREEN("screen") -MACHINE_CONFIG_END +void isa8_svga_et4k_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480); + screen.set_screen_update("vga", FUNC(tseng_vga_device::screen_update)); + + TSENG_VGA(config, "vga", 0).set_screen("screen"); +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/isa/vga.cpp b/src/devices/bus/isa/vga.cpp index b8a86adbfe3..0419ecdd255 100644 --- a/src/devices/bus/isa/vga.cpp +++ b/src/devices/bus/isa/vga.cpp @@ -27,14 +27,14 @@ DEFINE_DEVICE_TYPE(ISA8_VGA, isa8_vga_device, "ibm_vga", "IBM VGA Graphics Card" // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(isa8_vga_device::device_add_mconfig) - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480) - MCFG_SCREEN_UPDATE_DEVICE("vga", vga_device, screen_update) - - MCFG_DEVICE_ADD("vga", VGA, 0) - MCFG_VIDEO_SET_SCREEN("screen") -MACHINE_CONFIG_END +void isa8_vga_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480); + screen.set_screen_update("vga", FUNC(vga_device::screen_update)); + + VGA(config, "vga", 0).set_screen("screen"); +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/isa/vga_ati.cpp b/src/devices/bus/isa/vga_ati.cpp index 650a686d4fc..bad1a47a479 100644 --- a/src/devices/bus/isa/vga_ati.cpp +++ b/src/devices/bus/isa/vga_ati.cpp @@ -76,32 +76,33 @@ DEFINE_DEVICE_TYPE(ISA16_SVGA_MACH64, isa16_vga_mach64_device, "mach64 // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(isa16_vga_gfxultra_device::device_add_mconfig) - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480) - MCFG_SCREEN_UPDATE_DEVICE("vga", ati_vga_device, screen_update) - - MCFG_DEVICE_ADD("vga", ATI_VGA, 0) - MCFG_VIDEO_SET_SCREEN("screen") -MACHINE_CONFIG_END - -MACHINE_CONFIG_START(isa16_vga_gfxultrapro_device::device_add_mconfig) - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480) - MCFG_SCREEN_UPDATE_DEVICE("vga", mach32_device, screen_update) - - MCFG_DEVICE_ADD("vga", ATIMACH32, 0) - MCFG_VIDEO_SET_SCREEN("screen") -MACHINE_CONFIG_END - -MACHINE_CONFIG_START(isa16_vga_mach64_device::device_add_mconfig) - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480) - MCFG_SCREEN_UPDATE_DEVICE("vga", mach64_device, screen_update) - - MCFG_DEVICE_ADD("vga", ATIMACH64, 0) - MCFG_VIDEO_SET_SCREEN("screen") -MACHINE_CONFIG_END +void isa16_vga_gfxultra_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480); + screen.set_screen_update("vga", FUNC(ati_vga_device::screen_update)); + + ATI_VGA(config, "vga", 0).set_screen("screen"); +} + +void isa16_vga_gfxultrapro_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480); + screen.set_screen_update("vga", FUNC(mach32_device::screen_update)); + + ATIMACH32(config, "vga", 0).set_screen("screen"); +} + +void isa16_vga_mach64_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480); + screen.set_screen_update("vga", FUNC(mach64_device::screen_update)); + + ATIMACH64(config, "vga", 0).set_screen("screen"); +} + //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/isa/wd1007a.cpp b/src/devices/bus/isa/wd1007a.cpp index 3db2db1d776..22d9863e392 100644 --- a/src/devices/bus/isa/wd1007a.cpp +++ b/src/devices/bus/isa/wd1007a.cpp @@ -45,9 +45,10 @@ wd1007a_device::wd1007a_device(const machine_config &mconfig, const char *tag, d // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(wd1007a_device::device_add_mconfig) - MCFG_DEVICE_ADD("mcu", AM8753, 10_MHz_XTAL) -MACHINE_CONFIG_END +void wd1007a_device::device_add_mconfig(machine_config &config) +{ + AM8753(config, "mcu", 10_MHz_XTAL); +} //------------------------------------------------- diff --git a/src/devices/bus/jakks_gamekey/rom.cpp b/src/devices/bus/jakks_gamekey/rom.cpp index caabfe225c2..0ca9b7024d9 100644 --- a/src/devices/bus/jakks_gamekey/rom.cpp +++ b/src/devices/bus/jakks_gamekey/rom.cpp @@ -94,9 +94,10 @@ WRITE16_MEMBER(jakks_gamekey_rom_i2c_base_device::write_cart_seeprom) // i2c 24lc04 -MACHINE_CONFIG_START(jakks_gamekey_rom_i2c_24lc04_device::device_add_mconfig) +void jakks_gamekey_rom_i2c_24lc04_device::device_add_mconfig(machine_config &config) +{ I2CMEM(config, "i2cmem", 0)/*.set_page_size(16)*/.set_data_size(0x200); // 24LC04 -MACHINE_CONFIG_END +} /*------------------------------------------------- diff --git a/src/devices/bus/megadrive/svp.cpp b/src/devices/bus/megadrive/svp.cpp index 2ed4e40ba1f..fe4ae33536e 100644 --- a/src/devices/bus/megadrive/svp.cpp +++ b/src/devices/bus/megadrive/svp.cpp @@ -347,11 +347,12 @@ void md_rom_svp_device::md_svp_ext_map(address_map &map) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(md_rom_svp_device::device_add_mconfig) - MCFG_DEVICE_ADD("svp", SSP1601, MASTER_CLOCK_NTSC / 7 * 3) /* ~23 MHz (guessed) */ - MCFG_DEVICE_PROGRAM_MAP(md_svp_ssp_map) - MCFG_DEVICE_IO_MAP(md_svp_ext_map) -MACHINE_CONFIG_END +void md_rom_svp_device::device_add_mconfig(machine_config &config) +{ + SSP1601(config, m_svp, MASTER_CLOCK_NTSC / 7 * 3); /* ~23 MHz (guessed) */ + m_svp->set_addrmap(AS_PROGRAM, &md_rom_svp_device::md_svp_ssp_map); + m_svp->set_addrmap(AS_IO, &md_rom_svp_device::md_svp_ext_map); +} ioport_constructor md_rom_svp_device::device_input_ports() const { diff --git a/src/devices/bus/msx_cart/fmpac.cpp b/src/devices/bus/msx_cart/fmpac.cpp index 36ca228b919..959b2fed0c8 100644 --- a/src/devices/bus/msx_cart/fmpac.cpp +++ b/src/devices/bus/msx_cart/fmpac.cpp @@ -29,12 +29,12 @@ msx_cart_fmpac_device::msx_cart_fmpac_device(const machine_config &mconfig, cons } -MACHINE_CONFIG_START(msx_cart_fmpac_device::device_add_mconfig) +void msx_cart_fmpac_device::device_add_mconfig(machine_config &config) +{ // This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'. SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("ym2413", YM2413, XTAL(10'738'635)/3) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) -MACHINE_CONFIG_END + YM2413(config, m_ym2413, XTAL(10'738'635)/3).add_route(ALL_OUTPUTS, "mono", 0.40); +} void msx_cart_fmpac_device::device_start() diff --git a/src/devices/bus/msx_cart/konami.cpp b/src/devices/bus/msx_cart/konami.cpp index e1d4e35321f..9236c590d64 100644 --- a/src/devices/bus/msx_cart/konami.cpp +++ b/src/devices/bus/msx_cart/konami.cpp @@ -141,12 +141,12 @@ msx_cart_konami_scc_device::msx_cart_konami_scc_device(const machine_config &mco } -MACHINE_CONFIG_START(msx_cart_konami_scc_device::device_add_mconfig) +void msx_cart_konami_scc_device::device_add_mconfig(machine_config &config) +{ // This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'. SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("k051649", K051649, XTAL(10'738'635)/3/2) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15) -MACHINE_CONFIG_END + K051649(config, m_k051649, XTAL(10'738'635)/3/2).add_route(ALL_OUTPUTS, "mono", 0.15); +} void msx_cart_konami_scc_device::device_start() @@ -472,13 +472,16 @@ msx_cart_synthesizer_device::msx_cart_synthesizer_device(const machine_config &m } -MACHINE_CONFIG_START(msx_cart_synthesizer_device::device_add_mconfig) +void msx_cart_synthesizer_device::device_add_mconfig(machine_config &config) +{ // This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'. SPEAKER(config, "speaker").front_center(); - MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1) // unknown DAC - MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) -MACHINE_CONFIG_END + DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.1); // unknown DAC + voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); + vref.set_output(5.0); + vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); + vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); +} void msx_cart_synthesizer_device::device_start() @@ -545,12 +548,12 @@ msx_cart_konami_sound_device::msx_cart_konami_sound_device(const machine_config } -MACHINE_CONFIG_START(msx_cart_konami_sound_device::device_add_mconfig) +void msx_cart_konami_sound_device::device_add_mconfig(machine_config &config) +{ // This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'. SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("k052539", K051649, XTAL(10'738'635)/3/2) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15) -MACHINE_CONFIG_END + K051649(config, m_k052539, XTAL(10'738'635)/3/2).add_route(ALL_OUTPUTS, "mono", 0.15); +} void msx_cart_konami_sound_device::device_start() @@ -872,13 +875,14 @@ void msx_cart_keyboard_master_device::vlm_map(address_map &map) } -MACHINE_CONFIG_START(msx_cart_keyboard_master_device::device_add_mconfig) +void msx_cart_keyboard_master_device::device_add_mconfig(machine_config &config) +{ // This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'. SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("vlm5030", VLM5030, XTAL(3'579'545)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) - MCFG_DEVICE_ADDRESS_MAP(0, vlm_map) -MACHINE_CONFIG_END + VLM5030(config, m_vlm5030, XTAL(3'579'545)); + m_vlm5030->add_route(ALL_OUTPUTS, "mono", 0.40); + m_vlm5030->set_addrmap(0, &msx_cart_keyboard_master_device::vlm_map); +} void msx_cart_keyboard_master_device::device_start() diff --git a/src/devices/bus/msx_cart/majutsushi.cpp b/src/devices/bus/msx_cart/majutsushi.cpp index ef76b62af2a..952755ffe03 100644 --- a/src/devices/bus/msx_cart/majutsushi.cpp +++ b/src/devices/bus/msx_cart/majutsushi.cpp @@ -26,13 +26,16 @@ msx_cart_majutsushi_device::msx_cart_majutsushi_device(const machine_config &mco } -MACHINE_CONFIG_START(msx_cart_majutsushi_device::device_add_mconfig) +void msx_cart_majutsushi_device::device_add_mconfig(machine_config &config) +{ // This is actually incorrect. The sound output is passed back into the MSX machine where it is mixed internally and output through the system 'speaker'. SPEAKER(config, "speaker").front_center(); - MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.05) // unknown DAC - MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0) - MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT) -MACHINE_CONFIG_END + DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.05); // unknown DAC + voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); + vref.set_output(5.0); + vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); + vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); +} void msx_cart_majutsushi_device::device_start() diff --git a/src/devices/bus/nasbus/avc.cpp b/src/devices/bus/nasbus/avc.cpp index a0a71da3666..bf905542e8d 100644 --- a/src/devices/bus/nasbus/avc.cpp +++ b/src/devices/bus/nasbus/avc.cpp @@ -22,10 +22,11 @@ DEFINE_DEVICE_TYPE(NASCOM_AVC, nascom_avc_device, "nascom_avc", "Nascom Advanced // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(nascom_avc_device::device_add_mconfig) - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_RAW_PARAMS(16250000, 1024, 0, 768, 320, 0, 256) - MCFG_SCREEN_UPDATE_DEVICE("mc6845", mc6845_device, screen_update) +void nascom_avc_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_raw(16250000, 1024, 0, 768, 320, 0, 256); + screen.set_screen_update("mc6845", FUNC(mc6845_device::screen_update)); PALETTE(config, m_palette, palette_device::RGB_3BIT); @@ -34,7 +35,7 @@ MACHINE_CONFIG_START(nascom_avc_device::device_add_mconfig) m_crtc->set_show_border_area(false); m_crtc->set_char_width(6); m_crtc->set_update_row_callback(FUNC(nascom_avc_device::crtc_update_row), this); -MACHINE_CONFIG_END +} //************************************************************************** diff --git a/src/devices/bus/nes/konami.cpp b/src/devices/bus/nes/konami.cpp index cac5670a574..2963336f92e 100644 --- a/src/devices/bus/nes/konami.cpp +++ b/src/devices/bus/nes/konami.cpp @@ -637,16 +637,15 @@ WRITE8_MEMBER(nes_konami_vrc6_device::write_h) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(nes_konami_vrc6_device::device_add_mconfig) - +void nes_konami_vrc6_device::device_add_mconfig(machine_config &config) +{ // additional sound hardware SPEAKER(config, "addon").front_center(); // TODO: this is not how VRC6 clock signaling works! // The board uses the CLK pin in reality, not hardcoded NTSC values! - MCFG_DEVICE_ADD("vrc6snd", VRC6, XTAL(21'477'272)/12) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.5) -MACHINE_CONFIG_END + VRC6(config, m_vrc6snd, XTAL(21'477'272)/12).add_route(ALL_OUTPUTS, "addon", 0.5); +} /*------------------------------------------------- @@ -761,13 +760,12 @@ WRITE8_MEMBER(nes_konami_vrc7_device::write_h) // FIXME: we currently emulate this as a base YM2413! -MACHINE_CONFIG_START(nes_konami_vrc7_device::device_add_mconfig) - +void nes_konami_vrc7_device::device_add_mconfig(machine_config &config) +{ // additional sound hardware SPEAKER(config, "addon").front_center(); // TODO: this is not how VRC7 clock signaling works! // The board uses the CLK pin in reality, not hardcoded NTSC values! - MCFG_DEVICE_ADD("ym", YM2413, XTAL(21'477'272)/12) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.5) -MACHINE_CONFIG_END + YM2413(config, m_ym2413, XTAL(21'477'272)/12).add_route(ALL_OUTPUTS, "addon", 0.5); +} diff --git a/src/devices/bus/nubus/nubus_48gc.cpp b/src/devices/bus/nubus/nubus_48gc.cpp index e089e1986db..86f4fca21ec 100644 --- a/src/devices/bus/nubus/nubus_48gc.cpp +++ b/src/devices/bus/nubus/nubus_48gc.cpp @@ -39,15 +39,16 @@ DEFINE_DEVICE_TYPE(NUBUS_824GC, nubus_824gc_device, "nb_824gc", "Apple 8*24 vide // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(jmfb_device::device_add_mconfig) - MCFG_SCREEN_ADD(GC48_SCREEN_NAME, RASTER) - MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, jmfb_device, screen_update) - MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480) -// MCFG_SCREEN_SIZE(1152, 870) -// MCFG_SCREEN_VISIBLE_AREA(0, 1152-1, 0, 870-1) -// MCFG_SCREEN_REFRESH_RATE(75) -// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(1260)) -MACHINE_CONFIG_END +void jmfb_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, GC48_SCREEN_NAME, SCREEN_TYPE_RASTER)); + screen.set_screen_update(FUNC(jmfb_device::screen_update)); + screen.set_raw(25175000, 800, 0, 640, 525, 0, 480); +// screen.set_size(1152, 870); +// screen.set_visarea(0, 1152-1, 0, 870-1); +// screen.set_refresh_hz(75); +// screen.set_vblank_time(ATTOSECONDS_IN_USEC(1260)); +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/nubus/nubus_cb264.cpp b/src/devices/bus/nubus/nubus_cb264.cpp index 9efb5e6d088..01bff0877da 100644 --- a/src/devices/bus/nubus/nubus_cb264.cpp +++ b/src/devices/bus/nubus/nubus_cb264.cpp @@ -40,13 +40,14 @@ DEFINE_DEVICE_TYPE(NUBUS_CB264, nubus_cb264_device, "nb_c264", "RasterOps ColorB // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(nubus_cb264_device::device_add_mconfig) - MCFG_SCREEN_ADD( CB264_SCREEN_NAME, RASTER) - MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_cb264_device, screen_update) - MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480) - MCFG_SCREEN_SIZE(1024,768) - MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1) -MACHINE_CONFIG_END +void nubus_cb264_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, CB264_SCREEN_NAME, SCREEN_TYPE_RASTER)); + screen.set_screen_update(FUNC(nubus_cb264_device::screen_update)); + screen.set_raw(25175000, 800, 0, 640, 525, 0, 480); + screen.set_size(1024, 768); + screen.set_visarea(0, 640-1, 0, 480-1); +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/nubus/nubus_image.cpp b/src/devices/bus/nubus/nubus_image.cpp index 1618bda4da7..8e2d39fb943 100644 --- a/src/devices/bus/nubus/nubus_image.cpp +++ b/src/devices/bus/nubus/nubus_image.cpp @@ -130,9 +130,10 @@ DEFINE_DEVICE_TYPE(NUBUS_IMAGE, nubus_image_device, "nb_image", "NuBus Disk Imag // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(nubus_image_device::device_add_mconfig) - MCFG_DEVICE_ADD(IMAGE_DISK0_TAG, MESSIMG_DISK, 0) -MACHINE_CONFIG_END +void nubus_image_device::device_add_mconfig(machine_config &config) +{ + MESSIMG_DISK(config, IMAGE_DISK0_TAG, 0); +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/nubus/nubus_m2hires.cpp b/src/devices/bus/nubus/nubus_m2hires.cpp index 6ac472eeb5b..c575f7d94b1 100644 --- a/src/devices/bus/nubus/nubus_m2hires.cpp +++ b/src/devices/bus/nubus/nubus_m2hires.cpp @@ -36,13 +36,14 @@ DEFINE_DEVICE_TYPE(NUBUS_M2HIRES, nubus_m2hires_device, "nb_m2hr", "Macintosh II // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(nubus_m2hires_device::device_add_mconfig) - MCFG_SCREEN_ADD( M2HIRES_SCREEN_NAME, RASTER) - MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_m2hires_device, screen_update) - MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480) - MCFG_SCREEN_SIZE(1024,768) - MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1) -MACHINE_CONFIG_END +void nubus_m2hires_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, M2HIRES_SCREEN_NAME, SCREEN_TYPE_RASTER)); + screen.set_screen_update(FUNC(nubus_m2hires_device::screen_update)); + screen.set_raw(25175000, 800, 0, 640, 525, 0, 480); + screen.set_size(1024, 768); + screen.set_visarea(0, 640-1, 0, 480-1); +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/nubus/nubus_m2video.cpp b/src/devices/bus/nubus/nubus_m2video.cpp index d7eea8cf22e..b16391b640d 100644 --- a/src/devices/bus/nubus/nubus_m2video.cpp +++ b/src/devices/bus/nubus/nubus_m2video.cpp @@ -38,13 +38,14 @@ DEFINE_DEVICE_TYPE(NUBUS_M2VIDEO, nubus_m2video_device, "nb_m2vc", "Macintosh II // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(nubus_m2video_device::device_add_mconfig) - MCFG_SCREEN_ADD(M2VIDEO_SCREEN_NAME, RASTER) - MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_m2video_device, screen_update) - MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480) - MCFG_SCREEN_SIZE(1024,768) - MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1) -MACHINE_CONFIG_END +void nubus_m2video_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, M2VIDEO_SCREEN_NAME, SCREEN_TYPE_RASTER)); + screen.set_screen_update(FUNC(nubus_m2video_device::screen_update)); + screen.set_raw(25175000, 800, 0, 640, 525, 0, 480); + screen.set_size(1024, 768); + screen.set_visarea(0, 640-1, 0, 480-1); +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/nubus/nubus_spec8.cpp b/src/devices/bus/nubus/nubus_spec8.cpp index d3d45d9b076..1353d3b9a9d 100644 --- a/src/devices/bus/nubus/nubus_spec8.cpp +++ b/src/devices/bus/nubus/nubus_spec8.cpp @@ -40,13 +40,14 @@ DEFINE_DEVICE_TYPE(NUBUS_SPEC8S3, nubus_spec8s3_device, "nb_sp8s3", "SuperMac Sp // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(nubus_spec8s3_device::device_add_mconfig) - MCFG_SCREEN_ADD( SPEC8S3_SCREEN_NAME, RASTER) - MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_spec8s3_device, screen_update) - MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480) - MCFG_SCREEN_SIZE(1024,768) - MCFG_SCREEN_VISIBLE_AREA(0, 1024-1, 0, 768-1) -MACHINE_CONFIG_END +void nubus_spec8s3_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, SPEC8S3_SCREEN_NAME, SCREEN_TYPE_RASTER)); + screen.set_screen_update(FUNC(nubus_spec8s3_device::screen_update)); + screen.set_raw(25175000, 800, 0, 640, 525, 0, 480); + screen.set_size(1024, 768); + screen.set_visarea(0, 1024-1, 0, 768-1); +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/nubus/nubus_specpdq.cpp b/src/devices/bus/nubus/nubus_specpdq.cpp index ecdac5a9956..2e09a258bd2 100644 --- a/src/devices/bus/nubus/nubus_specpdq.cpp +++ b/src/devices/bus/nubus/nubus_specpdq.cpp @@ -54,15 +54,16 @@ DEFINE_DEVICE_TYPE(NUBUS_SPECPDQ, nubus_specpdq_device, "nb_spdq", "SuperMac Spe // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(nubus_specpdq_device::device_add_mconfig) - MCFG_SCREEN_ADD( SPECPDQ_SCREEN_NAME, RASTER) - MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_specpdq_device, screen_update) - MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480) - MCFG_SCREEN_SIZE(1280,1024) - MCFG_SCREEN_VISIBLE_AREA(0, 1152-1, 0, 844-1) - - MCFG_PALETTE_ADD("palette", 256) -MACHINE_CONFIG_END +void nubus_specpdq_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, SPECPDQ_SCREEN_NAME, SCREEN_TYPE_RASTER)); + screen.set_screen_update(FUNC(nubus_specpdq_device::screen_update)); + screen.set_raw(25175000, 800, 0, 640, 525, 0, 480); + screen.set_size(1280, 1024); + screen.set_visarea(0, 1152-1, 0, 844-1); + + PALETTE(config, m_palette).set_entries(256); +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/nubus/nubus_vikbw.cpp b/src/devices/bus/nubus/nubus_vikbw.cpp index 040f452b2d2..ab3af18fe72 100644 --- a/src/devices/bus/nubus/nubus_vikbw.cpp +++ b/src/devices/bus/nubus/nubus_vikbw.cpp @@ -36,13 +36,14 @@ DEFINE_DEVICE_TYPE(NUBUS_VIKBW, nubus_vikbw_device, "nb_vikbw", "Moniterm Viking // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(nubus_vikbw_device::device_add_mconfig) - MCFG_SCREEN_ADD( VIKBW_SCREEN_NAME, RASTER) - MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_vikbw_device, screen_update) - MCFG_SCREEN_SIZE(1024,768) - MCFG_SCREEN_VISIBLE_AREA(0, 1024-1, 0, 768-1) - MCFG_SCREEN_REFRESH_RATE(70) -MACHINE_CONFIG_END +void nubus_vikbw_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, VIKBW_SCREEN_NAME, SCREEN_TYPE_RASTER)); + screen.set_screen_update(FUNC(nubus_vikbw_device::screen_update)); + screen.set_size(1024, 768); + screen.set_visarea(0, 1024-1, 0, 768-1); + screen.set_refresh_hz(70); +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/nubus/nubus_wsportrait.cpp b/src/devices/bus/nubus/nubus_wsportrait.cpp index 19c25347738..12702c052a6 100644 --- a/src/devices/bus/nubus/nubus_wsportrait.cpp +++ b/src/devices/bus/nubus/nubus_wsportrait.cpp @@ -39,13 +39,14 @@ DEFINE_DEVICE_TYPE(NUBUS_WSPORTRAIT, nubus_wsportrait_device, "nb_wspt", "Macint // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(nubus_wsportrait_device::device_add_mconfig) - MCFG_SCREEN_ADD( WSPORTRAIT_SCREEN_NAME, RASTER) - MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_wsportrait_device, screen_update) - MCFG_SCREEN_SIZE(1024,960) - MCFG_SCREEN_REFRESH_RATE(75.0) - MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 870-1) -MACHINE_CONFIG_END +void nubus_wsportrait_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, WSPORTRAIT_SCREEN_NAME, SCREEN_TYPE_RASTER)); + screen.set_screen_update(FUNC(nubus_wsportrait_device::screen_update)); + screen.set_size(1024, 960); + screen.set_refresh_hz(75.0); + screen.set_visarea(0, 640-1, 0, 870-1); +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/nubus/pds30_30hr.cpp b/src/devices/bus/nubus/pds30_30hr.cpp index 8888c50b5fa..190872708f6 100644 --- a/src/devices/bus/nubus/pds30_30hr.cpp +++ b/src/devices/bus/nubus/pds30_30hr.cpp @@ -39,13 +39,14 @@ DEFINE_DEVICE_TYPE(PDS030_XCEED30HR, nubus_xceed30hr_device, "pd3_30hr", "Micron // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(nubus_xceed30hr_device::device_add_mconfig) - MCFG_SCREEN_ADD( XCEED30HR_SCREEN_NAME, RASTER) - MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_xceed30hr_device, screen_update) - MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480) - MCFG_SCREEN_SIZE(1024,768) - MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1) -MACHINE_CONFIG_END +void nubus_xceed30hr_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, XCEED30HR_SCREEN_NAME, SCREEN_TYPE_RASTER)); + screen.set_screen_update(FUNC(nubus_xceed30hr_device::screen_update)); + screen.set_raw(25175000, 800, 0, 640, 525, 0, 480); + screen.set_size(1024, 768); + screen.set_visarea(0, 640-1, 0, 480-1); +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/nubus/pds30_cb264.cpp b/src/devices/bus/nubus/pds30_cb264.cpp index 6ec398a5257..4d153596fe0 100644 --- a/src/devices/bus/nubus/pds30_cb264.cpp +++ b/src/devices/bus/nubus/pds30_cb264.cpp @@ -32,13 +32,14 @@ DEFINE_DEVICE_TYPE(PDS030_CB264SE30, nubus_cb264se30_device, "pd3_c264", "Raster // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(nubus_cb264se30_device::device_add_mconfig) - MCFG_SCREEN_ADD( CB264SE30_SCREEN_NAME, RASTER) - MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_cb264se30_device, screen_update) - MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480) - MCFG_SCREEN_SIZE(1024,768) - MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1) -MACHINE_CONFIG_END +void nubus_cb264se30_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, CB264SE30_SCREEN_NAME, SCREEN_TYPE_RASTER)); + screen.set_screen_update(FUNC(nubus_cb264se30_device::screen_update)); + screen.set_raw(25175000, 800, 0, 640, 525, 0, 480); + screen.set_size(1024, 768); + screen.set_visarea(0, 640-1, 0, 480-1); +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/nubus/pds30_mc30.cpp b/src/devices/bus/nubus/pds30_mc30.cpp index a314b7f9981..6770b517deb 100644 --- a/src/devices/bus/nubus/pds30_mc30.cpp +++ b/src/devices/bus/nubus/pds30_mc30.cpp @@ -35,13 +35,14 @@ DEFINE_DEVICE_TYPE(PDS030_XCEEDMC30, nubus_xceedmc30_device, "pd3_mclr", "Micron // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(nubus_xceedmc30_device::device_add_mconfig) - MCFG_SCREEN_ADD( XCEEDMC30_SCREEN_NAME, RASTER) - MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_xceedmc30_device, screen_update) - MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480) - MCFG_SCREEN_SIZE(1024,768) - MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1) -MACHINE_CONFIG_END +void nubus_xceedmc30_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, XCEEDMC30_SCREEN_NAME, SCREEN_TYPE_RASTER)); + screen.set_screen_update(FUNC(nubus_xceedmc30_device::screen_update)); + screen.set_raw(25175000, 800, 0, 640, 525, 0, 480); + screen.set_size(1024, 768); + screen.set_visarea(0, 640-1, 0, 480-1); +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/nubus/pds30_procolor816.cpp b/src/devices/bus/nubus/pds30_procolor816.cpp index db1c02fea31..440ba6c86d7 100644 --- a/src/devices/bus/nubus/pds30_procolor816.cpp +++ b/src/devices/bus/nubus/pds30_procolor816.cpp @@ -38,13 +38,14 @@ DEFINE_DEVICE_TYPE(PDS030_PROCOLOR816, nubus_procolor816_device, "pd3_pc16", "La // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(nubus_procolor816_device::device_add_mconfig) - MCFG_SCREEN_ADD( PROCOLOR816_SCREEN_NAME, RASTER) - MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_procolor816_device, screen_update) - MCFG_SCREEN_RAW_PARAMS(25175000, 800, 0, 640, 525, 0, 480) - MCFG_SCREEN_SIZE(1024,768) - MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1) -MACHINE_CONFIG_END +void nubus_procolor816_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, PROCOLOR816_SCREEN_NAME, SCREEN_TYPE_RASTER)); + screen.set_screen_update(FUNC(nubus_procolor816_device::screen_update)); + screen.set_raw(25175000, 800, 0, 640, 525, 0, 480); + screen.set_size(1024, 768); + screen.set_visarea(0, 640-1, 0, 480-1); +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/nubus/pds30_sigmalview.cpp b/src/devices/bus/nubus/pds30_sigmalview.cpp index ea05362d8ea..51f27a03713 100644 --- a/src/devices/bus/nubus/pds30_sigmalview.cpp +++ b/src/devices/bus/nubus/pds30_sigmalview.cpp @@ -32,13 +32,14 @@ DEFINE_DEVICE_TYPE(PDS030_LVIEW, nubus_lview_device, "pd3_lviw", "Sigma Designs // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(nubus_lview_device::device_add_mconfig) - MCFG_SCREEN_ADD( LVIEW_SCREEN_NAME, RASTER) - MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, nubus_lview_device, screen_update) - MCFG_SCREEN_SIZE(832,600) - MCFG_SCREEN_REFRESH_RATE(70) - MCFG_SCREEN_VISIBLE_AREA(0, 832-1, 0, 600-1) -MACHINE_CONFIG_END +void nubus_lview_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, LVIEW_SCREEN_NAME, SCREEN_TYPE_RASTER)); + screen.set_screen_update(FUNC(nubus_lview_device::screen_update)); + screen.set_size(832, 600); + screen.set_refresh_hz(70); + screen.set_visarea(0, 832-1, 0, 600-1); +} //------------------------------------------------- // rom_region - device-specific ROM region diff --git a/src/devices/bus/pet/hsg.cpp b/src/devices/bus/pet/hsg.cpp index fe51ba28bd9..62b60d496a8 100644 --- a/src/devices/bus/pet/hsg.cpp +++ b/src/devices/bus/pet/hsg.cpp @@ -91,12 +91,13 @@ void cbm8000_hsg_b_device::hsg_b_map(address_map &map) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(cbm8000_hsg_a_device::device_add_mconfig) - MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green()) - MCFG_SCREEN_UPDATE_DEVICE(EF9365_TAG, ef9365_device, screen_update) - MCFG_SCREEN_SIZE(512, 512) - MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 512-1) - MCFG_SCREEN_REFRESH_RATE(25) +void cbm8000_hsg_a_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green())); + screen.set_screen_update(EF9365_TAG, FUNC(ef9365_device::screen_update)); + screen.set_size(512, 512); + screen.set_visarea(0, 512-1, 0, 512-1); + screen.set_refresh_hz(25); PALETTE(config, "palette", palette_device::MONOCHROME); EF9365(config, m_gdc, 1750000); @@ -105,14 +106,15 @@ MACHINE_CONFIG_START(cbm8000_hsg_a_device::device_add_mconfig) m_gdc->set_palette_tag("palette"); m_gdc->set_nb_bitplanes(1); m_gdc->set_display_mode(ef9365_device::DISPLAY_MODE_512x512); -MACHINE_CONFIG_END - -MACHINE_CONFIG_START(cbm8000_hsg_b_device::device_add_mconfig) - MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green()) - MCFG_SCREEN_UPDATE_DEVICE(EF9366_TAG, ef9365_device, screen_update) - MCFG_SCREEN_SIZE(512, 256) - MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1) - MCFG_SCREEN_REFRESH_RATE(50) +} + +void cbm8000_hsg_b_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green())); + screen.set_screen_update(EF9366_TAG, FUNC(ef9365_device::screen_update)); + screen.set_size(512, 256); + screen.set_visarea(0, 512-1, 0, 256-1); + screen.set_refresh_hz(50); PALETTE(config, "palette", palette_device::MONOCHROME); EF9365(config, m_gdc, 1750000); //EF9366 @@ -121,7 +123,7 @@ MACHINE_CONFIG_START(cbm8000_hsg_b_device::device_add_mconfig) m_gdc->set_palette_tag("palette"); m_gdc->set_nb_bitplanes(1); m_gdc->set_display_mode(ef9365_device::DISPLAY_MODE_512x256); -MACHINE_CONFIG_END +} diff --git a/src/devices/bus/snes/upd.cpp b/src/devices/bus/snes/upd.cpp index 462ab0faf98..d9d81837c30 100644 --- a/src/devices/bus/snes/upd.cpp +++ b/src/devices/bus/snes/upd.cpp @@ -132,11 +132,12 @@ void sns_rom20_necdsp_device::dsp_data_map_lorom(address_map &map) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(sns_rom20_necdsp_device::device_add_mconfig) - MCFG_DEVICE_ADD("dsp", UPD7725, 8000000) - MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_lorom) - MCFG_DEVICE_DATA_MAP(dsp_data_map_lorom) -MACHINE_CONFIG_END +void sns_rom20_necdsp_device::device_add_mconfig(machine_config &config) +{ + UPD7725(config, m_upd7725, 8000000); + m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom20_necdsp_device::dsp_prg_map_lorom); + m_upd7725->set_addrmap(AS_DATA, &sns_rom20_necdsp_device::dsp_data_map_lorom); +} READ8_MEMBER( sns_rom20_necdsp_device::chip_read ) { @@ -189,11 +190,12 @@ void sns_rom21_necdsp_device::dsp_data_map_hirom(address_map &map) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(sns_rom21_necdsp_device::device_add_mconfig) - MCFG_DEVICE_ADD("dsp", UPD7725, 8000000) - MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_hirom) - MCFG_DEVICE_DATA_MAP(dsp_data_map_hirom) -MACHINE_CONFIG_END +void sns_rom21_necdsp_device::device_add_mconfig(machine_config &config) +{ + UPD7725(config, m_upd7725, 8000000); + m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom21_necdsp_device::dsp_prg_map_hirom); + m_upd7725->set_addrmap(AS_DATA, &sns_rom21_necdsp_device::dsp_data_map_hirom); +} READ8_MEMBER( sns_rom21_necdsp_device::chip_read ) { @@ -300,18 +302,20 @@ void sns_rom_setadsp_device::st01x_data_map(address_map &map) // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(sns_rom_seta10dsp_device::device_add_mconfig) - MCFG_DEVICE_ADD("dsp", UPD96050, 10000000) - MCFG_DEVICE_PROGRAM_MAP(st01x_prg_map) - MCFG_DEVICE_DATA_MAP(st01x_data_map) -MACHINE_CONFIG_END +void sns_rom_seta10dsp_device::device_add_mconfig(machine_config &config) +{ + UPD96050(config, m_upd96050, 10000000); + m_upd96050->set_addrmap(AS_PROGRAM, &sns_rom_seta10dsp_device::st01x_prg_map); + m_upd96050->set_addrmap(AS_DATA, &sns_rom_seta10dsp_device::st01x_data_map); +} -MACHINE_CONFIG_START(sns_rom_seta11dsp_device::device_add_mconfig) - MCFG_DEVICE_ADD("dsp", UPD96050, 15000000) - MCFG_DEVICE_PROGRAM_MAP(st01x_prg_map) - MCFG_DEVICE_DATA_MAP(st01x_data_map) -MACHINE_CONFIG_END +void sns_rom_seta11dsp_device::device_add_mconfig(machine_config &config) +{ + UPD96050(config, m_upd96050, 15000000); + m_upd96050->set_addrmap(AS_PROGRAM, &sns_rom_seta11dsp_device::st01x_prg_map); + m_upd96050->set_addrmap(AS_DATA, &sns_rom_seta11dsp_device::st01x_data_map); +} // To make faster DSP access to its internal rom, let's install read banks and map m_bios there with correct byte order @@ -411,53 +415,61 @@ sns_rom_seta11dsp_legacy_device::sns_rom_seta11dsp_legacy_device(const machine_c } -MACHINE_CONFIG_START(sns_rom20_necdsp1_legacy_device::device_add_mconfig) - MCFG_DEVICE_ADD("dsp", UPD7725, 8000000) - MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_lorom) - MCFG_DEVICE_DATA_MAP(dsp_data_map_lorom) -MACHINE_CONFIG_END - -MACHINE_CONFIG_START(sns_rom20_necdsp1b_legacy_device::device_add_mconfig) - MCFG_DEVICE_ADD("dsp", UPD7725, 8000000) - MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_lorom) - MCFG_DEVICE_DATA_MAP(dsp_data_map_lorom) -MACHINE_CONFIG_END - -MACHINE_CONFIG_START(sns_rom20_necdsp2_legacy_device::device_add_mconfig) - MCFG_DEVICE_ADD("dsp", UPD7725, 8000000) - MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_lorom) - MCFG_DEVICE_DATA_MAP(dsp_data_map_lorom) -MACHINE_CONFIG_END - -MACHINE_CONFIG_START(sns_rom20_necdsp3_legacy_device::device_add_mconfig) - MCFG_DEVICE_ADD("dsp", UPD7725, 8000000) - MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_lorom) - MCFG_DEVICE_DATA_MAP(dsp_data_map_lorom) -MACHINE_CONFIG_END - -MACHINE_CONFIG_START(sns_rom20_necdsp4_legacy_device::device_add_mconfig) - MCFG_DEVICE_ADD("dsp", UPD7725, 8000000) - MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_lorom) - MCFG_DEVICE_DATA_MAP(dsp_data_map_lorom) -MACHINE_CONFIG_END - -MACHINE_CONFIG_START(sns_rom21_necdsp1_legacy_device::device_add_mconfig) - MCFG_DEVICE_ADD("dsp", UPD7725, 8000000) - MCFG_DEVICE_PROGRAM_MAP(dsp_prg_map_hirom) - MCFG_DEVICE_DATA_MAP(dsp_data_map_hirom) -MACHINE_CONFIG_END - -MACHINE_CONFIG_START(sns_rom_seta10dsp_legacy_device::device_add_mconfig) - MCFG_DEVICE_ADD("dsp", UPD96050, 10000000) - MCFG_DEVICE_PROGRAM_MAP(st01x_prg_map) - MCFG_DEVICE_DATA_MAP(st01x_data_map) -MACHINE_CONFIG_END - -MACHINE_CONFIG_START(sns_rom_seta11dsp_legacy_device::device_add_mconfig) - MCFG_DEVICE_ADD("dsp", UPD96050, 15000000) - MCFG_DEVICE_PROGRAM_MAP(st01x_prg_map) - MCFG_DEVICE_DATA_MAP(st01x_data_map) -MACHINE_CONFIG_END +void sns_rom20_necdsp1_legacy_device::device_add_mconfig(machine_config &config) +{ + UPD7725(config, m_upd7725, 8000000); + m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom20_necdsp1_legacy_device::dsp_prg_map_lorom); + m_upd7725->set_addrmap(AS_DATA, &sns_rom20_necdsp1_legacy_device::dsp_data_map_lorom); +} + +void sns_rom20_necdsp1b_legacy_device::device_add_mconfig(machine_config &config) +{ + UPD7725(config, m_upd7725, 8000000); + m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom20_necdsp1b_legacy_device::dsp_prg_map_lorom); + m_upd7725->set_addrmap(AS_DATA, &sns_rom20_necdsp1b_legacy_device::dsp_data_map_lorom); +} + +void sns_rom20_necdsp2_legacy_device::device_add_mconfig(machine_config &config) +{ + UPD7725(config, m_upd7725, 8000000); + m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom20_necdsp2_legacy_device::dsp_prg_map_lorom); + m_upd7725->set_addrmap(AS_DATA, &sns_rom20_necdsp2_legacy_device::dsp_data_map_lorom); +} + +void sns_rom20_necdsp3_legacy_device::device_add_mconfig(machine_config &config) +{ + UPD7725(config, m_upd7725, 8000000); + m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom20_necdsp3_legacy_device::dsp_prg_map_lorom); + m_upd7725->set_addrmap(AS_DATA, &sns_rom20_necdsp3_legacy_device::dsp_data_map_lorom); +} + +void sns_rom20_necdsp4_legacy_device::device_add_mconfig(machine_config &config) +{ + UPD7725(config, m_upd7725, 8000000); + m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom20_necdsp4_legacy_device::dsp_prg_map_lorom); + m_upd7725->set_addrmap(AS_DATA, &sns_rom20_necdsp4_legacy_device::dsp_data_map_lorom); +} + +void sns_rom21_necdsp1_legacy_device::device_add_mconfig(machine_config &config) +{ + UPD7725(config, m_upd7725, 8000000); + m_upd7725->set_addrmap(AS_PROGRAM, &sns_rom21_necdsp1_legacy_device::dsp_prg_map_hirom); + m_upd7725->set_addrmap(AS_DATA, &sns_rom21_necdsp1_legacy_device::dsp_data_map_hirom); +} + +void sns_rom_seta10dsp_legacy_device::device_add_mconfig(machine_config &config) +{ + UPD96050(config, m_upd96050, 10000000); + m_upd96050->set_addrmap(AS_PROGRAM, &sns_rom_seta10dsp_legacy_device::st01x_prg_map); + m_upd96050->set_addrmap(AS_DATA, &sns_rom_seta10dsp_legacy_device::st01x_data_map); +} + +void sns_rom_seta11dsp_legacy_device::device_add_mconfig(machine_config &config) +{ + UPD96050(config, m_upd96050, 15000000); + m_upd96050->set_addrmap(AS_PROGRAM, &sns_rom_seta11dsp_legacy_device::st01x_prg_map); + m_upd96050->set_addrmap(AS_DATA, &sns_rom_seta11dsp_legacy_device::st01x_data_map); +} ROM_START( snes_dsp1 ) diff --git a/src/devices/bus/snes/upd.h b/src/devices/bus/snes/upd.h index dfc55466225..0d21335861c 100644 --- a/src/devices/bus/snes/upd.h +++ b/src/devices/bus/snes/upd.h @@ -37,9 +37,9 @@ protected: void dsp_data_map_lorom(address_map &map); void dsp_prg_map_lorom(address_map &map); -private: required_device<upd7725_device> m_upd7725; +private: std::vector<uint32_t> m_dsp_prg; std::vector<uint16_t> m_dsp_data; }; @@ -71,9 +71,9 @@ protected: void dsp_data_map_hirom(address_map &map); void dsp_prg_map_hirom(address_map &map); -private: required_device<upd7725_device> m_upd7725; +private: std::vector<uint32_t> m_dsp_prg; std::vector<uint16_t> m_dsp_data; }; @@ -102,9 +102,9 @@ protected: void st01x_data_map(address_map &map); void st01x_prg_map(address_map &map); -private: required_device<upd96050_device> m_upd96050; +private: std::vector<uint32_t> m_dsp_prg; std::vector<uint16_t> m_dsp_data; }; diff --git a/src/devices/bus/vic20/videopak.cpp b/src/devices/bus/vic20/videopak.cpp index 3e8c708742b..a63cac93a96 100644 --- a/src/devices/bus/vic20/videopak.cpp +++ b/src/devices/bus/vic20/videopak.cpp @@ -97,12 +97,13 @@ GFXDECODE_END // device_add_mconfig - add device configuration //------------------------------------------------- -MACHINE_CONFIG_START(vic20_video_pak_device::device_add_mconfig) - MCFG_SCREEN_ADD_MONOCHROME(MC6845_SCREEN_TAG, RASTER, rgb_t::white()) - MCFG_SCREEN_UPDATE_DEVICE(MC6845_TAG, h46505_device, screen_update) - MCFG_SCREEN_SIZE(80*8, 24*8) - MCFG_SCREEN_VISIBLE_AREA(0, 80*8-1, 0, 24*8-1) - MCFG_SCREEN_REFRESH_RATE(50) +void vic20_video_pak_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, MC6845_SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::white())); + screen.set_screen_update(MC6845_TAG, FUNC(h46505_device::screen_update)); + screen.set_size(80*8, 24*8); + screen.set_visarea(0, 80*8-1, 0, 24*8-1); + screen.set_refresh_hz(50); GFXDECODE(config, "gfxdecode", m_palette, gfx_vic20_video_pak); PALETTE(config, m_palette, palette_device::MONOCHROME); @@ -112,7 +113,7 @@ MACHINE_CONFIG_START(vic20_video_pak_device::device_add_mconfig) m_crtc->set_show_border_area(true); m_crtc->set_char_width(8); m_crtc->set_update_row_callback(FUNC(vic20_video_pak_device::crtc_update_row), this); -MACHINE_CONFIG_END +} diff --git a/src/devices/bus/wangpc/tig.cpp b/src/devices/bus/wangpc/tig.cpp index e9170b420cc..966cc023b6c 100644 --- a/src/devices/bus/wangpc/tig.cpp +++ b/src/devices/bus/wangpc/tig.cpp @@ -114,13 +114,14 @@ UPD7220_DISPLAY_PIXELS_MEMBER( wangpc_tig_device::hgdc_display_pixels ) // MACHINE_CONFIG_START( wangpc_tig ) //------------------------------------------------- -MACHINE_CONFIG_START(wangpc_tig_device::device_add_mconfig) - MCFG_SCREEN_ADD_MONOCHROME(SCREEN_TAG, RASTER, rgb_t::green()) - MCFG_SCREEN_UPDATE_DEVICE(DEVICE_SELF, wangpc_tig_device, screen_update) - MCFG_SCREEN_SIZE(80*10, 25*12) - MCFG_SCREEN_VISIBLE_AREA(0, 80*10-1, 0, 25*12-1) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) - MCFG_SCREEN_REFRESH_RATE(60) +void wangpc_tig_device::device_add_mconfig(machine_config &config) +{ + screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green())); + screen.set_screen_update(FUNC(wangpc_tig_device::screen_update)); + screen.set_size(80*10, 25*12); + screen.set_visarea(0, 80*10-1, 0, 25*12-1); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); + screen.set_refresh_hz(60); PALETTE(config, m_palette, palette_device::MONOCHROME_HIGHLIGHT); @@ -133,7 +134,7 @@ MACHINE_CONFIG_START(wangpc_tig_device::device_add_mconfig) m_hgdc1->set_addrmap(0, &wangpc_tig_device::upd7220_1_map); m_hgdc1->set_display_pixels_callback(FUNC(wangpc_tig_device::hgdc_display_pixels), this); m_hgdc1->set_screen(SCREEN_TAG); -MACHINE_CONFIG_END +} //************************************************************************** |