diff options
author | 2017-05-26 17:35:04 +0200 | |
---|---|---|
committer | 2017-05-26 17:35:04 +0200 | |
commit | 2d5bb2dc20176f765a5fb7f1e59ff4e27a41e34e (patch) | |
tree | 970d01003a218697f02f1c63cc3434c58b747eb2 | |
parent | 763ea8412b5754a18fa04f1e9d8ad60e6a08c4ae (diff) |
New working clone added
----------
Speak & Spell (Spanish, prototype) [hap, Sean Riddle, David Viens]
-rw-r--r-- | src/devices/sound/tms5110r.hxx | 2 | ||||
-rw-r--r-- | src/lib/util/unicode.h | 2 | ||||
-rw-r--r-- | src/mame/drivers/hh_tms1k.cpp | 3 | ||||
-rw-r--r-- | src/mame/drivers/tispeak.cpp | 117 | ||||
-rw-r--r-- | src/mame/layout/snread.lay (renamed from src/mame/layout/lantutor.lay) | 2 | ||||
-rw-r--r-- | src/mame/layout/snspell.lay | 2 | ||||
-rw-r--r-- | src/mame/layout/snspellsp.lay | 59 | ||||
-rw-r--r-- | src/mame/mame.lst | 1 |
8 files changed, 168 insertions, 20 deletions
diff --git a/src/devices/sound/tms5110r.hxx b/src/devices/sound/tms5110r.hxx index 9547427e86c..8f6bfa27a4b 100644 --- a/src/devices/sound/tms5110r.hxx +++ b/src/devices/sound/tms5110r.hxx @@ -53,7 +53,7 @@ VVVVVV VVVVV T0280A 0281 = 1978 speak & spell, unknown difference to below, assumed same? uses old chirp T0280B 0281A = 1979 speak & spell, also == TMS5100, uses old chirp - ?????? ????? (no decap; likely 'T0280D 0281D') = 1980 speak & spell, 1981 speak & spell compact, changed energy table, otherwise same as above, uses old chirp + T0280F 0281D = 1980 speak & spell, 1981 speak & spell compact, changed energy table, otherwise same as above, uses old chirp T0280F 2801A = 1980 speak & math, 1980 speak and read, uses old chirp T0280F 2802 = touch and tell, language translator; uses a unique chirp rom. ?????? ????? = TMS5110 diff --git a/src/lib/util/unicode.h b/src/lib/util/unicode.h index 189aa877d29..8a1180dcc92 100644 --- a/src/lib/util/unicode.h +++ b/src/lib/util/unicode.h @@ -60,12 +60,14 @@ #define o_UMLAUT "\xc3\xb6" /* small o with an umlaut */ #define u_UMLAUT "\xc3\xbc" /* small u with an umlaut */ #define e_ACUTE "\xc3\xa9" /* small e with an acute */ +#define n_TILDE "\xc3\xb1" /* small n with a tilde */ #define A_RING "\xc3\x85" /* capital A with a ring */ #define A_UMLAUT "\xc3\x84" /* capital A with an umlaut */ #define O_UMLAUT "\xc3\x96" /* capital O with an umlaut */ #define U_UMLAUT "\xc3\x9c" /* capital U with an umlaut */ #define E_ACUTE "\xc3\x89" /* capital E with an acute */ +#define N_TILDE "\xc3\x91" /* capital N with a tilde */ #define UTF8_LEFT "\xe2\x86\x90" /* cursor left */ #define UTF8_RIGHT "\xe2\x86\x92" /* cursor right */ diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp index 9eff9992015..fd411b96e17 100644 --- a/src/mame/drivers/hh_tms1k.cpp +++ b/src/mame/drivers/hh_tms1k.cpp @@ -65,7 +65,8 @@ @MP3301A TMS1000 1979, Milton Bradley Big Trak *MP3320A TMS1000 1979, Coleco Head to Head Basketball @M32001 TMS1000 1981, Coleco Quiz Wiz Challenger (note: MP3398, MP3399, M3200x?) - *M32018 TMS1000 1990, unknown device, decap/dump is available + *M32018 TMS1000 1990, unknown device (have decap/dump) + *M32045B TMS1000 1983, Chrysler Electronic Voice Alert (11-function) (have decap/dump) @MP3403 TMS1100 1978, Marx Electronic Bowling @MP3404 TMS1100 1978, Parker Brothers Merlin @MP3405 TMS1100 1979, Coleco Amaze-A-Tron diff --git a/src/mame/drivers/tispeak.cpp b/src/mame/drivers/tispeak.cpp index e17c4329115..9f2c101a98a 100644 --- a/src/mame/drivers/tispeak.cpp +++ b/src/mame/drivers/tispeak.cpp @@ -80,11 +80,11 @@ above expectations. TI continued to manufacture many products for this line. - VFD: some seen with the one from Speak & Math(!) - notes: this one has a dedicated voice actor - Speak & Spell (Spanish), 1981 - - MCU: CD2701N2L* + Speak & Spell (Spanish, prototype), 1981 + - MCU: CD2701N2L P (die label T0270D 2701) - TMS51xx: TMC0281 - - VSM(1/2): 16KB? CD2319* - - VSM(2/2): 16KB? CD2320* + - VSM(1/2): 16KB CD2319 + - VSM(2/2): 16KB CD2320 - VFD: 8 digits with 14 segments, DP and accent mark Speak & Spell (France) "La Dictee Magique", 1980 @@ -411,9 +411,10 @@ K28 modules: // internal artwork #include "k28m2.lh" -#include "lantutor.lh" #include "snmath.lh" +#include "snread.lh" #include "snspell.lh" +#include "snspellsp.lh" #include "tntell.lh" // keyboard overlay // The master clock is a single stage RC oscillator into TMS5100 RCOSC: @@ -810,7 +811,7 @@ static INPUT_PORTS_START( snspellfr ) // French button names PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_ENTER) PORT_NAME("Essaie") PORT_MODIFY("IN.7") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("Arr" e_ACUTE "t") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("Arr" e_ACUTE "t") // -> auto_power_off PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_HOME) PORT_NAME("D" e_ACUTE "part") PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_NAME("Rejoue") PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3) PORT_NAME("Repete") @@ -833,7 +834,7 @@ static INPUT_PORTS_START( snspellit ) // Italian button names PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_ENTER) PORT_NAME("Controllo") PORT_MODIFY("IN.7") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("Stop") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("Stop") // -> auto_power_off PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_HOME) PORT_NAME("Via") PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_NAME("Ritorno") PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_3) PORT_NAME("Replica") @@ -847,6 +848,67 @@ static INPUT_PORTS_START( snspellit ) // Italian button names PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_PGUP) PORT_NAME("Scrivi") PORT_CHANGED_MEMBER(DEVICE_SELF, tispeak_state, power_button, (void *)true) INPUT_PORTS_END +static INPUT_PORTS_START( snspellsp ) // Spanish button names, different alphabet + PORT_START("IN.0") // R0 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_CHAR('A') + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_B) PORT_CHAR('B') + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_C) PORT_CHAR('C') + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COMMA) PORT_NAME("CH") + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_D) PORT_CHAR('D') + + PORT_START("IN.1") // R1 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_E) PORT_CHAR('E') + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_CHAR('F') + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_G) PORT_CHAR('G') + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_H) PORT_CHAR('H') + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_I) PORT_CHAR('I') + + PORT_START("IN.2") // R2 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_J) PORT_CHAR('J') + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_K) PORT_CHAR('K') + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_L) PORT_CHAR('L') + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_STOP) PORT_NAME("LL") + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_M) PORT_CHAR('M') + + PORT_START("IN.3") // R3 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_N) PORT_CHAR('N') + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_COLON) PORT_NAME(N_TILDE) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_O) PORT_CHAR('O') + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_P) PORT_CHAR('P') + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Q) PORT_CHAR('Q') + + PORT_START("IN.4") // R4 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) PORT_CHAR('R') + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_SLASH) PORT_NAME("RR") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_CHAR('S') + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_T) PORT_CHAR('T') + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_U) PORT_CHAR('U') + + PORT_START("IN.5") // R5 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_V) PORT_CHAR('V') + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_X) PORT_CHAR('X') + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Y) PORT_CHAR('Y') + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_Z) PORT_CHAR('Z') + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_ENTER) PORT_NAME("Entra") + + PORT_START("IN.6") // R6 + PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("IN.7") // R7 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR('\'') PORT_NAME("Acento") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_HOME) PORT_NAME("Listo") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_2) PORT_NAME("Programa") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_BACKSPACE) PORT_NAME("Borra") + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_4) PORT_NAME("Repite") + + PORT_START("IN.8") // Vss! + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_5) PORT_NAME("Otra Vez") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_6) PORT_NAME("Palabra Secreta") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_7) PORT_NAME("Dilo") + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("Off") // -> auto_power_off + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_PGUP) PORT_NAME("Deletrea/On") PORT_CHANGED_MEMBER(DEVICE_SELF, tispeak_state, power_button, (void *)true) +INPUT_PORTS_END + static INPUT_PORTS_START( snmath ) PORT_START("IN.0") // R0 @@ -1235,6 +1297,12 @@ static MACHINE_CONFIG_DERIVED( sns_cd2801, snmath ) MCFG_SOFTWARE_LIST_ADD("cart_list", "snspell") MACHINE_CONFIG_END +static MACHINE_CONFIG_DERIVED( snspellit, sns_cd2801 ) + + /* basic machine hardware */ + MCFG_DEFAULT_LAYOUT(layout_snmath) +MACHINE_CONFIG_END + static MACHINE_CONFIG_DERIVED( sns_tmc0281, sns_cd2801 ) /* sound hardware */ @@ -1242,6 +1310,12 @@ static MACHINE_CONFIG_DERIVED( sns_tmc0281, sns_cd2801 ) MCFG_FRAGMENT_ADD(tms5110_route) MACHINE_CONFIG_END +static MACHINE_CONFIG_DERIVED( snspellsp, sns_tmc0281 ) + + /* basic machine hardware */ + MCFG_DEFAULT_LAYOUT(layout_snspellsp) +MACHINE_CONFIG_END + static MACHINE_CONFIG_DERIVED( sns_tmc0281d, sns_cd2801 ) /* sound hardware */ @@ -1249,12 +1323,6 @@ static MACHINE_CONFIG_DERIVED( sns_tmc0281d, sns_cd2801 ) MCFG_FRAGMENT_ADD(tms5110_route) MACHINE_CONFIG_END -static MACHINE_CONFIG_DERIVED( sns_cd2801_m, sns_cd2801 ) - - /* basic machine hardware */ - MCFG_DEFAULT_LAYOUT(layout_snmath) -MACHINE_CONFIG_END - static MACHINE_CONFIG_DERIVED( snread, snmath ) @@ -1262,7 +1330,7 @@ static MACHINE_CONFIG_DERIVED( snread, snmath ) MCFG_CPU_MODIFY("maincpu") MCFG_TMS1XXX_WRITE_O_CB(WRITE16(tispeak_state, snspell_write_o)) - MCFG_DEFAULT_LAYOUT(layout_lantutor) + MCFG_DEFAULT_LAYOUT(layout_snread) /* cartridge */ MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "snread") @@ -1280,7 +1348,7 @@ static MACHINE_CONFIG_DERIVED( lantutor, snmath ) MCFG_TMS1XXX_WRITE_O_CB(WRITE16(tispeak_state, snspell_write_o)) MCFG_TMS1XXX_WRITE_R_CB(WRITE16(tispeak_state, lantutor_write_r)) - MCFG_DEFAULT_LAYOUT(layout_lantutor) + MCFG_DEFAULT_LAYOUT(layout_snread) /* cartridge */ MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "lantutor") @@ -1500,6 +1568,22 @@ ROM_START( snspelljp ) ROM_LOAD( "cd2322.vsm", 0x4000, 0x4000, CRC(b6f4bba4) SHA1(65d686a9385b5ef3f080a5f47c6b2418bb9455b0) ) ROM_END +ROM_START( snspellsp ) + ROM_REGION( 0x1000, "maincpu", 0 ) + ROM_LOAD( "cd2701n2l_p", 0x0000, 0x1000, CRC(5230612a) SHA1(3ec75b207380af2efe84e865fe83ea29e79e8eea) ) + + ROM_REGION( 1246, "maincpu:ipla", 0 ) + ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) ) + ROM_REGION( 2127, "maincpu:mpla", 0 ) + ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) ) + ROM_REGION( 1246, "maincpu:opla", 0 ) + ROM_LOAD( "tms0270_cd2701_output.pla", 0, 1246, CRC(f26980bd) SHA1(8d0c98fe5240541cb53c1e1d14c2a4560e7a7f32) ) + + ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge + ROM_LOAD( "cd2319.vsm", 0x0000, 0x4000, CRC(f293ac2f) SHA1(6f941743efcc2f05e514ce07167c094c554dca5d) ) + ROM_LOAD( "cd2320.vsm", 0x4000, 0x4000, CRC(16b68766) SHA1(a9ea335b4487cc333268bfd2e71428258968461d) ) +ROM_END + ROM_START( snspellfr ) ROM_REGION( 0x1000, "maincpu", 0 ) ROM_LOAD( "cd2702an2l", 0x0000, 0x1000, CRC(895d6a4e) SHA1(a8bc118c83a84260033734191dcaa71a93dfa52b) ) @@ -1747,8 +1831,9 @@ COMP( 1978, snspellua, snspell, 0, sns_tmc0281, snspell, tispeak_state, sn COMP( 1978, snspelluk, snspell, 0, sns_tmc0281, snspell, tispeak_state, snspell, "Texas Instruments", "Speak & Spell (UK, 1978 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) // " COMP( 1981, snspelluka, snspell, 0, sns_cd2801, snspell, tispeak_state, snspell, "Texas Instruments", "Speak & Spell (UK, 1981 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) COMP( 1979, snspelljp, snspell, 0, sns_tmc0281, snspell, tispeak_state, snspell, "Texas Instruments", "Speak & Spell (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) +COMP( 1981, snspellsp, snspell, 0, snspellsp, snspellsp, tispeak_state, snspell, "Texas Instruments", "Speak & Spell (Spanish, prototype)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) COMP( 1980, snspellfr, snspell, 0, sns_cd2801, snspellfr, tispeak_state, snspell, "Texas Instruments", "La Dictee Magique (France)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) -COMP( 1982, snspellit, snspell, 0, sns_cd2801_m, snspellit, tispeak_state, snspell, "Texas Instruments", "Grillo Parlante (Italy)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) +COMP( 1982, snspellit, snspell, 0, snspellit, snspellit, tispeak_state, snspell, "Texas Instruments", "Grillo Parlante (Italy)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) COMP( 1981, snspellc, 0, 0, snspellc, snspellc, tispeak_state, snspell, "Texas Instruments", "Speak & Spell Compact (US, 1981 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) COMP( 1982, snspellca, snspellc, 0, snspellc, snspellc, tispeak_state, snspell, "Texas Instruments", "Speak & Spell Compact (US, 1982 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) diff --git a/src/mame/layout/lantutor.lay b/src/mame/layout/snread.lay index f5d0d9c1b03..524a67a4257 100644 --- a/src/mame/layout/lantutor.lay +++ b/src/mame/layout/snread.lay @@ -18,7 +18,7 @@ <!-- build screen --> <view name="Internal Layout"> - <bounds left="0" right="111" top="0" bottom="19" /> + <bounds left="0" right="109" top="0" bottom="19" /> <!-- 10 digits (snread doesn't use the last digit) --> diff --git a/src/mame/layout/snspell.lay b/src/mame/layout/snspell.lay index 185868cce5a..bc128f0939a 100644 --- a/src/mame/layout/snspell.lay +++ b/src/mame/layout/snspell.lay @@ -25,7 +25,7 @@ <!-- build screen --> <view name="Internal Layout"> - <bounds left="0" right="89" top="0" bottom="15" /> + <bounds left="0" right="88.5" top="0" bottom="15" /> <!-- 8 digits --> diff --git a/src/mame/layout/snspellsp.lay b/src/mame/layout/snspellsp.lay new file mode 100644 index 00000000000..c45a8397a07 --- /dev/null +++ b/src/mame/layout/snspellsp.lay @@ -0,0 +1,59 @@ +<?xml version="1.0"?> +<mamelayout version="2"> + +<!-- define elements --> + +<!-- note: TI's alphanumeric 14seg digits look different from MAME's default, most notably the right half is wider --> + + <element name="digit" defstate="0"> + <led14seg><color red="0.2" green="1.0" blue="0.85" /></led14seg> + </element> + +<!-- add our own for DP(display point) and the custom triangle accent mark segments --> + + <element name="lamp_dp" defstate="0"> + <disk state="0"><color red="0.0235" green="0.1255" blue="0.1059" /></disk> + <disk state="1"><color red="0.2" green="1.0" blue="0.85" /></disk> + </element> + <element name="triangle_mark" defstate="0"> + <text state="0" string="▼"><color red="0.0235" green="0.1255" blue="0.1059" /></text> + <text state="1" string="▼"><color red="0.2" green="1.0" blue="0.85" /></text> + </element> + + +<!-- build screen --> + + <view name="Internal Layout"> + <bounds left="0" right="88.5" top="0" bottom="19" /> + + <!-- 8 digits with accent mark and dp --> + + <bezel name="digit0" element="digit"><bounds x="0" y="4" width="10" height="15" /></bezel> + <bezel name="digit1" element="digit"><bounds x="11" y="4" width="10" height="15" /></bezel> + <bezel name="digit2" element="digit"><bounds x="22" y="4" width="10" height="15" /></bezel> + <bezel name="digit3" element="digit"><bounds x="33" y="4" width="10" height="15" /></bezel> + <bezel name="digit4" element="digit"><bounds x="44" y="4" width="10" height="15" /></bezel> + <bezel name="digit5" element="digit"><bounds x="55" y="4" width="10" height="15" /></bezel> + <bezel name="digit6" element="digit"><bounds x="66" y="4" width="10" height="15" /></bezel> + <bezel name="digit7" element="digit"><bounds x="77" y="4" width="10" height="15" /></bezel> + + <bezel name="lamp14" element="triangle_mark"><bounds x="4" y="0" width="4" height="3" /></bezel> + <bezel name="lamp114" element="triangle_mark"><bounds x="15" y="0" width="4" height="3" /></bezel> + <bezel name="lamp214" element="triangle_mark"><bounds x="26" y="0" width="4" height="3" /></bezel> + <bezel name="lamp314" element="triangle_mark"><bounds x="37" y="0" width="4" height="3" /></bezel> + <bezel name="lamp414" element="triangle_mark"><bounds x="48" y="0" width="4" height="3" /></bezel> + <bezel name="lamp514" element="triangle_mark"><bounds x="59" y="0" width="4" height="3" /></bezel> + <bezel name="lamp614" element="triangle_mark"><bounds x="70" y="0" width="4" height="3" /></bezel> + <bezel name="lamp714" element="triangle_mark"><bounds x="81" y="0" width="4" height="3" /></bezel> + + <bezel name="lamp15" element="lamp_dp"><bounds x="9" y="17.5" width="1.5" height="1.5" /></bezel> + <bezel name="lamp115" element="lamp_dp"><bounds x="20" y="17.5" width="1.5" height="1.5" /></bezel> + <bezel name="lamp215" element="lamp_dp"><bounds x="31" y="17.5" width="1.5" height="1.5" /></bezel> + <bezel name="lamp315" element="lamp_dp"><bounds x="42" y="17.5" width="1.5" height="1.5" /></bezel> + <bezel name="lamp415" element="lamp_dp"><bounds x="53" y="17.5" width="1.5" height="1.5" /></bezel> + <bezel name="lamp515" element="lamp_dp"><bounds x="64" y="17.5" width="1.5" height="1.5" /></bezel> + <bezel name="lamp615" element="lamp_dp"><bounds x="75" y="17.5" width="1.5" height="1.5" /></bezel> + <bezel name="lamp715" element="lamp_dp"><bounds x="86" y="17.5" width="1.5" height="1.5" /></bezel> + + </view> +</mamelayout> diff --git a/src/mame/mame.lst b/src/mame/mame.lst index c673866f562..796293ebf51 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -36095,6 +36095,7 @@ snspellfr // snspellit // snspelljp // snspellp // +snspellsp // snspellua // snspellub // snspelluk // |