From 1627e6f42fc56a59c232ff43b5ed7a31b7fe154c Mon Sep 17 00:00:00 2001 From: wilbertpol Date: Fri, 3 Mar 2023 17:24:38 +0000 Subject: msx/msx.cpp: Added keyboard LEDs to internal artwork. (#10950) * msx/msx.cpp: Made drive names and LEDs optional. * msx/msx.cpp: Added caps lock and language mode LEDs to layout. * bus/msx/slot/disk.cpp: Tidied up code. --- src/devices/bus/msx/slot/disk.cpp | 184 +++++++++++---------- src/devices/bus/msx/slot/disk.h | 10 +- src/mame/layout/msx.lay | 90 +++++++++++ src/mame/layout/msx_1drive.lay | 34 ---- src/mame/layout/msx_2drives.lay | 45 ------ src/mame/msx/msx.cpp | 73 +++++---- src/mame/msx/msx.h | 44 +++-- src/mame/msx/msx1.cpp | 333 ++++++++++++++++++++++---------------- src/mame/msx/msx1_bruc100.cpp | 6 +- src/mame/msx/msx1_v9938.cpp | 55 ++++--- src/mame/msx/msx2.cpp | 271 ++++++++++++++++++------------- 11 files changed, 640 insertions(+), 505 deletions(-) create mode 100644 src/mame/layout/msx.lay delete mode 100644 src/mame/layout/msx_1drive.lay delete mode 100644 src/mame/layout/msx_2drives.lay diff --git a/src/devices/bus/msx/slot/disk.cpp b/src/devices/bus/msx/slot/disk.cpp index a6a8e6896a8..42e96396fef 100644 --- a/src/devices/bus/msx/slot/disk.cpp +++ b/src/devices/bus/msx/slot/disk.cpp @@ -81,45 +81,41 @@ void msx_slot_disk_device::floppy_formats(format_registration &fr) msx_slot_disk_device::msx_slot_disk_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int nr_drives) : msx_slot_rom_device(mconfig, type, tag, owner, clock) - , m_floppy0(*this, "fdc:0") - , m_floppy1(*this, "fdc:1") - , m_floppy2(*this, "fdc:2") - , m_floppy3(*this, "fdc:3") - , m_floppy(nullptr) - , m_access_int_drv_out(*this, "access_int_drv%u", 0U) + , m_floppy(*this, "fdc:%u", 0U) + , m_current_floppy(nullptr) + , m_internal_drive_led(*this, "internal_drive%u_led", 0U) + , m_internal_drive_name(*this, "internal_drive%u_name", 0U) , m_nr_drives(nr_drives) { } void msx_slot_disk_device::add_drive_mconfig(machine_config &config, bool double_sided) { - if (m_nr_drives > NO_DRIVES) - FLOPPY_CONNECTOR(config, m_floppy0, msx_floppies, double_sided ? "35dd" : "35ssdd", msx_slot_disk_device::floppy_formats); - if (m_nr_drives > DRIVES_1) - FLOPPY_CONNECTOR(config, m_floppy1, msx_floppies, double_sided ? "35dd" : "35ssdd", msx_slot_disk_device::floppy_formats); - if (m_nr_drives > DRIVES_2) - FLOPPY_CONNECTOR(config, m_floppy2, msx_floppies, double_sided ? "35dd" : "35ssdd", msx_slot_disk_device::floppy_formats); - if (m_nr_drives > DRIVES_3) - FLOPPY_CONNECTOR(config, m_floppy3, msx_floppies, double_sided ? "35dd" : "35ssdd", msx_slot_disk_device::floppy_formats); + for (int drive = 0; drive < m_nr_drives; drive++) + FLOPPY_CONNECTOR(config, m_floppy[drive], msx_floppies, double_sided ? "35dd" : "35ssdd", msx_slot_disk_device::floppy_formats); } void msx_slot_disk_device::device_start() { msx_slot_rom_device::device_start(); - m_access_int_drv_out.resolve(); + m_internal_drive_led.resolve(); + m_internal_drive_name.resolve(); } void msx_slot_disk_device::device_reset() { msx_slot_rom_device::device_reset(); - for (int i = 0; i < m_access_int_drv_out.size(); i++) - m_access_int_drv_out[i] = 0; + for (int i = 0; i < m_internal_drive_led.size(); i++) + { + m_internal_drive_name[i] = m_floppy[i] ? 1 : 0; + set_drive_access_led_state(i, 0); + } } void msx_slot_disk_device::set_drive_access_led_state(int drive, int led_state) { - m_access_int_drv_out[drive] = led_state; + m_internal_drive_led[drive] = m_floppy[drive] ? 1 + led_state : 0; } @@ -231,9 +227,9 @@ void msx_slot_disk1_base_device::set_side_control(u8 data) { m_side_control = data; - if (m_floppy) + if (m_current_floppy) { - m_floppy->ss_w(BIT(m_side_control, 0)); + m_current_floppy->ss_w(BIT(m_side_control, 0)); } } @@ -251,31 +247,31 @@ void msx_slot_disk1_base_device::set_control(u8 data) { case 0: case 2: - m_floppy = m_floppy0 ? m_floppy0->get_device() : nullptr; + m_current_floppy = m_floppy[0] ? m_floppy[0]->get_device() : nullptr; set_drive_access_led_state(0, BIT(m_control, get_control_led_bit())); set_drive_access_led_state(1, 0); break; case 1: - m_floppy = m_floppy1 ? m_floppy1->get_device() : nullptr; + m_current_floppy = m_floppy[1] ? m_floppy[1]->get_device() : nullptr; set_drive_access_led_state(0, 0); set_drive_access_led_state(1, BIT(m_control, get_control_led_bit())); break; default: - m_floppy = nullptr; + m_current_floppy = nullptr; set_drive_access_led_state(0, 0); set_drive_access_led_state(1, 0); break; } - if (m_floppy) + if (m_current_floppy) { - m_floppy->mon_w(BIT(m_control, 7) ? 0 : 1); - m_floppy->ss_w(BIT(m_side_control, 0)); + m_current_floppy->mon_w(BIT(m_control, 7) ? 0 : 1); + m_current_floppy->ss_w(BIT(m_side_control, 0)); } - m_fdc->set_floppy(m_floppy); + m_fdc->set_floppy(m_current_floppy); } u8 msx_slot_disk1_base_device::side_control_r() @@ -439,31 +435,31 @@ void msx_slot_disk2_base_device::set_control(u8 data) switch (m_control & 3) { case 1: - m_floppy = m_floppy0 ? m_floppy0->get_device() : nullptr; + m_current_floppy = m_floppy[0] ? m_floppy[0]->get_device() : nullptr; set_drive_access_led_state(0, BIT(m_control, get_control_led_bit())); set_drive_access_led_state(1, 0); break; case 2: - m_floppy = m_floppy1 ? m_floppy1->get_device() : nullptr; + m_current_floppy = m_floppy[1] ? m_floppy[1]->get_device() : nullptr; set_drive_access_led_state(0, 0); set_drive_access_led_state(1, BIT(m_control, get_control_led_bit())); break; default: - m_floppy = nullptr; + m_current_floppy = nullptr; set_drive_access_led_state(0, 0); set_drive_access_led_state(1, 0); break; } - if (m_floppy) + if (m_current_floppy) { - m_floppy->mon_w(BIT(m_control, 3) ? 0 : 1); - m_floppy->ss_w(BIT(m_control, 2) ? 1 : 0); + m_current_floppy->mon_w(BIT(m_control, 3) ? 0 : 1); + m_current_floppy->ss_w(BIT(m_control, 2) ? 1 : 0); } - m_fdc->set_floppy(m_floppy); + m_fdc->set_floppy(m_current_floppy); } u8 msx_slot_disk2_base_device::status_r() @@ -667,7 +663,7 @@ void msx_slot_disk5_wd2793_device::control_w(u8 control) switch (m_control & 0x0f) { case 0x01: - m_floppy = m_floppy0 ? m_floppy0->get_device() : nullptr; + m_current_floppy = m_floppy[0] ? m_floppy[0]->get_device() : nullptr; set_drive_access_led_state(0, BIT(m_control, 6)); set_drive_access_led_state(1, 0); set_drive_access_led_state(2, 0); @@ -675,7 +671,7 @@ void msx_slot_disk5_wd2793_device::control_w(u8 control) break; case 0x02: - m_floppy = m_floppy1 ? m_floppy1->get_device() : nullptr; + m_current_floppy = m_floppy[1] ? m_floppy[1]->get_device() : nullptr; set_drive_access_led_state(0, 0); set_drive_access_led_state(1, BIT(m_control, 6)); set_drive_access_led_state(2, 0); @@ -683,7 +679,7 @@ void msx_slot_disk5_wd2793_device::control_w(u8 control) break; case 0x04: - m_floppy = m_floppy2 ? m_floppy2->get_device() : nullptr; + m_current_floppy = m_floppy[2] ? m_floppy[2]->get_device() : nullptr; set_drive_access_led_state(0, 0); set_drive_access_led_state(1, 0); set_drive_access_led_state(2, BIT(m_control, 6)); @@ -691,7 +687,7 @@ void msx_slot_disk5_wd2793_device::control_w(u8 control) break; case 0x08: - m_floppy = m_floppy3 ? m_floppy3->get_device() : nullptr; + m_current_floppy = m_floppy[3] ? m_floppy[3]->get_device() : nullptr; set_drive_access_led_state(0, 0); set_drive_access_led_state(1, 0); set_drive_access_led_state(2, 0); @@ -699,7 +695,7 @@ void msx_slot_disk5_wd2793_device::control_w(u8 control) break; default: - m_floppy = nullptr; + m_current_floppy = nullptr; set_drive_access_led_state(0, 0); set_drive_access_led_state(1, 0); set_drive_access_led_state(2, 0); @@ -707,13 +703,13 @@ void msx_slot_disk5_wd2793_device::control_w(u8 control) break; } - if (m_floppy) + if (m_current_floppy) { - m_floppy->mon_w(BIT(m_control, 5) ? 0 : 1); - m_floppy->ss_w(BIT(m_control, 4) ? 1 : 0); + m_current_floppy->mon_w(BIT(m_control, 5) ? 0 : 1); + m_current_floppy->ss_w(BIT(m_control, 4) ? 1 : 0); } - m_fdc->set_floppy(m_floppy); + m_fdc->set_floppy(m_current_floppy); } u8 msx_slot_disk5_wd2793_device::status_r() @@ -782,26 +778,26 @@ void msx_slot_disk6_wd2793_n_device::select_drive() { if (BIT(m_drive_select, 0)) { - m_floppy = m_floppy1 ? m_floppy1->get_device() : nullptr; - m_drive_present = m_floppy; + m_current_floppy = m_floppy[1] ? m_floppy[1]->get_device() : nullptr; + m_drive_present = m_current_floppy; } else { - m_floppy = m_floppy0 ? m_floppy0->get_device() : nullptr; - m_drive_present = m_floppy; + m_current_floppy = m_floppy[0] ? m_floppy[0]->get_device() : nullptr; + m_drive_present = m_current_floppy; } - m_fdc->set_floppy(m_floppy); + m_fdc->set_floppy(m_current_floppy); set_side_motor(); } void msx_slot_disk6_wd2793_n_device::set_side_motor() { - if (m_floppy) + if (m_current_floppy) { - m_floppy->mon_w(BIT(m_side_motor, 1) ? 0 : 1); - m_floppy->ss_w(BIT(m_side_motor, 0)); + m_current_floppy->mon_w(BIT(m_side_motor, 1) ? 0 : 1); + m_current_floppy->ss_w(BIT(m_side_motor, 0)); } if (BIT(m_drive_select, 0)) { @@ -831,7 +827,7 @@ u8 msx_slot_disk6_wd2793_n_device::select0_r() u8 msx_slot_disk6_wd2793_n_device::dskchg_r() { // Disk change status for selected drive - return 0xfe | (m_floppy && m_floppy->dskchg_r() ? 0 : 1); + return 0xfe | (m_current_floppy && m_current_floppy->dskchg_r() ? 0 : 1); } u8 msx_slot_disk6_wd2793_n_device::status_r() @@ -918,17 +914,17 @@ void msx_slot_disk7_mb8877_device::device_post_load() void msx_slot_disk7_mb8877_device::select_drive() { // No separate bit for the drive LEDs? Assuming LEDs are triggered by the motor on signal. - m_floppy = nullptr; + m_current_floppy = nullptr; switch (m_drive_side_motor & 0x03) { case 0: - m_floppy = m_floppy0 ? m_floppy0->get_device() : nullptr; + m_current_floppy = m_floppy[0] ? m_floppy[0]->get_device() : nullptr; set_drive_access_led_state(0, BIT(~m_drive_side_motor, 3)); set_drive_access_led_state(1, 0); break; case 1: - m_floppy = m_floppy1 ? m_floppy1->get_device() : nullptr; + m_current_floppy = m_floppy[1] ? m_floppy[1]->get_device() : nullptr; set_drive_access_led_state(0, 0); set_drive_access_led_state(1, BIT(~m_drive_side_motor, 3)); break; @@ -938,17 +934,17 @@ void msx_slot_disk7_mb8877_device::select_drive() break; } - m_fdc->set_floppy(m_floppy); + m_fdc->set_floppy(m_current_floppy); } void msx_slot_disk7_mb8877_device::set_drive_side_motor() { select_drive(); - if (m_floppy) + if (m_current_floppy) { - m_floppy->mon_w(BIT(m_drive_side_motor, 3) ? 0 : 1); - m_floppy->ss_w(BIT(m_drive_side_motor, 2)); + m_current_floppy->mon_w(BIT(m_drive_side_motor, 3) ? 0 : 1); + m_current_floppy->ss_w(BIT(m_drive_side_motor, 2)); } } @@ -965,8 +961,8 @@ void msx_slot_disk7_mb8877_device::side_motor_w(u8 data) u8 msx_slot_disk7_mb8877_device::status_r() { return (m_drive_side_motor & 0x0f) - | (m_floppy && m_floppy->dskchg_r() ? 0x00 : 0x10) - | (m_floppy && m_floppy->ready_r() ? 0x00 : 0x20) + | (m_current_floppy && m_current_floppy->dskchg_r() ? 0x00 : 0x10) + | (m_current_floppy && m_current_floppy->ready_r() ? 0x00 : 0x20) | (m_fdc->intrq_r() ? 0x40 : 0x00) | (m_fdc->drq_r() ? 0x80 : 0x00); } @@ -1040,31 +1036,31 @@ void msx_slot_disk8_mb8877_device::set_control(u8 data) switch (m_control & 3) { case 1: - m_floppy = m_floppy0 ? m_floppy0->get_device() : nullptr; + m_current_floppy = m_floppy[0] ? m_floppy[0]->get_device() : nullptr; set_drive_access_led_state(0, BIT(m_control, 6)); set_drive_access_led_state(1, 0); break; case 2: - m_floppy = m_floppy1 ? m_floppy1->get_device() : nullptr; + m_current_floppy = m_floppy[1] ? m_floppy[1]->get_device() : nullptr; set_drive_access_led_state(0, 0); set_drive_access_led_state(1, BIT(m_control, 6)); break; default: - m_floppy = nullptr; + m_current_floppy = nullptr; set_drive_access_led_state(0, 0); set_drive_access_led_state(1, 0); break; } - if (m_floppy) + if (m_current_floppy) { - m_floppy->mon_w(BIT(m_control, 3) ? 0 : 1); - m_floppy->ss_w(BIT(m_control, 2) ? 1 : 0); + m_current_floppy->mon_w(BIT(m_control, 3) ? 0 : 1); + m_current_floppy->ss_w(BIT(m_control, 2) ? 1 : 0); } - m_fdc->set_floppy(m_floppy); + m_fdc->set_floppy(m_current_floppy); } u8 msx_slot_disk8_mb8877_device::status_r() @@ -1134,31 +1130,31 @@ void msx_slot_disk9_wd2793_n_device::control_w(u8 data) switch (m_control & 0x03) { case 1: - m_floppy = m_floppy0 ? m_floppy0->get_device() : nullptr; + m_current_floppy = m_floppy[0] ? m_floppy[0]->get_device() : nullptr; set_drive_access_led_state(0, BIT(m_control, 6)); set_drive_access_led_state(1, 0); break; case 2: - m_floppy = m_floppy1 ? m_floppy1->get_device() : nullptr; + m_current_floppy = m_floppy[1] ? m_floppy[1]->get_device() : nullptr; set_drive_access_led_state(0, 0); set_drive_access_led_state(1, BIT(m_control, 6)); break; default: - m_floppy = nullptr; + m_current_floppy = nullptr; set_drive_access_led_state(0, 0); set_drive_access_led_state(1, 0); break; } - if (m_floppy) + if (m_current_floppy) { - m_floppy->mon_w(BIT(m_control, 3) ? 0 : 1); - m_floppy->ss_w(BIT(m_control, 2)); + m_current_floppy->mon_w(BIT(m_control, 3) ? 0 : 1); + m_current_floppy->ss_w(BIT(m_control, 2)); } - m_fdc->set_floppy(m_floppy); + m_fdc->set_floppy(m_current_floppy); } u8 msx_slot_disk9_wd2793_n_device::status_r() @@ -1223,27 +1219,27 @@ void msx_slot_disk10_mb8877_device::control_w(u8 data) // Assuming drive LEDs are connected to the motor signals if (BIT(m_control, 2)) { - m_floppy = m_floppy1 ? m_floppy1->get_device() : nullptr; + m_current_floppy = m_floppy[1] ? m_floppy[1]->get_device() : nullptr; set_drive_access_led_state(0, 0); set_drive_access_led_state(1, BIT(m_control, 1)); } else { - m_floppy = m_floppy0 ? m_floppy0->get_device() : nullptr; + m_current_floppy = m_floppy[0] ? m_floppy[0]->get_device() : nullptr; set_drive_access_led_state(0, BIT(m_control, 0)); set_drive_access_led_state(1, 0); } - if (m_floppy && !BIT(m_control, 2)) - m_floppy->mon_w(BIT(m_control, 0) ? 0 : 1); + if (m_current_floppy && !BIT(m_control, 2)) + m_current_floppy->mon_w(BIT(m_control, 0) ? 0 : 1); - if (m_floppy && BIT(m_control, 2)) - m_floppy->mon_w(BIT(m_control, 1) ? 0 : 1); + if (m_current_floppy && BIT(m_control, 2)) + m_current_floppy->mon_w(BIT(m_control, 1) ? 0 : 1); - if (m_floppy) - m_floppy->ss_w(BIT(m_control, 3)); + if (m_current_floppy) + m_current_floppy->ss_w(BIT(m_control, 3)); - m_fdc->set_floppy(m_floppy); + m_fdc->set_floppy(m_current_floppy); } u8 msx_slot_disk10_mb8877_device::status_r() @@ -1251,7 +1247,7 @@ u8 msx_slot_disk10_mb8877_device::status_r() return 0x23 | (m_control & 0x04) | ((m_control & 0x08) ^ 0x08) - | ((m_floppy && m_floppy->mon_r()) ? 0 : 0x10) + | ((m_current_floppy && m_current_floppy->mon_r()) ? 0 : 0x10) | (m_fdc->drq_r() ? 0x40 : 0) | (m_fdc->intrq_r() ? 0x80 : 0); } @@ -1333,8 +1329,8 @@ void msx_slot_disk11_wd2793_device::side_control_w(u8 data) { m_side_control = data; - if (m_floppy) - m_floppy->ss_w(BIT(m_side_control, 0)); + if (m_current_floppy) + m_current_floppy->ss_w(BIT(m_side_control, 0)); } void msx_slot_disk11_wd2793_device::control_w(u8 data) @@ -1344,31 +1340,31 @@ void msx_slot_disk11_wd2793_device::control_w(u8 data) switch (m_control & 0x03) { case 0: - m_floppy = m_floppy0 ? m_floppy0->get_device() : nullptr; + m_current_floppy = m_floppy[0] ? m_floppy[0]->get_device() : nullptr; set_drive_access_led_state(0, BIT(m_control, 6)); // Wild guess based on other floppy interfaces set_drive_access_led_state(1, 0); break; case 1: - m_floppy = m_floppy1 ? m_floppy1->get_device() : nullptr; + m_current_floppy = m_floppy[1] ? m_floppy[1]->get_device() : nullptr; set_drive_access_led_state(0, 0); set_drive_access_led_state(1, BIT(m_control, 6)); // Wild guess based on other floppy interfaces break; default: - m_floppy = nullptr; + m_current_floppy = nullptr; set_drive_access_led_state(0, 0); set_drive_access_led_state(1, 0); break; } - if (m_floppy) + if (m_current_floppy) { - m_floppy->mon_w(BIT(m_control, 7) ? 0 : 1); - m_floppy->ss_w(BIT(m_side_control, 0)); + m_current_floppy->mon_w(BIT(m_control, 7) ? 0 : 1); + m_current_floppy->ss_w(BIT(m_side_control, 0)); } - m_fdc->set_floppy(m_floppy); + m_fdc->set_floppy(m_current_floppy); } u8 msx_slot_disk11_wd2793_device::side_control_r() diff --git a/src/devices/bus/msx/slot/disk.h b/src/devices/bus/msx/slot/disk.h index 7e1f688a471..52d8ddf03dd 100644 --- a/src/devices/bus/msx/slot/disk.h +++ b/src/devices/bus/msx/slot/disk.h @@ -73,14 +73,12 @@ protected: void add_drive_mconfig(machine_config &config, bool double_sided); void set_drive_access_led_state(int drive, int led_state); - optional_device m_floppy0; - optional_device m_floppy1; - optional_device m_floppy2; - optional_device m_floppy3; - floppy_image_device *m_floppy; + optional_device_array m_floppy; + floppy_image_device *m_current_floppy; private: - output_finder<4> m_access_int_drv_out; + output_finder<4> m_internal_drive_led; + output_finder<4> m_internal_drive_name; int m_nr_drives; }; diff --git a/src/mame/layout/msx.lay b/src/mame/layout/msx.lay new file mode 100644 index 00000000000..c4fda2d7e14 --- /dev/null +++ b/src/mame/layout/msx.lay @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/layout/msx_1drive.lay b/src/mame/layout/msx_1drive.lay deleted file mode 100644 index 92baa074199..00000000000 --- a/src/mame/layout/msx_1drive.lay +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/mame/layout/msx_2drives.lay b/src/mame/layout/msx_2drives.lay deleted file mode 100644 index 9ebcc1b192c..00000000000 --- a/src/mame/layout/msx_2drives.lay +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/mame/msx/msx.cpp b/src/mame/msx/msx.cpp index 9baf7403cf6..d52ff23e8e9 100644 --- a/src/mame/msx/msx.cpp +++ b/src/mame/msx/msx.cpp @@ -107,8 +107,7 @@ #include "screen.h" #include "softlist_dev.h" -#include "msx_1drive.lh" -#include "msx_2drives.lh" +#include "msx.lh" //#define VERBOSE (LOG_GENERAL) @@ -134,7 +133,6 @@ msx_state::msx_state(const machine_config &mconfig, device_type type, const char , m_gen_port1(*this, "gen1") , m_gen_port2(*this, "gen2") , m_io_key(*this, "KEY%u", 0U) - , m_leds(*this, "led%u", 1U) , m_view_page0(*this, "view0") , m_view_page1(*this, "view1") , m_view_page2(*this, "view2") @@ -162,6 +160,11 @@ msx_state::msx_state(const machine_config &mconfig, device_type type, const char , m_secondary_slot{0, 0, 0, 0} , m_port_c_old(0) , m_keylatch(0) + , m_caps_led(*this, "caps_led") + , m_caps_led_name(*this, "caps_led_name") + , m_code_led(*this, "code_led") + , m_code_led_name(*this, "code_led_name") + , m_region(REGION_UNKNOWN) { m_view[0] = &m_view_page0; m_view[1] = &m_view_page1; @@ -304,11 +307,18 @@ void msx_state::machine_reset() m_view_slot0_page2.select(0); m_view_slot0_page3.select(0); } + m_caps_led_name = m_hw_def.has_caps_led() ? 1 : 0; + m_caps_led = m_hw_def.has_caps_led() ? 1 : 0; + m_code_led_name = m_hw_def.has_code_led() ? m_region : 0; + m_code_led = m_hw_def.has_code_led() ? 1 : 0; } void msx_state::machine_start() { - m_leds.resolve(); + m_caps_led.resolve(); + m_caps_led_name.resolve(); + m_code_led.resolve(); + m_code_led_name.resolve(); m_port_c_old = 0xff; } @@ -452,9 +462,9 @@ void msx_state::psg_port_a_w(u8 data) void msx_state::psg_port_b_w(u8 data) { - // Arabic or kana mode led - if ((data ^ m_psg_b) & 0x80) - m_leds[1] = BIT(~data, 7); + // Code(/Kana/Arabic/Hangul) led + if (m_hw_def.has_code_led()) + m_code_led = 1 + BIT(~data, 7); m_gen_port1->pin_6_w(BIT(data, 0)); m_gen_port1->pin_7_w(BIT(data, 1)); @@ -482,8 +492,8 @@ void msx_state::ppi_port_c_w(u8 data) m_keylatch = data & 0x0f; // caps lock - if (BIT(m_port_c_old ^ data, 6)) - m_leds[0] = BIT(~data, 6); + if (m_hw_def.has_caps_led()) + m_caps_led = 1 + BIT(~data, 6); // key click if (BIT(m_port_c_old ^ data, 7)) @@ -553,8 +563,9 @@ void msx_state::kanji_w(offs_t offset, u8 data) m_kanji_latch = (m_kanji_latch & 0x1f800) | ((data & 0x3f) << 5); } -void msx_state::msx_base(ay8910_type ay8910_type, machine_config &config, XTAL xtal, int cpu_divider) +void msx_state::msx_base(ay8910_type ay8910_type, machine_config &config, XTAL xtal, int cpu_divider, region_type region) { + m_region = region; // basic machine hardware Z80(config, m_maincpu, xtal / cpu_divider); // 3.579545 MHz m_maincpu->set_addrmap(AS_PROGRAM, &msx_state::memory_map); @@ -612,15 +623,7 @@ void msx_state::msx_base(ay8910_type ay8910_type, machine_config &config, XTAL x m_cassette->set_interface("msx_cass"); } - switch (m_hw_def.get_internal_drives()) - { - case 1: - config.set_default_layout(layout_msx_1drive); - break; - case 2: - config.set_default_layout(layout_msx_2drives); - break; - } + config.set_default_layout(layout_msx); } void msx_state::msx1_add_softlists(machine_config &config) @@ -635,9 +638,9 @@ void msx_state::msx1_add_softlists(machine_config &config) SOFTWARE_LIST(config, "flop_list").set_original("msx1_flop"); } -void msx_state::msx1(vdp_type vdp_type, ay8910_type ay8910_type, machine_config &config) +void msx_state::msx1(vdp_type vdp_type, ay8910_type ay8910_type, machine_config &config, region_type region) { - msx_base(ay8910_type, config, 10.738635_MHz_XTAL, 3); + msx_base(ay8910_type, config, 10.738635_MHz_XTAL, 3, region); m_maincpu->set_addrmap(AS_IO, &msx_state::msx1_io_map); @@ -818,17 +821,17 @@ void msx2_base_state::turbor_add_softlists(machine_config &config) } } -void msx2_base_state::msx2_base(ay8910_type ay8910_type, machine_config &config) +void msx2_base_state::msx2_base(ay8910_type ay8910_type, machine_config &config, region_type region) { - msx_base(ay8910_type, config, 21.477272_MHz_XTAL, 6); + msx_base(ay8910_type, config, 21.477272_MHz_XTAL, 6, region); // real time clock RP5C01(config, m_rtc, 32.768_kHz_XTAL); } -void msx2_base_state::msx2(ay8910_type ay8910_type, machine_config &config) +void msx2_base_state::msx2(ay8910_type ay8910_type, machine_config &config, region_type region) { - msx2_base(ay8910_type, config); + msx2_base(ay8910_type, config, region); m_maincpu->set_addrmap(AS_IO, &msx2_base_state::msx2_io_map); @@ -842,15 +845,15 @@ void msx2_base_state::msx2(ay8910_type ay8910_type, machine_config &config) msx2_add_softlists(config); } -void msx2_base_state::msx2_pal(ay8910_type ay8910_type, machine_config &config) +void msx2_base_state::msx2_pal(ay8910_type ay8910_type, machine_config &config, region_type region) { - msx2(ay8910_type, config); + msx2(ay8910_type, config, region); m_v9938->set_screen_pal(m_screen); } -void msx2_base_state::msx2plus_base(ay8910_type ay8910_type, machine_config &config) +void msx2_base_state::msx2plus_base(ay8910_type ay8910_type, machine_config &config, region_type region) { - msx2_base(ay8910_type, config); + msx2_base(ay8910_type, config, region); m_maincpu->set_addrmap(AS_IO, &msx2_base_state::msx2plus_io_map); @@ -861,23 +864,23 @@ void msx2_base_state::msx2plus_base(ay8910_type ay8910_type, machine_config &con m_v9958->int_cb().set(m_mainirq, FUNC(input_merger_device::in_w<0>)); } -void msx2_base_state::msx2plus(ay8910_type ay8910_type, machine_config &config) +void msx2_base_state::msx2plus(ay8910_type ay8910_type, machine_config &config, region_type region) { - msx2plus_base(ay8910_type, config); + msx2plus_base(ay8910_type, config, region); // Software lists msx2plus_add_softlists(config); } -void msx2_base_state::msx2plus_pal(ay8910_type ay8910_type, machine_config &config) +void msx2_base_state::msx2plus_pal(ay8910_type ay8910_type, machine_config &config, region_type region) { - msx2plus(ay8910_type, config); + msx2plus(ay8910_type, config, region); m_v9958->set_screen_pal(m_screen); } -void msx2_base_state::turbor(ay8910_type ay8910_type, machine_config &config) +void msx2_base_state::turbor(ay8910_type ay8910_type, machine_config &config, region_type region) { - msx2plus_base(ay8910_type, config); + msx2plus_base(ay8910_type, config, region); R800(config.replace(), m_maincpu, 28.636363_MHz_XTAL); m_maincpu->set_addrmap(AS_PROGRAM, &msx2_base_state::memory_map); diff --git a/src/mame/msx/msx.h b/src/mame/msx/msx.h index 936e2ded7c8..aaecee81fee 100644 --- a/src/mame/msx/msx.h +++ b/src/mame/msx/msx.h @@ -31,19 +31,22 @@ public: bool has_printer_port() const { return m_has_printer_port; } bool has_cartslot() const { return m_has_cartslot; } bool has_fdc() const { return m_has_fdc; } - int get_internal_drives() const { return m_internal_drives; } + bool has_caps_led() const { return m_has_caps_led; } + bool has_code_led() const { return m_has_code_led; } msx_hw_def &has_cassette(bool has_cassette) { m_has_cassette = has_cassette; return *this;} msx_hw_def &has_printer_port(bool has_printer_port) { m_has_printer_port = has_printer_port; return *this; } msx_hw_def &has_cartslot(bool has_cartslot) { m_has_cartslot = has_cartslot; return *this; } msx_hw_def &has_fdc(bool has_fdc) { m_has_fdc = has_fdc; return *this; } - msx_hw_def &internal_drives(int internal_drives) { m_internal_drives = internal_drives; return *this; } + msx_hw_def &no_caps_led() { m_has_caps_led = false; return *this; } + msx_hw_def &no_code_led() { m_has_code_led = false; return *this; } private: bool m_has_cassette = true; bool m_has_printer_port = true; bool m_has_cartslot = false; bool m_has_fdc = false; - int m_internal_drives = 0; + bool m_has_caps_led = true; + bool m_has_code_led = true; }; class msx_state : public driver_device @@ -68,8 +71,18 @@ protected: VDP_TMS9929A }; - void msx_base(ay8910_type ay8910_type, machine_config &config, XTAL xtal, int cpu_divider); - void msx1(vdp_type vdp_type, ay8910_type ay8910_type, machine_config &config); + enum region_type + { + REGION_UNKNOWN = 0, + REGION_INTERNATIONAL = 1, + REGION_JAPAN = 2, + REGION_KOREA = 3, + REGION_ARAB = 4, + REGION_RUSSIA = 5 + }; + + void msx_base(ay8910_type ay8910_type, machine_config &config, XTAL xtal, int cpu_divider, region_type region); + void msx1(vdp_type vdp_type, ay8910_type ay8910_type, machine_config &config, region_type region); void msx1_add_softlists(machine_config &config); // configuration helpers @@ -189,7 +202,6 @@ protected: required_device m_gen_port1; required_device m_gen_port2; required_ioport_array<11> m_io_key; - output_finder<2> m_leds; msx_hw_def m_hw_def; // This is here until more direct rom dumps from kanji font roms become available. bool m_kanji_fsa1fx = false; @@ -237,6 +249,11 @@ protected: u8 m_secondary_slot[4]; u8 m_port_c_old; u8 m_keylatch; + output_finder<> m_caps_led; + output_finder<> m_caps_led_name; + output_finder<> m_code_led; + output_finder<> m_code_led_name; + region_type m_region; private: // configuration helpers @@ -270,7 +287,6 @@ private: { auto &device = add_internal_slot(config, std::forward(type), std::forward(tag), prim, true, sec, page, numpages, region, offset); m_hw_def.has_fdc(true); - m_hw_def.internal_drives(device.get_nr_drives()); return device; } template @@ -326,13 +342,13 @@ protected: virtual void machine_start() override; - void msx2_base(ay8910_type ay8910_type, machine_config &config); - void msx2(ay8910_type ay8910_type, machine_config &config); - void msx2_pal(ay8910_type ay8910_type, machine_config &config); - void msx2plus_base(ay8910_type ay8910_type, machine_config &config); - void msx2plus(ay8910_type ay8910_type, machine_config &config); - void msx2plus_pal(ay8910_type ay8910_type, machine_config &config); - void turbor(ay8910_type ay8910_type, machine_config &config); + void msx2_base(ay8910_type ay8910_type, machine_config &config, region_type region); + void msx2(ay8910_type ay8910_type, machine_config &config, region_type region); + void msx2_pal(ay8910_type ay8910_type, machine_config &config, region_type region); + void msx2plus_base(ay8910_type ay8910_type, machine_config &config, region_type region); + void msx2plus(ay8910_type ay8910_type, machine_config &config, region_type region); + void msx2plus_pal(ay8910_type ay8910_type, machine_config &config, region_type region); + void turbor(ay8910_type ay8910_type, machine_config &config, region_type region); void msx2_add_softlists(machine_config &config); void msx2plus_add_softlists(machine_config &config); void turbor_add_softlists(machine_config &config); diff --git a/src/mame/msx/msx1.cpp b/src/mame/msx/msx1.cpp index ff3907b4015..bb541290477 100644 --- a/src/mame/msx/msx1.cpp +++ b/src/mame/msx/msx1.cpp @@ -266,7 +266,9 @@ void msx1_state::perfect1(machine_config &config) add_cartridge_slot<1>(config, 1); // expansion slot in slot #2 - msx1(VDP_TMS9129, SND_AY8910, config); + // The bios code sets the bit for the language mode LED but there is no LED present on the keyboard. + m_hw_def.no_code_led(); + msx1(VDP_TMS9129, SND_AY8910, config, REGION_ARAB); } /* MSX - Canon V-8 */ @@ -290,7 +292,7 @@ void msx1_state::canonv8(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 3, 1); m_hw_def.has_printer_port(false); - msx1(VDP_TMS9118, SND_YM2149, config); + msx1(VDP_TMS9118, SND_YM2149, config, REGION_JAPAN); } /* MSX - Canon V-10 */ @@ -312,7 +314,7 @@ void msx1_state::canonv10(machine_config &config) add_cartridge_slot<1>(config, 1); add_cartridge_slot<2>(config, 2); - msx1(VDP_TMS9918A, SND_YM2149, config); + msx1(VDP_TMS9918A, SND_YM2149, config, REGION_JAPAN); } /* MSX - Canon V-20 */ @@ -336,7 +338,7 @@ void msx1_state::canonv20(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - msx1(VDP_TMS9918A, SND_YM2149, config); + msx1(VDP_TMS9918A, SND_YM2149, config, REGION_JAPAN); } /* MSX - Canon V-20E */ @@ -360,7 +362,8 @@ void msx1_state::canonv20e(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - msx1(VDP_TMS9929A, SND_YM2149, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX - Canon V-20F */ @@ -403,8 +406,8 @@ void msx1_state::mx10(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 3, 1); // 16KB RAM add_cartridge_slot<1>(config, 1); - m_hw_def.has_cassette(false).has_printer_port(false); - msx1(VDP_TMS9118, SND_AY8910, config); + m_hw_def.has_cassette(false).has_printer_port(false).no_caps_led().no_code_led(); + msx1(VDP_TMS9118, SND_AY8910, config, REGION_JAPAN); } /* MSX - Casio MX-15 */ @@ -426,8 +429,8 @@ void msx1_state::mx15(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 3, 1); // 16KB RAM add_cartridge_slot<1>(config, 1); - m_hw_def.has_printer_port(false); - msx1(VDP_TMS9928A, SND_AY8910, config); + m_hw_def.has_printer_port(false).no_caps_led(); + msx1(VDP_TMS9928A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Casio MX-101 */ @@ -449,8 +452,8 @@ void msx1_state::mx101(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 3, 1); // 16KB RAM add_cartridge_slot<1>(config, 1); - m_hw_def.has_cassette(false).has_printer_port(false); - msx1(VDP_TMS9118, SND_AY8910, config); + m_hw_def.has_cassette(false).has_printer_port(false).no_caps_led().no_code_led(); + msx1(VDP_TMS9118, SND_AY8910, config, REGION_JAPAN); } /* MSX - Casio PV-7 */ @@ -474,8 +477,8 @@ void msx1_state::pv7(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 3, 1).force_start_address(0xe000); // 8KB RAM add_cartridge_slot<1>(config, 1); - m_hw_def.has_printer_port(false); - msx1(VDP_TMS9118, SND_AY8910, config); + m_hw_def.has_printer_port(false).no_caps_led().no_code_led(); + msx1(VDP_TMS9118, SND_AY8910, config, REGION_JAPAN); } /* MSX - Casio PV-16 */ @@ -498,8 +501,8 @@ void msx1_state::pv16(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 3, 1); // 16KB RAM add_cartridge_slot<1>(config, 1); - m_hw_def.has_printer_port(false); - msx1(VDP_TMS9118, SND_AY8910, config); + m_hw_def.has_printer_port(false).no_caps_led().no_code_led(); + msx1(VDP_TMS9118, SND_AY8910, config, REGION_JAPAN); } /* MSX - CE-TEC MPC-80, German version of Daewoo DPC-200, dump needed to verify */ @@ -530,7 +533,7 @@ void msx1_state::cpc88(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 4); // 64KB RAM m_hw_def.has_printer_port(false); - msx1(VDP_TMS9928A, SND_AY8910, config); + msx1(VDP_TMS9928A, SND_AY8910, config, REGION_KOREA); } /* MSX - Daewoo DPC-100 */ @@ -558,7 +561,7 @@ void msx1_state::dpc100(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 3, 1); // 16KB RAM // expansion slot is in slot #3 - msx1(VDP_TMS9918A, SND_AY8910, config); + msx1(VDP_TMS9918A, SND_AY8910, config, REGION_KOREA); } /* MSX - Daewoo DPC-180 */ @@ -585,7 +588,7 @@ void msx1_state::dpc180(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 4); // 64KB RAM // Expansion slot is in slot #3 - msx1(VDP_TMS9918A, SND_AY8910, config); + msx1(VDP_TMS9918A, SND_AY8910, config, REGION_KOREA); } /* MSX - Daewoo DPC-200 */ @@ -613,7 +616,7 @@ void msx1_state::dpc200(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 4); // 64KB RAM // Expansion slot is in slot #3 - msx1(VDP_TMS9918A, SND_AY8910, config); + msx1(VDP_TMS9918A, SND_AY8910, config, REGION_KOREA); } /* MSX - Daewoo DPC-200E (France) */ @@ -635,7 +638,8 @@ void msx1_state::dpc200e(machine_config &config) add_cartridge_slot<1>(config, 2); // Expansion slot is in slot #3 - msx1(VDP_TMS9129, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9129, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Daewoo Zemmix CPC-50 */ @@ -664,9 +668,9 @@ void msx1_state::cpc50a(machine_config &config) add_cartridge_slot<1>(config, 1); add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 3, 1).force_start_address(0xe000); // 8KB RAM - m_hw_def.has_cassette(false) - .has_printer_port(false); - msx1(VDP_TMS9118, SND_AY8910, config); + m_hw_def.has_cassette(false).has_printer_port(false).no_caps_led().no_code_led(); + // It was released in Korea but there are no Korean specific things about the hardware + msx1(VDP_TMS9118, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Daewoo Zemmix CPC-50B */ @@ -690,9 +694,9 @@ void msx1_state::cpc50b(machine_config &config) add_cartridge_slot<1>(config, 1); add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 3, 1); // 16KB RAM - m_hw_def.has_cassette(false) - .has_printer_port(false); - msx1(VDP_TMS9118, SND_AY8910, config); + m_hw_def.has_cassette(false).has_printer_port(false).no_caps_led().no_code_led(); + // It was released in Korea but there are no Korean specific things about the hardware + msx1(VDP_TMS9118, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Daewoo Zemmix CPC-51 */ @@ -718,9 +722,9 @@ void msx1_state::cpc51(machine_config &config) add_cartridge_slot<1>(config, 1); add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 4); // 64KB RAM - m_hw_def.has_cassette(false) - .has_printer_port(false); - msx1(VDP_TMS9118, SND_AY8910, config); + m_hw_def.has_cassette(false).has_printer_port(false).no_caps_led().no_code_led(); + // It was released in Korea but there are no Korean specific things about the hardware + msx1(VDP_TMS9118, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Daewoo Zemmix DTX-1493FW */ @@ -745,7 +749,8 @@ void msx1_state::dgnmsx(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 4); // 64KB RAM add_cartridge_slot<2>(config, 3); - msx1(VDP_TMS9129, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9129, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Dynadata DPC-200 */ @@ -774,7 +779,8 @@ void msx1_state::fdpc200(machine_config &config) add_cartridge_slot<1>(config, 2); // Expansion slot - msx1(VDP_TMS9929A, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Fenner FPC-500 */ @@ -797,7 +803,8 @@ void msx1_state::fpc500(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - msx1(VDP_TMS9929A, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Fenner SPC-800 */ @@ -819,7 +826,8 @@ void msx1_state::fspc800(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - msx1(VDP_TMS9129, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9129, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Fujitsu FM-X */ @@ -844,7 +852,7 @@ void msx1_state::fmx(machine_config &config) add_cartridge_slot<1>(config, 2); m_hw_def.has_printer_port(false); - msx1(VDP_TMS9928A, SND_AY8910, config); + msx1(VDP_TMS9928A, SND_AY8910, config, REGION_JAPAN); } /* MSX - General PCT-50 */ @@ -878,7 +886,7 @@ void msx1_state::gsfc80u(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 4); // 64KB RAM // Expansion slot in slot #3 - msx1(VDP_TMS9918A, SND_AY8910, config); + msx1(VDP_TMS9918A, SND_AY8910, config, REGION_KOREA); } /* MSX - Goldstar FC-200 */ @@ -901,7 +909,8 @@ void msx1_state::gsfc200(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 4); // 64KB RAM // Expansion slot in slot #3 - msx1(VDP_TMS9129, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9129, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Goldstar GFC-1080 */ @@ -931,7 +940,7 @@ void msx1_state::gfc1080(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 4); // 64KB RAM // Expansion slot in slot #3 - msx1(VDP_TMS9928A, SND_AY8910, config); + msx1(VDP_TMS9928A, SND_AY8910, config, REGION_KOREA); } /* MSX - Goldstar GFC-1080A */ @@ -958,7 +967,7 @@ void msx1_state::gfc1080a(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 4); // 64KB RAM // Expansion slot in slot #3 - msx1(VDP_TMS9918A, SND_AY8910, config); + msx1(VDP_TMS9918A, SND_AY8910, config, REGION_KOREA); } /* MSX - Gradiente Expert 1.3 - source? */ @@ -979,7 +988,8 @@ void msx1_state::expert13(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 2, 0, 4).set_total_size(0x10000); // 64KB Mapper RAM add_cartridge_slot<2>(config, 3); - msx1(VDP_TMS9928A, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9928A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Gradiente Expert DDPlus */ @@ -1007,7 +1017,8 @@ void msx1_state::expertdp(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); // 64KB RAM add_internal_disk_mirrored(config, MSX_SLOT_DISK2_MB8877, "diskrom", 3, 3, 1, 2, "diskrom"); - msx1(VDP_TMS9928A, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9928A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Gradiente Expert Plus */ @@ -1033,7 +1044,8 @@ void msx1_state::expertpl(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); // 64KB RAM add_internal_slot(config, MSX_SLOT_ROM, "demo", 3, 3, 2, 1, "demo"); - msx1(VDP_TMS9928A, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9928A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Gradiente Expert XP-800 (1.0) */ @@ -1057,7 +1069,8 @@ void msx1_state::expert10(machine_config &config) // when no cartridge is inserted the expansion slot can be used in this slot add_cartridge_slot<2>(config, 3); - msx1(VDP_TMS9128, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9128, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Gradiente Expert XP-800 (1.1) / GPC-1 */ @@ -1078,7 +1091,8 @@ void msx1_state::expert11(machine_config &config) // when no cartridge is inserted the expansion slot can be used in this slot add_cartridge_slot<2>(config, 3); - msx1(VDP_TMS9128, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9128, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Hitachi MB-H1 */ @@ -1105,7 +1119,7 @@ void msx1_state::mbh1(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_ROM, "firmware", 3, 1, 1, "firmware"); - msx1(VDP_TMS9918A, SND_AY8910, config); + msx1(VDP_TMS9918A, SND_AY8910, config, REGION_JAPAN); } /* MSX - Hitachi MB-H1E */ @@ -1127,7 +1141,7 @@ void msx1_state::mbh1e(machine_config &config) add_cartridge_slot<1>(config, 1); add_cartridge_slot<2>(config, 2); - msx1(VDP_TMS9918A, SND_AY8910, config); + msx1(VDP_TMS9918A, SND_AY8910, config, REGION_JAPAN); } /* MSX - Hitachi MB-H2 */ @@ -1154,7 +1168,7 @@ void msx1_state::mbh2(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - msx1(VDP_TMS9928A, SND_AY8910, config); + msx1(VDP_TMS9928A, SND_AY8910, config, REGION_JAPAN); } /* MSX - Hitachi MB-H21 */ @@ -1178,7 +1192,7 @@ void msx1_state::mbh25(machine_config &config) add_cartridge_slot<1>(config, 1); add_cartridge_slot<2>(config, 2); - msx1(VDP_TMS9118, SND_AY8910, config); + msx1(VDP_TMS9118, SND_AY8910, config, REGION_JAPAN); } /* MSX - Hitachi MB-H50 */ @@ -1201,7 +1215,7 @@ void msx1_state::mbh50(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); // 64KB RAM - msx1(VDP_TMS9928A, SND_YM2149, config); + msx1(VDP_TMS9928A, SND_YM2149, config, REGION_JAPAN); } /* MSX - Hitachi MB-H80 (unreleased) */ @@ -1226,7 +1240,8 @@ void msx1_state::jvchc7gb(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 4); // 64KB RAM add_cartridge_slot<2>(config, 3); - msx1(VDP_TMS9929A, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Jotan Holland Bingo */ @@ -1256,7 +1271,7 @@ void msx1_state::ml8000(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 2, 2); // 32KB RAM add_cartridge_slot<1>(config, 1); - msx1(VDP_TMS9918A, SND_AY8910, config); + msx1(VDP_TMS9918A, SND_AY8910, config, REGION_JAPAN); } /* MSX - Mitsubishi ML-F48 */ @@ -1279,7 +1294,8 @@ void msx1_state::mlf48(machine_config &config) add_cartridge_slot<1>(config, 2); add_cartridge_slot<2>(config, 3); - msx1(VDP_TMS9929A, SND_AY8910, config); // videochip needs verification + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_AY8910, config, REGION_INTERNATIONAL); // videochip needs verification } /* MSX - Mitsubishi ML-F80 */ @@ -1302,7 +1318,8 @@ void msx1_state::mlf80(machine_config &config) add_cartridge_slot<1>(config, 2); add_cartridge_slot<2>(config, 3); - msx1(VDP_TMS9929A, SND_AY8910, config); // videochip needs verification + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_AY8910, config, REGION_INTERNATIONAL); // videochip needs verification } /* MSX - Mitsubishi ML-F110 */ @@ -1325,7 +1342,7 @@ void msx1_state::mlf110(machine_config &config) add_cartridge_slot<1>(config, 2); add_cartridge_slot<2>(config, 3); - msx1(VDP_TMS9918A, SND_AY8910, config); + msx1(VDP_TMS9918A, SND_AY8910, config, REGION_JAPAN); } /* MSX - Mitsubishi ML-F120 / ML-F120D */ @@ -1353,7 +1370,7 @@ void msx1_state::mlf120(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_ROM, "firmware", 3, 1, 1, "firmware"); - msx1(VDP_TMS9918A, SND_AY8910, config); + msx1(VDP_TMS9918A, SND_AY8910, config, REGION_JAPAN); } /* MSX - Mitsubishi ML-F120D (functionality wise same as ML-F120 but with RGB out instead of composite) @@ -1385,7 +1402,8 @@ void msx1_state::mlfx1(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); // 64KB RAM - msx1(VDP_TMS9929A, SND_YM2149, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX - Mitsubishi ML-FX2 */ @@ -1410,7 +1428,7 @@ void msx1_state::cf1200(machine_config &config) add_cartridge_slot<1>(config, 1); add_cartridge_slot<2>(config, 2); - msx1(VDP_TMS9918A, SND_AY8910, config); // soundchip needs verification + msx1(VDP_TMS9918A, SND_AY8910, config, REGION_JAPAN); // soundchip needs verification } /* MSX - National CF-2000 */ @@ -1431,7 +1449,7 @@ void msx1_state::cf2000(machine_config &config) add_cartridge_slot<1>(config, 1); add_cartridge_slot<2>(config, 2); - msx1(VDP_TMS9928A, SND_AY8910, config); // soundchip needs verification + msx1(VDP_TMS9928A, SND_AY8910, config, REGION_JAPAN); // soundchip needs verification } /* MSX - National CF-2700 */ @@ -1453,7 +1471,7 @@ void msx1_state::cf2700(machine_config &config) add_cartridge_slot<1>(config, 1); add_cartridge_slot<2>(config, 2); - msx1(VDP_TMS9918A, SND_AY8910, config); + msx1(VDP_TMS9918A, SND_AY8910, config, REGION_JAPAN); } /* MSX - National CF-3000 */ @@ -1474,7 +1492,7 @@ void msx1_state::cf3000(machine_config &config) add_cartridge_slot<1>(config, 2); add_cartridge_slot<2>(config, 3); - msx1(VDP_TMS9928A, SND_AY8910, config); + msx1(VDP_TMS9928A, SND_AY8910, config, REGION_JAPAN); } /* MSX - National CF-3300 */ @@ -1499,7 +1517,7 @@ void msx1_state::cf3300(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); // 64KB RAM add_internal_disk_mirrored(config, MSX_SLOT_DISK2_MB8877_SS, "diskrom", 3, 1, 1, 2, "diskrom"); - msx1(VDP_TMS9928A, SND_AY8910, config); + msx1(VDP_TMS9928A, SND_AY8910, config, REGION_JAPAN); } /* MSX - National FS-1300 */ @@ -1520,7 +1538,8 @@ void msx1_state::fs1300(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - msx1(VDP_TMS9918A, SND_AY8910, config); + // Unclear from images whether caps and code leds are present; assuming they are present. + msx1(VDP_TMS9918A, SND_AY8910, config, REGION_JAPAN); } /* MSX - National FS-4000 */ @@ -1553,7 +1572,7 @@ void msx1_state::fs4000(machine_config &config) add_internal_slot(config, MSX_SLOT_ROM, "kdr", 3, 1, 1, 2, "kdr"); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); // 64KB RAM - msx1(VDP_TMS9128, SND_YM2149, config); + msx1(VDP_TMS9128, SND_YM2149, config, REGION_JAPAN); } /* MSX - National FS-4000 (Alt) */ @@ -1586,7 +1605,7 @@ void msx1_state::fs4000a(machine_config &config) add_internal_slot(config, MSX_SLOT_ROM, "kdr", 3, 1, 1, 2, "kdr"); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); // 64KB RAM - msx1(VDP_TMS9128, SND_YM2149, config); + msx1(VDP_TMS9128, SND_YM2149, config, REGION_JAPAN); } /* MSX - Network DPC-200 */ @@ -1615,7 +1634,8 @@ void msx1_state::phc2(machine_config &config) add_cartridge_slot<1>(config, 2); // Expansion slot in slot #3 - msx1(VDP_TMS9129, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9129, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Olympia PHC-28 */ @@ -1638,7 +1658,8 @@ void msx1_state::phc28(machine_config &config) add_cartridge_slot<2>(config, 2); // Expansion slot in slot #3 - msx1(VDP_TMS9929A, SND_AY8910, config); // soundchip and videochip need verification + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_AY8910, config, REGION_INTERNATIONAL); // soundchip and videochip need verification } /* MSX - Panasonic CF-2700 (Germany) */ @@ -1661,7 +1682,8 @@ void msx1_state::cf2700g(machine_config &config) add_cartridge_slot<1>(config, 2); add_cartridge_slot<2>(config, 3); - msx1(VDP_TMS9129, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9129, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Panasonic CF-2700 (UK) */ @@ -1684,7 +1706,8 @@ void msx1_state::cf2700uk(machine_config &config) add_cartridge_slot<1>(config, 2); add_cartridge_slot<2>(config, 3); - msx1(VDP_TMS9129, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9129, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Panasonic FS-3900 */ @@ -1715,8 +1738,8 @@ void msx1_state::nms801(machine_config &config) add_internal_slot(config, MSX_SLOT_ROM, "mainrom", 0, 0, 2, "mainrom"); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - m_hw_def.has_printer_port(false); - msx1(VDP_TMS9129, SND_AY8910, config); + m_hw_def.has_printer_port(false).no_caps_led().no_code_led(); + msx1(VDP_TMS9129, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Philips VG-8000 */ @@ -1740,7 +1763,7 @@ void msx1_state::vg8000(machine_config &config) add_cartridge_slot<2>(config, 2); m_hw_def.has_printer_port(false); - msx1(VDP_TMS9129, SND_AY8910, config); + msx1(VDP_TMS9129, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Philips VG-8010 / VG-8010/00 */ @@ -1764,7 +1787,7 @@ void msx1_state::vg8010(machine_config &config) add_cartridge_slot<2>(config, 2); m_hw_def.has_printer_port(false); - msx1(VDP_TMS9129, SND_AY8910, config); + msx1(VDP_TMS9129, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Philips VG-8010F / VG-8010/19 */ @@ -1788,7 +1811,7 @@ void msx1_state::vg8010f(machine_config &config) add_cartridge_slot<2>(config, 2); m_hw_def.has_printer_port(false); - msx1(VDP_TMS9129, SND_AY8910, config); + msx1(VDP_TMS9129, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Philips VG-8020-00 */ @@ -1809,7 +1832,8 @@ void msx1_state::vg802000(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - msx1(VDP_TMS9929A, SND_YM2149, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX - Philips VG-8020/19 / VG-8020F */ @@ -1831,7 +1855,8 @@ void msx1_state::vg8020f(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - msx1(VDP_TMS9929A, SND_YM2149, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX - Philips VG-8020/20 */ @@ -1855,7 +1880,8 @@ void msx1_state::vg802020(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - msx1(VDP_TMS9129, SND_YM2149, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9129, SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX - Phonola VG-8000 (Italian market, mostly likely same as Philips VG-8000) */ @@ -1969,7 +1995,7 @@ void msx1_state::piopx7(machine_config &config) add_internal_slot(config, MSX_SLOT_ROM, "pbasic", 2, 1, 1, "pbasic"); add_cartridge_slot<2>(config, 3); - msx1(VDP_TMS9928A, SND_AY8910, config); + msx1(VDP_TMS9928A, SND_AY8910, config, REGION_JAPAN); } /* MSX - Pioneer PX-7UK */ @@ -1999,7 +2025,8 @@ void msx1_state::piopx7uk(machine_config &config) add_internal_slot(config, MSX_SLOT_ROM, "pbasic", 2, 1, 1, "pbasic"); add_cartridge_slot<2>(config, 3); - msx1(VDP_TMS9129, SND_YM2149, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9129, SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX - Pioneer PX-V60 */ @@ -2027,7 +2054,7 @@ void msx1_state::piopxv60(machine_config &config) add_internal_slot(config, MSX_SLOT_ROM, "pbasic", 2, 1, 1, "pbasic"); add_cartridge_slot<2>(config, 3); - msx1(VDP_TMS9128, SND_YM2149, config); + msx1(VDP_TMS9128, SND_YM2149, config, REGION_JAPAN); } /* MSX - Pioneer PX-V7 */ @@ -2063,7 +2090,7 @@ void msx1_state::ax150(machine_config &config) add_cartridge_slot<1>(config, 1); add_cartridge_slot<2>(config, 2); - msx1(VDP_TMS9918, SND_YM2149, config); + msx1(VDP_TMS9918, SND_YM2149, config, REGION_ARAB); } /* MSX - Sakhr AX-170 */ @@ -2090,7 +2117,7 @@ void msx1_state::ax170(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); // 64KB RAM add_cartridge_slot<2>(config, 3, 3); - msx1(VDP_TMS9929A, SND_AY8910, config); + msx1(VDP_TMS9929A, SND_AY8910, config, REGION_ARAB); } /* MSX - Sakhr AX-170F */ @@ -2121,7 +2148,7 @@ void msx1_state::ax230(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); // 64KB RAM add_internal_slot(config, MSX_SLOT_AX230, "games", 3, 3, 1, 2, "games"); - msx1(VDP_TMS9918, SND_AY8910, config); + msx1(VDP_TMS9918, SND_AY8910, config, REGION_ARAB); } /* MSX - Sakhr AX-330 */ @@ -2154,7 +2181,7 @@ void msx1_state::spc800(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 4); // 64KB?? RAM // Expansion slot in slot #3 - msx1(VDP_TMS9118, SND_AY8910, config); + msx1(VDP_TMS9118, SND_AY8910, config, REGION_KOREA); } /* MSX - Sanno PHC-SPC */ @@ -2186,7 +2213,8 @@ void msx1_state::mpc64(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - msx1(VDP_TMS9928A, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9928A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Sanyo MPC-100 */ @@ -2208,7 +2236,8 @@ void msx1_state::mpc100(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - msx1(VDP_TMS9929A, SND_AY8910, config); + m_hw_def.no_caps_led().no_code_led(); + msx1(VDP_TMS9929A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Sanyo MPC-200 */ @@ -2231,7 +2260,8 @@ void msx1_state::mpc200(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - msx1(VDP_TMS9929A, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Sanyo MPC-200SP (same as Sanyo MPC-200 ?) */ @@ -2252,7 +2282,8 @@ void msx1_state::mpc200sp(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - msx1(VDP_TMS9929A, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Sanyo PHC-28L */ @@ -2274,7 +2305,8 @@ void msx1_state::phc28l(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - msx1(VDP_TMS9929A, SND_YM2149, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX - Sanyo PHC-28S */ @@ -2297,7 +2329,8 @@ void msx1_state::phc28s(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 2); // 32KB RAM - msx1(VDP_TMS9929A, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Sanyo Wavy MPC-10 */ @@ -2322,7 +2355,7 @@ void msx1_state::mpc10(machine_config &config) // Expansion slot in slot #2 add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 2); // 32KB RAM - msx1(VDP_TMS9918, SND_AY8910, config); + msx1(VDP_TMS9918, SND_AY8910, config, REGION_JAPAN); } /* MSX - Schneider MC 810 */ @@ -2349,7 +2382,8 @@ void msx1_state::hb8000(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - msx1(VDP_TMS9128, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9128, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Sharp Epcom HB-8000 (HotBit 1.3b) */ @@ -2370,7 +2404,8 @@ void msx1_state::hotbi13b(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 4).set_total_size(0x10000); // 64KB Mapper RAM - msx1(VDP_TMS9928A, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9928A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Sharp Epcom HB-8000 (HotBit 1.3p) */ @@ -2391,7 +2426,8 @@ void msx1_state::hotbi13p(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 4).set_total_size(0x10000); // 64KB Mapper RAM - msx1(VDP_TMS9928A, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9928A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Sincorp SBX (Argentina, homebrew) */ @@ -2417,7 +2453,7 @@ void msx1_state::hb10(machine_config &config) add_cartridge_slot<1>(config, 1); add_cartridge_slot<2>(config, 2); - msx1(VDP_TMS9118, SND_YM2149, config); + msx1(VDP_TMS9118, SND_YM2149, config, REGION_JAPAN); } /* MSX - Sony HB-10B */ @@ -2446,7 +2482,8 @@ void msx1_state::hb10p(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - msx1(VDP_TMS9929A, SND_YM2149, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX - Sony HB-20P */ @@ -2470,7 +2507,8 @@ void msx1_state::hb20p(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - msx1(VDP_TMS9929A, SND_YM2149, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX - Sony HB-201 */ @@ -2495,7 +2533,7 @@ void msx1_state::hb201(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - msx1(VDP_TMS9118, SND_YM2149, config); + msx1(VDP_TMS9118, SND_YM2149, config, REGION_JAPAN); } /* MSX - Sony HB-201P */ @@ -2520,7 +2558,8 @@ void msx1_state::hb201p(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - msx1(VDP_TMS9129, SND_YM2149, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9129, SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX - Sony HB-501F */ @@ -2549,7 +2588,8 @@ void msx1_state::hb501p(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - msx1(VDP_TMS9929A, SND_YM2149, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX - Sony HB-55 (Version 1) */ @@ -2574,7 +2614,7 @@ void msx1_state::hb55(machine_config &config) add_cartridge_slot<1>(config, 1); // Expansion slot in slot #3 - msx1(VDP_TMS9918A, SND_AY8910, config); + msx1(VDP_TMS9918A, SND_AY8910, config, REGION_JAPAN); } /* MSX - Sony HB-55D, is this HB-55 2nd version? */ @@ -2599,7 +2639,8 @@ void msx1_state::hb55d(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 3, 1); // 16KB RAM add_cartridge_slot<2>(config, 3); - msx1(VDP_TMS9929A, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Sony HB-55P */ @@ -2628,7 +2669,8 @@ void msx1_state::hb55p(machine_config &config) add_cartridge_slot<1>(config, 1); add_cartridge_slot<2>(config, 3); - msx1(VDP_TMS9929A, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Sony HB-75 */ @@ -2653,7 +2695,7 @@ void msx1_state::hb75(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 4); // 64KB RAM // Expansion slot in slot #3 - msx1(VDP_TMS9918A, SND_AY8910, config); + msx1(VDP_TMS9918A, SND_AY8910, config, REGION_JAPAN); } /* MSX - Sony HB-75AS */ @@ -2682,7 +2724,8 @@ void msx1_state::hb75d(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 4); // 64KB RAM add_cartridge_slot<2>(config, 3); - msx1(VDP_TMS9929A, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Sony HB-75F */ @@ -2713,7 +2756,8 @@ void msx1_state::hb75p(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 4); // 64KB RAM add_cartridge_slot<2>(config, 3); - msx1(VDP_TMS9929A, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Sony HB-101 */ @@ -2740,7 +2784,7 @@ void msx1_state::hb101(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_ROM, "firmware", 3, 1, 1, "firmware"); - msx1(VDP_TMS9118, SND_YM2149, config); + msx1(VDP_TMS9118, SND_YM2149, config, REGION_JAPAN); } /* MSX - Sony HB-101P */ @@ -2767,7 +2811,8 @@ void msx1_state::hb101p(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_ROM, "firmware", 3, 1, 1, "firmware"); - msx1(VDP_TMS9929A, SND_YM2149, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX - Sony HB-701 */ @@ -2795,7 +2840,7 @@ void msx1_state::hb701fd(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 0, 4); // 64KB RAM add_internal_disk_mirrored(config, MSX_SLOT_DISK1_WD2793_SS, "disk", 3, 1, 1, 2, "diskrom"); - msx1(VDP_TMS9928A, SND_YM2149, config); + msx1(VDP_TMS9928A, SND_YM2149, config, REGION_JAPAN); } /* MSX - Spectravideo SVI-728 */ @@ -2817,7 +2862,8 @@ void msx1_state::svi728(machine_config &config) add_cartridge_slot<1>(config, 2); // Expansion slot (for eg SVI-707) in slot #3 - msx1(VDP_TMS9129, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9129, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Spectravideo SVI-728 (Arabic) */ @@ -2859,7 +2905,8 @@ void msx1_state::tadpc200(machine_config &config) add_cartridge_slot<1>(config, 2); // Expansion slot in slot #3 - msx1(VDP_TMS9129, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9129, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Talent DPS-201 */ @@ -2949,7 +2996,8 @@ void msx1_state::hx10(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 4); // 64KB RAM // Expansion slot in slot #3 - msx1(VDP_TMS9929A, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Toshiba HX-10AA */ @@ -2973,7 +3021,7 @@ void msx1_state::hx10d(machine_config &config) // Expansion slot in slot #3 m_hw_def.has_printer_port(false); - msx1(VDP_TMS9918A, SND_AY8910, config); + msx1(VDP_TMS9918A, SND_AY8910, config, REGION_JAPAN); } /* MSX - Toshiba HX-10DP */ @@ -2994,7 +3042,7 @@ void msx1_state::hx10dp(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 4); // 64KB RAM // Expansion slot in slot #3 - msx1(VDP_TMS9918A, SND_AY8910, config); + msx1(VDP_TMS9918A, SND_AY8910, config, REGION_JAPAN); } /* MSX - Toshiba HX-10DPN */ @@ -3017,7 +3065,8 @@ void msx1_state::hx10e(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 4); // 64KB RAM // Expansion slot in slot #3 - msx1(VDP_TMS9929A, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Toshiba HX-10F */ @@ -3038,7 +3087,8 @@ void msx1_state::hx10f(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 4); // 64KB RAM // Expansion slot in slot #3 - msx1(VDP_TMS9929A, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Toshiba HX-10I */ @@ -3063,7 +3113,7 @@ void msx1_state::hx10s(machine_config &config) // Expansion slot in slot #3 m_hw_def.has_printer_port(false); - msx1(VDP_TMS9918A, SND_AY8910, config); + msx1(VDP_TMS9918A, SND_AY8910, config, REGION_JAPAN); } /* MSX - Toshiba HX-10SA */ @@ -3085,7 +3135,7 @@ void msx1_state::hx10sa(machine_config &config) // Expansion slot in slot #3 m_hw_def.has_printer_port(false); - msx1(VDP_TMS9918A, SND_AY8910, config); + msx1(VDP_TMS9918A, SND_AY8910, config, REGION_JAPAN); } /* MSX - Toshiba HX-10SF */ @@ -3117,7 +3167,7 @@ void msx1_state::hx20(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram2", 3, 0, 0, 2); // 32KB RAM add_internal_slot(config, MSX_SLOT_ROM, "firmware", 3, 3, 1, 2, "firmware"); - msx1(VDP_TMS9129, SND_YM2149, config); + msx1(VDP_TMS9129, SND_YM2149, config, REGION_JAPAN); } /* MSX - Toshiba HX-20AR */ @@ -3147,7 +3197,8 @@ void msx1_state::hx20e(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram2", 3, 0, 0, 2); // 32KB RAM add_internal_slot(config, MSX_SLOT_ROM, "firmware", 3, 3, 1, 2, "firmware"); - msx1(VDP_TMS9129, SND_YM2149, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9129, SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX - Toshiba HX-20I */ @@ -3174,7 +3225,8 @@ void msx1_state::hx20i(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram2", 3, 0, 0, 2); // 32KB RAM add_internal_slot(config, MSX_SLOT_ROM, "firmware", 3, 3, 1, 2, "firmware"); - msx1(VDP_TMS9129, SND_YM2149, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9129, SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX - Toshiba HX-21 */ @@ -3202,7 +3254,7 @@ void msx1_state::hx21(machine_config &config) add_internal_slot(config, MSX_SLOT_ROM, "firmware_mirror1", 3, 3, 0, 1, "firmware"); add_internal_slot(config, MSX_SLOT_ROM, "firmware_mirror2", 3, 3, 3, 1, "firmware", 0x4000); - msx1(VDP_TMS9928A, SND_AY8910, config); + msx1(VDP_TMS9928A, SND_AY8910, config, REGION_JAPAN); } /* MSX - Toshiba HX-21F */ @@ -3228,7 +3280,8 @@ void msx1_state::hx21f(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram2", 3, 0, 2, 2); // 32KB RAM add_internal_slot(config, MSX_SLOT_ROM, "firmware", 3, 3, 1, 2, "firmware"); - msx1(VDP_TMS9929A, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Toshiba HX-22 */ @@ -3256,7 +3309,7 @@ void msx1_state::hx22(machine_config &config) add_internal_slot(config, MSX_SLOT_ROM, "firmware_mirror1", 3, 3, 0, 1, "firmware"); add_internal_slot(config, MSX_SLOT_ROM, "firmware_mirror2", 3, 3, 3, 1, "firmware", 0x4000); - msx1(VDP_TMS9928A, SND_AY8910, config); + msx1(VDP_TMS9928A, SND_AY8910, config, REGION_JAPAN); } /* MSX - Toshiba HX-22CH */ @@ -3288,7 +3341,8 @@ void msx1_state::hx22i(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram2", 3, 0, 2, 2); // 32KB RAM add_internal_slot_irq<3>(config, MSX_SLOT_RS232_TOSHIBA, "firmware", 3, 3, 1, 2, "firmware"); - msx1(VDP_TMS9929A, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Toshiba HX-30 */ @@ -3323,7 +3377,7 @@ void msx1_state::hx32(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram2", 3, 0, 0, 4); // 64KB RAM add_internal_slot(config, MSX_SLOT_ROM, "firmware", 3, 3, 1, 2, "firmware"); - msx1(VDP_TMS9928A, SND_YM2149, config); + msx1(VDP_TMS9928A, SND_YM2149, config, REGION_JAPAN); } /* MSX - Toshiba HX-51I */ @@ -3347,7 +3401,8 @@ void msx1_state::hx51i(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram2", 3, 0, 2); // 32KB RAM - msx1(VDP_TMS9918, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9918, SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX - Toshiba HX-52 */ @@ -3375,7 +3430,7 @@ void msx1_state::hc5(machine_config &config) // Expansion slot in slot #2 // Module slot in slot #3 - msx1(VDP_TMS9928A, SND_YM2149, config); + msx1(VDP_TMS9928A, SND_YM2149, config, REGION_JAPAN); } /* MSX - Victor HC-6 */ @@ -3397,7 +3452,7 @@ void msx1_state::hc6(machine_config &config) // Expansion slot in slot #2 // Module slot in slot #3 - msx1(VDP_TMS9928A, SND_YM2149, config); + msx1(VDP_TMS9928A, SND_YM2149, config, REGION_JAPAN); } /* MSX - Victor HC-7 */ @@ -3422,7 +3477,7 @@ void msx1_state::hc7(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 4); // 64KB RAM add_cartridge_slot<2>(config, 3); - msx1(VDP_TMS9928A, SND_AY8910, config); + msx1(VDP_TMS9928A, SND_AY8910, config, REGION_JAPAN); } /* MSX - Victor HC-30 */ @@ -3456,7 +3511,7 @@ void msx1_state::cx5f1(machine_config &config) // Expansion bus in slot #2 add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "module", 3, msx_yamaha_60pin, "sfg01"); - msx1(VDP_TMS9928A, SND_YM2149, config); + msx1(VDP_TMS9928A, SND_YM2149, config, REGION_JAPAN); } /* MSX - Yamaha CX5F (with SFG05) */ @@ -3482,7 +3537,7 @@ void msx1_state::cx5f(machine_config &config) // Expansion bus in slot #2 add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "module", 3, msx_yamaha_60pin, "sfg05"); - msx1(VDP_TMS9928A, SND_YM2149, config); + msx1(VDP_TMS9928A, SND_YM2149, config, REGION_JAPAN); } /* MSX - Yamaha CX5MA (Australia / New Zealand */ @@ -3518,7 +3573,8 @@ void msx1_state::cx5mu(machine_config &config) // Expansion slot in slot #2 add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "module", 3, msx_yamaha_60pin, "sfg01"); - msx1(VDP_TMS9918A, SND_YM2149, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9918A, SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX - Yamaha SX-100 */ @@ -3540,7 +3596,7 @@ void msx1_state::sx100(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 0, 2, 2); // 32KB RAM add_cartridge_slot<1>(config, 1); - msx1(VDP_TMS9918, SND_YM2149, config); + msx1(VDP_TMS9918, SND_YM2149, config, REGION_JAPAN); } /* MSX - Yamaha YIS-303 */ @@ -3567,7 +3623,7 @@ void msx1_state::yis303(machine_config &config) add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "module", 3, 0, msx_yamaha_60pin, nullptr); m_hw_def.has_printer_port(false); - msx1(VDP_TMS9918A, SND_YM2149, config); + msx1(VDP_TMS9918A, SND_YM2149, config, REGION_JAPAN); } /* MSX - Yamaha YIS-503 */ @@ -3591,7 +3647,7 @@ void msx1_state::yis503(machine_config &config) // Expansion slot in slot #2 add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "module", 3, msx_yamaha_60pin, nullptr); - msx1(VDP_TMS9928A, SND_YM2149, config); + msx1(VDP_TMS9928A, SND_YM2149, config, REGION_JAPAN); } /* MSX - Yamaha YIS-503F */ @@ -3615,7 +3671,8 @@ void msx1_state::yis503f(machine_config &config) // Expansion slot in slot #2 add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "module", 3, msx_yamaha_60pin, nullptr); - msx1(VDP_TMS9929A, SND_YM2149, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9929A, SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX - Yamaha YIS-603 */ @@ -3637,7 +3694,8 @@ void msx1_state::yc64(machine_config &config) add_cartridge_slot<1>(config, 1); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - msx1(VDP_TMS9929A, SND_YM2149, config); + m_hw_def.no_caps_led().no_code_led(); + msx1(VDP_TMS9929A, SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX - Yeno DPC-64 */ @@ -3661,7 +3719,8 @@ void msx1_state::mx64(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 2, 0, 4); // 64KB RAM add_cartridge_slot<2>(config, 3); - msx1(VDP_TMS9928A, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9928A, SND_AY8910, config, REGION_INTERNATIONAL); } } // anonymous namespace diff --git a/src/mame/msx/msx1_bruc100.cpp b/src/mame/msx/msx1_bruc100.cpp index 0d447317d66..961467cc493 100644 --- a/src/mame/msx/msx1_bruc100.cpp +++ b/src/mame/msx/msx1_bruc100.cpp @@ -73,7 +73,8 @@ void bruc100_state::bruc100(machine_config &config) // Expansion slot in slot 1 add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 4).set_total_size(0x10000); // 64KB RAM - msx1(VDP_TMS9129, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9129, SND_AY8910, config, REGION_INTERNATIONAL); m_maincpu->set_addrmap(AS_IO, &bruc100_state::io_map); } @@ -108,7 +109,8 @@ void bruc100_state::bruc100a(machine_config &config) add_cartridge_slot<1>(config, 2); // Expansion slot in slot 3 - msx1(VDP_TMS9129, SND_AY8910, config); + m_hw_def.no_code_led(); + msx1(VDP_TMS9129, SND_AY8910, config, REGION_INTERNATIONAL); m_maincpu->set_addrmap(AS_IO, &bruc100_state::io_map); } diff --git a/src/mame/msx/msx1_v9938.cpp b/src/mame/msx/msx1_v9938.cpp index 0f73629b43d..daeb8d3bfc4 100644 --- a/src/mame/msx/msx1_v9938.cpp +++ b/src/mame/msx/msx1_v9938.cpp @@ -56,8 +56,9 @@ public: void yis503ii(machine_config &config); protected: - void msx1_v9938(ay8910_type ay8910_type, machine_config &config); - void msx1_v9938_pal(ay8910_type ay8910_type, machine_config &config); + void msx1_v9938(ay8910_type ay8910_type, machine_config &config, region_type region); + void msx1_v9938_pal(ay8910_type ay8910_type, machine_config &config, region_type region); + void svi738_base(machine_config &config, region_type region); void io_map(address_map &map); @@ -76,9 +77,9 @@ void msx1_v9938_state::io_map(address_map &map) map(0x98, 0x9b).rw(m_v9938, FUNC(v9938_device::read), FUNC(v9938_device::write)); } -void msx1_v9938_state::msx1_v9938(ay8910_type ay8910_type, machine_config &config) +void msx1_v9938_state::msx1_v9938(ay8910_type ay8910_type, machine_config &config, region_type region) { - msx_base(ay8910_type, config, 21.477272_MHz_XTAL, 6); + msx_base(ay8910_type, config, 21.477272_MHz_XTAL, 6, region); m_maincpu->set_addrmap(AS_IO, &msx1_v9938_state::io_map); @@ -92,9 +93,9 @@ void msx1_v9938_state::msx1_v9938(ay8910_type ay8910_type, machine_config &confi msx1_add_softlists(config); } -void msx1_v9938_state::msx1_v9938_pal(ay8910_type ay8910_type, machine_config &config) +void msx1_v9938_state::msx1_v9938_pal(ay8910_type ay8910_type, machine_config &config, region_type region) { - msx1_v9938(ay8910_type, config); + msx1_v9938(ay8910_type, config, region); m_v9938->set_screen_pal(m_screen); } @@ -124,7 +125,7 @@ void msx1_v9938_state::ax200(machine_config &config) add_cartridge_slot<2>(config, 2); add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "expansion", 3, msx_yamaha_60pin, nullptr); - msx1_v9938_pal(SND_YM2149, config); + msx1_v9938_pal(SND_YM2149, config, REGION_ARAB); } /* MSX - Sakhr AX-200 (Arabic/French) */ @@ -156,7 +157,7 @@ void msx1_v9938_state::ax200m(machine_config &config) // Dumped unit had a SFG05 with version M5.00.011 rom add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "expansion", 3, msx_yamaha_60pin, "sfg05"); - msx1_v9938_pal(SND_YM2149, config); + msx1_v9938_pal(SND_YM2149, config, REGION_ARAB); } /* MSX - Spectravideo SVI-738 */ @@ -172,6 +173,17 @@ ROM_START(svi738) ROM_LOAD("738232c.rom", 0x0000, 0x2000, CRC(3353dcc6) SHA1(4e9384c9d137f0ab65ffc5a78f04cd8c9df6c8b7)) ROM_END +void msx1_v9938_state::svi738_base(machine_config &config, region_type region) +{ + add_internal_slot(config, MSX_SLOT_ROM, "mainrom", 0, 0, 2, "mainrom"); + add_internal_slot(config, MSX_SLOT_RAM, "ram", 1, 0, 4); // 64KB RAM + add_cartridge_slot<1>(config, 2); + add_internal_slot_irq<2>(config, MSX_SLOT_RS232_SVI738, "rs232", 3, 0, 1, 1, "rs232rom"); + add_internal_disk_mirrored(config, MSX_SLOT_DISK2_FD1793_SS, "disk", 3, 1, 1, 2, "diskrom").use_motor_for_led(); + + msx1_v9938_pal(SND_AY8910, config, region); +} + void msx1_v9938_state::svi738(machine_config &config) { // AY8910 @@ -180,13 +192,8 @@ void msx1_v9938_state::svi738(machine_config &config) // builtin 80 columns card (V9938) // RS-232C interface - add_internal_slot(config, MSX_SLOT_ROM, "mainrom", 0, 0, 2, "mainrom"); - add_internal_slot(config, MSX_SLOT_RAM, "ram", 1, 0, 4); // 64KB RAM - add_cartridge_slot<1>(config, 2); - add_internal_slot_irq<2>(config, MSX_SLOT_RS232_SVI738, "rs232", 3, 0, 1, 1, "rs232rom"); - add_internal_disk_mirrored(config, MSX_SLOT_DISK2_FD1793_SS, "disk", 3, 1, 1, 2, "diskrom").use_motor_for_led(); - - msx1_v9938_pal(SND_AY8910, config); + m_hw_def.no_code_led(); + svi738_base(config, REGION_INTERNATIONAL); } /* MSX - Spectravideo SVI-738 Arabic */ @@ -207,7 +214,7 @@ ROM_END void msx1_v9938_state::svi738ar(machine_config &config) { - svi738(config); + svi738_base(config, REGION_ARAB); add_internal_slot(config, MSX_SLOT_ROM, "arab", 3, 3, 1, 2, "arab"); } @@ -284,7 +291,8 @@ void msx1_v9938_state::tadpc200a(machine_config &config) add_cartridge_slot<1>(config, 2); // Expansion slot - msx1_v9938_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx1_v9938_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX - Yamaha CX5MII-128A (Australia, New Zealand) */ @@ -320,7 +328,8 @@ void msx1_v9938_state::cx5m128(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000); // 128KB Mapper RAM add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "module", 3, 3, msx_yamaha_60pin, "sfg05"); - msx1_v9938_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx1_v9938_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX - Yamaha CX5MII-128 C (Canada) */ @@ -370,7 +379,8 @@ void msx1_v9938_state::cx5miib(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x10000); // 64KB Mapper RAM add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "module", 3, 3, msx_yamaha_60pin, "sfg05"); - msx1_v9938_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx1_v9938_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX - Yamaha CX5MIIC (Canada) */ @@ -408,7 +418,8 @@ void msx1_v9938_state::yis503ii(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); // 64KB RAM add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "module", 3, 3, msx_yamaha_60pin, nullptr); - msx1_v9938(SND_YM2149, config); + m_hw_def.no_code_led(); + msx1_v9938(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX - Yamaha YIS503-IIR Russian */ @@ -438,7 +449,7 @@ void msx1_v9938_state::y503iir(machine_config &config) // This should have a serial network interface by default add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "module", 3, 3, msx_yamaha_60pin, nullptr); - msx1_v9938_pal(SND_YM2149, config); + msx1_v9938_pal(SND_YM2149, config, REGION_RUSSIA); } /* MSX - Yamaha YIS503-IIR Estonian */ @@ -468,7 +479,7 @@ void msx1_v9938_state::y503iir2(machine_config &config) // This should have a serial network interface by default add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "module", 3, 3, msx_yamaha_60pin, nullptr); - msx1_v9938_pal(SND_YM2149, config); + msx1_v9938_pal(SND_YM2149, config, REGION_RUSSIA); } } // anonymous namespace diff --git a/src/mame/msx/msx2.cpp b/src/mame/msx/msx2.cpp index e423074dbf8..b3413309470 100644 --- a/src/mame/msx/msx2.cpp +++ b/src/mame/msx/msx2.cpp @@ -211,7 +211,7 @@ void msx2_state::canonv25(machine_config &config) add_internal_slot(config, MSX_SLOT_ROM, "subrom", 3, 0, 0, 1, "subrom"); add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x10000); // 64KB Mapper RAM - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); msx2_64kb_vram(config); } @@ -242,7 +242,7 @@ void msx2_state::canonv30f(machine_config &config) add_internal_disk_mirrored(config, MSX_SLOT_DISK7_MB8877, "disk", 3, 1, 1, 2, "diskrom"); add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000); // 128KB Mapper RAM - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Daewoo CPC-300 */ @@ -274,7 +274,7 @@ void msx2_state::cpc300(machine_config &config) // Expansion slot in slot #3 MSX_S1985(config, "s1985", 0); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_KOREA); } /* MSX2 - Daewoo CPC-300E */ @@ -308,7 +308,7 @@ void msx2_state::cpc300e(machine_config &config) // Expansion slot in slot #3 MSX_S1985(config, "s1985", 0); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_KOREA); } /* MSX2 - Daewoo CPC-330K */ @@ -339,7 +339,7 @@ void msx2_state::cpc330k(machine_config &config) add_internal_slot(config, MSX_SLOT_ROM, "subrom", 0, 3, 0, 2, "subrom"); add_cartridge_slot<1>(config, 1); - msx2(SND_AY8910, config); + msx2(SND_AY8910, config, REGION_KOREA); } /* MSX2 - Daewoo CPC-400 */ @@ -376,7 +376,7 @@ void msx2_state::cpc400(machine_config &config) add_internal_disk_mirrored(config, MSX_SLOT_DISK2_MB8877, "disk", 2, 1, 2, "diskrom"); // Expansion slot in slot #3 - msx2(SND_AY8910, config); + msx2(SND_AY8910, config, REGION_KOREA); } /* MSX2 - Daewoo CPC-400S */ @@ -411,7 +411,7 @@ void msx2_state::cpc400s(machine_config &config) add_internal_disk_mirrored(config, MSX_SLOT_DISK2_MB8877, "disk", 2, 1, 2, "mainrom", 0x8000); // Expansion slot in slot #3 - msx2(SND_AY8910, config); + msx2(SND_AY8910, config, REGION_KOREA); } /* MSX2 - Daewoo Zemmix CPC-61 */ @@ -437,9 +437,8 @@ void msx2_state::cpc61(machine_config &config) add_internal_slot(config, MSX_SLOT_ROM, "subrom", 0, 3, 0, 1, "mainrom", 0x8000); add_cartridge_slot<1>(config, 1); - m_hw_def.has_cassette(false) - .has_printer_port(false); - msx2(SND_AY8910, config); + m_hw_def.has_cassette(false).has_printer_port(false).no_caps_led().no_code_led(); + msx2(SND_AY8910, config, REGION_KOREA); } /* MSX2 - Daewoo Zemmix CPG-120 Normal */ @@ -464,7 +463,7 @@ void msx2_state::cpg120(machine_config &config) // S-1985 MSX Engine // V9958 VDP // FM built in - // No keyboard, bot a keyboard connector? + // No keyboard, but a keyboard connector? // No clock chip? // No printer port @@ -478,8 +477,8 @@ void msx2_state::cpg120(machine_config &config) MSX_S1985(config, "s1985", 0); msx_ym2413(config); - m_hw_def.has_printer_port(false); - msx2plus(SND_AY8910, config); + m_hw_def.has_printer_port(false).no_caps_led().no_code_led(); + msx2plus(SND_AY8910, config, REGION_KOREA); } /* MSX2 - Daisen Sangyo MX-2021 */ @@ -511,7 +510,8 @@ void msx2_state::fpc900(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x40000); // 256KB? Mapper RAM add_internal_disk_mirrored(config, MSX_SLOT_DISK1_WD2793, "disk", 3, 3, 1, 2, "diskrom"); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - GR8Bit (should probably be a separate driver) */ @@ -546,7 +546,8 @@ void msx2_state::expert20(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 2, 0, 0, 4).set_total_size(0x20000).set_unused_bits(0x80); // 128KB Mapper RAM add_cartridge_slot<2>(config, 3); - msx2_pal(SND_AY8910, config); + m_hw_def.no_code_led(); + msx2_pal(SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX2 - Hitachi MB-H3 */ @@ -578,7 +579,7 @@ void msx2_state::mbh3(machine_config &config) add_internal_slot(config, MSX_SLOT_ROM, "firmware", 3, 0, 1, 2, "firmware"); add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000); // 128KB Mapper RAM - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); msx2_64kb_vram(config); } @@ -618,7 +619,7 @@ void msx2_state::mbh70(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Kawai KMC-5000 */ @@ -658,7 +659,7 @@ void msx2_state::kmc5000(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Laser MSX2 (unreleased) */ @@ -693,7 +694,8 @@ void msx2_state::mlg1(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x10000); // 64KB Mapper RAM add_internal_slot(config, MSX_SLOT_ROM, "firmware", 3, 3, 0, 2, "firmware"); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Mitsubishi ML-G3 */ @@ -732,7 +734,8 @@ void msx2_state::mlg3(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x10000); // 64KB Mapper RAM add_internal_slot_irq<4>(config, MSX_SLOT_RS232_MITSUBISHI, "rs232", 3, 3, 1, 1, "rs232"); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Mitsubishi ML-G10 */ @@ -768,7 +771,7 @@ void msx2_state::mlg10(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x10000); // 64KB Mapper RAM add_internal_slot(config, MSX_SLOT_ROM, "firmware", 3, 3, 0, 2, "firmware"); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Mitsubishi ML-G30 Model 1 */ @@ -803,7 +806,7 @@ void msx2_state::mlg30(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000); // 128KB Mapper RAM add_cartridge_slot<4>(config, 3, 3); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Mitsubishi ML-G30 Model 2 */ @@ -843,7 +846,7 @@ void msx2_state::mlg30_2(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000); // 128KB Mapper RAM add_internal_slot_irq<4>(config, MSX_SLOT_RS232_MITSUBISHI, "rs232", 3, 3, 1, 1, "rs232"); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - ML-TS100 (should be a separate driver) */ @@ -918,7 +921,7 @@ void msx2_state::fs4500(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); // 64KB RAM MSX_MATSUSHITA(config, "matsushita", 0); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - National FS-4600F */ @@ -981,7 +984,7 @@ void msx2_state::fs4600f(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - National FS-4700 */ @@ -1056,7 +1059,7 @@ void msx2_state::fs4700f(machine_config &config) MSX_MATSUSHITA(config, "matsushita", 0); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - National FS-5000F2 */ @@ -1103,7 +1106,7 @@ void msx2_state::fs5000f2(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - National FS-5500F1 */ @@ -1186,7 +1189,7 @@ void msx2_state::fs5500f1(machine_config &config) MSX_MATSUSHITA(config, "matsushita", 0); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - National FS-5500F2 */ @@ -1237,7 +1240,7 @@ void msx2_state::fs5500f2(machine_config &config) MSX_MATSUSHITA(config, "matsushita", 0); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Panasonic FS-A1 */ @@ -1264,7 +1267,8 @@ void msx2_state::fsa1(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2(SND_YM2149, config); + m_hw_def.no_caps_led().no_code_led(); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Panasonic FS-A1 (a) */ @@ -1294,7 +1298,8 @@ void msx2_state::fsa1a(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2(SND_YM2149, config); + m_hw_def.no_caps_led().no_code_led(); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Panasonic FS-A1F */ @@ -1325,7 +1330,7 @@ void msx2_state::fsa1f(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Panasonic FS-A1FM */ @@ -1374,7 +1379,7 @@ void msx2_state::fsa1fm(machine_config &config) msx_kanji12_device &kanji12(MSX_KANJI12(config, "kanji12", 0)); kanji12.set_rom_start("kanji12"); - msx2(SND_AY8910, config); + msx2(SND_AY8910, config, REGION_JAPAN); } /* MSX2 - Panasonic FS-A1MK2 */ @@ -1415,7 +1420,7 @@ void msx2_state::fsa1mk2(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Philips HCS 280 */ @@ -1449,7 +1454,8 @@ void msx2_state::nms8220(machine_config &config) add_internal_slot(config, MSX_SLOT_ROM, "designer", 3, 3, 1, 1, "designer"); add_internal_slot(config, MSX_SLOT_ROM, "designer_mirror", 3, 3, 2, 1, "designer"); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Philips NMS 8245 - 2 possible sets (/00 /16) */ @@ -1482,7 +1488,8 @@ void msx2_state::nms8245(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_unused_bits(0xf8); // 128KB Mapper RAM add_internal_disk_mirrored(config, MSX_SLOT_DISK1_WD2793, "disk", 3, 3, 1, 2, "mainrom", 0xc000); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Philips NMS 8245/19 */ @@ -1506,7 +1513,8 @@ void msx2_state::nms8245f(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_unused_bits(0xf8); // 128KB Mapper RAM add_internal_disk_mirrored(config, MSX_SLOT_DISK1_WD2793, "disk", 3, 3, 1, 2, "maincpu", 0x1c000); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Philips NMS 8245 Home Banking (Italy) */ @@ -1546,7 +1554,8 @@ void msx2_state::nms8250(machine_config &config) // ROM is not mirrored but the FDC registers are in all pages add_internal_disk_mirrored(config, MSX_SLOT_DISK1_WD2793, "disk", 3, 3, 1, 2, "diskrom"); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Philips NMS 8250/16 */ @@ -1607,7 +1616,8 @@ void msx2_state::nms8255(machine_config &config) // ROM is not mirrored but the FDC registers are in all pages add_internal_disk_mirrored(config, MSX_SLOT_DISK1_WD2793_2_DRIVES, "disk", 3, 3, 1, 2, "diskrom"); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Philips NMS 8255/19 */ @@ -1637,7 +1647,8 @@ void msx2_state::nms8255f(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_unused_bits(0xf8); // 128KB Mapper RAM add_internal_disk_mirrored(config, MSX_SLOT_DISK1_WD2793_2_DRIVES, "disk", 3, 3, 1, 2, "diskrom"); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Philips NMS 8260 */ @@ -1677,7 +1688,8 @@ void msx2_state::nms8260(machine_config &config) // There is actually only an FDC inside with a floppy controller to attach an external floppy drive add_internal_disk_mirrored(config, MSX_SLOT_DISK1_WD2793_0, "disk", 3, 3, 1, 2, "diskrom"); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); // Not confirmed as there are no pictures of the keyboard + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Philips NMS 8280 - 5 possible sets (/00 /02 /09 /16 /19) */ @@ -1707,7 +1719,8 @@ void msx2_state::nms8280(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_unused_bits(0xf8); // 128KB Mapper RAM add_internal_disk_mirrored(config, MSX_SLOT_DISK1_WD2793_2_DRIVES, "disk", 3, 3, 1, 2, "diskrom"); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Philips NMS 8280F */ @@ -1737,7 +1750,8 @@ void msx2_state::nms8280f(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_unused_bits(0xf8); // 128KB Mapper RAM add_internal_disk_mirrored(config, MSX_SLOT_DISK1_WD2793_2_DRIVES, "disk", 3, 3, 1, 2, "diskrom"); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Philips NMS 8280G */ @@ -1768,7 +1782,8 @@ void msx2_state::nms8280g(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_unused_bits(0xf8); // 128KB Mapper RAM add_internal_disk_mirrored(config, MSX_SLOT_DISK1_WD2793_2_DRIVES, "disk", 3, 3, 1, 2, "diskrom"); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Philips VG-8230 (u11 - exp, u12 - basic, u13 - disk */ @@ -1798,7 +1813,8 @@ void msx2_state::vg8230(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); // 64KB RAM add_internal_disk(config, MSX_SLOT_DISK1_WD2793, "disk", 3, 3, 1, 1, "diskrom"); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Philips VG-8235 (/00 and /20) */ @@ -1846,7 +1862,8 @@ void msx2_state::vg8235(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_unused_bits(0xf8); // 128KB Mapper RAM add_internal_disk_mirrored(config, MSX_SLOT_DISK1_WD2793, "disk", 3, 3, 1, 2, "diskrom"); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Philips VG-8235F (/19 and /39) */ @@ -1882,7 +1899,8 @@ void msx2_state::vg8235f(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_unused_bits(0xf8); // 128KB Mapper RAM add_internal_disk_mirrored(config, MSX_SLOT_DISK1_WD2793_SS, "disk", 3, 3, 1, 2, "diskrom"); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Philips VG-8240 (unreleased) */ @@ -1912,7 +1930,7 @@ void msx2_state::vg8240(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); // 64KB RAM add_internal_disk_mirrored(config, MSX_SLOT_DISK1_WD2793, "disk", 3, 3, 1, 2, "diskrom"); - msx2_pal(SND_YM2149, config); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Phonola NMS 8245 */ @@ -1962,7 +1980,7 @@ void msx2_state::ucv102(machine_config &config) MSX_S1985(config, "s1985", 0); m_hw_def.has_cassette(false); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Sakhr AX-350 */ @@ -2006,7 +2024,7 @@ void msx2_state::ax350(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2_pal(SND_YM2149, config); + msx2_pal(SND_YM2149, config, REGION_ARAB); } /* MSX2 - Sakhr AX-350 II */ @@ -2051,7 +2069,7 @@ void msx2_state::ax350ii(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2_pal(SND_YM2149, config); + msx2_pal(SND_YM2149, config, REGION_ARAB); } /* MSX2 - Sakhr AX-350 II F */ @@ -2096,7 +2114,7 @@ void msx2_state::ax350iif(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2_pal(SND_YM2149, config); + msx2_pal(SND_YM2149, config, REGION_ARAB); } /* MSX2 - Sakhr AX-370 */ @@ -2143,7 +2161,7 @@ void msx2_state::ax370(machine_config &config) add_internal_slot(config, MSX_SLOT_ROM, "painter", 3, 1, 0, 4, "painter"); add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 3, 0, 4).set_total_size(0x20000).set_unused_bits(0xf8); // 128KB Mapper RAM - msx2plus_pal(SND_AY8910, config); + msx2plus_pal(SND_AY8910, config, REGION_ARAB); } /* MSX2 - Sakhr AX-500 */ @@ -2192,7 +2210,7 @@ void msx2_state::ax500(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2_pal(SND_YM2149, config); + msx2_pal(SND_YM2149, config, REGION_ARAB); } /* MSX2 - Sanyo MPC-2300 */ @@ -2220,7 +2238,7 @@ void msx2_state::mpc2300(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_RUSSIA); } /* MSX2 - Sanyo MPC-2500FD */ @@ -2250,7 +2268,7 @@ void msx2_state::mpc2500f(machine_config &config) add_internal_disk_mirrored(config, MSX_SLOT_DISK1_WD2793, "disk", 3, 1, 1, 2, "diskrom"); add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x10000); // 64KB?? Mapper RAM - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_RUSSIA); } /* MSX2 - Sanyo MPC-25F */ @@ -2285,7 +2303,7 @@ void msx2_state::mpc25fd(machine_config &config) add_internal_disk_mirrored(config, MSX_SLOT_DISK1_WD2793, "disk", 3, 1, 1, 2, "diskrom"); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); // 64KB RAM - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Sanyo MPC-25FK */ @@ -2320,7 +2338,7 @@ void msx2_state::mpc25fs(machine_config &config) add_internal_disk_mirrored(config, MSX_SLOT_DISK1_WD2793_SS, "disk", 3, 1, 1, 2, "diskrom"); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); // 64KB RAM - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Sanyo Wavy MPC-27 */ @@ -2356,7 +2374,7 @@ void msx2_state::mpc27(machine_config &config) add_internal_disk_mirrored(config, MSX_SLOT_DISK1_WD2793_SS, "disk", 3, 2, 1, 2, "diskrom"); add_internal_slot(config, MSX_SLOT_ROM, "lpen", 3, 3, 1, 1, "lpen"); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Sanyo PCT-100 */ @@ -2384,7 +2402,7 @@ void msx2_state::phc23(machine_config &config) add_internal_slot(config, MSX_SLOT_ROM, "subrom", 3, 0, 0, 1, "subrom"); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); // 64KB RAM - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Sanyo PHC-23J(B) / PHC-23J(GR) - "Wavy23" */ @@ -2411,7 +2429,7 @@ void msx2_state::phc23jb(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); // 64KB RAM MSX_S1985(config, "s1985", 0); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Sanyo Wavy PHC-55FD2 */ @@ -2445,7 +2463,7 @@ void msx2_state::phc55fd2(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Sanyo Wavy PHC-77 */ @@ -2487,7 +2505,7 @@ void msx2_state::phc77(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Sharp Epcom HotBit 2.0 - is this an officially released machine? */ @@ -2520,7 +2538,8 @@ void msx2_state::hotbit20(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 2, 0, 4).set_total_size(0x20000).set_unused_bits(0x80); // 128KB Mapper RAM add_cartridge_slot<2>(config, 3); - msx2_pal(SND_AY8910, config); + m_hw_def.no_code_led(); + msx2_pal(SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX2 - Sony HB-F1 */ @@ -2561,7 +2580,8 @@ void msx2_state::hbf1(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2(SND_YM2149, config); + m_hw_def.no_caps_led().no_code_led(); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Sony HB-F1II */ @@ -2602,7 +2622,7 @@ void msx2_state::hbf1ii(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Sony HB-F1XD / HB-F1XDmk2 */ @@ -2638,7 +2658,7 @@ void msx2_state::hbf1xd(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Sony HB-F5 */ @@ -2667,7 +2687,7 @@ void msx2_state::hbf5(machine_config &config) add_cartridge_slot<1>(config, 1); add_cartridge_slot<2>(config, 2); - msx2_pal(SND_YM2149, config); + msx2_pal(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Sony HB-F500 */ @@ -2701,7 +2721,7 @@ void msx2_state::hbf500(machine_config &config) add_cartridge_slot<1>(config, 1); add_cartridge_slot<2>(config, 2); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Sony HB-F500 2nd version (slot layout is different) */ @@ -2734,7 +2754,7 @@ void msx2_state::hbf500_2(machine_config &config) add_internal_disk_mirrored(config, MSX_SLOT_DISK1_WD2793, "disk", 3, 1, 1, 2, "diskrom"); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 2, 0, 4); // 64KB RAM - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Sony HB-F500F */ @@ -2767,7 +2787,8 @@ void msx2_state::hbf500f(machine_config &config) add_cartridge_slot<2>(config, 2); add_cartridge_slot<3>(config, 3); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Sony HB-F500P */ @@ -2795,7 +2816,8 @@ void msx2_state::hbf500p(machine_config &config) add_cartridge_slot<2>(config, 2); add_cartridge_slot<3>(config, 3); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Sony HB-F700D */ @@ -2830,7 +2852,8 @@ void msx2_state::hbf700d(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Sony HB-F700F */ @@ -2865,7 +2888,8 @@ void msx2_state::hbf700f(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Sony HB-F700P */ @@ -2902,7 +2926,8 @@ void msx2_state::hbf700p(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Sony HB-F700S */ @@ -2937,7 +2962,8 @@ void msx2_state::hbf700s(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Sony HB-F750 (prototype) */ @@ -2978,7 +3004,7 @@ void msx2_state::hbf900(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Sony HB-F900 (a) */ @@ -3017,7 +3043,7 @@ void msx2_state::hbf900a(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Sony HB-F9P */ @@ -3053,7 +3079,8 @@ void msx2_state::hbf9p(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_unused_bits(0x80); // 128KB Mapper RAM MSX_S1985(config, "s1985", 0); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Sony HB-F9P Russian */ @@ -3081,7 +3108,7 @@ void msx2_state::hbf9pr(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000); // 128KB Mapper RAM MSX_S1985(config, "s1985", 0); - msx2_pal(SND_YM2149, config); + msx2_pal(SND_YM2149, config, REGION_RUSSIA); } /* MSX2 - Sony HB-F9S */ @@ -3113,7 +3140,8 @@ void msx2_state::hbf9s(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_unused_bits(0x80); // 128KB Mapper RAM MSX_S1985(config, "s1985", 0); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Sony HB-G900AP */ @@ -3162,7 +3190,8 @@ void msx2_state::hbg900ap(machine_config &config) // slot #3 is expanded add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 0, 0, 4).set_total_size(0x80000).set_unused_bits(0x80); // 512KB Mapper RAM - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Sony HB-G900D */ @@ -3203,7 +3232,8 @@ void msx2_state::hbg900p(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_RAM, "ram", 3, 0, 4); // 64KB RAM - msx2_pal(SND_AY8910, config); + m_hw_def.no_code_led(); + msx2_pal(SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX2 - Sony HB-T600 */ @@ -3245,7 +3275,8 @@ void msx2_state::tpc310(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Talent TPP-311 */ @@ -3276,7 +3307,8 @@ void msx2_state::tpp311(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); msx2_64kb_vram(config); } @@ -3315,7 +3347,8 @@ void msx2_state::tps312(machine_config &config) MSX_S1985(config, "s1985", 0); - msx2_pal(SND_YM2149, config); + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); msx2_64kb_vram(config); } @@ -3351,7 +3384,9 @@ void msx2_state::fstm1(machine_config &config) add_internal_slot(config, MSX_SLOT_ROM, "deskpac2", 3, 3, 1, 2, "deskpac2"); MSX_S1985(config, "s1985", 0); - msx2_pal(SND_YM2149, config); + // Hard to see on pictures whether the machine has a CAPS led + m_hw_def.no_code_led(); + msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL); } /* MSX2 - Toshiba HX-23 */ @@ -3386,7 +3421,7 @@ void msx2_state::hx23(machine_config &config) add_internal_slot(config, MSX_SLOT_ROM, "jwp", 3, 1, 2, 1, "subjwp", 0x4000); add_internal_slot(config, MSX_SLOT_ROM, "rs232jwp", 3, 3, 1, 2, "rs232jwp"); - msx2_pal(SND_AY8910, config); + msx2(SND_AY8910, config, REGION_JAPAN); msx2_64kb_vram(config); } @@ -3420,7 +3455,7 @@ void msx2_state::hx23f(machine_config &config) add_internal_slot(config, MSX_SLOT_ROM, "jwp", 3, 1, 2, 1, "subjwp", 0x4000); add_internal_slot(config, MSX_SLOT_ROM, "rs232jwp", 3, 3, 1, 2, "rs232jwp"); - msx2_pal(SND_AY8910, config); + msx2(SND_AY8910, config, REGION_JAPAN); } /* MSX2 - Toshiba HX-33 */ @@ -3450,7 +3485,7 @@ void msx2_state::hx33(machine_config &config) add_internal_slot(config, MSX_SLOT_ROM, "subrom", 3, 1, 0, 1, "mainrom", 0x8000); add_internal_slot(config, MSX_SLOT_RS232_TOSHIBA_HX3X, "firmware", 3, 3, 1, 2, "mainrom", 0xc000); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); msx2_64kb_vram(config); } @@ -3486,7 +3521,7 @@ void msx2_state::hx34(machine_config &config) add_internal_disk(config, MSX_SLOT_DISK6_WD2793_N, "disk", 3, 2, 1, 1, "diskrom"); add_internal_slot(config, MSX_SLOT_RS232_TOSHIBA_HX3X, "firmware", 3, 3, 1, 2, "mainrom", 0xc000); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Victor HC-80 */ @@ -3517,7 +3552,7 @@ void msx2_state::victhc80(machine_config &config) add_cartridge_slot<2>(config, 2); add_internal_slot(config, MSX_SLOT_ROM, "firmware", 3, 2, 1, "firmware"); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Victor HC-90 */ @@ -3555,7 +3590,7 @@ void msx2_state::victhc90(machine_config &config) add_cartridge_slot<1>(config, 1); add_internal_disk(config, MSX_SLOT_DISK10_MB8877, "disk", 3, 1, 1, "diskrom"); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Victor HC-90(A) */ @@ -3603,7 +3638,7 @@ void msx2_state::victhc95(machine_config &config) // 96 pin expansion bus in slot #2 add_internal_disk(config, MSX_SLOT_DISK10_MB8877_2_DRIVES, "disk", 3, 1, 1, "diskrom"); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Victor HC-95A */ @@ -3643,7 +3678,7 @@ void msx2_state::victhc95a(machine_config &config) // 96 pin expansion bus in slot #2 add_internal_disk(config, MSX_SLOT_DISK10_MB8877_2_DRIVES, "disk", 3, 1, 1, "diskrom"); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Wandy CPC-300 */ @@ -3673,7 +3708,7 @@ void msx2_state::cx7128(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_unused_bits(0x80); // 64KB Mapper RAM add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "expansion", 3, 3, msx_yamaha_60pin, nullptr); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Yamaha CX7M/128 */ @@ -3705,7 +3740,7 @@ void msx2_state::cx7m128(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000).set_unused_bits(0x80); // 64KB Mapper RAM add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "expansion", 3, 3, msx_yamaha_60pin, "sfg05"); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Yamaha YIS-503 III R (student) */ @@ -3742,7 +3777,7 @@ void msx2_state::y503iiir(machine_config &config) // Yamaha expansion slot in slot #3-3 add_internal_slot(config, MSX_SLOT_ROM, "network", 3, 3, 1, 2, "network"); - msx2_pal(SND_YM2149, config); + msx2_pal(SND_YM2149, config, REGION_RUSSIA); } /* MSX2 - Yamaha YIS-503 III R Estonian */ @@ -3786,7 +3821,7 @@ void msx2_state::yis604(machine_config &config) add_internal_slot(config, MSX_SLOT_RAM_MM, "ram_mm", 3, 2, 0, 4).set_total_size(0x20000); // 128KB Mapper RAM add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "expansion", 3, 3, msx_yamaha_60pin, nullptr); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Yamaha YIS-805/128 */ @@ -3824,7 +3859,7 @@ void msx2_state::y805128(machine_config &config) add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "expansion", 3, 3, msx_yamaha_60pin, nullptr); MSX_S1985(config, "s1985", 0); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Yamaha YIS-805/256 */ @@ -3863,7 +3898,7 @@ void msx2_state::y805256(machine_config &config) add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "expansion", 3, 3, msx_yamaha_60pin, nullptr); MSX_S1985(config, "s1985", 0); - msx2(SND_YM2149, config); + msx2(SND_YM2149, config, REGION_JAPAN); } /* MSX2 - Yamaha YIS-805/128R2 (teacher) */ @@ -3905,7 +3940,7 @@ void msx2_state::y805128r2(machine_config &config) add_internal_slot(config, MSX_SLOT_ROM, "network", 3, 3, 0, 2, "network", 0x00000); MSX_S1985(config, "s1985", 0); - msx2_pal(SND_YM2149, config); + msx2_pal(SND_YM2149, config, REGION_RUSSIA); } /* MSX2 - Yamaha YIS-805/128R2 Estonian */ @@ -3965,7 +4000,8 @@ void msx2_state::expert3i(machine_config &config) msx_ym2413(config); - msx2plus(SND_AY8910, config); + m_hw_def.no_code_led(); + msx2plus(SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX2+ - Ciel Expert 3 Turbo @@ -4020,7 +4056,8 @@ void msx2_state::expert3t(machine_config &config) msx_ym2413(config); - msx2plus(SND_AY8910, config); + m_hw_def.no_code_led(); + msx2plus(SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX2+ - Gradiente Expert AC88+ */ @@ -4057,7 +4094,8 @@ void msx2_state::expertac(machine_config &config) add_internal_disk_mirrored(config, MSX_SLOT_DISK1_WD2793, "disk", 3, 2, 1, 2, "diskrom"); add_internal_slot(config, MSX_SLOT_ROM, "xbasic", 3, 3, 1, 1, "xbasic"); - msx2plus(SND_AY8910, config); + m_hw_def.no_code_led(); + msx2plus(SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX2+ - Gradiente Expert DDX+ */ @@ -4094,7 +4132,8 @@ void msx2_state::expertdx(machine_config &config) add_cartridge_slot<2>(config, 3); /* Kanji? */ - msx2plus(SND_AY8910, config); + m_hw_def.no_code_led(); + msx2plus(SND_AY8910, config, REGION_INTERNATIONAL); } /* MSX2+ - Panasonic FS-A1FX */ @@ -4134,7 +4173,7 @@ void msx2_state::fsa1fx(machine_config &config) MSX_SYSTEMFLAGS(config, "sysflags", m_maincpu, 0xff); m_kanji_fsa1fx = true; - msx2plus(SND_AY8910, config); + msx2plus(SND_AY8910, config, REGION_JAPAN); } /* MSX2+ - Panasonic FS-A1WSX */ @@ -4190,7 +4229,7 @@ void msx2_state::fsa1wsx(machine_config &config) msx_ym2413(config); - msx2plus(SND_AY8910, config); + msx2plus(SND_AY8910, config, REGION_JAPAN); } /* MSX2+ - Panasonic FS-A1WX */ @@ -4246,7 +4285,7 @@ void msx2_state::fsa1wx(machine_config &config) msx_ym2413(config); - msx2plus(SND_AY8910, config); + msx2plus(SND_AY8910, config, REGION_JAPAN); } /* MSX2+ - Panasonic FS-A1WX (a) */ @@ -4307,7 +4346,7 @@ void msx2_state::phc35j(machine_config &config) add_internal_slot(config, MSX_SLOT_ROM, "kdr", 3, 1, 1, 2, "kdr"); MSX_SYSTEMFLAGS(config, "sysflags", m_maincpu, 0xff); - msx2plus(SND_AY8910, config); + msx2plus(SND_AY8910, config, REGION_JAPAN); } /* MSX2+ - Sanyo Wavy PHC-70FD */ @@ -4350,7 +4389,7 @@ void msx2_state::phc70fd(machine_config &config) msx_ym2413(config); - msx2plus(SND_AY8910, config); + msx2plus(SND_AY8910, config, REGION_JAPAN); } /* MSX2+ - Sanyo Wavy PHC-70FD2 */ @@ -4400,7 +4439,7 @@ void msx2_state::phc70fd2(machine_config &config) msx_ym2413(config); - msx2plus(SND_AY8910, config); + msx2plus(SND_AY8910, config, REGION_JAPAN); } /* MSX2+ - Sony HB-F1XDJ */ @@ -4443,7 +4482,7 @@ void msx2_state::hbf1xdj(machine_config &config) msx_ym2413(config); - msx2plus(SND_YM2149, config); + msx2plus(SND_YM2149, config, REGION_JAPAN); } /* MSX2+ - Sony HB-F1XV */ @@ -4486,7 +4525,7 @@ void msx2_state::hbf1xv(machine_config &config) msx_ym2413(config); - msx2plus(SND_YM2149, config); + msx2plus(SND_YM2149, config, REGION_JAPAN); } /* MSX Turbo-R - Panasonic FS-A1GT */ @@ -4532,7 +4571,7 @@ void msx2_state::fsa1gt(machine_config &config) msx_ym2413(config); - turbor(SND_AY8910, config); + turbor(SND_AY8910, config, REGION_JAPAN); } /* MSX Turbo-R - Panasonic FS-A1ST */ @@ -4576,7 +4615,7 @@ void msx2_state::fsa1st(machine_config &config) msx_ym2413(config); - turbor(SND_AY8910, config); + turbor(SND_AY8910, config, REGION_JAPAN); } } // anonymous namespace -- cgit v1.2.3