mirror of
https://github.com/holub/mame
synced 2025-10-05 16:50:57 +03:00
stratos: add glitchy lcd dmd (nw)
This commit is contained in:
parent
f9a36acad2
commit
5d179088fb
@ -316,5 +316,5 @@ ROM_END
|
||||
******************************************************************************/
|
||||
|
||||
/* YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS */
|
||||
CONS( 1988, corona, 0, 0, corona, corona, corona_state, empty_init, "Saitek", "Kasparov Corona (ver. D+)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK ) // aka Corona II
|
||||
CONS( 1988, coronaa, corona, 0, corona, corona, corona_state, empty_init, "Saitek", "Kasparov Corona (ver. D)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1990, corona, 0, 0, corona, corona, corona_state, empty_init, "Saitek", "Kasparov Corona (ver. D+)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK ) // aka Corona II
|
||||
CONS( 1988, coronaa, corona, 0, corona, corona, corona_state, empty_init, "Saitek", "Kasparov Corona (ver. C)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
@ -2,7 +2,7 @@
|
||||
// copyright-holders:Olivier Galibert, hap
|
||||
/***************************************************************************
|
||||
|
||||
SciSys/Saitek Stratos chesscomputer family (1986-1990)
|
||||
SciSys/Saitek Stratos chesscomputer family (1987-1990)
|
||||
(SciSys renamed themselves to Saitek in 1987)
|
||||
|
||||
- Stratos
|
||||
@ -36,9 +36,12 @@ they're the same chess engine as later Saitek modules, such as the Analyst modul
|
||||
Likewise, officially there isn't a "Turbo King II" or "Corona II", these 'sequels' are titled
|
||||
as such by the chesscomputer community. Saitek simply advertised them as an improved program.
|
||||
|
||||
The initial Stratos/Turbo King (PRG ROM labels known: M,K,L,P) are probably engine version B,
|
||||
very few bytes difference between revisions. The first Corona is engine version C.
|
||||
|
||||
TODO:
|
||||
- emulate LCD at lower level, probably an MCU with embedded LCDC
|
||||
- add LCD 7*7 DMD, it's in m_lcd_data[0x30 to 0x3b] but scrambled
|
||||
- fix LCD 7*7 DMD, it's in m_lcd_data[0x30 to 0x3b] but scrambled
|
||||
- tking different internal artwork
|
||||
- irq timing is derived from the main XTAL, but result should be similar with 5MHz and 5.67MHz,
|
||||
there are a couple of "FREQ. SEL" nodes on the PCB, maybe related (not the ones in input ports)
|
||||
@ -251,7 +254,7 @@ void saitek_stratos_state::update_lcd()
|
||||
for (int j = 0; j < 4; j++)
|
||||
m_out_lcd[i >> 4][i & 0xf][j] = BIT(m_lcd_data[i], j);
|
||||
|
||||
m_out_digit[0] = 0; // where?
|
||||
m_out_digit[0] = (m_lcd_data[0] & 4) ? 6 : 0; // "1"
|
||||
|
||||
// upper digits (colon is at 0x00)
|
||||
for (int i = 0; i < 4; i++)
|
||||
@ -565,9 +568,9 @@ ROM_END
|
||||
******************************************************************************/
|
||||
|
||||
/* YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS */
|
||||
CONS( 1986, stratos, 0, 0, stratos, stratos, stratos_state, empty_init, "SciSys", "Kasparov Stratos (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1986, stratosa, stratos, 0, stratos, stratos, stratos_state, empty_init, "SciSys", "Kasparov Stratos (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1987, stratos, 0, 0, stratos, stratos, stratos_state, empty_init, "SciSys", "Kasparov Stratos (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1987, stratosa, stratos, 0, stratos, stratos, stratos_state, empty_init, "SciSys", "Kasparov Stratos (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
||||
CONS( 1988, tking, 0, 0, tking2, tking2, stratos_state, empty_init, "Saitek", "Kasparov Turbo King (set 1, ver. D)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK ) // aka Turbo King II
|
||||
CONS( 1988, tkinga, tking, 0, stratos, stratos, stratos_state, empty_init, "Saitek", "Kasparov Turbo King (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK ) // oldest?
|
||||
CONS( 1988, tkingb, tking, 0, stratos, stratos, stratos_state, empty_init, "Saitek", "Kasparov Turbo King (set 3)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1990, tking, 0, 0, tking2, tking2, stratos_state, empty_init, "Saitek", "Kasparov Turbo King (ver. D)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK ) // aka Turbo King II
|
||||
CONS( 1988, tkinga, tking, 0, stratos, stratos, stratos_state, empty_init, "Saitek", "Kasparov Turbo King (ver. B, set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1988, tkingb, tking, 0, stratos, stratos, stratos_state, empty_init, "Saitek", "Kasparov Turbo King (ver. B, set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
@ -517,6 +517,66 @@
|
||||
<bezel name="lcd1.0.0" element="ldot"><bounds x="28.69" y="11.65" width="0.6" height="0.6" /></bezel>
|
||||
</group>
|
||||
|
||||
<group name="lcd2">
|
||||
<bounds x="0" y="0" width="6.6" height="6.6" />
|
||||
|
||||
<bezel name="lcd3.11.2" element="ldot"><bounds x="0" y="0" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.11.3" element="ldot"><bounds x="1" y="0" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.11.1" element="ldot"><bounds x="2" y="0" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.0.3" element="ldot"><bounds x="3" y="0" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.0.0" element="ldot"><bounds x="4" y="0" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.0.1" element="ldot"><bounds x="5" y="0" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.0.2" element="ldot"><bounds x="6" y="0" width="0.6" height="0.6" /></bezel>
|
||||
|
||||
<bezel name="lcd3.10.2" element="ldot"><bounds x="0" y="1" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.10.3" element="ldot"><bounds x="1" y="1" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.10.1" element="ldot"><bounds x="2" y="1" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.1.3" element="ldot"><bounds x="3" y="1" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.1.0" element="ldot"><bounds x="4" y="1" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.1.1" element="ldot"><bounds x="5" y="1" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.1.2" element="ldot"><bounds x="6" y="1" width="0.6" height="0.6" /></bezel>
|
||||
|
||||
<bezel name="lcd3.9.2" element="ldot"><bounds x="0" y="2" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.9.3" element="ldot"><bounds x="1" y="2" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.9.1" element="ldot"><bounds x="2" y="2" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.2.3" element="ldot"><bounds x="3" y="2" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.5.3" element="ldot"><bounds x="4" y="2" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.4.3" element="ldot"><bounds x="5" y="2" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.3.3" element="ldot"><bounds x="6" y="2" width="0.6" height="0.6" /></bezel>
|
||||
|
||||
<bezel name="lcd3.8.2" element="ldot"><bounds x="0" y="3" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.8.3" element="ldot"><bounds x="1" y="3" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.8.1" element="ldot"><bounds x="2" y="3" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.2.0" element="ldot"><bounds x="3" y="3" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.5.0" element="ldot"><bounds x="4" y="3" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.4.0" element="ldot"><bounds x="5" y="3" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.3.0" element="ldot"><bounds x="6" y="3" width="0.6" height="0.6" /></bezel>
|
||||
|
||||
<bezel name="lcd3.7.2" element="ldot"><bounds x="0" y="4" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.7.3" element="ldot"><bounds x="1" y="4" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.7.1" element="ldot"><bounds x="2" y="4" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.2.1" element="ldot"><bounds x="3" y="4" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.5.1" element="ldot"><bounds x="4" y="4" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.4.1" element="ldot"><bounds x="5" y="4" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.3.1" element="ldot"><bounds x="6" y="4" width="0.6" height="0.6" /></bezel>
|
||||
|
||||
<bezel name="lcd3.6.2" element="ldot"><bounds x="0" y="5" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.6.3" element="ldot"><bounds x="1" y="5" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.6.1" element="ldot"><bounds x="2" y="5" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.2.2" element="ldot"><bounds x="3" y="5" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.5.2" element="ldot"><bounds x="4" y="5" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.4.2" element="ldot"><bounds x="5" y="5" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.3.2" element="ldot"><bounds x="6" y="5" width="0.6" height="0.6" /></bezel>
|
||||
|
||||
<bezel name="lcd3.11.0" element="ldot"><bounds x="0" y="6" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.10.0" element="ldot"><bounds x="1" y="6" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.9.0" element="ldot"><bounds x="2" y="6" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.8.0" element="ldot"><bounds x="3" y="6" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.7.0" element="ldot"><bounds x="4" y="6" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.6.0" element="ldot"><bounds x="5" y="6" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd?.?.?" element="ldot"><bounds x="6" y="6" width="0.6" height="0.6" /></bezel>
|
||||
</group>
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
@ -527,7 +587,8 @@
|
||||
<group ref="sb_ui"><bounds x="-1.5" y="10" width="10" height="80" /></group>
|
||||
|
||||
<group ref="lcd1"><bounds x="26.64" y="92" width="12.86" height="8" /></group>
|
||||
<bezel element="whitew"><bounds x="25.14" y="91.5" width="14.86" height="9" /><color alpha="0.125" /></bezel>
|
||||
<group ref="lcd2"><bounds x="25.14" y="96.5714" width="3.42857" height="3.42857" /></group>
|
||||
<bezel element="whitew"><bounds x="24.64" y="91.5" width="15.36" height="9" /><color alpha="0.125" /></bezel>
|
||||
|
||||
<!-- button panel -->
|
||||
<element ref="black"><bounds x="92.5" y="40.5" width="9" height="0.25" /></element>
|
||||
|
@ -496,6 +496,66 @@
|
||||
<bezel name="lcd1.0.0" element="ldot"><bounds x="28.69" y="11.65" width="0.6" height="0.6" /></bezel>
|
||||
</group>
|
||||
|
||||
<group name="lcd2">
|
||||
<bounds x="0" y="0" width="6.6" height="6.6" />
|
||||
|
||||
<bezel name="lcd3.11.2" element="ldot"><bounds x="0" y="0" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.11.3" element="ldot"><bounds x="1" y="0" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.11.1" element="ldot"><bounds x="2" y="0" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.0.3" element="ldot"><bounds x="3" y="0" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.0.0" element="ldot"><bounds x="4" y="0" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.0.1" element="ldot"><bounds x="5" y="0" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.0.2" element="ldot"><bounds x="6" y="0" width="0.6" height="0.6" /></bezel>
|
||||
|
||||
<bezel name="lcd3.10.2" element="ldot"><bounds x="0" y="1" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.10.3" element="ldot"><bounds x="1" y="1" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.10.1" element="ldot"><bounds x="2" y="1" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.1.3" element="ldot"><bounds x="3" y="1" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.1.0" element="ldot"><bounds x="4" y="1" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.1.1" element="ldot"><bounds x="5" y="1" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.1.2" element="ldot"><bounds x="6" y="1" width="0.6" height="0.6" /></bezel>
|
||||
|
||||
<bezel name="lcd3.9.2" element="ldot"><bounds x="0" y="2" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.9.3" element="ldot"><bounds x="1" y="2" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.9.1" element="ldot"><bounds x="2" y="2" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.2.3" element="ldot"><bounds x="3" y="2" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.5.3" element="ldot"><bounds x="4" y="2" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.4.3" element="ldot"><bounds x="5" y="2" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.3.3" element="ldot"><bounds x="6" y="2" width="0.6" height="0.6" /></bezel>
|
||||
|
||||
<bezel name="lcd3.8.2" element="ldot"><bounds x="0" y="3" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.8.3" element="ldot"><bounds x="1" y="3" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.8.1" element="ldot"><bounds x="2" y="3" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.2.0" element="ldot"><bounds x="3" y="3" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.5.0" element="ldot"><bounds x="4" y="3" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.4.0" element="ldot"><bounds x="5" y="3" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.3.0" element="ldot"><bounds x="6" y="3" width="0.6" height="0.6" /></bezel>
|
||||
|
||||
<bezel name="lcd3.7.2" element="ldot"><bounds x="0" y="4" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.7.3" element="ldot"><bounds x="1" y="4" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.7.1" element="ldot"><bounds x="2" y="4" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.2.1" element="ldot"><bounds x="3" y="4" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.5.1" element="ldot"><bounds x="4" y="4" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.4.1" element="ldot"><bounds x="5" y="4" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.3.1" element="ldot"><bounds x="6" y="4" width="0.6" height="0.6" /></bezel>
|
||||
|
||||
<bezel name="lcd3.6.2" element="ldot"><bounds x="0" y="5" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.6.3" element="ldot"><bounds x="1" y="5" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.6.1" element="ldot"><bounds x="2" y="5" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.2.2" element="ldot"><bounds x="3" y="5" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.5.2" element="ldot"><bounds x="4" y="5" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.4.2" element="ldot"><bounds x="5" y="5" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.3.2" element="ldot"><bounds x="6" y="5" width="0.6" height="0.6" /></bezel>
|
||||
|
||||
<bezel name="lcd3.11.0" element="ldot"><bounds x="0" y="6" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.10.0" element="ldot"><bounds x="1" y="6" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.9.0" element="ldot"><bounds x="2" y="6" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.8.0" element="ldot"><bounds x="3" y="6" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.7.0" element="ldot"><bounds x="4" y="6" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd3.6.0" element="ldot"><bounds x="5" y="6" width="0.6" height="0.6" /></bezel>
|
||||
<bezel name="lcd?.?.?" element="ldot"><bounds x="6" y="6" width="0.6" height="0.6" /></bezel>
|
||||
</group>
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
@ -506,7 +566,8 @@
|
||||
<group ref="sb_ui"><bounds x="-3" y="10" width="10" height="80" /></group>
|
||||
|
||||
<group ref="lcd1"><bounds x="26.64" y="93" width="12.86" height="8" /></group>
|
||||
<bezel element="whitew"><bounds x="25.14" y="92.5" width="14.86" height="9" /><color alpha="0.125" /></bezel>
|
||||
<group ref="lcd2"><bounds x="25.14" y="97.5714" width="3.42857" height="3.42857" /></group>
|
||||
<bezel element="whitew"><bounds x="24.64" y="92.5" width="15.36" height="9" /><color alpha="0.125" /></bezel>
|
||||
|
||||
<!-- chessboard leds -->
|
||||
<element ref="ledo"><bounds x="8.6" y="14.15" width="0.7" height="1.8" /></element>
|
||||
|
Loading…
Reference in New Issue
Block a user