summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/msx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/msx.cpp')
-rw-r--r--src/mame/drivers/msx.cpp4250
1 files changed, 2026 insertions, 2224 deletions
diff --git a/src/mame/drivers/msx.cpp b/src/mame/drivers/msx.cpp
index bdb05dc6efc..16e3b689a7d 100644
--- a/src/mame/drivers/msx.cpp
+++ b/src/mame/drivers/msx.cpp
@@ -530,6 +530,7 @@ PCB Layouts missing
#include "includes/msx.h"
#include "formats/dsk_dsk.h"
#include "formats/dmk_dsk.h"
+#include "machine/input_merger.h"
#include "machine/msx_matsushita.h"
#include "machine/msx_s1985.h"
#include "machine/msx_systemflags.h"
@@ -556,7 +557,8 @@ void msx_state::msx_io_map(address_map &map)
map(0x91, 0x91).w("cent_data_out", FUNC(output_latch_device::bus_w));
map(0xa0, 0xa7).rw(m_ay8910, FUNC(ay8910_device::data_r), FUNC(ay8910_device::address_data_w));
map(0xa8, 0xab).rw("ppi8255", FUNC(i8255_device::read), FUNC(i8255_device::write));
- map(0x98, 0x99).rw("tms9928a", FUNC(tms9928a_device::read), FUNC(tms9928a_device::write));
+ map(0x98, 0x98).rw("tms9928a", FUNC(tms9928a_device::vram_r), FUNC(tms9928a_device::vram_w));
+ map(0x99, 0x99).rw("tms9928a", FUNC(tms9928a_device::register_r), FUNC(tms9928a_device::register_w));
map(0xd8, 0xd9).rw(FUNC(msx_state::msx_kanji_r), FUNC(msx_state::msx_kanji_w));
// 0xfc - 0xff : Memory mapper I/O ports. I/O handlers will be installed if a memory mapper is present in a system
}
@@ -1236,42 +1238,36 @@ WRITE_LINE_MEMBER(msx2_state::turbo_w)
#define MSX_VISIBLE_YBORDER_PIXELS 24
-void msx_state::msx1_cartlist(machine_config &config)
-{
- SOFTWARE_LIST(config, "cart_list").set_original("msx1_cart");
-}
+MACHINE_CONFIG_START(msx_state::msx1_cartlist)
+ MCFG_SOFTWARE_LIST_ADD("cart_list", "msx1_cart")
+MACHINE_CONFIG_END
-void msx_state::msx1_floplist(machine_config &config)
-{
- SOFTWARE_LIST(config, "flop_list").set_original("msx1_flop");
-}
+MACHINE_CONFIG_START(msx_state::msx1_floplist)
+ MCFG_SOFTWARE_LIST_ADD("flop_list", "msx1_flop")
+MACHINE_CONFIG_END
-void msx2_state::msx2_cartlist(machine_config &config)
-{
- SOFTWARE_LIST(config, "cart_list").set_original("msx2_cart");
- SOFTWARE_LIST(config, "msx1_crt_l").set_compatible("msx1_cart");
-}
+MACHINE_CONFIG_START(msx2_state::msx2_cartlist)
+ MCFG_SOFTWARE_LIST_ADD("cart_list", "msx2_cart")
+ MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_crt_l", "msx1_cart")
+MACHINE_CONFIG_END
-void msx2_state::msx2_floplist(machine_config &config)
-{
- SOFTWARE_LIST(config, "flop_list").set_original("msx2_flop");
- SOFTWARE_LIST(config, "msx1_flp_l").set_compatible("msx1_flop");
-}
+MACHINE_CONFIG_START(msx2_state::msx2_floplist)
+ MCFG_SOFTWARE_LIST_ADD("flop_list", "msx2_flop")
+ MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_flp_l", "msx1_flop")
+MACHINE_CONFIG_END
-void msx2_state::msx2p_floplist(machine_config &config)
-{
- SOFTWARE_LIST(config, "flop_list").set_original("msx2p_flop");
- SOFTWARE_LIST(config, "msx2_flp_l").set_compatible("msx2_flop");
- SOFTWARE_LIST(config, "msx1_flp_l").set_compatible("msx1_flop"); // maybe not?
-}
+MACHINE_CONFIG_START(msx2_state::msx2p_floplist)
+ MCFG_SOFTWARE_LIST_ADD("flop_list", "msx2p_flop")
+ MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx2_flp_l", "msx2_flop")
+ MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_flp_l", "msx1_flop") // maybe not?
+MACHINE_CONFIG_END
-void msx2_state::msxr_floplist(machine_config &config)
-{
- SOFTWARE_LIST(config, "flop_list").set_original("msxr_flop");
- SOFTWARE_LIST(config, "msx2p_flp_l").set_compatible("msx2p_flop");
- SOFTWARE_LIST(config, "msx2_flp_l").set_compatible("msx2_flop"); // maybe not?
- SOFTWARE_LIST(config, "msx1_flp_l").set_compatible("msx1_flop"); // maybe not?
-}
+MACHINE_CONFIG_START(msx2_state::msxr_floplist)
+ MCFG_SOFTWARE_LIST_ADD("flop_list", "msxr_flop")
+ MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx2p_flp_l", "msx2p_flop")
+ MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx2_flp_l", "msx2_flop") // maybe not?
+ MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_flp_l", "msx1_flop") // maybe not?
+MACHINE_CONFIG_END
FLOPPY_FORMATS_MEMBER( msx_state::floppy_formats )
FLOPPY_MSX_FORMAT,
@@ -1324,40 +1320,36 @@ void msx_state::msx_microsol(machine_config &config)
fdc.set_force_ready(true);
}
-void msx_state::msx_1_35_ssdd_drive(machine_config &config)
-{
- FLOPPY_CONNECTOR(config, "fdc:0", msx_floppies, "35ssdd", msx_state::floppy_formats);
-}
+MACHINE_CONFIG_START(msx_state::msx_1_35_ssdd_drive)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", msx_floppies, "35ssdd", msx_state::floppy_formats)
+MACHINE_CONFIG_END
-void msx_state::msx_1_35_dd_drive(machine_config &config)
-{
- FLOPPY_CONNECTOR(config, "fdc:0", msx_floppies, "35dd", msx_state::floppy_formats);
-}
+MACHINE_CONFIG_START(msx_state::msx_1_35_dd_drive)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", msx_floppies, "35dd", msx_state::floppy_formats)
+MACHINE_CONFIG_END
-void msx_state::msx_2_35_dd_drive(machine_config &config)
-{
- FLOPPY_CONNECTOR(config, "fdc:0", msx_floppies, "35dd", msx_state::floppy_formats);
- FLOPPY_CONNECTOR(config, "fdc:1", msx_floppies, "35dd", msx_state::floppy_formats);
-}
+MACHINE_CONFIG_START(msx_state::msx_2_35_dd_drive)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:0", msx_floppies, "35dd", msx_state::floppy_formats)
+ MCFG_FLOPPY_DRIVE_ADD("fdc:1", msx_floppies, "35dd", msx_state::floppy_formats)
+MACHINE_CONFIG_END
-void msx2_state::msx_ym2413(machine_config &config)
-{
- YM2413(config, "ym2413", 21.477272_MHz_XTAL / 6).add_route(ALL_OUTPUTS, "speaker", 0.4);
-}
+MACHINE_CONFIG_START(msx2_state::msx_ym2413)
+ MCFG_DEVICE_ADD("ym2413", YM2413, 21.477272_MHz_XTAL / 6)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.4)
+MACHINE_CONFIG_END
-void msx2_state::msx2_64kb_vram(machine_config &config)
-{
- m_v9938->set_vram_size(0x10000);
-}
+MACHINE_CONFIG_START(msx2_state::msx2_64kb_vram)
+ MCFG_DEVICE_MODIFY("v9938")
+ downcast<v99x8_device &>(*device).set_vram_size(0x10000);
+MACHINE_CONFIG_END
-void msx_state::msx(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::msx)
/* basic machine hardware */
- Z80(config, m_maincpu, 10.738635_MHz_XTAL / 3); /* 3.579545 MHz */
- m_maincpu->set_addrmap(AS_PROGRAM, &msx_state::msx_memory_map);
- m_maincpu->set_addrmap(AS_IO, &msx_state::msx_io_map);
- m_maincpu->set_vblank_int("screen", FUNC(msx_state::msx_interrupt)); /* Needed for mouse updates */
- config.m_minimum_quantum = attotime::from_hz(60);
+ MCFG_DEVICE_ADD("maincpu", Z80, 10.738635_MHz_XTAL / 3) /* 3.579545 MHz */
+ MCFG_DEVICE_PROGRAM_MAP(msx_memory_map)
+ MCFG_DEVICE_IO_MAP(msx_io_map)
+ MCFG_DEVICE_VBLANK_INT_DRIVER("screen", msx_state, msx_interrupt) /* Needed for mouse updates */
+ MCFG_QUANTUM_TIME(attotime::from_hz(60))
INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline("maincpu", INPUT_LINE_IRQ0);
@@ -1368,11 +1360,11 @@ void msx_state::msx(machine_config &config)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
- DAC_1BIT(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.1);
- voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
- vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
+ MCFG_DEVICE_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1)
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
- WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "speaker", 0.25);
+ WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "speaker", 0.25);
AY8910(config, m_ay8910, 10.738635_MHz_XTAL / 3 / 2);
m_ay8910->set_flags(AY8910_SINGLE_OUTPUT);
m_ay8910->port_a_read_callback().set(FUNC(msx_state::msx_psg_port_a_r));
@@ -1382,25 +1374,24 @@ void msx_state::msx(machine_config &config)
m_ay8910->add_route(ALL_OUTPUTS, "speaker", 0.3);
/* printer */
- centronics_device &centronics(CENTRONICS(config, "centronics", centronics_devices, "printer"));
- centronics.busy_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit1));
+ MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer")
+ MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit1))
- output_latch_device &cent_data_out(OUTPUT_LATCH(config, "cent_data_out"));
- centronics.set_output_latch(cent_data_out);
- INPUT_BUFFER(config, "cent_status_in");
+ MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
+ MCFG_DEVICE_ADD("cent_status_in", INPUT_BUFFER, 0)
- output_latch_device &cent_ctrl_out(OUTPUT_LATCH(config, "cent_ctrl_out"));
- cent_ctrl_out.bit_handler<1>().set(centronics, FUNC(centronics_device::write_strobe));
+ MCFG_DEVICE_ADD("cent_ctrl_out", OUTPUT_LATCH, 0)
+ MCFG_OUTPUT_LATCH_BIT1_HANDLER(WRITELINE("centronics", centronics_device, write_strobe))
/* cassette */
- CASSETTE(config, m_cassette);
- m_cassette->set_formats(fmsx_cassette_formats);
- m_cassette->set_default_state(CASSETTE_PLAY);
- m_cassette->set_interface("msx_cass");
+ MCFG_CASSETTE_ADD( "cassette" )
+ MCFG_CASSETTE_FORMATS(fmsx_cassette_formats)
+ MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY)
+ MCFG_CASSETTE_INTERFACE("msx_cass")
/* Software lists */
- SOFTWARE_LIST(config, "cass_list").set_original("msx1_cass");
-}
+ MCFG_SOFTWARE_LIST_ADD("cass_list","msx1_cass")
+MACHINE_CONFIG_END
template<typename VDPType>
@@ -1416,13 +1407,12 @@ void msx_state::msx1(VDPType &vdp_type, machine_config &config)
}
-void msx2_state::msx2(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::msx2)
/* basic machine hardware */
- Z80(config, m_maincpu, 21.477272_MHz_XTAL / 6); /* 3.579545 MHz */
- m_maincpu->set_addrmap(AS_PROGRAM, &msx2_state::msx_memory_map);
- m_maincpu->set_addrmap(AS_IO, &msx2_state::msx2_io_map);
- config.m_minimum_quantum = attotime::from_hz(60);
+ MCFG_DEVICE_ADD("maincpu", Z80, 21.477272_MHz_XTAL / 6) /* 3.579545 MHz */
+ MCFG_DEVICE_PROGRAM_MAP(msx_memory_map)
+ MCFG_DEVICE_IO_MAP(msx2_io_map)
+ MCFG_QUANTUM_TIME(attotime::from_hz(60))
INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline("maincpu", INPUT_LINE_IRQ0);
@@ -1440,11 +1430,11 @@ void msx2_state::msx2(machine_config &config)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
- DAC_1BIT(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.1);
- voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
- vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
+ MCFG_DEVICE_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1)
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
- WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "speaker", 0.25);
+ WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "speaker", 0.25);
AY8910(config, m_ay8910, 21.477272_MHz_XTAL / 6 / 2);
m_ay8910->set_flags(AY8910_SINGLE_OUTPUT);
m_ay8910->port_a_read_callback().set(FUNC(msx2_state::msx_psg_port_a_r));
@@ -1454,38 +1444,36 @@ void msx2_state::msx2(machine_config &config)
m_ay8910->add_route(ALL_OUTPUTS, "speaker", 0.3);
/* printer */
- centronics_device &centronics(CENTRONICS(config, "centronics", centronics_devices, "printer"));
- centronics.busy_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit1));
+ MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer")
+ MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit1))
- output_latch_device &cent_data_out(OUTPUT_LATCH(config, "cent_data_out"));
- centronics.set_output_latch(cent_data_out);
- INPUT_BUFFER(config, "cent_status_in");
+ MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
+ MCFG_DEVICE_ADD("cent_status_in", INPUT_BUFFER, 0)
- output_latch_device &cent_ctrl_out(OUTPUT_LATCH(config, "cent_ctrl_out"));
- cent_ctrl_out.bit_handler<1>().set(centronics, FUNC(centronics_device::write_strobe));
+ MCFG_DEVICE_ADD("cent_ctrl_out", OUTPUT_LATCH, 0)
+ MCFG_OUTPUT_LATCH_BIT1_HANDLER(WRITELINE("centronics", centronics_device, write_strobe))
/* cassette */
- CASSETTE(config, m_cassette);
- m_cassette->set_formats(fmsx_cassette_formats);
- m_cassette->set_default_state(CASSETTE_PLAY);
- m_cassette->set_interface("msx_cass");
+ MCFG_CASSETTE_ADD( "cassette" )
+ MCFG_CASSETTE_FORMATS(fmsx_cassette_formats)
+ MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY)
+ MCFG_CASSETTE_INTERFACE("msx_cass")
/* real time clock */
RP5C01(config, m_rtc, 32.768_kHz_XTAL);
/* Software lists */
- SOFTWARE_LIST(config, "cass_list").set_original("msx2_cass");
- SOFTWARE_LIST(config, "msx1_cas_l").set_compatible("msx1_cass");
-}
+ MCFG_SOFTWARE_LIST_ADD("cass_list", "msx2_cass")
+ MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_cas_l", "msx1_cass")
+MACHINE_CONFIG_END
-void msx2_state::msx2p(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::msx2p)
/* basic machine hardware */
- Z80(config, m_maincpu, 21.477272_MHz_XTAL / 6); /* 3.579545 MHz */
- m_maincpu->set_addrmap(AS_PROGRAM, &msx2_state::msx_memory_map);
- m_maincpu->set_addrmap(AS_IO, &msx2_state::msx2p_io_map);
- config.m_minimum_quantum = attotime::from_hz(60);
+ MCFG_DEVICE_ADD("maincpu", Z80, 21.477272_MHz_XTAL / 6) /* 3.579545 MHz */
+ MCFG_DEVICE_PROGRAM_MAP(msx_memory_map)
+ MCFG_DEVICE_IO_MAP(msx2p_io_map)
+ MCFG_QUANTUM_TIME(attotime::from_hz(60))
INPUT_MERGER_ANY_HIGH(config, "mainirq").output_handler().set_inputline("maincpu", INPUT_LINE_IRQ0);
@@ -1503,11 +1491,11 @@ void msx2_state::msx2p(machine_config &config)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
- DAC_1BIT(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.1);
- voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref", 0));
- vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
+ MCFG_DEVICE_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.1)
+ MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
+ MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT)
- WAVE(config, "wave", m_cassette).add_route(ALL_OUTPUTS, "speaker", 0.25);
+ WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "speaker", 0.25);
AY8910(config, m_ay8910, 21.477272_MHz_XTAL / 6 / 2);
m_ay8910->set_flags(AY8910_SINGLE_OUTPUT);
m_ay8910->port_a_read_callback().set(FUNC(msx2_state::msx_psg_port_a_r));
@@ -1517,29 +1505,28 @@ void msx2_state::msx2p(machine_config &config)
m_ay8910->add_route(ALL_OUTPUTS, "speaker", 0.3);
/* printer */
- centronics_device &centronics(CENTRONICS(config, "centronics", centronics_devices, "printer"));
- centronics.busy_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit1));
+ MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer")
+ MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit1))
- output_latch_device &cent_data_out(OUTPUT_LATCH(config, "cent_data_out"));
- centronics.set_output_latch(cent_data_out);
- INPUT_BUFFER(config, "cent_status_in");
+ MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
+ MCFG_DEVICE_ADD("cent_status_in", INPUT_BUFFER, 0)
- output_latch_device &cent_ctrl_out(OUTPUT_LATCH(config, "cent_ctrl_out"));
- cent_ctrl_out.bit_handler<1>().set(centronics, FUNC(centronics_device::write_strobe));
+ MCFG_DEVICE_ADD("cent_ctrl_out", OUTPUT_LATCH, 0)
+ MCFG_OUTPUT_LATCH_BIT1_HANDLER(WRITELINE("centronics", centronics_device, write_strobe))
/* cassette */
- CASSETTE(config, m_cassette);
- m_cassette->set_formats(fmsx_cassette_formats);
- m_cassette->set_default_state(CASSETTE_PLAY);
- m_cassette->set_interface("msx_cass");
+ MCFG_CASSETTE_ADD( "cassette" )
+ MCFG_CASSETTE_FORMATS(fmsx_cassette_formats)
+ MCFG_CASSETTE_DEFAULT_STATE(CASSETTE_PLAY)
+ MCFG_CASSETTE_INTERFACE("msx_cass")
/* real time clock */
RP5C01(config, m_rtc, 32.768_kHz_XTAL);
/* Software lists */
- SOFTWARE_LIST(config, "cass_list").set_original("msx2_cass");
- SOFTWARE_LIST(config, "msx1_cas_l").set_compatible("msx1_cass");
- }
+ MCFG_SOFTWARE_LIST_ADD("cass_list", "msx2_cass")
+ MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_cas_l", "msx1_cass")
+MACHINE_CONFIG_END
void msx2_state::msx2_pal(machine_config &config)
@@ -1565,21 +1552,20 @@ ROM_START(ax150)
ROM_LOAD ("ax150arab.rom", 0x8000, 0x8000, CRC(339cd1aa) SHA1(0287b2ec897b9196788cd9f10c99e1487d7adbbb))
ROM_END
-void msx_state::ax150(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::ax150)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "arab", 1, 0, 1, 2, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 2, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 2, 2); /* 32KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("arab", 1, 0, 1, 2, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 2, 2) /* 32KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Al Alamiah AX-170 */
@@ -1590,22 +1576,21 @@ ROM_START (ax170)
ROM_END
-void msx_state::ax170(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::ax170)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
// T7937 (in ax170mk2)
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "arab", 1, 0, 1, 2, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 2, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("arab", 1, 0, 1, 2, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 0, 4) /* 64KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Canon V-8 */
@@ -1614,20 +1599,20 @@ ROM_START (canonv8)
ROM_LOAD ("v8bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-void msx_state::canonv8(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::canonv8)
msx1(TMS9928A, config);
// AY8910/YM2149??
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 3, 1).force_start_address(0xe000); /* 8KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 3, 1) /* 8KB RAM */
+ MCFG_MSX_SLOT_RAM_8KB
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Canon V-10 */
@@ -1636,20 +1621,19 @@ ROM_START (canonv10)
ROM_LOAD ("v10bios.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e))
ROM_END
-void msx_state::canonv10(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::canonv10)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 3, 1); /* 16KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 3, 1) /* 16KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Canon V-20 */
@@ -1658,20 +1642,19 @@ ROM_START (canonv20)
ROM_LOAD ("v20bios.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e))
ROM_END
-void msx_state::canonv20(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::canonv20)
msx1(TMS9929A, config);
// YM2149
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Canon V-20E */
@@ -1708,20 +1691,19 @@ ROM_START (mx10)
ROM_LOAD( "mx10bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-void msx_state::mx10(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::mx10)
msx1(TMS9918, config);
// FDC: None, 0 drives
// 2? Cartridge slots
// Z80: uPD780C-1
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 0, 3, 1); // 16KB RAM
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 0, 0, 3, 1) // 16KB RAM
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Casio MX-15 */
@@ -1730,21 +1712,20 @@ ROM_START (mx15)
ROM_LOAD( "mx15bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-void msx_state::mx15(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::mx15)
msx1(TMS9928A, config);
// FDC: None, 0 drives
// 3 Cartridge slots
// T6950
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 0, 3, 1); // 16KB RAM
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_cartridge_slot<3>(config, MSX_SLOT_CARTRIDGE, "cartslot3", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 0, 0, 3, 1) // 16KB RAM
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot3", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Casio MX-101 */
@@ -1753,19 +1734,18 @@ ROM_START (mx101)
ROM_LOAD( "mx101bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-void msx_state::mx101(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::mx101)
msx1(TMS9928A, config);
// FDC: None, 0 drives
// 2? Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 0, 3, 1); // 16KB RAM
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 0, 0, 3, 1) // 16KB RAM
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Casio PV-7 */
@@ -1774,8 +1754,7 @@ ROM_START (pv7)
ROM_LOAD("pv7bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-void msx_state::pv7(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::pv7)
msx1(TMS9918, config);
// AY8910?
// FDC: None, 0 drives
@@ -1785,13 +1764,14 @@ void msx_state::pv7(machine_config &config)
// No printer port
// Z80: uPD780C-1
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 0, 3, 1).force_start_address(0xe000); /* 8KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 0, 0, 3, 1) /* 8KB RAM */
+ MCFG_MSX_SLOT_RAM_8KB
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Casio PV-16 */
@@ -1800,20 +1780,19 @@ ROM_START (pv16)
ROM_LOAD("pv16.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-void msx_state::pv16(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::pv16)
msx1(TMS9918, config);
// AY8910
// FDC: None, 0 drives
// 1 Cartridge slot
// No printer port
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 0, 3, 1); /* 16KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 0, 0, 3, 1) /* 16KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Daewoo CPC-88 */
@@ -1824,21 +1803,20 @@ ROM_START (cpc88)
ROM_RELOAD (0xa000, 0x2000)
ROM_END
-void msx_state::cpc88(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::cpc88)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2? Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "han", 0, 0, 2, 1, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("han", 0, 0, 2, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Daewoo DPC-100 */
@@ -1848,21 +1826,20 @@ ROM_START (dpc100)
ROM_LOAD ("100han.rom", 0x8000, 0x4000, CRC(97478efb) SHA1(4421fa2504cbce18f7c84b5ea97f04e017007f07))
ROM_END
-void msx_state::dpc100(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::dpc100)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "han", 0, 0, 2, 1, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 3, 1); /* 16KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("han", 0, 0, 2, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 3, 1) /* 16KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Daewoo DPC-180 */
@@ -1872,21 +1849,20 @@ ROM_START (dpc180)
ROM_LOAD ("180han.rom", 0x8000, 0x4000, CRC(97478efb) SHA1(4421fa2504cbce18f7c84b5ea97f04e017007f07))
ROM_END
-void msx_state::dpc180(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::dpc180)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "han", 0, 0, 2, 1, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 2, 2); /* 32KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("han", 0, 0, 2, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 2, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Daewoo DPC-200 */
@@ -1896,21 +1872,20 @@ ROM_START (dpc200)
ROM_LOAD ("200han.rom", 0x8000, 0x4000, CRC(97478efb) SHA1(4421fa2504cbce18f7c84b5ea97f04e017007f07))
ROM_END
-void msx_state::dpc200(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::dpc200)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "han", 0, 0, 2, 1, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("han", 0, 0, 2, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Daewoo DPC-200E */
@@ -1919,20 +1894,19 @@ ROM_START (dpc200e)
ROM_LOAD ("dpc200ebios.rom", 0x0000, 0x8000, CRC(8205795e) SHA1(829c00c3114f25b3dae5157c0a238b52a3ac37db))
ROM_END
-void msx_state::dpc200e(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::dpc200e)
msx1(TMS9929A, config);
// AY8910
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 1, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 2, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 1, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Daewoo Zemmix CPC-50A */
@@ -1941,8 +1915,7 @@ ROM_START (cpc50a)
ROM_LOAD ("50abios.rom", 0x0000, 0x8000, CRC(c3a868ef) SHA1(a08a940aa87313509e00bc5ac7494d53d8e03492))
ROM_END
-void msx_state::cpc50a(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::cpc50a)
msx1(TMS9918, config);
// AY8910/YM2149?
// FDC: None, 0 drives
@@ -1951,12 +1924,13 @@ void msx_state::cpc50a(machine_config &config)
// No cassette port?
// No printer port?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 3, 1).force_start_address(0xe000); /* 8KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 3, 1) /* 8KB RAM */
+ MCFG_MSX_SLOT_RAM_8KB
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Daewoo Zemmix CPC-50B */
@@ -1965,8 +1939,7 @@ ROM_START (cpc50b)
ROM_LOAD ("50bbios.rom", 0x0000, 0x8000, CRC(c3a868ef) SHA1(a08a940aa87313509e00bc5ac7494d53d8e03492))
ROM_END
-void msx_state::cpc50b(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::cpc50b)
msx1(TMS9918, config);
// AY8910/YM2149?
// FDC: None, 0 drives
@@ -1975,12 +1948,12 @@ void msx_state::cpc50b(machine_config &config)
// No cassette port?
// No printer port?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 3, 1); /* 16KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 3, 1) /* 16KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Daewoo Zemmix CPC-51 */
@@ -1989,8 +1962,7 @@ ROM_START (cpc51)
ROM_LOAD ("51bios.rom", 0x0000, 0x8000, CRC(c3a868ef) SHA1(a08a940aa87313509e00bc5ac7494d53d8e03492))
ROM_END
-void msx_state::cpc51(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::cpc51)
msx1(TMS9918, config);
// AY8910/YM2149?
// FDC: None, 0 drives
@@ -1999,12 +1971,12 @@ void msx_state::cpc51(machine_config &config)
// No cassette port
// No printer port
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Dragon MSX-64 */
@@ -2014,20 +1986,19 @@ ROM_START(dgnmsx)
ROM_LOAD("uk2msx058.ic6", 0x4000, 0x4000, CRC(e516e7e5) SHA1(05fedd4b9bfcf4949020c79d32c4c3f03a54fb62))
ROM_END
-void msx_state::dgnmsx(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::dgnmsx)
msx1(TMS9929A, config);
// AY8910
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Fenner DPC-200 */
@@ -2036,20 +2007,19 @@ ROM_START (fdpc200)
ROM_LOAD ("dpc200bios.rom", 0x0000, 0x8000, CRC(8205795e) SHA1(829c00c3114f25b3dae5157c0a238b52a3ac37db))
ROM_END
-void msx_state::fdpc200(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::fdpc200)
msx1(TMS9929A, config);
// AY8910
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 1, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 2, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 1, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Fenner FPC-500 */
@@ -2058,20 +2028,19 @@ ROM_START (fpc500)
ROM_LOAD ("fpc500bios.rom", 0x0000, 0x8000, CRC(8205795e) SHA1(829c00c3114f25b3dae5157c0a238b52a3ac37db))
ROM_END
-void msx_state::fpc500(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::fpc500)
msx1(TMS9929A, config);
// AY8910?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 1, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 2, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 1, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Fenner SPC-800 */
@@ -2080,21 +2049,20 @@ ROM_START (fspc800)
ROM_LOAD ("spc800bios.rom", 0x0000, 0x8000, CRC(8205795e) SHA1(829c00c3114f25b3dae5157c0a238b52a3ac37db))
ROM_END
-void msx_state::fspc800(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::fspc800)
msx1(TMS9929A, config);
// AY8910?
// FDC: None, 0 drives
// 2 Cartridge slots
// Z80: GSS Z8400APS
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 1, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 2, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 1, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Frael Bruc 100-1 */
@@ -2103,20 +2071,19 @@ ROM_START (bruc100)
ROM_LOAD("bruc100-1bios.rom", 0x0000, 0x8000, CRC(c7bc4298) SHA1(3abca440cba16ac5e162b602557d30169f77adab))
ROM_END
-void msx_state::bruc100(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::bruc100)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) /* 64KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Fujitsu FM-X */
@@ -2125,21 +2092,20 @@ ROM_START (fmx)
ROM_LOAD ("fmxbios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-void msx_state::fmx(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::fmx)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 1 Cartridge slot, 2 "Fujistu expansion slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 0, 3, 1); // 16KB RAM
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 0, 0, 3, 1) // 16KB RAM
// Fujitsu expansion slot #1 in slot 1
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
// Fijutsu expansion slot #2 in slot 3
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Goldstar FC-80U */
@@ -2150,21 +2116,20 @@ ROM_START (gsfc80u)
ROM_RELOAD (0xa000, 0x2000)
ROM_END
-void msx_state::gsfc80u(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::gsfc80u)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "han", 0, 0, 2, 1, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("han", 0, 0, 2, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Goldstar FC-200 */
@@ -2174,20 +2139,19 @@ ROM_START (gsfc200)
ROM_LOAD ("fc200bios.rom.u5b", 0x4000, 0x4000, CRC(1a99b1a1) SHA1(e18f72271b64693a2a2bc226e1b9ebd0448e07c0))
ROM_END
-void msx_state::gsfc200(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::gsfc200)
msx1(TMS9129, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "rom", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("rom", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Goldstar GFC-1080 */
@@ -2198,20 +2162,19 @@ ROM_START (gfc1080)
ROM_LOAD ("gfc1080pasocalc.rom", 0xC000, 0x4000, CRC(4014f7ea) SHA1(a5581fa3ce10f90f15ba3dc53d57b02d6e4af172))
ROM_END
-void msx_state::gfc1080(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::gfc1080)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "rom", 0, 0, 0, 4, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); // 64KB RAM
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("rom", 0, 0, 0, 4, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) // 64KB RAM
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Goldstar GFC-1080A */
@@ -2222,20 +2185,19 @@ ROM_START (gfc1080a)
ROM_RELOAD (0xa000, 0x2000)
ROM_END
-void msx_state::gfc1080a(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::gfc1080a)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "rom", 0, 0, 0, 3, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); // 64KB RAM
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("rom", 0, 0, 0, 3, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) // 64KB RAM
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Gradiente Expert 1.0 */
@@ -2244,20 +2206,19 @@ ROM_START (expert10)
ROM_LOAD ("expbios.rom", 0x0000, 0x8000, CRC(07610d77) SHA1(ef3e010eb57e4476700a3bbff9d2119ab3acdf62))
ROM_END
-void msx_state::expert10(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::expert10)
msx1(TMS9128, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Gradiente Expert 1.1 */
ROM_START (expert11)
@@ -2265,20 +2226,19 @@ ROM_START (expert11)
ROM_LOAD ("expbios11.rom", 0x0000, 0x8000, CRC(efb4b972) SHA1(d6720845928ee848cfa88a86accb067397685f02))
ROM_END
-void msx_state::expert11(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::expert11)
msx1(TMS9128, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Gradiente Expert 1.3 */
ROM_START (expert13)
@@ -2286,20 +2246,19 @@ ROM_START (expert13)
ROM_LOAD ("expbios13.rom", 0x0000, 0x8000, CRC(5638bc38) SHA1(605f5af3f358c6811f54e0173bad908614a198c0))
ROM_END
-void msx_state::expert13(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::expert13)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 2, 0, 0, 4).set_total_size(0x10000); /* 64KB Mapper RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 2, 0, 0x10000) /* 64KB Mapper RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Gradiente Expert DDPlus */
ROM_START (expertdp)
@@ -2308,26 +2267,25 @@ ROM_START (expertdp)
ROM_LOAD ("eddpdisk.rom", 0x8000, 0x4000, CRC(549f1d90) SHA1(f1525de4e0b60a6687156c2a96f8a8b2044b6c56))
ROM_END
-void msx_state::expertdp(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::expertdp)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: mb8877a, 1 3.5" DSDD drive
// 2 Cartridge slots
// MSX Engine T7937A (also VDP)
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64KB RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK2, "disk", 3, 3, 1, 2, "maincpu", 0x8000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_DISK2("disk", 3, 3, 1, 1, "maincpu", 0x8000)
msx_mb8877a(config);
msx_1_35_dd_drive(config);
msx1_floplist(config);
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Gradiente Expert Plus */
@@ -2337,22 +2295,21 @@ ROM_START (expertpl)
ROM_LOAD ("exppdemo.rom", 0x8000, 0x4000, CRC(a9bbef64) SHA1(d4cea8c815f3eeabe0c6a1c845f902ec4318bf6b))
ROM_END
-void msx_state::expertpl(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::expertpl)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
// MSX Engine T7937A
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64KB RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "demo", 3, 3, 2, 1, "maincpu", 0x8000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("demo", 3, 3, 2, 1, "maincpu", 0x8000)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Hitachi MB-H2 */
@@ -2362,8 +2319,7 @@ ROM_START (mbh2)
ROM_LOAD ("mbh2firm.rom", 0x8000, 0x4000, CRC(4f03c947) SHA1(e2140fa2e8e59090ecccf55b62323ea9dcc66d0b))
ROM_END
-void msx_state::mbh2(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::mbh2)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
@@ -2371,13 +2327,13 @@ void msx_state::mbh2(machine_config &config)
// Builtin cassette player
// Speed controller (normal, slow 1, slow 2)
- add_internal_slot(config, MSX_SLOT_ROM, "rom", 0, 0, 0, 3, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); // 64KB RAM
+ MCFG_MSX_LAYOUT_ROM("rom", 0, 0, 0, 3, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) // 64KB RAM
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Hitachi MB-H25 */
@@ -2386,20 +2342,19 @@ ROM_START (mbh25)
ROM_LOAD ("mbh25bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-void msx_state::mbh25(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::mbh25)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "rom", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 2, 2); // 32KB RAM
+ MCFG_MSX_LAYOUT_ROM("rom", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 2, 2) // 32KB RAM
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Hitachi MB-H50 */
@@ -2408,21 +2363,20 @@ ROM_START (mbh50)
ROM_LOAD ("mbh50bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-void msx_state::mbh50(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::mbh50)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
// T6950
- add_internal_slot(config, MSX_SLOT_ROM, "rom", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); // 64KB RAM
+ MCFG_MSX_LAYOUT_ROM("rom", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) // 64KB RAM
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - JVC HC-7GB */
@@ -2431,20 +2385,19 @@ ROM_START (jvchc7gb)
ROM_LOAD ("hc7gbbios.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e))
ROM_END
-void msx_state::jvchc7gb(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::jvchc7gb)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "rom", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("rom", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Mitsubishi ML-F48 */
@@ -2453,20 +2406,19 @@ ROM_START (mlf48)
ROM_LOAD ("mlf48bios.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e))
ROM_END
-void msx_state::mlf48(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::mlf48)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 1, 0, 2, 2); // 32KB RAM
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 2, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 1, 0, 2, 2) // 32KB RAM
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Mitsubishi ML-F80 */
@@ -2475,20 +2427,19 @@ ROM_START (mlf80)
ROM_LOAD ("mlf80bios.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e))
ROM_END
-void msx_state::mlf80(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::mlf80)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 1, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 2, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 1, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Mitsubishi ML-F110 */
@@ -2497,20 +2448,19 @@ ROM_START (mlf110)
ROM_LOAD ("mlf110bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-void msx_state::mlf110(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::mlf110)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 1, 0, 3, 1); // 16KB RAM
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 2, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 1, 0, 3, 1) // 16KB RAM
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Mitsubishi ML-F120 */
@@ -2520,21 +2470,20 @@ ROM_START (mlf120)
ROM_LOAD ("mlf120firm.rom", 0x8000, 0x4000, CRC(4b5f3173) SHA1(21a9f60cb6370d0617ce54c42bb7d8e40a4ab560))
ROM_END
-void msx_state::mlf120(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::mlf120)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2? Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "firm", 1, 0, 1, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 1, 0, 2, 2); // 32KB RAM
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 2, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("firm", 1, 0, 1, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM("ram", 1, 0, 2, 2) // 32KB RAM
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Mitsubishi ML-FX1 */
@@ -2543,20 +2492,19 @@ ROM_START (mlfx1)
ROM_LOAD ("mlfx1bios.rom", 0x0000, 0x8000, CRC(62867dce) SHA1(0cbe0df4af45e8f531e9c761403ac9e71808f20c))
ROM_END
-void msx_state::mlfx1(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::mlfx1)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 0, 4) /* 64KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - National CF-1200 */
@@ -2565,20 +2513,19 @@ ROM_START (cf1200)
ROM_LOAD ("1200bios.rom", 0x0000, 0x8000, CRC(5ad03407) SHA1(c7a2c5baee6a9f0e1c6ee7d76944c0ab1886796c))
ROM_END
-void msx_state::cf1200(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::cf1200)
msx1(TMS9918A, config);
// AY8910
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 0, 3, 1); /* 16KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 0, 0, 3, 1) /* 16KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - National CF-2000 */
@@ -2587,20 +2534,19 @@ ROM_START (cf2000)
ROM_LOAD ("2000bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-void msx_state::cf2000(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::cf2000)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 0, 3, 1); /* 16KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 0, 0, 3, 1) /* 16KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - National CF-2700 */
ROM_START (cf2700)
@@ -2608,20 +2554,19 @@ ROM_START (cf2700)
ROM_LOAD ("2700bios.rom.ic32", 0x0000, 0x8000, CRC(5ad03407) SHA1(c7a2c5baee6a9f0e1c6ee7d76944c0ab1886796c))
ROM_END
-void msx_state::cf2700(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::cf2700)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 0, 2, 2); /* 32KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 0, 0, 2, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - National CF-3000 */
@@ -2630,20 +2575,19 @@ ROM_START (cf3000)
ROM_LOAD ("3000bios.rom", 0x0000, 0x8000, CRC(5ad03407) SHA1(c7a2c5baee6a9f0e1c6ee7d76944c0ab1886796c))
ROM_END
-void msx_state::cf3000(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::cf3000)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 1, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 2, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 1, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - National CF-3300 */
ROM_START (cf3300)
@@ -2652,25 +2596,24 @@ ROM_START (cf3300)
ROM_LOAD ("3300disk.rom", 0x8000, 0x4000, CRC(549f1d90) SHA1(f1525de4e0b60a6687156c2a96f8a8b2044b6c56))
ROM_END
-void msx_state::cf3300(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::cf3300)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: mb8877a, 1 3.5" SSDD drive
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64KB RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK2, "disk", 3, 1, 1, 2, "maincpu", 0x8000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_DISK2("disk", 3, 1, 1, 1, "maincpu", 0x8000)
msx_mb8877a(config);
msx_1_35_ssdd_drive(config);
msx1_floplist(config);
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - National FS-1300 */
@@ -2679,20 +2622,19 @@ ROM_START (fs1300)
ROM_LOAD ("1300bios.rom", 0x0000, 0x8000, CRC(5ad03407) SHA1(c7a2c5baee6a9f0e1c6ee7d76944c0ab1886796c))
ROM_END
-void msx_state::fs1300(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::fs1300)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - National FS-4000 */
@@ -2706,22 +2648,21 @@ ROM_START (fs4000)
ROM_LOAD ("4000kfn.rom", 0, 0x20000, CRC(956dc96d) SHA1(9ed3ab6d893632b9246e91b412cd5db519e7586b))
ROM_END
-void msx_state::fs4000(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::fs4000)
msx1(TMS9128, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "word", 3, 0, 0, 2, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "kdr", 3, 1, 1, 2, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("word", 3, 0, 0, 2, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("kdr", 3, 1, 1, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 0, 4) /* 64KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - National FS-4000 (Alt) */
@@ -2735,22 +2676,21 @@ ROM_START (fs4000a)
ROM_LOAD ("4000kfn.rom", 0, 0x20000, CRC(956dc96d) SHA1(9ed3ab6d893632b9246e91b412cd5db519e7586b))
ROM_END
-void msx_state::fs4000a(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::fs4000a)
msx1(TMS9128, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "word", 3, 0, 0, 2, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "kdr", 3, 1, 1, 2, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("word", 3, 0, 0, 2, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("kdr", 3, 1, 1, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 0, 4) /* 64KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/*MSX - Olympia PHC-2*/
@@ -2759,20 +2699,19 @@ ROM_START (phc2)
ROM_LOAD ("phc2bios.rom", 0x0000, 0x8000, CRC(4f7bb04b) SHA1(ab0177624d46dd77ab4f50ffcb983c3ba88223f4))
ROM_END
-void msx_state::phc2(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::phc2)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Olympia PHC-28 */
@@ -2781,20 +2720,19 @@ ROM_START (phc28)
ROM_LOAD ("phc28bios.rom", 0x0000, 0x8000, CRC(eceb2802) SHA1(195950173701abeb460a1a070d83466f3f53b337))
ROM_END
-void msx_state::phc28(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::phc28)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 2, 2); /* 32KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 2, 2) /* 32KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Panasonic CF-2700G */
@@ -2803,20 +2741,19 @@ ROM_START (cf2700g)
ROM_LOAD ("cf2700g.rom", 0x0000, 0x8000, CRC(4aa194f4) SHA1(69bf27b610e11437dad1f7a1c37a63179a293d12))
ROM_END
-void msx_state::cf2700g(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::cf2700g)
msx1(TMS9929A, config);
// AY8910
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 1, 0, 0, 4); /* 64KB?? RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 2, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 1, 0, 0, 4) /* 64KB?? RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Perfect Perfect1 */
@@ -2827,20 +2764,19 @@ ROM_START (perfect1)
ROM_RELOAD (0x10000, 0x8000)
ROM_END
-void msx_state::perfect1(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::perfect1)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 dribes
// 1 Cartridge slot
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "arab", 0, 1, 0, 4, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 2, 0, 4); // 64KB RAM
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("arab", 0, 1, 0, 4, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM("ram", 0, 2, 0, 4) // 64KB RAM
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Philips NMS-801 */
@@ -2849,17 +2785,16 @@ ROM_START (nms801)
ROM_LOAD ("801bios.rom", 0x0000, 0x8000, CRC(fa089461) SHA1(21329398c0f350e330b353f45f21aa7ba338fc8d))
ROM_END
-void msx_state::nms801(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::nms801)
msx1(TMS9929A, config);
// AY8910
// FDC: None, 0 drives
// 0 Cartridge slots
// No printer port
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64KB RAM */
-}
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
+MACHINE_CONFIG_END
/* MSX - Philips VG-8000 */
@@ -2868,21 +2803,20 @@ ROM_START (vg8000)
ROM_LOAD ("8000bios.rom", 0x0000, 0x8000, CRC(efd970b0) SHA1(42252cf87deeb58181a7bfec7c874190a1351779))
ROM_END
-void msx_state::vg8000(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::vg8000)
msx1(TMS9129, config);
// AY8910
// FDC: None, 0 drives
// 2 Cartridge slots
// No printer port
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 3, 1); /* 16KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 3, 1) /* 16KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Philips VG-8010 */
@@ -2891,21 +2825,20 @@ ROM_START (vg8010)
ROM_LOAD ("8010bios.rom", 0x0000, 0x8000, CRC(efd970b0) SHA1(42252cf87deeb58181a7bfec7c874190a1351779))
ROM_END
-void msx_state::vg8010(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::vg8010)
msx1(TMS9129, config);
// AY8910
// FDC: None, 0 drives
// 2 Cartridge slots
// No printer port
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 2, 2); /* 32KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 2, 2) /* 32KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Philips VG-8010F */
@@ -2914,21 +2847,20 @@ ROM_START (vg8010f)
ROM_LOAD ("8010fbios.rom", 0x0000, 0x8000, CRC(df57c9ca) SHA1(898630ad1497dc9a329580c682ee55c4bcb9c30c))
ROM_END
-void msx_state::vg8010f(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::vg8010f)
msx1(TMS9129, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
// No printer port
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 2, 2); /* 32KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 2, 2) /* 32KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Philips VG-8020-00 */
@@ -2937,20 +2869,19 @@ ROM_START (vg802000)
ROM_LOAD ("8020-00bios.rom", 0x0000, 0x8000, CRC(8205795e) SHA1(829c00c3114f25b3dae5157c0a238b52a3ac37db))
ROM_END
-void msx_state::vg802000(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::vg802000)
msx1(TMS9929A, config);
// YM2149
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Philips VG-8020-20 */
@@ -2959,21 +2890,20 @@ ROM_START (vg802020)
ROM_LOAD ("8020-20bios.rom", 0x0000, 0x8000, CRC(a317e6b4) SHA1(e998f0c441f4f1800ef44e42cd1659150206cf79))
ROM_END
-void msx_state::vg802020(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::vg802020)
msx1(TMS9129, config);
// YM2149 (in S-3527 MSX Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
// S-3527 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x10000); /* 64KB Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x10000) /* 64KB Mapper RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Philips VG-8020F */
@@ -2982,21 +2912,20 @@ ROM_START (vg8020f)
ROM_LOAD ("vg8020f.rom", 0x0000, 0x8000, CRC(6e692fa1) SHA1(9eaad185efc8e224368d1db4949eb9659c26fb2c))
ROM_END
-void msx_state::vg8020f(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::vg8020f)
msx1(TMS9929A, config);
// YM2149 (in S-3527 MSX Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
// S-3527 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); /* 64KB?? RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 0, 4) /* 64KB?? RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Pioneer PX-7 */
@@ -3007,8 +2936,7 @@ ROM_START (piopx7)
ROM_FILL( 0xa000, 0x2000, 0x6E )
ROM_END
-void msx_state::piopx7(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::piopx7)
msx1(TMS9929A, config);
// TMS9129NL VDP with sync/overlay interface
// AY-3-8910 PSG
@@ -3034,14 +2962,14 @@ void msx_state::piopx7(machine_config &config)
// Bit 0 R = INTEXV (interrupt available when external video signal OFF, reset on read)
// Bit 0 W = /OVERLAY (0 = superimpose, 1 = non-superimpose)
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 0, 2, 2); /* 32KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "rom2", 2, 0, 1, 1, "maincpu", 0x8000);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 0, 0, 2, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_ROM("rom2", 2, 0, 1, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Pioneer PX-7UK */
@@ -3053,21 +2981,20 @@ ROM_START (piopx7uk)
ROM_LOAD ("videoart.rom", 0xc000, 0x8000, CRC(0ba148dc) SHA1(b7b4e4cd40a856bb071976e6cf0f5e546fc86a78))
ROM_END
-void msx_state::piopx7uk(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::piopx7uk)
msx1(TMS9129, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 0, 2, 2); /* 32KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "rom2", 2, 0, 1, 1, "maincpu", 0x8000);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 0, 0, 2, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_ROM("rom2", 2, 0, 1, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Pioneer PX-V60 */
@@ -3078,21 +3005,20 @@ ROM_START (piopxv60)
ROM_FILL( 0xa000, 0x2000, 0x6E )
ROM_END
-void msx_state::piopxv60(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::piopxv60)
msx1(TMS9128, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 0, 2, 2); /* 32KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "rom2", 2, 0, 1, 1, "maincpu", 0x8000);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 0, 0, 2, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_ROM("rom2", 2, 0, 1, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Samsung SPC-800 */
@@ -3102,21 +3028,20 @@ ROM_START (spc800)
ROM_LOAD ("spc800han.rom", 0x8000, 0x4000, CRC(5ae2b013) SHA1(1e7616261a203580c1044205ad8766d104f1d874))
ROM_END
-void msx_state::spc800(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::spc800)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "han", 0, 0, 4, 1, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); /* 64KB?? RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("han", 0, 0, 4, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB?? RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sanyo MPC-64 */
@@ -3125,20 +3050,19 @@ ROM_START (mpc64)
ROM_LOAD ("mpc64bios.rom", 0x0000, 0x8000, CRC(d6e704ad) SHA1(d67be6d7d56d7229418f4e122f2ec27990db7d19))
ROM_END
-void msx_state::mpc64(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::mpc64)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sanyo MPC-100 */
@@ -3147,20 +3071,19 @@ ROM_START (mpc100)
ROM_LOAD ("mpc100bios.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e))
ROM_END
-void msx_state::mpc100(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::mpc100)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sanyo MPC-200 */
@@ -3169,8 +3092,7 @@ ROM_START (mpc200)
ROM_LOAD ("mpc200bios.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e))
ROM_END
-void msx_state::mpc200(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::mpc200)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
@@ -3178,13 +3100,13 @@ void msx_state::mpc200(machine_config &config)
// T6950
// T7775 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); // 64KB RAM
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) // 64KB RAM
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sanyo MPC-200SP */
@@ -3193,20 +3115,19 @@ ROM_START (mpc200sp)
ROM_LOAD ("mpcsp200bios.rom", 0x0000, 0x8000, CRC(bcd79900) SHA1(fc8c2b69351e60dc902add232032c2d69f00e41e))
ROM_END
-void msx_state::mpc200sp(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::mpc200sp)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2? Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); // 64KB RAM
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) // 64KB RAM
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sanyo PHC-28L */
@@ -3215,20 +3136,19 @@ ROM_START (phc28l)
ROM_LOAD ("28lbios.rom", 0x0000, 0x8000, CRC(d2110d66) SHA1(d3af963e2529662eae63f04a2530454685a1989f))
ROM_END
-void msx_state::phc28l(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::phc28l)
msx1(TMS9929A, config);
// YM2149
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sanyo PHC-28S */
@@ -3237,20 +3157,19 @@ ROM_START (phc28s)
ROM_LOAD ("28sbios.rom", 0x0000, 0x8000, CRC(e5cf6b3c) SHA1(b1cce60ef61c058f5e42ef7ac635018d1a431168))
ROM_END
-void msx_state::phc28s(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::phc28s)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 2, 2); /* 32KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 2, 2) /* 32KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sanyo Wavy MPC-10 */
@@ -3259,20 +3178,19 @@ ROM_START (mpc10)
ROM_LOAD ("mpc10.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e))
ROM_END
-void msx_state::mpc10(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::mpc10)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 2, 2); /* 32KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 2, 2) /* 32KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sharp Epcom HotBit 1.1 */
@@ -3281,20 +3199,19 @@ ROM_START (hotbit11)
ROM_LOAD ("hotbit11.rom", 0x0000, 0x8000, CRC(b6942694) SHA1(663f8c512d04d213fa616b0db5eefe3774012a4b))
ROM_END
-void msx_state::hotbit11(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hotbit11)
msx1(TMS9128, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sharp Epcom HotBit 1.2 */
@@ -3303,20 +3220,19 @@ ROM_START (hotbit12)
ROM_LOAD ("hotbit12.rom", 0x0000, 0x8000, CRC(f59a4a0c) SHA1(9425815446d468058705bae545ffa13646744a87))
ROM_END
-void msx_state::hotbit12(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hotbit12)
msx1(TMS9128, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sharp Epcom HotBit 1.3b */
@@ -3325,20 +3241,19 @@ ROM_START (hotbi13b)
ROM_LOAD ("hotbit13b.rom", 0x0000, 0x8000, CRC(7a19820e) SHA1(e0c2bfb078562d15acabc5831020a2370ea87052))
ROM_END
-void msx_state::hotbi13b(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hotbi13b)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000); /* 64KB Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) /* 64KB Mapper RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sharp Epcom HotBit 1.3p */
@@ -3347,20 +3262,19 @@ ROM_START (hotbi13p)
ROM_LOAD ("hotbit13p.rom", 0x0000, 0x8000, CRC(150e239c) SHA1(942f9507d206cd8156f15601fe8032fcf0e3875b))
ROM_END
-void msx_state::hotbi13p(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hotbi13p)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000); /* 64KB Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) /* 64KB Mapper RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sony HB-10 */
@@ -3369,23 +3283,22 @@ ROM_START (hb10)
ROM_LOAD ("hb10bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-void msx_state::hb10(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hb10)
msx1(TMS9928A, config);
// YM2149 (in S-1985 MSX-Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
// S-1985 MSX-Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 3, 1); /* 16KB? RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 3, 1) /* 16KB? RAM */
MSX_S1985(config, "s1985", 0);
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sony HB-10P */
@@ -3394,21 +3307,20 @@ ROM_START (hb10p)
ROM_LOAD ("10pbios.rom", 0x0000, 0x8000, CRC(0f488dd8) SHA1(5e7c8eab238712d1e18b0219c0f4d4dae180420d))
ROM_END
-void msx_state::hb10p(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hb10p)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
// T6950
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sony HB-20P */
@@ -3417,21 +3329,20 @@ ROM_START (hb20p)
ROM_LOAD ("20pbios.rom", 0x0000, 0x8000, CRC(21af423f) SHA1(365c93d7652c9f727221689bcc348652832a7b7a))
ROM_END
-void msx_state::hb20p(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hb20p)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
// T6950
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sony HB-201 */
@@ -3442,21 +3353,20 @@ ROM_START (hb201)
ROM_FILL( 0xc000, 0x4000, 0xff )
ROM_END
-void msx_state::hb201(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hb201)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "note", 0, 0, 2, 2, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("note", 0, 0, 2, 2, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sony HB-201P */
@@ -3466,21 +3376,20 @@ ROM_START (hb201p)
ROM_LOAD ("201pnote.rom.ic8", 0x8000, 0x4000, CRC(1ff9b6ec) SHA1(e84d3ec7a595ee36b50e979683c84105c1871857))
ROM_END
-void msx_state::hb201p(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hb201p)
msx1(TMS9929A, config);
// YM2149
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "note", 0, 0, 2, 1, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("note", 0, 0, 2, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sony HB-501P */
@@ -3489,20 +3398,19 @@ ROM_START (hb501p)
ROM_LOAD ("501pbios.rom", 0x0000, 0x8000, CRC(0f488dd8) SHA1(5e7c8eab238712d1e18b0219c0f4d4dae180420d))
ROM_END
-void msx_state::hb501p(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hb501p)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sony HB-55 (Version 1) */
@@ -3512,21 +3420,20 @@ ROM_START (hb55)
ROM_LOAD ("hb55note.rom", 0x8000, 0x2000, CRC(5743ab55) SHA1(b9179db93608c4da649532e704f072e0a3ea1b22))
ROM_END
-void msx_state::hb55(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hb55)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "note", 0, 0, 2, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 0, 3, 1); /* 16KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("note", 0, 0, 2, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM("ram", 0, 0, 3, 1) /* 16KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sony HB-55D */
@@ -3536,21 +3443,20 @@ ROM_START (hb55d)
ROM_LOAD ("55dnote.rom", 0x8000, 0x4000, CRC(8aae0494) SHA1(97ce59892573cac3c440efff6d74c8a1c29a5ad3))
ROM_END
-void msx_state::hb55d(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hb55d)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "note", 0, 0, 2, 1, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 3, 1); /* 16KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("note", 0, 0, 2, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 3, 1) /* 16KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sony HB-55P */
@@ -3561,21 +3467,20 @@ ROM_START (hb55p)
ROM_LOAD ("55pnote.ic44", 0x8000, 0x4000, CRC(492b12f8) SHA1(b262aedc71b445303f84efe5e865cbb71fd7d952))
ROM_END
-void msx_state::hb55p(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hb55p)
msx1(TMS9929A, config);
// AY8910
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "note", 0, 0, 2, 1, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 3, 1); /* 16KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("note", 0, 0, 2, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 3, 1) /* 16KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sony HB-75D */
@@ -3585,21 +3490,20 @@ ROM_START (hb75d)
ROM_LOAD ("75dnote.rom", 0x8000, 0x4000, CRC(8aae0494) SHA1(97ce59892573cac3c440efff6d74c8a1c29a5ad3))
ROM_END
-void msx_state::hb75d(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hb75d)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "note", 0, 0, 2, 1, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("note", 0, 0, 2, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sony HB-75P */
@@ -3610,21 +3514,20 @@ ROM_START (hb75p)
ROM_LOAD ("75pnote.ic44", 0x8000, 0x4000, CRC(492b12f8) SHA1(b262aedc71b445303f84efe5e865cbb71fd7d952))
ROM_END
-void msx_state::hb75p(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hb75p)
msx1(TMS9929A, config);
// AY8910
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "note", 0, 0, 2, 1, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("note", 0, 0, 2, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sony HB-101P */
@@ -3634,21 +3537,20 @@ ROM_START (hb101p)
ROM_LOAD ("101pnote.rom", 0x8000, 0x4000, CRC(525017c2) SHA1(8ffc24677fd9d2606a79718764261cdf02434f0a))
ROM_END
-void msx_state::hb101p(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hb101p)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 0, 2, 2); /* 32KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "note", 3, 0, 1, 1, "maincpu", 0x8000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 0, 0, 2, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("note", 3, 0, 1, 1, "maincpu", 0x8000)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Sony HB-701FD */
@@ -3658,26 +3560,25 @@ ROM_START (hb701fd)
ROM_LOAD ("hb701fddisk.rom", 0x8000, 0x4000, CRC(71961d9d) SHA1(2144036d6573d666143e890e5413956bfe8f66c5))
ROM_END
-void msx_state::hb701fd(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hb701fd)
msx1(TMS9928A, config);
// YM2149 (in S-1985)
// FDC: WD2793?, 1 3.5" SSDD drive
// 2 Cartridge slots
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64KB RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 1, 1, 2, "maincpu", 0x8000).set_tags("fdc", "fdc:0", "fdc:1"); // Is this correct??
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 1, 1, 1, "maincpu", 0x8000) // Is this correct??
msx_wd2793_force_ready(config);
msx_1_35_ssdd_drive(config);
msx1_floplist(config);
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Spectravideo SVI-728 */
@@ -3687,21 +3588,20 @@ ROM_START (svi728)
// ROM_LOAD ("707disk.rom", 0x8000, 0x4000, CRC(f9978853) SHA1(6aa856cc56eb98863c9da7a566571605682b5c6b))
ROM_END
-void msx_state::svi728(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::svi728)
msx1(TMS9129, config);
// AY8910
// FDC: None, 0 drives
// 1 Cartridge slots, 1 Expansion slot (eg for SVI-707)
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 1, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot", 2, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 1, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot", 2, 0)
// MSX_LAYOUT_SLOT (3, 0, 1, 1, DISK_ROM2, 0x4000, 0x8000)
// MSX_LAYOUT_SLOT (3, 1, 0, 4, CARTRIDGE2, 0x0000, 0x0000)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Spectravideo SVI-738 */
@@ -3713,8 +3613,7 @@ ROM_START (svi738)
ROM_FILL (0xe000, 0x2000, 0xff)
ROM_END
-void msx_state::svi738(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::svi738)
msx1(TMS9929A, config);
// AY8910
// FDC: wd1793, 1 3.5" SSDD drive
@@ -3722,19 +3621,19 @@ void msx_state::svi738(machine_config &config)
// builtin 80 columns card (V9938)
// RS-232C interface
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 1, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "rs232", 3, 0, 1, 1, "maincpu", 0xc000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK2, "disk", 3, 1, 1, 2, "maincpu", 0x8000).set_tags("fdc", "fdc:0", "fdc:1");
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 2, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 1, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("rs232", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_DISK2("disk", 3, 1, 1, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 2)
msx_fd1793(config);
msx_1_35_ssdd_drive(config);
msx1_floplist(config);
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Spectravideo SVI-738 Arabic */
@@ -3747,8 +3646,7 @@ ROM_START (svi738ar)
ROM_LOAD ("738arab.rom", 0x10000, 0x8000, CRC(339cd1aa) SHA1(0287b2ec897b9196788cd9f10c99e1487d7adbbb))
ROM_END
-void msx_state::svi738ar(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::svi738ar)
msx1(TMS9929A, config);
// AY8910
// FDC: wd2793, 1 3.5" SSDD drive
@@ -3756,20 +3654,20 @@ void msx_state::svi738ar(machine_config &config)
// builtin 80 columns card (V9938)
// RS-232C interface
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 1, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "rs232", 3, 0, 1, 1, "maincpu", 0xc000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK2, "disk", 3, 1, 1, 2, "maincpu", 0x8000).set_tags("fdc", "fdc:0", "fdc:1");
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 2, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "arab", 3, 3, 1, 2, "maincpu", 0x10000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 1, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("rs232", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_DISK2("disk", 3, 1, 1, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 2)
+ MCFG_MSX_LAYOUT_ROM("arab", 3, 3, 1, 2, "maincpu", 0x10000)
msx_wd2793_force_ready(config);
msx_1_35_ssdd_drive(config);
msx1_floplist(config);
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Spectravideo SVI-738 Danish */
@@ -3781,8 +3679,7 @@ ROM_START (svi738dk)
ROM_FILL (0xe000, 0x2000, 0xff)
ROM_END
-void msx_state::svi738dk(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::svi738dk)
msx1(TMS9929A, config);
// AY8910
// FDC: wd2793, 1 3.5" SSDD drive
@@ -3790,19 +3687,19 @@ void msx_state::svi738dk(machine_config &config)
// builtin 80 columns card (V9938)
// RS-232C interface
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 1, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "rs232", 3, 0, 1, 1, "maincpu", 0xc000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK2, "disk", 3, 1, 1, 2, "maincpu", 0x8000).set_tags("fdc", "fdc:0", "fdc:1");
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 2, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 1, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("rs232", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_DISK2("disk", 3, 1, 1, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 2)
msx_wd2793_force_ready(config);
msx_1_35_ssdd_drive(config);
msx1_floplist(config);
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Spectravideo SVI-738 Spanish */
@@ -3814,8 +3711,7 @@ ROM_START (svi738sp)
ROM_FILL (0xe000, 0x2000, 0xff)
ROM_END
-void msx_state::svi738sp(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::svi738sp)
msx1(TMS9929A, config);
// AY8910
// FDC: wd2793, 1 3.5" SSDD drive
@@ -3823,19 +3719,19 @@ void msx_state::svi738sp(machine_config &config)
// builtin 80 columns card (V9938)
// RS-232C interface
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 1, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "rs232", 3, 0, 1, 1, "maincpu", 0xc000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK2, "disk", 3, 1, 1, 2, "maincpu", 0x8000).set_tags("fdc", "fdc:0", "fdc:1");
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 2, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 1, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("rs232", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_DISK2("disk", 3, 1, 1, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 2)
msx_wd2793_force_ready(config);
msx_1_35_ssdd_drive(config);
msx1_floplist(config);
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Spectravideo SVI-738 Swedish */
@@ -3847,8 +3743,7 @@ ROM_START (svi738sw)
ROM_FILL (0xe000, 0x2000, 0xff)
ROM_END
-void msx_state::svi738sw(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::svi738sw)
msx1(TMS9929A, config);
// AY8910
// FDC: wd2793, 1 3.5" SSDD drive
@@ -3856,19 +3751,19 @@ void msx_state::svi738sw(machine_config &config)
// builtin 80 columns card (V9938)
// RS-232C interface
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 1, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "rs232", 3, 0, 1, 1, "maincpu", 0xc000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK2, "disk", 3, 1, 1, 2, "maincpu", 0x8000).set_tags("fdc", "fdc:0", "fdc:1");
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 2, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 1, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("rs232", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_DISK2("disk", 3, 1, 1, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 2)
msx_wd2793_force_ready(config);
msx_1_35_ssdd_drive(config);
msx1_floplist(config);
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Spectravideo SVI-738 Poland*/
@@ -3880,8 +3775,7 @@ ROM_START (svi738pl)
ROM_FILL (0xe000, 0x2000, 0xff)
ROM_END
-void msx_state::svi738pl(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::svi738pl)
msx1(TMS9929A, config);
// AY8910
// FDC: wd2793, 1 3.5" SSDD drive
@@ -3889,19 +3783,19 @@ void msx_state::svi738pl(machine_config &config)
// builtin 80 columns card (V9938)
// RS-232C interface
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 1, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "rs232", 3, 0, 1, 1, "maincpu", 0xc000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK2, "disk", 3, 1, 1, 2, "maincpu", 0x8000).set_tags("fdc", "fdc:0", "fdc:1");
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 2, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 1, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("rs232", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_DISK2("disk", 3, 1, 1, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 2)
msx_wd2793_force_ready(config);
msx_1_35_ssdd_drive(config);
msx1_floplist(config);
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Talent DPC-200 */
@@ -3910,20 +3804,19 @@ ROM_START (tadpc200)
ROM_LOAD ("dpc200bios.rom", 0x0000, 0x8000, CRC(8205795e) SHA1(829c00c3114f25b3dae5157c0a238b52a3ac37db))
ROM_END
-void msx_state::tadpc200(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::tadpc200)
msx1(TMS9129, config);
// AY8910
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 1, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 2, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 1, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Talent DPC-200A */
@@ -3932,20 +3825,19 @@ ROM_START (tadpc20a)
ROM_LOAD ("dpc200abios.rom", 0x0000, 0x8000, CRC(8205795e) SHA1(829c00c3114f25b3dae5157c0a238b52a3ac37db))
ROM_END
-void msx_state::tadpc20a(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::tadpc20a)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 1, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 2, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 1, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Toshiba HX-10 */
/* The BIOS on the Toshiba HX-10 is inside a big 64pin Toshiba chip label TCX-1007 */
@@ -3955,20 +3847,19 @@ ROM_START (hx10)
ROM_LOAD ("tcx-1007.ic15", 0x0000, 0x8000, CRC(5486b711) SHA1(4dad9de7c28b452351cc12910849b51bd9a37ab3))
ROM_END
-void msx_state::hx10(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hx10)
msx1(TMS9929A, config);
// AY8910
// FDC: None, 0 drives
// 1 Cartridge slot, 1 Toshiba Expension slot
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
//MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) // Expansion slot
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Toshiba HX-10D */
@@ -3977,20 +3868,19 @@ ROM_START (hx10d)
ROM_LOAD ("hx10dbios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-void msx_state::hx10d(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hx10d)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Toshiba HX-10DP */
@@ -3999,20 +3889,19 @@ ROM_START (hx10dp)
ROM_LOAD ("hx10dpbios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-void msx_state::hx10dp(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hx10dp)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Toshiba HX-10E */
@@ -4021,20 +3910,19 @@ ROM_START (hx10e)
ROM_LOAD ("hx10ebios.rom", 0x0000, 0x8000, CRC(5486b711) SHA1(4dad9de7c28b452351cc12910849b51bd9a37ab3))
ROM_END
-void msx_state::hx10e(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hx10e)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Toshiba HX-10F */
@@ -4043,20 +3931,19 @@ ROM_START (hx10f)
ROM_LOAD ("hx10fbios.rom", 0x0000, 0x8000, CRC(e0e894b7) SHA1(d99eebded5db5fce1e072d08e642c0909bc7efdd))
ROM_END
-void msx_state::hx10f(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hx10f)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Toshiba HX-10S */
@@ -4065,20 +3952,19 @@ ROM_START (hx10s)
ROM_LOAD ("hx10sbios.rom", 0x0000, 0x8000, CRC(5486b711) SHA1(4dad9de7c28b452351cc12910849b51bd9a37ab3))
ROM_END
-void msx_state::hx10s(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hx10s)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 3, 1); /* 16KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 3, 1) /* 16KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Toshiba HX-10SA */
@@ -4087,20 +3973,19 @@ ROM_START (hx10sa)
ROM_LOAD ("hx10sabios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-void msx_state::hx10sa(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hx10sa)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Toshiba HX-20 */
@@ -4110,23 +3995,22 @@ ROM_START (hx20)
ROM_LOAD ("hx20word.rom", 0x8000, 0x8000, CRC(39b3e1c0) SHA1(9f7cfa932bd7dfd0d9ecaadc51655fb557c2e125))
ROM_END
-void msx_state::hx20(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hx20)
msx1(TMS9129, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
// T6950
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram1", 0, 0, 2, 2); /* 32KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram2", 3, 0, 2, 2); /* 32KB RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "word", 3, 3, 1, 2, "maincpu", 0x8000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram1", 0, 0, 2, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram2", 3, 0, 2, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_ROM("word", 3, 3, 1, 2, "maincpu", 0x8000)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Toshiba HX-20I */
@@ -4136,23 +4020,22 @@ ROM_START (hx20i)
ROM_LOAD ("hx20iword.rom", 0x8000, 0x8000, CRC(39b3e1c0) SHA1(9f7cfa932bd7dfd0d9ecaadc51655fb557c2e125))
ROM_END
-void msx_state::hx20i(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hx20i)
msx1(TMS9129, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
// T6950 VDP instead of TMS9928A
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram1", 0, 0, 2, 2); /* 32KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram2", 3, 0, 2, 2); /* 32KB RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "word", 3, 3, 1, 2, "maincpu", 0x8000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram1", 0, 0, 2, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram2", 3, 0, 2, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_ROM("word", 3, 3, 1, 2, "maincpu", 0x8000)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Toshiba HX-21 */
@@ -4165,21 +4048,20 @@ ROM_START (hx21)
ROM_LOAD ("hx21kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967))
ROM_END
-void msx_state::hx21(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hx21)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram2", 3, 0, 0, 4); /* 64KB RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "word", 3, 3, 1, 2, "maincpu", 0x8000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram2", 3, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("word", 3, 3, 1, 2, "maincpu", 0x8000)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Toshiba HX-21I */
@@ -4189,22 +4071,21 @@ ROM_START (hx21i)
ROM_LOAD ("hx21iword.rom", 0x8000, 0x8000, CRC(f9e29c66) SHA1(3289336b2c12161fd926a7e5ce865770ae7038af))
ROM_END
-void msx_state::hx21i(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hx21i)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram1", 0, 0, 2, 2); /* 32KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram2", 3, 0, 2, 2); /* 32KB RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "word", 3, 3, 1, 2, "maincpu", 0x8000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram1", 0, 0, 2, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram2", 3, 0, 2, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_ROM("word", 3, 3, 1, 2, "maincpu", 0x8000)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Toshiba HX-22 */
@@ -4217,22 +4098,21 @@ ROM_START (hx22)
ROM_LOAD ("hx22kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967))
ROM_END
-void msx_state::hx22(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hx22)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
// RS232C builtin?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram2", 3, 0, 0, 4); /* 64KB RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "word", 3, 3, 1, 2, "maincpu", 0x8000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram2", 3, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("word", 3, 3, 1, 2, "maincpu", 0x8000)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Toshiba HX-22I */
@@ -4242,8 +4122,7 @@ ROM_START (hx22i)
ROM_LOAD ("hx22iword.rom", 0x8000, 0x8000, CRC(f9e29c66) SHA1(3289336b2c12161fd926a7e5ce865770ae7038af))
ROM_END
-void msx_state::hx22i(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hx22i)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
@@ -4251,15 +4130,15 @@ void msx_state::hx22i(machine_config &config)
// RS232C builtin?
// Z80: LH0080A
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram1", 0, 0, 2, 2); /* 32KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram2", 3, 0, 2, 2); /* 32KB RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "word", 3, 3, 1, 2, "maincpu", 0x8000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram1", 0, 0, 2, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram2", 3, 0, 2, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_ROM("word", 3, 3, 1, 2, "maincpu", 0x8000)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Victor HC-5 */
@@ -4268,20 +4147,19 @@ ROM_START (hc5)
ROM_LOAD ("hc5bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-void msx_state::hc5(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hc5)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives,
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 3, 1); // 16KB or 32KB RAM ?
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 3, 1) // 16KB or 32KB RAM ?
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Victor HC-6 */
@@ -4290,20 +4168,19 @@ ROM_START (hc6)
ROM_LOAD ("hc6bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-void msx_state::hc6(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hc6)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives,
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 2, 2); // 32KB RAM
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 2, 2) // 32KB RAM
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Victor HC-7 */
@@ -4312,20 +4189,19 @@ ROM_START (hc7)
ROM_LOAD ("hc7bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821))
ROM_END
-void msx_state::hc7(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::hc7)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives,
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); // 64KB RAM
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) // 64KB RAM
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Yamaha CX5F (with SFG01) */
@@ -4334,8 +4210,7 @@ ROM_START (cx5f1)
ROM_LOAD ("cx5fbios.rom", 0x0000, 0x8000, CRC(dc662057) SHA1(36d77d357a5fd15af2ab266ee66e5091ba4770a3))
ROM_END
-void msx_state::cx5f1(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::cx5f1)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
@@ -4343,13 +4218,13 @@ void msx_state::cx5f1(machine_config &config)
// 1 Yamaha expansion slot?
// S-5327 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 0, 2, 2); // 32KB RAM
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_YAMAHA_EXPANSION, "expansion", 2, 0, msx_yamaha_60pin, "sfg01");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 0, 0, 2, 2) // 32KB RAM
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot", 1, 0)
+ MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 2, 0, "sfg01")
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Yamaha CX5F (with SFG05) */
@@ -4358,8 +4233,7 @@ ROM_START (cx5f)
ROM_LOAD ("cx5fbios.rom", 0x0000, 0x8000, CRC(dc662057) SHA1(36d77d357a5fd15af2ab266ee66e5091ba4770a3))
ROM_END
-void msx_state::cx5f(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::cx5f)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
@@ -4367,13 +4241,13 @@ void msx_state::cx5f(machine_config &config)
// 1 Yamaha expansion slot?
// S-5327 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_YAMAHA_EXPANSION, "expansion", 3, 0, msx_yamaha_60pin, "sfg05");
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 2, 2); // 32KB RAM
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 3, 0, "sfg05")
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 2, 2) // 32KB RAM
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Yamaha CX5M / Yamaha CX5M-2 */
@@ -4382,22 +4256,21 @@ ROM_START (cx5m)
ROM_LOAD ("cx5mbios.rom", 0x0000, 0x8000, CRC(e2242b53) SHA1(706dd67036baeec7127e4ccd8c8db8f6ce7d0e4c))
ROM_END
-void msx_state::cx5m(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::cx5m)
msx1(TMS9929A, config);
// YM2149
// FDC: None, 0 drives
// 2 Cartridge slots
// 1 Expansion slot (60 pins interface instead of regular 50 pin cartridge interface)
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 0, 2, 2); /* 32KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "expansion", 3, 0, msx_yamaha_60pin, "sfg01");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram", 0, 0, 2, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 3, 0, "sfg01")
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Yamaha CX5M-128 */
@@ -4408,23 +4281,22 @@ ROM_START (cx5m128)
ROM_LOAD ("yrm502.rom", 0x14000, 0x4000, CRC(5330fe21) SHA1(7b1798561ee1844a7d6432924fbee9b4fc591c19))
ROM_END
-void msx_state::cx5m128(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::cx5m128)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 1, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "yrm", 3, 1, 1, 1, "maincpu", 0x14000); /* YRM-502 */
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000); /* 128KB Mapper RAM */
- add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "expansion", 3, 3, msx_yamaha_60pin, "sfg05");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 1, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("yrm", 3, 1, 1, 1, "maincpu", 0x14000) /* YRM-502 */
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 3, 3, "sfg05")
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Yamaha CX5MII */
@@ -4434,22 +4306,21 @@ ROM_START (cx5m2)
ROM_LOAD ("cx5m2ext.rom", 0x8000, 0x4000, CRC(feada82e) SHA1(48b0c2ff1f1e407cc44394219f7b3878efaa919f))
ROM_END
-void msx_state::cx5m2(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::cx5m2)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 1, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x10000); /* 64KB Mapper RAM */
- add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "expansion", 3, 3, msx_yamaha_60pin, "sfg05");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 1, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x10000) /* 64KB Mapper RAM */
+ MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 3, 3, "sfg05")
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Yamaha YIS303 */
@@ -4459,21 +4330,20 @@ ROM_START (yis303)
ROM_FILL( 0x8000, 0xc000, 0xff )
ROM_END
-void msx_state::yis303(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::yis303)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "fillff", 3, 0, 0, 3, "maincpu", 0x0000); /* Fill FF */
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 3, 1); /* 16KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("fillff", 3, 0, 0, 3, "maincpu", 0x0000) /* Fill FF */
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 3, 1) /* 16KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Yamaha YIS503 */
@@ -4483,21 +4353,20 @@ ROM_START (yis503)
ROM_FILL( 0x8000, 0xc000, 0xff )
ROM_END
-void msx_state::yis503(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::yis503)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "fillff", 3, 0, 0, 3, "maincpu", 0x0000); /* Fill FF */
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 2, 2); /* 32KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("fillff", 3, 0, 0, 3, "maincpu", 0x0000) /* Fill FF */
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 2, 2) /* 32KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Yamaha YIS503F */
@@ -4506,20 +4375,19 @@ ROM_START (yis503f)
ROM_LOAD ("yis503f.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e))
ROM_END
-void msx_state::yis503f(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::yis503f)
msx1(TMS9929A, config);
// YM2149
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64KB?? RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB?? RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Yamaha YIS503II */
@@ -4528,20 +4396,19 @@ ROM_START (yis503ii)
ROM_LOAD ("yis503iibios.rom", 0x0000, 0x8000, CRC(e2242b53) SHA1(706dd67036baeec7127e4ccd8c8db8f6ce7d0e4c))
ROM_END
-void msx_state::yis503ii(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::yis503ii)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Yamaha YIS503IIR Russian */
@@ -4552,8 +4419,7 @@ ROM_START (y503iir)
ROM_LOAD ("yis503iirnet.rom", 0xc000, 0x2000, CRC(0731db3f) SHA1(264fbb2de69fdb03f87dc5413428f6aa19511a7f))
ROM_END
-void msx_state::y503iir(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::y503iir)
msx1(TMS9929A, config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793/mb8877?, 1 3.5" DSDD drive
@@ -4562,19 +4428,19 @@ void msx_state::y503iir(machine_config &config)
// RTC
// V9938 VDP
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK2, "disk", 3, 1, 1, 2, "maincpu", 0x8000).set_tags("fdc", "fdc:0", "fdc:1"); /* National disk */
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); /* 64KB RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "net", 3, 3, 1, 1, "maincpu", 0xc000); /* Net */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_DISK2("disk", 3, 1, 1, 1, "maincpu", 0x8000) /* National disk */
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("net", 3, 3, 1, 1, "maincpu", 0xc000) /* Net */
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx1_floplist(config);
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Yamaha YIS503IIR Estonian */
@@ -4585,26 +4451,25 @@ ROM_START (y503iir2)
ROM_LOAD ("yis503iirnet.rom", 0xc000, 0x2000, CRC(0731db3f) SHA1(264fbb2de69fdb03f87dc5413428f6aa19511a7f))
ROM_END
-void msx_state::y503iir2(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::y503iir2)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: wd2793/mb8877?, 1 3.5" DSDD drive?
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK2, "disk", 3, 1, 1, 2, "maincpu", 0x8000).set_tags("fdc", "fdc:0", "fdc:1"); /* National disk */
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); /* 64KB RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "net", 3, 3, 1, 1, "maincpu", 0xc000); /* Net */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_DISK2("disk", 3, 1, 1, 1, "maincpu", 0x8000) /* National disk */
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("net", 3, 3, 1, 1, "maincpu", 0xc000) /* Net */
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx1_floplist(config);
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Yamaha YIS503M */
@@ -4613,21 +4478,20 @@ ROM_START (yis503m)
ROM_LOAD ("yis503mbios.rom", 0x0000, 0x8000, CRC(e2242b53) SHA1(706dd67036baeec7127e4ccd8c8db8f6ce7d0e4c))
ROM_END
-void msx_state::yis503m(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::yis503m)
msx1(TMS9929A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "expansion", 3, 0, msx_yamaha_60pin, "sfg05");
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 2, 2); /* 32KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 3, 0, "sfg05")
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 2, 2) /* 32KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Yashica YC-64 */
@@ -4636,19 +4500,18 @@ ROM_START (yc64)
ROM_LOAD ("yc64bios.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e))
ROM_END
-void msx_state::yc64(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::yc64)
msx1(TMS9929A, config);
// YM2149
// FDC: None, 0 drives
// 1 Cartridge slot (slot 1)
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX - Yeno MX64 */
@@ -4657,20 +4520,19 @@ ROM_START (mx64)
ROM_LOAD ("mx64bios.rom", 0x0000, 0x8000, CRC(e0e894b7) SHA1(d99eebded5db5fce1e072d08e642c0909bc7efdd))
ROM_END
-void msx_state::mx64(machine_config &config)
-{
+MACHINE_CONFIG_START(msx_state::mx64)
msx1(TMS9928A, config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 0, 4); /* 64KB RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 2, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx1_cartlist(config);
-}
+MACHINE_CONFIG_END
/******************************** MSX 2 **********************************/
@@ -4687,29 +4549,29 @@ ROM_START (ax350)
ROM_LOAD ("ax350disk.rom", 0x2c000, 0x4000, CRC(1e7d6512) SHA1(78cd7f847e77fd8cd51a647efb2725ba93f4c471))
ROM_END
-void msx2_state::ax350(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::ax350)
msx2_pal(config);
// AY8910/YM2149?
// FDC: wd2793/tc8566af?, 1 3.5" DSDD drive
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000); /* Bios */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 1, 0, 1, "maincpu", 0x8000); /* Ext */
- add_internal_slot(config, MSX_SLOT_ROM, "arab", 0, 1, 1, 2, "maincpu", 0xc000); /* Arab */
- add_internal_slot(config, MSX_SLOT_ROM, "swp", 0, 2, 1, 2, "maincpu", 0x14000); /* SWP */
- add_internal_slot(config, MSX_SLOT_ROM, "paint", 0, 3, 0, 4, "maincpu", 0x1c000); /* Paint */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK2, "disk", 3, 1, 1, 2, "maincpu", 0x2c000).set_tags("fdc", "fdc:0", "fdc:1"); /* Disk */
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_ramio_bits(0xf8); /* 128KB Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000) /* Bios */
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 1, 0, 1, "maincpu", 0x8000) /* Ext */
+ MCFG_MSX_LAYOUT_ROM("arab", 0, 1, 1, 2, "maincpu", 0xc000) /* Arab */
+ MCFG_MSX_LAYOUT_ROM("swp", 0, 2, 1, 2, "maincpu", 0x14000) /* SWP */
+ MCFG_MSX_LAYOUT_ROM("paint", 0, 3, 0, 4, "maincpu", 0x1c000) /* Paint */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_DISK2("disk", 3, 1, 1, 1, "maincpu", 0x2c000) /* Disk */
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0xf8)
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Al Alamiah AX-370 */
@@ -4723,29 +4585,29 @@ ROM_START (ax370)
ROM_LOAD ("ax370disk.rom", 0x2c000, 0x4000, CRC(60f8baba) SHA1(95de8809d2758fc0a743390ea5085b602e59e101))
ROM_END
-void msx2_state::ax370(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::ax370)
msx2_pal(config);
// AY8910/YM2149?
// FDC: tc8566af, 1 3.5" DSDD drive
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000); /* Bios */
- add_internal_slot(config, MSX_SLOT_ROM, "swp", 0, 2, 1, 2, "maincpu", 0x14000); /* SWP */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x20000).set_ramio_bits(0xf8); /* 128KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000); /* Ext */
- add_internal_slot(config, MSX_SLOT_ROM, "arab", 3, 1, 1, 2, "maincpu", 0xc000); /* Arab */
- add_internal_slot(config, MSX_SLOT_DISK3, "disk", 3, 2, 1, 1, "maincpu", 0x2c000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_ROM, "paint", 3, 3, 0, 4, "maincpu", 0x1c000); /* Paint */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000) /* Bios */
+ MCFG_MSX_LAYOUT_ROM("swp", 0, 2, 1, 2, "maincpu", 0x14000) /* SWP */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0xf8)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000) /* Ext */
+ MCFG_MSX_LAYOUT_ROM("arab", 3, 1, 1, 2, "maincpu", 0xc000) /* Arab */
+ MCFG_MSX_LAYOUT_DISK3("disk", 3, 2, 1, 1, "maincpu", 0x2c000)
+ MCFG_MSX_LAYOUT_ROM("paint", 3, 3, 0, 4, "maincpu", 0x1c000) /* Paint */
msx_tc8566af(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Canon V-25 */
@@ -4755,8 +4617,7 @@ ROM_START (canonv25)
ROM_LOAD ("v25ext.rom", 0x8000, 0x4000, CRC(4a48779c) SHA1(b8e30d604d319d511cbfbc61e5d8c38fbb9c5a33))
ROM_END
-void msx2_state::canonv25(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::canonv25)
msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: None, 0 drives
@@ -4764,18 +4625,18 @@ void msx2_state::canonv25(machine_config &config)
// S-1985 MSX Engine
// 64KB VRAM
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000); // BIOS
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000); // EXT
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x10000); // 64KB Mapper RAM
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000) // BIOS
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000) // EXT
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x10000) // 64KB Mapper RAM
MSX_S1985(config, "s1985", 0);
msx2_64kb_vram(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Canon V-30 */
@@ -4786,20 +4647,19 @@ ROM_START (canonv30)
ROM_LOAD ("v30disk.rom", 0xc000, 0x4000, CRC(54c73ad6) SHA1(12f2cc79b3d09723840bae774be48c0d721ec1c6))
ROM_END
-void msx2_state::canonv30(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::canonv30)
msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: ??, 2 3.5" DSDD drive
// 2 Cartridge slots
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000); // BIOS
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000); // EXT
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 1, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1"); // DISK
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x10000); // 64KB?? Mapper RAM
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000) // BIOS
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000) // EXT
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 1, 1, 1, "maincpu", 0xc000) // DISK
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x10000) // 64KB?? Mapper RAM
MSX_S1985(config, "s1985", 0);
@@ -4808,7 +4668,7 @@ void msx2_state::canonv30(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Canon V-30F */
@@ -4819,20 +4679,19 @@ ROM_START (canonv30f)
ROM_LOAD ("v30fdisk.rom", 0xc000, 0x4000, CRC(54c73ad6) SHA1(12f2cc79b3d09723840bae774be48c0d721ec1c6))
ROM_END
-void msx2_state::canonv30f(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::canonv30f)
msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: ??, 2 3.5" DSDD drive
// 2 Cartridge slots
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000); // BIOS
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000); // EXT
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 1, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1"); // DISK
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000); // 128KB Mapper RAM
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000) // BIOS
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000) // EXT
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 1, 1, 1, "maincpu", 0xc000) // DISK
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) // 128KB Mapper RAM
MSX_S1985(config, "s1985", 0);
@@ -4841,7 +4700,7 @@ void msx2_state::canonv30f(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Daewoo CPC-300 */
@@ -4852,25 +4711,25 @@ ROM_START (cpc300)
ROM_LOAD ("300han.rom", 0x10000, 0x8000, CRC(e78cd87f) SHA1(47a9d9a24e4fc6f9467c6e7d61a02d45f5a753ef))
ROM_END
-void msx2_state::cpc300(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::cpc300)
msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "han", 0, 1, 1, 2, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 0, 2, 0, 4).set_total_size(0x20000).set_ramio_bits(0x80); /* 128KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 3, 0, 2, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("han", 0, 1, 1, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 0, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 3, 0, 2, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
MSX_S1985(config, "s1985", 0);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Daewoo CPC-300E */
@@ -4882,8 +4741,7 @@ ROM_START (cpc300e)
ROM_LOAD ("300ehan.rom", 0x10000, 0x4000, BAD_DUMP CRC(5afea78d) SHA1(f08c91f8c78d681e1f02eaaaaafb87ad81112b60))
ROM_END
-void msx2_state::cpc300e(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::cpc300e)
msx2(config);
// AY8910/YM2149?
// FDC: None, 0 drives
@@ -4891,15 +4749,16 @@ void msx2_state::cpc300e(machine_config &config)
// No clockchip
// No joystick port??
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "han", 0, 1, 1, 1, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 0, 2, 0, 4).set_total_size(0x20000).set_ramio_bits(0x80); /* 128KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 3, 0, 2, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("han", 0, 1, 1, 1, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 0, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 3, 0, 2, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Daewoo CPC-330K */
@@ -4910,8 +4769,7 @@ ROM_START (cpc330k)
ROM_LOAD ("330khan.rom", 0x10000, 0x4000, CRC(3d6dd335) SHA1(d2b058989a700ca772b9591f42c01ed0f45f74d6))
ROM_END
-void msx2_state::cpc330k(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::cpc330k)
msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: None, 0 drives
@@ -4920,17 +4778,17 @@ void msx2_state::cpc330k(machine_config &config)
// Ergonomic keyboard, 2 builtin game controllers
// builtin FM?? builtin SCC??
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "han", 0, 1, 1, 1, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 0, 2, 0, 4).set_total_size(0x20000); /* 128KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 3, 0, 2, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("han", 0, 1, 1, 1, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 0, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 3, 0, 2, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
MSX_S1985(config, "s1985", 0);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Daewoo CPC-400 */
@@ -4945,27 +4803,27 @@ ROM_START (cpc400)
ROM_LOAD ("400kfn.rom", 0, 0x20000, CRC(b663c605) SHA1(965f4982790f1817bcbabbb38c8777183b231a55))
ROM_END
-void msx2_state::cpc400(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::cpc400)
msx2(config);
// AY8910/YM2149?
// FDC: mb8877a, 1 3.5" DS?DD drive
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "han", 0, 1, 1, 2, "maincpu", 0x14000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 0, 2, 0, 4).set_total_size(0x20000).set_ramio_bits(0x80); /* 128KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 3, 0, 2, "maincpu", 0xc000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK2, "disk", 2, 0, 1, 2, "maincpu", 0x8000).set_tags("fdc", "fdc:0", "fdc:1");
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("han", 0, 1, 1, 2, "maincpu", 0x14000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 0, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 3, 0, 2, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_DISK2("disk", 2, 0, 1, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx_mb8877a(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Daewoo CPC-400S */
@@ -4980,21 +4838,21 @@ ROM_START (cpc400s)
ROM_LOAD ("400skfn.rom", 0, 0x20000, CRC(fa85368c) SHA1(30fff22e3e3d464993707488442721a5e56a9707))
ROM_END
-void msx2_state::cpc400s(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::cpc400s)
msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: mb8877a, 1 3.5" DS?DD drive
// 2 Cartridge slots
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "han", 0, 1, 1, 2, "maincpu", 0x14000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 0, 2, 0, 4).set_total_size(0x20000).set_ramio_bits(0x80); /* 128KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 3, 0, 2, "maincpu", 0xc000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK2, "disk", 2, 0, 1, 2, "maincpu", 0x8000).set_tags("fdc", "fdc:0", "fdc:1");
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("han", 0, 1, 1, 2, "maincpu", 0x14000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 0, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 3, 0, 2, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_DISK2("disk", 2, 0, 1, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
MSX_S1985(config, "s1985", 0);
@@ -5003,7 +4861,7 @@ void msx2_state::cpc400s(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Daewoo Zemmix CPC-61 */
@@ -5016,8 +4874,7 @@ ROM_START (cpc61)
ROM_LOAD ("61kfn.rom", 0x00000, 0x40000, CRC(9a3cf67c) SHA1(22d5f4e522250dc5eb17e15b68f4a51bb752cba1))
ROM_END
-void msx2_state::cpc61(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::cpc61)
msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: None, 0 drives
@@ -5028,15 +4885,15 @@ void msx2_state::cpc61(machine_config &config)
// No printer port
// No cassette port?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 0, 2, 0, 4).set_total_size(0x10000); // 64KB Mapper RAM?
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 3, 0, 2, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 0, 2, 0x10000) // 64KB Mapper RAM?
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 3, 0, 2, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
MSX_S1985(config, "s1985", 0);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Daewoo Zemmix CPG-120 Normal */
@@ -5050,8 +4907,7 @@ ROM_START (cpg120)
ROM_LOAD ("cpg120kfn.rom", 0x0000, 0x40000, CRC(9a3cf67c) SHA1(22d5f4e522250dc5eb17e15b68f4a51bb752cba1))
ROM_END
-void msx2_state::cpg120(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::cpg120)
msx2(config);
// YM2149 (in S1985)
// FDC: None, 0 drives
@@ -5063,19 +4919,19 @@ void msx2_state::cpg120(machine_config &config)
// No clock chip
// No printer port
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 0, 2, 0, 4).set_total_size(0x20000); // 128KB Mapper RAM
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 3, 0, 2, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_MUSIC, "mus", 2, 0, 1, 1, "maincpu", 0x10000).set_ym2413_tag("ym2413");
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 0, 2, 0x20000) // 128KB Mapper RAM
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 3, 0, 2, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_MUSIC("mus", 2, 0, 1, 1, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
MSX_S1985(config, "s1985", 0);
msx_ym2413(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Daewoo Zemmic CPG-120 Turbo */
/* Same as normal CPG-120 but with CPU running at 5.369317 MHz */
@@ -5089,8 +4945,7 @@ ROM_START (fpc900)
ROM_LOAD ("fpc900disk.rom", 0xc000, 0x4000, CRC(ca3307d3) SHA1(c3efedda7ab947a06d9345f7b8261076fa7ceeef))
ROM_END
-void msx2_state::fpc900(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::fpc900)
msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: WD2793?, 1 3.5" DSDD drive
@@ -5098,19 +4953,19 @@ void msx2_state::fpc900(machine_config &config)
// S-3527 MSX Engine
// 256KB?? VRAM
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x40000); // 256KB? Mapper RAM
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 3, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x40000) // 256KB? Mapper RAM
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Gradiente Expert 2.0 */
@@ -5122,27 +4977,27 @@ ROM_START (expert20)
ROM_LOAD ("microsoldisk.rom", 0x10000, 0x4000, CRC(6704ef81) SHA1(a3028515ed829e900cc8deb403e17b09a38bf9b0))
ROM_END
-void msx2_state::expert20(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::expert20)
msx2_pal(config);
// AY8910/YM2149?
// FDC: microsol, 1? 3.5"? DS?DD drive
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 1, 1, 0, 1, "maincpu", 0x8000); /* EXT */
- add_internal_slot(config, MSX_SLOT_ROM, "xbasic", 1, 1, 1, 1, "maincpu", 0xc000); /* XBASIC */
- add_internal_slot(config, MSX_SLOT_DISK5, "disk", 1, 3, 1, 1, "maincpu", 0x10000).set_tags("fdc", "fdc:0", "fdc:1", "fdc:2", "fdc:3"); /* Microsol controller */
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 2, 0, 0, 4).set_total_size(0x20000).set_ramio_bits(0x80); /* 128KB Mapper RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 1, 1, 0, 1, "maincpu", 0x8000) /* EXT */
+ MCFG_MSX_LAYOUT_ROM("xbasic", 1, 1, 1, 1, "maincpu", 0xc000) /* XBASIC */
+ MCFG_MSX_LAYOUT_DISK5("disk", 1, 3, 1, 1, "maincpu", 0x10000) /* Microsol controller */
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 2, 0, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx_microsol(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Hitachi MB-H70 */
@@ -5157,21 +5012,20 @@ ROM_START (mbh70)
ROM_LOAD ("mbh70kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967))
ROM_END
-void msx2_state::mbh70(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::mbh70)
msx2(config);
// YM2149 (in S-1985)
// FDC: WD2793?, 1? 3.5" DSDD drive
// S-1985 MSX Engine
// 2? Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_SONY08, "firm", 0, 3, 0, 4, "maincpu", 0x10000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 0, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000); // 128KB Mapper RAM
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_SONY08("firm", 0, 3, 0, 4, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) // 128KB Mapper RAM
MSX_S1985(config, "s1985", 0);
@@ -5180,7 +5034,7 @@ void msx2_state::mbh70(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Kawai KMC-5000 */
@@ -5195,21 +5049,20 @@ ROM_START (kmc5000)
ROM_LOAD ("kmc5000kfn.rom", 0, 0x20000, CRC(c61ddc5d) SHA1(5e872d5853698731a0ed22fb72dbcdfd59cd19c3))
ROM_END
-void msx2_state::kmc5000(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::kmc5000)
msx2(config);
// YM2149 (in S-1985)
// FDC: TC8566AF?, 1? 3.5" DSDD drive
// S-1985 MSX Engine
// 2? Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "kdr", 3, 1, 1, 2, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_DISK3, "disk", 3, 2, 1, 1, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("kdr", 3, 1, 1, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_DISK3("disk", 3, 2, 1, 1, "maincpu", 0xc000)
MSX_S1985(config, "s1985", 0);
@@ -5218,7 +5071,7 @@ void msx2_state::kmc5000(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Mitsubishi ML-G1 */
@@ -5229,25 +5082,24 @@ ROM_START (mlg1)
ROM_LOAD ("mlg1paint.rom", 0xc000, 0x8000, CRC(64df1750) SHA1(5cf0abca6dbcf940bc33c433ecb4e4ada02fbfe6))
ROM_END
-void msx2_state::mlg1(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::mlg1)
msx2_pal(config);
// YM2149 (in S-1985)
// FDC: None, 0 drives
// S-1985 MSX Engine
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000); // 64KB or 128KB Mapper RAM ?
- add_internal_slot(config, MSX_SLOT_ROM, "paint", 3, 3, 0, 2, "maincpu", 0xc000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) // 64KB or 128KB Mapper RAM ?
+ MCFG_MSX_LAYOUT_ROM("paint", 3, 3, 0, 2, "maincpu", 0xc000)
MSX_S1985(config, "s1985", 0);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Mitsubishi ML-G3 */
@@ -5259,21 +5111,20 @@ ROM_START (mlg3)
ROM_LOAD ("mlg3rs232c.rom", 0x10000, 0x4000, CRC(90b8a114) SHA1(dc50f2c9db233e505b0981c244ff3de553ac9d68))
ROM_END
-void msx2_state::mlg3(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::mlg3)
msx2_pal(config);
// YM2149 (in S-1985)
// FDC: wd2793?, 1 3.5" DSDD drive
// S-1985 MSX Engine
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 0, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000); // 64KB or 128KB Mapper RAM?
- //add_internal_slot(config, MSX_SLOT_ROM, "rs232c", 3, 3, 1, 1, "maincpu", 0x10000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) // 64KB or 128KB Mapper RAM?
+ //MCFG_MSX_LAYOUT_ROM("rs232c", 3, 3, 1, 1, "maincpu", 0x10000)
MSX_S1985(config, "s1985", 0);
@@ -5282,7 +5133,7 @@ void msx2_state::mlg3(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Mitsubishi ML-G10 */
@@ -5295,24 +5146,23 @@ ROM_START (mlg10)
ROM_LOAD ("mlg10kfn.rom", 0, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967))
ROM_END
-void msx2_state::mlg10(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::mlg10)
msx2(config);
// YM2149 (in S-1985)
// FDC: None, 0 drives
// S-1985 MSX Engine
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000); // 64KB or 128KB Mapper RAM?
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) // 64KB or 128KB Mapper RAM?
MSX_S1985(config, "s1985", 0);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Mitsubishi ML-G30 Model 1/Model 2 */
@@ -5326,26 +5176,25 @@ ROM_START (mlg30)
ROM_LOAD ("g30kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967))
ROM_END
-void msx2_state::mlg30(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::mlg30)
msx2(config);
// AY8910/YM2149?
// FDC: wd2793/tc8566af?, 1 or 2? 3.5" DSDD drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr); /* Slot 2 subslot 0 */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 0, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x10000); /* 64KB Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0) /* Slot 2 subslot 0 */
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x10000) /* 64KB Mapper RAM */
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - National FS-4500 */
@@ -5369,8 +5218,7 @@ ROM_START (fs4500)
ROM_LOAD ("4500budi.rom", 0, 0x20000, CRC(f94590f8) SHA1(1ebb06062428fcdc66808a03761818db2bba3c73))
ROM_END
-void msx2_state::fs4500(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::fs4500)
msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: None, 0 drives
@@ -5378,25 +5226,25 @@ void msx2_state::fs4500(machine_config &config)
// S-1985 MSX Engine
// Matsushita switched device
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "font", 0, 2, 0, 1, "maincpu", 0xc000);
- add_internal_slot(config, MSX_SLOT_BUNSETSU, "buns", 0, 2, 1, 2, "maincpu", 0x10000).set_bunsetsu_region_tag("bunsetsu");
- add_internal_slot(config, MSX_SLOT_ROM, "jush", 0, 3, 1, 2, "maincpu", 0x18000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "wor1", 3, 0, 0, 3, "maincpu", 0x20000);
- add_internal_slot(config, MSX_SLOT_ROM, "kdr1", 3, 0, 3, 1, "maincpu", 0x38000);
- add_internal_slot(config, MSX_SLOT_ROM, "wor2", 3, 1, 0, 3, "maincpu", 0x2c000);
- add_internal_slot(config, MSX_SLOT_ROM, "kdr2", 3, 1, 3, 1, "maincpu", 0x3c000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("font", 0, 2, 0, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_BUNSETSU("buns", 0, 2, 1, 2, "maincpu", 0x10000, "bunsetsu")
+ MCFG_MSX_LAYOUT_ROM("jush", 0, 3, 1, 2, "maincpu", 0x18000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("wor1", 3, 0, 0, 3, "maincpu", 0x20000)
+ MCFG_MSX_LAYOUT_ROM("kdr1", 3, 0, 3, 1, "maincpu", 0x38000)
+ MCFG_MSX_LAYOUT_ROM("wor2", 3, 1, 0, 3, "maincpu", 0x2c000)
+ MCFG_MSX_LAYOUT_ROM("kdr2", 3, 1, 3, 1, "maincpu", 0x3c000)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 0, 4) /* 64KB RAM */
MSX_S1985(config, "s1985", 0);
MSX_MATSUSHITA(config, "matsushita", 0);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - National FS-4600 */
@@ -5418,24 +5266,24 @@ ROM_START (fs4600)
ROM_LOAD ("4600kf12.rom", 0, 0x20000, CRC(340d1ef7) SHA1(a7a23dc01314e88381eee88b4878b39931ab4818))
ROM_END
-void msx2_state::fs4600(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::fs4600)
msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: mb8877a, 1 3.5" DSDD drive
// 2 Cartridge slots
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "fon1", 0, 2, 0, 1, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_ROM, "kdr", 0, 2, 1, 2, "maincpu", 0x18000);
- add_internal_slot(config, MSX_SLOT_ROM, "fon2", 0, 3, 0, 1, "maincpu", 0x14000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_FS4600, "firm", 3, 1, 0, 4, "maincpu", 0x20000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_ramio_bits(0x80); /* 128KB Mapper RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK2, "disk", 3, 3, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("fon1", 0, 2, 0, 1, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_ROM("kdr", 0, 2, 1, 2, "maincpu", 0x18000)
+ MCFG_MSX_LAYOUT_ROM("fon2", 0, 3, 0, 1, "maincpu", 0x14000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_FS4600("firm", 3, 1, 0, 4, "maincpu", 0x20000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_DISK2("disk", 3, 3, 1, 1, "maincpu", 0xc000)
MSX_S1985(config, "s1985", 0);
@@ -5444,7 +5292,7 @@ void msx2_state::fs4600(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - National FS-4700 */
@@ -5469,8 +5317,7 @@ ROM_START (fs4700)
ROM_LOAD ("4700budi.rom", 0, 0x20000, CRC(f94590f8) SHA1(1ebb06062428fcdc66808a03761818db2bba3c73))
ROM_END
-void msx2_state::fs4700(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::fs4700)
msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: mb8877a, 1 3.5" DSDD drive
@@ -5478,19 +5325,19 @@ void msx2_state::fs4700(machine_config &config)
// S-1985 MSX Engine
// Matsushita switched device
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "font", 0, 2, 0, 1, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_BUNSETSU, "buns", 0, 2, 1, 2, "maincpu", 0x14000).set_bunsetsu_region_tag("bunsetsu");
- add_internal_slot(config, MSX_SLOT_ROM, "jush", 0, 3, 1, 2, "maincpu", 0x1c000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "wor1", 3, 0, 0, 3, "maincpu", 0x24000);
- add_internal_slot(config, MSX_SLOT_ROM, "kdr1", 3, 0, 3, 1, "maincpu", 0x3c000);
- add_internal_slot(config, MSX_SLOT_ROM, "wor2", 3, 1, 0, 3, "maincpu", 0x30000);
- add_internal_slot(config, MSX_SLOT_ROM, "kdr2", 3, 1, 3, 1, "maincpu", 0x40000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); /* 64KB RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK2, "disk", 3, 3, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("font", 0, 2, 0, 1, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_BUNSETSU("buns", 0, 2, 1, 2, "maincpu", 0x14000, "bunsetsu")
+ MCFG_MSX_LAYOUT_ROM("jush", 0, 3, 1, 2, "maincpu", 0x1c000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("wor1", 3, 0, 0, 3, "maincpu", 0x24000)
+ MCFG_MSX_LAYOUT_ROM("kdr1", 3, 0, 3, 1, "maincpu", 0x3c000)
+ MCFG_MSX_LAYOUT_ROM("wor2", 3, 1, 0, 3, "maincpu", 0x30000)
+ MCFG_MSX_LAYOUT_ROM("kdr2", 3, 1, 3, 1, "maincpu", 0x40000)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_DISK2("disk", 3, 3, 1, 1, "maincpu", 0xc000)
MSX_S1985(config, "s1985", 0);
@@ -5501,7 +5348,7 @@ void msx2_state::fs4700(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - National FS-5000 */
@@ -5518,25 +5365,25 @@ ROM_START (fs5000)
ROM_LOAD ("5000kfn.rom", 0, 0x20000, CRC(c61ddc5d) SHA1(5e872d5853698731a0ed22fb72dbcdfd59cd19c3))
ROM_END
-void msx2_state::fs5000(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::fs5000)
msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: wd2793, 2 3.5" DSDD drives
// 2 Cartridge slots
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "empty1", 0, 1, 0, 4, "maincpu", 0x20000);
- add_internal_slot(config, MSX_SLOT_ROM, "empty2", 0, 2, 0, 4, "maincpu", 0x20000);
- add_internal_slot(config, MSX_SLOT_ROM, "empty3", 0, 3, 0, 4, "maincpu", 0x20000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "kdr", 3, 0, 1, 2, "maincpu", 0x18000);
- add_internal_slot(config, MSX_SLOT_ROM, "rtcrom", 3, 1, 1, 2, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_ramio_bits(0x80); /* 128KB Mapper RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK2, "disk", 3, 3, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("empty1", 0, 1, 0, 4, "maincpu", 0x20000)
+ MCFG_MSX_LAYOUT_ROM("empty2", 0, 2, 0, 4, "maincpu", 0x20000)
+ MCFG_MSX_LAYOUT_ROM("empty3", 0, 3, 0, 4, "maincpu", 0x20000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("kdr", 3, 0, 1, 2, "maincpu", 0x18000)
+ MCFG_MSX_LAYOUT_ROM("rtcrom", 3, 1, 1, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_DISK2("disk", 3, 3, 1, 1, "maincpu", 0xc000)
MSX_S1985(config, "s1985", 0);
@@ -5545,7 +5392,7 @@ void msx2_state::fs5000(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - National FS-5500F2*/
/* The National FS-5500 had two versions: */
@@ -5565,8 +5412,7 @@ ROM_START (fs5500f1)
ROM_LOAD ("5500kfn.rom", 0, 0x20000, CRC(956dc96d) SHA1(9ed3ab6d893632b9246e91b412cd5db519e7586b))
ROM_END
-void msx2_state::fs5500f1(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::fs5500f1)
msx2(config);
// YM2149 in (S-1985 MSX Engine)
// FDC: mb8877a, 1 3.5" DSDD drive
@@ -5574,17 +5420,17 @@ void msx2_state::fs5500f1(machine_config &config)
// S-1985 MSX Engine
// Matsushita switched device
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "empty1", 0, 1, 0, 4, "maincpu", 0x20000);
- add_internal_slot(config, MSX_SLOT_ROM, "empty2", 0, 2, 0, 4, "maincpu", 0x20000);
- add_internal_slot(config, MSX_SLOT_ROM, "empty3", 0, 3, 0, 4, "maincpu", 0x20000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "kdr", 3, 0, 1, 2, "maincpu", 0x18000);
- add_internal_slot(config, MSX_SLOT_ROM, "imp", 3, 1, 1, 2, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); /* 64KB RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK2, "disk", 3, 3, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("empty1", 0, 1, 0, 4, "maincpu", 0x20000)
+ MCFG_MSX_LAYOUT_ROM("empty2", 0, 2, 0, 4, "maincpu", 0x20000)
+ MCFG_MSX_LAYOUT_ROM("empty3", 0, 3, 0, 4, "maincpu", 0x20000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("kdr", 3, 0, 1, 2, "maincpu", 0x18000)
+ MCFG_MSX_LAYOUT_ROM("imp", 3, 1, 1, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_DISK2("disk", 3, 3, 1, 1, "maincpu", 0xc000)
MSX_S1985(config, "s1985", 0);
@@ -5595,7 +5441,7 @@ void msx2_state::fs5500f1(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - National FS-5500F2*/
/* The National FS-5500 had two versions: */
@@ -5615,8 +5461,7 @@ ROM_START (fs5500f2)
ROM_LOAD ("5500kfn.rom", 0, 0x20000, CRC(956dc96d) SHA1(9ed3ab6d893632b9246e91b412cd5db519e7586b))
ROM_END
-void msx2_state::fs5500f2(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::fs5500f2)
msx2(config);
// YM2149 in (S-1985 MSX Engine)
// FDC: mb8877a, 2 3.5" DSDD drive
@@ -5624,17 +5469,17 @@ void msx2_state::fs5500f2(machine_config &config)
// S-1985 MSX Engine
// Matsushita switched device
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "empty1", 0, 1, 0, 4, "maincpu", 0x20000);
- add_internal_slot(config, MSX_SLOT_ROM, "empty2", 0, 2, 0, 4, "maincpu", 0x20000);
- add_internal_slot(config, MSX_SLOT_ROM, "empty3", 0, 3, 0, 4, "maincpu", 0x20000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "kdr", 3, 0, 1, 2, "maincpu", 0x18000);
- add_internal_slot(config, MSX_SLOT_ROM, "imp", 3, 1, 1, 2, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); /* 64KB RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK2, "disk", 3, 3, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("empty1", 0, 1, 0, 4, "maincpu", 0x20000)
+ MCFG_MSX_LAYOUT_ROM("empty2", 0, 2, 0, 4, "maincpu", 0x20000)
+ MCFG_MSX_LAYOUT_ROM("empty3", 0, 3, 0, 4, "maincpu", 0x20000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("kdr", 3, 0, 1, 2, "maincpu", 0x18000)
+ MCFG_MSX_LAYOUT_ROM("imp", 3, 1, 1, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_DISK2("disk", 3, 3, 1, 1, "maincpu", 0xc000)
MSX_S1985(config, "s1985", 0);
@@ -5645,7 +5490,7 @@ void msx2_state::fs5500f2(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Panasonic FS-A1 */
@@ -5657,23 +5502,22 @@ ROM_START (fsa1)
ROM_LOAD ("a1desk2.rom", 0x18000, 0x8000, CRC(7f6f4aa1) SHA1(7f5b76605e3d898cc4b5aacf1d7682b82fe84353))
ROM_END
-void msx2_state::fsa1(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::fsa1)
msx2(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64 KB RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "desk1", 3, 2, 1, 2, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_ROM, "desk2", 3, 3, 1, 2, "maincpu", 0x18000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64 KB RAM */
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("desk1", 3, 2, 1, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_ROM("desk2", 3, 3, 1, 2, "maincpu", 0x18000)
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Panasonic FS-A1 (a) */
@@ -5685,23 +5529,22 @@ ROM_START (fsa1a)
ROM_LOAD ("a1desk2.rom", 0x14000, 0x8000, CRC(7f6f4aa1) SHA1(7f5b76605e3d898cc4b5aacf1d7682b82fe84353))
ROM_END
-void msx2_state::fsa1a(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::fsa1a)
msx2(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); /* 64KB RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "desk1", 3, 2, 1, 2, "maincpu", 0xc000);
- add_internal_slot(config, MSX_SLOT_ROM, "desk2", 3, 3, 1, 2, "maincpu", 0x14000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 0, 4) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("desk1", 3, 2, 1, 2, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_ROM("desk2", 3, 3, 1, 2, "maincpu", 0x14000)
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Panasonic FS-A1F */
@@ -5717,28 +5560,28 @@ ROM_START (fsa1f)
ROM_LOAD ("a1fkfn.rom", 0, 0x20000, CRC(c61ddc5d) SHA1(5e872d5853698731a0ed22fb72dbcdfd59cd19c3))
ROM_END
-void msx2_state::fsa1f(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::fsa1f)
msx2(config);
// AY8910/YM2149?
// FDC: tc8566af, 1 3.5" DSDD drive
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000).set_ramio_bits(0x80); /* 64KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "fkdr", 3, 1, 1, 2, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_DISK3, "disk", 3, 2, 1, 1, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_ROM, "fcock", 3, 3, 1, 2, "maincpu", 0x18000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) /* 64KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("fkdr", 3, 1, 1, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_DISK3("disk", 3, 2, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_ROM("fcock", 3, 3, 1, 2, "maincpu", 0x18000)
msx_tc8566af(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Panasonic FS-A1FM */
@@ -5757,21 +5600,21 @@ ROM_START (fsa1fm)
ROM_LOAD ("a1fmkf12.rom", 0, 0x20000, CRC(340d1ef7) SHA1(a7a23dc01314e88381eee88b4878b39931ab4818))
ROM_END
-void msx2_state::fsa1fm(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::fsa1fm)
msx2(config);
// AY8910/YM2149?
// FDC: tc8566af, 1 3.5" DSDD drive
// 2 Cartridge slots
// Integrated 1200baud modem
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000).set_ramio_bits(0x80); /* 64KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) /* 64KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
/* MSX_LAYOUT_SLOT (3, 1, 1, 4, MODEM_ROM, 0x20000, 0x10000) */ /* Modem Mapper of FS-CM1/A1FM must be emulated */
- add_internal_slot(config, MSX_SLOT_DISK3, "disk", 3, 2, 1, 1, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_DISK3("disk", 3, 2, 1, 1, "maincpu", 0xc000)
/* MSX_LAYOUT_SLOT (3, 3, 0, 4, FSA1FM_ROM, 0x100000, 0x10000) */ /* Panasonic FS-A1FM Mapper must be emulated */
msx_tc8566af(config);
@@ -5779,7 +5622,7 @@ void msx2_state::fsa1fm(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Panasonic FS-A1MK2 */
@@ -5792,24 +5635,24 @@ ROM_START (fsa1mk2)
ROM_LOAD ("a1mkcoc3.rom", 0x18000, 0x8000, CRC(c1945676) SHA1(a3f4e2e4934074925d775afe30ac72f150ede543))
ROM_END
-void msx2_state::fsa1mk2(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::fsa1mk2)
msx2(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000).set_ramio_bits(0x80); /* 64 KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "coc1", 3, 1, 1, 2, "maincpu", 0xc000);
- add_internal_slot(config, MSX_SLOT_ROM, "coc2", 3, 2, 1, 1, "maincpu", 0x14000);
- add_internal_slot(config, MSX_SLOT_ROM, "coc3", 3, 3, 1, 2, "maincpu", 0x18000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) /* 64 KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("coc1", 3, 1, 1, 2, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_ROM("coc2", 3, 2, 1, 1, "maincpu", 0x14000)
+ MCFG_MSX_LAYOUT_ROM("coc3", 3, 3, 1, 2, "maincpu", 0x18000)
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8220 - 2 possible sets (/00 /16) */
@@ -5820,23 +5663,23 @@ ROM_START (nms8220)
ROM_LOAD ("8220pen.rom.u13", 0xc000, 0x4000, CRC(3d38c53e) SHA1(cb754aed85b3e97a7d3c5894310df7ca18f89f41))
ROM_END
-void msx2_state::nms8220(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::nms8220)
msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
// S-3527 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x10000).set_ramio_bits(0xf8); /* 64KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "pen", 3, 3, 1, 1, "maincpu", 0xc000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x10000) /* 64KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0xf8)
+ MCFG_MSX_LAYOUT_ROM("pen", 3, 3, 1, 1, "maincpu", 0xc000)
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8220 (a) */
@@ -5847,23 +5690,23 @@ ROM_START (nms8220a)
ROM_LOAD ("8220pena.rom.u13", 0xc000, 0x4000, CRC(17817b5a) SHA1(5df95d033ae70b107697b69470126ce1b7ae9eb5))
ROM_END
-void msx2_state::nms8220a(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::nms8220a)
msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
// S-3527 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x10000).set_ramio_bits(0xf8); /* 64KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "pen", 3, 3, 1, 1, "maincpu", 0xc000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x10000) /* 64KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0xf8)
+ MCFG_MSX_LAYOUT_ROM("pen", 3, 3, 1, 1, "maincpu", 0xc000)
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8245 - 2 possible sets (/00 /16) */
/* /00 - A16 = 0 */
@@ -5875,27 +5718,27 @@ ROM_START (nms8245)
ROM_LOAD ("nms8245.u7", 0x0000, 0x20000, BAD_DUMP CRC(0c827d5f) SHA1(064e706cb1f12b99b329944ceeedc0efc3b2d9be))
ROM_END
-void msx2_state::nms8245(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::nms8245)
msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots
// S-3527 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_ramio_bits(0xf8); /* 128KB Mapper RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 3, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext",3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0xf8)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8245F */
/* NMS-8245/19? */
@@ -5905,27 +5748,27 @@ ROM_START (nms8245f)
ROM_LOAD ("nms8245.u7", 0x0000, 0x20000, BAD_DUMP CRC(0c827d5f) SHA1(064e706cb1f12b99b329944ceeedc0efc3b2d9be))
ROM_END
-void msx2_state::nms8245f(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::nms8245f)
msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots
// S-3527 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x10000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x18000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_ramio_bits(0xf8); /* 128KB Mapper RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 3, 1, 2, "maincpu", 0x1c000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x18000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0xf8)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0x1c000)
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8250 */
/* Labels taken from an NMS-8250/00 */
@@ -5937,27 +5780,27 @@ ROM_START (nms8250)
ROM_LOAD ("jq00014.ic117", 0xc000, 0x4000, CRC(ca3307d3) SHA1(c3efedda7ab947a06d9345f7b8261076fa7ceeef))
ROM_END
-void msx2_state::nms8250(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::nms8250)
msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots
// S-3527 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_ramio_bits(0xf8); /* 128KB Mapper RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 3, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0xf8)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8250F */
@@ -5968,27 +5811,27 @@ ROM_START (nms8250f)
ROM_LOAD ("nms8250fdisk.rom", 0xc000, 0x4000, CRC(13b60725) SHA1(58ba1887e8fd21c912b6859cae6514bd874ffcca))
ROM_END
-void msx2_state::nms8250f(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::nms8250f)
msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots
// S-3527 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_ramio_bits(0xf8); /* 128KB Mapper RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 3, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0xf8)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8250J */
@@ -6002,26 +5845,25 @@ ROM_START (nms8250j)
ROM_LOAD ("8250jkfn.rom", 0x00000, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799))
ROM_END
-void msx2_state::nms8250j(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::nms8250j)
msx2(config);
// AY8910/YM2149?
// FDC: wd2793?, 1 3.5" DSDD drive
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000); /* 128KB Mapper RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 3, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8255 */
@@ -6032,27 +5874,27 @@ ROM_START (nms8255)
ROM_LOAD ("8255disk.rom.ic117", 0xc000, 0x4000, CRC(ca3307d3) SHA1(c3efedda7ab947a06d9345f7b8261076fa7ceeef))
ROM_END
-void msx2_state::nms8255(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::nms8255)
msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793, 2 3.5" DSDD drives
// 2 Cartridge slots
// S-3527 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_ramio_bits(0xf8); /* 128KB Mapper RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 3, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0xf8)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
msx_wd2793_force_ready(config);
msx_2_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8255F */
@@ -6063,27 +5905,27 @@ ROM_START (nms8255f)
ROM_LOAD ("nms8255fdisk.rom", 0xc000, 0x4000, CRC(13b60725) SHA1(58ba1887e8fd21c912b6859cae6514bd874ffcca))
ROM_END
-void msx2_state::nms8255f(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::nms8255f)
msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793, 2 3.5" DSDD drives
// 2 Cartridge slots
// S-3527 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_ramio_bits(0xf8); /* 128KB Mapper RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 3, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0xf8)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
msx_wd2793_force_ready(config);
msx_2_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8260 */
/* Prototype created by JVC for Philips. Based on an NMS-8250 with the floppy drive removed and replaced with a 20MB JVC harddisk */
@@ -6096,20 +5938,20 @@ ROM_START (nms8260)
ROM_LOAD ("nms8260hdd.rom", 0x10000, 0x4000, CRC(0051afc3) SHA1(77f9fe964f6d8cb8c4af3b5fe63ce6591d5288e6))
ROM_END
-void msx2_state::nms8260(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::nms8260)
msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793, 1 3.5" DSDD drives
// 2 Cartridge slots
// S-3527 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "hdd", 2, 0, 1, 1, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_ramio_bits(0xf8); /* 128KB Mapper RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 3, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_ROM("hdd", 2, 0, 1, 1, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0xf8)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
// There is actually only an FDC inside the real thing. With a floppy controller to attach an external floppy drive
msx_wd2793_force_ready(config);
@@ -6117,7 +5959,7 @@ void msx2_state::nms8260(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8270 - Not confirmed to exist yet */
@@ -6130,26 +5972,26 @@ ROM_START (nms8280)
ROM_LOAD ("8280disk.rom.ic117", 0xc000, 0x4000, CRC(ca3307d3) SHA1(c3efedda7ab947a06d9345f7b8261076fa7ceeef))
ROM_END
-void msx2_state::nms8280(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::nms8280)
msx2_pal(config);
// AY8910/YM2149?
// FDC: wd2793, 2 3.5" DSDD drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_ramio_bits(0xf8); /* 128KB Mapper RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 3, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0xf8)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
msx_wd2793_force_ready(config);
msx_2_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8280F */
@@ -6160,26 +6002,26 @@ ROM_START (nms8280f)
ROM_LOAD ("8280fdisk.rom", 0xc000, 0x4000, CRC(13b60725) SHA1(58ba1887e8fd21c912b6859cae6514bd874ffcca))
ROM_END
-void msx2_state::nms8280f(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::nms8280f)
msx2_pal(config);
// AY8910/YM2149?
// FDC: wd2793, 2 3.5" DSDD drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_ramio_bits(0xf8); /* 128KB Mapper RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 3, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0xf8)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
msx_wd2793_force_ready(config);
msx_2_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Philips NMS-8280G */
@@ -6190,26 +6032,26 @@ ROM_START (nms8280g)
ROM_LOAD ("8280gdisk.rom.ic117", 0xc000, 0x4000, CRC(d0beebb8) SHA1(d1001f93c87ff7fb389e418e33bf7bc81bdbb65f))
ROM_END
-void msx2_state::nms8280g(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::nms8280g)
msx2_pal(config);
// AY8910/YM2149?
// FDC: wd2793, 2 3.5" DSDD drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_ramio_bits(0xf8); /* 128KB Mapper RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 3, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0xf8)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
msx_wd2793_force_ready(config);
msx_2_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Philips VG-8230 (u11 - exp, u12 - basic, u13 - disk */
@@ -6220,27 +6062,27 @@ ROM_START (vg8230)
ROM_LOAD ("8230disk.rom.u13", 0xc000, 0x4000, CRC(77c4e5bc) SHA1(849f93867ff7846b27f84d0be418569faf058ac2))
ROM_END
-void msx2_state::vg8230(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::vg8230)
msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793, 1 3.5" SSDD drive
// 2 Cartridge slots
// S-3527 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x10000).set_ramio_bits(0xf8); /* 64KB Mapper RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 3, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x10000) /* 64KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0xf8)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
msx_wd2793_force_ready(config);
msx_1_35_ssdd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Philips VG-8230J */
@@ -6254,26 +6096,25 @@ ROM_START (vg8230j)
ROM_LOAD ("8230jkfn.rom", 0x00000, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799))
ROM_END
-void msx2_state::vg8230j(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::vg8230j)
msx2(config);
// AY8910/YM2149?
// FDC: wd2793?, 1 3.5" SSDD drive?
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000); /* 128KB Mapper RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 3, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
msx_wd2793_force_ready(config);
msx_1_35_ssdd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Philips VG-8235 3 psosible basic and ext roms (/00 /02 /19) */
@@ -6284,27 +6125,27 @@ ROM_START (vg8235)
ROM_LOAD ("8235disk.rom.u50", 0xc000, 0x4000, CRC(51daeb25) SHA1(8954e59aa79310c7b719ecf0cde1e82fb731dcd1))
ROM_END
-void msx2_state::vg8235(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::vg8235)
msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793, 1 3.5" SSDD drive
// 2 Cartridge slots
// S-3527 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_ramio_bits(0xf8); /* 128KB Mapper RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 3, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0xf8)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
msx_wd2793_force_ready(config);
msx_1_35_ssdd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Philips VG-8235F */
@@ -6315,27 +6156,27 @@ ROM_START (vg8235f)
ROM_LOAD ("8235fdisk.rom.u50", 0xc000, 0x4000, CRC(77c4e5bc) SHA1(849f93867ff7846b27f84d0be418569faf058ac2))
ROM_END
-void msx2_state::vg8235f(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::vg8235f)
msx2_pal(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793, 1 3.5" SSDD drive
// 2 Cartridge slots
// S-3527 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_ramio_bits(0xf8); /* 128KB Mapper RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 3, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0xf8)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
msx_wd2793_force_ready(config);
msx_1_35_ssdd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Philips VG-8240 */
@@ -6346,26 +6187,26 @@ ROM_START (vg8240)
ROM_LOAD ("8240disk.rom", 0xc000, 0x4000, CRC(ca3307d3) SHA1(c3efedda7ab947a06d9345f7b8261076fa7ceeef))
ROM_END
-void msx2_state::vg8240(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::vg8240)
msx2_pal(config);
// AY8910/YM2149?
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x10000).set_ramio_bits(0xf8); /* 64KB Mapper RAM */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 3, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x10000) /* 64KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0xf8)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 3, 1, 1, "maincpu", 0xc000)
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sanyo MPC-2300 */
@@ -6375,21 +6216,20 @@ ROM_START (mpc2300)
ROM_LOAD ("2300ext.rom", 0x8000, 0x4000, CRC(3d7dc718) SHA1(e1f834b28c3ee7c9f79fe6fbf2b23c8a0617892b))
ROM_END
-void msx2_state::mpc2300(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::mpc2300)
msx2(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x20000); /* 128KB?? Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x20000) /* 128KB?? Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sanyo MPC-2500FD */
@@ -6400,27 +6240,26 @@ ROM_START (mpc2500f)
ROM_LOAD ("mpc2500fddisk.rom", 0xc000, 0x4000, CRC(38454059) SHA1(58ac78bba29a06645ca8d6a94ef2ac68b743ad32))
ROM_END
-void msx2_state::mpc2500f(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::mpc2500f)
msx2(config);
// YM2149
// FDC: wd2793?, 1? 3.5" DSDD drive?
// 2 Cartridge slots?
// S-3527 MSX Eninge
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 2, 3, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 1, 1, 2, "maincpu", 0xC000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x10000); /* 64KB?? Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 2, 3, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 1, 1, 1, "maincpu", 0xC000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x10000) /* 64KB?? Mapper RAM */
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sanyo Wavy MPC-25FD */
@@ -6431,26 +6270,25 @@ ROM_START (mpc25fd)
ROM_LOAD ("25fddisk.rom", 0xc000, 0x4000, CRC(38454059) SHA1(58ac78bba29a06645ca8d6a94ef2ac68b743ad32))
ROM_END
-void msx2_state::mpc25fd(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::mpc25fd)
msx2(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793, 1 drive
// 1 Cartridge slot (slot 1)
// S-3527 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 2, 3, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 1, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000); /* 128KB?? RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot", 1, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 2, 3, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 1, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB?? RAM */
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sanyo Wavy MPC-27 */
@@ -6463,28 +6301,27 @@ ROM_START (mpc27)
ROM_RELOAD (0x12000, 0x2000)
ROM_END
-void msx2_state::mpc27(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::mpc27)
msx2(config);
// YM2149 (in S-3527 MSX Engine)
// FDC: wd2793?, 1 drive
// 2 Cartridge slots?
// S-3527 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x20000); /* 128KB?? RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 2, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_ROM, "lpen", 3, 3, 1, 1, "maincpu", 0x10000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x20000) /* 128KB?? RAM */
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 2, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_ROM("lpen", 3, 3, 1, 1, "maincpu", 0x10000)
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sanyo Wavy PHC-23 = PHC-23J(B)*/
@@ -6494,24 +6331,23 @@ ROM_START (phc23)
ROM_LOAD ("23ext.rom", 0x8000, 0x4000, CRC(90ca25b5) SHA1(fd9fa78bac25aa3c0792425b21d14e364cf7eea4))
ROM_END
-void msx2_state::phc23(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::phc23)
msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 0, 4) /* 64KB RAM */
MSX_S1985(config, "s1985", 0);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sanyo Wavy PHC-55FD2 */
@@ -6522,20 +6358,19 @@ ROM_START (phc55fd2)
ROM_LOAD ("phc55fd2disk.rom", 0xc000, 0x4000, CRC(38454059) SHA1(58ac78bba29a06645ca8d6a94ef2ac68b743ad32))
ROM_END
-void msx2_state::phc55fd2(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::phc55fd2)
msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: wd2793?, 2 3.5" DSDD drives
// 2 Cartridge slots
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x20000); /* 128KB RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 2, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x20000) /* 128KB RAM */
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 2, 1, 1, "maincpu", 0xc000)
MSX_S1985(config, "s1985", 0);
@@ -6544,7 +6379,7 @@ void msx2_state::phc55fd2(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sanyo Wavy PHC-77 */
@@ -6559,8 +6394,7 @@ ROM_START (phc77)
ROM_LOAD ("phc77kfn.rom", 0x0000, 0x20000, CRC(3b8fdf44) SHA1(fc71561a64f73da0e0043d256f67fd18d7fc3a7f))
ROM_END
-void msx2_state::phc77(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::phc77)
msx2(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: wd2793?, 1 drive
@@ -6568,13 +6402,13 @@ void msx2_state::phc77(machine_config &config)
// S-1985 MSX Engine
// Builtin printer
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000); /* 64KB RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 2, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_ROM, "write", 3, 3, 1, 2, "maincpu", 0x10000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 2, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_ROM("write", 3, 3, 1, 2, "maincpu", 0x10000)
MSX_S1985(config, "s1985", 0);
@@ -6583,7 +6417,7 @@ void msx2_state::phc77(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sharp Epcom HotBit 2.0 */
@@ -6595,27 +6429,27 @@ ROM_START (hotbit20)
ROM_LOAD ("microsoldisk.rom", 0x10000, 0x4000, CRC(6704ef81) SHA1(a3028515ed829e900cc8deb403e17b09a38bf9b0))
ROM_END
-void msx2_state::hotbit20(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hotbit20)
msx2_pal(config);
// AY8910/YM2149?
// FDC: microsol, 1 or 2 drives?
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 1, 1, 0, 1, "maincpu", 0x8000); /* EXT */
- add_internal_slot(config, MSX_SLOT_ROM, "xbasic", 1, 1, 1, 1, "maincpu", 0xc000); /* XBASIC */
- add_internal_slot(config, MSX_SLOT_DISK5, "disk", 1, 3, 1, 1, "maincpu", 0x10000).set_tags("fdc", "fdc:0", "fdc:1", "fdc:2", "fdc:3"); /* Microsol controller */
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 2, 0, 0, 4).set_total_size(0x20000).set_ramio_bits(0x80); /* 128KB Mapper RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 1, 1, 0, 1, "maincpu", 0x8000) /* EXT */
+ MCFG_MSX_LAYOUT_ROM("xbasic", 1, 1, 1, 1, "maincpu", 0xc000) /* XBASIC */
+ MCFG_MSX_LAYOUT_DISK5("disk", 1, 3, 1, 1, "maincpu", 0x10000) /* Microsol controller */
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 2, 0, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx_microsol(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sony HB-F1 */
@@ -6628,24 +6462,23 @@ ROM_START (hbf1)
ROM_LOAD ("f1note3.rom", 0x18000, 0x8000, CRC(73eb9329) SHA1(58accf41a90693874b86ce98d8d43c27beb8b6dc))
ROM_END
-void msx2_state::hbf1(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hbf1)
msx2(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "note1", 3, 0, 1, 1, "maincpu", 0xc000);
- add_internal_slot(config, MSX_SLOT_ROM, "note2", 3, 1, 1, 2, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_ROM, "note3", 3, 2, 1, 2, "maincpu", 0x18000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 3, 0, 4); /* 64KB RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("note1", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_ROM("note2", 3, 1, 1, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_ROM("note3", 3, 2, 1, 2, "maincpu", 0x18000)
+ MCFG_MSX_LAYOUT_RAM("ram", 3, 3, 0, 4) /* 64KB RAM */
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sony HB-F1II */
@@ -6658,24 +6491,24 @@ ROM_START (hbf12)
ROM_LOAD ("f12note3.rom", 0x18000, 0x8000, CRC(44a10e6a) SHA1(917d1c079e03c4a44de864f123d03c4e32c8daae))
ROM_END
-void msx2_state::hbf12(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hbf12)
msx2(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "note1", 3, 0, 1, 1, "maincpu", 0xc000);
- add_internal_slot(config, MSX_SLOT_ROM, "note2", 3, 1, 1, 2, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_ROM, "note3", 3, 2, 1, 2, "maincpu", 0x18000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 3, 0, 4).set_total_size(0x10000).set_ramio_bits(0x80); /* 64KB Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("note1", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_ROM("note2", 3, 1, 1, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_ROM("note3", 3, 2, 1, 2, "maincpu", 0x18000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 3, 0x10000) /* 64KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sony HB-F1XD */
@@ -6686,20 +6519,20 @@ ROM_START (hbf1xd)
ROM_LOAD ("f1xddisk.rom.ic27", 0xc000, 0x4000, BAD_DUMP CRC(54c73ad6) SHA1(12f2cc79b3d09723840bae774be48c0d721ec1c6))
ROM_END
-void msx2_state::hbf1xd(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hbf1xd)
msx2(config);
// YM2149 (in S-1895 MSX Engine)
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 0, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 3, 0, 4).set_total_size(0x10000).set_ramio_bits(0x80); /* 64KB Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 3, 0x10000) /* 64KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
MSX_S1985(config, "s1985", 0);
@@ -6708,7 +6541,7 @@ void msx2_state::hbf1xd(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sony HB-F1XDMK2 */
@@ -6719,26 +6552,26 @@ ROM_START (hbf1xdm2)
ROM_LOAD ("f1m2disk.rom.ic27", 0xc000, 0x4000, BAD_DUMP CRC(54c73ad6) SHA1(12f2cc79b3d09723840bae774be48c0d721ec1c6))
ROM_END
-void msx2_state::hbf1xdm2(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hbf1xdm2)
msx2(config);
// AY8910/YM2149?
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 0, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 3, 0, 4).set_total_size(0x10000).set_ramio_bits(0x80); /* 64KB Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 3, 0x10000) /* 64KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
msx_wd2793(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sony HB-F5 */
@@ -6749,22 +6582,21 @@ ROM_START (hbf5)
ROM_LOAD ("hbf5note.rom", 0xc000, 0x4000, CRC(0cdc0777) SHA1(06ba91d6732ee8a2ecd5dcc38b0ce42403d86708))
ROM_END
-void msx2_state::hbf5(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hbf5)
msx2_pal(config);
// YM2149
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "note", 0, 1, 1, 1, "maincpu", 0xc000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 0, 2, 0, 4).set_total_size(0x10000); /* 64KB?? Mapper RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("note", 0, 1, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 0, 2, 0x10000) /* 64KB?? Mapper RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sony HB-F500 */
@@ -6778,27 +6610,26 @@ ROM_START (hbf500)
ROM_LOAD ("f500kfn.rom", 0, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799))
ROM_END
-void msx2_state::hbf500(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hbf500)
msx2(config);
// AY8910/YM2149?
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram1", 0, 0, 2, 2); /* 32KB RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 0, 1, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_RAM, "ram2", 0, 2, 0, 2); /* 32KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram1", 0, 0, 2, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 0, 1, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM("ram2", 0, 2, 0, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sony HB-F500F */
@@ -6809,8 +6640,7 @@ ROM_START (hbf500f)
ROM_LOAD ("hbf500fdisk.rom", 0xc000, 0x4000, CRC(6e718f5c) SHA1(0e081572f84555dc13bdb0c7044a19d6c164d985))
ROM_END
-void msx2_state::hbf500f(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hbf500f)
msx2_pal(config);
// AY8910/YM2149?
// FDC: wd2793, 1 3.5" DSDD drive
@@ -6820,16 +6650,16 @@ void msx2_state::hbf500f(machine_config &config)
msx_1_35_dd_drive(config);
msx2_floplist(config);
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram1", 0, 0, 2, 2); /* 32KB RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 0, 1, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_RAM, "ram2", 0, 2, 0, 2); /* 32KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram1", 0, 0, 2, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 0, 1, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM("ram2", 0, 2, 0, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sony HB-F500P */
@@ -6840,8 +6670,7 @@ ROM_START (hbf500p)
ROM_FILL (0x10000, 0xc000, 0xFF)
ROM_END
-void msx2_state::hbf500p(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hbf500p)
msx2_pal(config);
// AY8910/YM2149?
// FDC: wd2793, 1 3.5" DSDD drive
@@ -6851,17 +6680,17 @@ void msx2_state::hbf500p(machine_config &config)
msx_1_35_dd_drive(config);
msx2_floplist(config);
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram1", 0, 0, 2, 2); /* 32KB RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 0, 1, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_RAM, "ram2", 0, 2, 0, 2); /* 32KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "empty", 3, 0, 0, 4, "maincpu", 0xc000); // Empty? or is this the 3rd cartridge/expansion slot ?
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram1", 0, 0, 2, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 0, 1, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM("ram2", 0, 2, 0, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("empty", 3, 0, 0, 4, "maincpu", 0xc000) // Empty? or is this the 3rd cartridge/expansion slot ?
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sony HB-F700D */
@@ -6871,20 +6700,20 @@ ROM_START (hbf700d)
ROM_LOAD ("700dext.ic6", 0x8000, 0x8000, CRC(100cf756) SHA1(317722fa36c2ed31c07c5218b43490fd5badf1f8))
ROM_END
-void msx2_state::hbf700d(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hbf700d)
msx2_pal(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 0, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 3, 0, 4).set_total_size(0x40000).set_ramio_bits(0x80); /* 256KB Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 3, 0x40000) /* 256KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
MSX_S1985(config, "s1985", 0);
@@ -6893,7 +6722,7 @@ void msx2_state::hbf700d(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sony HB-F700F */
@@ -6903,26 +6732,26 @@ ROM_START (hbf700f)
ROM_LOAD ("700fext.ic6", 0x8000, 0x8000, CRC(7c8b07b1) SHA1(ecacb20ba0a9bbd25e8c0f128d64dd66f8cd8bee))
ROM_END
-void msx2_state::hbf700f(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hbf700f)
msx2_pal(config);
// AY8910/YM2149?
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 0, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 3, 0, 4).set_total_size(0x40000).set_ramio_bits(0x80); /* 256KB Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 3, 0x40000) /* 256KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
msx_wd2793(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sony HB-F700P */
@@ -6932,20 +6761,20 @@ ROM_START (hbf700p)
ROM_LOAD ("700pext.ic6", 0x8000, 0x8000, CRC(63e1bffc) SHA1(496698a60432490dc1306c8cc1d4a6ded275261a))
ROM_END
-void msx2_state::hbf700p(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hbf700p)
msx2_pal(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 0, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 3, 0, 4).set_total_size(0x40000).set_ramio_bits(0x80); /* 256KB Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 3, 0x40000) /* 256KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
MSX_S1985(config, "s1985", 0);
@@ -6954,7 +6783,7 @@ void msx2_state::hbf700p(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sony HB-F700S */
@@ -6964,26 +6793,26 @@ ROM_START (hbf700s)
ROM_LOAD ("700sext.ic6", 0x8000, 0x8000, CRC(28d1badf) SHA1(ae3ed88a2d7034178e08f7bdf5409f462bf67fc9))
ROM_END
-void msx2_state::hbf700s(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hbf700s)
msx2_pal(config);
// AY8910/YM2149?
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 0, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 3, 0, 4).set_total_size(0x40000).set_ramio_bits(0x80); /* 256KB Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 3, 0x40000) /* 256KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sony HB-F900 */
ROM_START (hbf900)
@@ -6998,27 +6827,27 @@ ROM_START (hbf900)
ROM_LOAD ("f900kfn.rom", 0, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799))
ROM_END
-void msx2_state::hbf900(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hbf900)
msx2(config);
// AY8910/YM2149?
// FDC: wd2793, 2 3.5" DSDD drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 0, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 1, 0, 4).set_total_size(0x40000).set_ramio_bits(0x80); /* 256KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "empty", 3, 3, 1, 1, "maincpu", 0x14000); // Empty/unknown, optional fmpac rom used to be loaded here, or should the util rom be loaded?
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 1, 0x40000) /* 256KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_ROM("empty", 3, 3, 1, 1, "maincpu", 0x14000) // Empty/unknown, optional fmpac rom used to be loaded here, or should the util rom be loaded?
msx_wd2793_force_ready(config);
msx_2_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sony HB-F900 (a) */
ROM_START (hbf900a)
@@ -7033,27 +6862,27 @@ ROM_START (hbf900a)
ROM_LOAD ("f900kfn.rom", 0, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799))
ROM_END
-void msx2_state::hbf900a(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hbf900a)
msx2(config);
// AY8910/YM2149?
// FDC: wd2793, 2 3.5" DSDD drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 0, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 1, 0, 4).set_total_size(0x40000).set_ramio_bits(0x80); /* 256KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "empty", 3, 3, 1, 1, "maincpu", 0x14000); // Empty/unknown, optional fmpac rom used to be loaded here, or should the util rom be loaded?
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 1, 0x40000) /* 256KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_ROM("empty", 3, 3, 1, 1, "maincpu", 0x14000) // Empty/unknown, optional fmpac rom used to be loaded here, or should the util rom be loaded?
msx_wd2793(config);
msx_2_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sony HB-F9P */
@@ -7064,25 +6893,25 @@ ROM_START (hbf9p)
ROM_LOAD ("f9pfirm2.rom.ic13", 0x10000, 0x8000, CRC(ea97069f) SHA1(2d1880d1f5a6944fcb1b198b997a3d90ecd1903d))
ROM_END
-void msx2_state::hbf9p(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hbf9p)
msx2_pal(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "firm1", 3, 0, 0, 2, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "firm2", 3, 1, 1, 2, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_ramio_bits(0x80); /* 128KB Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("firm1", 3, 0, 0, 2, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("firm2", 3, 1, 1, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
MSX_S1985(config, "s1985", 0);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sony HB-F9P Russian */
@@ -7092,24 +6921,23 @@ ROM_START (hbf9pr)
ROM_LOAD ("f9prext.rom", 0x8000, 0x4000, CRC(8b966f50) SHA1(65253cb38ab11084f355a2d4ad78fa6c64cbe660))
ROM_END
-void msx2_state::hbf9pr(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hbf9pr)
msx2_pal(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000); /* 128KB Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
MSX_S1985(config, "s1985", 0);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sony HB-F9S */
@@ -7120,25 +6948,25 @@ ROM_START (hbf9s)
ROM_LOAD ("f9sfirm2.ic13", 0x10000, 0x8000, CRC(ea97069f) SHA1(2d1880d1f5a6944fcb1b198b997a3d90ecd1903d))
ROM_END
-void msx2_state::hbf9s(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hbf9s)
msx2_pal(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: None, 0 drives
// 2 Cartridge slots
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "firm1", 3, 0, 0, 2, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "firm2", 3, 1, 1, 2, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_ramio_bits(0x80); /* 128KB Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("firm1", 3, 0, 0, 2, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("firm2", 3, 1, 1, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
MSX_S1985(config, "s1985", 0);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sony HB-G900AP */
@@ -7157,28 +6985,28 @@ ROM_START (hbg900ap)
ROM_LOAD ("g900util.rom", 0x14000, 0x4000, CRC(d0417c20) SHA1(8779b004e7605a3c419825f0373a5d8fa84e1d5b))
ROM_END
-void msx2_state::hbg900ap(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hbg900ap)
msx2_pal(config);
// AY8910/YM2149?
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 0, 1, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 0, 1, 1, 1, "maincpu", 0xc000)
/* MSX_LAYOUT_SLOT ("rs232c", 0, 2, 1, 1, "maincpu", 0x10000) */ /* RS232C must be emulated */
- add_internal_slot(config, MSX_SLOT_ROM, "util", 0, 3, 1, 1, "maincpu", 0x14000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x80000).set_ramio_bits(0x80); /* 512KB Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("util", 0, 3, 1, 1, "maincpu", 0x14000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x80000) /* 512KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
msx_wd2793(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Sony HB-G900P - 3x 32KB ROMs */
@@ -7191,28 +7019,28 @@ ROM_START (hbg900p)
ROM_LOAD ("g900util.rom", 0x14000, 0x4000, CRC(d0417c20) SHA1(8779b004e7605a3c419825f0373a5d8fa84e1d5b))
ROM_END
-void msx2_state::hbg900p(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hbg900p)
msx2_pal(config);
// AY8910/YM2149?
// FDC: wd2793, 1 3.5" DSDD drive
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 0, 1, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 0, 1, 1, 1, "maincpu", 0xc000)
/* MSX_LAYOUT_SLOT ("rs232c", 0, 2, 1, 1, "maincpu", 0x10000) */ /* RS232C must be emulated */
- add_internal_slot(config, MSX_SLOT_ROM, "util", 0, 3, 1, 1, "maincpu", 0x14000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000).set_ramio_bits(0x80); /* 64KB Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("util", 0, 3, 1, 1, "maincpu", 0x14000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) /* 64KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
msx_wd2793(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Talent TPC-310 */
ROM_START (tpc310)
@@ -7224,21 +7052,21 @@ ROM_START (tpc310)
ROM_LOAD ("tpc310acc.rom", 0x14000, 0x8000, CRC(4fb8fab3) SHA1(cdeb0ed8adecaaadb78d5a5364fd603238591685))
ROM_END
-void msx2_state::tpc310(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::tpc310)
msx2_pal(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: mb8877a?, 1 3.5" DSDD drive
// 1 Cartridge slot (slot 2)
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 1, 0, 0, 4).set_total_size(0x20000).set_ramio_bits(0x80); /* 128KB Mapper RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "turbo", 3, 0, 1, 1, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_ROM, "acc", 3, 1, 1, 2, "maincpu", 0x14000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK2, "disk", 3, 2, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 1, 0, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("turbo", 3, 0, 1, 1, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_ROM("acc", 3, 1, 1, 2, "maincpu", 0x14000)
+ MCFG_MSX_LAYOUT_DISK2("disk", 3, 2, 1, 1, "maincpu", 0xc000)
MSX_S1985(config, "s1985", 0);
@@ -7247,7 +7075,7 @@ void msx2_state::tpc310(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Talent TPP-311 */
@@ -7258,21 +7086,20 @@ ROM_START (tpp311)
ROM_LOAD ("311logo.rom", 0xc000, 0x8000, CRC(0e6ecb9f) SHA1(e45ddc5bf1a1e63756d11fb43fc50276ca35cab0))
ROM_END
-void msx2_state::tpp311(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::tpp311)
msx2_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 0 Cartridge slots?
// 64KB VRAM
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 1, 0, 0, 4).set_total_size(0x10000); /* 64KB?? Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "logo", 2, 0, 1, 2, "maincpu", 0xc000);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 1, 0, 0x10000) /* 64KB?? Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("logo", 2, 0, 1, 2, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
msx2_64kb_vram(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Talent TPS-312 */
@@ -7284,27 +7111,26 @@ ROM_START (tps312)
ROM_LOAD ("312write.rom", 0x14000, 0x4000, CRC(63c6992f) SHA1(93682f5baba7697c40088e26f99ee065c78e83b8))
ROM_END
-void msx2_state::tps312(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::tps312)
msx2_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
// 64KB VRAM
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 1, 0, 0, 4).set_total_size(0x20000); /* 128KB?? Mapper RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "write", 3, 1, 1, 1, "maincpu", 0x14000);
- add_internal_slot(config, MSX_SLOT_ROM, "plan", 3, 2, 1, 1, "maincpu", 0xc000);
- add_internal_slot(config, MSX_SLOT_ROM, "planlow", 3, 2, 0, 1, "maincpu", 0x10000);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 3, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 1, 0, 0x20000) /* 128KB?? Mapper RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("write", 3, 1, 1, 1, "maincpu", 0x14000)
+ MCFG_MSX_LAYOUT_ROM("plan", 3, 2, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_ROM("planlow", 3, 2, 0, 1, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 3)
msx2_cartlist(config);
msx2_64kb_vram(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Toshiba HX-23 */
@@ -7315,26 +7141,25 @@ ROM_START (hx23)
ROM_LOAD ("hx23word.rom", 0xc000, 0x8000, CRC(39b3e1c0) SHA1(9f7cfa932bd7dfd0d9ecaadc51655fb557c2e125))
ROM_END
-void msx2_state::hx23(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hx23)
msx2_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
// 64KB VRAM
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_RAM, "ram1", 0, 0, 2, 2); /* 32KB RAM */
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM, "ram2", 3, 0, 0, 2); /* 32KB RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "word", 3, 3, 1, 2, "maincpu", 0xc000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_RAM("ram1", 0, 0, 2, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM("ram2", 3, 0, 0, 2) /* 32KB RAM */
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("word", 3, 3, 1, 2, "maincpu", 0xc000)
msx2_cartlist(config);
msx2_64kb_vram(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Toshiba HX-23F */
@@ -7345,22 +7170,22 @@ ROM_START (hx23f)
ROM_LOAD ("hx23fword.rom", 0xc000, 0x8000, CRC(39b3e1c0) SHA1(9f7cfa932bd7dfd0d9ecaadc51655fb557c2e125))
ROM_END
-void msx2_state::hx23f(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hx23f)
msx2_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x20000).set_ramio_bits(0x80); /* 128KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "word", 3, 3, 1, 2, "maincpu", 0xc000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("word", 3, 3, 1, 2, "maincpu", 0xc000)
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Toshiba HX-23I */
@@ -7371,25 +7196,24 @@ ROM_START (hx23i)
ROM_LOAD ("hx23iword.rom", 0xc000, 0x8000, CRC(d50db5b4) SHA1(64cf27a6be1393b1da9f8d5d43df617c9f22fbd2))
ROM_END
-void msx2_state::hx23i(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hx23i)
msx2_pal(config);
// YM2149 (in S-1985)
// FDC: None, 0 drives
// 2 Cartridge slots?
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x20000); /* 128KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "word", 3, 3, 1, 2, "maincpu", 0xc000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("word", 3, 3, 1, 2, "maincpu", 0xc000)
MSX_S1985(config, "s1985", 0);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX@ - Toshiba HX-33 */
@@ -7403,8 +7227,7 @@ ROM_START (hx33)
ROM_LOAD ("hx33kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967))
ROM_END
-void msx2_state::hx33(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hx33)
msx2(config);
// YM2149 (in S-1985)
// FDC: None, 0, drives
@@ -7412,19 +7235,19 @@ void msx2_state::hx33(machine_config &config)
// RS232C builtin?
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000); // 64KB Mapper RAM
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "firm", 3, 2, 1, 2, "maincpu", 0xc000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) // 64KB Mapper RAM
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("firm", 3, 2, 1, 2, "maincpu", 0xc000)
MSX_S1985(config, "s1985", 0);
msx2_64kb_vram(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX@ - Toshiba HX-34 */
@@ -7440,8 +7263,7 @@ ROM_REGION (0x18000, "maincpu", 0)
ROM_LOAD ("hx34kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967))
ROM_END
-void msx2_state::hx34(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hx34)
msx2(config);
// YM2149 (in S-1985)
// FDC: wd2793??, 1 3.5" DSDD drive
@@ -7449,13 +7271,13 @@ void msx2_state::hx34(machine_config &config)
// RS232C builtin?
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000); // 64KB Mapper RAM
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_DISK6, "disk", 3, 2, 1, 1, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_ROM, "firm", 3, 3, 1, 2, "maincpu", 0x10000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) // 64KB Mapper RAM
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK6("disk", 3, 2, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_ROM("firm", 3, 3, 1, 2, "maincpu", 0x10000)
MSX_S1985(config, "s1985", 0);
@@ -7464,7 +7286,7 @@ void msx2_state::hx34(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX@ - Toshiba HX-34I */
@@ -7477,8 +7299,7 @@ ROM_START (hx34i)
ROM_LOAD ("hx34ifirm.rom", 0x10000, 0x8000, CRC(f9e29c66) SHA1(3289336b2c12161fd926a7e5ce865770ae7038af))
ROM_END
-void msx2_state::hx34i(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hx34i)
msx2_pal(config);
// YM2149 (in S-1985)
// FDC: wd2793??, 1 3.5" DSDD drive
@@ -7486,13 +7307,13 @@ void msx2_state::hx34i(machine_config &config)
// RS232C builtin?
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000); // 64KB Mapper RAM
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_DISK6, "disk", 3, 2, 1, 1, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_ROM, "firm", 3, 3, 1, 2, "maincpu", 0x10000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) // 64KB Mapper RAM
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK6("disk", 3, 2, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_ROM("firm", 3, 3, 1, 2, "maincpu", 0x10000)
MSX_S1985(config, "s1985", 0);
@@ -7501,7 +7322,7 @@ void msx2_state::hx34i(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Toshiba FS-TM1 */
@@ -7513,26 +7334,25 @@ ROM_START (fstm1)
ROM_LOAD ("fstm1desk2.rom", 0x14000, 0x8000, CRC(304820ea) SHA1(ff6e07d3976b0874164fae680ae028d598752049))
ROM_END
-void msx2_state::fstm1(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::fstm1)
msx2_pal(config);
// YM2149 (in S-1985)
// FDC: None, 0 drives
// 2 Cartridge slots
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000); // 64KB Mapper RAM
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "desk1", 3, 2, 1, 2, "maincpu", 0xc000);
- add_internal_slot(config, MSX_SLOT_ROM, "desk2", 3, 3, 1, 2, "maincpu", 0x14000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) // 64KB Mapper RAM
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("desk1", 3, 2, 1, 2, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_ROM("desk2", 3, 3, 1, 2, "maincpu", 0x14000)
MSX_S1985(config, "s1985", 0);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Victor HC-90 */
@@ -7547,8 +7367,7 @@ ROM_START (victhc90)
ROM_LOAD ("hc90kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967))
ROM_END
-void msx2_state::victhc90(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::victhc90)
msx2(config);
// YM2149 (in S-1985)
// FDC: wd2793?, 1 3.5" DSDD drive
@@ -7557,12 +7376,12 @@ void msx2_state::victhc90(machine_config &config)
// 1 Cartridge slot (slot 1 or 2?)
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "firm", 0, 1, 1, 1, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 0, 2, 0, 4).set_total_size(0x10000); // 64KB Mapper RAM
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot", 1, 0, msx_cart, nullptr);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 0, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("firm", 0, 1, 1, 1, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 0, 2, 0x10000) // 64KB Mapper RAM
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot", 1, 0)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 0, 1, 1, "maincpu", 0xc000)
MSX_S1985(config, "s1985", 0);
@@ -7571,7 +7390,7 @@ void msx2_state::victhc90(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Victor HC-95 */
@@ -7586,8 +7405,7 @@ ROM_START (victhc95)
ROM_LOAD ("hc95kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967))
ROM_END
-void msx2_state::victhc95(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::victhc95)
msx2(config);
// YM2149 (in S-1985)
// FDC: wd2793?, 2 3.5" DSDD drive
@@ -7596,12 +7414,12 @@ void msx2_state::victhc95(machine_config &config)
// 1 Cartridge slot (slot 1 or 2?)
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "firm", 0, 1, 1, 1, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 0, 2, 0, 4).set_total_size(0x10000); // 64KB Mapper RAM
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot", 1, 0, msx_cart, nullptr);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 0, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("firm", 0, 1, 1, 1, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 0, 2, 0x10000) // 64KB Mapper RAM
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot", 1, 0)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 0, 1, 1, "maincpu", 0xc000)
MSX_S1985(config, "s1985", 0);
@@ -7610,7 +7428,7 @@ void msx2_state::victhc95(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Victor HC-95A */
@@ -7625,8 +7443,7 @@ ROM_START (victhc95a)
ROM_LOAD ("hc95akfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967))
ROM_END
-void msx2_state::victhc95a(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::victhc95a)
msx2(config);
// YM2149 (in S-1985)
// FDC: wd2793?, 2 3.5" DSDD drive
@@ -7636,12 +7453,12 @@ void msx2_state::victhc95a(machine_config &config)
// S-1985 MSX Engine
// V9958 VDP
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "firm", 0, 1, 1, 1, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 0, 2, 0, 4).set_total_size(0x40000); // 256KB Mapper RAM
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot", 1, 0, msx_cart, nullptr);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 0, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("firm", 0, 1, 1, 1, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 0, 2, 0x40000) // 256KB Mapper RAM
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot", 1, 0)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 0, 1, 1, "maincpu", 0xc000)
MSX_S1985(config, "s1985", 0);
@@ -7650,7 +7467,7 @@ void msx2_state::victhc95a(machine_config &config)
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Yamaha CX7M */
@@ -7660,22 +7477,22 @@ ROM_START (cx7m)
ROM_LOAD ("cx7mext.rom", 0x8000, 0x4000, CRC(66237ecf) SHA1(5c1f9c7fb655e43d38e5dd1fcc6b942b2ff68b02))
ROM_END
-void msx2_state::cx7m(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::cx7m)
msx2_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 1, 0, 1, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x10000).set_ramio_bits(0x80); /* 64KB Mapper RAM */
- add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "expansion", 3, 3, msx_yamaha_60pin, "sfg05");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x10000) /* 64KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 3, 3, "sfg05")
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Yamaha CX7M/128 */
@@ -7686,23 +7503,23 @@ ROM_START (cx7m128)
ROM_LOAD ("yrm502.rom", 0xc000, 0x4000, CRC(51f7ddd1) SHA1(2a4b4a4657e3077df8a88f98210b76883d3702b1))
ROM_END
-void msx2_state::cx7m128(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::cx7m128)
msx2_pal(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 1, 0, 1, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "yrm502", 3, 1, 1, 1, "maincpu", 0xc000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_ramio_bits(0x80); /* 128KB Mapper RAM */
- add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "expansion", 3, 3, msx_yamaha_60pin, "sfg05");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("yrm502", 3, 1, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 3, 3, "sfg05")
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Yamaha YIS-503 III R */
@@ -7714,8 +7531,7 @@ ROM_START (y503iiir)
ROM_LOAD ("yis503iiirnet.rom", 0x10000, 33121, CRC(b10fb61c) SHA1(af2b7004a8888d7a72eee937783fccaca0f38621)) // Very odd size for a rom...
ROM_END
-void msx2_state::y503iiir(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::y503iiir)
msx2_pal(config);
// YM2149 (in S-3527)
// FDC: wd2793?, 1 3.5" DSDD drive
@@ -7723,20 +7539,20 @@ void msx2_state::y503iiir(machine_config &config)
// Networking builtin
// S-3527 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "cpm", 3, 0, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000); // 128KB Mapper RAM
- add_internal_slot(config, MSX_SLOT_ROM, "net", 3, 3, 0, 3, "maincpu", 0x10000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("cpm", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) // 128KB Mapper RAM
+ MCFG_MSX_LAYOUT_ROM("net", 3, 3, 0, 3, "maincpu", 0x10000)
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Yamaha YIS-503 III R Estonian */
@@ -7748,8 +7564,7 @@ ROM_START (y503iiire)
ROM_LOAD ("yis503iiirenet.rom", 0x10000, 33121, CRC(b10fb61c) SHA1(af2b7004a8888d7a72eee937783fccaca0f38621)) // Very odd size for a rom...
ROM_END
-void msx2_state::y503iiire(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::y503iiire)
msx2_pal(config);
// YM2149 (in S-3527)
// FDC: wd2793?, 1 3.5" DSDD drive
@@ -7757,20 +7572,20 @@ void msx2_state::y503iiire(machine_config &config)
// Networking builtin
// S-3527 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "cpm", 3, 0, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000); // 128KB Mapper RAM
- add_internal_slot(config, MSX_SLOT_ROM, "net", 3, 3, 0, 3, "maincpu", 0x10000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("cpm", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) // 128KB Mapper RAM
+ MCFG_MSX_LAYOUT_ROM("net", 3, 3, 0, 3, "maincpu", 0x10000)
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Yamaha YIS604 */
@@ -7783,23 +7598,22 @@ ROM_START (yis60464)
ROM_LOAD ("yis604kfn.rom", 0x0000, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799))
ROM_END
-void msx2_state::yis60464(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::yis60464)
msx2(config);
// YM2149 (in S-3527)
// FDC: None, 0 drives
// 2 Cartridge slots
// S-3527 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 1, 0, 1, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x10000); // 64KB Mapper RAM
- add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "expansion", 3, 3, msx_yamaha_60pin, "sfg05");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x10000) // 64KB Mapper RAM
+ MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 3, 3, "sfg05")
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Yamaha YIS604/128 */
@@ -7813,24 +7627,23 @@ ROM_START (yis604)
ROM_LOAD ("yis604kfn.rom", 0x0000, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799))
ROM_END
-void msx2_state::yis604(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::yis604)
msx2(config);
// YM2149 (in S-3527)
// FDC: None, 0 drives
// 2 Cartridge slots
// S-3527 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 1, 0, 1, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "yrm502", 3, 1, 1, 1, "maincpu", 0xc000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x10000); // 64KB Mapper RAM
- add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "expansion", 3, 3, msx_yamaha_60pin, "sfg05");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("yrm502", 3, 1, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x10000) // 64KB Mapper RAM
+ MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 3, 3, "sfg05")
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Yamaha YIS-805/128 */
@@ -7845,29 +7658,28 @@ ROM_START (y805128)
ROM_LOAD ("yis805128kfn.rom", 0x0000, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799))
ROM_END
-void msx2_state::y805128(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::y805128)
msx2(config);
// YM2149 (in S-3527)
// FDC: wd2793?, 1 3.5" DSDD drive
// 2 Cartridge slots
// S-3527 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 1, 0, 1, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 0, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_ROM, "yrm502", 3, 1, 1, 1, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000); // 128KB Mapper RAM
- add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "expansion", 3, 3, msx_yamaha_60pin, "sfg05");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_ROM("yrm502", 3, 1, 1, 1, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) // 128KB Mapper RAM
+ MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 3, 3, "sfg05")
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Yamaha YIS-805R2/128 */
@@ -7880,8 +7692,7 @@ ROM_START (y805128r2)
ROM_LOAD ("yis805128r2paint.rom", 0x18000, 0x10000, CRC(1bda68a3) SHA1(7fd2a28c4fdaeb140f3c8c8fb90271b1472c97b9))
ROM_END
-void msx2_state::y805128r2(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::y805128r2)
msx2_pal(config);
// YM2149 (in S-3527)
// FDC: wd2793?, 1 3.5" DSDD drive
@@ -7889,21 +7700,21 @@ void msx2_state::y805128r2(machine_config &config)
// S-3527 MSX Engine
// Networking built in
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "paint", 3, 0, 0, 4, "maincpu", 0x18000);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 1, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000); // 128KB Mapper RAM
- add_internal_slot(config, MSX_SLOT_ROM, "net", 3, 3, 0, 2, "maincpu", 0x10000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("paint", 3, 0, 0, 4, "maincpu", 0x18000)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 1, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) // 128KB Mapper RAM
+ MCFG_MSX_LAYOUT_ROM("net", 3, 3, 0, 2, "maincpu", 0x10000)
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Yamaha YIS-805R2/128 Estonian */
@@ -7916,8 +7727,7 @@ ROM_START (y805128r2e)
ROM_LOAD ("yis805128r2epaint.rom", 0x18000, 0x10000, CRC(1bda68a3) SHA1(7fd2a28c4fdaeb140f3c8c8fb90271b1472c97b9))
ROM_END
-void msx2_state::y805128r2e(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::y805128r2e)
msx2_pal(config);
// YM2149 (in S-3527)
// FDC: wd2793?, 1 3.5" DSDD drive
@@ -7925,21 +7735,21 @@ void msx2_state::y805128r2e(machine_config &config)
// S-3527 MSX Engine
// Networking built in
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "paint", 3, 0, 0, 4, "maincpu", 0x18000);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 1, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000); // 128KB Mapper RAM
- add_internal_slot(config, MSX_SLOT_ROM, "net", 3, 3, 0, 2, "maincpu", 0x10000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("paint", 3, 0, 0, 4, "maincpu", 0x18000)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 1, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) // 128KB Mapper RAM
+ MCFG_MSX_LAYOUT_ROM("net", 3, 3, 0, 2, "maincpu", 0x10000)
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2 - Yamaha YIS-805/256 */
@@ -7954,29 +7764,28 @@ ROM_START (y805256)
ROM_LOAD ("yis805256kfn.rom", 0x0000, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799))
ROM_END
-void msx2_state::y805256(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::y805256)
msx2(config);
// YM2149 (in S-3527)
// FDC: wd2793?, 1 3.5" DSDD drive
// 2 Cartridge slots
// S-3527 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 0, 1, 0, 1, "maincpu", 0x8000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 0, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_ROM, "yrm502", 3, 1, 1, 1, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x40000); // 256KB Mapper RAM
- add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "expansion", 3, 3, msx_yamaha_60pin, "sfg05");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_ROM("ext", 0, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_ROM("yrm502", 3, 1, 1, 1, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x40000) // 256KB Mapper RAM
+ MCFG_MSX_LAYOUT_YAMAHA_EXPANSION("expansion", 3, 3, "sfg05")
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx2_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/******************************** MSX 2+ **********************************/
@@ -7991,21 +7800,20 @@ ROM_START (expert3i )
ROM_LOAD ("ide240a.rom", 0x14000, 0x10000, CRC(7adf857f) SHA1(8a919dbeed92db8c06a611279efaed8552810239))
ROM_END
-void msx2_state::expert3i(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::expert3i)
msx2p(config);
// AY8910/YM2149?
// FDC: wd2793, 1 or 2? drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 1, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_MUSIC, "mus", 1, 1, 1, 1, "maincpu", 0x10000).set_ym2413_tag("ym2413");
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 1, 2, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_ROM, "ide", 1, 3, 0, 4, "maincpu", 0x14000); /* IDE hardware needs to be emulated */
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 2, 0, 0, 4).set_total_size(0x40000); /* 256KB?? Mapper RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 1, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_MUSIC("mus", 1, 1, 1, 1, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 1, 2, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_ROM("ide", 1, 3, 0, 4, "maincpu", 0x14000) /* IDE hardware needs to be emulated */
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 2, 0, 0x40000) /* 256KB?? Mapper RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx_ym2413(config);
@@ -8014,7 +7822,7 @@ void msx2_state::expert3i(machine_config &config)
msx2p_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2+ - Ciel Expert 3 Turbo */
@@ -8028,22 +7836,21 @@ ROM_START (expert3t )
ROM_LOAD ("turbo.rom", 0x14000, 0x4000, CRC(ab528416) SHA1(d468604269ae7664ac739ea9f922a05e14ffa3d1))
ROM_END
-void msx2_state::expert3t(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::expert3t)
msx2p(config);
// AY8910
// FDC: wd2793?, 1 or 2? drives
// 4 Cartridge/Expansion slots?
// FM/YM2413 built-in
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 1, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_MUSIC, "mus", 1, 1, 1, 1, "maincpu", 0x10000).set_ym2413_tag("ym2413");
- add_internal_slot(config, MSX_SLOT_ROM, "turbo", 1, 2, 1, 1, "maincpu", 0x14000); /* Turbo hardware needs to be emulated */
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 1, 3, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 2, 0, 0, 4).set_total_size(0x40000); /* 256KB Mapper RAM */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 1, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_MUSIC("mus", 1, 1, 1, 1, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_ROM("turbo", 1, 2, 1, 1, "maincpu", 0x14000) /* Turbo hardware needs to be emulated */
+ MCFG_MSX_LAYOUT_DISK1("disk", 1, 3, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 2, 0, 0x40000) /* 256KB Mapper RAM */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
msx_ym2413(config);
@@ -8052,7 +7859,7 @@ void msx2_state::expert3t(machine_config &config)
msx2p_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2+ - Gradiente Expert AC88+ */
@@ -8065,28 +7872,27 @@ ROM_START (expertac)
ROM_LOAD ("xbasic2.rom", 0x14000, 0x4000, CRC(2825b1a0) SHA1(47370bec7ca1f0615a54eda548b07fbc0c7ef398))
ROM_END
-void msx2_state::expertac(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::expertac)
msx2p(config);
// AY8910/YM2149?
// FDC: wd2793?, 1 or 2? drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000); /* 64KB Mapper RAM?? */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "asm", 3, 1, 1, 1, "maincpu", 0x10000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 2, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_ROM, "xbasic", 3, 3, 1, 1, "maincpu", 0x14000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) /* 64KB Mapper RAM?? */
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("asm", 3, 1, 1, 1, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 2, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_ROM("xbasic", 3, 3, 1, 1, "maincpu", 0x14000)
msx_wd2793_force_ready(config);
msx_1_35_dd_drive(config);
msx2p_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2+ - Gradiente Expert DDX+ */
@@ -8099,20 +7905,19 @@ ROM_START (expertdx)
ROM_LOAD ("kanji.rom", 0x14000, 0x8000, CRC(b4fc574d) SHA1(dcc3a67732aa01c4f2ee8d1ad886444a4dbafe06))
ROM_END
-void msx2_state::expertdx(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::expertdx)
msx2p(config);
// AY8910/YM2149?
// FDC: tc8566af, 1 3.5" DSDD drive?
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 1, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "xbasic", 1, 2, 1, 1, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_DISK3, "disk", 1, 3, 1, 1, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 2, 0, 0, 4).set_total_size(0x10000); /* 64KB Mapper RAM?? */
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 3, 0, msx_cart, nullptr);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 1, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("xbasic", 1, 2, 1, 1, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_DISK3("disk", 1, 3, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 2, 0, 0x10000) /* 64KB Mapper RAM?? */
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0)
/* Kanji? */
msx_tc8566af(config);
@@ -8120,7 +7925,7 @@ void msx2_state::expertdx(machine_config &config)
msx2p_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2+ - Panasonic FS-A1FX */
@@ -8136,21 +7941,21 @@ ROM_START (fsa1fx)
ROM_LOAD ("a1fxkfn.rom", 0, 0x20000, CRC(b244f6cf) SHA1(e0e99cd91e88ce2676445663f832c835d74d6fd4))
ROM_END
-void msx2_state::fsa1fx(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::fsa1fx)
msx2p(config);
// AY8910/YM2149?
// FDC: tc8566af, 1 3.5" DSDD drive
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000).set_ramio_bits(0x80); /* 64KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "kdr", 3, 1, 1, 2, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_DISK3, "disk", 3, 2, 1, 1, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_ROM, "cock", 3, 3, 1, 2, "maincpu", 0x18000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) /* 64KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("kdr", 3, 1, 1, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_DISK3("disk", 3, 2, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_ROM("cock", 3, 3, 1, 2, "maincpu", 0x18000)
msx_matsushita_device &matsushita(MSX_MATSUSHITA(config, "matsushita", 0));
matsushita.turbo_callback().set(FUNC(msx2_state::turbo_w));
@@ -8162,7 +7967,7 @@ void msx2_state::fsa1fx(machine_config &config)
msx2p_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2+ - Panasonic FS-A1WSX */
@@ -8179,8 +7984,7 @@ ROM_START (fsa1wsx)
ROM_LOAD ("a1wskfn.rom", 0, 0x40000, CRC(1f6406fb) SHA1(5aff2d9b6efc723bc395b0f96f0adfa83cc54a49))
ROM_END
-void msx2_state::fsa1wsx(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::fsa1wsx)
msx2p(config);
// AY8910/YM2149?
// FDC: tc8566af, 1 3.5" DSDD drive
@@ -8188,15 +7992,16 @@ void msx2_state::fsa1wsx(machine_config &config)
// FM built-in
// No cassette port
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_MUSIC, "mus", 0, 2, 1, 1, "maincpu", 0x18000).set_ym2413_tag("ym2413");
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000).set_ramio_bits(0x80); /* 64KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "kdr", 3, 1, 1, 2, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_DISK3, "disk", 3, 2, 1, 1, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_PANASONIC08, "firm", 3, 3, 0, 4, "maincpu", 0x1c000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_MUSIC("mus", 0, 2, 1, 1, "maincpu", 0x18000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) /* 64KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("kdr", 3, 1, 1, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_DISK3("disk", 3, 2, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_PANASONIC08("firm", 3, 3, 0, 4, "maincpu", 0x1c000)
msx_matsushita_device &matsushita(MSX_MATSUSHITA(config, "matsushita", 0));
matsushita.turbo_callback().set(FUNC(msx2_state::turbo_w));
@@ -8210,7 +8015,7 @@ void msx2_state::fsa1wsx(machine_config &config)
msx2p_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2+ - Panasonic FS-A1WX */
@@ -8227,8 +8032,7 @@ ROM_START (fsa1wx)
ROM_LOAD ("a1wxkfn.rom", 0, 0x40000, CRC(1f6406fb) SHA1(5aff2d9b6efc723bc395b0f96f0adfa83cc54a49))
ROM_END
-void msx2_state::fsa1wx(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::fsa1wx)
msx2p(config);
// AY8910/YM2149?
// FDC: tc8566af, 1 3.5" DSDD drive
@@ -8236,15 +8040,16 @@ void msx2_state::fsa1wx(machine_config &config)
// FM built-in
// MSX Engine T9769A
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_MUSIC, "mus", 0, 2, 1, 1, "maincpu", 0x18000).set_ym2413_tag("ym2413");
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000).set_ramio_bits(0x80); /* 64KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "kdr", 3, 1, 1, 2, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_DISK3, "disk", 3, 2, 1, 1, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_PANASONIC08, "firm", 3, 3, 0, 4, "maincpu", 0x1c000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_MUSIC("mus", 0, 2, 1, 1, "maincpu", 0x18000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) /* 64KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("kdr", 3, 1, 1, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_DISK3("disk", 3, 2, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_PANASONIC08("firm", 3, 3, 0, 4, "maincpu", 0x1c000)
msx_matsushita_device &matsushita(MSX_MATSUSHITA(config, "matsushita", 0));
matsushita.turbo_callback().set(FUNC(msx2_state::turbo_w));
@@ -8258,7 +8063,7 @@ void msx2_state::fsa1wx(machine_config &config)
msx2p_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2+ - Panasonic FS-A1WX (a) */
ROM_START (fsa1wxa)
@@ -8274,23 +8079,23 @@ ROM_START (fsa1wxa)
ROM_LOAD ("a1wxkfn.rom", 0, 0x40000, CRC(1f6406fb) SHA1(5aff2d9b6efc723bc395b0f96f0adfa83cc54a49))
ROM_END
-void msx2_state::fsa1wxa(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::fsa1wxa)
msx2p(config);
// AY8910/YM2149?
// FDC: tc8566af, 1 3.5" DSDD drive
// 2 Cartridge slots?
// FM built-in
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_MUSIC, "mus", 0, 2, 1, 1, "maincpu", 0x18000).set_ym2413_tag("ym2413");
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000).set_ramio_bits(0x80); /* 64KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "kdr", 3, 1, 1, 2, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_DISK3, "disk", 3, 2, 1, 1, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_PANASONIC08, "firm", 3, 3, 0, 4, "maincpu", 0x1c000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_MUSIC("mus", 0, 2, 1, 1, "maincpu", 0x18000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) /* 64KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("kdr", 3, 1, 1, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_DISK3("disk", 3, 2, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_PANASONIC08("firm", 3, 3, 0, 4, "maincpu", 0x1c000)
msx_matsushita_device &matsushita(MSX_MATSUSHITA(config, "matsushita", 0));
matsushita.turbo_callback().set(FUNC(msx2_state::turbo_w));
@@ -8304,7 +8109,7 @@ void msx2_state::fsa1wxa(machine_config &config)
msx2p_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2+ - Sanyo Wavy PHC-35J */
@@ -8318,24 +8123,24 @@ ROM_START (phc35j)
ROM_LOAD ("35jkfn.rom", 0, 0x20000, CRC(c9651b32) SHA1(84a645becec0a25d3ab7a909cde1b242699a8662))
ROM_END
-void msx2_state::phc35j(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::phc35j)
msx2p(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000).set_ramio_bits(0x80); /* 64KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "kdr", 3, 1, 1, 2, "maincpu", 0xc000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) /* 64KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("kdr", 3, 1, 1, 2, "maincpu", 0xc000)
MSX_SYSTEMFLAGS(config, "sysflags", m_maincpu, 0xff);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2+ - Sanyo Wavy PHC-70FD1 */
@@ -8352,23 +8157,23 @@ ROM_START (phc70fd)
ROM_LOAD ("70fdkfn.rom", 0, 0x20000, CRC(c9651b32) SHA1(84a645becec0a25d3ab7a909cde1b242699a8662))
ROM_END
-void msx2_state::phc70fd(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::phc70fd)
msx2p(config);
// AY8910/YM2149?
// FDC: tc8566af, 1 3.5" DSDD drive
// 2 Cartridge slots
// FM built-in
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000).set_ramio_bits(0x80); /* 64KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "kdr", 3, 1, 1, 2, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_DISK3, "disk", 3, 2, 1, 1, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_MUSIC, "mus", 3, 3, 1, 1, "maincpu", 0x18000).set_ym2413_tag("ym2413");
- add_internal_slot(config, MSX_SLOT_ROM, "bas", 3, 3, 2, 1, "maincpu", 0x1c000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) /* 64KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("kdr", 3, 1, 1, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_DISK3("disk", 3, 2, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_MUSIC("mus", 3, 3, 1, 1, "maincpu", 0x18000)
+ MCFG_MSX_LAYOUT_ROM("bas", 3, 3, 2, 1, "maincpu", 0x1c000)
MSX_SYSTEMFLAGS(config, "sysflags", m_maincpu, 0xff);
@@ -8379,7 +8184,7 @@ void msx2_state::phc70fd(machine_config &config)
msx2p_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2+ - Sanyo Wavy PHC-70FD2 */
ROM_START (phc70fd2)
@@ -8395,23 +8200,23 @@ ROM_START (phc70fd2)
ROM_LOAD ("70f2kfn.rom", 0, 0x40000, CRC(9a850db9) SHA1(bcdb4dae303dfe5234f372d70a5e0271d3202c36))
ROM_END
-void msx2_state::phc70fd2(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::phc70fd2)
msx2p(config);
// AY8910/YM2149?
// FDC: tc8566af, 2 3.5" DSDD drives
// 2 Cartridge slots
// FM built-in
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000).set_ramio_bits(0x80); /* 64KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "kdr", 3, 1, 1, 2, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_DISK3, "disk", 3, 2, 1, 1, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_MUSIC, "mus", 3, 3, 1, 1, "maincpu", 0x18000).set_ym2413_tag("ym2413");
- add_internal_slot(config, MSX_SLOT_ROM, "bas", 3, 3, 2, 1, "maincpu", 0x1c000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) /* 64KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("kdr", 3, 1, 1, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_DISK3("disk", 3, 2, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_MUSIC("mus", 3, 3, 1, 1, "maincpu", 0x18000)
+ MCFG_MSX_LAYOUT_ROM("bas", 3, 3, 2, 1, "maincpu", 0x1c000)
MSX_SYSTEMFLAGS(config, "sysflags", m_maincpu, 0xff);
@@ -8422,7 +8227,7 @@ void msx2_state::phc70fd2(machine_config &config)
msx2p_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2+ - Sony HB-F1XDJ */
@@ -8439,8 +8244,7 @@ ROM_START (hbf1xdj)
ROM_LOAD ("f1xjkfn.rom", 0, 0x40000, CRC(7016dfd0) SHA1(218d91eb6df2823c924d3774a9f455492a10aecb))
ROM_END
-void msx2_state::hbf1xdj(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hbf1xdj)
msx2p(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: wd2793, 1 3.5" DSDD drive
@@ -8448,15 +8252,16 @@ void msx2_state::hbf1xdj(machine_config &config)
// FM built-in
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_SONY08, "firm", 0, 3, 0, 4, "maincpu", 0x1c000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000).set_ramio_bits(0x80); /* 64KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "kdr", 3, 1, 1, 2, "maincpu", 0x10000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 2, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_MUSIC, "mus", 3, 3, 1, 1, "maincpu", 0x18000).set_ym2413_tag("ym2413");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_SONY08("firm", 0, 3, 0, 4, "maincpu", 0x1c000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) /* 64KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("kdr", 3, 1, 1, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 2, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_MUSIC("mus", 3, 3, 1, 1, "maincpu", 0x18000)
MSX_SYSTEMFLAGS(config, "sysflags", m_maincpu, 0x00);
@@ -8469,7 +8274,7 @@ void msx2_state::hbf1xdj(machine_config &config)
msx2p_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2+ - Sony HB-F1XV */
@@ -8486,8 +8291,7 @@ ROM_START (hbf1xv)
ROM_LOAD ("f1xvkfn.rom", 0, 0x40000, CRC(7016dfd0) SHA1(218d91eb6df2823c924d3774a9f455492a10aecb))
ROM_END
-void msx2_state::hbf1xv(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hbf1xv)
msx2p(config);
// YM2149 (in S-1985 MSX Engine)
// FDC: wd2793, 1 3.5" DSDD drives
@@ -8495,15 +8299,16 @@ void msx2_state::hbf1xv(machine_config &config)
// FM built-in
// S-1985 MSX Engine
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_SONY08, "firm", 0, 3, 0, 4, "maincpu", 0x1c000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x10000).set_ramio_bits(0x80); /* 64KB Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "kdr", 3, 1, 1, 2, "maincpu", 0x10000);
- add_internal_slot_mirrored(config, MSX_SLOT_DISK1, "disk", 3, 2, 1, 2, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_MUSIC, "mus", 3, 3, 1, 1, "maincpu", 0x18000).set_ym2413_tag("ym2413");
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_SONY08("firm", 0, 3, 0, 4, "maincpu", 0x1c000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x10000) /* 64KB Mapper RAM */
+ MCFG_MSX_RAMIO_SET_BITS(0x80)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("kdr", 3, 1, 1, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_DISK1("disk", 3, 2, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_MUSIC("mus", 3, 3, 1, 1, "maincpu", 0x18000)
MSX_SYSTEMFLAGS(config, "sysflags", m_maincpu, 0x00);
@@ -8516,7 +8321,7 @@ void msx2_state::hbf1xv(machine_config &config)
msx2p_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX2+ - Sony HB-F9S+ */
@@ -8528,25 +8333,24 @@ ROM_START (hbf9sp)
ROM_LOAD ("f9spfrm2.rom", 0x10000, 0x8000, CRC(ea97069f) SHA1(2d1880d1f5a6944fcb1b198b997a3d90ecd1903d))
ROM_END
-void msx2_state::hbf9sp(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::hbf9sp)
msx2p(config);
// AY8910/YM2149?
// FDC: None, 0 drives
// 2 Cartridge slots?
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 0, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "firm1", 3, 0, 1, 1, "maincpu", 0xc000);
- add_internal_slot(config, MSX_SLOT_ROM, "firm2", 3, 1, 1, 2, "maincpu", 0x10000);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x10000); /* 64KB?? Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("firm1", 3, 0, 1, 1, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_ROM("firm2", 3, 1, 1, 2, "maincpu", 0x10000)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x10000) /* 64KB?? Mapper RAM */
MSX_SYSTEMFLAGS(config, "sysflags", m_maincpu, 0x00);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX Turbo-R - Panasonic FS-A1GT */
@@ -8562,8 +8366,7 @@ ROM_START (fsa1gt)
ROM_LOAD ("a1gtfirm.rom", 0x6c000, 0x400000, CRC(feefeadc) SHA1(e779c338eb91a7dea3ff75f3fde76b8af22c4a3a))
ROM_END
-void msx2_state::fsa1gt(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::fsa1gt)
msx2(config);
// AY8910/YM2149?
// FDC: tc8566af, 1 3.5" DSDD drive
@@ -8571,16 +8374,16 @@ void msx2_state::fsa1gt(machine_config &config)
// FM built-in
// MIDI
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_MUSIC, "mus", 0, 2, 1, 1, "maincpu", 0x24000).set_ym2413_tag("ym2413");
- add_internal_slot(config, MSX_SLOT_ROM, "opt", 0, 3, 1, 1, "maincpu", 0x28000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 2, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x20000); /* 128KB?? Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "kdr", 3, 1, 1, 2, "maincpu", 0x1c000);
- add_internal_slot(config, MSX_SLOT_DISK4, "dos", 3, 2, 1, 3, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_ROM, "firm", 3, 3, 0, 4, "maincpu", 0x6c000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_MUSIC("mus", 0, 2, 1, 1, "maincpu", 0x24000)
+ MCFG_MSX_LAYOUT_ROM("opt", 0, 3, 1, 1, "maincpu", 0x28000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x20000) /* 128KB?? Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("kdr", 3, 1, 1, 2, "maincpu", 0x1c000)
+ MCFG_MSX_LAYOUT_DISK4("dos", 3, 2, 1, 3, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_ROM("firm", 3, 3, 0, 4, "maincpu", 0x6c000)
MSX_SYSTEMFLAGS(config, "sysflags", m_maincpu, 0x00);
@@ -8591,7 +8394,7 @@ void msx2_state::fsa1gt(machine_config &config)
msxr_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* MSX Turbo-R - Panasonic FS-A1ST */
@@ -8607,24 +8410,23 @@ ROM_START (fsa1st)
ROM_LOAD ("a1stfirm.rom", 0x6c000, 0x400000, CRC(139ac99c) SHA1(c212b11fda13f83dafed688c54d098e7e47ab225))
ROM_END
-void msx2_state::fsa1st(machine_config &config)
-{
+MACHINE_CONFIG_START(msx2_state::fsa1st)
msx2(config);
// AY8910/YM2149?
// FDC: tc8566af, 1 3.5" DSDD drive
// 2 Cartridge slots
// FM built-in
- add_internal_slot(config, MSX_SLOT_ROM, "bios", 0, 0, 0, 2, "maincpu", 0x0000);
- add_internal_slot(config, MSX_SLOT_MUSIC, "mus", 0, 2, 1, 1, "maincpu", 0x24000).set_ym2413_tag("ym2413");
- add_internal_slot(config, MSX_SLOT_ROM, "opt", 0, 3, 1, 1, "maincpu", 0x28000);
- add_cartridge_slot<1>(config, MSX_SLOT_CARTRIDGE, "cartslot1", 1, 0, msx_cart, nullptr);
- add_cartridge_slot<2>(config, MSX_SLOT_CARTRIDGE, "cartslot2", 1, 0, msx_cart, nullptr);
- add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x20000); /* 128KB?? Mapper RAM */
- add_internal_slot(config, MSX_SLOT_ROM, "ext", 3, 1, 0, 1, "maincpu", 0x8000);
- add_internal_slot(config, MSX_SLOT_ROM, "kdr", 3, 1, 1, 2, "maincpu", 0x1c000);
- add_internal_slot(config, MSX_SLOT_DISK4, "dos", 3, 2, 1, 3, "maincpu", 0xc000).set_tags("fdc", "fdc:0", "fdc:1");
- add_internal_slot(config, MSX_SLOT_ROM, "firm", 3, 3, 0, 4, "maincpu", 0x6c000);
+ MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000)
+ MCFG_MSX_LAYOUT_MUSIC("mus", 0, 2, 1, 1, "maincpu", 0x24000)
+ MCFG_MSX_LAYOUT_ROM("opt", 0, 3, 1, 1, "maincpu", 0x28000)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0)
+ MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0)
+ MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 0, 0x20000) /* 128KB?? Mapper RAM */
+ MCFG_MSX_LAYOUT_ROM("ext", 3, 1, 0, 1, "maincpu", 0x8000)
+ MCFG_MSX_LAYOUT_ROM("kdr", 3, 1, 1, 2, "maincpu", 0x1c000)
+ MCFG_MSX_LAYOUT_DISK4("dos", 3, 2, 1, 3, "maincpu", 0xc000)
+ MCFG_MSX_LAYOUT_ROM("firm", 3, 3, 0, 4, "maincpu", 0x6c000)
MSX_SYSTEMFLAGS(config, "sysflags", m_maincpu, 0x00);
@@ -8635,7 +8437,7 @@ void msx2_state::fsa1st(machine_config &config)
msxr_floplist(config);
msx2_cartlist(config);
-}
+MACHINE_CONFIG_END
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME */