From 621d0a7b6f79fe2ab4e80aae14863b54602dd51a Mon Sep 17 00:00:00 2001 From: Wilbert Pol Date: Mon, 14 Apr 2014 21:28:36 +0000 Subject: [PATCH] (MESS) msx.c: Bye bye MSX_DRIVER_LIST. (nw) --- src/mess/drivers/msx.c | 1090 ++++++++++++++++++++++++---------- src/mess/includes/msx.h | 7 + src/mess/includes/msx_slot.h | 15 - src/mess/machine/msx.c | 21 +- 4 files changed, 782 insertions(+), 351 deletions(-) diff --git a/src/mess/drivers/msx.c b/src/mess/drivers/msx.c index 1c8aa6d1266..cba950ede8b 100644 --- a/src/mess/drivers/msx.c +++ b/src/mess/drivers/msx.c @@ -1336,6 +1336,10 @@ MSX_LAYOUT_INIT (msx) 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) +MACHINE_CONFIG_END + /* MSX - Al Alamiah AX-170 */ ROM_START (ax170) @@ -1352,6 +1356,10 @@ MSX_LAYOUT_INIT (ax170) 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) +MACHINE_CONFIG_END + /* MSX - Canon V-10 */ ROM_START (canonv10) @@ -1366,6 +1374,10 @@ MSX_LAYOUT_INIT (canonv10) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( canonv10, msx_pal ) + MCFG_MSX_LAYOUT(canonv10) +MACHINE_CONFIG_END + /* MSX - Canon V-20 */ ROM_START (canonv20) ROM_REGION (0x8000, "maincpu", 0) @@ -1379,6 +1391,10 @@ MSX_LAYOUT_INIT (canonv20) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( canonv20, msx_pal ) + MCFG_MSX_LAYOUT(canonv20) +MACHINE_CONFIG_END + /* MSX - Casio PV-16 */ ROM_START (pv16) @@ -1394,6 +1410,10 @@ MSX_LAYOUT_INIT(pv16) MSX_LAYOUT_SLOT(2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( pv16, msx_ntsc ) + MCFG_MSX_LAYOUT(pv16) +MACHINE_CONFIG_END + /* MSX - Daewoo DPC-100 */ ROM_START (dpc100) @@ -1410,6 +1430,10 @@ MSX_LAYOUT_INIT (dpc100) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( dpc100, msx_ntsc ) + MCFG_MSX_LAYOUT(dpc100) +MACHINE_CONFIG_END + /* MSX - Daewoo DPC-180 */ ROM_START (dpc180) @@ -1426,6 +1450,10 @@ MSX_LAYOUT_INIT (dpc180) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( dpc180, msx_ntsc ) + MCFG_MSX_LAYOUT(dpc180) +MACHINE_CONFIG_END + /* MSX - Daewoo DPC-200 */ ROM_START (dpc200) @@ -1442,6 +1470,10 @@ MSX_LAYOUT_INIT (dpc200) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( dpc200, msx_ntsc ) + MCFG_MSX_LAYOUT(dpc200) +MACHINE_CONFIG_END + /* MSX - Goldstar FC-200 */ ROM_START (gsfc200) @@ -1457,6 +1489,10 @@ MSX_LAYOUT_INIT (gsfc200) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( gsfc200, msx_pal ) + MCFG_MSX_LAYOUT(gsfc200) +MACHINE_CONFIG_END + /* MSX - Gradiente Expert 1.0 */ ROM_START (expert10) @@ -1471,6 +1507,10 @@ MSX_LAYOUT_INIT (expert10) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( expert10, msx_ntsc ) + MCFG_MSX_LAYOUT(expert10) +MACHINE_CONFIG_END + /* MSX - Gradiente Expert 1.1 */ ROM_START (expert11) ROM_REGION (0xc000, "maincpu",0) @@ -1484,6 +1524,10 @@ MSX_LAYOUT_INIT (expert11) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( expert11, msx_ntsc ) + MCFG_MSX_LAYOUT(expert11) +MACHINE_CONFIG_END + /* MSX - Gradiente Expert 1.3 */ ROM_START (expert13) ROM_REGION (0x8000, "maincpu",0) @@ -1497,6 +1541,10 @@ MSX_LAYOUT_INIT (expert13) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( expert13, msx_ntsc ) + MCFG_MSX_LAYOUT(expert13) +MACHINE_CONFIG_END + /* MSX - Gradiente Expert DDPlus */ ROM_START (expertdp) ROM_REGION (0xc000, "maincpu",0) @@ -1512,6 +1560,10 @@ MSX_LAYOUT_INIT (expertdp) 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) +MACHINE_CONFIG_END + /* MSX - Gradiente Expert Plus */ ROM_START (expertpl) @@ -1528,6 +1580,10 @@ MSX_LAYOUT_INIT (expertpl) MSX_LAYOUT_SLOT (3, 3, 2, 1, ROM, 0x4000, 0x8000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( expertpl, msx_ntsc ) + MCFG_MSX_LAYOUT(expertpl) +MACHINE_CONFIG_END + /* MSX - JVC HC-7GB */ ROM_START (jvchc7gb) @@ -1542,6 +1598,10 @@ MSX_LAYOUT_INIT (jvchc7gb) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( jvchc7gb, msx_pal ) + MCFG_MSX_LAYOUT(jvchc7gb) +MACHINE_CONFIG_END + /* MSX - Mitsubishi ML-F80 */ ROM_START (mlf80) @@ -1556,6 +1616,10 @@ MSX_LAYOUT_INIT (mlf80) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( mlf80, msx_pal ) + MCFG_MSX_LAYOUT(mlf80) +MACHINE_CONFIG_END + /* MSX - Mitsubishi ML-FX1 */ ROM_START (mlfx1) @@ -1570,6 +1634,10 @@ MSX_LAYOUT_INIT (mlfx1) 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) +MACHINE_CONFIG_END + /* MSX - National CF-1200 */ ROM_START (cf1200) @@ -1584,6 +1652,10 @@ MSX_LAYOUT_INIT (cf1200) MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( cf1200, msx_ntsc ) + MCFG_MSX_LAYOUT(cf1200) +MACHINE_CONFIG_END + /* MSX - National CF-2000 */ ROM_START (cf2000) @@ -1598,6 +1670,10 @@ MSX_LAYOUT_INIT (cf2000) MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( cf2000, msx_ntsc ) + MCFG_MSX_LAYOUT(cf2000) +MACHINE_CONFIG_END + /* MSX - National CF-2700 */ ROM_START (cf2700) ROM_REGION (0x8000, "maincpu", 0) @@ -1611,6 +1687,10 @@ MSX_LAYOUT_INIT (cf2700) MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( cf2700, msx_ntsc ) + MCFG_MSX_LAYOUT(cf2700) +MACHINE_CONFIG_END + /* MSX - National CF-3000 */ ROM_START (cf3000) @@ -1625,6 +1705,10 @@ MSX_LAYOUT_INIT (cf3000) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( cf3000, msx_ntsc ) + MCFG_MSX_LAYOUT(cf3000) +MACHINE_CONFIG_END + /* MSX - National CF-3300 */ ROM_START (cf3300) ROM_REGION (0xc000, "maincpu", 0) @@ -1640,6 +1724,10 @@ MSX_LAYOUT_INIT (cf3300) 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) +MACHINE_CONFIG_END + /* MSX - National FS-1300 */ ROM_START (fs1300) @@ -1654,6 +1742,10 @@ MSX_LAYOUT_INIT (fs1300) 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) +MACHINE_CONFIG_END + /* MSX - National FS-4000 */ ROM_START (fs4000) ROM_REGION (0x38000 ,"maincpu", 0) @@ -1673,6 +1765,10 @@ MSX_LAYOUT_INIT (fs4000) MSX_LAYOUT_KANJI (0x18000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( fs4000, msx_ntsc ) + MCFG_MSX_LAYOUT(fs4000) +MACHINE_CONFIG_END + /*MSX - Olympia PHC-2*/ ROM_START (phc2) @@ -1687,6 +1783,10 @@ MSX_LAYOUT_INIT (phc2) 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) +MACHINE_CONFIG_END + /* MSX - Olympia PHC-28 */ ROM_START (phc28) @@ -1701,6 +1801,10 @@ MSX_LAYOUT_INIT (phc28) 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) +MACHINE_CONFIG_END + /* MSX - Panasonic CF-2700G */ ROM_START (cf2700g) @@ -1715,6 +1819,10 @@ MSX_LAYOUT_INIT (cf2700g) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( cf2700g, msx_pal ) + MCFG_MSX_LAYOUT(cf2700g) +MACHINE_CONFIG_END + /* MSX - Philips NMS-801 */ ROM_START (nms801) @@ -1729,6 +1837,10 @@ MSX_LAYOUT_INIT (nms801) 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) +MACHINE_CONFIG_END + /* MSX - Philips VG-8000 */ ROM_START (vg8000) @@ -1743,6 +1855,9 @@ MSX_LAYOUT_INIT (vg8000) 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) +MACHINE_CONFIG_END /* MSX - Philips VG-8010 */ @@ -1758,6 +1873,10 @@ MSX_LAYOUT_INIT (vg8010) 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) +MACHINE_CONFIG_END + /* MSX - Philips VG-8010F */ ROM_START (vg8010f) @@ -1772,6 +1891,10 @@ MSX_LAYOUT_INIT (vg8010f) 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) +MACHINE_CONFIG_END + /* MSX - Philips VG-8020-00 */ ROM_START (vg802000) @@ -1786,6 +1909,10 @@ MSX_LAYOUT_INIT (vg802000) 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) +MACHINE_CONFIG_END + /* MSX - Philips VG-8020-20 */ ROM_START (vg802020) @@ -1800,6 +1927,10 @@ MSX_LAYOUT_INIT (vg802020) 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) +MACHINE_CONFIG_END + /* MSX - Philips VG-8020F */ ROM_START (vg8020f) @@ -1814,6 +1945,10 @@ MSX_LAYOUT_INIT (vg8020f) 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) +MACHINE_CONFIG_END + /* MSX - Pioneer PX-7 */ ROM_START (piopx7) @@ -1831,6 +1966,10 @@ MSX_LAYOUT_INIT (piopx7) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( piopx7, msx_pal ) + MCFG_MSX_LAYOUT(piopx7) +MACHINE_CONFIG_END + /* MSX - Samsung SPC-800 */ ROM_START (spc800) @@ -1847,6 +1986,10 @@ MSX_LAYOUT_INIT (spc800) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( spc800, msx_ntsc ) + MCFG_MSX_LAYOUT(spc800) +MACHINE_CONFIG_END + /* MSX - Sanyo MPC-64 */ ROM_START (mpc64) @@ -1861,6 +2004,10 @@ MSX_LAYOUT_INIT (mpc64) 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) +MACHINE_CONFIG_END + /* MSX - Sanyo MPC-100 */ ROM_START (mpc100) @@ -1875,6 +2022,10 @@ MSX_LAYOUT_INIT (mpc100) 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) +MACHINE_CONFIG_END + /* MSX - Sanyo PHC-28L */ ROM_START (phc28l) @@ -1889,6 +2040,10 @@ MSX_LAYOUT_INIT (phc28l) 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) +MACHINE_CONFIG_END + /* MSX - Sanyo PHC-28S */ ROM_START (phc28s) @@ -1903,6 +2058,10 @@ MSX_LAYOUT_INIT (phc28s) 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) +MACHINE_CONFIG_END + /* MSX - Sanyo Wavy MPC-10 */ ROM_START (mpc10) @@ -1917,6 +2076,10 @@ MSX_LAYOUT_INIT (mpc10) 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) +MACHINE_CONFIG_END + /* MSX - Sharp Epcom HotBit 1.1 */ ROM_START (hotbit11) @@ -1931,6 +2094,10 @@ MSX_LAYOUT_INIT (hotbit11) 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) +MACHINE_CONFIG_END + /* MSX - Sharp Epcom HotBit 1.2 */ ROM_START (hotbit12) @@ -1945,6 +2112,10 @@ MSX_LAYOUT_INIT (hotbit12) 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) +MACHINE_CONFIG_END + /* MSX - Sharp Epcom HotBit 1.3b */ ROM_START (hotbi13b) @@ -1959,6 +2130,10 @@ MSX_LAYOUT_INIT (hotbi13b) 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) +MACHINE_CONFIG_END + /* MSX - Sharp Epcom HotBit 1.3p */ ROM_START (hotbi13p) @@ -1973,6 +2148,10 @@ MSX_LAYOUT_INIT (hotbi13p) 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) +MACHINE_CONFIG_END + /* MSX - Sony HB-10P */ ROM_START (hb10p) @@ -1987,6 +2166,10 @@ MSX_LAYOUT_INIT (hb10p) 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) +MACHINE_CONFIG_END + /* MSX - Sony HB-20P */ ROM_START (hb20p) @@ -2001,6 +2184,10 @@ MSX_LAYOUT_INIT (hb20p) 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) +MACHINE_CONFIG_END + /* MSX - Sony HB-201 */ ROM_START (hb201) @@ -2018,6 +2205,10 @@ MSX_LAYOUT_INIT (hb201) 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) +MACHINE_CONFIG_END + /* MSX - Sony HB-201P */ ROM_START (hb201p) @@ -2034,6 +2225,10 @@ MSX_LAYOUT_INIT (hb201p) 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) +MACHINE_CONFIG_END + /* MSX - Sony HB-501P */ ROM_START (hb501p) @@ -2048,6 +2243,10 @@ MSX_LAYOUT_INIT (hb501p) 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) +MACHINE_CONFIG_END + /* MSX - Sony HB-55D */ ROM_START (hb55d) @@ -2064,6 +2263,10 @@ MSX_LAYOUT_INIT (hb55d) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hb55d, msx_pal ) + MCFG_MSX_LAYOUT(hb55d) +MACHINE_CONFIG_END + /* MSX - Sony HB-55P */ ROM_START (hb55p) @@ -2081,6 +2284,10 @@ MSX_LAYOUT_INIT (hb55p) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hb55p, msx_pal ) + MCFG_MSX_LAYOUT(hb55p) +MACHINE_CONFIG_END + /* MSX - Sony HB-75D */ ROM_START (hb75d) @@ -2097,6 +2304,10 @@ MSX_LAYOUT_INIT (hb75d) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hb75d, msx_pal ) + MCFG_MSX_LAYOUT(hb75d) +MACHINE_CONFIG_END + /* MSX - Sony HB-75P */ ROM_START (hb75p) @@ -2114,6 +2325,10 @@ MSX_LAYOUT_INIT (hb75p) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hb75p, msx_pal ) + MCFG_MSX_LAYOUT(hb75p) +MACHINE_CONFIG_END + /* MSX - Spectravideo SVI-728 */ ROM_START (svi728) @@ -2130,6 +2345,10 @@ MSX_LAYOUT_INIT (svi728) MSX_LAYOUT_SLOT (3, 1, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( svi728, msx_pal ) + MCFG_MSX_LAYOUT(svi728) +MACHINE_CONFIG_END + /* MSX - Spectravideo SVI-738 */ ROM_START (svi738) @@ -2149,6 +2368,10 @@ MSX_LAYOUT_INIT (svi738) MSX_LAYOUT_SLOT (3, 2, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( svi738, msx_pal ) + MCFG_MSX_LAYOUT(svi738) +MACHINE_CONFIG_END + /* MSX - Spectravideo SVI-738 Swedish */ ROM_START (svi738sw) @@ -2168,6 +2391,10 @@ MSX_LAYOUT_INIT (svi738sw) MSX_LAYOUT_SLOT (3, 2, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( svi738sw, msx_pal ) + MCFG_MSX_LAYOUT(svi738sw) +MACHINE_CONFIG_END + /* MSX - Spectravideo SVI-738 Poland*/ ROM_START (svi738pl) @@ -2187,6 +2414,10 @@ MSX_LAYOUT_INIT (svi738pl) MSX_LAYOUT_SLOT (3, 2, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( svi738pl, msx_pal ) + MCFG_MSX_LAYOUT(svi738pl) +MACHINE_CONFIG_END + /* MSX - Talent DPC-200 / Daewoo DPC-200E */ ROM_START (tadpc200) @@ -2201,6 +2432,9 @@ MSX_LAYOUT_INIT (tadpc200) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( tadpc200, msx_pal ) + MCFG_MSX_LAYOUT(tadpc200) +MACHINE_CONFIG_END /* MSX - Talent DPC-200A */ @@ -2216,6 +2450,10 @@ MSX_LAYOUT_INIT (tadpc20a) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( tadpc20a, msx_pal ) + MCFG_MSX_LAYOUT(tadpc20a) +MACHINE_CONFIG_END + /* MSX - Toshiba HX-10 */ /* The BIOS on the Toshiba HX-10 is inside a big 64pin Toshiba chip label TCX-1007 */ @@ -2231,6 +2469,10 @@ MSX_LAYOUT_INIT (hx10) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hx10, msx_pal ) + MCFG_MSX_LAYOUT(hx10) +MACHINE_CONFIG_END + /* MSX - Toshiba HX-10S */ ROM_START (hx10s) @@ -2245,6 +2487,10 @@ MSX_LAYOUT_INIT (hx10s) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hx10s, msx_pal ) + MCFG_MSX_LAYOUT(hx10s) +MACHINE_CONFIG_END + /* MSX - Toshiba HX-20 */ ROM_START (hx20) @@ -2262,6 +2508,10 @@ MSX_LAYOUT_INIT (hx20) MSX_LAYOUT_SLOT (3, 3, 1, 2, ROM, 0x8000, 0x8000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hx20, msx_pal ) + MCFG_MSX_LAYOUT(hx20) +MACHINE_CONFIG_END + /* MSX - Yamaha CX5M / Yamaha CX5M-2 */ ROM_START (cx5m) @@ -2278,6 +2528,10 @@ MSX_LAYOUT_INIT (cx5m) MSX_LAYOUT_SLOT (3, 0, 2, 2, RAM, 0x8000, 0x0000) /* 32KB RAM */ MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( cx5m, msx_pal ) + MCFG_MSX_LAYOUT(cx5m) +MACHINE_CONFIG_END + /* MSX - Yamaha CX5M-128 */ ROM_START (cx5m128) @@ -2298,6 +2552,10 @@ MSX_LAYOUT_INIT (cx5m128) 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) +MACHINE_CONFIG_END + /* MSX - Yamaha CX5MII */ ROM_START (cx5m2) @@ -2316,6 +2574,10 @@ MSX_LAYOUT_INIT (cx5m2) MSX_LAYOUT_SLOT (3, 3, 0, 2, ROM, 0x8000, 0xc000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( cx5m2, msx_pal ) + MCFG_MSX_LAYOUT(cx5m2) +MACHINE_CONFIG_END + /* MSX - Yamaha YIS303 */ ROM_START (yis303) @@ -2332,6 +2594,10 @@ MSX_LAYOUT_INIT (yis303) 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) +MACHINE_CONFIG_END + /* MSX - Yamaha YIS503 */ ROM_START (yis503) @@ -2348,6 +2614,10 @@ MSX_LAYOUT_INIT (yis503) 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) +MACHINE_CONFIG_END + /* MSX - Yamaha YIS503F */ ROM_START (yis503f) @@ -2362,6 +2632,10 @@ MSX_LAYOUT_INIT (yis503f) 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) +MACHINE_CONFIG_END + /* MSX - Yamaha YIS503II */ ROM_START (yis503ii) @@ -2376,6 +2650,10 @@ MSX_LAYOUT_INIT (yis503ii) 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) +MACHINE_CONFIG_END + /* MSX - Yamaha YIS503IIR Russian */ ROM_START (y503iir) @@ -2394,6 +2672,10 @@ MSX_LAYOUT_INIT (y503iir) 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) +MACHINE_CONFIG_END + /* MSX - Yamaha YIS503IIR Estonian */ ROM_START (y503iir2) @@ -2412,6 +2694,10 @@ MSX_LAYOUT_INIT (y503iir2) 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) +MACHINE_CONFIG_END + /* MSX - Yamaha YIS503M */ ROM_START (yis503m) @@ -2428,6 +2714,10 @@ MSX_LAYOUT_INIT (yis503m) 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) +MACHINE_CONFIG_END + /* MSX - Yashica YC-64 */ ROM_START (yc64) @@ -2442,6 +2732,10 @@ MSX_LAYOUT_INIT (yc64) 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) +MACHINE_CONFIG_END + /* MSX - Yeno MX64 */ ROM_START (mx64) @@ -2456,6 +2750,10 @@ MSX_LAYOUT_INIT (mx64) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( mx64, msx_ntsc ) + MCFG_MSX_LAYOUT(mx64) +MACHINE_CONFIG_END + /* MSX - Frael Bruc 100-1 */ ROM_START (bruc100) @@ -2470,6 +2768,10 @@ MSX_LAYOUT_INIT (bruc100) 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) +MACHINE_CONFIG_END + /******************************** MSX 2 **********************************/ @@ -2493,6 +2795,10 @@ MSX_LAYOUT_INIT (msx2) MSX_LAYOUT_RAMIO_SET_BITS (0xf8) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( msx2_gen, msx2_pal ) + MCFG_MSX_LAYOUT(msx2) +MACHINE_CONFIG_END + /* MSX2 - Al Alamiah AX-350 */ ROM_START (ax350) @@ -2520,6 +2826,10 @@ MSX_LAYOUT_INIT (ax350) MSX_LAYOUT_RAMIO_SET_BITS (0xf8) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( ax350, msx2_pal ) + MCFG_MSX_LAYOUT(ax350) +MACHINE_CONFIG_END + /* MSX2 - Al Alamiah AX-370 */ ROM_START (ax370) @@ -2547,6 +2857,10 @@ MSX_LAYOUT_INIT (ax370) MSX_LAYOUT_RAMIO_SET_BITS (0xf8) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( ax370, msx2_pal ) + MCFG_MSX_LAYOUT(ax370) +MACHINE_CONFIG_END + /* MSX2 - Daewoo CPC-300 */ ROM_START (cpc300) @@ -2568,6 +2882,10 @@ MSX_LAYOUT_INIT (cpc300) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( cpc300, msx2 ) + MCFG_MSX_LAYOUT(cpc300) +MACHINE_CONFIG_END + /* MSX2 - Daewoo CPC-300E */ // These roms apparently came from a hacked set, see: http://www.vik.cc/bluemsx/blueforum/viewtopic.php?t=1569&start=75 @@ -2590,6 +2908,10 @@ MSX_LAYOUT_INIT (cpc300e) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( cpc300e, msx2 ) + MCFG_MSX_LAYOUT(cpc300e) +MACHINE_CONFIG_END + /* MSX2 - Daewoo CPC-400 */ ROM_START (cpc400) ROM_REGION (0x50000, "maincpu", 0) @@ -2614,6 +2936,10 @@ MSX_LAYOUT_INIT (cpc400) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( cpc400, msx2 ) + MCFG_MSX_LAYOUT(cpc400) +MACHINE_CONFIG_END + /* MSX2 - Daewoo CPC-400S */ ROM_START (cpc400s) @@ -2639,6 +2965,10 @@ MSX_LAYOUT_INIT (cpc400s) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( cpc400s, msx2 ) + MCFG_MSX_LAYOUT(cpc400s) +MACHINE_CONFIG_END + /* MSX2 - Gradiente Expert 2.0 */ ROM_START (expert20) @@ -2662,6 +2992,10 @@ MSX_LAYOUT_INIT (expert20) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( expert20, msx2_pal ) + MCFG_MSX_LAYOUT(expert20) +MACHINE_CONFIG_END + /* MSX2 - Mitsubishi ML-G30 Model 1/Model 2 */ ROM_START (mlg30) @@ -2681,6 +3015,10 @@ MSX_LAYOUT_INIT (mlg30) MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB Mapper RAM */ MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( mlg30, msx2 ) + MCFG_MSX_LAYOUT(mlg30) +MACHINE_CONFIG_END + /* MSX2 - National FS-4500 */ ROM_START (fs4500) @@ -2716,6 +3054,10 @@ MSX_LAYOUT_INIT (fs4500) /* MSX_LAYOUT_BUNSETSU (0x74000) */ /* Matsushita Bunsetsu Henkan ROM must be emulated */ MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( fs4500, msx2 ) + MCFG_MSX_LAYOUT(fs4500) +MACHINE_CONFIG_END + /* MSX2 - National FS-4600 */ ROM_START (fs4600) @@ -2749,6 +3091,10 @@ MSX_LAYOUT_INIT (fs4600) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( fs4600, msx2 ) + MCFG_MSX_LAYOUT(fs4600) +MACHINE_CONFIG_END + /* MSX2 - National FS-4700 */ ROM_START (fs4700) @@ -2786,6 +3132,10 @@ MSX_LAYOUT_INIT (fs4700) /* MSX_LAYOUT_BUNSETSU (0x74000) */ /* Matsushita Bunsetsu Henkan ROM must be emulated */ MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( fs4700, msx2 ) + MCFG_MSX_LAYOUT(fs4700) +MACHINE_CONFIG_END + /* MSX2 - National FS-5000 */ ROM_START (fs5000) @@ -2816,6 +3166,10 @@ MSX_LAYOUT_INIT (fs5000) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( fs5000, msx2 ) + MCFG_MSX_LAYOUT(fs5000) +MACHINE_CONFIG_END + /* MSX2 - National FS-5500F1/F2*/ ROM_START (fs5500) @@ -2845,6 +3199,9 @@ MSX_LAYOUT_INIT (fs5500) MSX_LAYOUT_KANJI (0x30000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( fs5500, msx2 ) + MCFG_MSX_LAYOUT(fs5500) +MACHINE_CONFIG_END /* MSX2 - Panasonic FS-A1 */ @@ -2868,6 +3225,10 @@ MSX_LAYOUT_INIT (fsa1) MSX_LAYOUT_SLOT (3, 3, 1, 2, ROM, 0x8000, 0x28000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( fsa1, msx2 ) + MCFG_MSX_LAYOUT(fsa1) +MACHINE_CONFIG_END + /* MSX2 - Panasonic FS-A1 (a) */ ROM_START (fsa1a) @@ -2890,6 +3251,10 @@ MSX_LAYOUT_INIT (fsa1a) MSX_LAYOUT_SLOT (3, 3, 1, 2, ROM, 0x8000, 0x28000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( fsa1a, msx2 ) + MCFG_MSX_LAYOUT(fsa1a) +MACHINE_CONFIG_END + /* MSX2 - Panasonic FS-A1F */ ROM_START (fsa1f) @@ -2917,6 +3282,10 @@ MSX_LAYOUT_INIT (fsa1f) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( fsa1f, msx2 ) + MCFG_MSX_LAYOUT(fsa1f) +MACHINE_CONFIG_END + /* MSX2 - Panasonic FS-A1FM */ ROM_START (fsa1fm) @@ -2945,6 +3314,10 @@ MSX_LAYOUT_INIT (fsa1fm) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( fsa1fm, msx2 ) + MCFG_MSX_LAYOUT(fsa1fm) +MACHINE_CONFIG_END + /* MSX2 - Panasonic FS-A1MK2 */ ROM_START (fsa1mk2) @@ -2970,6 +3343,10 @@ MSX_LAYOUT_INIT (fsa1mk2) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( fsa1mk2, msx2 ) + MCFG_MSX_LAYOUT(fsa1mk2) +MACHINE_CONFIG_END + /* MSX2 - Philips NMS-8220 - 2 possible sets (/00 /16) */ ROM_START (nms8220) @@ -2991,6 +3368,10 @@ MSX_LAYOUT_INIT (nms8220) MSX_LAYOUT_RAMIO_SET_BITS (0xf8) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( nms8220, msx2_pal ) + MCFG_MSX_LAYOUT(nms8220) +MACHINE_CONFIG_END + /* MSX2 - Philips NMS-8220 (a) */ ROM_START (nms8220a) @@ -3012,6 +3393,10 @@ MSX_LAYOUT_INIT (nms8220a) MSX_LAYOUT_RAMIO_SET_BITS (0xf8) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( nms8220a, msx2_pal ) + MCFG_MSX_LAYOUT(nms8220a) +MACHINE_CONFIG_END + /* MSX2 - Philips NMS-8245 - 2 possible sets (/00 /16) */ ROM_START (nms8245) @@ -3031,6 +3416,10 @@ MSX_LAYOUT_INIT (nms8245) MSX_LAYOUT_RAMIO_SET_BITS (0xf8) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( nms8245, msx2_pal ) + MCFG_MSX_LAYOUT(nms8245) +MACHINE_CONFIG_END + /* MSX2 - Philips NMS-8245F */ ROM_START (nms8245f) @@ -3050,6 +3439,10 @@ MSX_LAYOUT_INIT (nms8245f) MSX_LAYOUT_RAMIO_SET_BITS (0xf8) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( nms8245f, msx2_pal ) + MCFG_MSX_LAYOUT(nms8245f) +MACHINE_CONFIG_END + /* MSX2 - Philips NMS-8250 */ /* Labels taken from an NMS-8250/00 */ @@ -3072,6 +3465,10 @@ MSX_LAYOUT_INIT (nms8250) MSX_LAYOUT_RAMIO_SET_BITS (0xf8) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( nms8250, msx2_pal ) + MCFG_MSX_LAYOUT(nms8250) +MACHINE_CONFIG_END + /* MSX2 - Philips NMS-8250J */ ROM_START (nms8250j) @@ -3091,6 +3488,10 @@ MSX_LAYOUT_INIT (nms8250j) MSX_LAYOUT_SLOT (3, 3, 1, 1, DISK_ROM, 0x4000, 0xc000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( nms8250j, msx2 ) + MCFG_MSX_LAYOUT(nms8250j) +MACHINE_CONFIG_END + /* MSX2 - Philips NMS-8255 */ ROM_START (nms8255) @@ -3112,6 +3513,10 @@ MSX_LAYOUT_INIT (nms8255) MSX_LAYOUT_RAMIO_SET_BITS (0xf8) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( nms8255, msx2_pal ) + MCFG_MSX_LAYOUT(nms8255) +MACHINE_CONFIG_END + /* MSX2 - Philips NMS-8280 - 2 possible sets (/00 /16) */ ROM_START (nms8280) @@ -3133,6 +3538,10 @@ MSX_LAYOUT_INIT (nms8280) MSX_LAYOUT_RAMIO_SET_BITS (0xf8) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( nms8280, msx2_pal ) + MCFG_MSX_LAYOUT(nms8280) +MACHINE_CONFIG_END + /* MSX2 - Philips NMS-8280G */ ROM_START (nms8280g) @@ -3154,6 +3563,10 @@ MSX_LAYOUT_INIT (nms8280g) MSX_LAYOUT_RAMIO_SET_BITS (0xf8) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( nms8280g, msx2_pal ) + MCFG_MSX_LAYOUT(nms8280g) +MACHINE_CONFIG_END + /* MSX2 - Philips VG-8230 (u11 - exp, u12 - basic, u13 - disk */ ROM_START (vg8230) @@ -3175,6 +3588,10 @@ MSX_LAYOUT_INIT (vg8230) MSX_LAYOUT_RAMIO_SET_BITS (0xf8) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( vg8230, msx2_pal ) + MCFG_MSX_LAYOUT(vg8230) +MACHINE_CONFIG_END + /* MSX2 - Philips VG-8230J */ ROM_START (vg8230j) @@ -3196,6 +3613,10 @@ MSX_LAYOUT_INIT (vg8230j) MSX_LAYOUT_SLOT (3, 3, 1, 1, DISK_ROM, 0x4000, 0xc000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( vg8230j, msx2 ) + MCFG_MSX_LAYOUT(vg8230j) +MACHINE_CONFIG_END + /* MSX2 - Philips VG-8235 3 psosible basic and ext roms (/00 /02 /19) */ ROM_START (vg8235) @@ -3217,6 +3638,10 @@ MSX_LAYOUT_INIT (vg8235) MSX_LAYOUT_RAMIO_SET_BITS (0xf8) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( vg8235, msx2_pal ) + MCFG_MSX_LAYOUT(vg8235) +MACHINE_CONFIG_END + /* MSX2 - Philips VG-8235F */ ROM_START (vg8235f) @@ -3238,6 +3663,10 @@ MSX_LAYOUT_INIT (vg8235f) MSX_LAYOUT_RAMIO_SET_BITS (0xf8) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( vg8235f, msx2_pal ) + MCFG_MSX_LAYOUT(vg8235f) +MACHINE_CONFIG_END + /* MSX2 - Philips VG-8240 */ ROM_START (vg8240) @@ -3259,6 +3688,10 @@ MSX_LAYOUT_INIT (vg8240) MSX_LAYOUT_RAMIO_SET_BITS (0xf8) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( vg8240, msx2_pal ) + MCFG_MSX_LAYOUT(vg8240) +MACHINE_CONFIG_END + /* MSX2 - Sanyo MPC-2300 */ ROM_START (mpc2300) @@ -3277,6 +3710,10 @@ MSX_LAYOUT_INIT (mpc2300) MSX_LAYOUT_SLOT (3, 1, 0, 1, ROM, 0x4000, 0x8000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( mpc2300, msx2 ) + MCFG_MSX_LAYOUT(mpc2300) +MACHINE_CONFIG_END + /* MSX2 - Sanyo Wavy MPC-25FD */ ROM_START (mpc25fd) @@ -3295,6 +3732,10 @@ MSX_LAYOUT_INIT (mpc25fd) 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) +MACHINE_CONFIG_END + /* MSX2 - Sanyo Wavy PHC-23 */ ROM_START (phc23) @@ -3313,6 +3754,10 @@ MSX_LAYOUT_INIT (phc23) 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) +MACHINE_CONFIG_END + /* MSX2 - Sharp Epcom HotBit 2.0 */ ROM_START (hotbit20) @@ -3336,6 +3781,10 @@ MSX_LAYOUT_INIT (hotbit20) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hotbit20, msx2_pal ) + MCFG_MSX_LAYOUT(hotbit20) +MACHINE_CONFIG_END + /* MSX2 - Sony HB-F1 */ ROM_START (hbf1) @@ -3360,6 +3809,10 @@ MSX_LAYOUT_INIT (hbf1) 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) +MACHINE_CONFIG_END + /* MSX2 - Sony HB-F1II */ ROM_START (hbf12) @@ -3385,6 +3838,10 @@ MSX_LAYOUT_INIT (hbf12) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hbf12, msx2 ) + MCFG_MSX_LAYOUT(hbf12) +MACHINE_CONFIG_END + /* MSX2 - Sony HB-F1XD */ ROM_START (hbf1xd) @@ -3406,6 +3863,10 @@ MSX_LAYOUT_INIT (hbf1xd) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hbf1xd, msx2 ) + MCFG_MSX_LAYOUT(hbf1xd) +MACHINE_CONFIG_END + /* MSX2 - Sony HB-F1XDMK2 */ ROM_START (hbf1xdm2) @@ -3427,6 +3888,10 @@ MSX_LAYOUT_INIT (hbf1xdm2) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hbf1xdm2, msx2 ) + MCFG_MSX_LAYOUT(hbf1xdm2) +MACHINE_CONFIG_END + /* MSX2 - Sony HB-F5 */ ROM_START (hbf5) @@ -3445,6 +3910,10 @@ MSX_LAYOUT_INIT (hbf5) MSX_LAYOUT_SLOT (2, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hbf5, msx2_pal ) + MCFG_MSX_LAYOUT(hbf5) +MACHINE_CONFIG_END + /* MSX2 - Sony HB-F500 */ ROM_START (hbf500) @@ -3468,6 +3937,10 @@ MSX_LAYOUT_INIT (hbf500) MSX_LAYOUT_KANJI (0x20000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hbf500, msx2 ) + MCFG_MSX_LAYOUT(hbf500) +MACHINE_CONFIG_END + /* MSX2 - Sony HB-F500P */ ROM_START (hbf500p) @@ -3489,6 +3962,10 @@ MSX_LAYOUT_INIT (hbf500p) MSX_LAYOUT_SLOT (3, 0, 0, 4, ROM, 0x10000, 0x10000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hbf500p, msx2_pal ) + MCFG_MSX_LAYOUT(hbf500p) +MACHINE_CONFIG_END + /* MSX2 - Sony HB-F700D */ ROM_START (hbf700d) @@ -3509,6 +3986,10 @@ MSX_LAYOUT_INIT (hbf700d) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hbf700d, msx2_pal ) + MCFG_MSX_LAYOUT(hbf700d) +MACHINE_CONFIG_END + /* MSX2 - Sony HB-F700F */ ROM_START (hbf700f) @@ -3529,6 +4010,10 @@ MSX_LAYOUT_INIT (hbf700f) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hbf700f, msx2_pal ) + MCFG_MSX_LAYOUT(hbf700f) +MACHINE_CONFIG_END + /* MSX2 - Sony HB-F700P */ ROM_START (hbf700p) @@ -3549,6 +4034,10 @@ MSX_LAYOUT_INIT (hbf700p) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hbf700p, msx2_pal ) + MCFG_MSX_LAYOUT(hbf700p) +MACHINE_CONFIG_END + /* MSX2 - Sony HB-F700S */ ROM_START (hbf700s) @@ -3569,6 +4058,10 @@ MSX_LAYOUT_INIT (hbf700s) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hbf700s, msx2_pal ) + MCFG_MSX_LAYOUT(hbf700s) +MACHINE_CONFIG_END + /* MSX2 - Sony HB-F900 */ ROM_START (hbf900) ROM_REGION (0x44000, "maincpu", 0) @@ -3593,6 +4086,10 @@ MSX_LAYOUT_INIT (hbf900) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hbf900, msx2 ) + MCFG_MSX_LAYOUT(hbf900) +MACHINE_CONFIG_END + /* MSX2 - Sony HB-F900 (a) */ ROM_START (hbf900a) ROM_REGION (0x44000, "maincpu", 0) @@ -3617,6 +4114,10 @@ MSX_LAYOUT_INIT (hbf900a) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hbf900a, msx2 ) + MCFG_MSX_LAYOUT(hbf900a) +MACHINE_CONFIG_END + /* MSX2 - Sony HB-F9P */ ROM_START (hbf9p) @@ -3639,6 +4140,10 @@ MSX_LAYOUT_INIT (hbf9p) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hbf9p, msx2_pal ) + MCFG_MSX_LAYOUT(hbf9p) +MACHINE_CONFIG_END + /* MSX2 - Sony HB-F9P Russian */ ROM_START (hbf9pr) @@ -3655,6 +4160,10 @@ MSX_LAYOUT_INIT (hbf9pr) MSX_LAYOUT_SLOT (3, 2, 0, 4, RAM_MM, 0x10000, 0x0000) /* 64KB?? Mapper RAM */ MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hbf9pr, msx2_pal ) + MCFG_MSX_LAYOUT(hbf9pr) +MACHINE_CONFIG_END + /* MSX2 - Sony HB-F9S */ ROM_START (hbf9s) @@ -3677,6 +4186,10 @@ MSX_LAYOUT_INIT (hbf9s) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hbf9s, msx2_pal ) + MCFG_MSX_LAYOUT(hbf9s) +MACHINE_CONFIG_END + /* MSX2 - Sony HB-G900AP */ /* IC109 - 32KB Basic ROM SLOT#00 0000-7FFF */ @@ -3708,6 +4221,9 @@ MSX_LAYOUT_INIT (hbg900ap) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hbg900ap, msx2_pal ) + MCFG_MSX_LAYOUT(hbg900ap) +MACHINE_CONFIG_END /* MSX2 - Sony HB-G900P - 3x 32KB ROMs */ @@ -3734,6 +4250,10 @@ MSX_LAYOUT_INIT (hbg900p) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hbg900p, msx2_pal ) + MCFG_MSX_LAYOUT(hbg900p) +MACHINE_CONFIG_END + /* MSX2 - Talent TPC-310 */ ROM_START (tpc310) ROM_REGION (0x2c000, "maincpu", 0) @@ -3758,6 +4278,10 @@ MSX_LAYOUT_INIT (tpc310) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( tpc310, msx2_pal ) + MCFG_MSX_LAYOUT(tpc310) +MACHINE_CONFIG_END + /* MSX2 - Talent TPP-311 */ ROM_START (tpp311) @@ -3774,6 +4298,10 @@ MSX_LAYOUT_INIT (tpp311) MSX_LAYOUT_SLOT (3, 0, 0, 1, ROM, 0x4000, 0x8000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( tpp311, msx2_pal ) + MCFG_MSX_LAYOUT(tpp311) +MACHINE_CONFIG_END + /* MSX2 - Talent TPS-312 */ ROM_START (tps312) @@ -3794,6 +4322,10 @@ MSX_LAYOUT_INIT (tps312) MSX_LAYOUT_SLOT (3, 3, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( tps312, msx2_pal ) + MCFG_MSX_LAYOUT(tps312) +MACHINE_CONFIG_END + /* MSX2 - Toshiba HX-23 */ ROM_START (hx23) @@ -3817,6 +4349,10 @@ MSX_LAYOUT_INIT (hx23) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hx23, msx2_pal ) + MCFG_MSX_LAYOUT(hx23) +MACHINE_CONFIG_END + /* MSX2 - Toshiba HX-23F */ ROM_START (hx23f) @@ -3839,6 +4375,10 @@ MSX_LAYOUT_INIT (hx23f) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hx23f, msx2_pal ) + MCFG_MSX_LAYOUT(hx23f) +MACHINE_CONFIG_END + /* MSX2 - Yamaha CX7M */ ROM_START (cx7m) @@ -3860,6 +4400,10 @@ MSX_LAYOUT_INIT (cx7m) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( cx7m, msx2_pal ) + MCFG_MSX_LAYOUT(cx7m) +MACHINE_CONFIG_END + /* MSX2 - Yamaha CX7M-128 */ ROM_START (cx7m128) @@ -3883,6 +4427,10 @@ MSX_LAYOUT_INIT (cx7m128) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( cx7m128, msx2_pal ) + MCFG_MSX_LAYOUT(cx7m128) +MACHINE_CONFIG_END + /******************************** MSX 2+ **********************************/ /* MSX2+ */ @@ -3909,6 +4457,10 @@ MSX_LAYOUT_INIT (msx2p) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( msx2pgen, msx2p ) + MCFG_MSX_LAYOUT(msx2p) +MACHINE_CONFIG_END + /* MSX2+ - Ciel Expert 3 IDE */ ROM_START (expert3i ) @@ -3931,6 +4483,10 @@ MSX_LAYOUT_INIT (expert3i) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( expert3i, msx2p ) + MCFG_MSX_LAYOUT(expert3i) +MACHINE_CONFIG_END + /* MSX2+ - Ciel Expert 3 Turbo */ /* Uses a Z84C0010 - CMOS processor working at 7 MHz */ @@ -3954,6 +4510,10 @@ MSX_LAYOUT_INIT (expert3t) MSX_LAYOUT_SLOT (3, 0, 0, 4, CARTRIDGE2, 0x0000, 0x0000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( expert3t, msx2p ) + MCFG_MSX_LAYOUT(expert3t) +MACHINE_CONFIG_END + /* MSX2+ - Gradiente Expert AC88+ */ ROM_START (expertac) @@ -3976,6 +4536,10 @@ MSX_LAYOUT_INIT (expertac) MSX_LAYOUT_SLOT (3, 3, 1, 1, ROM, 0x4000, 0x24000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( expertac, msx2p ) + MCFG_MSX_LAYOUT(expertac) +MACHINE_CONFIG_END + /* MSX2+ - Gradiente Expert DDX+ */ ROM_START (expertdx) @@ -3998,6 +4562,10 @@ MSX_LAYOUT_INIT (expertdx) /* Kanji? */ MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( expertdx, msx2p ) + MCFG_MSX_LAYOUT(expertdx) +MACHINE_CONFIG_END + /* MSX2+ - Panasonic FS-A1FX */ ROM_START (fsa1fx) @@ -4025,6 +4593,10 @@ MSX_LAYOUT_INIT (fsa1fx) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( fsa1fx, msx2p ) + MCFG_MSX_LAYOUT(fsa1fx) +MACHINE_CONFIG_END + /* MSX2+ - Panasonic FS-A1WSX */ ROM_START (fsa1wsx) @@ -4055,6 +4627,10 @@ MSX_LAYOUT_INIT (fsa1wsx) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( fsa1wsx, msx2p ) + MCFG_MSX_LAYOUT(fsa1wsx) +MACHINE_CONFIG_END + /* MSX2+ - Panasonic FS-A1WX */ ROM_START (fsa1wx) @@ -4085,6 +4661,10 @@ MSX_LAYOUT_INIT (fsa1wx) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( fsa1wx, msx2p ) + MCFG_MSX_LAYOUT(fsa1wx) +MACHINE_CONFIG_END + /* MSX2+ - Panasonic FS-A1WX (a) */ ROM_START (fsa1wxa) ROM_REGION (0x270000, "maincpu",0) @@ -4114,6 +4694,10 @@ MSX_LAYOUT_INIT (fsa1wxa) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( fsa1wxa, msx2p ) + MCFG_MSX_LAYOUT(fsa1wxa) +MACHINE_CONFIG_END + /* MSX2+ - Sanyo Wavy PHC-35J */ ROM_START (phc35j) @@ -4137,6 +4721,10 @@ MSX_LAYOUT_INIT (phc35j) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( phc35j, msx2p ) + MCFG_MSX_LAYOUT(phc35j) +MACHINE_CONFIG_END + /* MSX2+ - Sanyo Wavy PHC-70FD1 */ ROM_START (phc70fd) @@ -4166,6 +4754,10 @@ MSX_LAYOUT_INIT (phc70fd) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( phc70fd, msx2p ) + MCFG_MSX_LAYOUT(phc70fd) +MACHINE_CONFIG_END + /* MSX2+ - Sanyo Wavy PHC-70FD2 */ ROM_START (phc70fd2) ROM_REGION (0x70000, "maincpu",0) @@ -4194,6 +4786,10 @@ MSX_LAYOUT_INIT (phc70fd2) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( phc70fd2, msx2p ) + MCFG_MSX_LAYOUT(phc70fd2) +MACHINE_CONFIG_END + /* MSX2+ - Sony HB-F1XDJ */ ROM_START (hbf1xdj) @@ -4224,6 +4820,10 @@ MSX_LAYOUT_INIT (hbf1xdj) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hbf1xdj, msx2p ) + MCFG_MSX_LAYOUT(hbf1xdj) +MACHINE_CONFIG_END + /* MSX2+ - Sony HB-F1XV */ ROM_START (hbf1xv) @@ -4254,6 +4854,10 @@ MSX_LAYOUT_INIT (hbf1xv) MSX_LAYOUT_RAMIO_SET_BITS (0x80) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( hbf1xv, msx2p ) + MCFG_MSX_LAYOUT(hbf1xv) +MACHINE_CONFIG_END + /* MSX2+ - Sony HB-F9S+ */ ROM_START (hbf9sp) @@ -4274,6 +4878,10 @@ MSX_LAYOUT_INIT (hbf9sp) 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) +MACHINE_CONFIG_END + /* MSX Turbo-R - Panasonic FS-A1GT */ ROM_START (fsa1gt) @@ -4301,6 +4909,10 @@ MSX_LAYOUT_INIT (fsa1gt) MSX_LAYOUT_SLOT (3, 3, 0, 4, ROM, 0x10000, 0x80000) MSX_LAYOUT_END +static MACHINE_CONFIG_DERIVED( fsa1gt, msx2 ) + MCFG_MSX_LAYOUT(fsa1gt) +MACHINE_CONFIG_END + /* MSX Turbo-R - Panasonic FS-A1ST */ ROM_START (fsa1st) @@ -4328,331 +4940,169 @@ MSX_LAYOUT_INIT (fsa1st) MSX_LAYOUT_SLOT (3, 3, 0, 4, ROM, 0x10000, 0x80000) MSX_LAYOUT_END - -MSX_DRIVER_LIST - /* MSX 1 */ - MSX_DRIVER (msx) - MSX_DRIVER (ax170) - MSX_DRIVER (canonv10) - MSX_DRIVER (canonv20) - MSX_DRIVER (pv16) - MSX_DRIVER (dpc100) - MSX_DRIVER (dpc180) - MSX_DRIVER (dpc200) - MSX_DRIVER (gsfc200) - MSX_DRIVER (expert10) - MSX_DRIVER (expert11) - MSX_DRIVER (expert13) - MSX_DRIVER (expert20) - MSX_DRIVER (expertdp) - MSX_DRIVER (expertpl) - MSX_DRIVER (jvchc7gb) - MSX_DRIVER (mlf80) - MSX_DRIVER (mlfx1) - MSX_DRIVER (cf1200) - MSX_DRIVER (cf2000) - MSX_DRIVER (cf2700) - MSX_DRIVER (cf3000) - MSX_DRIVER (cf3300) - MSX_DRIVER (fs1300) - MSX_DRIVER (fs4000) - MSX_DRIVER (phc2) - MSX_DRIVER (phc28) - MSX_DRIVER (cf2700g) - MSX_DRIVER (nms801) - MSX_DRIVER (vg8000) - MSX_DRIVER (vg8010) - MSX_DRIVER (vg8010f) - MSX_DRIVER (vg802000) - MSX_DRIVER (vg802020) - MSX_DRIVER (vg8020f) - MSX_DRIVER (piopx7) - MSX_DRIVER (spc800) - MSX_DRIVER (mpc64) - MSX_DRIVER (mpc100) - MSX_DRIVER (phc28l) - MSX_DRIVER (phc28s) - MSX_DRIVER (mpc10) - MSX_DRIVER (hotbit11) - MSX_DRIVER (hotbit12) - MSX_DRIVER (hotbi13b) - MSX_DRIVER (hotbi13p) - MSX_DRIVER (hotbit20) - MSX_DRIVER (hb10p) - MSX_DRIVER (hb20p) - MSX_DRIVER (hb201) - MSX_DRIVER (hb201p) - MSX_DRIVER (hb501p) - MSX_DRIVER (hb55d) - MSX_DRIVER (hb55p) - MSX_DRIVER (hb75d) - MSX_DRIVER (hb75p) - MSX_DRIVER (svi728) - MSX_DRIVER (svi738) - MSX_DRIVER (svi738sw) - MSX_DRIVER (svi738pl) - MSX_DRIVER (tadpc200) - MSX_DRIVER (tadpc20a) - MSX_DRIVER (hx10) - MSX_DRIVER (hx10s) - MSX_DRIVER (hx20) - MSX_DRIVER (cx5m) - MSX_DRIVER (cx5m128) - MSX_DRIVER (cx5m2) - MSX_DRIVER (yis303) - MSX_DRIVER (yis503) - MSX_DRIVER (yis503f) - MSX_DRIVER (yis503ii) - MSX_DRIVER (y503iir) - MSX_DRIVER (y503iir2) - MSX_DRIVER (yis503m) - MSX_DRIVER (yc64) - MSX_DRIVER (mx64) - MSX_DRIVER (bruc100) - - - - MSX_DRIVER (msx2) - MSX_DRIVER (ax350) - MSX_DRIVER (ax370) - MSX_DRIVER (nms8220) - MSX_DRIVER (nms8220a) - MSX_DRIVER (vg8230) - MSX_DRIVER (vg8230j) - MSX_DRIVER (vg8235) - MSX_DRIVER (vg8235f) - MSX_DRIVER (vg8240) - MSX_DRIVER (nms8245) - MSX_DRIVER (nms8245f) - MSX_DRIVER (nms8250) - MSX_DRIVER (nms8250j) - MSX_DRIVER (nms8255) - MSX_DRIVER (nms8280) - MSX_DRIVER (nms8280g) - MSX_DRIVER (hbf5) - MSX_DRIVER (hbf9p) - MSX_DRIVER (hbf9pr) - MSX_DRIVER (hbf9s) - MSX_DRIVER (hbf500p) - MSX_DRIVER (hbf700d) - MSX_DRIVER (hbf700f) - MSX_DRIVER (hbf700p) - MSX_DRIVER (hbf700s) - MSX_DRIVER (hbg900ap) - MSX_DRIVER (hbg900p) - MSX_DRIVER (mlg30) - MSX_DRIVER (fs5500) - MSX_DRIVER (fs4500) - MSX_DRIVER (fs4700) - MSX_DRIVER (fs5000) - MSX_DRIVER (fs4600) - MSX_DRIVER (fsa1) - MSX_DRIVER (fsa1a) - MSX_DRIVER (fsa1mk2) - MSX_DRIVER (fsa1f) - MSX_DRIVER (fsa1fm) - MSX_DRIVER (hbf500) - MSX_DRIVER (hbf900) - MSX_DRIVER (hbf900a) - MSX_DRIVER (hbf1) - MSX_DRIVER (hbf12) - MSX_DRIVER (hbf1xd) - MSX_DRIVER (hbf1xdm2) - MSX_DRIVER (mpc2300) - MSX_DRIVER (mpc25fd) - MSX_DRIVER (phc23) - MSX_DRIVER (cpc300) - MSX_DRIVER (cpc300e) - MSX_DRIVER (cpc400) - MSX_DRIVER (cpc400s) - - MSX_DRIVER (msx2p) - MSX_DRIVER (expert3i) - MSX_DRIVER (expert3t) - MSX_DRIVER (expertac) - MSX_DRIVER (expertdx) - MSX_DRIVER (fsa1fx) - MSX_DRIVER (fsa1wx) - MSX_DRIVER (fsa1wxa) - MSX_DRIVER (fsa1wsx) - MSX_DRIVER (hbf1xdj) - MSX_DRIVER (hbf1xv) - MSX_DRIVER (phc70fd) - MSX_DRIVER (phc70fd2) - MSX_DRIVER (phc35j) - MSX_DRIVER (hbf9sp) - - MSX_DRIVER (tpc310) - MSX_DRIVER (tpp311) - MSX_DRIVER (tps312) - MSX_DRIVER (hx23) - MSX_DRIVER (hx23f) - MSX_DRIVER (cx7m) - MSX_DRIVER (cx7m128) - - MSX_DRIVER (fsa1gt) - MSX_DRIVER (fsa1st) -MSX_DRIVER_END +static MACHINE_CONFIG_DERIVED( fsa1st, msx2 ) + MCFG_MSX_LAYOUT(fsa1st) +MACHINE_CONFIG_END /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME */ -COMP(1983, msx, 0, 0, msx_pal, msx, msx_state, msx, "ASCII & Microsoft", "MSX" , 0) +COMP(1983, msx, 0, 0, msx_gen, msx, msx_state, msx, "ASCII & Microsoft", "MSX" , 0) -COMP(1983, ax170, msx, 0, msx_pal, msx, msx_state, msx, "Al Alamiah", "AX-170" , 0) -COMP(1983, canonv10, msx, 0, msx_pal, msx, msx_state, msx, "Canon", "V-10" , 0) -COMP(1983, canonv20, msx, 0, msx_pal, msx, msx_state, msx, "Canon", "V-20" , 0) -COMP(1984, pv16, msx, 0, msx_ntsc, msx, msx_state, msx, "Casio", "PV-16", 0) -COMP(1984, dpc100, msx, 0, msx_ntsc, msxkr, msx_state, msx, "Daewoo", "IQ-1000 DPC-100 (Korea)" , 0) -COMP(1984, dpc180, msx, 0, msx_ntsc, msxkr, msx_state, msx, "Daewoo", "IQ-1000 DPC-180 (Korea)" , 0) -COMP(1984, dpc200, msx, 0, msx_ntsc, msxkr, msx_state, msx, "Daewoo", "IQ-1000 DPC-200 (Korea)" , 0) -COMP(1983, gsfc200, msx, 0, msx_pal, msx, msx_state, msx, "Goldstar", "FC-200" , 0) -COMP(1983, expert10, msx, 0, msx_ntsc, expert10, msx_state, msx, "Gradiente", "Expert 1.0 (Brazil)" , 0) -COMP(1984, expert11, msx, 0, msx_ntsc, expert11, msx_state, msx, "Gradiente", "Expert 1.1 (Brazil)" , 0) -COMP(1984, expert13, msx, 0, msx_ntsc, expert11, msx_state, msx, "Gradiente", "Expert 1.3 (Brazil)" , 0) -COMP(1985, expertdp, msx, 0, msx_ntsc, expert11, msx_state, msx, "Gradiente", "Expert DDPlus (Brazil)", 0) -COMP(1984, expertpl, msx, 0, msx_ntsc, expert11, msx_state, msx, "Gradiente", "Expert Plus (Brazil)" , 0) -COMP(1983, jvchc7gb, msx, 0, msx_pal, msx, msx_state, msx, "JVC", "HC-7GB" , 0) -COMP(1983, mlf80, msx, 0, msx_pal, msx, msx_state, msx, "Mitsubishi", "ML-F80" , 0) -COMP(1983, mlfx1, msx, 0, msx_pal, msx, msx_state, msx, "Mitsubishi", "ML-FX1" , 0) -COMP(1984, cf1200, msx, 0, msx_ntsc, msxjp, msx_state, msx, "National / Matsushita", "CF-1200 (Japan)" , 0) -COMP(1983, cf2000, msx, 0, msx_ntsc, msxjp, msx_state, msx, "National / Matsushita", "CF-2000 (Japan)" , 0) -COMP(1984, cf2700, msx, 0, msx_ntsc, msxjp, msx_state, msx, "National / Matsushita", "CF-2700 (Japan)" , 0) -COMP(1984, cf3000, msx, 0, msx_ntsc, msxjp, msx_state, msx, "National / Matsushita", "CF-3000 (Japan)" , 0) -COMP(1985, cf3300, msx, 0, msx_ntsc, msxjp, msx_state, msx, "National / Matsushita", "CF-3300 (Japan)", 0) -COMP(1985, fs1300, msx, 0, msx_ntsc, msxjp, msx_state, msx, "National / Matsushita", "FS-1300 (Japan)" , 0) -COMP(1985, fs4000, msx, 0, msx_ntsc, msxjp, msx_state, msx, "National / Matsushita", "FS-4000 (Japan)" , 0) -COMP(1983, phc2, msx, 0, msx_pal, msx, msx_state, msx, "Olympia", "PHC-2" , 0) -COMP(19??, phc28, msx, 0, msx_pal, msx, msx_state, msx, "Olympia", "PHC-28", 0) -COMP(1984, cf2700g, msx, 0, msx_pal, msx, msx_state, msx, "Panasonic", "CF-2700G (Germany)", 0) -COMP(1983, nms801, msx, 0, msx_pal, msx, msx_state, msx, "Philips", "NMS-801" , 0) -COMP(1984, vg8000, msx, 0, msx_pal, msx, msx_state, msx, "Philips", "VG-8000" , 0) -COMP(1984, vg8010, msx, 0, msx_pal, msx, msx_state, msx, "Philips", "VG-8010" , 0) -COMP(1984, vg8010f, msx, 0, msx_pal, msx, msx_state, msx, "Philips", "VG-8010F" , 0) -COMP(1985, vg802000, msx, 0, msx_pal, msx, msx_state, msx, "Philips", "VG-8020-00" , 0) -COMP(1985, vg802020, msx, 0, msx_pal, msx, msx_state, msx, "Philips", "VG-8020-20" , 0) -COMP(19??, vg8020f, msx, 0, msx_pal, msx, msx_state, msx, "Philips", "VG-8020F", 0) -COMP(1985, piopx7, msx, 0, msx_pal, msx, msx_state, msx, "Pioneer", "PX-07" , 0) -COMP(19??, spc800, msx, 0, msx_ntsc, msx, msx_state, msx, "Samsung", "SPC-800", 0) -COMP(1985, mpc64, msx, 0, msx_ntsc, msxjp, msx_state, msx, "Sanyo", "MPC-64" , 0) -COMP(1985, mpc100, msx, 0, msx_pal, msx, msx_state, msx, "Sanyo", "MPC-100" , 0) -COMP(1983, phc28l, msx, 0, msx_pal, msx, msx_state, msx, "Sanyo", "PHC-28L", 0) -COMP(1983, phc28s, msx, 0, msx_pal, msx, msx_state, msx, "Sanyo", "PHC-28S", 0) -COMP(19??, mpc10, msx, 0, msx_pal, msx, msx_state, msx, "Sanyo", "Wavy MPC-10", 0) -COMP(1985, hotbit11, msx, 0, msx_ntsc, hotbit, msx_state, msx, "Sharp / Epcom", "HB-8000 Hotbit 1.1" , 0) -COMP(1985, hotbit12, msx, 0, msx_ntsc, hotbit, msx_state, msx, "Sharp / Epcom", "HB-8000 Hotbit 1.2" , 0) -COMP(1985, hotbi13b, msx, 0, msx_ntsc, hotbit, msx_state, msx, "Sharp / Epcom", "HB-8000 Hotbit 1.3b" , 0) -COMP(1985, hotbi13p, msx, 0, msx_ntsc, hotbit, msx_state, msx, "Sharp / Epcom", "HB-8000 Hotbit 1.3p" , 0) -COMP(1985, hb10p, msx, 0, msx_pal, msx, msx_state, msx, "Sony", "HB-10P" , 0) -COMP(1985, hb20p, msx, 0, msx_pal, msx, msx_state, msx, "Sony", "HB-20P (Spanish)" , 0) -COMP(1985, hb201, msx, 0, msx_ntsc, msxjp, msx_state, msx, "Sony", "HB-201 (Japan)" , 0) -COMP(1985, hb201p, msx, 0, msx_pal, msx, msx_state, msx, "Sony", "HB-201P" , 0) -COMP(1984, hb501p, msx, 0, msx_pal, msx, msx_state, msx, "Sony", "HB-501P" , 0) -COMP(1983, hb55d, msx, 0, msx_pal, msx, msx_state, msx, "Sony", "HB-55D (Germany)" , 0) -COMP(1983, hb55p, msx, 0, msx_pal, msx, msx_state, msx, "Sony", "HB-55P" , 0) -COMP(1983, hb75d, msx, 0, msx_pal, msx, msx_state, msx, "Sony", "HB-75D (Germany)" , 0) -COMP(1983, hb75p, msx, 0, msx_pal, msx, msx_state, msx, "Sony", "HB-75P" , 0) -COMP(1985, svi728, msx, 0, msx_pal, msx, msx_state, msx, "Spectravideo", "SVI-728", 0) -COMP(1985, svi738, msx, 0, msx_pal, msx, msx_state, msx, "Spectravideo", "SVI-738", 0) -COMP(1985, svi738sw, msx, 0, msx_pal, msx, msx_state, msx, "Spectravideo", "SVI-738 (Swedish)", 0) -COMP(1985, svi738pl, msx, 0, msx_pal, msx, msx_state, msx, "Spectravideo", "SVI-738 (Poland)", 0) -COMP(1983, tadpc200, msx, 0, msx_pal, msx, msx_state, msx, "Talent", "DPC-200" , 0) -COMP(1983, tadpc20a, msx, 0, msx_pal, msx, msx_state, msx, "Talent", "DPC-200A" , 0) -COMP(1984, hx10, msx, 0, msx_pal, msx, msx_state, msx, "Toshiba", "HX-10" , 0) -COMP(1984, hx10s, msx, 0, msx_pal, msx, msx_state, msx, "Toshiba", "HX-10S" , 0) -COMP(1984, hx20, msx, 0, msx_pal, msx, msx_state, msx, "Toshiba", "HX-20" , 0) -COMP(1984, cx5m, msx, 0, msx_pal, msx, msx_state, msx, "Yamaha", "CX5M" , 0) -COMP(1984, cx5m128, msx, 0, msx_pal, msx, msx_state, msx, "Yamaha", "CX5M-128" , 0) -COMP(1984, cx5m2, msx, 0, msx_pal, msx, msx_state, msx, "Yamaha", "CX5MII" , 0) -COMP(1984, yis303, msx, 0, msx_pal, msx, msx_state, msx, "Yamaha", "YIS303" , 0) -COMP(1984, yis503, msx, 0, msx_pal, msx, msx_state, msx, "Yamaha", "YIS503" , 0) -COMP(19??, yis503f, msx, 0, msx_pal, msx, msx_state, msx, "Yamaha", "YIS503F", 0) -COMP(1984, yis503ii, msx, 0, msx_pal, msx, msx_state, msx, "Yamaha", "YIS503II" , 0) -COMP(1986, y503iir, msx, 0, msx_pal, msx, msx_state, msx, "Yamaha", "YIS503IIR (Russian)" , 0) -COMP(1986, y503iir2, msx, 0, msx_pal, msx, msx_state, msx, "Yamaha", "YIS503IIR (Estonian)" , 0) -COMP(1984, yis503m, msx, 0, msx_pal, msx, msx_state, msx, "Yamaha", "YIS503M", 0) -COMP(1984, yc64, msx, 0, msx_pal, msx, msx_state, msx, "Yashica", "YC-64" , 0) -COMP(1984, mx64, msx, 0, msx_ntsc, msxkr, msx_state, msx, "Yeno", "MX64" , 0) -COMP(1984, bruc100, msx, 0, msx_pal, msx, msx_state, msx, "Frael", "Bruc 100-1" , 0) +COMP(1983, ax170, msx, 0, ax170, msx, msx_state, msx, "Al Alamiah", "AX-170" , 0) +COMP(1983, canonv10, msx, 0, canonv10, msx, msx_state, msx, "Canon", "V-10" , 0) +COMP(1983, canonv20, msx, 0, canonv20, msx, msx_state, msx, "Canon", "V-20" , 0) +COMP(1984, pv16, msx, 0, pv16, msx, msx_state, msx, "Casio", "PV-16", 0) +COMP(1984, dpc100, msx, 0, dpc100, msxkr, msx_state, msx, "Daewoo", "IQ-1000 DPC-100 (Korea)" , 0) +COMP(1984, dpc180, msx, 0, dpc180, msxkr, msx_state, msx, "Daewoo", "IQ-1000 DPC-180 (Korea)" , 0) +COMP(1984, dpc200, msx, 0, dpc200, msxkr, msx_state, msx, "Daewoo", "IQ-1000 DPC-200 (Korea)" , 0) +COMP(1983, gsfc200, msx, 0, gsfc200, msx, msx_state, msx, "Goldstar", "FC-200" , 0) +COMP(1983, expert10, msx, 0, expert10, expert10, msx_state, msx, "Gradiente", "Expert 1.0 (Brazil)" , 0) +COMP(1984, expert11, msx, 0, expert11, expert11, msx_state, msx, "Gradiente", "Expert 1.1 (Brazil)" , 0) +COMP(1984, expert13, msx, 0, expert13, expert11, msx_state, msx, "Gradiente", "Expert 1.3 (Brazil)" , 0) +COMP(1985, expertdp, msx, 0, expertdp, expert11, msx_state, msx, "Gradiente", "Expert DDPlus (Brazil)", 0) +COMP(1984, expertpl, msx, 0, expertpl, expert11, msx_state, msx, "Gradiente", "Expert Plus (Brazil)" , 0) +COMP(1983, jvchc7gb, msx, 0, jvchc7gb, msx, msx_state, msx, "JVC", "HC-7GB" , 0) +COMP(1983, mlf80, msx, 0, mlf80, msx, msx_state, msx, "Mitsubishi", "ML-F80" , 0) +COMP(1983, mlfx1, msx, 0, mlfx1, msx, msx_state, msx, "Mitsubishi", "ML-FX1" , 0) +COMP(1984, cf1200, msx, 0, cf1200, msxjp, msx_state, msx, "National / Matsushita", "CF-1200 (Japan)" , 0) +COMP(1983, cf2000, msx, 0, cf2000, msxjp, msx_state, msx, "National / Matsushita", "CF-2000 (Japan)" , 0) +COMP(1984, cf2700, msx, 0, cf2700, msxjp, msx_state, msx, "National / Matsushita", "CF-2700 (Japan)" , 0) +COMP(1984, cf3000, msx, 0, cf3000, msxjp, msx_state, msx, "National / Matsushita", "CF-3000 (Japan)" , 0) +COMP(1985, cf3300, msx, 0, cf3300, msxjp, msx_state, msx, "National / Matsushita", "CF-3300 (Japan)", 0) +COMP(1985, fs1300, msx, 0, fs1300, msxjp, msx_state, msx, "National / Matsushita", "FS-1300 (Japan)" , 0) +COMP(1985, fs4000, msx, 0, fs4000, msxjp, msx_state, msx, "National / Matsushita", "FS-4000 (Japan)" , 0) +COMP(1983, phc2, msx, 0, phc2, msx, msx_state, msx, "Olympia", "PHC-2" , 0) +COMP(19??, phc28, msx, 0, phc28, msx, msx_state, msx, "Olympia", "PHC-28", 0) +COMP(1984, cf2700g, msx, 0, cf2700g, msx, msx_state, msx, "Panasonic", "CF-2700G (Germany)", 0) +COMP(1983, nms801, msx, 0, nms801, msx, msx_state, msx, "Philips", "NMS-801" , 0) +COMP(1984, vg8000, msx, 0, vg8000, msx, msx_state, msx, "Philips", "VG-8000" , 0) +COMP(1984, vg8010, msx, 0, vg8010, msx, msx_state, msx, "Philips", "VG-8010" , 0) +COMP(1984, vg8010f, msx, 0, vg8010f, msx, msx_state, msx, "Philips", "VG-8010F" , 0) +COMP(1985, vg802000, msx, 0, vg802000, msx, msx_state, msx, "Philips", "VG-8020-00" , 0) +COMP(1985, vg802020, msx, 0, vg802020, msx, msx_state, msx, "Philips", "VG-8020-20" , 0) +COMP(19??, vg8020f, msx, 0, vg8020f, msx, msx_state, msx, "Philips", "VG-8020F", 0) +COMP(1985, piopx7, msx, 0, piopx7, msx, msx_state, msx, "Pioneer", "PX-07" , 0) +COMP(19??, spc800, msx, 0, spc800, msx, msx_state, msx, "Samsung", "SPC-800", 0) +COMP(1985, mpc64, msx, 0, mpc64, msxjp, msx_state, msx, "Sanyo", "MPC-64" , 0) +COMP(1985, mpc100, msx, 0, mpc100, msx, msx_state, msx, "Sanyo", "MPC-100" , 0) +COMP(1983, phc28l, msx, 0, phc28l, msx, msx_state, msx, "Sanyo", "PHC-28L", 0) +COMP(1983, phc28s, msx, 0, phc28s, msx, msx_state, msx, "Sanyo", "PHC-28S", 0) +COMP(19??, mpc10, msx, 0, mpc10, msx, msx_state, msx, "Sanyo", "Wavy MPC-10", 0) +COMP(1985, hotbit11, msx, 0, hotbit11, hotbit, msx_state, msx, "Sharp / Epcom", "HB-8000 Hotbit 1.1" , 0) +COMP(1985, hotbit12, msx, 0, hotbit12, hotbit, msx_state, msx, "Sharp / Epcom", "HB-8000 Hotbit 1.2" , 0) +COMP(1985, hotbi13b, msx, 0, hotbi13b, hotbit, msx_state, msx, "Sharp / Epcom", "HB-8000 Hotbit 1.3b" , 0) +COMP(1985, hotbi13p, msx, 0, hotbi13p, hotbit, msx_state, msx, "Sharp / Epcom", "HB-8000 Hotbit 1.3p" , 0) +COMP(1985, hb10p, msx, 0, hb10p, msx, msx_state, msx, "Sony", "HB-10P" , 0) +COMP(1985, hb20p, msx, 0, hb20p, msx, msx_state, msx, "Sony", "HB-20P (Spanish)" , 0) +COMP(1985, hb201, msx, 0, hb201, msxjp, msx_state, msx, "Sony", "HB-201 (Japan)" , 0) +COMP(1985, hb201p, msx, 0, hb201p, msx, msx_state, msx, "Sony", "HB-201P" , 0) +COMP(1984, hb501p, msx, 0, hb501p, msx, msx_state, msx, "Sony", "HB-501P" , 0) +COMP(1983, hb55d, msx, 0, hb55d, msx, msx_state, msx, "Sony", "HB-55D (Germany)" , 0) +COMP(1983, hb55p, msx, 0, hb55p, msx, msx_state, msx, "Sony", "HB-55P" , 0) +COMP(1983, hb75d, msx, 0, hb75d, msx, msx_state, msx, "Sony", "HB-75D (Germany)" , 0) +COMP(1983, hb75p, msx, 0, hb75p, msx, msx_state, msx, "Sony", "HB-75P" , 0) +COMP(1985, svi728, msx, 0, svi728, msx, msx_state, msx, "Spectravideo", "SVI-728", 0) +COMP(1985, svi738, msx, 0, svi738, msx, msx_state, msx, "Spectravideo", "SVI-738", 0) +COMP(1985, svi738sw, msx, 0, svi738sw, msx, msx_state, msx, "Spectravideo", "SVI-738 (Swedish)", 0) +COMP(1985, svi738pl, msx, 0, svi738pl, msx, msx_state, msx, "Spectravideo", "SVI-738 (Poland)", 0) +COMP(1983, tadpc200, msx, 0, tadpc200, msx, msx_state, msx, "Talent", "DPC-200" , 0) +COMP(1983, tadpc20a, msx, 0, tadpc20a, msx, msx_state, msx, "Talent", "DPC-200A" , 0) +COMP(1984, hx10, msx, 0, hx10, msx, msx_state, msx, "Toshiba", "HX-10" , 0) +COMP(1984, hx10s, msx, 0, hx10s, msx, msx_state, msx, "Toshiba", "HX-10S" , 0) +COMP(1984, hx20, msx, 0, hx20, msx, msx_state, msx, "Toshiba", "HX-20" , 0) +COMP(1984, cx5m, msx, 0, cx5m, msx, msx_state, msx, "Yamaha", "CX5M" , 0) +COMP(1984, cx5m128, msx, 0, cx5m128, msx, msx_state, msx, "Yamaha", "CX5M-128" , 0) +COMP(1984, cx5m2, msx, 0, cx5m2, msx, msx_state, msx, "Yamaha", "CX5MII" , 0) +COMP(1984, yis303, msx, 0, yis303, msx, msx_state, msx, "Yamaha", "YIS303" , 0) +COMP(1984, yis503, msx, 0, yis503, msx, msx_state, msx, "Yamaha", "YIS503" , 0) +COMP(19??, yis503f, msx, 0, yis503f, msx, msx_state, msx, "Yamaha", "YIS503F", 0) +COMP(1984, yis503ii, msx, 0, yis503ii, msx, msx_state, msx, "Yamaha", "YIS503II" , 0) +COMP(1986, y503iir, msx, 0, y503iir, msx, msx_state, msx, "Yamaha", "YIS503IIR (Russian)" , 0) +COMP(1986, y503iir2, msx, 0, y503iir2, msx, msx_state, msx, "Yamaha", "YIS503IIR (Estonian)" , 0) +COMP(1984, yis503m, msx, 0, yis503m, msx, msx_state, msx, "Yamaha", "YIS503M", 0) +COMP(1984, yc64, msx, 0, yc64, msx, msx_state, msx, "Yashica", "YC-64" , 0) +COMP(1984, mx64, msx, 0, mx64, msxkr, msx_state, msx, "Yeno", "MX64" , 0) +COMP(1984, bruc100, msx, 0, bruc100, msx, msx_state, msx, "Frael", "Bruc 100-1" , 0) -COMP(1985, msx2, 0, msx, msx2_pal, msx2, msx_state, msx, "ASCII & Microsoft", "MSX2", 0) -COMP(1986, ax350, msx2, 0, msx2_pal, msx2, msx_state, msx, "Al Alamiah", "AX-350", 0) -COMP(1986, ax370, msx2, 0, msx2_pal, msx2, msx_state, msx, "Al Alamiah", "AX-370", 0) -COMP(1986, expert20, msx2, 0, msx2_pal, msx2, msx_state, msx, "Gradiente", "Expert 2.0 (Brazil)" , GAME_NOT_WORKING) // Black screen -COMP(1986, nms8220, msx2, 0, msx2_pal, msx2, msx_state, msx, "Philips", "NMS-8220 (12-jun-1986)", 0) -COMP(1986, nms8220a, msx2, 0, msx2_pal, msx2, msx_state, msx, "Philips", "NMS-8220 (13-aug-1986)", 0) -COMP(1986, vg8230, msx2, 0, msx2_pal, msx2, msx_state, msx, "Philips", "VG-8230", 0) -COMP(1986, vg8235, msx2, 0, msx2_pal, msx2, msx_state, msx, "Philips", "VG-8235", 0) -COMP(1986, vg8235f, msx2, 0, msx2_pal, msx2, msx_state, msx, "Philips", "VG-8235F", 0) -COMP(1986, vg8240, msx2, 0, msx2_pal, msx2, msx_state, msx, "Philips", "VG-8240", 0) -COMP(1986, nms8245, msx2, 0, msx2_pal, msx2, msx_state, msx, "Philips", "NMS-8245", 0) -COMP(1986, nms8245f, msx2, 0, msx2_pal, msx2, msx_state, msx, "Philips", "NMS-8245F", 0) -COMP(1986, nms8250, msx2, 0, msx2_pal, msx2, msx_state, msx, "Philips", "NMS-8250", 0) -COMP(1986, nms8255, msx2, 0, msx2_pal, msx2, msx_state, msx, "Philips", "NMS-8255", 0) -COMP(1986, nms8280, msx2, 0, msx2_pal, msx2, msx_state, msx, "Philips", "NMS-8280", 0) -COMP(1986, nms8280g, msx2, 0, msx2_pal, msx2, msx_state, msx, "Philips", "NMS-8280G", 0) -COMP(19??, hbf5, msx2, 0, msx2_pal, msx2, msx_state, msx, "Sony", "HB-F5", GAME_NOT_WORKING) // Will not go into basic -COMP(1985, hbf9p, msx2, 0, msx2_pal, msx2, msx_state, msx, "Sony", "HB-F9P" , 0) -COMP(19??, hbf9pr, msx2, 0, msx2_pal, msx2, msx_state, msx, "Sony", "HB-F9P Russion", GAME_NOT_WORKING) // Keyboard responds differently -COMP(1985, hbf9s, msx2, 0, msx2_pal, msx2, msx_state, msx, "Sony", "HB-F9S" , 0) -COMP(1985, hbf500p, msx2, 0, msx2_pal, msx2, msx_state, msx, "Sony", "HB-F500P", 0) -COMP(1985, hbf700d, msx2, 0, msx2_pal, msx2, msx_state, msx, "Sony", "HB-F700D (Germany)" , 0) -COMP(1985, hbf700f, msx2, 0, msx2_pal, msx2, msx_state, msx, "Sony", "HB-F700F" , 0) -COMP(1985, hbf700p, msx2, 0, msx2_pal, msx2, msx_state, msx, "Sony", "HB-F700P" , 0) -COMP(1985, hbf700s, msx2, 0, msx2_pal, msx2, msx_state, msx, "Sony", "HB-F700S (Spain)", 0) -COMP(1986, hbg900ap, msx2, 0, msx2_pal, msx2, msx_state, msx, "Sony", "HB-G900AP", 0 ) -COMP(1986, hbg900p, msx2, 0, msx2_pal, msx2, msx_state, msx, "Sony", "HB-G900P", 0 ) -COMP(1986, hotbit20, msx2, 0, msx2_pal, msx2, msx_state, msx, "Sharp / Epcom", "HB-8000 Hotbit 2.0" , GAME_NOT_WORKING) // Black screen -COMP(1986, tpc310, msx2, 0, msx2_pal, msx2, msx_state, msx, "Talent", "TPC-310", 0) -COMP(19??, tpp311, msx2, 0, msx2_pal, msx2, msx_state, msx, "Talent", "TPP-311", 0) -COMP(19??, tps312, msx2, 0, msx2_pal, msx2, msx_state, msx, "Talent", "TPS-312", 0) -COMP(1986, hx23, msx2, 0, msx2_pal, msx2, msx_state, msx, "Toshiba", "HX-23", 0) -COMP(1986, hx23f, msx2, 0, msx2_pal, msx2, msx_state, msx, "Toshiba", "HX-23F", 0) -COMP(1986, cx7m, msx2, 0, msx2_pal, msx2, msx_state, msx, "Yamaha", "CX7M" , 0) -COMP(1986, cx7m128, msx2, 0, msx2_pal, msx2, msx_state, msx, "Yamaha", "CX7M-128", 0) -COMP(1983, mlg30, msx2, 0, msx2, msx2, msx_state, msx, "Mistubishi", "ML-G30", GAME_NOT_WORKING) // Screen flashes a few times before going into basic -COMP(1985, fs5500, msx2, 0, msx2, msx2jp, msx_state, msx, "National / Matsushita", "FS-5500F1/F2 (Japan)", 0 ) -COMP(1986, fs4500, msx2, 0, msx2, msx2jp, msx_state, msx, "National / Matsushita", "FS-4500 (Japan)", 0 ) -COMP(1986, fs4700, msx2, 0, msx2, msx2jp, msx_state, msx, "National / Matsushita", "FS-4700 (Japan)", 0 ) -COMP(1986, fs5000, msx2, 0, msx2, msx2jp, msx_state, msx, "National / Matsushita", "FS-5000F2 (Japan)", 0 ) -COMP(1986, fs4600, msx2, 0, msx2, msx2jp, msx_state, msx, "National / Matsushita", "FS-4600 (Japan)", 0 ) -COMP(1986, fsa1, msx2, 0, msx2, msx2jp, msx_state, msx, "Panasonic / Matsushita", "FS-A1 / 1st released version (Japan)", 0) -COMP(1986, fsa1a, msx2, 0, msx2, msx2jp, msx_state, msx, "Panasonic / Matsushita", "FS-A1 / 2nd released version (Japan)", 0) -COMP(1987, fsa1mk2, msx2, 0, msx2, msx2jp, msx_state, msx, "Panasonic / Matsushita", "FS-A1MK2 (Japan)", 0) -COMP(1987, fsa1f, msx2, 0, msx2, msx2jp, msx_state, msx, "Panasonic / Matsushita", "FS-A1F (Japan)", 0 ) -COMP(1987, fsa1fm, msx2, 0, msx2, msx2jp, msx_state, msx, "Panasonic / Matsushita", "FS-A1FM (Japan)", 0 ) -COMP(19??, nms8250j, msx2, 0, msx2, msx2jp, msx_state, msx, "Philips", "NMS-8250J", GAME_NOT_WORKING) // Screen flashes a few times before going into basic -COMP(19??, vg8230j, msx2, 0, msx2, msx2jp, msx_state, msx, "Philips", "VG-8230J", GAME_NOT_WORKING) // Screen flashes a few times before going into basic -COMP(1986, hbf500, msx2, 0, msx2, msx2jp, msx_state, msx, "Sony", "HB-F500 (Japan)", 0) -COMP(1986, hbf900, msx2, 0, msx2, msx2jp, msx_state, msx, "Sony", "HB-F900 / 1st released version (Japan)", 0) -COMP(1986, hbf900a, msx2, 0, msx2, msx2jp, msx_state, msx, "Sony", "HB-F900 / 2nd released version (Japan)", 0) -COMP(1986, hbf1, msx2, 0, msx2, msx2jp, msx_state, msx, "Sony", "HB-F1 (Japan)", GAME_NOT_WORKING ) // Screen stays a single color after a while -COMP(1987, hbf12, msx2, 0, msx2, msx2jp, msx_state, msx, "Sony", "HB-F1II (Japan)", GAME_NOT_WORKING ) // Screen stays a single color after a while -COMP(1987, hbf1xd, msx2, 0, msx2, msx2jp, msx_state, msx, "Sony", "HB-F1XD (Japan)", 0) -COMP(1988, hbf1xdm2, msx2, 0, msx2, msx2jp, msx_state, msx, "Sony", "HB-F1XDMK2 (Japan)", 0) -COMP(19??, mpc2300, msx2, 0, msx2, msx2, msx_state, msx, "Sanyo", "MPC-2300", GAME_NOT_WORKING) // Keyboard responds differently -COMP(19??, mpc25fd, msx2, 0, msx2, msx2, msx_state, msx, "Sanyo", "Wavy MPC-25FD", GAME_NOT_WORKING) // Screen stays black -COMP(1988, phc23, msx2, 0, msx2, msx2jp, msx_state, msx, "Sanyo", "Wavy PHC-23 (Japan)", 0) -COMP(1986, cpc300, msx2, 0, msx2, msx2kr, msx_state, msx, "Daewoo", "IQ-2000 CPC-300 (Korea)", 0) -COMP(1986, cpc300e, msx2, 0, msx2, msx2kr, msx_state, msx, "Daewoo", "IQ-2000 CPC-300E (Korea)", 0) -COMP(1988, cpc400, msx2, 0, msx2, msx2kr, msx_state, msx, "Daewoo", "X-II CPC-400 (Korea)", 0 ) -COMP(1988, cpc400s, msx2, 0, msx2, msx2kr, msx_state, msx, "Daewoo", "X-II CPC-400S (Korea)", 0 ) +COMP(1985, msx2, 0, msx, msx2_gen, msx2, msx_state, msx, "ASCII & Microsoft", "MSX2", 0) +COMP(1986, ax350, msx2, 0, ax350, msx2, msx_state, msx, "Al Alamiah", "AX-350", 0) +COMP(1986, ax370, msx2, 0, ax370, msx2, msx_state, msx, "Al Alamiah", "AX-370", 0) +COMP(1986, expert20, msx2, 0, expert20, msx2, msx_state, msx, "Gradiente", "Expert 2.0 (Brazil)" , GAME_NOT_WORKING) // Black screen +COMP(1986, nms8220, msx2, 0, nms8220, msx2, msx_state, msx, "Philips", "NMS-8220 (12-jun-1986)", 0) +COMP(1986, nms8220a, msx2, 0, nms8220a, msx2, msx_state, msx, "Philips", "NMS-8220 (13-aug-1986)", 0) +COMP(1986, vg8230, msx2, 0, vg8230, msx2, msx_state, msx, "Philips", "VG-8230", 0) +COMP(1986, vg8235, msx2, 0, vg8235, msx2, msx_state, msx, "Philips", "VG-8235", 0) +COMP(1986, vg8235f, msx2, 0, vg8235f, msx2, msx_state, msx, "Philips", "VG-8235F", 0) +COMP(1986, vg8240, msx2, 0, vg8240, msx2, msx_state, msx, "Philips", "VG-8240", 0) +COMP(1986, nms8245, msx2, 0, nms8245, msx2, msx_state, msx, "Philips", "NMS-8245", 0) +COMP(1986, nms8245f, msx2, 0, nms8245f, msx2, msx_state, msx, "Philips", "NMS-8245F", 0) +COMP(1986, nms8250, msx2, 0, nms8250, msx2, msx_state, msx, "Philips", "NMS-8250", 0) +COMP(1986, nms8255, msx2, 0, nms8255, msx2, msx_state, msx, "Philips", "NMS-8255", 0) +COMP(1986, nms8280, msx2, 0, nms8280, msx2, msx_state, msx, "Philips", "NMS-8280", 0) +COMP(1986, nms8280g, msx2, 0, nms8280g, msx2, msx_state, msx, "Philips", "NMS-8280G", 0) +COMP(19??, hbf5, msx2, 0, hbf5, msx2, msx_state, msx, "Sony", "HB-F5", GAME_NOT_WORKING) // Will not go into basic +COMP(1985, hbf9p, msx2, 0, hbf9p, msx2, msx_state, msx, "Sony", "HB-F9P" , 0) +COMP(19??, hbf9pr, msx2, 0, hbf9pr, msx2, msx_state, msx, "Sony", "HB-F9P Russion", GAME_NOT_WORKING) // Keyboard responds differently +COMP(1985, hbf9s, msx2, 0, hbf9s, msx2, msx_state, msx, "Sony", "HB-F9S" , 0) +COMP(1985, hbf500p, msx2, 0, hbf500p, msx2, msx_state, msx, "Sony", "HB-F500P", 0) +COMP(1985, hbf700d, msx2, 0, hbf700d, msx2, msx_state, msx, "Sony", "HB-F700D (Germany)" , 0) +COMP(1985, hbf700f, msx2, 0, hbf700f, msx2, msx_state, msx, "Sony", "HB-F700F" , 0) +COMP(1985, hbf700p, msx2, 0, hbf700p, msx2, msx_state, msx, "Sony", "HB-F700P" , 0) +COMP(1985, hbf700s, msx2, 0, hbf700s, msx2, msx_state, msx, "Sony", "HB-F700S (Spain)", 0) +COMP(1986, hbg900ap, msx2, 0, hbg900ap, msx2, msx_state, msx, "Sony", "HB-G900AP", 0 ) +COMP(1986, hbg900p, msx2, 0, hbg900p, msx2, msx_state, msx, "Sony", "HB-G900P", 0 ) +COMP(1986, hotbit20, msx2, 0, hotbit20, msx2, msx_state, msx, "Sharp / Epcom", "HB-8000 Hotbit 2.0" , GAME_NOT_WORKING) // Black screen +COMP(1986, tpc310, msx2, 0, tpc310, msx2, msx_state, msx, "Talent", "TPC-310", 0) +COMP(19??, tpp311, msx2, 0, tpp311, msx2, msx_state, msx, "Talent", "TPP-311", 0) +COMP(19??, tps312, msx2, 0, tps312, msx2, msx_state, msx, "Talent", "TPS-312", 0) +COMP(1986, hx23, msx2, 0, hx23, msx2, msx_state, msx, "Toshiba", "HX-23", 0) +COMP(1986, hx23f, msx2, 0, hx23f, msx2, msx_state, msx, "Toshiba", "HX-23F", 0) +COMP(1986, cx7m, msx2, 0, cx7m, msx2, msx_state, msx, "Yamaha", "CX7M" , 0) +COMP(1986, cx7m128, msx2, 0, cx7m128, msx2, msx_state, msx, "Yamaha", "CX7M-128", 0) +COMP(1983, mlg30, msx2, 0, mlg30, msx2, msx_state, msx, "Mistubishi", "ML-G30", GAME_NOT_WORKING) // Screen flashes a few times before going into basic +COMP(1985, fs5500, msx2, 0, fs5500, msx2jp, msx_state, msx, "National / Matsushita", "FS-5500F1/F2 (Japan)", 0 ) +COMP(1986, fs4500, msx2, 0, fs4500, msx2jp, msx_state, msx, "National / Matsushita", "FS-4500 (Japan)", 0 ) +COMP(1986, fs4700, msx2, 0, fs4700, msx2jp, msx_state, msx, "National / Matsushita", "FS-4700 (Japan)", 0 ) +COMP(1986, fs5000, msx2, 0, fs5000, msx2jp, msx_state, msx, "National / Matsushita", "FS-5000F2 (Japan)", 0 ) +COMP(1986, fs4600, msx2, 0, fs4600, msx2jp, msx_state, msx, "National / Matsushita", "FS-4600 (Japan)", 0 ) +COMP(1986, fsa1, msx2, 0, fsa1, msx2jp, msx_state, msx, "Panasonic / Matsushita", "FS-A1 / 1st released version (Japan)", 0) +COMP(1986, fsa1a, msx2, 0, fsa1a, msx2jp, msx_state, msx, "Panasonic / Matsushita", "FS-A1 / 2nd released version (Japan)", 0) +COMP(1987, fsa1mk2, msx2, 0, fsa1mk2, msx2jp, msx_state, msx, "Panasonic / Matsushita", "FS-A1MK2 (Japan)", 0) +COMP(1987, fsa1f, msx2, 0, fsa1f, msx2jp, msx_state, msx, "Panasonic / Matsushita", "FS-A1F (Japan)", 0 ) +COMP(1987, fsa1fm, msx2, 0, fsa1fm, msx2jp, msx_state, msx, "Panasonic / Matsushita", "FS-A1FM (Japan)", 0 ) +COMP(19??, nms8250j, msx2, 0, nms8250j, msx2jp, msx_state, msx, "Philips", "NMS-8250J", GAME_NOT_WORKING) // Screen flashes a few times before going into basic +COMP(19??, vg8230j, msx2, 0, vg8230j, msx2jp, msx_state, msx, "Philips", "VG-8230J", GAME_NOT_WORKING) // Screen flashes a few times before going into basic +COMP(1986, hbf500, msx2, 0, hbf500, msx2jp, msx_state, msx, "Sony", "HB-F500 (Japan)", 0) +COMP(1986, hbf900, msx2, 0, hbf900, msx2jp, msx_state, msx, "Sony", "HB-F900 / 1st released version (Japan)", 0) +COMP(1986, hbf900a, msx2, 0, hbf900a, msx2jp, msx_state, msx, "Sony", "HB-F900 / 2nd released version (Japan)", 0) +COMP(1986, hbf1, msx2, 0, hbf1, msx2jp, msx_state, msx, "Sony", "HB-F1 (Japan)", GAME_NOT_WORKING ) // Screen stays a single color after a while +COMP(1987, hbf12, msx2, 0, hbf12, msx2jp, msx_state, msx, "Sony", "HB-F1II (Japan)", GAME_NOT_WORKING ) // Screen stays a single color after a while +COMP(1987, hbf1xd, msx2, 0, hbf1xd, msx2jp, msx_state, msx, "Sony", "HB-F1XD (Japan)", 0) +COMP(1988, hbf1xdm2, msx2, 0, hbf1xdm2, msx2jp, msx_state, msx, "Sony", "HB-F1XDMK2 (Japan)", 0) +COMP(19??, mpc2300, msx2, 0, mpc2300, msx2, msx_state, msx, "Sanyo", "MPC-2300", GAME_NOT_WORKING) // Keyboard responds differently +COMP(19??, mpc25fd, msx2, 0, mpc25fd, msx2, msx_state, msx, "Sanyo", "Wavy MPC-25FD", GAME_NOT_WORKING) // Screen stays black +COMP(1988, phc23, msx2, 0, phc23, msx2jp, msx_state, msx, "Sanyo", "Wavy PHC-23 (Japan)", 0) +COMP(1986, cpc300, msx2, 0, cpc300, msx2kr, msx_state, msx, "Daewoo", "IQ-2000 CPC-300 (Korea)", 0) +COMP(1986, cpc300e, msx2, 0, cpc300e, msx2kr, msx_state, msx, "Daewoo", "IQ-2000 CPC-300E (Korea)", 0) +COMP(1988, cpc400, msx2, 0, cpc400, msx2kr, msx_state, msx, "Daewoo", "X-II CPC-400 (Korea)", 0 ) +COMP(1988, cpc400s, msx2, 0, cpc400s, msx2kr, msx_state, msx, "Daewoo", "X-II CPC-400S (Korea)", 0 ) -COMP(1988, msx2p, 0, msx, msx2p, msx2jp, msx_state, msx, "ASCII & Microsoft", "MSX2+", 0) -COMP(19??, expert3i, msx2p, 0, msx2p, msx2, msx_state, msx, "Ciel", "Expert 3 IDE", GAME_NOT_WORKING ) // Some hardware not emulated -COMP(1996, expert3t, msx2p, 0, msx2p, msx2, msx_state, msx, "Ciel", "Expert 3 Turbo", GAME_NOT_WORKING ) // Some hardware not emulated -COMP(19??, expertac, msx2p, 0, msx2p, msx2, msx_state, msx, "Gradiente", "Expert AC88+", GAME_NOT_WORKING ) // Some hardware not emulated -COMP(19??, expertdx, msx2p, 0, msx2p, msx2, msx_state, msx, "Gradiente", "Expert DDX+", GAME_NOT_WORKING ) // Some hardware not emulated -COMP(1988, fsa1fx, msx2p, 0, msx2p, msx2jp, msx_state, msx, "Panasonic / Matsushita", "FS-A1FX (Japan)", 0 ) -COMP(1988, fsa1wx, msx2p, 0, msx2p, msx2jp, msx_state, msx, "Panasonic / Matsushita", "FS-A1WX / 1st released version (Japan)", 0 ) -COMP(1988, fsa1wxa, msx2p, 0, msx2p, msx2jp, msx_state, msx, "Panasonic / Matsushita", "FS-A1WX / 2nd released version (Japan)", 0 ) -COMP(1989, fsa1wsx, msx2p, 0, msx2p, msx2jp, msx_state, msx, "Panasonic / Matsushita", "FS-A1WSX (Japan)", 0 ) -COMP(1988, hbf1xdj, msx2p, 0, msx2p, msx2jp, msx_state, msx, "Sony", "HB-F1XDJ (Japan)", 0 ) -COMP(1989, hbf1xv, msx2p, 0, msx2p, msx2jp, msx_state, msx, "Sony", "HB-F1XV (Japan)", 0 ) -COMP(1988, phc70fd, msx2p, 0, msx2p, msx2jp, msx_state, msx, "Sanyo", "WAVY PHC-70FD (Japan)", 0 ) -COMP(1988, phc70fd2, msx2p, 0, msx2p, msx2jp, msx_state, msx, "Sanyo", "WAVY PHC-70FD2 (Japan)", 0 ) -COMP(1989, phc35j, msx2p, 0, msx2p, msx2jp, msx_state, msx, "Sanyo", "WAVY PHC-35J (Japan)", 0) -COMP(19??, hbf9sp, msx2p, 0, msx2p, msx2jp, msx_state, msx, "Sony", "HB-F9S+", GAME_NOT_WORKING) // No MSX animation, screen switches between 2 single colors +COMP(1988, msx2p, 0, msx, msx2pgen, msx2jp, msx_state, msx, "ASCII & Microsoft", "MSX2+", 0) +COMP(19??, expert3i, msx2p, 0, expert3i, msx2, msx_state, msx, "Ciel", "Expert 3 IDE", GAME_NOT_WORKING ) // Some hardware not emulated +COMP(1996, expert3t, msx2p, 0, expert3t, msx2, msx_state, msx, "Ciel", "Expert 3 Turbo", GAME_NOT_WORKING ) // Some hardware not emulated +COMP(19??, expertac, msx2p, 0, expertac, msx2, msx_state, msx, "Gradiente", "Expert AC88+", GAME_NOT_WORKING ) // Some hardware not emulated +COMP(19??, expertdx, msx2p, 0, expertdx, msx2, msx_state, msx, "Gradiente", "Expert DDX+", GAME_NOT_WORKING ) // Some hardware not emulated +COMP(1988, fsa1fx, msx2p, 0, fsa1fx, msx2jp, msx_state, msx, "Panasonic / Matsushita", "FS-A1FX (Japan)", 0 ) +COMP(1988, fsa1wx, msx2p, 0, fsa1wx, msx2jp, msx_state, msx, "Panasonic / Matsushita", "FS-A1WX / 1st released version (Japan)", 0 ) +COMP(1988, fsa1wxa, msx2p, 0, fsa1wxa, msx2jp, msx_state, msx, "Panasonic / Matsushita", "FS-A1WX / 2nd released version (Japan)", 0 ) +COMP(1989, fsa1wsx, msx2p, 0, fsa1wsx, msx2jp, msx_state, msx, "Panasonic / Matsushita", "FS-A1WSX (Japan)", 0 ) +COMP(1988, hbf1xdj, msx2p, 0, hbf1xdj, msx2jp, msx_state, msx, "Sony", "HB-F1XDJ (Japan)", 0 ) +COMP(1989, hbf1xv, msx2p, 0, hbf1xv, msx2jp, msx_state, msx, "Sony", "HB-F1XV (Japan)", 0 ) +COMP(1988, phc70fd, msx2p, 0, phc70fd, msx2jp, msx_state, msx, "Sanyo", "WAVY PHC-70FD (Japan)", 0 ) +COMP(1988, phc70fd2, msx2p, 0, phc70fd2, msx2jp, msx_state, msx, "Sanyo", "WAVY PHC-70FD2 (Japan)", 0 ) +COMP(1989, phc35j, msx2p, 0, phc35j, msx2jp, msx_state, msx, "Sanyo", "WAVY PHC-35J (Japan)", 0) +COMP(19??, hbf9sp, msx2p, 0, hbf9sp, msx2jp, msx_state, msx, "Sony", "HB-F9S+", GAME_NOT_WORKING) // No MSX animation, screen switches between 2 single colors /* Temporary placeholders */ -COMP(19??, fsa1gt, msx2p, 0, msx2, msx2jp, msx_state, msx, "Panasonic", "FS-A1GT", GAME_NOT_WORKING) -COMP(19??, fsa1st, msx2p, 0, msx2, msx2jp, msx_state, msx, "Panasonic", "FS-A1ST", GAME_NOT_WORKING) +COMP(19??, fsa1gt, msx2p, 0, fsa1gt, msx2jp, msx_state, msx, "Panasonic", "FS-A1GT", GAME_NOT_WORKING) +COMP(19??, fsa1st, msx2p, 0, fsa1st, msx2jp, msx_state, msx, "Panasonic", "FS-A1ST", GAME_NOT_WORKING) diff --git a/src/mess/includes/msx.h b/src/mess/includes/msx.h index 6532ce4f29d..0bb28a7dd52 100644 --- a/src/mess/includes/msx.h +++ b/src/mess/includes/msx.h @@ -35,11 +35,15 @@ #define TC8521_TAG "rtc" +#define MCFG_MSX_LAYOUT(_layout) \ + msx_state::set_layout(*owner, msx_slot_layout_##_layout); + class msx_state : public driver_device { public: msx_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), + m_layout(NULL), m_maincpu(*this, "maincpu"), m_v9938(*this, "v9938"), m_v9958(*this, "v9958"), @@ -74,6 +78,9 @@ public: m_io_key4(*this, "KEY4"), m_io_key5(*this, "KEY5") { } + // static configuration helpers + static void set_layout(device_t &device, const msx_slot_layout *layout) { downcast(device).m_layout = layout; } + DECLARE_WRITE8_MEMBER(msx_page0_w); DECLARE_WRITE8_MEMBER(msx_page0_1_w); DECLARE_WRITE8_MEMBER(msx_page1_w); diff --git a/src/mess/includes/msx_slot.h b/src/mess/includes/msx_slot.h index 5c7b8dfc21f..1479504fc4f 100644 --- a/src/mess/includes/msx_slot.h +++ b/src/mess/includes/msx_slot.h @@ -237,20 +237,5 @@ const msx_slot msx_slot_list[] = { #define MSX_SLOT_SAVESRAM(nm) \ static int slot_##nm##_savesram (running_machine &machine, slot_state *state) -struct msx_driver_struct { - char name[9]; - const msx_slot_layout *layout; -}; - -extern const msx_driver_struct msx_driver_list[]; - -#define MSX_DRIVER_LIST \ -const msx_driver_struct msx_driver_list[] = { -#define MSX_DRIVER(foo) \ - { #foo, msx_slot_layout_##foo }, -#define MSX_DRIVER_END \ - { "", NULL } \ -}; - #endif /* MSX_SLOT_H_ */ diff --git a/src/mess/machine/msx.c b/src/mess/machine/msx.c index 222d20627c2..f65ef0b6628 100644 --- a/src/mess/machine/msx.c +++ b/src/mess/machine/msx.c @@ -788,10 +788,13 @@ void msx_state::msx_memory_init() int size = 0; const msx_slot_layout *layout= (msx_slot_layout*)NULL; const msx_slot *slot; - const msx_driver_struct *driver; slot_state *st; UINT8 *mem = NULL; + if ( m_layout == NULL ) { + fatalerror("No msx slot layout defined for this system!\n"); + } + m_empty = auto_alloc_array(machine(), UINT8, 0x4000); memset (m_empty, 0xff, 0x4000); @@ -803,21 +806,7 @@ void msx_state::msx_memory_init() } } - for (driver = msx_driver_list; driver->name[0]; driver++) { - if (!strcmp (driver->name, machine().system().name)) { - layout = driver->layout; - } - } - - if (!layout) { - logerror ("msx_memory_init: error: missing layout definition in " - "msx_driver_list\n"); - return; - } - - m_layout = layout; - - for (; layout->entry != MSX_LAYOUT_LAST; layout++) { + for (layout = m_layout; layout->entry != MSX_LAYOUT_LAST; layout++) { switch (layout->entry) { case MSX_LAYOUT_SLOT_ENTRY: prim = layout->slot_primary;