New working clones

------------------
Language Translator [hap, Sean Riddle, Darksoft]
This commit is contained in:
hap 2022-07-27 13:38:27 +02:00
parent c79330406b
commit 1f2f625ac1
9 changed files with 98 additions and 65 deletions

View File

@ -80,5 +80,4 @@ license:CC0
</part> </part>
</software> </software>
</softwarelist> </softwarelist>

View File

@ -4,14 +4,14 @@
license:CC0 license:CC0
--> -->
<softwarelist name="lantutor" description="Language Tutor modules"> <softwarelist name="lantrans" description="Language Translator modules">
<software name="ingles"> <software name="ingles">
<!-- speaks English, translates from/to: Spanish, French, German -->
<description>Ingles Britanico</description> <description>Ingles Britanico</description>
<year>1979</year> <year>1979</year>
<publisher>Texas Instruments</publisher> <publisher>Texas Instruments</publisher>
<part name="cart" interface="lantutor"> <part name="cart" interface="lantrans">
<dataarea name="rom" size="0x10000"> <dataarea name="rom" size="0x10000">
<rom name="cd2311.vsm" offset="0x0000" size="0x4000" crc="7bab7f7c" sha1="e89cfa7ae9d5ce09ff19b9474ecd70fb5982ccb9" /> <rom name="cd2311.vsm" offset="0x0000" size="0x4000" crc="7bab7f7c" sha1="e89cfa7ae9d5ce09ff19b9474ecd70fb5982ccb9" />
<rom name="cd2312.vsm" offset="0x4000" size="0x4000" crc="6acb9c72" sha1="09817f1e0b1683d90edada38ac70ce738af6417f" /> <rom name="cd2312.vsm" offset="0x4000" size="0x4000" crc="6acb9c72" sha1="09817f1e0b1683d90edada38ac70ce738af6417f" />
@ -22,10 +22,11 @@ license:CC0
</software> </software>
<software name="spanish"> <software name="spanish">
<!-- speaks Spanish, translates from/to: English, French, German -->
<description>Spanish</description> <description>Spanish</description>
<year>1979</year> <year>1979</year>
<publisher>Texas Instruments</publisher> <publisher>Texas Instruments</publisher>
<part name="cart" interface="lantutor"> <part name="cart" interface="lantrans">
<dataarea name="rom" size="0x10000"> <dataarea name="rom" size="0x10000">
<rom name="cd2315.vsm" offset="0x0000" size="0x4000" crc="cd44490f" sha1="7b62e9fb0cc30fa81c23ef3361bb579c8794f178" /> <rom name="cd2315.vsm" offset="0x0000" size="0x4000" crc="cd44490f" sha1="7b62e9fb0cc30fa81c23ef3361bb579c8794f178" />
<rom name="cd2316.vsm" offset="0x4000" size="0x4000" crc="c5464edf" sha1="0f028cb5e8445216dd45fa641e5751b08a637f5c" /> <rom name="cd2316.vsm" offset="0x4000" size="0x4000" crc="c5464edf" sha1="0f028cb5e8445216dd45fa641e5751b08a637f5c" />
@ -36,10 +37,11 @@ license:CC0
</software> </software>
<software name="french"> <software name="french">
<!-- speaks French, translates from/to: English, Spanish, German -->
<description>French</description> <description>French</description>
<year>1979</year> <year>1979</year>
<publisher>Texas Instruments</publisher> <publisher>Texas Instruments</publisher>
<part name="cart" interface="lantutor"> <part name="cart" interface="lantrans">
<dataarea name="rom" size="0x10000"> <dataarea name="rom" size="0x10000">
<rom name="cd2327.vsm" offset="0x0000" size="0x4000" crc="207aa27d" sha1="e5012c48b20f9b49a00f6fe8ee5719df1cbf04b4" /> <rom name="cd2327.vsm" offset="0x0000" size="0x4000" crc="207aa27d" sha1="e5012c48b20f9b49a00f6fe8ee5719df1cbf04b4" />
<rom name="cd2328.vsm" offset="0x4000" size="0x4000" crc="768980d0" sha1="085ba873c83d25790b090a9a8797183c6664d03c" /> <rom name="cd2328.vsm" offset="0x4000" size="0x4000" crc="768980d0" sha1="085ba873c83d25790b090a9a8797183c6664d03c" />
@ -50,10 +52,11 @@ license:CC0
</software> </software>
<software name="german"> <software name="german">
<!-- speaks German, translates from/to: French, Spanish, English -->
<description>German</description> <description>German</description>
<year>1979</year> <year>1979</year>
<publisher>Texas Instruments</publisher> <publisher>Texas Instruments</publisher>
<part name="cart" interface="lantutor"> <part name="cart" interface="lantrans">
<dataarea name="rom" size="0x10000"> <dataarea name="rom" size="0x10000">
<rom name="cd2331.vsm" offset="0x0000" size="0x4000" crc="a1e9290b" sha1="1163f7695e0727c6058684ea7f7c52d432f3fb7c" /> <rom name="cd2331.vsm" offset="0x0000" size="0x4000" crc="a1e9290b" sha1="1163f7695e0727c6058684ea7f7c52d432f3fb7c" />
<rom name="cd2332.vsm" offset="0x4000" size="0x4000" crc="b8ef4eed" sha1="0eccd98c81498caa166f7164c9563ef95412ffd7" /> <rom name="cd2332.vsm" offset="0x4000" size="0x4000" crc="b8ef4eed" sha1="0eccd98c81498caa166f7164c9563ef95412ffd7" />
@ -64,10 +67,11 @@ license:CC0
</software> </software>
<software name="english"> <software name="english">
<!-- speaks English, translates from/to: Swedish, Dutch, Italian -->
<description>English</description> <description>English</description>
<year>1980</year> <year>1980</year>
<publisher>Texas Instruments</publisher> <publisher>Texas Instruments</publisher>
<part name="cart" interface="lantutor"> <part name="cart" interface="lantrans">
<dataarea name="rom" size="0x10000"> <dataarea name="rom" size="0x10000">
<rom name="cd3526.vsm" offset="0x0000" size="0x4000" crc="58fae847" sha1="ee9c0f4dbd7101a1f8f276e60e77403d01a9b36f" /> <rom name="cd3526.vsm" offset="0x0000" size="0x4000" crc="58fae847" sha1="ee9c0f4dbd7101a1f8f276e60e77403d01a9b36f" />
<rom name="cd3527.vsm" offset="0x4000" size="0x4000" crc="aa9f5334" sha1="a363aaf4fb9194995431a9dc1d78446ef510e7be" /> <rom name="cd3527.vsm" offset="0x4000" size="0x4000" crc="aa9f5334" sha1="a363aaf4fb9194995431a9dc1d78446ef510e7be" />
@ -77,5 +81,4 @@ license:CC0
</part> </part>
</software> </software>
</softwarelist> </softwarelist>

View File

@ -6,7 +6,6 @@ license:CC0
<softwarelist name="snread" description="Speak &amp; Read modules"> <softwarelist name="snread" description="Speak &amp; Read modules">
<software name="dogonlog"> <software name="dogonlog">
<description>A Dog on a Log</description> <description>A Dog on a Log</description>
<year>1980</year> <year>1980</year>
@ -103,5 +102,4 @@ license:CC0
</part> </part>
</software> </software>
</softwarelist> </softwarelist>

View File

@ -6,7 +6,6 @@ license:CC0
<softwarelist name="snspell" description="Speak &amp; Spell modules"> <softwarelist name="snspell" description="Speak &amp; Spell modules">
<!-- Speak N Spell (US) --> <!-- Speak N Spell (US) -->
<software name="basbuild"> <software name="basbuild">
@ -171,5 +170,4 @@ license:CC0
</part> </part>
</software> </software>
</softwarelist> </softwarelist>

View File

@ -6,7 +6,6 @@ license:CC0
<softwarelist name="tntell" description="Touch &amp; Tell modules"> <softwarelist name="tntell" description="Touch &amp; Tell modules">
<software name="alphabet"> <software name="alphabet">
<description>Alphabet Fun</description> <description>Alphabet Fun</description>
<year>1981</year> <year>1981</year>
@ -91,5 +90,4 @@ license:CC0
</part> </part>
</software> </software>
</softwarelist> </softwarelist>

View File

@ -35,7 +35,7 @@ Wiz-A-Tron or Little Professor. But the popularity of this product was much
above expectations. TI continued to manufacture many products for this line. above expectations. TI continued to manufacture many products for this line.
Speak & Spell (US), 1978 Speak & Spell (US), 1978
- MCU: TMC0271, label TMC0271NL DBS (die label 0271B T0270B) - MCU: TMC0271, label TMC0271NL DBS (die label T0270B 0271B)
- TMS51xx: TMC0281 - TMS51xx: TMC0281
- VSM(1/2): 16KB TMC0351NL - VSM(1/2): 16KB TMC0351NL
- VSM(2/2): 16KB TMC0352NL - VSM(2/2): 16KB TMC0352NL
@ -43,7 +43,7 @@ above expectations. TI continued to manufacture many products for this line.
- notes: keyboard has buttons instead of cheap membrane - notes: keyboard has buttons instead of cheap membrane
Speak & Spell (US), 1979 Speak & Spell (US), 1979
- MCU: TMC0271, label TMC0271H-N2L FDS (die label 0271H T0270D) - MCU: TMC0271, label TMC0271H-N2L FDS (die label T0270D 0271H)
- TMS51xx: TMC0281 - TMS51xx: TMC0281
- VSM(1/2): 16KB TMC0351N2L - VSM(1/2): 16KB TMC0351N2L
- VSM(2/2): 16KB TMC0352N2L - VSM(2/2): 16KB TMC0352N2L
@ -82,7 +82,7 @@ above expectations. TI continued to manufacture many products for this line.
Speak & Spell (Spanish, prototype), 1981 Speak & Spell (Spanish, prototype), 1981
- MCU: CD2701N2L P (die label T0270D 2701) - MCU: CD2701N2L P (die label T0270D 2701)
- TMS51xx: TMC0281 - TMS51xx: TMC0281 (die label T0280A 0281)
- VSM(1/2): 16KB CD2319 - VSM(1/2): 16KB CD2319
- VSM(2/2): 16KB CD2320 - VSM(2/2): 16KB CD2320
- VFD: 8 digits with 14 segments, DP and accent mark - VFD: 8 digits with 14 segments, DP and accent mark
@ -105,7 +105,7 @@ above expectations. TI continued to manufacture many products for this line.
Speak & Spell Compact (US), 1981 Speak & Spell Compact (US), 1981
- MCU: CD8011, label CD8011A-NL (die label 1100B) - MCU: CD8011, label CD8011A-NL (die label 1100B)
- TMS51xx: TMC0281D - TMS51xx: TMC0281D (die label T0280F 0281D)
- VSM: 16KB CD2354, CD2354(rev.A) - VSM: 16KB CD2354, CD2354(rev.A)
- notes: no display, MCU is TMS1100 instead of TMS0270, overall similar to Touch & Tell - notes: no display, MCU is TMS1100 instead of TMS0270, overall similar to Touch & Tell
@ -169,7 +169,7 @@ Speak & Math:
Speak & Math 'Compact' (France) "Les Maths Magiques", 1986? Speak & Math 'Compact' (France) "Les Maths Magiques", 1986?
- MCU: CP3447-NL* (TMS1100?) - MCU: CP3447-NL* (TMS1100?)
- TMS51xx: CD2801 - TMS51xx: CD2801A
- VSM: 16KB? CD62173* - VSM: 16KB? CD62173*
- notes: this is not the same as "Le Calcul Magique", that's from a - notes: this is not the same as "Le Calcul Magique", that's from a
series centered around a TMS50C40 instead of MCU+TMS51xx series centered around a TMS50C40 instead of MCU+TMS51xx
@ -182,7 +182,7 @@ Speak & Read:
- TMS51xx: CD2801 - TMS51xx: CD2801
- VSM(1/2): 16KB CD2394(rev.A) - VSM(1/2): 16KB CD2394(rev.A)
- VSM(2/2): 16KB CD2395(rev.A) - VSM(2/2): 16KB CD2395(rev.A)
- VFD: same as Language Tutor, rightmost digit unused - VFD: same as Language Translator, rightmost digit unused
Speak & Read modules: Speak & Read modules:
@ -323,17 +323,21 @@ The text is coded as phonemes. Books were sold separately.
- notes: same hardware - notes: same hardware
Language Tutor/Translator: Language Translator/Tutor:
A later device, called Language Teacher, was released without speech hardware. Initially sold as Language Translator, renamed to Language Tutor a year later.
It was rebranded from translator to a 'language aid'.
Language Tutor (US), 1978 Language Translator (US), 1979
- MCU: TMC0275* - MCU: TMC0275 (die label T0270D 0275B)
- TMS51xx: CD2801 - TMS51xx: CD2801 (die label T0280B 2801)
- VFD: NEC FIP10xxx? - VFD: Itron FG106A2
- notes: external module is required (see below) - notes: external module is required (see below)
Language Tutor modules: Language Tutor (US), 1980
- notes: identical hardware, module stickers differ but have same VSMs
Language Translator modules:
- Ingles(1/4): VSM: 16KB CD2311 - Ingles(1/4): VSM: 16KB CD2311
- Ingles(2/4): VSM: 16KB CD2312 - Ingles(2/4): VSM: 16KB CD2312
@ -360,6 +364,22 @@ Language Tutor modules:
- English(3/4): VSM: 16KB CD3528 - English(3/4): VSM: 16KB CD3528
- English(4/4): VSM: 16KB CD3529 - English(4/4): VSM: 16KB CD3529
Some other language modules were announced by TI, but not released.
Language Teacher:
A cost-reduced version of the translator. Similar PCB, the speaker was removed.
Modules require less ROMs due to missing speech data.
Language Teacher (US), 1980
- MCU: TMC027x?*
- other: see Language Translator
Language Teacher modules (only 1 known released):
- German for Travel: VSM: 16KB CD3509*
Other manufacturers: Other manufacturers:
@ -393,7 +413,7 @@ K28 modules:
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
TODO: TODO:
- why doesn't lantutor work? - why doesn't lantransp work? maybe incompatible with released modules?
- emulate k28 LCD - emulate k28 LCD
- emulate other known devices - emulate other known devices
@ -454,7 +474,7 @@ public:
void init_snspell(); void init_snspell();
void init_tntell(); void init_tntell();
void init_lantutor(); void init_lantrans();
// machine configs // machine configs
void tms5110_route(machine_config &config); void tms5110_route(machine_config &config);
@ -469,7 +489,7 @@ public:
void snread(machine_config &config); void snread(machine_config &config);
void tntell(machine_config &config); void tntell(machine_config &config);
void vocaid(machine_config &config); void vocaid(machine_config &config);
void lantutor(machine_config &config); void lantrans(machine_config &config);
void k28m2(machine_config &config); void k28m2(machine_config &config);
private: private:
@ -480,7 +500,7 @@ private:
void snmath_write_o(u16 data); void snmath_write_o(u16 data);
void snspell_write_o(u16 data); void snspell_write_o(u16 data);
void snspell_write_r(u16 data); void snspell_write_r(u16 data);
void lantutor_write_r(u16 data); void lantrans_write_r(u16 data);
u8 snspellc_read_k(); u8 snspellc_read_k();
void snspellc_write_o(u16 data); void snspellc_write_o(u16 data);
@ -571,7 +591,7 @@ void tispeak_state::init_tntell()
m_cart_base = memregion("tms6100")->base() + 0x4000; m_cart_base = memregion("tms6100")->base() + 0x4000;
} }
void tispeak_state::init_lantutor() void tispeak_state::init_lantrans()
{ {
m_cart_max_size = 0x10000; m_cart_max_size = 0x10000;
m_cart_base = memregion("tms6100")->base(); m_cart_base = memregion("tms6100")->base();
@ -616,7 +636,7 @@ void tispeak_state::snspell_write_r(u16 data)
void tispeak_state::snspell_write_o(u16 data) void tispeak_state::snspell_write_o(u16 data)
{ {
// reorder opla to led14seg, plus DP as d14 and AP as d15: // reorder opla to led14seg, plus DP as d14 and AP as d15:
// note: lantutor and snread VFD has an accent triangle instead of DP, and no AP // note: lantrans and snread VFD has an accent triangle instead of DP, and no AP
// E,D,C,G,B,A,I,M,L,K,N,J,[AP],H,F,[DP] (sidenote: TI KLMN = MAME MLNK) // E,D,C,G,B,A,I,M,L,K,N,J,[AP],H,F,[DP] (sidenote: TI KLMN = MAME MLNK)
m_plate = bitswap<16>(data,12,15,10,7,8,9,11,6,13,3,14,0,1,2,4,5); m_plate = bitswap<16>(data,12,15,10,7,8,9,11,6,13,3,14,0,1,2,4,5);
update_display(); update_display();
@ -640,9 +660,9 @@ void tispeak_state::snmath_write_o(u16 data)
} }
// lantutor specific // lantrans specific
void tispeak_state::lantutor_write_r(u16 data) void tispeak_state::lantrans_write_r(u16 data)
{ {
// same as default, except R13 is used for an extra digit // same as default, except R13 is used for an extra digit
m_r = m_inp_mux = data; m_r = m_inp_mux = data;
@ -1024,7 +1044,7 @@ static INPUT_PORTS_START( snread )
INPUT_PORTS_END INPUT_PORTS_END
static INPUT_PORTS_START( lantutor ) static INPUT_PORTS_START( lantrans )
PORT_INCLUDE( snspell ) PORT_INCLUDE( snspell )
PORT_MODIFY("IN.5") PORT_MODIFY("IN.5")
@ -1392,22 +1412,22 @@ void tispeak_state::snread(machine_config &config)
} }
void tispeak_state::lantutor(machine_config &config) void tispeak_state::lantrans(machine_config &config)
{ {
snmath(config); snmath(config);
// basic machine hardware // basic machine hardware
m_maincpu->o().set(FUNC(tispeak_state::snspell_write_o)); m_maincpu->o().set(FUNC(tispeak_state::snspell_write_o));
m_maincpu->r().set(FUNC(tispeak_state::lantutor_write_r)); m_maincpu->r().set(FUNC(tispeak_state::lantrans_write_r));
config.set_default_layout(layout_snread); config.set_default_layout(layout_snread);
// cartridge // cartridge
GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "lantutor", "vsm,bin"); GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "lantrans", "vsm,bin");
m_cart->set_must_be_loaded(true); m_cart->set_must_be_loaded(true);
m_cart->set_device_load(FUNC(tispeak_state::cart_load)); m_cart->set_device_load(FUNC(tispeak_state::cart_load));
SOFTWARE_LIST(config, "cart_list").set_original("lantutor"); SOFTWARE_LIST(config, "cart_list").set_original("lantrans");
} }
@ -1517,7 +1537,7 @@ ROM_START( snspell )
ROM_REGION( 2127, "maincpu:mpla", 0 ) ROM_REGION( 2127, "maincpu:mpla", 0 )
ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) ) ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) )
ROM_REGION( 1246, "maincpu:opla", 0 ) ROM_REGION( 1246, "maincpu:opla", 0 )
ROM_LOAD( "tms0270_t0270d_output.pla", 0, 1246, CRC(2478c595) SHA1(9a8ac690902731e1e01533279a1c9223011e1537) ) ROM_LOAD( "tms0270_tmc271h_output.pla", 0, 1246, CRC(2478c595) SHA1(9a8ac690902731e1e01533279a1c9223011e1537) )
ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
ROM_LOAD( "tmc0351n2l.vsm", 0x0000, 0x4000, CRC(2d03b292) SHA1(a3e9a365307ae936c7472f720a7a8240741531d6) ) ROM_LOAD( "tmc0351n2l.vsm", 0x0000, 0x4000, CRC(2d03b292) SHA1(a3e9a365307ae936c7472f720a7a8240741531d6) )
@ -1526,14 +1546,14 @@ ROM_END
ROM_START( snspellp ) ROM_START( snspellp )
ROM_REGION( 0x1000, "maincpu", 0 ) ROM_REGION( 0x1000, "maincpu", 0 )
ROM_LOAD( "us4189779_tmc0271", 0x0000, 0x1000, CRC(d3f5a37d) SHA1(f75ab617a6067d4d3a954a9f86126d2089554df8) ) // typed in from patent US4189779, verified by 2 sources ROM_LOAD( "us4189779", 0x0000, 0x1000, CRC(d3f5a37d) SHA1(f75ab617a6067d4d3a954a9f86126d2089554df8) ) // typed in from patent US4189779, verified by 2 sources
ROM_REGION( 1246, "maincpu:ipla", 0 ) ROM_REGION( 1246, "maincpu:ipla", 0 )
ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) ) ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_REGION( 2127, "maincpu:mpla", 0 ) ROM_REGION( 2127, "maincpu:mpla", 0 )
ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) ) ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) )
ROM_REGION( 1246, "maincpu:opla", 0 ) ROM_REGION( 1246, "maincpu:opla", 0 )
ROM_LOAD( "tms0270_t0270b_output.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) ) // using the one from 1st version ROM_LOAD( "tms0270_tmc271_output.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) ) // using the one from 1st version
ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
ROM_LOAD( "tmc0351nl.vsm", 0x0000, 0x4000, CRC(beea3373) SHA1(8b0f7586d2f12c3d4a885fdb528cf23feffa1a3b) ) // using the one from 1st version ROM_LOAD( "tmc0351nl.vsm", 0x0000, 0x4000, CRC(beea3373) SHA1(8b0f7586d2f12c3d4a885fdb528cf23feffa1a3b) ) // using the one from 1st version
@ -1549,7 +1569,7 @@ ROM_START( snspellua )
ROM_REGION( 2127, "maincpu:mpla", 0 ) ROM_REGION( 2127, "maincpu:mpla", 0 )
ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) ) ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) )
ROM_REGION( 1246, "maincpu:opla", 0 ) ROM_REGION( 1246, "maincpu:opla", 0 )
ROM_LOAD( "tms0270_t0270b_output.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) ) ROM_LOAD( "tms0270_tmc271_output.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
ROM_LOAD( "tmc0351nl.vsm", 0x0000, 0x4000, CRC(beea3373) SHA1(8b0f7586d2f12c3d4a885fdb528cf23feffa1a3b) ) ROM_LOAD( "tmc0351nl.vsm", 0x0000, 0x4000, CRC(beea3373) SHA1(8b0f7586d2f12c3d4a885fdb528cf23feffa1a3b) )
@ -1565,7 +1585,7 @@ ROM_START( snspellub )
ROM_REGION( 2127, "maincpu:mpla", 0 ) ROM_REGION( 2127, "maincpu:mpla", 0 )
ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) ) ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) )
ROM_REGION( 1246, "maincpu:opla", 0 ) ROM_REGION( 1246, "maincpu:opla", 0 )
ROM_LOAD( "tms0270_t0270d_output.pla", 0, 1246, CRC(2478c595) SHA1(9a8ac690902731e1e01533279a1c9223011e1537) ) ROM_LOAD( "tms0270_tmc271h_output.pla", 0, 1246, CRC(2478c595) SHA1(9a8ac690902731e1e01533279a1c9223011e1537) )
ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // uses only 1 rom, 8000-bfff = space reserved for cartridge ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // uses only 1 rom, 8000-bfff = space reserved for cartridge
ROM_LOAD( "cd2350a.vsm", 0x0000, 0x4000, CRC(2adda742) SHA1(3f868ed8284b723c815a30343057e03467c043b5) ) ROM_LOAD( "cd2350a.vsm", 0x0000, 0x4000, CRC(2adda742) SHA1(3f868ed8284b723c815a30343057e03467c043b5) )
@ -1580,7 +1600,7 @@ ROM_START( snspelluk )
ROM_REGION( 2127, "maincpu:mpla", 0 ) ROM_REGION( 2127, "maincpu:mpla", 0 )
ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) ) ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) )
ROM_REGION( 1246, "maincpu:opla", 0 ) ROM_REGION( 1246, "maincpu:opla", 0 )
ROM_LOAD( "tms0270_t0270b_output.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) ) ROM_LOAD( "tms0270_tmc271_output.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
ROM_LOAD( "cd2303.vsm", 0x0000, 0x4000, CRC(0fae755c) SHA1(b68c3120a63a61db474feb5d71a6e5dd67910d80) ) ROM_LOAD( "cd2303.vsm", 0x0000, 0x4000, CRC(0fae755c) SHA1(b68c3120a63a61db474feb5d71a6e5dd67910d80) )
@ -1596,7 +1616,7 @@ ROM_START( snspelluka )
ROM_REGION( 2127, "maincpu:mpla", 0 ) ROM_REGION( 2127, "maincpu:mpla", 0 )
ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) ) ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) )
ROM_REGION( 1246, "maincpu:opla", 0 ) ROM_REGION( 1246, "maincpu:opla", 0 )
ROM_LOAD( "tms0270_t0270d_output.pla", 0, 1246, CRC(2478c595) SHA1(9a8ac690902731e1e01533279a1c9223011e1537) ) ROM_LOAD( "tms0270_tmc271h_output.pla", 0, 1246, CRC(2478c595) SHA1(9a8ac690902731e1e01533279a1c9223011e1537) )
ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // uses only 1 rom, 8000-bfff = space reserved for cartridge ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // uses only 1 rom, 8000-bfff = space reserved for cartridge
ROM_LOAD( "cd62175.vsm", 0x0000, 0x4000, CRC(6e1063d4) SHA1(b5c66c51148c5921ecb8ffccd7a460ae639cdb68) ) ROM_LOAD( "cd62175.vsm", 0x0000, 0x4000, CRC(6e1063d4) SHA1(b5c66c51148c5921ecb8ffccd7a460ae639cdb68) )
@ -1611,7 +1631,7 @@ ROM_START( snspelljp )
ROM_REGION( 2127, "maincpu:mpla", 0 ) ROM_REGION( 2127, "maincpu:mpla", 0 )
ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) ) ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) )
ROM_REGION( 1246, "maincpu:opla", 0 ) ROM_REGION( 1246, "maincpu:opla", 0 )
ROM_LOAD( "tms0270_t0270d_output.pla", 0, 1246, CRC(2478c595) SHA1(9a8ac690902731e1e01533279a1c9223011e1537) ) ROM_LOAD( "tms0270_tmc271h_output.pla", 0, 1246, CRC(2478c595) SHA1(9a8ac690902731e1e01533279a1c9223011e1537) )
ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
ROM_LOAD( "cd2321.vsm", 0x0000, 0x4000, CRC(ac010cce) SHA1(c0200d857b62be696248ac2d684a390c66ab0c31) ) ROM_LOAD( "cd2321.vsm", 0x0000, 0x4000, CRC(ac010cce) SHA1(c0200d857b62be696248ac2d684a390c66ab0c31) )
@ -1675,7 +1695,7 @@ ROM_START( snspellc )
ROM_LOAD( "tms1100_cd8011_output.pla", 0, 365, CRC(b400dd75) SHA1(5a4b5d4532a8932cf4b469ddb71ad6b3b9911672) ) ROM_LOAD( "tms1100_cd8011_output.pla", 0, 365, CRC(b400dd75) SHA1(5a4b5d4532a8932cf4b469ddb71ad6b3b9911672) )
ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
ROM_LOAD( "cd2354.vsm", 0x0000, 0x4000, CRC(3af3232e) SHA1(f89d90dca209ee612634d664d5d4562f1d1786cf) ) ROM_LOAD( "cd2354a.vsm", 0x0000, 0x4000, CRC(548a940c) SHA1(c37e620c4c70a05cbaaff9a166c6da2e2420196f) )
ROM_END ROM_END
ROM_START( snspellca ) ROM_START( snspellca )
@ -1688,7 +1708,7 @@ ROM_START( snspellca )
ROM_LOAD( "tms1100_cd8011_output.pla", 0, 365, CRC(b400dd75) SHA1(5a4b5d4532a8932cf4b469ddb71ad6b3b9911672) ) ROM_LOAD( "tms1100_cd8011_output.pla", 0, 365, CRC(b400dd75) SHA1(5a4b5d4532a8932cf4b469ddb71ad6b3b9911672) )
ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
ROM_LOAD( "cd2354a.vsm", 0x0000, 0x4000, CRC(548a940c) SHA1(c37e620c4c70a05cbaaff9a166c6da2e2420196f) ) ROM_LOAD( "cd2354.vsm", 0x0000, 0x4000, CRC(3af3232e) SHA1(f89d90dca209ee612634d664d5d4562f1d1786cf) )
ROM_END ROM_END
ROM_START( snspellcuk ) ROM_START( snspellcuk )
@ -1776,16 +1796,30 @@ ROM_START( snread )
ROM_END ROM_END
ROM_START( lantutor ) ROM_START( lantrans )
ROM_REGION( 0x1000, "maincpu", 0 ) ROM_REGION( 0x1000, "maincpu", 0 )
ROM_LOAD( "us4631748_tmc0275", 0x0000, 0x1000, CRC(22818845) SHA1(1a84f15fb18ca66b1f2bf7491d76fbc56068984d) ) // extracted visually from patent US4631748, verified with source code ROM_LOAD( "tmc0275nl_dbs", 0x0000, 0x1000, CRC(43535d2a) SHA1(cf190fc0b1b2d9d11b167896adda116bc28348fd) )
ROM_REGION( 1246, "maincpu:ipla", 0 ) ROM_REGION( 1246, "maincpu:ipla", 0 )
ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) ) ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_REGION( 2127, "maincpu:mpla", 0 ) ROM_REGION( 2127, "maincpu:mpla", 0 )
ROM_LOAD( "tms0270_common1_micro.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // not verified ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) )
ROM_REGION( 1246, "maincpu:opla", 0 ) ROM_REGION( 1246, "maincpu:opla", 0 )
ROM_LOAD( "tms0270_t0270b_output.pla", 0, 1246, BAD_DUMP CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) ) // taken from snspell, mostly looks correct ROM_LOAD( "tms0270_tmc0275_output.pla", 0, 1246, CRC(3c67e7b8) SHA1(06134367754a687e933ed629a105b6956fc30375) )
ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // cartridge area
ROM_END
ROM_START( lantransp )
ROM_REGION( 0x1000, "maincpu", 0 )
ROM_LOAD( "us4631748", 0x0000, 0x1000, CRC(22818845) SHA1(1a84f15fb18ca66b1f2bf7491d76fbc56068984d) ) // extracted visually from patent US4631748, verified with source code
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_tmc0275_output.pla", 0, 1246, CRC(3c67e7b8) SHA1(06134367754a687e933ed629a105b6956fc30375) ) // using the one from release version
ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // cartridge area ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // cartridge area
ROM_END ROM_END
@ -1877,27 +1911,28 @@ ROM_END
// YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS // YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
COMP( 1979, snspell, 0, 0, sns_tmc0281, snspell, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell (US, 1979 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) COMP( 1979, snspell, 0, 0, sns_tmc0281, snspell, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell (US, 1979 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
COMP( 1978, snspellp, snspell, 0, sns_tmc0281, snspell, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell (US, patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
COMP( 1980, snspellub, snspell, 0, sns_tmc0281d, snspell, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell (US, 1980 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
COMP( 1978, snspellua, snspell, 0, sns_tmc0281, snspell, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell (US, 1978 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) COMP( 1978, snspellua, snspell, 0, sns_tmc0281, snspell, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell (US, 1978 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
COMP( 1980, snspellub, snspell, 0, sns_tmc0281d, snspell, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell (US, 1980 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) // less speech data
COMP( 1978, snspellp, snspell, 0, sns_tmc0281, snspell, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell (US, patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
COMP( 1978, snspelluk, snspell, 0, sns_tmc0281, snspell, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell (UK, 1978 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) COMP( 1978, snspelluk, snspell, 0, sns_tmc0281, snspell, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell (UK, 1978 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
COMP( 1981, snspelluka, snspell, 0, sns_cd2801, snspell, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell (UK, 1981 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) COMP( 1981, snspelluka, snspell, 0, sns_cd2801, snspell, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell (UK, 1981 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) // less speech data
COMP( 1979, snspelljp, snspell, 0, sns_tmc0281, snspell, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) COMP( 1979, snspelljp, snspell, 0, sns_tmc0281, snspell, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) // speaks English
COMP( 1981, snspellsp, snspell, 0, snspellsp, snspellsp, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell (Spanish, prototype)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) COMP( 1981, snspellsp, snspell, 0, snspellsp, snspellsp, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell (Spanish, prototype)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
COMP( 1980, snspellfr, snspell, 0, sns_cd2801, snspellfr, tispeak_state, init_snspell, "Texas Instruments", u8"La Dictée Magique (France)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) COMP( 1980, snspellfr, snspell, 0, sns_cd2801, snspellfr, tispeak_state, init_snspell, "Texas Instruments", u8"La Dictée Magique (France)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
COMP( 1982, snspellit, snspell, 0, snspellit, snspellit, tispeak_state, init_snspell, "Texas Instruments", "Grillo Parlante (Italy)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) COMP( 1982, snspellit, snspell, 0, snspellit, snspellit, tispeak_state, init_snspell, "Texas Instruments", "Grillo Parlante (Italy)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
COMP( 1981, snspellc, 0, 0, snspellc, snspellc, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell Compact (US, 1981 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) COMP( 1982, snspellc, 0, 0, snspellc, snspellc, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell Compact (US, 1982 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
COMP( 1982, snspellca, snspellc, 0, snspellc, snspellc, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell Compact (US, 1982 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) COMP( 1981, snspellca, snspellc, 0, snspellc, snspellc, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell Compact (US, 1981 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
COMP( 1982, snspellcuk, snspellc, 0, snspellcuk, snspellcuk, tispeak_state, init_snspell, "Texas Instruments", "Speak & Write (UK)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) COMP( 1982, snspellcuk, snspellc, 0, snspellcuk, snspellcuk, tispeak_state, init_snspell, "Texas Instruments", "Speak & Write (UK)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
COMP( 1980, snmath, 0, 0, snmath, snmath, tispeak_state, empty_init, "Texas Instruments", "Speak & Math (US, 1980 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) COMP( 1980, snmath, 0, 0, snmath, snmath, tispeak_state, empty_init, "Texas Instruments", "Speak & Math (US, 1980 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
COMP( 1986, snmatha, snmath, 0, snmath, snmath, tispeak_state, empty_init, "Texas Instruments", "Speak & Math (US, 1986 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) COMP( 1986, snmatha, snmath, 0, snmath, snmath, tispeak_state, empty_init, "Texas Instruments", "Speak & Math (US, 1986 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) // less speech data
COMP( 1980, snmathp, snmath, 0, snmath, snmath, tispeak_state, empty_init, "Texas Instruments", "Speak & Math (US, patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_IS_INCOMPLETE ) COMP( 1980, snmathp, snmath, 0, snmath, snmath, tispeak_state, empty_init, "Texas Instruments", "Speak & Math (US, patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_IS_INCOMPLETE )
COMP( 1980, snread, 0, 0, snread, snread, tispeak_state, init_snspell, "Texas Instruments", "Speak & Read (US)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) COMP( 1980, snread, 0, 0, snread, snread, tispeak_state, init_snspell, "Texas Instruments", "Speak & Read (US)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
COMP( 1979, lantutor, 0, 0, lantutor, lantutor, tispeak_state, init_lantutor, "Texas Instruments", "Language Tutor (patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) COMP( 1979, lantrans, 0, 0, lantrans, lantrans, tispeak_state, init_lantrans, "Texas Instruments", "Language Translator", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
COMP( 1979, lantransp, lantrans, 0, lantrans, lantrans, tispeak_state, init_lantrans, "Texas Instruments", "Language Translator (patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
COMP( 1981, tntell, 0, 0, tntell, tntell, tispeak_state, init_tntell, "Texas Instruments", "Touch & Tell (US)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_CLICKABLE_ARTWORK | MACHINE_REQUIRES_ARTWORK ) COMP( 1981, tntell, 0, 0, tntell, tntell, tispeak_state, init_tntell, "Texas Instruments", "Touch & Tell (US)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_CLICKABLE_ARTWORK | MACHINE_REQUIRES_ARTWORK )
COMP( 1980, tntellp, tntell, 0, tntell, tntell, tispeak_state, init_tntell, "Texas Instruments", "Touch & Tell (US, patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_CLICKABLE_ARTWORK | MACHINE_REQUIRES_ARTWORK | MACHINE_NOT_WORKING ) COMP( 1980, tntellp, tntell, 0, tntell, tntell, tispeak_state, init_tntell, "Texas Instruments", "Touch & Tell (US, patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_CLICKABLE_ARTWORK | MACHINE_REQUIRES_ARTWORK | MACHINE_NOT_WORKING )

View File

@ -72,7 +72,7 @@ license:CC0
for num, col in pairs(walls) do for num, col in pairs(walls) do
if col[1] < x and (col[1] + 2.5) > x then if col[1] < x and (col[1] + 2.5) > x then
for num2, wall in pairs(col[2]) do for num2, wall in pairs(col[2]) do
if wall < y and (wall + 7.5) > y then if wall < y and (wall + 7.5) > y then
local state = machine.output:get_indexed_value("colwall", (num * 10) + num2) local state = machine.output:get_indexed_value("colwall", (num * 10) + num2)
machine.output:set_indexed_value("colwall", (num * 10) + num2, (~state) & 1) machine.output:set_indexed_value("colwall", (num * 10) + num2, (~state) & 1)
return return

View File

@ -41727,7 +41727,8 @@ uk2086 // 1986 UK2086
@source:handheld/tispeak.cpp @source:handheld/tispeak.cpp
k28m2 // Tiger Electronics k28m2 // Tiger Electronics
lantutor // lantrans //
lantransp //
snmath // snmath //
snmatha // snmatha //
snmathp // snmathp //

View File

@ -7,6 +7,7 @@
Released in 1994 in Russian Federation by ЭНЕРГОПРИБОР (Energopribor), Moscow. Released in 1994 in Russian Federation by ЭНЕРГОПРИБОР (Energopribor), Moscow.
It's running the Mirage chess engine by Vladimir Rybinkin, originally made for MS-DOS. It's running the Mirage chess engine by Vladimir Rybinkin, originally made for MS-DOS.
Also sold in 1996 as Феникс (Fenix), same ROM contents as Debut-M.
TODO: TODO:
- where does the interrupt come from? - where does the interrupt come from?