msx: Refactored to standard layout and output usage. (#11216)

Made separate layout files per 'region' and drive count, and simplified the code for LED outputs.
This commit is contained in:
wilbertpol 2023-05-14 21:54:13 +01:00 committed by GitHub
parent 7a47a6f70a
commit 1c1d46aa4c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 1285 additions and 474 deletions

View File

@ -84,7 +84,6 @@ msx_slot_disk_device::msx_slot_disk_device(const machine_config &mconfig, device
, 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)
{
}
@ -100,7 +99,6 @@ void msx_slot_disk_device::device_start()
msx_slot_rom_device::device_start();
m_internal_drive_led.resolve();
m_internal_drive_name.resolve();
}
void msx_slot_disk_device::device_reset()
@ -108,14 +106,13 @@ void msx_slot_disk_device::device_reset()
msx_slot_rom_device::device_reset();
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_internal_drive_led[drive] = m_floppy[drive] ? 1 + led_state : 0;
m_internal_drive_led[drive] = led_state;
}

View File

@ -78,7 +78,6 @@ protected:
private:
output_finder<4> m_internal_drive_led;
output_finder<4> m_internal_drive_name;
int m_nr_drives;
};

View File

@ -0,0 +1,59 @@
<?xml version="1.0"?>
<!--
license:CC0-1.0
-->
<mamelayout version="2">
<element name="green_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="1">
<color red="0.0" green="1.0" blue="0.0" />
</rect>
</element>
<element name="caps_name">
<text string="Caps" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="code_name">
<!-- This is the text from the key/led but does not to get rendered properly.
<text string="عالي" align="1">
-->
<text string="Arabic" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="not_present" />
<view name="System LEDs">
<screen index="0">
<bounds x="75" y="0" width="1024" height="768" />
</screen>
<element name="caps_led_name" ref="caps_name">
<bounds left="0" right="74" top="0" bottom="30" />
</element>
<element name="caps_led" ref="green_led">
<bounds left="0" right="20" top="31" bottom="39" />
</element>
<element name="code_led_name" ref="code_name">
<bounds left="0" right="74" top="40" bottom="70" />
</element>
<element name="code_led" ref="green_led">
<bounds left="0" right="20" top="71" bottom="79" />
</element>
<element name="internal_drive0_name" ref="not_present">
<bounds left="0" right="74" top="80" bottom="110" />
</element>
<element name="internal_drive0_led" ref="not_present">
<bounds left="0" right="20" top="111" bottom="119" />
</element>
<element name="internal_drive1_name" ref="not_present">
<bounds left="0" right="74" top="120" bottom="150" />
</element>
<element name="internal_drive1_led" ref="not_present">
<bounds left="0" right="20" top="151" bottom="159" />
</element>
</view>
</mamelayout>

View File

@ -0,0 +1,72 @@
<?xml version="1.0"?>
<!--
license:CC0-1.0
-->
<mamelayout version="2">
<element name="green_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="1">
<color red="0.0" green="1.0" blue="0.0" />
</rect>
</element>
<element name="orange_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="1">
<color red="1.0" green="0.6" blue="0.0" />
</rect>
</element>
<element name="caps_name">
<text string="Caps" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="code_name">
<!-- This is the text from the key/led but does not to get rendered properly.
<text string="عالي" align="1">
-->
<text string="Arabic" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="drv0">
<text string="Drive A" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="not_present" />
<view name="System LEDs">
<screen index="0">
<bounds x="75" y="0" width="1024" height="768" />
</screen>
<element name="caps_led_name" ref="caps_name">
<bounds left="0" right="74" top="0" bottom="30" />
</element>
<element name="caps_led" ref="green_led">
<bounds left="0" right="20" top="31" bottom="39" />
</element>
<element name="code_led_name" ref="code_name">
<bounds left="0" right="74" top="40" bottom="70" />
</element>
<element name="code_led" ref="green_led">
<bounds left="0" right="20" top="71" bottom="79" />
</element>
<element name="internal_drive0_name" ref="drv0">
<bounds left="0" right="74" top="80" bottom="110" />
</element>
<element name="internal_drive0_led" ref="orange_led">
<bounds left="0" right="20" top="111" bottom="119" />
</element>
<element name="internal_drive1_name" ref="not_present">
<bounds left="0" right="74" top="120" bottom="150" />
</element>
<element name="internal_drive1_led" ref="not_present">
<bounds left="0" right="20" top="151" bottom="159" />
</element>
</view>
</mamelayout>

View File

@ -1,59 +1,45 @@
<?xml version="1.0"?>
<!--
license:CC0-1.0
Basic display of LEDs for an MSX
-->
<mamelayout version="2">
<element name="optional_green_led">
<rect state="1">
<element name="green_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="2">
<rect state="1">
<color red="0.0" green="1.0" blue="0.0" />
</rect>
</element>
<element name="optional_orange_led">
<rect state="1">
<element name="orange_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="2">
<rect state="1">
<color red="1.0" green="0.6" blue="0.0" />
</rect>
</element>
<element name="caps_name">
<text string="Caps" align="1" state="1">
<text string="Caps" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="code_name">
<text string="Code" align="1" state="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
<text string="カナ" align="1" state="2">
<color red="1.0" green="1.0" blue="1.0" />
</text>
<!-- This is the text from the key/led but does not seem to get rendered properly.
<text string="عالي" align="1" state="3">
<!-- This is the text from the key/led but does not to get rendered properly.
<text string="عالي" align="1">
-->
<text string="Arabic" align="1" state="3">
<color red="1.0" green="1.0" blue="1.0" />
</text>
<text string="한글" align="1" state="4">
<color red="1.0" green="1.0" blue="1.0" />
</text>
<text string="РУС" align="1" state="5">
<text string="Arabic" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="drv0">
<text string="Drive A" align="1" state="1">
<text string="Drive A" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="drv1">
<text string="Drive B" align="1" state="1">
<text string="Drive B" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
@ -65,25 +51,25 @@ Basic display of LEDs for an MSX
<element name="caps_led_name" ref="caps_name">
<bounds left="0" right="74" top="0" bottom="30" />
</element>
<element name="caps_led" ref="optional_green_led">
<element name="caps_led" ref="green_led">
<bounds left="0" right="20" top="31" bottom="39" />
</element>
<element name="code_led_name" ref="code_name">
<bounds left="0" right="74" top="40" bottom="70" />
</element>
<element name="code_led" ref="optional_green_led">
<element name="code_led" ref="green_led">
<bounds left="0" right="20" top="71" bottom="79" />
</element>
<element name="internal_drive0_name" ref="drv0">
<bounds left="0" right="74" top="80" bottom="110" />
</element>
<element name="internal_drive0_led" ref="optional_orange_led">
<element name="internal_drive0_led" ref="orange_led">
<bounds left="0" right="20" top="111" bottom="119" />
</element>
<element name="internal_drive1_name" ref="drv1">
<bounds left="0" right="74" top="120" bottom="150" />
</element>
<element name="internal_drive1_led" ref="optional_orange_led">
<element name="internal_drive1_led" ref="orange_led">
<bounds left="0" right="20" top="151" bottom="159" />
</element>
</view>

View File

@ -0,0 +1,56 @@
<?xml version="1.0"?>
<!--
license:CC0-1.0
-->
<mamelayout version="2">
<element name="green_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="1">
<color red="0.0" green="1.0" blue="0.0" />
</rect>
</element>
<element name="caps_name">
<text string="Caps" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="code_name">
<text string="Code" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="not_present" />
<view name="System LEDs">
<screen index="0">
<bounds x="75" y="0" width="1024" height="768" />
</screen>
<element name="caps_led_name" ref="caps_name">
<bounds left="0" right="74" top="0" bottom="30" />
</element>
<element name="caps_led" ref="green_led">
<bounds left="0" right="20" top="31" bottom="39" />
</element>
<element name="code_led_name" ref="code_name">
<bounds left="0" right="74" top="40" bottom="70" />
</element>
<element name="code_led" ref="green_led">
<bounds left="0" right="20" top="71" bottom="79" />
</element>
<element name="internal_drive0_name" ref="not_present">
<bounds left="0" right="74" top="80" bottom="110" />
</element>
<element name="internal_drive0_led" ref="not_present">
<bounds left="0" right="20" top="111" bottom="119" />
</element>
<element name="internal_drive1_name" ref="not_present">
<bounds left="0" right="74" top="120" bottom="150" />
</element>
<element name="internal_drive1_led" ref="not_present">
<bounds left="0" right="20" top="151" bottom="159" />
</element>
</view>
</mamelayout>

View File

@ -0,0 +1,56 @@
<?xml version="1.0"?>
<!--
license:CC0-1.0
-->
<mamelayout version="2">
<element name="green_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="1">
<color red="0.0" green="1.0" blue="0.0" />
</rect>
</element>
<element name="caps_name">
<text string="Caps" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="code_name">
<text string="カナ" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="not_present" />
<view name="System LEDs">
<screen index="0">
<bounds x="75" y="0" width="1024" height="768" />
</screen>
<element name="caps_led_name" ref="caps_name">
<bounds left="0" right="74" top="0" bottom="30" />
</element>
<element name="caps_led" ref="green_led">
<bounds left="0" right="20" top="31" bottom="39" />
</element>
<element name="code_led_name" ref="code_name">
<bounds left="0" right="74" top="40" bottom="70" />
</element>
<element name="code_led" ref="green_led">
<bounds left="0" right="20" top="71" bottom="79" />
</element>
<element name="internal_drive0_name" ref="not_present">
<bounds left="0" right="74" top="80" bottom="110" />
</element>
<element name="internal_drive0_led" ref="not_present">
<bounds left="0" right="20" top="111" bottom="119" />
</element>
<element name="internal_drive1_name" ref="not_present">
<bounds left="0" right="74" top="120" bottom="150" />
</element>
<element name="internal_drive1_led" ref="not_present">
<bounds left="0" right="20" top="151" bottom="159" />
</element>
</view>
</mamelayout>

View File

@ -0,0 +1,69 @@
<?xml version="1.0"?>
<!--
license:CC0-1.0
-->
<mamelayout version="2">
<element name="green_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="1">
<color red="0.0" green="1.0" blue="0.0" />
</rect>
</element>
<element name="orange_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="1">
<color red="1.0" green="0.6" blue="0.0" />
</rect>
</element>
<element name="caps_name">
<text string="Caps" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="code_name">
<text string="カナ" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="drv0">
<text string="Drive A" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="not_present" />
<view name="System LEDs">
<screen index="0">
<bounds x="75" y="0" width="1024" height="768" />
</screen>
<element name="caps_led_name" ref="caps_name">
<bounds left="0" right="74" top="0" bottom="30" />
</element>
<element name="caps_led" ref="green_led">
<bounds left="0" right="20" top="31" bottom="39" />
</element>
<element name="code_led_name" ref="code_name">
<bounds left="0" right="74" top="40" bottom="70" />
</element>
<element name="code_led" ref="green_led">
<bounds left="0" right="20" top="71" bottom="79" />
</element>
<element name="internal_drive0_name" ref="drv0">
<bounds left="0" right="74" top="80" bottom="110" />
</element>
<element name="internal_drive0_led" ref="orange_led">
<bounds left="0" right="20" top="111" bottom="119" />
</element>
<element name="internal_drive1_name" ref="not_present">
<bounds left="0" right="74" top="120" bottom="150" />
</element>
<element name="internal_drive1_led" ref="not_present">
<bounds left="0" right="20" top="151" bottom="159" />
</element>
</view>
</mamelayout>

View File

@ -0,0 +1,73 @@
<?xml version="1.0"?>
<!--
license:CC0-1.0
-->
<mamelayout version="2">
<element name="green_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="1">
<color red="0.0" green="1.0" blue="0.0" />
</rect>
</element>
<element name="orange_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="1">
<color red="1.0" green="0.6" blue="0.0" />
</rect>
</element>
<element name="caps_name">
<text string="Caps" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="code_name">
<text string="カナ" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="drv0">
<text string="Drive A" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="drv1">
<text string="Drive B" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<view name="System LEDs">
<screen index="0">
<bounds x="75" y="0" width="1024" height="768" />
</screen>
<element name="caps_led_name" ref="caps_name">
<bounds left="0" right="74" top="0" bottom="30" />
</element>
<element name="caps_led" ref="green_led">
<bounds left="0" right="20" top="31" bottom="39" />
</element>
<element name="code_led_name" ref="code_name">
<bounds left="0" right="74" top="40" bottom="70" />
</element>
<element name="code_led" ref="green_led">
<bounds left="0" right="20" top="71" bottom="79" />
</element>
<element name="internal_drive0_name" ref="drv0">
<bounds left="0" right="74" top="80" bottom="110" />
</element>
<element name="internal_drive0_led" ref="orange_led">
<bounds left="0" right="20" top="111" bottom="119" />
</element>
<element name="internal_drive1_name" ref="drv1">
<bounds left="0" right="74" top="120" bottom="150" />
</element>
<element name="internal_drive1_led" ref="orange_led">
<bounds left="0" right="20" top="151" bottom="159" />
</element>
</view>
</mamelayout>

View File

@ -0,0 +1,56 @@
<?xml version="1.0"?>
<!--
license:CC0-1.0
-->
<mamelayout version="2">
<element name="green_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="1">
<color red="0.0" green="1.0" blue="0.0" />
</rect>
</element>
<element name="caps_name">
<text string="Caps" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="code_name">
<text string="한글" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="not_present" />
<view name="System LEDs">
<screen index="0">
<bounds x="75" y="0" width="1024" height="768" />
</screen>
<element name="caps_led_name" ref="caps_name">
<bounds left="0" right="74" top="0" bottom="30" />
</element>
<element name="caps_led" ref="green_led">
<bounds left="0" right="20" top="31" bottom="39" />
</element>
<element name="code_led_name" ref="code_name">
<bounds left="0" right="74" top="40" bottom="70" />
</element>
<element name="code_led" ref="green_led">
<bounds left="0" right="20" top="71" bottom="79" />
</element>
<element name="internal_drive0_name" ref="not_present">
<bounds left="0" right="74" top="80" bottom="110" />
</element>
<element name="internal_drive0_led" ref="not_present">
<bounds left="0" right="20" top="111" bottom="119" />
</element>
<element name="internal_drive1_name" ref="not_present">
<bounds left="0" right="74" top="120" bottom="150" />
</element>
<element name="internal_drive1_led" ref="not_present">
<bounds left="0" right="20" top="151" bottom="159" />
</element>
</view>
</mamelayout>

View File

@ -0,0 +1,69 @@
<?xml version="1.0"?>
<!--
license:CC0-1.0
-->
<mamelayout version="2">
<element name="green_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="1">
<color red="0.0" green="1.0" blue="0.0" />
</rect>
</element>
<element name="orange_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="1">
<color red="1.0" green="0.6" blue="0.0" />
</rect>
</element>
<element name="caps_name">
<text string="Caps" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="code_name">
<text string="한글" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="drv0">
<text string="Drive A" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="not_present" />
<view name="System LEDs">
<screen index="0">
<bounds x="75" y="0" width="1024" height="768" />
</screen>
<element name="caps_led_name" ref="caps_name">
<bounds left="0" right="74" top="0" bottom="30" />
</element>
<element name="caps_led" ref="green_led">
<bounds left="0" right="20" top="31" bottom="39" />
</element>
<element name="code_led_name" ref="code_name">
<bounds left="0" right="74" top="40" bottom="70" />
</element>
<element name="code_led" ref="green_led">
<bounds left="0" right="20" top="71" bottom="79" />
</element>
<element name="internal_drive0_name" ref="drv0">
<bounds left="0" right="74" top="80" bottom="110" />
</element>
<element name="internal_drive0_led" ref="orange_led">
<bounds left="0" right="20" top="111" bottom="119" />
</element>
<element name="internal_drive1_name" ref="not_present">
<bounds left="0" right="74" top="120" bottom="150" />
</element>
<element name="internal_drive1_led" ref="not_present">
<bounds left="0" right="20" top="151" bottom="159" />
</element>
</view>
</mamelayout>

View File

@ -0,0 +1,51 @@
<?xml version="1.0"?>
<!--
license:CC0-1.0
-->
<mamelayout version="2">
<element name="green_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="1">
<color red="0.0" green="1.0" blue="0.0" />
</rect>
</element>
<element name="caps_name">
<text string="Caps" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="not_present" />
<view name="System LEDs">
<screen index="0">
<bounds x="75" y="0" width="1024" height="768" />
</screen>
<element name="caps_led_name" ref="caps_name">
<bounds left="0" right="74" top="0" bottom="30" />
</element>
<element name="caps_led" ref="green_led">
<bounds left="0" right="20" top="31" bottom="39" />
</element>
<element name="code_led_name" ref="not_present">
<bounds left="0" right="74" top="40" bottom="70" />
</element>
<element name="code_led" ref="not_present">
<bounds left="0" right="20" top="71" bottom="79" />
</element>
<element name="internal_drive0_name" ref="not_present">
<bounds left="0" right="74" top="80" bottom="110" />
</element>
<element name="internal_drive0_led" ref="not_present">
<bounds left="0" right="20" top="111" bottom="119" />
</element>
<element name="internal_drive1_name" ref="not_present">
<bounds left="0" right="74" top="120" bottom="150" />
</element>
<element name="internal_drive1_led" ref="not_present">
<bounds left="0" right="20" top="151" bottom="159" />
</element>
</view>
</mamelayout>

View File

@ -0,0 +1,64 @@
<?xml version="1.0"?>
<!--
license:CC0-1.0
-->
<mamelayout version="2">
<element name="green_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="1">
<color red="0.0" green="1.0" blue="0.0" />
</rect>
</element>
<element name="orange_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="1">
<color red="1.0" green="0.6" blue="0.0" />
</rect>
</element>
<element name="caps_name">
<text string="Caps" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="drv0">
<text string="Drive A" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="not_present" />
<view name="System LEDs">
<screen index="0">
<bounds x="75" y="0" width="1024" height="768" />
</screen>
<element name="caps_led_name" ref="caps_name">
<bounds left="0" right="74" top="0" bottom="30" />
</element>
<element name="caps_led" ref="green_led">
<bounds left="0" right="20" top="31" bottom="39" />
</element>
<element name="code_led_name" ref="not_present">
<bounds left="0" right="74" top="40" bottom="70" />
</element>
<element name="code_led" ref="not_present">
<bounds left="0" right="20" top="71" bottom="79" />
</element>
<element name="internal_drive0_name" ref="drv0">
<bounds left="0" right="74" top="80" bottom="110" />
</element>
<element name="internal_drive0_led" ref="orange_led">
<bounds left="0" right="20" top="111" bottom="119" />
</element>
<element name="internal_drive1_name" ref="not_present">
<bounds left="0" right="74" top="120" bottom="150" />
</element>
<element name="internal_drive1_led" ref="not_present">
<bounds left="0" right="20" top="151" bottom="159" />
</element>
</view>
</mamelayout>

View File

@ -0,0 +1,69 @@
<?xml version="1.0"?>
<!--
license:CC0-1.0
-->
<mamelayout version="2">
<element name="green_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="1">
<color red="0.0" green="1.0" blue="0.0" />
</rect>
</element>
<element name="orange_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="1">
<color red="1.0" green="0.6" blue="0.0" />
</rect>
</element>
<element name="caps_name">
<text string="Caps" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="drv0">
<text string="Drive A" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="drv1">
<text string="Drive B" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="not_present" />
<view name="System LEDs">
<screen index="0">
<bounds x="75" y="0" width="1024" height="768" />
</screen>
<element name="caps_led_name" ref="caps_name">
<bounds left="0" right="74" top="0" bottom="30" />
</element>
<element name="caps_led" ref="green_led">
<bounds left="0" right="20" top="31" bottom="39" />
</element>
<element name="code_led_name" ref="not_present">
<bounds left="0" right="74" top="40" bottom="70" />
</element>
<element name="code_led" ref="not_present">
<bounds left="0" right="20" top="71" bottom="79" />
</element>
<element name="internal_drive0_name" ref="drv0">
<bounds left="0" right="74" top="80" bottom="110" />
</element>
<element name="internal_drive0_led" ref="orange_led">
<bounds left="0" right="20" top="111" bottom="119" />
</element>
<element name="internal_drive1_name" ref="drv1">
<bounds left="0" right="74" top="120" bottom="150" />
</element>
<element name="internal_drive1_led" ref="orange_led">
<bounds left="0" right="20" top="151" bottom="159" />
</element>
</view>
</mamelayout>

View File

@ -0,0 +1,38 @@
<?xml version="1.0"?>
<!--
license:CC0-1.0
-->
<mamelayout version="2">
<element name="not_present" />
<view name="System LEDs">
<screen index="0">
<bounds x="75" y="0" width="1024" height="768" />
</screen>
<element name="caps_led_name" ref="not_present">
<bounds left="0" right="74" top="0" bottom="30" />
</element>
<element name="caps_led" ref="not_present">
<bounds left="0" right="20" top="31" bottom="39" />
</element>
<element name="code_led_name" ref="not_present">
<bounds left="0" right="74" top="40" bottom="70" />
</element>
<element name="code_led" ref="not_present">
<bounds left="0" right="20" top="71" bottom="79" />
</element>
<element name="internal_drive0_name" ref="not_present">
<bounds left="0" right="74" top="80" bottom="110" />
</element>
<element name="internal_drive0_led" ref="not_present">
<bounds left="0" right="20" top="111" bottom="119" />
</element>
<element name="internal_drive1_name" ref="not_present">
<bounds left="0" right="74" top="120" bottom="150" />
</element>
<element name="internal_drive1_led" ref="not_present">
<bounds left="0" right="20" top="151" bottom="159" />
</element>
</view>
</mamelayout>

View File

@ -0,0 +1,56 @@
<?xml version="1.0"?>
<!--
license:CC0-1.0
-->
<mamelayout version="2">
<element name="green_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="1">
<color red="0.0" green="1.0" blue="0.0" />
</rect>
</element>
<element name="caps_name">
<text string="Caps" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="code_name">
<text string="РУС" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="not_present" />
<view name="System LEDs">
<screen index="0">
<bounds x="75" y="0" width="1024" height="768" />
</screen>
<element name="caps_led_name" ref="caps_name">
<bounds left="0" right="74" top="0" bottom="30" />
</element>
<element name="caps_led" ref="green_led">
<bounds left="0" right="20" top="31" bottom="39" />
</element>
<element name="code_led_name" ref="code_name">
<bounds left="0" right="74" top="40" bottom="70" />
</element>
<element name="code_led" ref="green_led">
<bounds left="0" right="20" top="71" bottom="79" />
</element>
<element name="internal_drive0_name" ref="not_present">
<bounds left="0" right="74" top="80" bottom="110" />
</element>
<element name="internal_drive0_led" ref="not_present">
<bounds left="0" right="20" top="111" bottom="119" />
</element>
<element name="internal_drive1_name" ref="not_present">
<bounds left="0" right="74" top="120" bottom="150" />
</element>
<element name="internal_drive1_led" ref="not_present">
<bounds left="0" right="20" top="151" bottom="159" />
</element>
</view>
</mamelayout>

View File

@ -0,0 +1,69 @@
<?xml version="1.0"?>
<!--
license:CC0-1.0
-->
<mamelayout version="2">
<element name="green_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="1">
<color red="0.0" green="1.0" blue="0.0" />
</rect>
</element>
<element name="orange_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="1">
<color red="1.0" green="0.6" blue="0.0" />
</rect>
</element>
<element name="caps_name">
<text string="Caps" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="code_name">
<text string="РУС" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="drv0">
<text string="Drive A" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="not_present" />
<view name="System LEDs">
<screen index="0">
<bounds x="75" y="0" width="1024" height="768" />
</screen>
<element name="caps_led_name" ref="caps_name">
<bounds left="0" right="74" top="0" bottom="30" />
</element>
<element name="caps_led" ref="green_led">
<bounds left="0" right="20" top="31" bottom="39" />
</element>
<element name="code_led_name" ref="code_name">
<bounds left="0" right="74" top="40" bottom="70" />
</element>
<element name="code_led" ref="green_led">
<bounds left="0" right="20" top="71" bottom="79" />
</element>
<element name="internal_drive0_name" ref="drv0">
<bounds left="0" right="74" top="80" bottom="110" />
</element>
<element name="internal_drive0_led" ref="orange_led">
<bounds left="0" right="20" top="111" bottom="119" />
</element>
<element name="internal_drive1_name" ref="not_present">
<bounds left="0" right="74" top="120" bottom="150" />
</element>
<element name="internal_drive1_led" ref="not_present">
<bounds left="0" right="20" top="151" bottom="159" />
</element>
</view>
</mamelayout>

View File

@ -0,0 +1,73 @@
<?xml version="1.0"?>
<!--
license:CC0-1.0
-->
<mamelayout version="2">
<element name="green_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="1">
<color red="0.0" green="1.0" blue="0.0" />
</rect>
</element>
<element name="orange_led">
<rect state="0">
<color red="0.2" green="0.2" blue="0.2" />
</rect>
<rect state="1">
<color red="1.0" green="0.6" blue="0.0" />
</rect>
</element>
<element name="caps_name">
<text string="Caps" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="code_name">
<text string="РУС" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="drv0">
<text string="Drive A" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<element name="drv1">
<text string="Drive B" align="1">
<color red="1.0" green="1.0" blue="1.0" />
</text>
</element>
<view name="System LEDs">
<screen index="0">
<bounds x="75" y="0" width="1024" height="768" />
</screen>
<element name="caps_led_name" ref="caps_name">
<bounds left="0" right="74" top="0" bottom="30" />
</element>
<element name="caps_led" ref="green_led">
<bounds left="0" right="20" top="31" bottom="39" />
</element>
<element name="code_led_name" ref="code_name">
<bounds left="0" right="74" top="40" bottom="70" />
</element>
<element name="code_led" ref="green_led">
<bounds left="0" right="20" top="71" bottom="79" />
</element>
<element name="internal_drive0_name" ref="drv0">
<bounds left="0" right="74" top="80" bottom="110" />
</element>
<element name="internal_drive0_led" ref="orange_led">
<bounds left="0" right="20" top="111" bottom="119" />
</element>
<element name="internal_drive1_name" ref="drv1">
<bounds left="0" right="74" top="120" bottom="150" />
</element>
<element name="internal_drive1_led" ref="orange_led">
<bounds left="0" right="20" top="151" bottom="159" />
</element>
</view>
</mamelayout>

View File

@ -107,9 +107,6 @@
#include "screen.h"
#include "softlist_dev.h"
#include "msx.lh"
//#define VERBOSE (LOG_GENERAL)
#include "logmacro.h"
@ -161,10 +158,7 @@ msx_state::msx_state(const machine_config &mconfig, device_type type, const char
, 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_main_xtal(main_xtal)
, m_cpu_xtal_divider(cpu_xtal_divider)
{
@ -309,24 +303,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;
m_caps_led = 0;
m_code_led = 0;
}
void msx_state::machine_start()
{
m_caps_led.resolve();
m_caps_led_name.resolve();
m_code_led.resolve();
m_code_led_name.resolve();
m_port_c_old = 0xff;
}
/* A hack to add 1 wait cycle in each opcode fetch.
Possibly worth not to use custom table at all but adjust desired icount
directly in m_opcodes.read_byte handler. */
// Update instruction timings to add 1 wait cycle for each M1 opcode fetch.
static const u8 cc_op[0x100] = {
4+1,10+1, 7+1, 6+1, 4+1, 4+1, 7+1, 4+1, 4+1,11+1, 7+1, 6+1, 4+1, 4+1, 7+1, 4+1,
8+1,10+1, 7+1, 6+1, 4+1, 4+1, 7+1, 4+1,12+1,11+1, 7+1, 6+1, 4+1, 4+1, 7+1, 4+1,
@ -465,8 +453,7 @@ void msx_state::psg_port_a_w(u8 data)
void msx_state::psg_port_b_w(u8 data)
{
// Code(/Kana/Arabic/Hangul) led
if (m_hw_def.has_code_led())
m_code_led = 1 + BIT(~data, 7);
m_code_led = BIT(~data, 7);
m_gen_port1->pin_6_w(BIT(data, 0));
m_gen_port1->pin_7_w(BIT(data, 1));
@ -494,8 +481,7 @@ void msx_state::ppi_port_c_w(u8 data)
m_keylatch = data & 0x0f;
// caps lock
if (m_hw_def.has_caps_led())
m_caps_led = 1 + BIT(~data, 6);
m_caps_led = BIT(~data, 6);
// key click
if (BIT(m_port_c_old ^ data, 7))
@ -565,9 +551,8 @@ 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, region_type region)
void msx_state::msx_base(ay8910_type ay8910_type, machine_config &config, const internal_layout &layout)
{
m_region = region;
// basic machine hardware
Z80(config, m_maincpu, m_main_xtal / m_cpu_xtal_divider); // 3.579545 MHz
m_maincpu->set_addrmap(AS_PROGRAM, &msx_state::memory_map);
@ -626,7 +611,7 @@ void msx_state::msx_base(ay8910_type ay8910_type, machine_config &config, region
m_cassette->set_interface("msx_cass");
}
config.set_default_layout(layout_msx);
config.set_default_layout(layout);
}
void msx_state::msx1_add_softlists(machine_config &config)
@ -641,9 +626,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, region_type region)
void msx_state::msx1(vdp_type vdp_type, ay8910_type ay8910_type, machine_config &config, const internal_layout &layout)
{
msx_base(ay8910_type, config, region);
msx_base(ay8910_type, config, layout);
m_maincpu->set_addrmap(AS_IO, &msx_state::msx1_io_map);
@ -824,17 +809,17 @@ void msx2_base_state::turbor_add_softlists(machine_config &config)
}
}
void msx2_base_state::msx2_base(ay8910_type ay8910_type, machine_config &config, region_type region)
void msx2_base_state::msx2_base(ay8910_type ay8910_type, machine_config &config, const internal_layout &layout)
{
msx_base(ay8910_type, config, region);
msx_base(ay8910_type, config, layout);
// real time clock
RP5C01(config, m_rtc, 32.768_kHz_XTAL);
}
void msx2_base_state::msx2(ay8910_type ay8910_type, machine_config &config, region_type region)
void msx2_base_state::msx2(ay8910_type ay8910_type, machine_config &config, const internal_layout &layout)
{
msx2_base(ay8910_type, config, region);
msx2_base(ay8910_type, config, layout);
m_maincpu->set_addrmap(AS_IO, &msx2_base_state::msx2_io_map);
@ -848,15 +833,15 @@ void msx2_base_state::msx2(ay8910_type ay8910_type, machine_config &config, regi
msx2_add_softlists(config);
}
void msx2_base_state::msx2_pal(ay8910_type ay8910_type, machine_config &config, region_type region)
void msx2_base_state::msx2_pal(ay8910_type ay8910_type, machine_config &config, const internal_layout &layout)
{
msx2(ay8910_type, config, region);
msx2(ay8910_type, config, layout);
m_v9938->set_screen_pal(m_screen);
}
void msx2_base_state::msx2plus_base(ay8910_type ay8910_type, machine_config &config, region_type region)
void msx2_base_state::msx2plus_base(ay8910_type ay8910_type, machine_config &config, const internal_layout &layout)
{
msx2_base(ay8910_type, config, region);
msx2_base(ay8910_type, config, layout);
m_maincpu->set_addrmap(AS_IO, &msx2_base_state::msx2plus_io_map);
@ -867,23 +852,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, region_type region)
void msx2_base_state::msx2plus(ay8910_type ay8910_type, machine_config &config, const internal_layout &layout)
{
msx2plus_base(ay8910_type, config, region);
msx2plus_base(ay8910_type, config, layout);
// Software lists
msx2plus_add_softlists(config);
}
void msx2_base_state::msx2plus_pal(ay8910_type ay8910_type, machine_config &config, region_type region)
void msx2_base_state::msx2plus_pal(ay8910_type ay8910_type, machine_config &config, const internal_layout &layout)
{
msx2plus(ay8910_type, config, region);
msx2plus(ay8910_type, config, layout);
m_v9958->set_screen_pal(m_screen);
}
void msx2_base_state::turbor(ay8910_type ay8910_type, machine_config &config, region_type region)
void msx2_base_state::turbor(ay8910_type ay8910_type, machine_config &config, const internal_layout &layout)
{
msx2plus_base(ay8910_type, config, region);
msx2plus_base(ay8910_type, config, layout);
R800(config.replace(), m_maincpu, 28.636363_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &msx2_base_state::memory_map);

View File

@ -34,22 +34,16 @@ 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; }
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 &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;
bool m_has_caps_led = true;
bool m_has_code_led = true;
};
class msx_state : public driver_device
@ -74,18 +68,8 @@ protected:
VDP_TMS9929A
};
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, region_type region);
void msx1(vdp_type vdp_type, ay8910_type ay8910_type, machine_config &config, region_type region);
void msx_base(ay8910_type ay8910_type, machine_config &config, const internal_layout &layout);
void msx1(vdp_type vdp_type, ay8910_type ay8910_type, machine_config &config, const internal_layout &layout);
void msx1_add_softlists(machine_config &config);
// configuration helpers
@ -258,10 +242,7 @@ protected:
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;
const XTAL m_main_xtal;
const int m_cpu_xtal_divider;
@ -358,13 +339,13 @@ protected:
virtual void machine_start() override;
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_base(ay8910_type ay8910_type, machine_config &config, const internal_layout &layout);
void msx2(ay8910_type ay8910_type, machine_config &config, const internal_layout &layout);
void msx2_pal(ay8910_type ay8910_type, machine_config &config, const internal_layout &layout);
void msx2plus_base(ay8910_type ay8910_type, machine_config &config, const internal_layout &layout);
void msx2plus(ay8910_type ay8910_type, machine_config &config, const internal_layout &layout);
void msx2plus_pal(ay8910_type ay8910_type, machine_config &config, const internal_layout &layout);
void turbor(ay8910_type ay8910_type, machine_config &config, const internal_layout &layout);
void msx2_add_softlists(machine_config &config);
void msx2plus_add_softlists(machine_config &config);
void turbor_add_softlists(machine_config &config);

File diff suppressed because it is too large Load Diff

View File

@ -13,6 +13,8 @@
#include "bus/msx/slot/ram.h"
#include "bus/msx/slot/ram_mm.h"
#include "msx_nocode.lh"
using namespace msx_keyboard;
@ -73,8 +75,7 @@ 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
m_hw_def.no_code_led();
msx1(VDP_TMS9129, SND_AY8910, config, REGION_INTERNATIONAL);
msx1(VDP_TMS9129, SND_AY8910, config, layout_msx_nocode);
m_maincpu->set_addrmap(AS_IO, &bruc100_state::io_map);
}
@ -109,8 +110,7 @@ void bruc100_state::bruc100a(machine_config &config)
add_cartridge_slot<1>(config, 2);
// Expansion slot in slot 3
m_hw_def.no_code_led();
msx1(VDP_TMS9129, SND_AY8910, config, REGION_INTERNATIONAL);
msx1(VDP_TMS9129, SND_AY8910, config, layout_msx_nocode);
m_maincpu->set_addrmap(AS_IO, &bruc100_state::io_map);
}

View File

@ -11,6 +11,13 @@
#include "bus/msx/slot/rom.h"
#include "softlist_dev.h"
#include "msx_ar.lh"
#include "msx_ar_1fdd.lh"
#include "msx_en.lh"
#include "msx_ru.lh"
#include "msx_nocode.lh"
#include "msx_nocode_1fdd.lh"
using namespace msx_keyboard;
/***************************************************************************
@ -57,9 +64,9 @@ public:
void yis503ii(machine_config &config);
protected:
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 msx1_v9938(ay8910_type ay8910_type, machine_config &config, const internal_layout &layout);
void msx1_v9938_pal(ay8910_type ay8910_type, machine_config &config, const internal_layout &layout);
void svi738_base(machine_config &config, const internal_layout &layout);
void io_map(address_map &map);
@ -78,9 +85,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, region_type region)
void msx1_v9938_state::msx1_v9938(ay8910_type ay8910_type, machine_config &config, const internal_layout &layout)
{
msx_base(ay8910_type, config, region);
msx_base(ay8910_type, config, layout);
m_maincpu->set_addrmap(AS_IO, &msx1_v9938_state::io_map);
@ -94,9 +101,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, region_type region)
void msx1_v9938_state::msx1_v9938_pal(ay8910_type ay8910_type, machine_config &config, const internal_layout &layout)
{
msx1_v9938(ay8910_type, config, region);
msx1_v9938(ay8910_type, config, layout);
m_v9938->set_screen_pal(m_screen);
}
@ -126,7 +133,7 @@ void msx1_v9938_state::ax200(machine_config &config)
add_cartridge_slot<2>(config, 2);
add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "module", 3, msx_yamaha_60pin, nullptr);
msx1_v9938_pal(SND_YM2149, config, REGION_ARAB);
msx1_v9938_pal(SND_YM2149, config, layout_msx_ar);
}
/* MSX - Sakhr AX-200 (Arabic/French) */
@ -158,7 +165,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, "module", 3, msx_yamaha_60pin, "sfg05");
msx1_v9938_pal(SND_YM2149, config, REGION_ARAB);
msx1_v9938_pal(SND_YM2149, config, layout_msx_ar);
}
/* MSX - Spectravideo SVI-738 */
@ -174,7 +181,7 @@ 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)
void msx1_v9938_state::svi738_base(machine_config &config, const internal_layout &layout)
{
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
@ -182,7 +189,7 @@ void msx1_v9938_state::svi738_base(machine_config &config, region_type region)
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);
msx1_v9938_pal(SND_AY8910, config, layout);
}
void msx1_v9938_state::svi738(machine_config &config)
@ -193,8 +200,7 @@ void msx1_v9938_state::svi738(machine_config &config)
// builtin 80 columns card (V9938)
// RS-232C interface
m_hw_def.no_code_led();
svi738_base(config, REGION_INTERNATIONAL);
svi738_base(config, layout_msx_nocode_1fdd);
}
/* MSX - Spectravideo SVI-738 Arabic */
@ -215,7 +221,7 @@ ROM_END
void msx1_v9938_state::svi738ar(machine_config &config)
{
svi738_base(config, REGION_ARAB);
svi738_base(config, layout_msx_ar_1fdd);
add_internal_slot(config, MSX_SLOT_ROM, "arab", 3, 3, 1, 2, "arab");
}
@ -292,8 +298,7 @@ void msx1_v9938_state::tadpc200a(machine_config &config)
add_cartridge_slot<1>(config, 2);
// Expansion slot
m_hw_def.no_code_led();
msx1_v9938_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx1_v9938_pal(SND_YM2149, config, layout_msx_nocode);
}
/* MSX - Yamaha CX5MII-128A (Australia, New Zealand) */
@ -326,8 +331,7 @@ 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<4>(config, MSX_SLOT_YAMAHA_EXPANSION, "module", 3, 3, msx_yamaha_60pin, "sfg05");
m_hw_def.no_code_led();
msx1_v9938_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx1_v9938_pal(SND_YM2149, config, layout_msx_nocode);
SOFTWARE_LIST(config, "minicart_list").set_original("msx_yamaha_minicart");
}
@ -375,8 +379,7 @@ 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<4>(config, MSX_SLOT_YAMAHA_EXPANSION, "module", 3, 3, msx_yamaha_60pin, "sfg05");
m_hw_def.no_code_led();
msx1_v9938_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx1_v9938_pal(SND_YM2149, config, layout_msx_nocode);
SOFTWARE_LIST(config, "minicart_list").set_original("msx_yamaha_minicart");
}
@ -415,8 +418,7 @@ 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);
m_hw_def.no_code_led();
msx1_v9938(SND_YM2149, config, REGION_INTERNATIONAL);
msx1_v9938(SND_YM2149, config, layout_msx_nocode);
}
/* MSX - Yamaha YIS503-IIR Russian */
@ -446,7 +448,7 @@ void msx1_v9938_state::y503iir(machine_config &config)
// This should have a serial network interface by default
add_cartridge_slot<4>(config, MSX_SLOT_YAMAHA_EXPANSION, "module", 3, 3, msx_yamaha_60pin, nullptr);
msx1_v9938_pal(SND_YM2149, config, REGION_RUSSIA);
msx1_v9938_pal(SND_YM2149, config, layout_msx_ru);
SOFTWARE_LIST(config, "minicart_list").set_original("msx_yamaha_minicart");
}
@ -477,7 +479,7 @@ void msx1_v9938_state::y503iir2(machine_config &config)
// This should have a serial network interface by default
add_cartridge_slot<4>(config, MSX_SLOT_YAMAHA_EXPANSION, "module", 3, 3, msx_yamaha_60pin, nullptr);
msx1_v9938_pal(SND_YM2149, config, REGION_RUSSIA);
msx1_v9938_pal(SND_YM2149, config, layout_msx_ru);
SOFTWARE_LIST(config, "minicart_list").set_original("msx_yamaha_minicart");
}

View File

@ -22,6 +22,23 @@
#include "bus/msx/slot/sony08.h"
#include "softlist_dev.h"
#include "msx_ar.lh"
#include "msx_ar_1fdd.lh"
#include "msx_ar_2fdd.lh"
#include "msx_en.lh"
#include "msx_jp.lh"
#include "msx_jp_1fdd.lh"
#include "msx_jp_2fdd.lh"
#include "msx_kr.lh"
#include "msx_kr_1fdd.lh"
#include "msx_ru.lh"
#include "msx_ru_1fdd.lh"
#include "msx_ru_2fdd.lh"
#include "msx_nocode.lh"
#include "msx_nocode_1fdd.lh"
#include "msx_nocode_2fdd.lh"
#include "msx_nocode_nocaps.lh"
using namespace msx_keyboard;
@ -213,7 +230,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, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp);
msx2_64kb_vram(config);
}
@ -244,7 +261,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, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_1fdd);
}
/* MSX2 - Daewoo CPC-300 */
@ -276,7 +293,7 @@ void msx2_state::cpc300(machine_config &config)
// Expansion slot in slot #3
MSX_S1985(config, "s1985", 0);
msx2(SND_YM2149, config, REGION_KOREA);
msx2(SND_YM2149, config, layout_msx_kr);
}
/* MSX2 - Daewoo CPC-300E */
@ -310,7 +327,7 @@ void msx2_state::cpc300e(machine_config &config)
// Expansion slot in slot #3
MSX_S1985(config, "s1985", 0);
msx2(SND_YM2149, config, REGION_KOREA);
msx2(SND_YM2149, config, layout_msx_kr);
}
/* MSX2 - Daewoo CPC-330K */
@ -341,7 +358,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, REGION_KOREA);
msx2(SND_AY8910, config, layout_msx_kr);
}
/* MSX2 - Daewoo CPC-400 */
@ -378,7 +395,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, REGION_KOREA);
msx2(SND_AY8910, config, layout_msx_kr_1fdd);
}
/* MSX2 - Daewoo CPC-400S */
@ -413,7 +430,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, REGION_KOREA);
msx2(SND_AY8910, config, layout_msx_kr_1fdd);
}
/* MSX2 - Daewoo Zemmix CPC-61 */
@ -439,8 +456,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).no_caps_led().no_code_led();
msx2(SND_AY8910, config, REGION_KOREA);
m_hw_def.has_cassette(false).has_printer_port(false);
msx2(SND_AY8910, config, layout_msx_nocode_nocaps);
}
/* MSX2 - Daewoo Zemmix CPG-120 Normal */
@ -479,8 +496,8 @@ void msx2_state::cpg120(machine_config &config)
MSX_S1985(config, "s1985", 0);
msx_ym2413(config);
m_hw_def.has_printer_port(false).no_caps_led().no_code_led();
msx2plus(SND_AY8910, config, REGION_KOREA);
m_hw_def.has_printer_port(false);
msx2plus(SND_AY8910, config, layout_msx_nocode_nocaps);
}
/* MSX2 - Daisen Sangyo MX-2021 */
@ -512,8 +529,7 @@ 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");
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode_1fdd);
}
/* MSX2 - GR8Bit (should probably be a separate driver) */
@ -548,8 +564,7 @@ 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);
m_hw_def.no_code_led();
msx2_pal(SND_AY8910, config, REGION_INTERNATIONAL);
msx2_pal(SND_AY8910, config, layout_msx_nocode_1fdd);
}
/* MSX2 - Hitachi MB-H3 */
@ -581,7 +596,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, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp);
msx2_64kb_vram(config);
}
@ -621,7 +636,7 @@ void msx2_state::mbh70(machine_config &config)
MSX_S1985(config, "s1985", 0);
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_2fdd);
}
/* MSX2 - Kawai KMC-5000 */
@ -661,7 +676,7 @@ void msx2_state::kmc5000(machine_config &config)
MSX_S1985(config, "s1985", 0);
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_1fdd);
}
/* MSX2 - Laser MSX2 (unreleased) */
@ -696,8 +711,7 @@ 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");
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode);
}
/* MSX2 - Mitsubishi ML-G3 */
@ -736,8 +750,7 @@ 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");
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode_1fdd);
}
/* MSX2 - Mitsubishi ML-G10 */
@ -773,7 +786,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, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp);
}
/* MSX2 - Mitsubishi ML-G30 Model 1 */
@ -808,7 +821,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, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_1fdd);
}
/* MSX2 - Mitsubishi ML-G30 Model 2 */
@ -848,7 +861,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, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_2fdd);
}
/* MSX2 - ML-TS100 (should be a separate driver) */
@ -923,7 +936,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, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp);
}
/* MSX2 - National FS-4600F */
@ -986,7 +999,7 @@ void msx2_state::fs4600f(machine_config &config)
MSX_S1985(config, "s1985", 0);
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_1fdd);
}
/* MSX2 - National FS-4700 */
@ -1061,7 +1074,7 @@ void msx2_state::fs4700f(machine_config &config)
MSX_MATSUSHITA(config, "matsushita", 0);
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_1fdd);
}
/* MSX2 - National FS-5000F2 */
@ -1108,7 +1121,7 @@ void msx2_state::fs5000f2(machine_config &config)
MSX_S1985(config, "s1985", 0);
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_2fdd);
}
/* MSX2 - National FS-5500F1 */
@ -1191,7 +1204,7 @@ void msx2_state::fs5500f1(machine_config &config)
MSX_MATSUSHITA(config, "matsushita", 0);
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_1fdd);
}
/* MSX2 - National FS-5500F2 */
@ -1242,7 +1255,7 @@ void msx2_state::fs5500f2(machine_config &config)
MSX_MATSUSHITA(config, "matsushita", 0);
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_2fdd);
}
/* MSX2 - Panasonic FS-A1 */
@ -1269,8 +1282,7 @@ void msx2_state::fsa1(machine_config &config)
MSX_S1985(config, "s1985", 0);
m_hw_def.no_caps_led().no_code_led();
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_nocode_nocaps);
}
/* MSX2 - Panasonic FS-A1 (a) */
@ -1300,8 +1312,7 @@ void msx2_state::fsa1a(machine_config &config)
MSX_S1985(config, "s1985", 0);
m_hw_def.no_caps_led().no_code_led();
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_nocode_nocaps);
}
/* MSX2 - Panasonic FS-A1F */
@ -1332,7 +1343,7 @@ void msx2_state::fsa1f(machine_config &config)
MSX_S1985(config, "s1985", 0);
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_1fdd);
}
/* MSX2 - Panasonic FS-A1FM */
@ -1381,7 +1392,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, REGION_JAPAN);
msx2(SND_AY8910, config, layout_msx_jp_1fdd);
}
/* MSX2 - Panasonic FS-A1MK2 */
@ -1422,7 +1433,7 @@ void msx2_state::fsa1mk2(machine_config &config)
MSX_S1985(config, "s1985", 0);
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp);
}
/* MSX2 - Philips HCS 280 */
@ -1456,8 +1467,7 @@ 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");
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode);
}
/* MSX2 - Philips NMS 8245 - 2 possible sets (/00 /16) */
@ -1490,8 +1500,7 @@ 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);
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode_1fdd);
}
/* MSX2 - Philips NMS 8245/19 */
@ -1515,8 +1524,7 @@ 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);
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode_1fdd);
}
/* MSX2 - Philips NMS 8245 Home Banking (Italy) */
@ -1556,8 +1564,7 @@ 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");
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode_1fdd);
}
/* MSX2 - Philips NMS 8250/16 */
@ -1618,8 +1625,7 @@ 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");
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode_2fdd);
}
/* MSX2 - Philips NMS 8255/19 */
@ -1649,8 +1655,7 @@ 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");
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode_2fdd);
}
/* MSX2 - Philips NMS 8260 */
@ -1690,8 +1695,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");
m_hw_def.no_code_led(); // Not confirmed as there are no pictures of the keyboard
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
// Not confirmed as there are no pictures of the keyboard
msx2_pal(SND_YM2149, config, layout_msx_nocode);
}
/* MSX2 - Philips NMS 8280 - 5 possible sets (/00 /02 /09 /16 /19) */
@ -1721,8 +1726,7 @@ 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");
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode_2fdd);
}
/* MSX2 - Philips NMS 8280F */
@ -1752,8 +1756,7 @@ 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");
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode_2fdd);
}
/* MSX2 - Philips NMS 8280G */
@ -1784,8 +1787,7 @@ 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");
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode_2fdd);
}
/* MSX2 - Philips VG-8230 (u11 - exp, u12 - basic, u13 - disk */
@ -1815,8 +1817,7 @@ 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");
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode_1fdd);
}
/* MSX2 - Philips VG-8235 (/00 and /20) */
@ -1864,8 +1865,7 @@ 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");
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode_1fdd);
}
/* MSX2 - Philips VG-8235F (/19 and /39) */
@ -1901,8 +1901,7 @@ 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");
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode_1fdd);
}
/* MSX2 - Philips VG-8240 (unreleased) */
@ -1932,7 +1931,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, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode_1fdd);
}
/* MSX2 - Phonola NMS 8245 */
@ -1982,7 +1981,7 @@ void msx2_state::ucv102(machine_config &config)
MSX_S1985(config, "s1985", 0);
m_hw_def.has_cassette(false);
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_1fdd);
}
/* MSX2 - Sakhr AX-350 */
@ -2026,7 +2025,7 @@ void msx2_state::ax350(machine_config &config)
MSX_S1985(config, "s1985", 0);
msx2_pal(SND_YM2149, config, REGION_ARAB);
msx2_pal(SND_YM2149, config, layout_msx_ar_1fdd);
}
/* MSX2 - Sakhr AX-350 II */
@ -2071,7 +2070,7 @@ void msx2_state::ax350ii(machine_config &config)
MSX_S1985(config, "s1985", 0);
msx2_pal(SND_YM2149, config, REGION_ARAB);
msx2_pal(SND_YM2149, config, layout_msx_ar_1fdd);
}
/* MSX2 - Sakhr AX-350 II F */
@ -2116,7 +2115,7 @@ void msx2_state::ax350iif(machine_config &config)
MSX_S1985(config, "s1985", 0);
msx2_pal(SND_YM2149, config, REGION_ARAB);
msx2_pal(SND_YM2149, config, layout_msx_ar_1fdd);
}
/* MSX2 - Sakhr AX-370 */
@ -2163,7 +2162,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, REGION_ARAB);
msx2plus_pal(SND_AY8910, config, layout_msx_ar_1fdd);
}
/* MSX2 - Sakhr AX-500 */
@ -2212,7 +2211,7 @@ void msx2_state::ax500(machine_config &config)
MSX_S1985(config, "s1985", 0);
msx2_pal(SND_YM2149, config, REGION_ARAB);
msx2_pal(SND_YM2149, config, layout_msx_ar_2fdd);
}
/* MSX2 - Sanyo MPC-2300 */
@ -2240,7 +2239,7 @@ void msx2_state::mpc2300(machine_config &config)
MSX_S1985(config, "s1985", 0);
msx2(SND_YM2149, config, REGION_RUSSIA);
msx2(SND_YM2149, config, layout_msx_ru);
}
/* MSX2 - Sanyo MPC-2500FD */
@ -2270,7 +2269,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, REGION_RUSSIA);
msx2(SND_YM2149, config, layout_msx_ru_1fdd);
}
/* MSX2 - Sanyo MPC-25F */
@ -2305,7 +2304,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, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_1fdd);
}
/* MSX2 - Sanyo MPC-25FK */
@ -2340,7 +2339,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, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_1fdd);
}
/* MSX2 - Sanyo Wavy MPC-27 */
@ -2376,7 +2375,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, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_1fdd);
}
/* MSX2 - Sanyo PCT-100 */
@ -2404,7 +2403,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, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp);
}
/* MSX2 - Sanyo PHC-23J(B) / PHC-23J(GR) - "Wavy23" */
@ -2431,7 +2430,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, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp);
}
/* MSX2 - Sanyo Wavy PHC-55FD2 */
@ -2465,7 +2464,7 @@ void msx2_state::phc55fd2(machine_config &config)
MSX_S1985(config, "s1985", 0);
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_2fdd);
}
/* MSX2 - Sanyo Wavy PHC-77 */
@ -2507,7 +2506,7 @@ void msx2_state::phc77(machine_config &config)
MSX_S1985(config, "s1985", 0);
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_1fdd);
}
/* MSX2 - Sharp Epcom HotBit 2.0 - is this an officially released machine? */
@ -2540,8 +2539,7 @@ 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);
m_hw_def.no_code_led();
msx2_pal(SND_AY8910, config, REGION_INTERNATIONAL);
msx2_pal(SND_AY8910, config, layout_msx_nocode_1fdd);
}
/* MSX2 - Sony HB-F1 */
@ -2582,8 +2580,7 @@ void msx2_state::hbf1(machine_config &config)
MSX_S1985(config, "s1985", 0);
m_hw_def.no_caps_led().no_code_led();
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_nocode_nocaps);
}
/* MSX2 - Sony HB-F1II */
@ -2624,7 +2621,7 @@ void msx2_state::hbf1ii(machine_config &config)
MSX_S1985(config, "s1985", 0);
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp);
}
/* MSX2 - Sony HB-F1XD / HB-F1XDmk2 */
@ -2660,7 +2657,7 @@ void msx2_state::hbf1xd(machine_config &config)
MSX_S1985(config, "s1985", 0);
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_1fdd);
}
/* MSX2 - Sony HB-F5 */
@ -2689,7 +2686,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, REGION_JAPAN);
msx2_pal(SND_YM2149, config, layout_msx_jp);
}
/* MSX2 - Sony HB-F500 */
@ -2723,7 +2720,7 @@ void msx2_state::hbf500(machine_config &config)
add_cartridge_slot<1>(config, 1);
add_cartridge_slot<2>(config, 2);
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_1fdd);
}
/* MSX2 - Sony HB-F500 2nd version (slot layout is different) */
@ -2756,7 +2753,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, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_1fdd);
}
/* MSX2 - Sony HB-F500F */
@ -2789,8 +2786,7 @@ void msx2_state::hbf500f(machine_config &config)
add_cartridge_slot<2>(config, 2);
add_cartridge_slot<3>(config, 3);
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode_1fdd);
}
/* MSX2 - Sony HB-F500P */
@ -2818,8 +2814,7 @@ void msx2_state::hbf500p(machine_config &config)
add_cartridge_slot<2>(config, 2);
add_cartridge_slot<3>(config, 3);
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode_1fdd);
}
/* MSX2 - Sony HB-F700D */
@ -2854,8 +2849,7 @@ void msx2_state::hbf700d(machine_config &config)
MSX_S1985(config, "s1985", 0);
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode_1fdd);
}
/* MSX2 - Sony HB-F700F */
@ -2890,8 +2884,7 @@ void msx2_state::hbf700f(machine_config &config)
MSX_S1985(config, "s1985", 0);
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode_1fdd);
}
/* MSX2 - Sony HB-F700P */
@ -2928,8 +2921,7 @@ void msx2_state::hbf700p(machine_config &config)
MSX_S1985(config, "s1985", 0);
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode_1fdd);
}
/* MSX2 - Sony HB-F700S */
@ -2964,8 +2956,7 @@ void msx2_state::hbf700s(machine_config &config)
MSX_S1985(config, "s1985", 0);
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode_1fdd);
}
/* MSX2 - Sony HB-F750 (prototype) */
@ -3006,7 +2997,7 @@ void msx2_state::hbf900(machine_config &config)
MSX_S1985(config, "s1985", 0);
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_2fdd);
}
/* MSX2 - Sony HB-F900 (a) */
@ -3045,7 +3036,7 @@ void msx2_state::hbf900a(machine_config &config)
MSX_S1985(config, "s1985", 0);
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_2fdd);
}
/* MSX2 - Sony HB-F9P */
@ -3081,8 +3072,7 @@ 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);
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode);
}
/* MSX2 - Sony HB-F9P Russian */
@ -3110,7 +3100,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, REGION_RUSSIA);
msx2_pal(SND_YM2149, config, layout_msx_ru);
}
/* MSX2 - Sony HB-F9S */
@ -3142,8 +3132,7 @@ 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);
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode);
}
/* MSX2 - Sony HB-G900AP */
@ -3192,8 +3181,7 @@ 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
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode_1fdd);
}
/* MSX2 - Sony HB-G900D */
@ -3234,8 +3222,7 @@ 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
m_hw_def.no_code_led();
msx2_pal(SND_AY8910, config, REGION_INTERNATIONAL);
msx2_pal(SND_AY8910, config, layout_msx_nocode_1fdd);
}
/* MSX2 - Sony HB-T600 */
@ -3277,8 +3264,7 @@ void msx2_state::tpc310(machine_config &config)
MSX_S1985(config, "s1985", 0);
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode);
}
/* MSX2 - Talent TPP-311 */
@ -3309,8 +3295,7 @@ void msx2_state::tpp311(machine_config &config)
MSX_S1985(config, "s1985", 0);
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode);
msx2_64kb_vram(config);
}
@ -3349,8 +3334,7 @@ void msx2_state::tps312(machine_config &config)
MSX_S1985(config, "s1985", 0);
m_hw_def.no_code_led();
msx2_pal(SND_YM2149, config, REGION_INTERNATIONAL);
msx2_pal(SND_YM2149, config, layout_msx_nocode);
msx2_64kb_vram(config);
}
@ -3387,8 +3371,7 @@ void msx2_state::fstm1(machine_config &config)
MSX_S1985(config, "s1985", 0);
// 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_pal(SND_YM2149, config, layout_msx_nocode);
}
/* MSX2 - Toshiba HX-23 */
@ -3423,7 +3406,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(SND_AY8910, config, REGION_JAPAN);
msx2(SND_AY8910, config, layout_msx_jp);
msx2_64kb_vram(config);
}
@ -3457,7 +3440,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(SND_AY8910, config, REGION_JAPAN);
msx2(SND_AY8910, config, layout_msx_jp);
}
/* MSX2 - Toshiba HX-33 */
@ -3487,7 +3470,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, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp);
msx2_64kb_vram(config);
}
@ -3523,7 +3506,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, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_1fdd);
}
/* MSX2 - Victor HC-80 */
@ -3554,7 +3537,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, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp);
}
/* MSX2 - Victor HC-90 */
@ -3592,7 +3575,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, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_1fdd);
}
/* MSX2 - Victor HC-90(A) */
@ -3632,7 +3615,7 @@ void msx2_state::victhc90a(machine_config &config)
add_cartridge_slot<1>(config, 1);
add_internal_disk(config, MSX_SLOT_DISK10_MB8877, "disk", 3, 1, 1, "rs232fdd", 0x4000);
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_1fdd);
}
/* MSX2 - Victor HC-90(B) */
@ -3678,7 +3661,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, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_2fdd);
}
/* MSX2 - Victor HC-95A */
@ -3718,7 +3701,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, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_2fdd);
}
/* MSX2 - Wandy CPC-300 */
@ -3748,7 +3731,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<4>(config, MSX_SLOT_YAMAHA_EXPANSION, "module", 3, 3, msx_yamaha_60pin, nullptr);
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp);
SOFTWARE_LIST(config, "minicart_list").set_original("msx_yamaha_minicart");
}
@ -3777,7 +3760,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<4>(config, MSX_SLOT_YAMAHA_EXPANSION, "module", 3, 3, msx_yamaha_60pin, "sfg05");
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp);
SOFTWARE_LIST(config, "minicart_list").set_original("msx_yamaha_minicart");
}
@ -3815,7 +3798,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, REGION_RUSSIA);
msx2_pal(SND_YM2149, config, layout_msx_ru);
}
/* MSX2 - Yamaha YIS-503 III R Estonian */
@ -3860,7 +3843,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<4>(config, MSX_SLOT_YAMAHA_EXPANSION, "module", 3, 3, msx_yamaha_60pin, nullptr);
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp);
SOFTWARE_LIST(config, "minicart_list").set_original("msx_yamaha_minicart");
}
@ -3899,7 +3882,7 @@ void msx2_state::y805128(machine_config &config)
add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "module", 3, 3, msx_yamaha_60pin, nullptr);
MSX_S1985(config, "s1985", 0);
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_1fdd);
}
/* MSX2 - Yamaha YIS-805/256 */
@ -3938,7 +3921,7 @@ void msx2_state::y805256(machine_config &config)
add_cartridge_slot<3>(config, MSX_SLOT_YAMAHA_EXPANSION, "module", 3, 3, msx_yamaha_60pin, nullptr);
MSX_S1985(config, "s1985", 0);
msx2(SND_YM2149, config, REGION_JAPAN);
msx2(SND_YM2149, config, layout_msx_jp_2fdd);
}
/* MSX2 - Yamaha YIS-805/128R2 (teacher) */
@ -3980,7 +3963,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, REGION_RUSSIA);
msx2_pal(SND_YM2149, config, layout_msx_ru_2fdd);
}
/* MSX2 - Yamaha YIS-805/128R2 Estonian */
@ -4040,8 +4023,7 @@ void msx2_state::expert3i(machine_config &config)
msx_ym2413(config);
m_hw_def.no_code_led();
msx2plus(SND_AY8910, config, REGION_INTERNATIONAL);
msx2plus(SND_AY8910, config, layout_msx_nocode_1fdd);
}
/* MSX2+ - Ciel Expert 3 Turbo
@ -4096,8 +4078,7 @@ void msx2_state::expert3t(machine_config &config)
msx_ym2413(config);
m_hw_def.no_code_led();
msx2plus(SND_AY8910, config, REGION_INTERNATIONAL);
msx2plus(SND_AY8910, config, layout_msx_nocode_1fdd);
}
/* MSX2+ - Gradiente Expert AC88+ */
@ -4134,8 +4115,7 @@ 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");
m_hw_def.no_code_led();
msx2plus(SND_AY8910, config, REGION_INTERNATIONAL);
msx2plus(SND_AY8910, config, layout_msx_nocode_1fdd);
}
/* MSX2+ - Gradiente Expert DDX+ */
@ -4172,8 +4152,7 @@ void msx2_state::expertdx(machine_config &config)
add_cartridge_slot<2>(config, 3);
/* Kanji? */
m_hw_def.no_code_led();
msx2plus(SND_AY8910, config, REGION_INTERNATIONAL);
msx2plus(SND_AY8910, config, layout_msx_nocode_1fdd);
}
/* MSX2+ - Panasonic FS-A1FX */
@ -4213,7 +4192,7 @@ void msx2_state::fsa1fx(machine_config &config)
MSX_SYSTEMFLAGS(config, "sysflags", m_maincpu, 0xff);
m_kanji_fsa1fx = true;
msx2plus(SND_AY8910, config, REGION_JAPAN);
msx2plus(SND_AY8910, config, layout_msx_jp_1fdd);
}
/* MSX2+ - Panasonic FS-A1WSX */
@ -4269,7 +4248,7 @@ void msx2_state::fsa1wsx(machine_config &config)
msx_ym2413(config);
msx2plus(SND_AY8910, config, REGION_JAPAN);
msx2plus(SND_AY8910, config, layout_msx_jp_1fdd);
}
/* MSX2+ - Panasonic FS-A1WX */
@ -4325,7 +4304,7 @@ void msx2_state::fsa1wx(machine_config &config)
msx_ym2413(config);
msx2plus(SND_AY8910, config, REGION_JAPAN);
msx2plus(SND_AY8910, config, layout_msx_jp_1fdd);
}
/* MSX2+ - Panasonic FS-A1WX (a) */
@ -4386,7 +4365,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, REGION_JAPAN);
msx2plus(SND_AY8910, config, layout_msx_jp);
}
/* MSX2+ - Sanyo Wavy PHC-70FD */
@ -4429,7 +4408,7 @@ void msx2_state::phc70fd(machine_config &config)
msx_ym2413(config);
msx2plus(SND_AY8910, config, REGION_JAPAN);
msx2plus(SND_AY8910, config, layout_msx_jp_1fdd);
}
/* MSX2+ - Sanyo Wavy PHC-70FD2 */
@ -4479,7 +4458,7 @@ void msx2_state::phc70fd2(machine_config &config)
msx_ym2413(config);
msx2plus(SND_AY8910, config, REGION_JAPAN);
msx2plus(SND_AY8910, config, layout_msx_jp_2fdd);
}
/* MSX2+ - Sony HB-F1XDJ */
@ -4522,7 +4501,7 @@ void msx2_state::hbf1xdj(machine_config &config)
msx_ym2413(config);
msx2plus(SND_YM2149, config, REGION_JAPAN);
msx2plus(SND_YM2149, config, layout_msx_jp_1fdd);
}
/* MSX2+ - Sony HB-F1XV */
@ -4565,7 +4544,7 @@ void msx2_state::hbf1xv(machine_config &config)
msx_ym2413(config);
msx2plus(SND_YM2149, config, REGION_JAPAN);
msx2plus(SND_YM2149, config, layout_msx_jp_1fdd);
}
/* MSX Turbo-R - Panasonic FS-A1GT */
@ -4611,7 +4590,7 @@ void msx2_state::fsa1gt(machine_config &config)
msx_ym2413(config);
turbor(SND_AY8910, config, REGION_JAPAN);
turbor(SND_AY8910, config, layout_msx_jp_1fdd);
}
/* MSX Turbo-R - Panasonic FS-A1ST */
@ -4655,7 +4634,7 @@ void msx2_state::fsa1st(machine_config &config)
msx_ym2413(config);
turbor(SND_AY8910, config, REGION_JAPAN);
turbor(SND_AY8910, config, layout_msx_jp_1fdd);
}
} // anonymous namespace