diff options
Diffstat (limited to 'src/mess/drivers/msx.c')
-rw-r--r-- | src/mess/drivers/msx.c | 3768 |
1 files changed, 1843 insertions, 1925 deletions
diff --git a/src/mess/drivers/msx.c b/src/mess/drivers/msx.c index 21413d0a441..534b87982d9 100644 --- a/src/mess/drivers/msx.c +++ b/src/mess/drivers/msx.c @@ -1,9 +1,90 @@ /* ** msx.c : driver for MSX ** -** Todo: -** - Add Turbo-R support -** - Add support for other MSX models (de,fr,jp,ru etc.) +** +** Todo/known issues: +** - expertdp: Floppy support broken +** - cf3300: Floppy support broken +** - piopx7: Laserdisc integration doesn't exist +** - spc800: Haven't been able to test operation of the han rom yet +** - svi728: Expansion slot not emulated +** - svi738: Floppy support broken causing the system not to boot into basic anymore +** - svi738: v9938 not emulated +** - svi738: rs232c not emulated +** - hx10: Expansion slot not emulated (hx10s also??) +** - cx5m, cx5m128, cx5m2: sfg not emulated +** - cx5m128: Firmware not emulated? +** - y503iir: Keyboard not responding correctly +** - y503iir, y503iir2: RTC not emulated +** - y503iir, y503iir2: Net not emulated +** - y503iir, y503iir2: Floppy support broken +** - yis503m: sfg not emulated +** - ax350: Floppy support broken +** - ax370: Floppy not emulated +** - cpc300: How to get passed MSX-TUTOR? +** - cpc300e: How to test han support? +** - cpc400: How to test han support? +** - cpc400: Floppy support broken +** - cpc400s: Floppy support broken +** - expert20: Does not boot +** - fs4500: Firmware not emulated +** - fs4500: Matsuhita switched device not emulated +** - fs4600: Firmware not emulated +** - fs4600: Kanji12 not emulated +** - fs4600: Floppy support broken +** - fs4700: Firmware not emulated +** - fs4700: Floppy support broken +** - fs4700: Matsushita switched device not emulated +** - fs5000: Does not boot; floppy support broken +** - fs5500: Floppy support broken +** - fs5500: Matsushita switched device not emulated +** - fsa1f: Floppy not emulated +** - fsa1fm: Floppy not emulated +** - fsa1fm: Firmware not emulated +** - fsa1fm: kanji12 not emulated +** - nms8280, nms8280g: Digitizer functionality not emulated +** - vg8230j: Floppy support broken? +** - hotbit20: Does not boot +** - hbf1: Does not boot +** - hbf12: Does not boot +** - hbf1xd: Does not boot because of floppy being broken +** - hbf1xdm2: Does not boot because of floppy being broken +** - hbf5: Does not boot +** - hbf500p: Does not boot because of floppy being broken +** - hbf700d: Does not boot when no floppy disk is present +** - hbf700f: Does not boot when no floppy disk is present +** - hbf900a: Does not boot when no floppy disk is present +** - hbg900ap: Does not boot when no floppy disk is present +** - hbg900p: Does not boot when no floppy disk is present +** - tpc310: Floppy support broken +** - tpp311: Firmware not working? +** - tps312: Firmware? +** - hx23: Firmware? +** - hx23f: Firmware support broken, can't get into basic +** - cx7m: sfg not emulated +** - expert3i: IDE not emulated +** - expert3t: Turbo not emulated +** - expertac: Does not boot +** - expertdx: Floppy not emulated +** - fsa1fx: Floppy not emulated +** - fsa1fx: Keeps rebooting into firmware +** - fsa1wsx: Firmware not emulated +** - fsa1wsx: Floppy not emulated +** - fsa1wx: Firmware not emulated +** - fsa1wx: Floppy not emulated +** - fsa1wxa: Firmware not emulated +** - fsa1wxa: Floppy not emulated +** - phc70fd: Floppy not emulated +** - phc70fd2: Floppy not emulated +** - hbf1xdj: Firmware not emulated +** - hbf1xdj: Does not boot when no floppy disk is present +** - hbf1xv: Firmare not emulated +** - hbf1xv: Does not boot when no floppy disk is present +** - hbf9sp: Firmware not working, can't get into basic +** - fsa1gt: Add Turbo-R support +** - fsa1st: Add Turbo-R support +** +************************************************************************ This following list is probably incomplete. Corrections are welcome. + @@ -343,21 +424,13 @@ Spectravideo SVI-707 - MB8877A - 1 5.25" SSDD drive (320KB) - There seem to be 2 #include "includes/msx.h" #include "bus/centronics/covox.h" #include "formats/dsk_dsk.h" +#include "machine/msx_matsushita.h" +#include "machine/msx_s1985.h" static ADDRESS_MAP_START ( msx_memory_map, AS_PROGRAM, 8, msx_state ) - AM_RANGE( 0x0000, 0x1fff) AM_READ_BANK("bank1") AM_WRITE(msx_page0_w) - AM_RANGE( 0x2000, 0x3fff) AM_READ_BANK("bank2") AM_WRITE(msx_page0_1_w) - AM_RANGE( 0x4000, 0x5fff) AM_READ_BANK("bank3") AM_WRITE(msx_page1_w) - AM_RANGE( 0x6000, 0x7ff7) AM_READ_BANK("bank4") AM_WRITE(msx_page1_1_w) - AM_RANGE( 0x7ff8, 0x7fff) AM_READ_BANK("bank5") AM_WRITE(msx_page1_2_w) - AM_RANGE( 0x8000, 0x97ff) AM_READ_BANK("bank6") AM_WRITE(msx_page2_w) - AM_RANGE( 0x9800, 0x9fff) AM_READ_BANK("bank7") AM_WRITE(msx_page2_1_w) - AM_RANGE( 0xa000, 0xb7ff) AM_READ_BANK("bank8") AM_WRITE(msx_page2_2_w) - AM_RANGE( 0xb800, 0xbfff) AM_READ_BANK("bank9") AM_WRITE(msx_page2_3_w) - AM_RANGE( 0xc000, 0xdfff) AM_READ_BANK("bank10") AM_WRITE(msx_page3_w) - AM_RANGE( 0xe000, 0xfffe) AM_READ_BANK("bank11") AM_WRITE(msx_page3_1_w) - AM_RANGE( 0xffff, 0xffff) AM_READWRITE(msx_sec_slot_r, msx_sec_slot_w) + AM_RANGE(0x0000, 0xfffe) AM_READWRITE(msx_mem_read, msx_mem_write) + AM_RANGE(0xffff, 0xffff) AM_READWRITE(msx_sec_slot_r, msx_sec_slot_w) ADDRESS_MAP_END @@ -373,8 +446,7 @@ WRITE8_MEMBER(msx_state::msx_ay8910_w) static ADDRESS_MAP_START ( msx_io_map, AS_IO, 8, msx_state ) ADDRESS_MAP_UNMAP_HIGH ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE( 0x77, 0x77) AM_WRITE(msx_90in1_w) - AM_RANGE( 0x7c, 0x7d) AM_WRITE(msx_fmpac_w) + // 0x7c - 0x7d : MSX-MUSIC/FM-PAC write port. Handlers will be installed if MSX-MUSIC is present in a system AM_RANGE( 0x90, 0x90) AM_DEVREAD("cent_status_in", input_buffer_device, read) AM_RANGE( 0x90, 0x90) AM_DEVWRITE("cent_ctrl_out", output_latch_device, write) AM_RANGE( 0x91, 0x91) AM_DEVWRITE("cent_data_out", output_latch_device, write) @@ -383,14 +455,15 @@ static ADDRESS_MAP_START ( msx_io_map, AS_IO, 8, msx_state ) AM_RANGE( 0x98, 0x98) AM_DEVREADWRITE("tms9928a", tms9928a_device, vram_read, vram_write) AM_RANGE( 0x99, 0x99) AM_DEVREADWRITE("tms9928a", tms9928a_device, register_read, register_write) AM_RANGE( 0xd8, 0xd9) AM_READWRITE(msx_kanji_r, 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 ADDRESS_MAP_END static ADDRESS_MAP_START ( msx2_io_map, AS_IO, 8, msx_state ) ADDRESS_MAP_UNMAP_HIGH ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE( 0x77, 0x77) AM_WRITE(msx_90in1_w) - AM_RANGE( 0x7c, 0x7d) AM_WRITE(msx_fmpac_w) + AM_RANGE( 0x40, 0x4f) AM_READWRITE(msx_switched_r, msx_switched_w) + // 0x7c - 0x7d : MSX-MUSIC/FM-PAC write port. Handlers will be installed if MSX-MUSIC is present in a system AM_RANGE( 0x90, 0x90) AM_DEVREAD("cent_status_in", input_buffer_device, read) AM_RANGE( 0x90, 0x90) AM_DEVWRITE("cent_ctrl_out", output_latch_device, write) AM_RANGE( 0x91, 0x91) AM_DEVWRITE("cent_data_out", output_latch_device, write) @@ -400,15 +473,15 @@ static ADDRESS_MAP_START ( msx2_io_map, AS_IO, 8, msx_state ) AM_RANGE( 0xb4, 0xb4) AM_WRITE(msx_rtc_latch_w) AM_RANGE( 0xb5, 0xb5) AM_READWRITE(msx_rtc_reg_r, msx_rtc_reg_w) AM_RANGE( 0xd8, 0xd9) AM_READWRITE(msx_kanji_r, msx_kanji_w) - AM_RANGE( 0xfc, 0xff) AM_READWRITE(msx_ram_mapper_r, msx_ram_mapper_w) + // 0xfc - 0xff : Memory mapper I/O ports. I/O handlers will be installed if a memory mapper is present in a system ADDRESS_MAP_END static ADDRESS_MAP_START ( msx2p_io_map, AS_IO, 8, msx_state ) ADDRESS_MAP_UNMAP_HIGH ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE( 0x77, 0x77) AM_WRITE(msx_90in1_w) - AM_RANGE( 0x7c, 0x7d) AM_WRITE(msx_fmpac_w) + AM_RANGE( 0x40, 0x4f) AM_READWRITE(msx_switched_r, msx_switched_w) + // 0x7c - 0x7d : MSX-MUSIC/FM-PAC write port. Handlers will be installed if MSX-MUSIC is present in a system AM_RANGE( 0x90, 0x90) AM_DEVREAD("cent_status_in", input_buffer_device, read) AM_RANGE( 0x90, 0x90) AM_DEVWRITE("cent_ctrl_out", output_latch_device, write) AM_RANGE( 0x91, 0x91) AM_DEVWRITE("cent_data_out", output_latch_device, write) @@ -418,7 +491,12 @@ static ADDRESS_MAP_START ( msx2p_io_map, AS_IO, 8, msx_state ) AM_RANGE( 0xb4, 0xb4) AM_WRITE(msx_rtc_latch_w) AM_RANGE( 0xb5, 0xb5) AM_READWRITE(msx_rtc_reg_r, msx_rtc_reg_w) AM_RANGE( 0xd8, 0xd9) AM_READWRITE(msx_kanji_r, msx_kanji_w) - AM_RANGE( 0xfc, 0xff) AM_READWRITE(msx_ram_mapper_r, msx_ram_mapper_w) + // 0xfc - 0xff : Memory mapper I/O ports. I/O handlers will be installed if a memory mapper is present in a system +ADDRESS_MAP_END + + +DEVICE_ADDRESS_MAP_START( switched_device_map, 8, msx_state ) + ADDRESS_MAP_UNMAP_HIGH ADDRESS_MAP_END @@ -1045,6 +1123,16 @@ static INPUT_PORTS_START( msx2kr ) PORT_INCLUDE( msx_dips ) INPUT_PORTS_END + +// Some MSX2+ can switch the z80 clock between 3.5 and 5.3 MHz +WRITE_LINE_MEMBER(msx_state::turbo_w) +{ + // 0 - 5.369317 MHz + // 1 - 3.579545 MHz + m_maincpu->set_unscaled_clock(state ? XTAL_21_4772MHz/6 : XTAL_21_4772MHz/4); +} + + #define MSX_XBORDER_PIXELS 15 #define MSX_YBORDER_PIXELS 27 #define MSX_TOTAL_XRES_PIXELS 256 + (MSX_XBORDER_PIXELS * 2) @@ -1052,54 +1140,22 @@ INPUT_PORTS_END #define MSX_VISIBLE_XBORDER_PIXELS 8 #define MSX_VISIBLE_YBORDER_PIXELS 24 -static MACHINE_CONFIG_FRAGMENT( msx_cartslot_1 ) - MCFG_CARTSLOT_ADD("cart1") - MCFG_CARTSLOT_EXTENSION_LIST("mx1,rom") - MCFG_CARTSLOT_NOT_MANDATORY - MCFG_CARTSLOT_INTERFACE("msx_cart") - MCFG_CARTSLOT_LOAD(msx_state, msx_cart) - MCFG_CARTSLOT_UNLOAD(msx_state, msx_cart) -MACHINE_CONFIG_END - -static MACHINE_CONFIG_FRAGMENT( msx_cartslot_2 ) - MCFG_CARTSLOT_ADD("cart2") - MCFG_CARTSLOT_EXTENSION_LIST("mx1,rom") - MCFG_CARTSLOT_NOT_MANDATORY - MCFG_CARTSLOT_INTERFACE("msx_cart") - MCFG_CARTSLOT_LOAD(msx_state, msx_cart) - MCFG_CARTSLOT_UNLOAD(msx_state, msx_cart) -MACHINE_CONFIG_END - -static MACHINE_CONFIG_FRAGMENT( msx1_1_cartslot ) - MCFG_FRAGMENT_ADD( msx_cartslot_1 ) - /* Software lists */ +static MACHINE_CONFIG_FRAGMENT( msx1_cartlist ) MCFG_SOFTWARE_LIST_ADD("cart_list","msx1_cart") MACHINE_CONFIG_END -static MACHINE_CONFIG_FRAGMENT( msx1_2_cartslots ) - MCFG_FRAGMENT_ADD( msx_cartslot_1 ) - MCFG_FRAGMENT_ADD( msx_cartslot_2 ) - - /* Software lists */ - MCFG_SOFTWARE_LIST_ADD("cart_list","msx1_cart") +static MACHINE_CONFIG_FRAGMENT( msx1_floplist ) + MCFG_SOFTWARE_LIST_ADD("flop_list","msx1_flop") MACHINE_CONFIG_END -static MACHINE_CONFIG_FRAGMENT( msx2_1_cartslot ) - MCFG_FRAGMENT_ADD( msx_cartslot_1 ) - - /* Software lists */ +static MACHINE_CONFIG_FRAGMENT( msx2_cartlist ) MCFG_SOFTWARE_LIST_ADD("cart_list","msx2_cart") - MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_list","msx1_cart") + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_cart_list","msx1_cart") MACHINE_CONFIG_END -static MACHINE_CONFIG_FRAGMENT( msx2_2_cartslots ) - MCFG_FRAGMENT_ADD( msx_cartslot_1 ) - MCFG_FRAGMENT_ADD( msx_cartslot_2 ) - - /* Software lists */ - MCFG_SOFTWARE_LIST_ADD("cart_list","msx2_cart") - MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_list","msx1_cart") +static MACHINE_CONFIG_FRAGMENT( msx2_floplist ) + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("msx1_flop_list","msx1_flop") MACHINE_CONFIG_END FLOPPY_FORMATS_MEMBER( msx_state::floppy_formats ) @@ -1114,8 +1170,6 @@ SLOT_INTERFACE_END static MACHINE_CONFIG_FRAGMENT( msx_fd1793 ) MCFG_FD1793x_ADD("fdc", XTAL_4MHz / 4) MCFG_WD_FDC_FORCE_READY - MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(msx_state, msx_wd179x_intrq_w)) - MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(msx_state, msx_wd179x_drq_w)) MACHINE_CONFIG_END static MACHINE_CONFIG_FRAGMENT( msx_wd2793 ) @@ -1124,30 +1178,23 @@ static MACHINE_CONFIG_FRAGMENT( msx_wd2793 ) // SSO/-ENMF + -DDEN + ENP + -5/8 - pulled low MCFG_WD2793x_ADD("fdc", XTAL_4MHz / 4) MCFG_WD_FDC_FORCE_READY - MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(msx_state, msx_wd179x_intrq_w)) - MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(msx_state, msx_wd179x_drq_w)) MACHINE_CONFIG_END static MACHINE_CONFIG_FRAGMENT( msx_mb8877a ) MCFG_MB8877x_ADD("fdc", XTAL_4MHz / 4) - MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(msx_state, msx_wd179x_intrq_w)) - MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(msx_state, msx_wd179x_drq_w)) + MCFG_WD_FDC_FORCE_READY MACHINE_CONFIG_END static MACHINE_CONFIG_FRAGMENT( msx_tc8566af ) // TODO: Implement TC8566AF, the fragment below is to keep the core happy MCFG_WD2793x_ADD("fdc", XTAL_4MHz / 4) MCFG_WD_FDC_FORCE_READY - MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(msx_state, msx_wd179x_intrq_w)) - MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(msx_state, msx_wd179x_drq_w)) MACHINE_CONFIG_END static MACHINE_CONFIG_FRAGMENT( msx_microsol ) // TODO: Implement MICROSOL, the fragment below is to keep the core happy MCFG_WD2793x_ADD("fdc", XTAL_4MHz / 4) MCFG_WD_FDC_FORCE_READY - MCFG_WD_FDC_INTRQ_CALLBACK(WRITELINE(msx_state, msx_wd179x_intrq_w)) - MCFG_WD_FDC_DRQ_CALLBACK(WRITELINE(msx_state, msx_wd179x_drq_w)) MACHINE_CONFIG_END static MACHINE_CONFIG_FRAGMENT( msx_1_35_ssdd_drive ) @@ -1163,6 +1210,11 @@ static MACHINE_CONFIG_FRAGMENT( msx_2_35_dd_drive ) MCFG_FLOPPY_DRIVE_ADD("fdc:1", msx_floppies, "35dd", msx_state::floppy_formats) MACHINE_CONFIG_END +static MACHINE_CONFIG_FRAGMENT( msx_ym2413 ) + MCFG_SOUND_ADD("ym2413", YM2413, XTAL_21_4772MHz/6) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) +MACHINE_CONFIG_END + static MACHINE_CONFIG_START( msx, msx_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", Z80, XTAL_10_738635MHz/3) /* 3.579545 MHz */ @@ -1192,10 +1244,6 @@ static MACHINE_CONFIG_START( msx, msx_state ) MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(msx_state, msx_psg_port_a_w)) MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(msx_state, msx_psg_port_b_w)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) - MCFG_SOUND_ADD("k051649", K051649, XTAL_10_738635MHz/3/2) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15) - MCFG_SOUND_ADD("ym2413", YM2413, XTAL_10_738635MHz/3) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) /* printer */ MCFG_CENTRONICS_ADD("centronics", centronics_printers, "printer") @@ -1288,10 +1336,6 @@ static MACHINE_CONFIG_START( msx2, msx_state ) MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(msx_state, msx_psg_port_a_w)) MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(msx_state, msx_psg_port_b_w)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) - MCFG_SOUND_ADD("k051649", K051649, XTAL_21_4772MHz/6/2) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15) - MCFG_SOUND_ADD("ym2413", YM2413, XTAL_21_4772MHz/6) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) /* printer */ MCFG_CENTRONICS_ADD("centronics", centronics_printers, "printer") @@ -1360,10 +1404,6 @@ static MACHINE_CONFIG_START( msx2p, msx_state ) MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(msx_state, msx_psg_port_a_w)) MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(msx_state, msx_psg_port_b_w)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) - MCFG_SOUND_ADD("k051649", K051649, XTAL_21_4772MHz/6/2) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15) - MCFG_SOUND_ADD("ym2413", YM2413, XTAL_21_4772MHz/6) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) /* printer */ MCFG_CENTRONICS_ADD("centronics", centronics_printers, "printer") @@ -1412,16 +1452,13 @@ ROM_START (msx) ROM_LOAD ("msx.rom", 0x0000, 0x8000, CRC(8205795e) SHA1(829c00c3114f25b3dae5157c0a238b52a3ac37db)) ROM_END -MSX_LAYOUT_INIT (msx) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( msx_gen, msx_pal ) - MCFG_MSX_LAYOUT(msx) - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + 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_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Al Alamiah AX-170 */ @@ -1432,20 +1469,19 @@ ROM_START (ax170) ROM_LOAD ("ax170arab.rom", 0x8000, 0x8000, CRC(339cd1aa) SHA1(0287b2ec897b9196788cd9f10c99e1487d7adbbb)) ROM_END -MSX_LAYOUT_INIT (ax170) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 1, 2, ROM, 0x8000, 0x8000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END static MACHINE_CONFIG_DERIVED( ax170, msx_pal ) - MCFG_MSX_LAYOUT(ax170) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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 */ + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Canon V-10 */ @@ -1455,19 +1491,17 @@ ROM_START (canonv10) ROM_LOAD ("v10bios.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e)) ROM_END -MSX_LAYOUT_INIT (canonv10) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 3, 1, RAM, 0x4000, 0xC000) /* 16KB RAM */ - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( canonv10, msx_pal ) - MCFG_MSX_LAYOUT(canonv10) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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("cartslot12", 3, 0) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Canon V-20 */ @@ -1476,19 +1510,17 @@ ROM_START (canonv20) ROM_LOAD ("v20bios.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e)) ROM_END -MSX_LAYOUT_INIT (canonv20) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( canonv20, msx_pal ) - MCFG_MSX_LAYOUT(canonv20) // YM2149 // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Casio PV-16 */ @@ -1498,19 +1530,17 @@ ROM_START (pv16) ROM_LOAD("pv16.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821)) ROM_END -MSX_LAYOUT_INIT(pv16) - MSX_LAYOUT_SLOT(0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT(0, 0, 3, 1, RAM, 0x4000, 0xC000) /* 16KB RAM */ - MSX_LAYOUT_SLOT(1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( pv16, msx_ntsc ) - MCFG_MSX_LAYOUT(pv16) - // AY8910 + // AY8910 // FDC: None, 0 drives // 1 Cartridge slot - MCFG_FRAGMENT_ADD( msx1_1_cartslot ) // No printer port + + 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_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Daewoo DPC-100 */ @@ -1521,20 +1551,18 @@ ROM_START (dpc100) ROM_LOAD ("100han.rom", 0x8000, 0x4000, CRC(97478efb) SHA1(4421fa2504cbce18f7c84b5ea97f04e017007f07)) ROM_END -MSX_LAYOUT_INIT (dpc100) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 0, 2, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 3, 1, RAM, 0x4000, 0xC000) /* 16KB RAM */ - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( dpc100, msx_ntsc ) - MCFG_MSX_LAYOUT(dpc100) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Daewoo DPC-180 */ @@ -1545,20 +1573,18 @@ ROM_START (dpc180) ROM_LOAD ("180han.rom", 0x8000, 0x4000, CRC(97478efb) SHA1(4421fa2504cbce18f7c84b5ea97f04e017007f07)) ROM_END -MSX_LAYOUT_INIT (dpc180) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 0, 2, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 2, 2, RAM, 0x8000, 0x0000) /* 32KB RAM */ - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( dpc180, msx_ntsc ) - MCFG_MSX_LAYOUT(dpc180) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Daewoo DPC-200 */ @@ -1569,20 +1595,18 @@ ROM_START (dpc200) ROM_LOAD ("200han.rom", 0x8000, 0x4000, CRC(97478efb) SHA1(4421fa2504cbce18f7c84b5ea97f04e017007f07)) ROM_END -MSX_LAYOUT_INIT (dpc200) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 0, 2, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( dpc200, msx_ntsc ) - MCFG_MSX_LAYOUT(dpc200) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Goldstar FC-200 */ @@ -1593,19 +1617,17 @@ ROM_START (gsfc200) ROM_LOAD ("fc200bios.rom.u5b", 0x4000, 0x4000, CRC(1a99b1a1) SHA1(e18f72271b64693a2a2bc226e1b9ebd0448e07c0)) ROM_END -MSX_LAYOUT_INIT (gsfc200) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( gsfc200, msx_pal ) - MCFG_MSX_LAYOUT(gsfc200) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Gradiente Expert 1.0 */ @@ -1615,19 +1637,17 @@ ROM_START (expert10) ROM_LOAD ("expbios.rom", 0x0000, 0x8000, CRC(07610d77) SHA1(ef3e010eb57e4476700a3bbff9d2119ab3acdf62)) ROM_END -MSX_LAYOUT_INIT (expert10) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( expert10, msx_ntsc ) - MCFG_MSX_LAYOUT(expert10) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Gradiente Expert 1.1 */ @@ -1636,19 +1656,17 @@ ROM_START (expert11) ROM_LOAD ("expbios11.rom", 0x0000, 0x8000, CRC(efb4b972) SHA1(d6720845928ee848cfa88a86accb067397685f02)) ROM_END -MSX_LAYOUT_INIT (expert11) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( expert11, msx_ntsc ) - MCFG_MSX_LAYOUT(expert11) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Gradiente Expert 1.3 */ @@ -1657,19 +1675,17 @@ ROM_START (expert13) ROM_LOAD ("expbios13.rom", 0x0000, 0x8000, CRC(5638bc38) SHA1(605f5af3f358c6811f54e0173bad908614a198c0)) ROM_END -MSX_LAYOUT_INIT (expert13) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( expert13, msx_ntsc ) - MCFG_MSX_LAYOUT(expert13) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Gradiente Expert DDPlus */ @@ -1679,24 +1695,23 @@ ROM_START (expertdp) ROM_LOAD ("eddpdisk.rom", 0x8000, 0x4000, CRC(549f1d90) SHA1(f1525de4e0b60a6687156c2a96f8a8b2044b6c56)) ROM_END -MSX_LAYOUT_INIT (expertdp) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, DISK_ROM2, 0x4000, 0x8000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( expertdp, msx_ntsc ) - MCFG_MSX_LAYOUT(expertdp) // AY8910/YM2149? // FDC: mb8877a, 1 3.5" DSDD drive - MCFG_FRAGMENT_ADD( msx_mb8877a ) - MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - MCFG_SOFTWARE_LIST_ADD("flop_list","msx1_flop") // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) // MSX Engine T7937A + + 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) + + MCFG_FRAGMENT_ADD( msx_mb8877a ) + MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx1_floplist ) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Gradiente Expert Plus */ @@ -1707,21 +1722,19 @@ ROM_START (expertpl) ROM_LOAD ("exppdemo.rom", 0x8000, 0x4000, CRC(a9bbef64) SHA1(d4cea8c815f3eeabe0c6a1c845f902ec4318bf6b)) ROM_END -MSX_LAYOUT_INIT (expertpl) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (3, 3, 2, 1, ROM, 0x4000, 0x8000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( expertpl, msx_ntsc ) - MCFG_MSX_LAYOUT(expertpl) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) // MSX Engine T7937A + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - JVC HC-7GB */ @@ -1731,19 +1744,17 @@ ROM_START (jvchc7gb) ROM_LOAD ("hc7gbbios.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e)) ROM_END -MSX_LAYOUT_INIT (jvchc7gb) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( jvchc7gb, msx_pal ) - MCFG_MSX_LAYOUT(jvchc7gb) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Mitsubishi ML-F80 */ @@ -1753,19 +1764,17 @@ ROM_START (mlf80) ROM_LOAD ("mlf80bios.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e)) ROM_END -MSX_LAYOUT_INIT (mlf80) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( mlf80, msx_pal ) - MCFG_MSX_LAYOUT(mlf80) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Mitsubishi ML-FX1 */ @@ -1775,19 +1784,17 @@ ROM_START (mlfx1) ROM_LOAD ("mlfx1bios.rom", 0x0000, 0x8000, CRC(62867dce) SHA1(0cbe0df4af45e8f531e9c761403ac9e71808f20c)) ROM_END -MSX_LAYOUT_INIT (mlfx1) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( mlfx1, msx_pal ) - MCFG_MSX_LAYOUT(mlfx1) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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 */ + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - National CF-1200 */ @@ -1797,19 +1804,17 @@ ROM_START (cf1200) ROM_LOAD ("1200bios.rom", 0x0000, 0x8000, CRC(5ad03407) SHA1(c7a2c5baee6a9f0e1c6ee7d76944c0ab1886796c)) ROM_END -MSX_LAYOUT_INIT (cf1200) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 0, 3, 1, RAM, 0x4000, 0xC000) /* 16KB RAM */ - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( cf1200, msx_ntsc ) - MCFG_MSX_LAYOUT(cf1200) // AY8910 // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - National CF-2000 */ @@ -1819,19 +1824,17 @@ ROM_START (cf2000) ROM_LOAD ("2000bios.rom", 0x0000, 0x8000, CRC(ee229390) SHA1(302afb5d8be26c758309ca3df611ae69cced2821)) ROM_END -MSX_LAYOUT_INIT (cf2000) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 0, 3, 1, RAM, 0x4000, 0xC000) /* 16KB RAM */ - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( cf2000, msx_ntsc ) - MCFG_MSX_LAYOUT(cf2000) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - National CF-2700 */ @@ -1840,19 +1843,17 @@ ROM_START (cf2700) ROM_LOAD ("2700bios.rom.ic32", 0x0000, 0x8000, CRC(5ad03407) SHA1(c7a2c5baee6a9f0e1c6ee7d76944c0ab1886796c)) ROM_END -MSX_LAYOUT_INIT (cf2700) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 0, 2, 2, RAM, 0x8000, 0x0000) /* 32KB RAM */ - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( cf2700, msx_ntsc ) - MCFG_MSX_LAYOUT(cf2700) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - National CF-3000 */ @@ -1862,19 +1863,17 @@ ROM_START (cf3000) ROM_LOAD ("3000bios.rom", 0x0000, 0x8000, CRC(5ad03407) SHA1(c7a2c5baee6a9f0e1c6ee7d76944c0ab1886796c)) ROM_END -MSX_LAYOUT_INIT (cf3000) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( cf3000, msx_ntsc ) - MCFG_MSX_LAYOUT(cf3000) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - National CF-3300 */ @@ -1884,23 +1883,22 @@ ROM_START (cf3300) ROM_LOAD ("3300disk.rom", 0x8000, 0x4000, CRC(549f1d90) SHA1(f1525de4e0b60a6687156c2a96f8a8b2044b6c56)) ROM_END -MSX_LAYOUT_INIT (cf3300) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (3, 1, 1, 1, DISK_ROM2, 0x4000, 0x8000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( cf3300, msx_ntsc ) - MCFG_MSX_LAYOUT(cf3300) // AY8910/YM2149? // FDC: mb8877a, 1 3.5" SSDD drive + // 2 Cartridge slots + + 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) + MCFG_FRAGMENT_ADD( msx_mb8877a ) MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive ) - MCFG_SOFTWARE_LIST_ADD("flop_list","msx1_flop") - // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + MCFG_FRAGMENT_ADD( msx1_floplist ) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - National FS-1300 */ @@ -1910,19 +1908,17 @@ ROM_START (fs1300) ROM_LOAD ("1300bios.rom", 0x0000, 0x8000, CRC(5ad03407) SHA1(c7a2c5baee6a9f0e1c6ee7d76944c0ab1886796c)) ROM_END -MSX_LAYOUT_INIT (fs1300) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( fs1300, msx_ntsc ) - MCFG_MSX_LAYOUT(fs1300) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - National FS-4000 */ @@ -1936,21 +1932,19 @@ ROM_START (fs4000) ROM_LOAD ("4000kfn.rom", 0, 0x20000, CRC(956dc96d) SHA1(9ed3ab6d893632b9246e91b412cd5db519e7586b)) ROM_END -MSX_LAYOUT_INIT (fs4000) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 2, ROM, 0x8000, 0x8000) - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x10000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( fs4000, msx_ntsc ) - MCFG_MSX_LAYOUT(fs4000) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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 */ + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /*MSX - Olympia PHC-2*/ @@ -1960,19 +1954,17 @@ ROM_START (phc2) ROM_LOAD ("phc2bios.rom", 0x0000, 0x8000, CRC(4f7bb04b) SHA1(ab0177624d46dd77ab4f50ffcb983c3ba88223f4)) ROM_END -MSX_LAYOUT_INIT (phc2) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( phc2, msx_pal ) - MCFG_MSX_LAYOUT(phc2) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Olympia PHC-28 */ @@ -1982,19 +1974,17 @@ ROM_START (phc28) ROM_LOAD ("phc28bios.rom", 0x0000, 0x8000, CRC(eceb2802) SHA1(195950173701abeb460a1a070d83466f3f53b337)) ROM_END -MSX_LAYOUT_INIT (phc28) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 2, 2, RAM, 0x8000, 0x0000) /* 32KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( phc28, msx_pal ) - MCFG_MSX_LAYOUT(phc28) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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 */ + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Panasonic CF-2700G */ @@ -2004,19 +1994,17 @@ ROM_START (cf2700g) ROM_LOAD ("cf2700g.rom", 0x0000, 0x8000, CRC(4aa194f4) SHA1(69bf27b610e11437dad1f7a1c37a63179a293d12)) ROM_END -MSX_LAYOUT_INIT (cf2700g) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB?? RAM */ - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( cf2700g, msx_pal ) - MCFG_MSX_LAYOUT(cf2700g) // AY8910 // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Philips NMS-801 */ @@ -2026,19 +2014,14 @@ ROM_START (nms801) ROM_LOAD ("801bios.rom", 0x0000, 0x8000, CRC(fa089461) SHA1(21329398c0f350e330b353f45f21aa7ba338fc8d)) ROM_END -MSX_LAYOUT_INIT (nms801) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( nms801, msx_pal ) - MCFG_MSX_LAYOUT(nms801) // AY8910 // FDC: None, 0 drives // 0 Cartridge slots // No printer port + + 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 */ @@ -2048,20 +2031,18 @@ ROM_START (vg8000) ROM_LOAD ("8000bios.rom", 0x0000, 0x8000, CRC(efd970b0) SHA1(42252cf87deeb58181a7bfec7c874190a1351779)) ROM_END -MSX_LAYOUT_INIT (vg8000) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 3, 1, RAM, 0x4000, 0x0000) /* 16KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( vg8000, msx_pal ) - MCFG_MSX_LAYOUT(vg8000) // AY8910 // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) // No printer port + + 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 */ + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Philips VG-8010 */ @@ -2071,20 +2052,18 @@ ROM_START (vg8010) ROM_LOAD ("8010bios.rom", 0x0000, 0x8000, CRC(efd970b0) SHA1(42252cf87deeb58181a7bfec7c874190a1351779)) ROM_END -MSX_LAYOUT_INIT (vg8010) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 2, 2, RAM, 0x8000, 0x0000) /* 32KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( vg8010, msx_pal ) - MCFG_MSX_LAYOUT(vg8010) // AY8910 // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) // No printer port + + 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 */ + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Philips VG-8010F */ @@ -2094,20 +2073,18 @@ ROM_START (vg8010f) ROM_LOAD ("8010fbios.rom", 0x0000, 0x8000, CRC(df57c9ca) SHA1(898630ad1497dc9a329580c682ee55c4bcb9c30c)) ROM_END -MSX_LAYOUT_INIT (vg8010f) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 2, 2, RAM, 0x8000, 0x0000) /* 32KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( vg8010f, msx_pal ) - MCFG_MSX_LAYOUT(vg8010f) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) // No printer port + + 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 */ + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Philips VG-8020-00 */ @@ -2117,19 +2094,17 @@ ROM_START (vg802000) ROM_LOAD ("8020-00bios.rom", 0x0000, 0x8000, CRC(8205795e) SHA1(829c00c3114f25b3dae5157c0a238b52a3ac37db)) ROM_END -MSX_LAYOUT_INIT (vg802000) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( vg802000, msx_pal ) - MCFG_MSX_LAYOUT(vg802000) // YM2149 // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Philips VG-8020-20 */ @@ -2139,20 +2114,18 @@ ROM_START (vg802020) ROM_LOAD ("8020-20bios.rom", 0x0000, 0x8000, CRC(A317E6B4) SHA1(E998F0C441F4F1800EF44E42CD1659150206CF79)) ROM_END -MSX_LAYOUT_INIT (vg802020) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( vg802020, msx_pal ) - MCFG_MSX_LAYOUT(vg802020) // YM2149 (in S-3527 MSX Engine) // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) // S-3527 MSX Engine + + 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 */ + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Philips VG-8020F */ @@ -2162,20 +2135,18 @@ ROM_START (vg8020f) ROM_LOAD ("vg8020f.rom", 0x0000, 0x8000, CRC(6e692fa1) SHA1(9eaad185efc8e224368d1db4949eb9659c26fb2c)) ROM_END -MSX_LAYOUT_INIT (vg8020f) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM, 0x10000, 0x0000) /* 64KB?? RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( vg8020f, msx_pal ) - MCFG_MSX_LAYOUT(vg8020f) // YM2149 (in S-3527 MSX Engine) // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) // S-3527 MSX Engine + + 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 */ + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Pioneer PX-7 */ @@ -2187,20 +2158,18 @@ ROM_START (piopx7) ROM_FILL( 0xa000, 0x2000, 0x6E ) ROM_END -MSX_LAYOUT_INIT (piopx7) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 0, 2, 2, RAM, 0x8000, 0x0000) /* 32KB RAM */ - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 1, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( piopx7, msx_pal ) - MCFG_MSX_LAYOUT(piopx7) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Samsung SPC-800 */ @@ -2211,20 +2180,18 @@ ROM_START (spc800) ROM_LOAD ("spc800han.rom", 0x8000, 0x4000, CRC(5ae2b013) SHA1(1e7616261a203580c1044205ad8766d104f1d874)) ROM_END -MSX_LAYOUT_INIT (spc800) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 0, 4, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB?? RAM */ - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( spc800, msx_ntsc ) - MCFG_MSX_LAYOUT(spc800) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Sanyo MPC-64 */ @@ -2234,19 +2201,17 @@ ROM_START (mpc64) ROM_LOAD ("mpc64bios.rom", 0x0000, 0x8000, CRC(d6e704ad) SHA1(d67be6d7d56d7229418f4e122f2ec27990db7d19)) ROM_END -MSX_LAYOUT_INIT (mpc64) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( mpc64, msx_ntsc ) - MCFG_MSX_LAYOUT(mpc64) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Sanyo MPC-100 */ @@ -2256,19 +2221,17 @@ ROM_START (mpc100) ROM_LOAD ("mpc100bios.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e)) ROM_END -MSX_LAYOUT_INIT (mpc100) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( mpc100, msx_pal ) - MCFG_MSX_LAYOUT(mpc100) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Sanyo PHC-28L */ @@ -2278,19 +2241,17 @@ ROM_START (phc28l) ROM_LOAD ("28lbios.rom", 0x0000, 0x8000, CRC(d2110d66) SHA1(d3af963e2529662eae63f04a2530454685a1989f)) ROM_END -MSX_LAYOUT_INIT (phc28l) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 0, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 0, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( phc28l, msx_pal ) - MCFG_MSX_LAYOUT(phc28l) // YM2149 // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Sanyo PHC-28S */ @@ -2300,19 +2261,17 @@ ROM_START (phc28s) ROM_LOAD ("28sbios.rom", 0x0000, 0x8000, CRC(e5cf6b3c) SHA1(b1cce60ef61c058f5e42ef7ac635018d1a431168)) ROM_END -MSX_LAYOUT_INIT (phc28s) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 2, 2, RAM, 0x8000, 0x0000) /* 32KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( phc28s, msx_pal ) - MCFG_MSX_LAYOUT(phc28s) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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 */ + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Sanyo Wavy MPC-10 */ @@ -2322,19 +2281,17 @@ ROM_START (mpc10) ROM_LOAD ("mpc10.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e)) ROM_END -MSX_LAYOUT_INIT (mpc10) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 2, 2, RAM, 0x8000, 0x0000) /* 32KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( mpc10, msx_pal ) - MCFG_MSX_LAYOUT(mpc10) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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 */ + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Sharp Epcom HotBit 1.1 */ @@ -2344,19 +2301,17 @@ ROM_START (hotbit11) ROM_LOAD ("hotbit11.rom", 0x0000, 0x8000, CRC(b6942694) SHA1(663f8c512d04d213fa616b0db5eefe3774012a4b)) ROM_END -MSX_LAYOUT_INIT (hotbit11) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hotbit11, msx_ntsc ) - MCFG_MSX_LAYOUT(hotbit11) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Sharp Epcom HotBit 1.2 */ @@ -2366,19 +2321,17 @@ ROM_START (hotbit12) ROM_LOAD ("hotbit12.rom", 0x0000, 0x8000, CRC(f59a4a0c) SHA1(9425815446d468058705bae545ffa13646744a87)) ROM_END -MSX_LAYOUT_INIT (hotbit12) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hotbit12, msx_ntsc ) - MCFG_MSX_LAYOUT(hotbit12) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Sharp Epcom HotBit 1.3b */ @@ -2388,19 +2341,17 @@ ROM_START (hotbi13b) ROM_LOAD ("hotbit13b.rom", 0x0000, 0x8000, CRC(7a19820e) SHA1(e0c2bfb078562d15acabc5831020a2370ea87052)) ROM_END -MSX_LAYOUT_INIT (hotbi13b) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hotbi13b, msx_ntsc ) - MCFG_MSX_LAYOUT(hotbi13b) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Sharp Epcom HotBit 1.3p */ @@ -2410,19 +2361,17 @@ ROM_START (hotbi13p) ROM_LOAD ("hotbit13p.rom", 0x0000, 0x8000, CRC(150e239c) SHA1(942f9507d206cd8156f15601fe8032fcf0e3875b)) ROM_END -MSX_LAYOUT_INIT (hotbi13p) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hotbi13p, msx_ntsc ) - MCFG_MSX_LAYOUT(hotbi13p) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Sony HB-10P */ @@ -2432,19 +2381,17 @@ ROM_START (hb10p) ROM_LOAD ("10pbios.rom", 0x0000, 0x8000, CRC(0f488dd8) SHA1(5e7c8eab238712d1e18b0219c0f4d4dae180420d)) ROM_END -MSX_LAYOUT_INIT (hb10p) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hb10p, msx_pal ) - MCFG_MSX_LAYOUT(hb10p) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Sony HB-20P */ @@ -2454,19 +2401,17 @@ ROM_START (hb20p) ROM_LOAD ("20pbios.rom", 0x0000, 0x8000, CRC(21af423f) SHA1(365c93d7652c9f727221689bcc348652832a7b7a)) ROM_END -MSX_LAYOUT_INIT (hb20p) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hb20p, msx_pal ) - MCFG_MSX_LAYOUT(hb20p) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Sony HB-201 */ @@ -2478,20 +2423,18 @@ ROM_START (hb201) ROM_FILL( 0xc000, 0x4000, 0xff ) ROM_END -MSX_LAYOUT_INIT (hb201) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 0, 2, 2, ROM, 0x8000, 0x8000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hb201, msx_ntsc ) - MCFG_MSX_LAYOUT(hb201) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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 */ + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Sony HB-201P */ @@ -2502,20 +2445,18 @@ ROM_START (hb201p) ROM_LOAD ("201pnote.rom.ic8", 0x8000, 0x4000, CRC(1ff9b6ec) SHA1(e84d3ec7a595ee36b50e979683c84105c1871857)) ROM_END -MSX_LAYOUT_INIT (hb201p) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 0, 2, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hb201p, msx_pal ) - MCFG_MSX_LAYOUT(hb201p) // YM2149 // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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 */ + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Sony HB-501P */ @@ -2525,19 +2466,17 @@ ROM_START (hb501p) ROM_LOAD ("501pbios.rom", 0x0000, 0x8000, CRC(0f488dd8) SHA1(5e7c8eab238712d1e18b0219c0f4d4dae180420d)) ROM_END -MSX_LAYOUT_INIT (hb501p) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hb501p, msx_pal ) - MCFG_MSX_LAYOUT(hb501p) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Sony HB-55D */ @@ -2548,20 +2487,18 @@ ROM_START (hb55d) ROM_LOAD ("55dnote.rom", 0x8000, 0x4000, CRC(8aae0494) SHA1(97ce59892573cac3c440efff6d74c8a1c29a5ad3)) ROM_END -MSX_LAYOUT_INIT (hb55d) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 0, 2, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 3, 1, RAM, 0x4000, 0xC000) /* 16KB RAM */ - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hb55d, msx_pal ) - MCFG_MSX_LAYOUT(hb55d) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Sony HB-55P */ @@ -2573,20 +2510,18 @@ ROM_START (hb55p) ROM_LOAD ("55pnote.ic44", 0x8000, 0x4000, CRC(492b12f8) SHA1(b262aedc71b445303f84efe5e865cbb71fd7d952)) ROM_END -MSX_LAYOUT_INIT (hb55p) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 0, 2, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 3, 1, RAM, 0x4000, 0xC000) /* 16KB RAM */ - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hb55p, msx_pal ) - MCFG_MSX_LAYOUT(hb55p) // AY8910 // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Sony HB-75D */ @@ -2597,20 +2532,18 @@ ROM_START (hb75d) ROM_LOAD ("75dnote.rom", 0x8000, 0x4000, CRC(8aae0494) SHA1(97ce59892573cac3c440efff6d74c8a1c29a5ad3)) ROM_END -MSX_LAYOUT_INIT (hb75d) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 0, 2, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hb75d, msx_pal ) - MCFG_MSX_LAYOUT(hb75d) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Sony HB-75P */ @@ -2622,20 +2555,18 @@ ROM_START (hb75p) ROM_LOAD ("75pnote.ic44", 0x8000, 0x4000, CRC(492b12f8) SHA1(b262aedc71b445303f84efe5e865cbb71fd7d952)) ROM_END -MSX_LAYOUT_INIT (hb75p) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 0, 2, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hb75p, msx_pal ) - MCFG_MSX_LAYOUT(hb75p) // AY8910 // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Spectravideo SVI-728 */ @@ -2646,20 +2577,18 @@ ROM_START (svi728) // ROM_LOAD ("707disk.rom", 0x8000, 0x4000, CRC(f9978853) SHA1(6aa856cc56eb98863c9da7a566571605682b5c6b)) ROM_END -MSX_LAYOUT_INIT (svi728) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) -// MSX_LAYOUT_SLOT (3, 0, 1, 1, DISK_ROM2, 0x4000, 0x8000) -// MSX_LAYOUT_SLOT (3, 1, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( svi728, msx_pal ) - MCFG_MSX_LAYOUT(svi728) // AY8910 // FDC: None, 0 drives // 1 Cartridge slots, 1 Expansion slot (eg for SVI-707) - MCFG_FRAGMENT_ADD( msx1_1_cartslot ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Spectravideo SVI-738 */ @@ -2672,26 +2601,25 @@ ROM_START (svi738) ROM_FILL (0xe000, 0x2000, 0xff) ROM_END -MSX_LAYOUT_INIT (svi738) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 1, 1, ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (3, 1, 1, 1, DISK_ROM2, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( svi738, msx_pal ) - MCFG_MSX_LAYOUT(svi738) // AY8910 // FDC: wd1793, 1 3.5" SSDD drive - MCFG_FRAGMENT_ADD( msx_fd1793 ) - MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive ) - MCFG_SOFTWARE_LIST_ADD("flop_list","msx1_flop") // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) // builtin 80 columns card (V9938) // RS-232C interface + + 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_FRAGMENT_ADD( msx_fd1793 ) + MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive ) + MCFG_FRAGMENT_ADD( msx1_floplist ) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Spectravideo SVI-738 Swedish */ @@ -2704,26 +2632,25 @@ ROM_START (svi738sw) ROM_FILL (0xe000, 0x2000, 0xff) ROM_END -MSX_LAYOUT_INIT (svi738sw) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 1, 1, ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (3, 1, 1, 1, DISK_ROM2, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( svi738sw, msx_pal ) - MCFG_MSX_LAYOUT(svi738sw) // AY8910 // FDC: wd2793, 1 3.5" SSDD drive - MCFG_FRAGMENT_ADD( msx_wd2793 ) - MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive ) - MCFG_SOFTWARE_LIST_ADD("flop_list","msx1_flop") // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) // builtin 80 columns card (V9938) // RS-232C interface + + 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_FRAGMENT_ADD( msx_wd2793 ) + MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive ) + MCFG_FRAGMENT_ADD( msx1_floplist ) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Spectravideo SVI-738 Poland*/ @@ -2736,26 +2663,25 @@ ROM_START (svi738pl) ROM_FILL (0xe000, 0x2000, 0xff) ROM_END -MSX_LAYOUT_INIT (svi738pl) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 1, 1, ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (3, 1, 1, 1, DISK_ROM2, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( svi738pl, msx_pal ) - MCFG_MSX_LAYOUT(svi738pl) // AY8910 // FDC: wd2793, 1 3.5" SSDD drive - MCFG_FRAGMENT_ADD( msx_wd2793 ) - MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive ) - MCFG_SOFTWARE_LIST_ADD("flop_list","msx1_flop") // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) // builtin 80 columns card (V9938) // RS-232C interface + + 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_FRAGMENT_ADD( msx_wd2793 ) + MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive ) + MCFG_FRAGMENT_ADD( msx1_floplist ) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Talent DPC-200 / Daewoo DPC-200E */ @@ -2765,19 +2691,17 @@ ROM_START (tadpc200) ROM_LOAD ("dpc200bios.rom", 0x0000, 0x8000, CRC(8205795e) SHA1(829c00c3114f25b3dae5157c0a238b52a3ac37db)) ROM_END -MSX_LAYOUT_INIT (tadpc200) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( tadpc200, msx_pal ) - MCFG_MSX_LAYOUT(tadpc200) // AY8910 // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Talent DPC-200A */ @@ -2787,19 +2711,17 @@ ROM_START (tadpc20a) ROM_LOAD ("dpc200abios.rom", 0x0000, 0x8000, CRC(8205795e) SHA1(829c00c3114f25b3dae5157c0a238b52a3ac37db)) ROM_END -MSX_LAYOUT_INIT (tadpc20a) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( tadpc20a, msx_pal ) - MCFG_MSX_LAYOUT(tadpc20a) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Toshiba HX-10 */ @@ -2810,19 +2732,17 @@ ROM_START (hx10) ROM_LOAD ("tcx-1007.ic15", 0x0000, 0x8000, CRC(5486b711) SHA1(4dad9de7c28b452351cc12910849b51bd9a37ab3)) ROM_END -MSX_LAYOUT_INIT (hx10) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - //MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) // Expansion slot -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hx10, msx_pal ) - MCFG_MSX_LAYOUT(hx10) // AY8910 // FDC: None, 0 drives // 1 Cartridge slot, 1 Toshiba Expension slot - MCFG_FRAGMENT_ADD( msx1_1_cartslot ) + + 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 + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Toshiba HX-10S */ @@ -2832,19 +2752,17 @@ ROM_START (hx10s) ROM_LOAD ("hx10sbios.rom", 0x0000, 0x8000, CRC(5486b711) SHA1(4dad9de7c28b452351cc12910849b51bd9a37ab3)) ROM_END -MSX_LAYOUT_INIT (hx10s) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 3, 1, RAM, 0x4000, 0xC000) /* 16KB RAM */ - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hx10s, msx_pal ) - MCFG_MSX_LAYOUT(hx10s) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Toshiba HX-20 */ @@ -2855,22 +2773,20 @@ ROM_START (hx20) ROM_LOAD ("hx20word.rom", 0x8000, 0x8000, CRC(39b3e1c0) SHA1(9f7cfa932bd7dfd0d9ecaadc51655fb557c2e125)) ROM_END -MSX_LAYOUT_INIT (hx20) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 0, 2, 2, RAM, 0x8000, 0x0000) /* 32KB RAM */ - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 2, 2, RAM, 0x8000, 0x0000) /* 32KB RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 2, ROM, 0x8000, 0x8000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hx20, msx_pal ) - MCFG_MSX_LAYOUT(hx20) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) // T6950 VDP instead of TMS9928A + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Yamaha CX5M / Yamaha CX5M-2 */ @@ -2881,20 +2797,18 @@ ROM_START (cx5m) ROM_LOAD ("sfg05m.rom", 0x8000, 0x8000, CRC(6c2545c9) SHA1(bc4b242647116f4886bb92e86421f97b1be51938)) ROM_END -MSX_LAYOUT_INIT (cx5m) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 0, 2, 2, RAM, 0x8000, 0x8000) /* 32KB RAM */ - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 2, ROM, 0x8000, 0x8000) /* SFG */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( cx5m, msx_pal ) - MCFG_MSX_LAYOUT(cx5m) // YM2149 // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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("sfg", 3, 0, 0, 2, "maincpu", 0x8000) /* SFG */ + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Yamaha CX5M-128 */ @@ -2907,22 +2821,20 @@ ROM_START (cx5m128) ROM_LOAD ("yrm502.rom", 0x14000,0x4000, CRC(5330fe21) SHA1(7b1798561ee1844a7d6432924fbee9b4fc591c19)) ROM_END -MSX_LAYOUT_INIT (cx5m128) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 1, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 1, 1, 1, ROM, 0x4000, 0x14000) /* YRM-502 */ - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 3, 0, 2, ROM, 0x8000, 0xc000) /* SFG-05 */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( cx5m128, msx_pal ) - MCFG_MSX_LAYOUT(cx5m128) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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_ROM("sfg", 3, 3, 0, 2, "maincpu", 0xc000) /* SFG-05 */ + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Yamaha CX5MII */ @@ -2934,21 +2846,19 @@ ROM_START (cx5m2) ROM_LOAD ("sfg05.rom", 0xc000, 0x8000, CRC(2425c279) SHA1(d956167e234f60ad916120437120f86fc8c3c321)) ROM_END -MSX_LAYOUT_INIT (cx5m2) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 1, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 3, 0, 2, ROM, 0x8000, 0xc000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( cx5m2, msx_pal ) - MCFG_MSX_LAYOUT(cx5m2) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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_ROM("sfg", 3, 3, 0, 2, "maincpu", 0xc000) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Yamaha YIS303 */ @@ -2959,20 +2869,18 @@ ROM_START (yis303) ROM_FILL( 0x8000, 0xc000, 0xff ) ROM_END -MSX_LAYOUT_INIT (yis303) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 3, ROM, 0xC000, 0x0000) /* Fill FF */ - MSX_LAYOUT_SLOT (3, 0, 3, 1, RAM, 0x4000, 0xC000) /* 16KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( yis303, msx_pal ) - MCFG_MSX_LAYOUT(yis303) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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 */ + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Yamaha YIS503 */ @@ -2983,20 +2891,18 @@ ROM_START (yis503) ROM_FILL( 0x8000, 0x8000, 0xff ) ROM_END -MSX_LAYOUT_INIT (yis503) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 3, ROM, 0xC000, 0x0000) /* Fill FF */ - MSX_LAYOUT_SLOT (3, 0, 2, 2, RAM, 0x8000, 0x0000) /* 32KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( yis503, msx_pal ) - MCFG_MSX_LAYOUT(yis503) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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 */ + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Yamaha YIS503F */ @@ -3006,19 +2912,17 @@ ROM_START (yis503f) ROM_LOAD ("yis503f.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e)) ROM_END -MSX_LAYOUT_INIT (yis503f) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB?? RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( yis503f, msx_pal ) - MCFG_MSX_LAYOUT(yis503f) // YM2149 // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Yamaha YIS503II */ @@ -3028,77 +2932,76 @@ ROM_START (yis503ii) ROM_LOAD ("yis503iibios.rom", 0x0000, 0x8000, CRC(e2242b53) SHA1(706dd67036baeec7127e4ccd8c8db8f6ce7d0e4c)) ROM_END -MSX_LAYOUT_INIT (yis503ii) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( yis503ii, msx_pal ) - MCFG_MSX_LAYOUT(yis503ii) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? + + 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_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Yamaha YIS503IIR Russian */ ROM_START (y503iir) - ROM_REGION (0xe000, "maincpu",0) + ROM_REGION (0x10000, "maincpu",0) ROM_LOAD ("yis503iirbios.rom", 0x0000, 0x8000, CRC(225a4f9e) SHA1(5173ac403e26c462f904f85c9ef5e7b1e19253e7)) ROM_LOAD ("yis503iirdisk.rom", 0x8000, 0x4000, CRC(9eb7e24d) SHA1(3a481c7b7e4f0406a55952bc5b9f8cf9d699376c)) ROM_LOAD ("yis503iirnet.rom", 0xc000, 0x2000, CRC(0731db3f) SHA1(264fbb2de69fdb03f87dc5413428f6aa19511a7f)) ROM_END -MSX_LAYOUT_INIT (y503iir) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 1, 1, 1, DISK_ROM2, 0x4000, 0x8000) /* National disk */ - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, ROM, 0x2000, 0xc000) /* Net */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( y503iir, msx_pal ) - MCFG_MSX_LAYOUT(y503iir) // YM2149 (in S-3527 MSX Engine) // FDC: wd2793/mb8877?, 1 3.5" DSDD drive - MCFG_FRAGMENT_ADD( msx_wd2793 ) - MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) // S-3527 MSX Engine // RTC // V9938 VDP + + 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 */ + + MCFG_FRAGMENT_ADD( msx_wd2793 ) + MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx1_floplist ) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Yamaha YIS503IIR Estonian */ ROM_START (y503iir2) - ROM_REGION (0xe000, "maincpu",0) + ROM_REGION (0x10000, "maincpu",0) ROM_LOAD ("yis503ii2bios.rom", 0x0000, 0x8000, CRC(1548cee3) SHA1(42c7fff25b1bd90776ac0aea971241aedce8947d)) ROM_LOAD ("yis503iirdisk.rom", 0x8000, 0x4000, CRC(9eb7e24d) SHA1(3a481c7b7e4f0406a55952bc5b9f8cf9d699376c)) ROM_LOAD ("yis503iirnet.rom", 0xc000, 0x2000, CRC(0731db3f) SHA1(264fbb2de69fdb03f87dc5413428f6aa19511a7f)) ROM_END -MSX_LAYOUT_INIT (y503iir2) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 1, 1, 1, DISK_ROM2, 0x4000, 0x8000) /* National disk */ - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, ROM, 0x2000, 0xc000) /* Net */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( y503iir2, msx_pal ) - MCFG_MSX_LAYOUT(y503iir2) // AY8910/YM2149? // FDC: wd2793/mb8877?, 1 3.5" DSDD drive? + // 2 Cartridge slots? + + 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 */ + MCFG_FRAGMENT_ADD( msx_wd2793 ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + MCFG_FRAGMENT_ADD( msx1_floplist ) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Yamaha YIS503M */ @@ -3109,20 +3012,18 @@ ROM_START (yis503m) ROM_LOAD ("sfg05m.rom", 0x8000, 0x8000, CRC(6c2545c9) SHA1(bc4b242647116f4886bb92e86421f97b1be51938)) ROM_END -MSX_LAYOUT_INIT (yis503m) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 2, ROM, 0x8000, 0x8000) - MSX_LAYOUT_SLOT (3, 0, 2, 2, RAM, 0x8000, 0x0000) /* 32KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( yis503m, msx_pal ) - MCFG_MSX_LAYOUT(yis503m) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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("sfg", 3, 0, 0, 2, "maincpu", 0x8000) + MCFG_MSX_LAYOUT_RAM("ram", 3, 0, 2, 2) /* 32KB RAM */ + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Yashica YC-64 */ @@ -3132,18 +3033,16 @@ ROM_START (yc64) ROM_LOAD ("yc64bios.rom", 0x0000, 0x8000, CRC(e9ccd789) SHA1(8963fc041975f31dc2ab1019cfdd4967999de53e)) ROM_END -MSX_LAYOUT_INIT (yc64) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( yc64, msx_pal ) - MCFG_MSX_LAYOUT(yc64) // YM2149 // FDC: None, 0 drives // 1 Cartridge slot (slot 1) - MCFG_FRAGMENT_ADD( msx1_1_cartslot ) + + 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 */ + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Yeno MX64 */ @@ -3153,19 +3052,17 @@ ROM_START (mx64) ROM_LOAD ("mx64bios.rom", 0x0000, 0x8000, CRC(e0e894b7) SHA1(d99eebded5db5fce1e072d08e642c0909bc7efdd)) ROM_END -MSX_LAYOUT_INIT (mx64) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( mx64, msx_ntsc ) - MCFG_MSX_LAYOUT(mx64) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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) + + MCFG_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END /* MSX - Frael Bruc 100-1 */ @@ -3175,19 +3072,17 @@ ROM_START (bruc100) ROM_LOAD( "bruc100-1bios.rom", 0x0000, 0x8000, CRC(c7bc4298) SHA1(3abca440cba16ac5e162b602557d30169f77adab)) ROM_END -MSX_LAYOUT_INIT (bruc100) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( bruc100, msx_pal ) - MCFG_MSX_LAYOUT(bruc100) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx1_2_cartslots ) + + 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_FRAGMENT_ADD( msx1_cartlist ) MACHINE_CONFIG_END @@ -3200,24 +3095,22 @@ ROM_START (msx2) ROM_LOAD ("msx2.rom", 0x0000, 0x8000, CRC(f05ed518) SHA1(5e1a4bd6826b29302a1eb88c340477e7cbd0b50a)) ROM_LOAD ("msx2ext.rom", 0x8000, 0x4000, CRC(95db2959) SHA1(e7905d16d2ccd57a013c122dc432106cd59ef52c)) ROM_LOAD ("disk.rom", 0xc000, 0x4000, CRC(b7c58fad) SHA1(bc517b4a248c3a1338c5efc937b0128b6a783808)) - ROM_LOAD_OPTIONAL ("fmpac.rom", 0x10000, 0x10000, CRC(0e84505d) SHA1(9d789166e3caf28e4742fe933d962e99618c633d)) ROM_END -MSX_LAYOUT_INIT (msx2) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 0, 1, 1, DISK_ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (3, 3, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( msx2_gen, msx2_pal ) - MCFG_MSX_LAYOUT(msx2) + 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, 0x20000) /* 128KB Mapper RAM */ MCFG_MSX_RAMIO_SET_BITS(0xf8) - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx_wd2793 ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Al Alamiah AX-350 */ @@ -3234,27 +3127,27 @@ ROM_START (ax350) ROM_LOAD ("ax350disk.rom", 0x40000, 0x4000, CRC(1e7d6512) SHA1(78cd7f847e77fd8cd51a647efb2725ba93f4c471)) ROM_END -MSX_LAYOUT_INIT (ax350) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) /* Bios */ - MSX_LAYOUT_SLOT (0, 1, 0, 1, ROM, 0x4000, 0x8000) /* Ext */ - MSX_LAYOUT_SLOT (0, 1, 1, 2, ROM, 0x8000, 0x20000) /* Arab */ - MSX_LAYOUT_SLOT (0, 2, 1, 2, ROM, 0x8000, 0x28000) /* SWP */ - MSX_LAYOUT_SLOT (0, 3, 0, 4, ROM, 0x10000, 0x30000) /* Paint */ - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 1, 1, 1, DISK_ROM2, 0x4000, 0x40000) /* Disk */ - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( ax350, msx2_pal ) - MCFG_MSX_LAYOUT(ax350) - MCFG_MSX_RAMIO_SET_BITS(0xf8) // AY8910/YM2149? // FDC: wd2793/tc8566af?, 1 3.5" DSDD drive + // 2 Cartridge slots? + + 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", 0x20000) /* Arab */ + MCFG_MSX_LAYOUT_ROM("swp", 0, 2, 1, 2, "maincpu", 0x28000) /* SWP */ + MCFG_MSX_LAYOUT_ROM("paint", 0, 3, 0, 4, "maincpu", 0x30000) /* 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", 0x40000) /* Disk */ + MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */ + MCFG_MSX_RAMIO_SET_BITS(0xf8) + MCFG_FRAGMENT_ADD( msx_wd2793 ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Al Alamiah AX-370 */ @@ -3271,27 +3164,27 @@ ROM_START (ax370) ROM_LOAD ("ax370disk.rom", 0x40000, 0x4000, CRC(60f8baba) SHA1(95de8809d2758fc0a743390ea5085b602e59e101)) ROM_END -MSX_LAYOUT_INIT (ax370) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) /* Bios */ - MSX_LAYOUT_SLOT (0, 2, 1, 2, ROM, 0x8000, 0x28000) /* SWP */ - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) /* Ext */ - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x20000) /* Arab */ - //MSX_LAYOUT_SLOT (3, 2, 1, 1, DISK_ROM, 0x4000, 0x40000) /* TC8566AF Disk controller*/ - MSX_LAYOUT_SLOT (3, 3, 0, 4, ROM, 0x10000, 0x30000) /* Paint */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( ax370, msx2_pal ) - MCFG_MSX_LAYOUT(ax370) - MCFG_MSX_RAMIO_SET_BITS(0xf8) // AY8910/YM2149? // FDC: tc8566af, 1 3.5" DSDD drive + // 2 Cartridge slots? + + MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000) /* Bios */ + MCFG_MSX_LAYOUT_ROM("swp", 0, 2, 1, 2, "maincpu", 0x28000) /* 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", 0x20000) /* Arab */ +// MCFG_MSX_LAYOUT_DISK("disk", 3, 2, 1, 1, "maincpu", 0x40000) /* TC8566AF Disk controller*/ + MCFG_MSX_LAYOUT_ROM("paint", 3, 3, 0, 4, "maincpu", 0x30000) /* Paint */ + MCFG_FRAGMENT_ADD( msx_tc8566af ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Daewoo CPC-300 */ @@ -3305,23 +3198,23 @@ ROM_START (cpc300) ROM_LOAD ("300han.rom", 0x28000, 0x8000, CRC(e78cd87f) SHA1(47a9d9a24e4fc6f9467c6e7d61a02d45f5a753ef)) ROM_END -MSX_LAYOUT_INIT (cpc300) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 1, 1, 2, ROM, 0x8000, 0x28000) - MSX_LAYOUT_SLOT (0, 2, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (0, 3, 0, 2, ROM, 0x8000, 0x20000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( cpc300, msx2 ) - MCFG_MSX_LAYOUT(cpc300) - MCFG_MSX_RAMIO_SET_BITS(0x80) // YM2149 (in S-1985 MSX Engine) // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // S-1985 MSX Engine + + MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000) + MCFG_MSX_LAYOUT_ROM("han", 0, 1, 1, 2, "maincpu", 0x28000) + 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", 0x20000) + MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0) + MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0) + + MCFG_MSX_S1985_ADD("s1985") + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Daewoo CPC-300E */ @@ -3336,22 +3229,20 @@ ROM_START (cpc300e) ROM_LOAD ("300ehan.rom", 0x28000, 0x4000, BAD_DUMP CRC(5afea78d) SHA1(f08c91f8c78d681e1f02eaaaaafb87ad81112b60)) ROM_END -MSX_LAYOUT_INIT (cpc300e) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 1, 1, 1, ROM, 0x4000, 0x28000) - MSX_LAYOUT_SLOT (0, 2, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (0, 3, 0, 2, ROM, 0x8000, 0x20000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( cpc300e, msx2 ) - MCFG_MSX_LAYOUT(cpc300e) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + + MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000) + MCFG_MSX_LAYOUT_ROM("han", 0, 1, 1, 1, "maincpu", 0x28000) + 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", 0x20000) + MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0) + MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Daewoo CPC-400 */ @@ -3368,25 +3259,25 @@ ROM_START (cpc400) ROM_LOAD ("400kfn.rom", 0, 0x20000, CRC(b663c605) SHA1(965f4982790f1817bcbabbb38c8777183b231a55)) ROM_END -MSX_LAYOUT_INIT (cpc400) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 1, 1, 2, ROM, 0x8000, 0x28000) - MSX_LAYOUT_SLOT (0, 2, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (0, 3, 0, 2, ROM, 0x8000, 0x20000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 1, 1, DISK_ROM2, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( cpc400, msx2 ) - MCFG_MSX_LAYOUT(cpc400) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: mb8877a, 1 3.5" DS?DD drive + // 2 Cartridge slots? + + MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000) + MCFG_MSX_LAYOUT_ROM("han", 0, 1, 1, 2, "maincpu", 0x28000) + 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", 0x20000) + 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) + MCFG_FRAGMENT_ADD( msx_mb8877a ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Daewoo CPC-400S */ @@ -3404,26 +3295,28 @@ ROM_START (cpc400s) ROM_LOAD ("400skfn.rom", 0, 0x20000, CRC(fa85368c) SHA1(30fff22e3e3d464993707488442721a5e56a9707)) ROM_END -MSX_LAYOUT_INIT (cpc400s) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 1, 1, 2, ROM, 0x8000, 0x28000) - MSX_LAYOUT_SLOT (0, 2, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (0, 3, 0, 2, ROM, 0x8000, 0x20000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 1, 1, DISK_ROM2, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( cpc400s, msx2 ) - MCFG_MSX_LAYOUT(cpc400s) - MCFG_MSX_RAMIO_SET_BITS(0x80) // YM2149 (in S-1985 MSX Engine) // FDC: mb8877a, 1 3.5" DS?DD drive - MCFG_FRAGMENT_ADD( msx_mb8877a ) - MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // S-1985 MSX Engine + + MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000) + MCFG_MSX_LAYOUT_ROM("han", 0, 1, 1, 2, "maincpu", 0x28000) + 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", 0x20000) + 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) + + MCFG_MSX_S1985_ADD("s1985") + + MCFG_FRAGMENT_ADD( msx_mb8877a ) + MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Gradiente Expert 2.0 */ @@ -3438,25 +3331,25 @@ ROM_START (expert20) ROM_LOAD ("microsoldisk.rom", 0x24000, 0x4000, CRC(6704ef81) SHA1(a3028515ed829e900cc8deb403e17b09a38bf9b0)) ROM_END -MSX_LAYOUT_INIT (expert20) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (1, 1, 0, 1, ROM, 0x4000, 0x8000) /* EXT */ - MSX_LAYOUT_SLOT (1, 1, 1, 1, ROM, 0x4000, 0x20000) /* BASIC */ - MSX_LAYOUT_SLOT (1, 3, 1, 1, DISK_ROM, 0x4000, 0x24000) /* Microsol controller */ - MSX_LAYOUT_SLOT (2, 0, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( expert20, msx2_pal ) - MCFG_MSX_LAYOUT(expert20) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: microsol, 1? 3.5"? DS?DD drive + // 2 Cartridge slots? + + 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", 0x20000) /* BASIC */ + MCFG_MSX_LAYOUT_DISK1("disk", 1, 3, 1, 1, "maincpu", 0x24000) /* 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) + MCFG_FRAGMENT_ADD( msx_microsol ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Mitsubishi ML-G30 Model 1/Model 2 */ @@ -3466,26 +3359,28 @@ ROM_START (mlg30) ROM_LOAD ("g30bios.rom", 0x0000, 0x8000, CRC(a27c563d) SHA1(c1e46c00f1e38fc9e0ab487bf0513bd93ce61f3f)) ROM_LOAD ("g30ext.rom", 0x8000, 0x4000, CRC(4a48779c) SHA1(b8e30d604d319d511cbfbc61e5d8c38fbb9c5a33)) ROM_LOAD ("g30disk.rom", 0xc000, 0x4000, CRC(05661a3f) SHA1(e695fc0c917577a3183901a08ca9e5f9c60b8317)) - ROM_LOAD ("g30kfn.rom", 0x20000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967)) -ROM_END -MSX_LAYOUT_INIT (mlg30) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) /* Slot 2 subslot 0 */ - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 0, 1, 1, DISK_ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ -MSX_LAYOUT_END + ROM_REGION(0x20000, "kanji", 0) + ROM_LOAD ("g30kfn.rom", 0x0000, 0x20000, CRC(d23d4d2d) SHA1(db03211b7db46899df41db2b1dfbec972109a967)) +ROM_END static MACHINE_CONFIG_DERIVED( mlg30, msx2 ) - MCFG_MSX_LAYOUT(mlg30) // AY8910/YM2149? // FDC: wd2793/tc8566af?, 1 or 2? 3.5" DSDD drives + // 2 Cartridge slots? + + 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 */ + MCFG_FRAGMENT_ADD( msx_wd2793 ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - National FS-4500 */ @@ -3512,27 +3407,29 @@ ROM_START (fs4500) ROM_LOAD ("4500budi.rom", 0, 0x20000, CRC(f94590f8) SHA1(1ebb06062428fcdc66808a03761818db2bba3c73)) ROM_END -MSX_LAYOUT_INIT (fs4500) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (0, 2, 0, 1, ROM, 0x4000, 0x20000) - MSX_LAYOUT_SLOT (0, 3, 1, 2, ROM, 0x8000, 0x2c000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 3, ROM, 0xc000, 0x34000) - MSX_LAYOUT_SLOT (3, 0, 3, 1, ROM, 0x4000, 0x4c000) - MSX_LAYOUT_SLOT (3, 1, 0, 3, ROM, 0xc000, 0x40000) - MSX_LAYOUT_SLOT (3, 1, 3, 1, ROM, 0x4000, 0x50000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( fs4500, msx2 ) - MCFG_MSX_LAYOUT(fs4500) // YM2149 (in S-1985 MSX Engine) // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // S-1985 MSX Engine + // Matsushita switched device + + 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", 0x20000) + MCFG_MSX_LAYOUT_BUNSETSU("buns", 0, 2, 2, 2, "maincpu", 0x24000, "bunsetsu") + MCFG_MSX_LAYOUT_ROM("jush", 0, 3, 1, 2, "maincpu", 0x2c000) + MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0) + MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0) + MCFG_MSX_LAYOUT_ROM("wor1", 3, 0, 0, 3, "maincpu", 0x34000) + MCFG_MSX_LAYOUT_ROM("kdr1", 3, 0, 3, 1, "maincpu", 0x4c000) + MCFG_MSX_LAYOUT_ROM("wor2", 3, 1, 0, 3, "maincpu", 0x40000) + MCFG_MSX_LAYOUT_ROM("kdr2", 3, 1, 3, 1, "maincpu", 0x50000) + MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 0, 4) /* 64KB RAM */ + + MCFG_MSX_S1985_ADD("s1985") + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - National FS-4600 */ @@ -3557,29 +3454,32 @@ ROM_START (fs4600) ROM_LOAD ("4600kf12.rom", 0, 0x20000, CRC(340d1ef7) SHA1(a7a23dc01314e88381eee88b4878b39931ab4818)) ROM_END -MSX_LAYOUT_INIT (fs4600) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (0, 2, 0, 1, ROM, 0x4000, 0x20000) - MSX_LAYOUT_SLOT (0, 2, 1, 2, ROM, 0x8000, 0x28000) - MSX_LAYOUT_SLOT (0, 3, 0, 1, ROM, 0x4000, 0x24000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 1, 0, 4, ASCII16, 0x100000, 0x30000) /* National FS-4600 Mapper must be emulated */ - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, DISK_ROM2, 0x4000, 0xc000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( fs4600, msx2 ) - MCFG_MSX_LAYOUT(fs4600) - MCFG_MSX_RAMIO_SET_BITS(0x80) // YM2149 (in S-1985 MSX Engine) // FDC: mb8877a, 1 3.5" DSDD drive - MCFG_FRAGMENT_ADD( msx_mb8877a ) - MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // S-1985 MSX Engine + + 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", 0x20000) + MCFG_MSX_LAYOUT_ROM("kdr", 0, 2, 1, 2, "maincpu", 0x28000) + MCFG_MSX_LAYOUT_ROM("fon2", 0, 3, 0, 1, "maincpu", 0x24000) + MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0) + MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0) + //MCFG_MSX_LAYOUT_("firm", 3, 1, 0, 4, ASCII16, 0x100000, 0x30000) /* National FS-4600 Mapper must be emulated */ + MCFG_MSX_LAYOUT_FS4600("firm", 3, 1, 0, 4, "maincpu", 0x30000) + 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) + + MCFG_MSX_S1985_ADD("s1985") + + MCFG_FRAGMENT_ADD( msx_mb8877a ) + MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - National FS-4700 */ @@ -3607,30 +3507,34 @@ ROM_START (fs4700) ROM_LOAD ("4700budi.rom", 0, 0x20000, CRC(f94590f8) SHA1(1ebb06062428fcdc66808a03761818db2bba3c73)) ROM_END -MSX_LAYOUT_INIT (fs4700) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (0, 2, 0, 1, ROM, 0x4000, 0x20000) - MSX_LAYOUT_SLOT (0, 3, 1, 2, ROM, 0x8000, 0x2c000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 3, ROM, 0xc000, 0x34000) - MSX_LAYOUT_SLOT (3, 0, 3, 1, ROM, 0x4000, 0x4c000) - MSX_LAYOUT_SLOT (3, 1, 0, 3, ROM, 0xc000, 0x40000) - MSX_LAYOUT_SLOT (3, 1, 3, 1, ROM, 0x4000, 0x50000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, DISK_ROM2, 0x4000, 0xc000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( fs4700, msx2 ) - MCFG_MSX_LAYOUT(fs4700) // YM2149 (in S-1985 MSX Engine) // FDC: mb8877a, 1 3.5" DSDD drive - MCFG_FRAGMENT_ADD( msx_mb8877a ) - MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // S-1985 MSX Engine + // Matsushita switched device + + 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", 0x20000) + MCFG_MSX_LAYOUT_BUNSETSU("buns", 0, 2, 1, 2, "maincpu", 0x24000, "bunsetsu") + MCFG_MSX_LAYOUT_ROM("jush", 0, 3, 1, 2, "maincpu", 0x2c000) + MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0) + MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0) + MCFG_MSX_LAYOUT_ROM("wor1", 3, 0, 0, 3, "maincpu", 0x34000) + MCFG_MSX_LAYOUT_ROM("kdr1", 3, 0, 3, 1, "maincpu", 0x4c000) + MCFG_MSX_LAYOUT_ROM("wor2", 3, 1, 0, 3, "maincpu", 0x40000) + MCFG_MSX_LAYOUT_ROM("kdr2", 3, 1, 3, 1, "maincpu", 0x50000) + MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 0, 4) /* 64KB RAM */ + MCFG_MSX_LAYOUT_DISK2("disk", 3, 3, 1, 1, "maincpu", 0xc000) + + MCFG_MSX_S1985_ADD("s1985") + + MCFG_FRAGMENT_ADD( msx_mb8877a ) + MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - National FS-5000 */ @@ -3649,30 +3553,32 @@ ROM_START (fs5000) ROM_LOAD ("5000kfn.rom", 0, 0x20000, CRC(c61ddc5d) SHA1(5e872d5853698731a0ed22fb72dbcdfd59cd19c3)) ROM_END -MSX_LAYOUT_INIT (fs5000) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 1, 0, 4, ROM, 0x10000, 0x10000) - MSX_LAYOUT_SLOT (0, 2, 0, 4, ROM, 0x10000, 0x10000) - MSX_LAYOUT_SLOT (0, 3, 0, 4, ROM, 0x10000, 0x10000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 0, 1, 2, ROM, 0x8000, 0x28000) - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x20000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, DISK_ROM2, 0x4000, 0xc000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( fs5000, msx2 ) - MCFG_MSX_LAYOUT(fs5000) - MCFG_MSX_RAMIO_SET_BITS(0x80) // YM2149 (in S-1985 MSX Engine) // FDC: wd2793, 2 3.5" DSDD drives - MCFG_FRAGMENT_ADD( msx_wd2793 ) - MCFG_FRAGMENT_ADD( msx_2_35_dd_drive ) // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // S-1985 MSX Engine + + MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000) + MCFG_MSX_LAYOUT_ROM("empty1", 0, 1, 0, 4, "maincpu", 0x10000) + MCFG_MSX_LAYOUT_ROM("empty2", 0, 2, 0, 4, "maincpu", 0x10000) + MCFG_MSX_LAYOUT_ROM("empty3", 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_ROM("kdr", 3, 0, 1, 2, "maincpu", 0x28000) + MCFG_MSX_LAYOUT_ROM("rtcrom", 3, 1, 1, 2, "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) + + MCFG_MSX_S1985_ADD("s1985") + + MCFG_FRAGMENT_ADD( msx_wd2793 ) + MCFG_FRAGMENT_ADD( msx_2_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - National FS-5500F1/F2*/ @@ -3693,29 +3599,32 @@ ROM_START (fs5500) ROM_LOAD ("5500kfn.rom", 0, 0x20000, CRC(956dc96d) SHA1(9ed3ab6d893632b9246e91b412cd5db519e7586b)) ROM_END -MSX_LAYOUT_INIT (fs5500) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 1, 0, 4, ROM, 0x10000, 0x10000) - MSX_LAYOUT_SLOT (0, 2, 0, 4, ROM, 0x10000, 0x10000) - MSX_LAYOUT_SLOT (0, 3, 0, 4, ROM, 0x10000, 0x10000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 0, 1, 2, ROM, 0x8000, 0x28000) - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x20000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, DISK_ROM2, 0x4000, 0xc000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( fs5500, msx2 ) - MCFG_MSX_LAYOUT(fs5500) // YM2149 in (S-1985 MSX Engine) // FDC: mb8877a, 1 3.5" DSDD drive - MCFG_FRAGMENT_ADD( msx_mb8877a ) - MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // S-1985 MSX Engine + // Matsushita switched device + + MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000) + MCFG_MSX_LAYOUT_ROM("empty1", 0, 1, 0, 4, "maincpu", 0x10000) + MCFG_MSX_LAYOUT_ROM("empty2", 0, 2, 0, 4, "maincpu", 0x10000) + MCFG_MSX_LAYOUT_ROM("empty3", 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_ROM("kdr", 3, 0, 1, 2, "maincpu", 0x28000) + MCFG_MSX_LAYOUT_ROM("imp", 3, 1, 1, 2, "maincpu", 0x20000) + MCFG_MSX_LAYOUT_RAM("ram", 3, 2, 0, 4) /* 64KB RAM */ + MCFG_MSX_LAYOUT_DISK2("disk", 3, 3, 1, 1, "maincpu", 0xc000) + + MCFG_MSX_S1985_ADD("s1985") + + MCFG_FRAGMENT_ADD( msx_mb8877a ) + MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Panasonic FS-A1 */ @@ -3730,22 +3639,20 @@ ROM_START (fsa1) ROM_LOAD ("a1desk2.rom", 0x28000, 0x8000, CRC(7f6f4aa1) SHA1(7f5b76605e3d898cc4b5aacf1d7682b82fe84353)) ROM_END -MSX_LAYOUT_INIT (fsa1) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64 KB RAM */ - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 2, 1, 2, ROM, 0x8000, 0x20000) - MSX_LAYOUT_SLOT (3, 3, 1, 2, ROM, 0x8000, 0x28000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( fsa1, msx2 ) - MCFG_MSX_LAYOUT(fsa1) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + + 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", 0x20000) + MCFG_MSX_LAYOUT_ROM("desk2", 3, 3, 1, 2, "maincpu", 0x28000) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Panasonic FS-A1 (a) */ @@ -3760,22 +3667,20 @@ ROM_START (fsa1a) ROM_LOAD ("a1desk2.rom", 0x28000, 0x8000, CRC(7f6f4aa1) SHA1(7f5b76605e3d898cc4b5aacf1d7682b82fe84353)) ROM_END -MSX_LAYOUT_INIT (fsa1a) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 2, 1, 2, ROM, 0x8000, 0x20000) - MSX_LAYOUT_SLOT (3, 3, 1, 2, ROM, 0x8000, 0x28000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( fsa1a, msx2 ) - MCFG_MSX_LAYOUT(fsa1a) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + + 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", 0x20000) + MCFG_MSX_LAYOUT_ROM("desk2", 3, 3, 1, 2, "maincpu", 0x28000) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Panasonic FS-A1F */ @@ -3794,26 +3699,26 @@ ROM_START (fsa1f) ROM_LOAD ("a1fkfn.rom", 0, 0x20000, CRC(c61ddc5d) SHA1(5e872d5853698731a0ed22fb72dbcdfd59cd19c3)) ROM_END -MSX_LAYOUT_INIT (fsa1f) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x20000) -/* MSX_LAYOUT_SLOT (3, 2, 1, 1, DISK_ROM, 0x4000, 0xc000) */ /* FDC Emulation of TC8566AF must be emulated */ - MSX_LAYOUT_SLOT (3, 3, 1, 2, ROM, 0x8000, 0x28000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( fsa1f, msx2 ) - MCFG_MSX_LAYOUT(fsa1f) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: tc8566af, 1 3.5" DSDD drive + // 2 Cartridge slots + + 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", 0x20000) +/* MCFG_MSX_LAYOUT_DISK1("disk", 3, 2, 1, 1, "maincpu", 0xc000) */ /* FDC Emulation of TC8566AF must be emulated */ + MCFG_MSX_LAYOUT_ROM("fcock", 3, 3, 1, 2, "maincpu", 0x28000) + MCFG_FRAGMENT_ADD( msx_tc8566af ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Panasonic FS-A1FM */ @@ -3835,27 +3740,27 @@ ROM_START (fsa1fm) ROM_LOAD ("a1fmkf12.rom", 0, 0x20000, CRC(340d1ef7) SHA1(a7a23dc01314e88381eee88b4878b39931ab4818)) ROM_END -MSX_LAYOUT_INIT (fsa1fm) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) +static MACHINE_CONFIG_DERIVED( fsa1fm, msx2 ) + // AY8910/YM2149? + // FDC: tc8566af, 1 3.5" DSDD drive + // 2 Cartridge slots + // Integrated 1200baud modem + + 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, 0x20000) */ /* Modem Mapper of FS-CM1/A1FM must be emulated */ /* MSX_LAYOUT_SLOT (3, 2, 1, 1, DISK_ROM, 0x4000, 0xc000) */ /* FDC Emulation of TC8566AF must be emulated */ /* MSX_LAYOUT_SLOT (3, 3, 0, 4, FSA1FM_ROM, 0x100000, 0x20000) */ /* Panasonic FS-A1FM Mapper must be emulated */ -MSX_LAYOUT_END -static MACHINE_CONFIG_DERIVED( fsa1fm, msx2 ) - MCFG_MSX_LAYOUT(fsa1fm) - MCFG_MSX_RAMIO_SET_BITS(0x80) - // AY8910/YM2149? - // FDC: tc8566af, 1 3.5" DSDD drive MCFG_FRAGMENT_ADD( msx_tc8566af ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) - // Integrated 1200baud modem + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Panasonic FS-A1MK2 */ @@ -3871,24 +3776,22 @@ ROM_START (fsa1mk2) ROM_LOAD ("a1mkcoc3.rom", 0x2c000, 0x8000, CRC(c1945676) SHA1(a3f4e2e4934074925d775afe30ac72f150ede543)) ROM_END -MSX_LAYOUT_INIT (fsa1mk2) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64 KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x20000) - MSX_LAYOUT_SLOT (3, 2, 1, 1, ROM, 0x4000, 0x28000) - MSX_LAYOUT_SLOT (3, 3, 1, 2, ROM, 0x8000, 0x2c000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( fsa1mk2, msx2 ) - MCFG_MSX_LAYOUT(fsa1mk2) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + + 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", 0x20000) + MCFG_MSX_LAYOUT_ROM("coc2", 3, 2, 1, 1, "maincpu", 0x28000) + MCFG_MSX_LAYOUT_ROM("coc3", 3, 3, 1, 2, "maincpu", 0x2c000) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Philips NMS-8220 - 2 possible sets (/00 /16) */ @@ -3902,23 +3805,21 @@ ROM_START (nms8220) ROM_FILL (0x10000, 0x10000, 0) ROM_END -MSX_LAYOUT_INIT (nms8220) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, ROM, 0x4000, 0xc000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( nms8220, msx2_pal ) - MCFG_MSX_LAYOUT(nms8220) - MCFG_MSX_RAMIO_SET_BITS(0xf8) // YM2149 (in S-3527 MSX Engine) // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // S-3527 MSX Engine + + 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) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Philips NMS-8220 (a) */ @@ -3932,23 +3833,21 @@ ROM_START (nms8220a) ROM_FILL (0x10000, 0x10000, 0) ROM_END -MSX_LAYOUT_INIT (nms8220a) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, ROM, 0x4000, 0xc000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( nms8220a, msx2_pal ) - MCFG_MSX_LAYOUT(nms8220a) - MCFG_MSX_RAMIO_SET_BITS(0xf8) // YM2149 (in S-3527 MSX Engine) // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // S-3527 MSX Engine + + 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) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Philips NMS-8245 - 2 possible sets (/00 /16) */ @@ -3963,25 +3862,25 @@ ROM_START (nms8245) ROM_LOAD ("nms8245.u7", 0x20000, 0x20000, BAD_DUMP CRC(0c827d5f) SHA1(064e706cb1f12b99b329944ceeedc0efc3b2d9be)) ROM_END -MSX_LAYOUT_INIT (nms8245) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x20000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x28000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, DISK_ROM, 0x4000, 0x2c000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( nms8245, msx2_pal ) - MCFG_MSX_LAYOUT(nms8245) - MCFG_MSX_RAMIO_SET_BITS(0xf8) // YM2149 (in S-3527 MSX Engine) // FDC: wd2793, 1 3.5" DSDD drive - MCFG_FRAGMENT_ADD( msx_wd2793 ) - MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // S-3527 MSX Engine + + MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "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", 0x28000) + 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", 0x2c000) + + MCFG_FRAGMENT_ADD( msx_wd2793 ) + MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Philips NMS-8245F */ @@ -3994,25 +3893,25 @@ ROM_START (nms8245f) ROM_LOAD ("nms8245.u7", 0x20000, 0x20000, BAD_DUMP CRC(0c827d5f) SHA1(064e706cb1f12b99b329944ceeedc0efc3b2d9be)) ROM_END -MSX_LAYOUT_INIT (nms8245f) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x30000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x38000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, DISK_ROM, 0x4000, 0x3c000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( nms8245f, msx2_pal ) - MCFG_MSX_LAYOUT(nms8245f) - MCFG_MSX_RAMIO_SET_BITS(0xf8) // YM2149 (in S-3527 MSX Engine) // FDC: wd2793, 1 3.5" DSDD drive - MCFG_FRAGMENT_ADD( msx_wd2793 ) - MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // S-3527 MSX Engine + + MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x30000) + MCFG_MSX_LAYOUT_CARTRIDGE("cartslot1", 1, 0) + MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 2, 0) + MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x38000) + 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", 0x3c000) + + MCFG_FRAGMENT_ADD( msx_wd2793 ) + MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Philips NMS-8250 */ @@ -4027,25 +3926,25 @@ ROM_START (nms8250) ROM_FILL (0x10000, 0x10000, 0) ROM_END -MSX_LAYOUT_INIT (nms8250) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, DISK_ROM, 0x4000, 0xc000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( nms8250, msx2_pal ) - MCFG_MSX_LAYOUT(nms8250) - MCFG_MSX_RAMIO_SET_BITS(0xf8) // YM2149 (in S-3527 MSX Engine) // FDC: wd2793, 1 3.5" DSDD drive - MCFG_FRAGMENT_ADD( msx_wd2793 ) - MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // S-3527 MSX Engine + + 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) + + MCFG_FRAGMENT_ADD( msx_wd2793 ) + MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Philips NMS-8250J */ @@ -4058,23 +3957,23 @@ ROM_START (nms8250j) ROM_LOAD ("8250jkfn.rom", 0x20000, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799)) ROM_END -MSX_LAYOUT_INIT (nms8250j) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, DISK_ROM, 0x4000, 0xc000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( nms8250j, msx2 ) - MCFG_MSX_LAYOUT(nms8250j) // AY8910/YM2149? // FDC: wd2793?, 1 3.5" DSDD drive + // 2 Cartridge slots? + + 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) + MCFG_FRAGMENT_ADD( msx_wd2793 ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Philips NMS-8255 */ @@ -4088,25 +3987,25 @@ ROM_START (nms8255) ROM_FILL (0x10000, 0x10000, 0) ROM_END -MSX_LAYOUT_INIT (nms8255) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, DISK_ROM, 0x4000, 0xc000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( nms8255, msx2_pal ) - MCFG_MSX_LAYOUT(nms8255) - MCFG_MSX_RAMIO_SET_BITS(0xf8) // YM2149 (in S-3527 MSX Engine) // FDC: wd2793, 2 3.5" DSDD drives - MCFG_FRAGMENT_ADD( msx_wd2793 ) - MCFG_FRAGMENT_ADD( msx_2_35_dd_drive ) // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // S-3527 MSX Engine + + 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) + + MCFG_FRAGMENT_ADD( msx_wd2793 ) + MCFG_FRAGMENT_ADD( msx_2_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Philips NMS-8280 - 2 possible sets (/00 /16) */ @@ -4120,24 +4019,24 @@ ROM_START (nms8280) ROM_FILL (0x10000, 0x10000, 0) ROM_END -MSX_LAYOUT_INIT (nms8280) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, DISK_ROM, 0x4000, 0xc000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( nms8280, msx2_pal ) - MCFG_MSX_LAYOUT(nms8280) - MCFG_MSX_RAMIO_SET_BITS(0xf8) // AY8910/YM2149? // FDC: wd2793, 2 3.5" DSDD drives + // 2 Cartridge slots + + 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) + MCFG_FRAGMENT_ADD( msx_wd2793 ) MCFG_FRAGMENT_ADD( msx_2_35_dd_drive ) - // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Philips NMS-8280G */ @@ -4151,24 +4050,24 @@ ROM_START (nms8280g) ROM_FILL (0x10000, 0x10000, 0) ROM_END -MSX_LAYOUT_INIT (nms8280g) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, DISK_ROM, 0x4000, 0xc000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( nms8280g, msx2_pal ) - MCFG_MSX_LAYOUT(nms8280g) - MCFG_MSX_RAMIO_SET_BITS(0xf8) // AY8910/YM2149? // FDC: wd2793, 2 3.5" DSDD drives + // 2 Cartridge slots + + 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) + MCFG_FRAGMENT_ADD( msx_wd2793 ) MCFG_FRAGMENT_ADD( msx_2_35_dd_drive ) - // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Philips VG-8230 (u11 - exp, u12 - basic, u13 - disk */ @@ -4182,25 +4081,25 @@ ROM_START (vg8230) ROM_FILL (0x10000, 0x10000, 0) ROM_END -MSX_LAYOUT_INIT (vg8230) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, DISK_ROM, 0x4000, 0xc000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( vg8230, msx2_pal ) - MCFG_MSX_LAYOUT(vg8230) - MCFG_MSX_RAMIO_SET_BITS(0xf8) // YM2149 (in S-3527 MSX Engine) // FDC: wd2793, 1 3.5" SSDD drive - MCFG_FRAGMENT_ADD( msx_wd2793 ) - MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive ) // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // S-3527 MSX Engine + + 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) + + MCFG_FRAGMENT_ADD( msx_wd2793 ) + MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Philips VG-8230J */ @@ -4215,23 +4114,23 @@ ROM_START (vg8230j) ROM_LOAD ("8230jkfn.rom", 0x20000, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799)) ROM_END -MSX_LAYOUT_INIT (vg8230j) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, DISK_ROM, 0x4000, 0xc000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( vg8230j, msx2 ) - MCFG_MSX_LAYOUT(vg8230j) // AY8910/YM2149? // FDC: wd2793?, 1 3.5" SSDD drive? + // 2 Cartridge slots? + + 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) + MCFG_FRAGMENT_ADD( msx_wd2793 ) MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive ) - // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Philips VG-8235 3 psosible basic and ext roms (/00 /02 /19) */ @@ -4245,25 +4144,25 @@ ROM_START (vg8235) ROM_FILL (0x10000, 0x10000, 0) ROM_END -MSX_LAYOUT_INIT (vg8235) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, DISK_ROM, 0x4000, 0xc000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( vg8235, msx2_pal ) - MCFG_MSX_LAYOUT(vg8235) - MCFG_MSX_RAMIO_SET_BITS(0xf8) // YM2149 (in S-3527 MSX Engine) // FDC: wd2793, 1 3.5" SSDD drive - MCFG_FRAGMENT_ADD( msx_wd2793 ) - MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive ) // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // S-3527 MSX Engine + + 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) + + MCFG_FRAGMENT_ADD( msx_wd2793 ) + MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Philips VG-8235F */ @@ -4277,25 +4176,25 @@ ROM_START (vg8235f) ROM_FILL (0x10000, 0x10000, 0) ROM_END -MSX_LAYOUT_INIT (vg8235f) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, DISK_ROM, 0x4000, 0xc000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( vg8235f, msx2_pal ) - MCFG_MSX_LAYOUT(vg8235f) - MCFG_MSX_RAMIO_SET_BITS(0xf8) // YM2149 (in S-3527 MSX Engine) // FDC: wd2793, 1 3.5" SSDD drive - MCFG_FRAGMENT_ADD( msx_wd2793 ) - MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive ) // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // S-3527 MSX Engine + + 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) + + MCFG_FRAGMENT_ADD( msx_wd2793 ) + MCFG_FRAGMENT_ADD( msx_1_35_ssdd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Philips VG-8240 */ @@ -4309,24 +4208,24 @@ ROM_START (vg8240) ROM_FILL (0x10000, 0x10000, 0) ROM_END -MSX_LAYOUT_INIT (vg8240) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, DISK_ROM, 0x4000, 0xc000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( vg8240, msx2_pal ) - MCFG_MSX_LAYOUT(vg8240) - MCFG_MSX_RAMIO_SET_BITS(0xf8) // AY8910/YM2149? // FDC: wd2793, 1 3.5" DSDD drive + // 2 Cartridge slots? + + 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) + MCFG_FRAGMENT_ADD( msx_wd2793 ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Sanyo MPC-2300 */ @@ -4339,20 +4238,18 @@ ROM_START (mpc2300) ROM_FILL (0xc000, 0x14000, 0) ROM_END -MSX_LAYOUT_INIT (mpc2300) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB?? Mapper RAM */ - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( mpc2300, msx2 ) - MCFG_MSX_LAYOUT(mpc2300) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + + 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_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Sanyo Wavy MPC-25FD */ @@ -4364,23 +4261,23 @@ ROM_START (mpc25fd) ROM_LOAD ("25fddisk.rom", 0xc000, 0x4000, CRC(38454059) SHA1(58ac78bba29a06645ca8d6a94ef2ac68b743ad32)) ROM_END -MSX_LAYOUT_INIT (mpc25fd) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 3, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 1, 1, 1, DISK_ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x10000, 0x0000) /* 128KB?? RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( mpc25fd, msx2 ) - MCFG_MSX_LAYOUT(mpc25fd) // YM2149 (in S-3527 MSX Engine) // FDC: wd2793, 1 drive - MCFG_FRAGMENT_ADD( msx_wd2793 ) - MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) // 1 Cartridge slot (slot 1) - MCFG_FRAGMENT_ADD( msx2_1_cartslot ) // S-3527 MSX Engine + + 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 */ + + MCFG_FRAGMENT_ADD( msx_wd2793 ) + MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Sanyo Wavy PHC-23 = PHC-23J(B)*/ @@ -4393,21 +4290,21 @@ ROM_START (phc23) ROM_FILL (0xc000, 0x14000, 0) ROM_END -MSX_LAYOUT_INIT (phc23) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( phc23, msx2 ) - MCFG_MSX_LAYOUT(phc23) // YM2149 (in S-1985 MSX Engine) // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // S-1985 MSX Engine + + 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 */ + + MCFG_MSX_S1985_ADD("s1985") + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Sharp Epcom HotBit 2.0 */ @@ -4422,25 +4319,25 @@ ROM_START (hotbit20) ROM_LOAD ("microsoldisk.rom", 0x24000, 0x4000, CRC(6704ef81) SHA1(a3028515ed829e900cc8deb403e17b09a38bf9b0)) ROM_END -MSX_LAYOUT_INIT (hotbit20) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (1, 1, 0, 1, ROM, 0x4000, 0x8000) /* EXT */ - MSX_LAYOUT_SLOT (1, 1, 1, 1, ROM, 0x4000, 0x20000) /* BASIC */ - MSX_LAYOUT_SLOT (1, 3, 1, 1, DISK_ROM, 0x4000, 0x24000) /* Microsol controller */ - MSX_LAYOUT_SLOT (2, 0, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hotbit20, msx2_pal ) - MCFG_MSX_LAYOUT(hotbit20) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: microsol, 1 or 2 drives? + // 2 Cartridge slots? + + 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", 0x20000) /* BASIC */ + MCFG_MSX_LAYOUT_DISK1("disk", 1, 3, 1, 1, "maincpu", 0x24000) /* 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) + MCFG_FRAGMENT_ADD( msx_microsol ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Sony HB-F1 */ @@ -4456,23 +4353,21 @@ ROM_START (hbf1) ROM_LOAD ("f1note3.rom", 0x2c000, 0x8000, CRC(73eb9329) SHA1(58accf41a90693874b86ce98d8d43c27beb8b6dc)) ROM_END -MSX_LAYOUT_INIT (hbf1) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 0, 1, 1, ROM, 0x4000, 0x20000) - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x24000) - MSX_LAYOUT_SLOT (3, 2, 1, 2, ROM, 0x8000, 0x2c000) - MSX_LAYOUT_SLOT (3, 3, 0, 4, RAM, 0x10000, 0x0000) /* 64KB RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hbf1, msx2 ) - MCFG_MSX_LAYOUT(hbf1) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + + 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", 0x20000) + MCFG_MSX_LAYOUT_ROM("note2", 3, 1, 1, 2, "maincpu", 0x24000) + MCFG_MSX_LAYOUT_ROM("note3", 3, 2, 1, 2, "maincpu", 0x2c000) + MCFG_MSX_LAYOUT_RAM("ram", 3, 3, 0, 4) /* 64KB RAM */ + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Sony HB-F1II */ @@ -4488,24 +4383,22 @@ ROM_START (hbf12) ROM_LOAD ("f12note3.rom", 0x2c000, 0x8000, CRC(44a10e6a) SHA1(917d1c079e03c4a44de864f123d03c4e32c8daae)) ROM_END -MSX_LAYOUT_INIT (hbf12) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 0, 1, 1, ROM, 0x4000, 0x20000) - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x24000) - MSX_LAYOUT_SLOT (3, 2, 1, 2, ROM, 0x8000, 0x2c000) - MSX_LAYOUT_SLOT (3, 3, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hbf12, msx2 ) - MCFG_MSX_LAYOUT(hbf12) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + + 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", 0x20000) + MCFG_MSX_LAYOUT_ROM("note2", 3, 1, 1, 2, "maincpu", 0x24000) + MCFG_MSX_LAYOUT_ROM("note3", 3, 2, 1, 2, "maincpu", 0x2c000) + MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 3, 0x10000) /* 64KB Mapper RAM */ + MCFG_MSX_RAMIO_SET_BITS(0x80) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Sony HB-F1XD */ @@ -4519,25 +4412,27 @@ ROM_START (hbf1xd) ROM_FILL (0x10000, 0x10000, 0) ROM_END -MSX_LAYOUT_INIT (hbf1xd) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 0, 1, 1, DISK_ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (3, 3, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hbf1xd, msx2 ) - MCFG_MSX_LAYOUT(hbf1xd) - MCFG_MSX_RAMIO_SET_BITS(0x80) // YM2149 (in S-1895 MSX Engine) // FDC: wd2793, 1 3.5" DSDD drive - MCFG_FRAGMENT_ADD( msx_wd2793 ) - MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // S-1985 MSX Engine + + 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) + + MCFG_MSX_S1985_ADD("s1985") + + MCFG_FRAGMENT_ADD( msx_wd2793 ) + MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Sony HB-F1XDMK2 */ @@ -4551,24 +4446,24 @@ ROM_START (hbf1xdm2) ROM_FILL (0x10000, 0x10000, 0) ROM_END -MSX_LAYOUT_INIT (hbf1xdm2) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 0, 1, 1, DISK_ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (3, 3, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hbf1xdm2, msx2 ) - MCFG_MSX_LAYOUT(hbf1xdm2) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: wd2793, 1 3.5" DSDD drive + // 2 Cartridge slots? + + 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) + MCFG_FRAGMENT_ADD( msx_wd2793 ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Sony HB-F5 */ @@ -4580,21 +4475,19 @@ ROM_START (hbf5) ROM_LOAD ("hbf5note.rom", 0xc000, 0x4000, CRC(0cdc0777) SHA1(06ba91d6732ee8a2ecd5dcc38b0ce42403d86708)) ROM_END -MSX_LAYOUT_INIT (hbf5) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (0, 1, 2, 1, ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (0, 2, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB?? Mapper RAM */ - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hbf5, msx2_pal ) - MCFG_MSX_LAYOUT(hbf5) // YM2149 // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + + 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, 2, 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) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Sony HB-F500 */ @@ -4611,24 +4504,24 @@ ROM_START (hbf500) ROM_LOAD ("f500kfn.rom", 0, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799)) ROM_END -MSX_LAYOUT_INIT (hbf500) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 0, 2, 2, RAM, 0x8000, 0x0000) /* 32KB RAM */ - MSX_LAYOUT_SLOT (0, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (0, 1, 1, 1, DISK_ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (0, 2, 0, 2, RAM, 0x8000, 0x0000) /* 32KB RAM */ - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hbf500, msx2 ) - MCFG_MSX_LAYOUT(hbf500) // AY8910/YM2149? // FDC: wd2793, 1 3.5" DSDD drive + // 2 Cartridge slots? + + 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_FRAGMENT_ADD( msx_wd2793 ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Sony HB-F500P */ @@ -4641,25 +4534,25 @@ ROM_START (hbf500p) ROM_FILL (0x10000, 0x10000, 0) ROM_END -MSX_LAYOUT_INIT (hbf500p) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 0, 2, 2, RAM, 0x8000, 0x0000) /* 32KB RAM */ - MSX_LAYOUT_SLOT (0, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (0, 1, 1, 1, DISK_ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (0, 2, 0, 2, RAM, 0x8000, 0x0000) /* 32KB RAM */ - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, ROM, 0x10000, 0x10000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hbf500p, msx2_pal ) - MCFG_MSX_LAYOUT(hbf500p) // AY8910/YM2149? // FDC: wd2793, 1 3.5" DSDD drive + // 3 Cartridge slots or 2 Cartridge slots and 1 expansion slot ? + MCFG_FRAGMENT_ADD( msx_wd2793 ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 3 Cartridge slots or 2 Cartridge slots and 1 expansion slot ? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + 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", 0x10000) // Empty? or is this the 3rd cartridge/expansion slot ? 0x10000 used to be the "special" loading spot for the fmpac rom + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Sony HB-F700D */ @@ -4672,25 +4565,27 @@ ROM_START (hbf700d) ROM_FILL (0x10000, 0x10000, 0) ROM_END -MSX_LAYOUT_INIT (hbf700d) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 0, 1, 1, DISK_ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (3, 3, 0, 4, RAM_MM, 0x40000, 0x0000) /* 256KB Mapper RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hbf700d, msx2_pal ) - MCFG_MSX_LAYOUT(hbf700d) - MCFG_MSX_RAMIO_SET_BITS(0x80) // YM2149 (in S-1985 MSX Engine) // FDC: wd2793, 1 3.5" DSDD drive - MCFG_FRAGMENT_ADD( msx_wd2793 ) - MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // S-1985 MSX Engine + + 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) + + MCFG_MSX_S1985_ADD("s1985") + + MCFG_FRAGMENT_ADD( msx_wd2793 ) + MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Sony HB-F700F */ @@ -4703,24 +4598,24 @@ ROM_START (hbf700f) ROM_FILL (0x10000, 0x10000, 0) ROM_END -MSX_LAYOUT_INIT (hbf700f) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 0, 1, 1, DISK_ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (3, 3, 0, 4, RAM_MM, 0x40000, 0x0000) /* 256KB Mapper RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hbf700f, msx2_pal ) - MCFG_MSX_LAYOUT(hbf700f) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: wd2793, 1 3.5" DSDD drive + // 2 Cartridge slots + + 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) + MCFG_FRAGMENT_ADD( msx_wd2793 ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Sony HB-F700P */ @@ -4733,25 +4628,27 @@ ROM_START (hbf700p) ROM_FILL (0x10000, 0x10000, 0) ROM_END -MSX_LAYOUT_INIT (hbf700p) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 0, 1, 1, DISK_ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (3, 3, 0, 4, RAM_MM, 0x40000, 0x0000) /* 256KB Mapper RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hbf700p, msx2_pal ) - MCFG_MSX_LAYOUT(hbf700p) - MCFG_MSX_RAMIO_SET_BITS(0x80) // YM2149 (in S-1985 MSX Engine) // FDC: wd2793, 1 3.5" DSDD drive - MCFG_FRAGMENT_ADD( msx_wd2793 ) - MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // S-1985 MSX Engine + + 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) + + MCFG_MSX_S1985_ADD("s1985") + + MCFG_FRAGMENT_ADD( msx_wd2793 ) + MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Sony HB-F700S */ @@ -4764,24 +4661,24 @@ ROM_START (hbf700s) ROM_FILL (0x10000, 0x10000, 0) ROM_END -MSX_LAYOUT_INIT (hbf700s) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 0, 1, 1, DISK_ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (3, 3, 0, 4, RAM_MM, 0x40000, 0x0000) /* 256KB Mapper RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hbf700s, msx2_pal ) - MCFG_MSX_LAYOUT(hbf700s) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: wd2793, 1 3.5" DSDD drive + // 2 Cartridge slots + + 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) + MCFG_FRAGMENT_ADD( msx_wd2793 ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Sony HB-F900 */ @@ -4798,25 +4695,25 @@ ROM_START (hbf900) ROM_LOAD ("f900kfn.rom", 0, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799)) ROM_END -MSX_LAYOUT_INIT (hbf900) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 0, 1, 1, DISK_ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (3, 1, 0, 4, RAM_MM, 0x40000, 0x0000) /* 256KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, ROM, 0x4000, 0x10000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hbf900, msx2 ) - MCFG_MSX_LAYOUT(hbf900) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: wd2793, 2 3.5" DSDD drives + // 2 Cartridge slots + + 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", 0x10000) // Empty/unknown, optional fmpac rom used to be loaded here, or should the util rom be loaded? + MCFG_FRAGMENT_ADD( msx_wd2793 ) MCFG_FRAGMENT_ADD( msx_2_35_dd_drive ) - // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Sony HB-F900 (a) */ @@ -4833,25 +4730,25 @@ ROM_START (hbf900a) ROM_LOAD ("f900kfn.rom", 0, 0x20000, CRC(5a59926e) SHA1(6acaf2eeb57f65f7408235d5e07b7563229de799)) ROM_END -MSX_LAYOUT_INIT (hbf900a) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 0, 1, 1, DISK_ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (3, 1, 0, 4, RAM_MM, 0x40000, 0x0000) /* 256KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, ROM, 0x4000, 0x10000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hbf900a, msx2 ) - MCFG_MSX_LAYOUT(hbf900a) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: wd2793, 2 3.5" DSDD drives + // 2 Cartridge slots + + 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", 0x10000) // Empty/unknown, optional fmpac rom used to be loaded here, or should the util rom be loaded? + MCFG_FRAGMENT_ADD( msx_wd2793 ) MCFG_FRAGMENT_ADD( msx_2_35_dd_drive ) - // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Sony HB-F9P */ @@ -4865,24 +4762,23 @@ ROM_START (hbf9p) ROM_LOAD ("f9pfirm2.rom.ic13", 0x20000, 0x8000, CRC(ea97069f) SHA1(2d1880d1f5a6944fcb1b198b997a3d90ecd1903d)) ROM_END -MSX_LAYOUT_INIT (hbf9p) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 0, 1, 1, ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x20000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hbf9p, msx2_pal ) - MCFG_MSX_LAYOUT(hbf9p) - MCFG_MSX_RAMIO_SET_BITS(0x80) // YM2149 (in S-1985 MSX Engine) // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // S-1985 MSX Engine + + 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", 0x20000) + MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */ + MCFG_MSX_RAMIO_SET_BITS(0x80) + + MCFG_MSX_S1985_ADD("s1985") + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Sony HB-F9P Russian */ @@ -4893,21 +4789,21 @@ ROM_START (hbf9pr) ROM_LOAD ("f9prext.rom", 0x8000, 0x4000, CRC(8b966f50) SHA1(65253cb38ab11084f355a2d4ad78fa6c64cbe660)) ROM_END -MSX_LAYOUT_INIT (hbf9pr) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hbf9pr, msx2_pal ) - MCFG_MSX_LAYOUT(hbf9pr) // YM2149 (in S-1985 MSX Engine) // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // S-1985 MSX Engine + + 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_S1985_ADD("s1985") + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Sony HB-F9S */ @@ -4921,24 +4817,23 @@ ROM_START (hbf9s) ROM_LOAD ("f9sfirm2.ic13", 0x20000, 0x8000, CRC(ea97069f) SHA1(2d1880d1f5a6944fcb1b198b997a3d90ecd1903d)) ROM_END -MSX_LAYOUT_INIT (hbf9s) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 0, 1, 1, ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x20000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hbf9s, msx2_pal ) - MCFG_MSX_LAYOUT(hbf9s) - MCFG_MSX_RAMIO_SET_BITS(0x80) // YM2149 (in S-1985 MSX Engine) // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) - // S-1985 MSX Engine + // S-1985 MSX Engine + + 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", 0x20000) + MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x20000) /* 128KB Mapper RAM */ + MCFG_MSX_RAMIO_SET_BITS(0x80) + + MCFG_MSX_S1985_ADD("s1985") + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Sony HB-G900AP */ @@ -4960,26 +4855,26 @@ ROM_START (hbg900ap) ROM_LOAD ("g900util.rom", 0x24000, 0x4000, CRC(d0417c20) SHA1(8779b004e7605a3c419825f0373a5d8fa84e1d5b)) ROM_END -MSX_LAYOUT_INIT (hbg900ap) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (0, 1, 1, 1, DISK_ROM, 0x4000, 0xc000) -/* MSX_LAYOUT_SLOT (0, 2, 1, 1, ROM, 0x4000, 0x20000) */ /* RS232C must be emulated */ - MSX_LAYOUT_SLOT (0, 3, 1, 1, ROM, 0x4000, 0x24000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x80000, 0x0000) /* 512KB Mapper RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hbg900ap, msx2_pal ) - MCFG_MSX_LAYOUT(hbg900ap) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: wd2793, 1 3.5" DSDD drive + // 2 Cartridge slots? + + 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", 0x20000) */ /* RS232C must be emulated */ + MCFG_MSX_LAYOUT_ROM("util", 0, 3, 1, 1, "maincpu", 0x24000) + 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) + MCFG_FRAGMENT_ADD( msx_wd2793 ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Sony HB-G900P - 3x 32KB ROMs */ @@ -4995,26 +4890,26 @@ ROM_START (hbg900p) ROM_LOAD ("g900util.rom", 0x24000, 0x4000, CRC(d0417c20) SHA1(8779b004e7605a3c419825f0373a5d8fa84e1d5b)) ROM_END -MSX_LAYOUT_INIT (hbg900p) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (0, 1, 1, 1, DISK_ROM, 0x4000, 0xc000) -/* MSX_LAYOUT_SLOT (0, 2, 1, 1, ROM, 0x4000, 0x20000) */ /* RS232C must be emulated */ - MSX_LAYOUT_SLOT (0, 3, 1, 1, ROM, 0x4000, 0x24000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hbg900p, msx2_pal ) - MCFG_MSX_LAYOUT(hbg900p) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: wd2793, 1 3.5" DSDD drive + // 2 Cartridge slots? + + 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", 0x20000) */ /* RS232C must be emulated */ + MCFG_MSX_LAYOUT_ROM("util", 0, 3, 1, 1, "maincpu", 0x24000) + 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_FRAGMENT_ADD( msx_wd2793 ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Talent TPC-310 */ @@ -5029,26 +4924,28 @@ ROM_START (tpc310) ROM_LOAD ("tpc310acc.rom", 0x24000, 0x8000, CRC(4fb8fab3) SHA1(cdeb0ed8adecaaadb78d5a5364fd603238591685)) ROM_END -MSX_LAYOUT_INIT (tpc310) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 0, 1, 1, ROM, 0x4000, 0x20000) - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x24000) - MSX_LAYOUT_SLOT (3, 2, 1, 1, DISK_ROM2, 0x4000, 0xc000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( tpc310, msx2_pal ) - MCFG_MSX_LAYOUT(tpc310) - MCFG_MSX_RAMIO_SET_BITS(0x80) // YM2149 (in S-1985 MSX Engine) // FDC: mb8877a?, 1 3.5" DSDD drive - MCFG_FRAGMENT_ADD( msx_mb8877a ) - MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) // 1 Cartridge slot (slot 2) - MCFG_FRAGMENT_ADD( msx2_1_cartslot ) // S-1985 MSX Engine + + 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", 0x20000) + MCFG_MSX_LAYOUT_ROM("acc", 3, 1, 1, 2, "maincpu", 0x24000) + MCFG_MSX_LAYOUT_DISK2("disk", 3, 2, 1, 1, "maincpu", 0xc000) + + MCFG_MSX_S1985_ADD("s1985") + + MCFG_FRAGMENT_ADD( msx_mb8877a ) + MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Talent TPP-311 */ @@ -5060,18 +4957,15 @@ ROM_START (tpp311) ROM_LOAD ("311logo.rom", 0x20000, 0x8000, CRC(0e6ecb9f) SHA1(e45ddc5bf1a1e63756d11fb43fc50276ca35cab0)) ROM_END -MSX_LAYOUT_INIT (tpp311) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB?? Mapper RAM */ - MSX_LAYOUT_SLOT (2, 0, 0, 2, ROM, 0x8000, 0x20000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( tpp311, msx2_pal ) - MCFG_MSX_LAYOUT(tpp311) // AY8910/YM2149? // FDC: None, 0 drives // 0 Cartridge slots? + + 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, 0, 2, "maincpu", 0x20000) + MCFG_MSX_LAYOUT_ROM("ext", 3, 0, 0, 1, "maincpu", 0x8000) MACHINE_CONFIG_END /* MSX2 - Talent TPS-312 */ @@ -5084,22 +4978,20 @@ ROM_START (tps312) ROM_LOAD ("312write.rom", 0x28000, 0x4000, CRC(63c6992f) SHA1(93682f5baba7697c40088e26f99ee065c78e83b8)) ROM_END -MSX_LAYOUT_INIT (tps312) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB?? Mapper RAM */ - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x28000) - MSX_LAYOUT_SLOT (3, 2, 0, 2, ROM, 0x8000, 0x20000) - MSX_LAYOUT_SLOT (3, 3, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( tps312, msx2_pal ) - MCFG_MSX_LAYOUT(tps312) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + + 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, 0, 1, "maincpu", 0x28000) + MCFG_MSX_LAYOUT_ROM("plan", 3, 2, 0, 2, "maincpu", 0x20000) + MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 3) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Toshiba HX-23 */ @@ -5114,23 +5006,20 @@ ROM_START (hx23) ROM_FILL (0x28000, 0x8000, 0) ROM_END -MSX_LAYOUT_INIT (hx23) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 0, 2, 2, RAM, 0x8000, 0x0000) /* 32KB RAM */ - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 2, RAM, 0x8000, 0x0000) /* 32KB RAM */ - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 3, 0, 4, ROM, 0x10000, 0x20000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hx23, msx2_pal ) - MCFG_MSX_LAYOUT(hx23) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + + 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, 0, 4, "maincpu", 0x20000) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Toshiba HX-23F */ @@ -5145,22 +5034,20 @@ ROM_START (hx23f) ROM_FILL (0x28000, 0x8000, 0) ROM_END -MSX_LAYOUT_INIT (hx23f) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 3, 0, 4, ROM, 0x10000, 0x20000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hx23f, msx2_pal ) - MCFG_MSX_LAYOUT(hx23f) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + + 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, 0, 4, "maincpu", 0x20000) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Yamaha CX7M */ @@ -5174,22 +5061,20 @@ ROM_START (cx7m) ROM_LOAD ("sfg05m.rom", 0x20000, 0x8000, CRC(6c2545c9) SHA1(bc4b242647116f4886bb92e86421f97b1be51938)) ROM_END -MSX_LAYOUT_INIT (cx7m) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 3, 0, 2, ROM, 0x8000, 0x20000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( cx7m, msx2_pal ) - MCFG_MSX_LAYOUT(cx7m) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + + 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_ROM("sfg", 3, 3, 0, 2, "maincpu", 0x20000) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2 - Yamaha CX7M-128 */ @@ -5204,23 +5089,21 @@ ROM_START (cx7m128) ROM_LOAD ("yrm502.rom", 0x28000, 0x4000, CRC(51f7ddd1) SHA1(2a4b4a4657e3077df8a88f98210b76883d3702b1)) ROM_END -MSX_LAYOUT_INIT (cx7m128) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 1, 1, 1, ROM, 0x4000, 0x28000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 3, 0, 2, ROM, 0x8000, 0x20000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( cx7m128, msx2_pal ) - MCFG_MSX_LAYOUT(cx7m128) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + + 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", 0x28000) + MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x10000) /* 64KB Mapper RAM */ + MCFG_MSX_RAMIO_SET_BITS(0x80) + MCFG_MSX_LAYOUT_ROM("sfg", 3, 3, 0, 2, "maincpu", 0x20000) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /******************************** MSX 2+ **********************************/ @@ -5231,30 +5114,29 @@ ROM_START (msx2p) ROM_REGION (0x28000, "maincpu",0) ROM_LOAD ("msx2p.rom", 0x0000, 0x8000, CRC(00870134) SHA1(e2fbd56e42da637609d23ae9df9efd1b4241b18a)) ROM_LOAD ("msx2pext.rom", 0x8000, 0x4000, CRC(b8ba44d3) SHA1(fe0254cbfc11405b79e7c86c7769bd6322b04995)) - ROM_LOAD_OPTIONAL ("disk.rom", 0xc000, 0x4000, CRC(b7c58fad) SHA1(bc517b4a248c3a1338c5efc937b0128b6a783808)) - ROM_LOAD_OPTIONAL ("fmpac.rom", 0x10000, 0x10000, CRC(0e84505d) SHA1(9d789166e3caf28e4742fe933d962e99618c633d)) + ROM_LOAD ("disk.rom", 0xc000, 0x4000, CRC(b7c58fad) SHA1(bc517b4a248c3a1338c5efc937b0128b6a783808)) + ROM_LOAD ("fmpac.rom", 0x10000, 0x10000, CRC(0e84505d) SHA1(9d789166e3caf28e4742fe933d962e99618c633d)) ROM_LOAD ("msx2pkdr.rom", 0x20000, 0x8000, CRC(a068cba9) SHA1(1ef3956f7f918873fb9b031339bba45d1e5e5878)) ROM_REGION(0x20000, "kanji", 0) ROM_LOAD ("msx2pkfn.rom", 0, 0x20000, CRC(b244f6cf) SHA1(e0e99cd91e88ce2676445663f832c835d74d6fd4)) ROM_END -MSX_LAYOUT_INIT (msx2p) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x20000) - MSX_LAYOUT_SLOT (3, 2, 1, 1, DISK_ROM, 0x4000, 0xc000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( msx2pgen, msx2p ) - MCFG_MSX_LAYOUT(msx2p) + 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("kdr", 3, 1, 1, 2, "maincpu", 0x20000) + MCFG_MSX_LAYOUT_DISK1("disk", 3, 2, 1, 1, "maincpu", 0xc000) + MCFG_FRAGMENT_ADD( msx_wd2793 ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2+ - Ciel Expert 3 IDE */ @@ -5268,25 +5150,27 @@ ROM_START (expert3i ) ROM_LOAD ("ide240a.rom", 0x20000, 0x10000, CRC(7adf857f) SHA1(8a919dbeed92db8c06a611279efaed8552810239)) ROM_END -MSX_LAYOUT_INIT (expert3i) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (1, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (1, 1, 1, 1, ROM, 0x4000, 0x10000) - MSX_LAYOUT_SLOT (1, 2, 1, 1, DISK_ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (1, 3, 0, 4, ROM, 0x10000, 0x20000) /* IDE hardware needs to be emulated */ - MSX_LAYOUT_SLOT (2, 0, 0, 4, RAM_MM, 0x40000, 0x0000) /* 256KB?? Mapper RAM */ - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( expert3i, msx2p ) - MCFG_MSX_LAYOUT(expert3i) // AY8910/YM2149? // FDC: wd2793, 1 or 2? drives + // 2 Cartridge slots? + + 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", 0x20000) /* 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) + + MCFG_FRAGMENT_ADD( msx_ym2413 ) + MCFG_FRAGMENT_ADD( msx_wd2793 ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2+ - Ciel Expert 3 Turbo */ @@ -5301,26 +5185,28 @@ ROM_START (expert3t ) ROM_LOAD ("turbo.rom", 0x20000, 0x4000, CRC(ab528416) SHA1(d468604269ae7664ac739ea9f922a05e14ffa3d1)) ROM_END -MSX_LAYOUT_INIT (expert3t) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (1, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (1, 1, 1, 1, ROM, 0x4000, 0x10000) - MSX_LAYOUT_SLOT (1, 2, 1, 1, ROM, 0x4000, 0x20000) /* Turbo hardware needs to be emulated */ - MSX_LAYOUT_SLOT (1, 3, 1, 1, DISK_ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, RAM_MM, 0x40000, 0x0000) /* 256KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( expert3t, msx2p ) - MCFG_MSX_LAYOUT(expert3t) // AY8910 // FDC: wd2793?, 1 or 2? drives + // 4 Cartridge/Expansion slots? + // FM/YM2413 built-in + + 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", 0x20000) /* 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) + + MCFG_FRAGMENT_ADD( msx_ym2413 ) + MCFG_FRAGMENT_ADD( msx_wd2793 ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 4 Cartridge/Expansion slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) - // FM/YM2413 built-in + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2+ - Gradiente Expert AC88+ */ @@ -5334,25 +5220,25 @@ ROM_START (expertac) ROM_LOAD ("xbasic2.rom", 0x24000, 0x4000, CRC(2825b1a0) SHA1(47370bec7ca1f0615a54eda548b07fbc0c7ef398)) ROM_END -MSX_LAYOUT_INIT (expertac) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM?? */ - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 1, 1, 1, ROM, 0x4000, 0x20000) - MSX_LAYOUT_SLOT (3, 2, 1, 1, DISK_ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (3, 3, 1, 1, ROM, 0x4000, 0x24000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( expertac, msx2p ) - MCFG_MSX_LAYOUT(expertac) // AY8910/YM2149? // FDC: wd2793?, 1 or 2? drives + // 2 Cartridge slots? + + 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", 0x20000) + MCFG_MSX_LAYOUT_DISK1("disk", 3, 2, 1, 1, "maincpu", 0xc000) + MCFG_MSX_LAYOUT_ROM("xbasic", 3, 3, 1, 1, "maincpu", 0x24000) + MCFG_FRAGMENT_ADD( msx_wd2793 ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2+ - Gradiente Expert DDX+ */ @@ -5366,25 +5252,25 @@ ROM_START (expertdx) ROM_LOAD ("kanji.rom", 0x30000, 0x8000, CRC(b4fc574d) SHA1(dcc3a67732aa01c4f2ee8d1ad886444a4dbafe06)) ROM_END -MSX_LAYOUT_INIT (expertdx) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (1, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (1, 2, 1, 1, ROM, 0x4000, 0x20000) - //MSX_LAYOUT_SLOT (1, 3, 1, 1, DISK_ROM, 0x4000, 0xc000) /* TC8566AF Disk controller /* TC8566AF Disk controller*/*/ - MSX_LAYOUT_SLOT (2, 0, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM?? */ - MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - /* Kanji? */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( expertdx, msx2p ) - MCFG_MSX_LAYOUT(expertdx) // AY8910/YM2149? // FDC: tc8566af, 1 3.5" DSDD drive? + // 2 Cartridge slots? + + 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", 0x20000) + //MCFG_MSX_LAYOUT_DISK1("disk", 1, 3, 1, 1, "maincpu", 0xc000) /* TC8566AF Disk controller /* TC8566AF Disk controller*/*/ + MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 2, 0, 0x10000) /* 64KB Mapper RAM?? */ + MCFG_MSX_LAYOUT_CARTRIDGE("cartslot2", 3, 0) + /* Kanji? */ + MCFG_FRAGMENT_ADD( msx_tc8566af ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2+ - Panasonic FS-A1FX */ @@ -5403,26 +5289,29 @@ ROM_START (fsa1fx) ROM_LOAD ("a1fxkfn.rom", 0, 0x20000, CRC(b244f6cf) SHA1(e0e99cd91e88ce2676445663f832c835d74d6fd4)) ROM_END -MSX_LAYOUT_INIT (fsa1fx) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x20000) -/* MSX_LAYOUT_SLOT (3, 2, 1, 1, DISK_ROM, 0x4000, 0xc000) */ /* FDC Emulation of TC8566AF must be emulated */ - MSX_LAYOUT_SLOT (3, 3, 1, 2, ROM, 0x8000, 0x28000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( fsa1fx, msx2p ) - MCFG_MSX_LAYOUT(fsa1fx) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: tc8566af, 1 3.5" DSDD drive + // 2 Cartridge slots? + + 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", 0x20000) +/* MCFG_MSX_LAYOUT_DISK1("disk", 3, 2, 1, 1, "maincpu", 0xc000) */ /* FDC Emulation of TC8566AF must be emulated */ + MCFG_MSX_LAYOUT_ROM("cock", 3, 3, 1, 2, "maincpu", 0x28000) + + MCFG_MSX_MATSUSHITA_ADD( "matsushita" ) + MCFG_MSX_MATSUSHITA_TURBO_CB(WRITELINE(msx_state, turbo_w)) + MCFG_FRAGMENT_ADD( msx_tc8566af ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2+ - Panasonic FS-A1WSX */ @@ -5443,28 +5332,34 @@ ROM_START (fsa1wsx) ROM_LOAD ("a1wskfn.rom", 0, 0x40000, CRC(1f6406fb) SHA1(5aff2d9b6efc723bc395b0f96f0adfa83cc54a49)) ROM_END -MSX_LAYOUT_INIT (fsa1wsx) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 2, 1, 1, ROM, 0x4000, 0x28000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x20000) -/* MSX_LAYOUT_SLOT (3, 2, 1, 1, DISK_ROM, 0x4000, 0xc000) */ /* FDC Emulation of TC8566AF must be emulated */ -/* MSX_LAYOUT_SLOT (3, 3, 1, 4, PANASONIC08, 0x200000, 0x30000) */ /* Panasonic 08KB Mapper must be emulated */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( fsa1wsx, msx2p ) - MCFG_MSX_LAYOUT(fsa1wsx) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: tc8566af, 1 3.5" DSDD drive - MCFG_FRAGMENT_ADD( msx_tc8566af ) - MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // FM built-in + // No cassette port + + MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000) + MCFG_MSX_LAYOUT_MUSIC("mus", 0, 2, 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, 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", 0x20000) +/* MCFG_MSX_LAYOUT_DISK1("disk", 3, 2, 1, 1, "maincpu", 0xc000) */ /* FDC Emulation of TC8566AF must be emulated */ + MCFG_MSX_LAYOUT_PANASONIC08("firm", 3, 3, 0, 4, "maincpu", 0x30000) + + MCFG_MSX_MATSUSHITA_ADD( "matsushita" ) + MCFG_MSX_MATSUSHITA_TURBO_CB(WRITELINE(msx_state, turbo_w)) + + MCFG_FRAGMENT_ADD( msx_ym2413 ) + + MCFG_FRAGMENT_ADD( msx_tc8566af ) + MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2+ - Panasonic FS-A1WX */ @@ -5485,28 +5380,34 @@ ROM_START (fsa1wx) ROM_LOAD ("a1wxkfn.rom", 0, 0x40000, CRC(1f6406fb) SHA1(5aff2d9b6efc723bc395b0f96f0adfa83cc54a49)) ROM_END -MSX_LAYOUT_INIT (fsa1wx) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 2, 1, 1, ROM, 0x4000, 0x28000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x20000) -/* MSX_LAYOUT_SLOT (3, 2, 1, 1, DISK_ROM, 0x4000, 0xc000) */ /* FDC Emulation of TC8566AF must be emulated */ -/* MSX_LAYOUT_SLOT (3, 3, 1, 4, PANASONIC08, 0x200000, 0x30000) */ /* Panasonic 08KB Mapper must be emulated */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( fsa1wx, msx2p ) - MCFG_MSX_LAYOUT(fsa1wx) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: tc8566af, 1 3.5" DSDD drive - MCFG_FRAGMENT_ADD( msx_tc8566af ) - MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // FM built-in + // MSX Engine T9769A + + MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000) + MCFG_MSX_LAYOUT_MUSIC("mus", 0, 2, 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, 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", 0x20000) +/* MCFG_MSX_LAYOUT_DISK1("disk", 3, 2, 1, 1, "maincpu", 0xc000) */ /* FDC Emulation of TC8566AF must be emulated */ + MCFG_MSX_LAYOUT_PANASONIC08("firm", 3, 3, 0, 4, "maincpu", 0x30000) + + MCFG_MSX_MATSUSHITA_ADD( "matsushita" ) + MCFG_MSX_MATSUSHITA_TURBO_CB(WRITELINE(msx_state, turbo_w)) + + MCFG_FRAGMENT_ADD( msx_ym2413 ) + + MCFG_FRAGMENT_ADD( msx_tc8566af ) + MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2+ - Panasonic FS-A1WX (a) */ @@ -5526,28 +5427,33 @@ ROM_START (fsa1wxa) ROM_LOAD ("a1wxkfn.rom", 0, 0x40000, CRC(1f6406fb) SHA1(5aff2d9b6efc723bc395b0f96f0adfa83cc54a49)) ROM_END -MSX_LAYOUT_INIT (fsa1wxa) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 2, 1, 1, ROM, 0x4000, 0x28000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x20000) -/* MSX_LAYOUT_SLOT (3, 2, 1, 1, DISK_ROM, 0x4000, 0xc000) */ /* FDC Emulation of TC8566AF must be emulated */ -/* MSX_LAYOUT_SLOT (3, 3, 1, 4, PANASONIC08, 0x200000, 0x30000) */ /* Panasonic 08KB Mapper must be emulated */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( fsa1wxa, msx2p ) - MCFG_MSX_LAYOUT(fsa1wxa) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: tc8566af, 1 3.5" DSDD drive - MCFG_FRAGMENT_ADD( msx_tc8566af ) - MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // FM built-in + + MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000) + MCFG_MSX_LAYOUT_MUSIC("mus", 0, 2, 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, 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", 0x20000) +/* MCFG_MSX_LAYOUT_DISK1("disk", 3, 2, 1, 1, "maincpu", 0xc000) */ /* FDC Emulation of TC8566AF must be emulated */ + MCFG_MSX_LAYOUT_PANASONIC08("firm", 3, 3, 0, 4, "maincpu", 0x30000) + + MCFG_MSX_MATSUSHITA_ADD( "matsushita" ) + MCFG_MSX_MATSUSHITA_TURBO_CB(WRITELINE(msx_state, turbo_w)) + + MCFG_FRAGMENT_ADD( msx_ym2413 ) + + MCFG_FRAGMENT_ADD( msx_tc8566af ) + MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2+ - Sanyo Wavy PHC-35J */ @@ -5564,22 +5470,20 @@ ROM_START (phc35j) ROM_LOAD ("35jkfn.rom", 0, 0x20000, CRC(c9651b32) SHA1(84a645becec0a25d3ab7a909cde1b242699a8662)) ROM_END -MSX_LAYOUT_INIT (phc35j) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x20000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( phc35j, msx2p ) - MCFG_MSX_LAYOUT(phc35j) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + + 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", 0x20000) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2+ - Sanyo Wavy PHC-70FD1 */ @@ -5599,28 +5503,30 @@ ROM_START (phc70fd) ROM_LOAD ("70fdkfn.rom", 0, 0x20000, CRC(c9651b32) SHA1(84a645becec0a25d3ab7a909cde1b242699a8662)) ROM_END -MSX_LAYOUT_INIT (phc70fd) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x20000) -/* MSX_LAYOUT_SLOT (3, 2, 1, 1, DISK_ROM, 0x4000, 0xc000) */ /* FDC Emulation of TC8566AF must be emulated */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, ROM, 0x4000, 0x28000) - MSX_LAYOUT_SLOT (3, 3, 2, 1, ROM, 0x4000, 0x2c000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( phc70fd, msx2p ) - MCFG_MSX_LAYOUT(phc70fd) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: tc8566af, 1 3.5" DSDD drive - MCFG_FRAGMENT_ADD( msx_tc8566af ) - MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // FM built-in + + 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", 0x20000) +/* MCFG_MSX_LAYOUT_DISK1("disk", 3, 2, 1, 1, "maincpu", 0xc000) */ /* FDC Emulation of TC8566AF must be emulated */ + MCFG_MSX_LAYOUT_MUSIC("mus", 3, 3, 1, 1, "maincpu", 0x28000) + MCFG_MSX_LAYOUT_ROM("bas", 3, 3, 2, 1, "maincpu", 0x2c000) + + MCFG_FRAGMENT_ADD( msx_ym2413 ) + + MCFG_FRAGMENT_ADD( msx_tc8566af ) + MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2+ - Sanyo Wavy PHC-70FD2 */ @@ -5639,28 +5545,30 @@ ROM_START (phc70fd2) ROM_LOAD ("70f2kfn.rom", 0, 0x40000, CRC(9a850db9) SHA1(bcdb4dae303dfe5234f372d70a5e0271d3202c36)) ROM_END -MSX_LAYOUT_INIT (phc70fd2) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x20000) -/* MSX_LAYOUT_SLOT (3, 2, 1, 1, DISK_ROM, 0x4000, 0xc000) */ /* FDC Emulation of TC8566AF must be emulated */ - MSX_LAYOUT_SLOT (3, 3, 1, 1, ROM, 0x4000, 0x28000) - MSX_LAYOUT_SLOT (3, 3, 2, 1, ROM, 0x4000, 0x2c000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( phc70fd2, msx2p ) - MCFG_MSX_LAYOUT(phc70fd2) - MCFG_MSX_RAMIO_SET_BITS(0x80) // AY8910/YM2149? // FDC: tc8566af, 2 3.5" DSDD drives - MCFG_FRAGMENT_ADD( msx_tc8566af ) - MCFG_FRAGMENT_ADD( msx_2_35_dd_drive ) // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // FM built-in + + 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", 0x20000) +/* MCFG_MSX_LAYOUT_DISK("disk", 3, 2, 1, 1, "maincpu", 0xc000) */ /* FDC Emulation of TC8566AF must be emulated */ + MCFG_MSX_LAYOUT_MUSIC("mus", 3, 3, 1, 1, "maincpu", 0x28000) + MCFG_MSX_LAYOUT_ROM("bas", 3, 3, 2, 1, "maincpu", 0x2c000) + + MCFG_FRAGMENT_ADD( msx_ym2413 ) + + MCFG_FRAGMENT_ADD( msx_tc8566af ) + MCFG_FRAGMENT_ADD( msx_2_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2+ - Sony HB-F1XDJ */ @@ -5681,29 +5589,33 @@ ROM_START (hbf1xdj) ROM_LOAD ("f1xjkfn.rom", 0, 0x40000, CRC(7016dfd0) SHA1(218d91eb6df2823c924d3774a9f455492a10aecb)) ROM_END -MSX_LAYOUT_INIT (hbf1xdj) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) -/* MSX_LAYOUT_SLOT (0, 3, 1, 4, SONY08, 0x100000, 0x30000) */ /* Sony 08KB MSX-JE Mapper must be emulated */ - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x20000) - MSX_LAYOUT_SLOT (3, 2, 1, 1, DISK_ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (3, 3, 1, 1, ROM, 0x4000, 0x28000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hbf1xdj, msx2p ) - MCFG_MSX_LAYOUT(hbf1xdj) - MCFG_MSX_RAMIO_SET_BITS(0x80) // YM2149 (in S-1985 MSX Engine) // FDC: wd2793, 1 3.5" DSDD drive - MCFG_FRAGMENT_ADD( msx_wd2793 ) - MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // FM built-in // S-1985 MSX Engine + + MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000) +/* MCFG_MSX_LAYOUT_("firm", 0, 3, 1, 4, SONY08, 0x100000, 0x30000) */ /* Sony 08KB MSX-JE Mapper must be emulated */ + 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", 0x20000) + MCFG_MSX_LAYOUT_DISK1("disk", 3, 2, 1, 1, "maincpu", 0xc000) + MCFG_MSX_LAYOUT_MUSIC("mus", 3, 3, 1, 1, "maincpu", 0x28000) + + MCFG_MSX_S1985_ADD("s1985") + + MCFG_FRAGMENT_ADD( msx_ym2413 ) + + MCFG_FRAGMENT_ADD( msx_wd2793 ) + MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2+ - Sony HB-F1XV */ @@ -5724,29 +5636,33 @@ ROM_START (hbf1xv) ROM_LOAD ("f1xvkfn.rom", 0, 0x40000, CRC(7016dfd0) SHA1(218d91eb6df2823c924d3774a9f455492a10aecb)) ROM_END -MSX_LAYOUT_INIT (hbf1xv) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) -/* MSX_LAYOUT_SLOT (0, 3, 1, 4, SONY08, 0x100000, 0x30000) */ /* Sony 08KB MSX-JE Mapper must be emulated */ - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x20000) - MSX_LAYOUT_SLOT (3, 2, 1, 1, DISK_ROM, 0x4000, 0xc000) - MSX_LAYOUT_SLOT (3, 3, 1, 1, ROM, 0x4000, 0x28000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hbf1xv, msx2p ) - MCFG_MSX_LAYOUT(hbf1xv) - MCFG_MSX_RAMIO_SET_BITS(0x80) // YM2149 (in S-1985 MSX Engine) // FDC: wd2793, 1 3.5" DSDD drives - MCFG_FRAGMENT_ADD( msx_wd2793 ) - MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) // FM built-in // S-1985 MSX Engine + + MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000) +/* MCFG_MSX_LAYOUT_("firm", 0, 3, 1, 4, SONY08, 0x100000, 0x30000) */ /* Sony 08KB MSX-JE Mapper must be emulated */ + 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", 0x20000) + MCFG_MSX_LAYOUT_DISK1("disk", 3, 2, 1, 1, "maincpu", 0xc000) + MCFG_MSX_LAYOUT_MUSIC("mus", 3, 3, 1, 1, "maincpu", 0x28000) + + MCFG_MSX_S1985_ADD("s1985") + + MCFG_FRAGMENT_ADD( msx_ym2413 ) + + MCFG_FRAGMENT_ADD( msx_wd2793 ) + MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX2+ - Sony HB-F9S+ */ @@ -5759,22 +5675,20 @@ ROM_START (hbf9sp) ROM_LOAD ("f9spfrm2.rom", 0x24000, 0x8000, CRC(ea97069f) SHA1(2d1880d1f5a6944fcb1b198b997a3d90ecd1903d)) ROM_END -MSX_LAYOUT_INIT (hbf9sp) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (1, 0, 0, 4, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 0, 2, 1, ROM, 0x4000, 0x20000) - MSX_LAYOUT_SLOT (3, 1, 2, 2, ROM, 0x8000, 0x24000) - MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB?? Mapper RAM */ -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( hbf9sp, msx2p ) - MCFG_MSX_LAYOUT(hbf9sp) // AY8910/YM2149? // FDC: None, 0 drives // 2 Cartridge slots? - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) + + 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, 2, 1, "maincpu", 0x20000) + MCFG_MSX_LAYOUT_ROM("firm2", 3, 1, 2, 2, "maincpu", 0x24000) + MCFG_MSX_LAYOUT_RAM_MM("ram_mm", 3, 2, 0x10000) /* 64KB?? Mapper RAM */ + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX Turbo-R - Panasonic FS-A1GT */ @@ -5791,29 +5705,31 @@ ROM_START (fsa1gt) ROM_LOAD ("a1gtfirm.rom", 0x80000, 0x400000, CRC(feefeadc) SHA1(e779c338eb91a7dea3ff75f3fde76b8af22c4a3a)) ROM_END -MSX_LAYOUT_INIT (fsa1gt) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 2, 1, 1, ROM, 0x4000, 0x38000) - MSX_LAYOUT_SLOT (0, 3, 1, 1, ROM, 0x4000, 0x3c000) - MSX_LAYOUT_SLOT (1, 0, 0, 0, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 0, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB?? Mapper RAM */ - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x30000) - MSX_LAYOUT_SLOT (3, 2, 1, 3, ROM, 0xc000, 0x20000) - MSX_LAYOUT_SLOT (3, 3, 0, 4, ROM, 0x10000, 0x80000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( fsa1gt, msx2 ) - MCFG_MSX_LAYOUT(fsa1gt) // AY8910/YM2149? // FDC: tc8566af, 1 3.5" DSDD drive + // 2 Cartridge slots + // FM built-in + // MIDI + + MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000) + MCFG_MSX_LAYOUT_MUSIC("mus", 0, 2, 1, 1, "maincpu", 0x38000) + MCFG_MSX_LAYOUT_ROM("opt", 0, 3, 1, 1, "maincpu", 0x3c000) + 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", 0x30000) + MCFG_MSX_LAYOUT_ROM("dos", 3, 2, 1, 3, "maincpu", 0x20000) + MCFG_MSX_LAYOUT_ROM("firm", 3, 3, 0, 4, "maincpu", 0x80000) + + MCFG_FRAGMENT_ADD( msx_ym2413 ) + MCFG_FRAGMENT_ADD( msx_tc8566af ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) - // FM built-in - // MIDI + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END /* MSX Turbo-R - Panasonic FS-A1ST */ @@ -5830,28 +5746,30 @@ ROM_START (fsa1st) ROM_LOAD ("a1stfirm.rom", 0x80000, 0x400000, CRC(139ac99c) SHA1(c212b11fda13f83dafed688c54d098e7e47ab225)) ROM_END -MSX_LAYOUT_INIT (fsa1st) - MSX_LAYOUT_SLOT (0, 0, 0, 2, ROM, 0x8000, 0x0000) - MSX_LAYOUT_SLOT (0, 2, 1, 1, ROM, 0x4000, 0x38000) - MSX_LAYOUT_SLOT (0, 3, 1, 1, ROM, 0x4000, 0x3c000) - MSX_LAYOUT_SLOT (1, 0, 0, 0, CARTRIDGE1, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (2, 0, 0, 0, CARTRIDGE2, 0x0000, 0x0000) - MSX_LAYOUT_SLOT (3, 0, 0, 4, RAM_MM, 0x20000, 0x0000) /* 128KB?? Mapper RAM */ - MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) - MSX_LAYOUT_SLOT (3, 1, 1, 2, ROM, 0x8000, 0x30000) - MSX_LAYOUT_SLOT (3, 2, 1, 3, ROM, 0xc000, 0x20000) - MSX_LAYOUT_SLOT (3, 3, 0, 4, ROM, 0x10000, 0x80000) -MSX_LAYOUT_END - static MACHINE_CONFIG_DERIVED( fsa1st, msx2 ) - MCFG_MSX_LAYOUT(fsa1st) // AY8910/YM2149? // FDC: tc8566af, 1 3.5" DSDD drive + // 2 Cartridge slots + // FM built-in + + MCFG_MSX_LAYOUT_ROM("bios", 0, 0, 0, 2, "maincpu", 0x0000) + MCFG_MSX_LAYOUT_MUSIC("mus", 0, 2, 1, 1, "maincpu", 0x38000) + MCFG_MSX_LAYOUT_ROM("opt", 0, 3, 1, 1, "maincpu", 0x3c000) + 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", 0x30000) + MCFG_MSX_LAYOUT_ROM("dos", 3, 2, 1, 3, "maincpu", 0x20000) + MCFG_MSX_LAYOUT_ROM("firm", 3, 3, 0, 4, "maincpu", 0x80000) + + MCFG_FRAGMENT_ADD( msx_ym2413 ) + MCFG_FRAGMENT_ADD( msx_tc8566af ) MCFG_FRAGMENT_ADD( msx_1_35_dd_drive ) - // 2 Cartridge slots - MCFG_FRAGMENT_ADD( msx2_2_cartslots ) - // FM built-in + MCFG_FRAGMENT_ADD( msx2_floplist ) + + MCFG_FRAGMENT_ADD( msx2_cartlist ) MACHINE_CONFIG_END |