hh_sm510: add preset for triple screen games

This commit is contained in:
hap 2025-02-01 16:23:42 +01:00
parent dcdde1fb5b
commit 2d6b2f4406
3 changed files with 48 additions and 0 deletions

View File

@ -155,6 +155,7 @@ The MCUs used were not imported from Sharp, but cloned by USSR, renamed to
#include "hh_sm510_single.lh"
#include "hh_sm510_dualv.lh"
#include "hh_sm510_dualh.lh"
#include "hh_sm510_tripleh.lh"
//#include "hh_sm510_test.lh" // common test-layout - use external artwork
#include "hh_sm500_test.lh" // "
@ -494,6 +495,17 @@ void hh_sm510_state::sm510_dualh(machine_config &config, u16 leftwidth, u16 left
config.set_default_layout(layout_hh_sm510_dualh);
}
void hh_sm510_state::sm510_tripleh(machine_config &config, u16 leftwidth, u16 leftheight, u16 middlewidth, u16 middleheight, u16 rightwidth, u16 rightheight)
{
mcfg_cpu_sm510(config);
mcfg_sound_r1(config);
mcfg_svg_screen(config, leftwidth, leftheight, "screen_left");
mcfg_svg_screen(config, middlewidth, middleheight, "screen_middle");
mcfg_svg_screen(config, rightwidth, rightheight, "screen_right");
config.set_default_layout(layout_hh_sm510_tripleh);
}
void hh_sm510_state::dualv_common(machine_config &config, u16 topwidth, u16 topheight, u16 botwidth, u16 botheight)
{
mcfg_sound_r1(config);

View File

@ -103,6 +103,7 @@ protected:
void sm530_common(machine_config &config, u16 width, u16 height);
void sm510_dualh(machine_config &config, u16 leftwidth, u16 leftheight, u16 rightwidth, u16 rightheight);
[[maybe_unused]] void sm510_tripleh(machine_config &config, u16 leftwidth, u16 leftheight, u16 middlewidth, u16 middleheight, u16 rightwidth, u16 rightheight);
void dualv_common(machine_config &config, u16 topwidth, u16 topheight, u16 botwidth, u16 botheight);
void sm510_dualv(machine_config &config, u16 topwidth, u16 topheight, u16 botwidth, u16 botheight);
void sm511_dualv(machine_config &config, u16 topwidth, u16 topheight, u16 botwidth, u16 botheight);

View File

@ -0,0 +1,35 @@
<?xml version="1.0"?>
<!--
license:CC0-1.0
authors:hap
-->
<mamelayout version="2">
<element name="lcdm"><rect><color red="0.7" green="0.71" blue="0.72" /></rect></element>
<view name="LCD 0 Pixel Aspect (~scr0nativexaspect~:~scr0nativeyaspect~)">
<screen index="0"><bounds left="0" top="0" right="~scr0width~" bottom="~scr0height~" /></screen>
<element ref="lcdm" blend="multiply"><bounds left="0" top="0" right="~scr0width~" bottom="~scr0height~" /></element>
</view>
<view name="LCD 1 Pixel Aspect (~scr1nativexaspect~:~scr1nativeyaspect~)">
<screen index="1"><bounds left="0" top="0" right="~scr1width~" bottom="~scr1height~" /></screen>
<element ref="lcdm" blend="multiply"><bounds left="0" top="0" right="~scr1width~" bottom="~scr1height~" /></element>
</view>
<view name="LCD 2 Pixel Aspect (~scr2nativexaspect~:~scr2nativeyaspect~)">
<screen index="1"><bounds left="0" top="0" right="~scr2width~" bottom="~scr2height~" /></screen>
<element ref="lcdm" blend="multiply"><bounds left="0" top="0" right="~scr2width~" bottom="~scr2height~" /></element>
</view>
<!-- can't do a view with gaps -->
<view name="LCD Triple Side-by-Side (Gapless)">
<screen index="0"><bounds x="-~scr0width~" y="0" width="~scr0width~" height="~scr0height~" /></screen>
<element ref="lcdm" blend="multiply"><bounds x="-~scr0width~" y="0" width="~scr0width~" height="~scr0height~" /></element>
<screen index="1"><bounds x="0" y="0" width="~scr1width~" height="~scr1height~" /></screen>
<element ref="lcdm" blend="multiply"><bounds x="0" y="0" width="~scr1width~" height="~scr1height~" /></element>
<screen index="2"><bounds x="~scr1width~" y="0" width="~scr2width~" height="~scr2height~" /></screen>
<element ref="lcdm" blend="multiply"><bounds x="~scr1width~" y="0" width="~scr2width~" height="~scr2height~" /></element>
</view>
</mamelayout>