ssystem3: making it more doable to add chessengine plugin (nw)

This commit is contained in:
hap 2019-08-25 15:53:05 +02:00
parent 0fba85c6a5
commit 45ffa4d01d
2 changed files with 23 additions and 35 deletions

View File

@ -200,13 +200,17 @@ WRITE8_MEMBER(ssystem3_state::control_w)
if (data & ~m_control & 4)
{
m_shift = m_shift << 1 | m_lcd->do_r();
u64 out2 = m_shift | 0x100;
u8 out2 = m_shift;
// weird TTL maze, I assume it's a hw kludge to fix a bug after the maskroms were already manufactured
if (BIT(m_shift, 3) & ~(BIT(m_shift, 1) ^ BIT(m_shift, 4)) & ~(BIT(m_lcd_q, 7) & BIT(m_lcd_q, 23)))
out2 ^= 0x12;
m_display->matrix(1, out2 << 32 | m_lcd_q);
// update display
for (int i = 0; i < 4; i++)
m_display->write_row(i, m_lcd_q >> (8*i) & 0xff);
m_display->write_row(4, out2 | 0x100);
m_display->update();
}
// PB3: device serial out
@ -312,8 +316,10 @@ void ssystem3_state::ssystem3(machine_config &config)
screen.set_size(1920/2, 729/2);
screen.set_visarea_full();
PWM_DISPLAY(config, m_display).set_size(1, 32+8+1);
PWM_DISPLAY(config, m_display).set_size(5, 9);
m_display->set_segmask(0xf, 0x7f);
m_display->set_bri_levels(0.25);
config.set_default_layout(layout_saitek_ssystem3);
/* sound hardware */
@ -339,8 +345,8 @@ ROM_START( ssystem3 )
ROM_REGION( 0x100, "nvram", 0 ) // default settings
ROM_LOAD( "nvram", 0, 0x100, CRC(b5dddc7b) SHA1(3be9ec8359cc9ef16a04f28dfd24f9ffe1a2fca9) )
ROM_REGION( 53511, "screen", 0)
ROM_LOAD( "ssystem3.svg", 0, 53511, CRC(a2820cc8) SHA1(2e922bb2d4a244931c1e7dafa84910dee5ab2623) )
ROM_REGION( 53469, "screen", 0)
ROM_LOAD( "ssystem3.svg", 0, 53469, CRC(0479eac3) SHA1(6f26c8dfab2c8456cf576ea4ca6ab7a8445bf5e5) )
ROM_END
} // anonymous namespace

View File

@ -100,30 +100,12 @@
<text string="Black"><color red="0.01" green="0.01" blue="0.01" /></text>
</element>
<element name="text_p1">
<rect><color red="0.7" green="0.7" blue="0.7" /></rect>
<text string="[K]"><color red="0.01" green="0.01" blue="0.01" /></text>
</element>
<element name="text_p2">
<rect><color red="0.7" green="0.7" blue="0.7" /></rect>
<text string="[Q]"><color red="0.01" green="0.01" blue="0.01" /></text>
</element>
<element name="text_p3">
<rect><color red="0.7" green="0.7" blue="0.7" /></rect>
<text string="[R]"><color red="0.01" green="0.01" blue="0.01" /></text>
</element>
<element name="text_p4">
<rect><color red="0.7" green="0.7" blue="0.7" /></rect>
<text string="[B]"><color red="0.01" green="0.01" blue="0.01" /></text>
</element>
<element name="text_p5">
<rect><color red="0.7" green="0.7" blue="0.7" /></rect>
<text string="[N]"><color red="0.01" green="0.01" blue="0.01" /></text>
</element>
<element name="text_p6">
<rect><color red="0.7" green="0.7" blue="0.7" /></rect>
<text string="[P]"><color red="0.01" green="0.01" blue="0.01" /></text>
</element>
<element name="text_p1"><image file="chess/bk.png"><color alpha="0.83" /></image></element>
<element name="text_p2"><image file="chess/bq.png"><color alpha="0.83" /></image></element>
<element name="text_p3"><image file="chess/br.png"><color alpha="0.83" /></image></element>
<element name="text_p4"><image file="chess/bb.png"><color alpha="0.83" /></image></element>
<element name="text_p5"><image file="chess/bn.png"><color alpha="0.83" /></image></element>
<element name="text_p6"><image file="chess/bp.png"><color alpha="0.83" /></image></element>
<element name="text_b1"><text string="Set up"><color red="0.8" green="0.8" blue="0.8" /></text></element>
<element name="text_b2"><text string="New Game"><color red="0.8" green="0.8" blue="0.8" /></text></element>
@ -470,42 +452,42 @@
<bezel element="blackb"><bounds x="20.5" y="89.5" width="7" height="8.4" /></bezel>
<bezel name="8.1" element="led2"><bounds x="23.25" y="90" width="1.5" height="1.5" /></bezel>
<bezel element="white"><bounds x="21" y="91.8" width="6" height="2" /></bezel>
<bezel element="text_p1"><bounds x="21" y="91.9" width="6" height="1.5" /></bezel>
<bezel element="text_p1"><bounds x="23" y="91.8" width="2" height="2" /></bezel>
<bezel element="butr" inputtag="IN.0" inputmask="0x02"><bounds x="21" y="94.3" width="6" height="2" /></bezel>
<bezel element="white"><bounds x="28.2" y="89.2" width="7.6" height="9" /></bezel>
<bezel element="blackb"><bounds x="28.5" y="89.5" width="7" height="8.4" /></bezel>
<bezel name="8.2" element="led2"><bounds x="31.25" y="90" width="1.5" height="1.5" /></bezel>
<bezel element="white"><bounds x="29" y="91.8" width="6" height="2" /></bezel>
<bezel element="text_p2"><bounds x="29" y="91.9" width="6" height="1.5" /></bezel>
<bezel element="text_p2"><bounds x="31" y="91.8" width="2" height="2" /></bezel>
<bezel element="butr" inputtag="IN.0" inputmask="0x04"><bounds x="29" y="94.3" width="6" height="2" /></bezel>
<bezel element="white"><bounds x="36.2" y="89.2" width="7.6" height="9" /></bezel>
<bezel element="blackb"><bounds x="36.5" y="89.5" width="7" height="8.4" /></bezel>
<bezel name="8.3" element="led2"><bounds x="39.25" y="90" width="1.5" height="1.5" /></bezel>
<bezel element="white"><bounds x="37" y="91.8" width="6" height="2" /></bezel>
<bezel element="text_p3"><bounds x="37" y="91.9" width="6" height="1.5" /></bezel>
<bezel element="text_p3"><bounds x="39" y="91.8" width="2" height="2" /></bezel>
<bezel element="butr" inputtag="IN.0" inputmask="0x08"><bounds x="37" y="94.3" width="6" height="2" /></bezel>
<bezel element="white"><bounds x="20.2" y="98.7" width="7.6" height="9" /></bezel>
<bezel element="blackb"><bounds x="20.5" y="99" width="7" height="8.4" /></bezel>
<bezel name="8.4" element="led2"><bounds x="23.25" y="99.5" width="1.5" height="1.5" /></bezel>
<bezel element="white"><bounds x="21" y="101.3" width="6" height="2" /></bezel>
<bezel element="text_p4"><bounds x="21" y="101.4" width="6" height="1.5" /></bezel>
<bezel element="text_p4"><bounds x="23" y="101.3" width="2" height="2" /></bezel>
<bezel element="butr" inputtag="IN.0" inputmask="0x10"><bounds x="21" y="103.8" width="6" height="2" /></bezel>
<bezel element="white"><bounds x="28.2" y="98.7" width="7.6" height="9" /></bezel>
<bezel element="blackb"><bounds x="28.5" y="99" width="7" height="8.4" /></bezel>
<bezel name="8.5" element="led2"><bounds x="31.25" y="99.5" width="1.5" height="1.5" /></bezel>
<bezel element="white"><bounds x="29" y="101.3" width="6" height="2" /></bezel>
<bezel element="text_p5"><bounds x="29" y="101.4" width="6" height="1.5" /></bezel>
<bezel element="text_p5"><bounds x="31" y="101.3" width="2" height="2" /></bezel>
<bezel element="butr" inputtag="IN.0" inputmask="0x20"><bounds x="29" y="103.8" width="6" height="2" /></bezel>
<bezel element="white"><bounds x="36.2" y="98.7" width="7.6" height="9" /></bezel>
<bezel element="blackb"><bounds x="36.5" y="99" width="7" height="8.4" /></bezel>
<bezel name="8.6" element="led2"><bounds x="39.25" y="99.5" width="1.5" height="1.5" /></bezel>
<bezel element="white"><bounds x="37" y="101.3" width="6" height="2" /></bezel>
<bezel element="text_p6"><bounds x="37" y="101.4" width="6" height="1.5" /></bezel>
<bezel element="text_p6"><bounds x="39" y="101.3" width="2" height="2" /></bezel>
<bezel element="butr" inputtag="IN.0" inputmask="0x40"><bounds x="37" y="103.8" width="6" height="2" /></bezel>
<bezel element="white"><bounds x="46.5" y="89.2" width="7" height="9" /></bezel>