diff --git a/src/mess/drivers/tispeak.c b/src/mess/drivers/tispeak.c index c75306c5b67..b2ff61fa00f 100644 --- a/src/mess/drivers/tispeak.c +++ b/src/mess/drivers/tispeak.c @@ -21,7 +21,7 @@ Some of these may have pre-release bugs. Speak & Spell: US4189779 Speak & Math: US4946391 - Touch & Tell: US4403965** (patent calls it "Speak & Seek") + Touch & Tell: US4403965 (patent calls it "Speak & Seek") Language Translator: US4631748 @@ -33,32 +33,37 @@ above expectations. TI continued to manufacture many products for this line. Speak & Spell (US), 1978 - MCU: TMC0271* - - TMS51xx(1/2): 16KB TMC0351NL - - TMS51xx(2/2): 16KB TMC0352NL + - TMS51xx: TMC0281 + - VSM(1/2): 16KB TMC0351NL + - VSM(2/2): 16KB TMC0352NL - notes: keyboard has buttons instead of cheap membrane Speak & Spell (US), 1979 - MCU: TMC0271* (different from 1978 version) - - TMS51xx(1/2): 16KB TMC0351N2L - - TMS51xx(2/2): 16KB TMC0352N2L + - TMS51xx: TMC0281 + - VSM(1/2): 16KB TMC0351N2L + - VSM(2/2): 16KB TMC0352N2L - notes: fixed a funny bug with gibberish-talk when Module button is pressed with no module inserted Speak & Spell (US), 1980 - MCU: TMC0271* (same as 1979 version) - - TMS51xx: 16KB CD2350 (rev.A) + - TMS51xx: TMC0281D + - VSM: 16KB CD2350 (rev.A) - notes: only 1 VSM, meaning much smaller internal vocabulary Speak & Spell (Japan), 1980 - MCU: TMC0271* (assume same as US 1978 or 1979 version) - - TMS51xx(1/2): 16KB CD2321 - - TMS51xx(2/2): 16KB CD2322 + - TMS51xx: TMC0281 + - VSM(1/2): 16KB CD2321 + - VSM(2/2): 16KB CD2322 - notes: no local name for the product, words are in English but very low difficulty Speak & Spell (UK), 1978 - MCU: TMC0271* (assume same as US 1978 version) - - TMS51xx(1/2): 16KB CD2303 - - TMS51xx(2/2): 16KB CD2304 + - TMS51xx: TMC0281 + - VSM(1/2): 16KB CD2303 + - VSM(2/2): 16KB CD2304 - notes: voice data was manually altered to give it a UK accent, here's a small anecdote from developer: "(...) I cannot bear to listen the product even now. I remember the @@ -66,31 +71,34 @@ above expectations. TI continued to manufacture many products for this line. Speak & Spell (UK), 1981 - MCU: TMC0271* (assume same as US 1979 version) - - TMS51xx: 16KB CD62175 + - TMS51xx: CD2801 + - VSM: 16KB CD62175 - notes: this one has a dedicated voice actor Speak & Spell (France) "La Dictee Magique", 1980 - MCU: CD2702** - - TMS51xx: 16KB CD2352 + - TMS51xx: CD2801 + - VSM: 16KB CD2352 Speak & Spell (Germany) "Buddy", 1980 - - MCU: CD2702** (same as French 1980 version) - - TMS51xx(1/2): 16KB CD2345* - - TMS51xx(2/2): 16KB CD2346* + - MCU & TMS51xx: same as French 1980 version + - VSM(1/2): 16KB CD2345* + - VSM(2/2): 16KB CD2346* Speak & Spell (Italy) "Grillo Parlante", 1982 - - MCU: CD2702** (same as French 1980 version) - - TMS51xx: 16KB? CD62190** + - MCU & TMS51xx: same as French 1980 version + - VSM: 16KB? CD62190** Speak & Spell Compact (US), 1981 - MCU: CD8011** - - TMS51xx: 16KB CD2354 - - TMS51xx: 16KB CD2354A (rev.A) + - TMS51xx: TMC0281D + - VSM: 16KB CD2354 + - VSM: 16KB CD2354A (rev.A) - notes: no display, MCU is TMS1100 instead of TMS0270 Speak & Spell Compact (UK) "Speak & Write", 1981 - - MCU: CD8011** (same as US 1981 version) - - TMS51xx: 16KB CD62174 (rev.A) + - MCU & TMS51xx: same as US 1981 version + - VSM: 16KB CD62174 (rev.A) - notes: anecdotes from the developer, the same person working on the original UK version: "We included a pencil and writing pad - it was now about 'writing'.", and one about the welcome message: @@ -103,34 +111,35 @@ Speak & Spell modules: Note that they are interchangeable, eg. you can use a French module on a US Speak & Spell. English: - - Vowel Power: TMS51xx: 16KB CD2302 - - Number Stumpers 4-6: TMS51xx: 16KB CD2305 - - Number Stumpers 7-8: TMS51xx: 16KB CD2307 (rev.A) - - Basic Builders: TMS51xx: 16KB CD2308 - - Mighty Verbs: TMS51xx: 16KB CD2309 (rev.B) - - Homonym Heroes: TMS51xx: 16KB CD2310 - - Vowel Ventures: TMS51xx: 16KB CD2347 (rev.C) - - Noun Endings: TMS51xx: 16KB CD2348 - - Magnificent Modifiers: TMS51xx: 16KB CD2349 - - E.T. Fantasy: TMS51xx: 16KB CD2360 + - Vowel Power: VSM: 16KB CD2302 + - Number Stumpers 4-6: VSM: 16KB CD2305 + - Number Stumpers 7-8: VSM: 16KB CD2307 (rev.A) + - Basic Builders: VSM: 16KB CD2308 + - Mighty Verbs: VSM: 16KB CD2309 (rev.B) + - Homonym Heroes: VSM: 16KB CD2310 + - Vowel Ventures: VSM: 16KB CD2347 (rev.C) + - Noun Endings: VSM: 16KB CD2348 + - Magnificent Modifiers: VSM: 16KB CD2349 + - E.T. Fantasy: VSM: 16KB CD2360 French: - - No.1: Les Mots de Base: TMS51xx: 16KB CD2353 (1st release was called "Module No. 1 de Jacques Capelovici") - - No.2: Les Mots Difficilies: TMS51xx: 16KB? CD62177* - - No.3: Les Animaux Familiers: TMS51xx: 16KB? CD62047 - - No.4: Les Magasins De La Rue: TMS51xx: 16KB CD62048 - - No.5: Les Extra-Terrestres: TMS51xx: 16KB? CD62178* + - No.1: Les Mots de Base: VSM: 16KB CD2353 (1st release was called "Module No. 1 de Jacques Capelovici") + - No.2: Les Mots Difficilies: VSM: 16KB? CD62177* + - No.3: Les Animaux Familiers: VSM: 16KB? CD62047 + - No.4: Les Magasins De La Rue: VSM: 16KB CD62048 + - No.5: Les Extra-Terrestres: VSM: 16KB? CD62178* Italian: - - Super Modulo: TMS51xx: 16KB? CD62313* + - Super Modulo: VSM: 16KB? CD62313* Speak & Math: Speak & Math (US), 1980 (renamed to "Speak & Maths" in UK, but is the same product) - MCU: CD2704* - - TMS51xx(1/2): 16KB CD2392 - - TMS51xx(2/2): 16KB CD2393 + - TMS51xx: CD2801 + - VSM(1/2): 16KB CD2392 + - VSM(2/2): 16KB CD2393 - notes: As with the Speak & Spell, the voice actor was a radio announcer. However, the phrase "is greater than or less than" had to be added in a hurry by one of the TI employees in a hurry, the day before a demo. @@ -138,12 +147,14 @@ Speak & Math: Speak & Math (US), 1986 - MCU: CD2708, labeled CD2708N2L (die labeled TMC0270F 2708A) - - TMS51xx(1/2): 16KB CD2381 - - TMS51xx(2/2): 4KB CD2614 + - TMS51xx: CD2801 + - VSM(1/2): 16KB CD2381 + - VSM(2/2): 4KB CD2614 Speak & Math 'Compact' (France) "Les Maths Magiques", 1986? - MCU: CP3447-NL* (TMS1100?) - - CD2801: 16KB? CD62173* + - TMS51xx: CD2801 + - VSM: 16KB? CD62173* - notes: this is not the same as "Le Calcul Magique", that's from a series centered around a TMS50C40 instead of MCU+TMS51xx @@ -152,57 +163,66 @@ Speak & Read: Speak & Read (US), 1980 - MCU: CD2705, labeled CD2705B-N2L (die labeled TMC0270E 2705B) - 2nd revision? - - TMS51xx(1/2): 16KB CD2394 (rev.A) - - TMS51xx(2/2): 16KB CD2395 (rev.A) + - TMS51xx: CD2801 + - VSM(1/2): 16KB CD2394 (rev.A) + - VSM(2/2): 16KB CD2395 (rev.A) Speak & Read modules: English: - - Sea Sights: TMS51xx: 16KB CD2396 (rev.A) - - Who's Who at the Zoo: TMS51xx: 16KB CD2397 - - A Dog on a Log: TMS51xx: 16KB CD3534 (rev.A) - - The Seal That Could Fly: TMS51xx: 16KB CD3535 - - A Ghost in the House: TMS51xx: 16KB CD3536* - - On the Track: TMS51xx: 16KB CD3538 - - The Third Circle: TMS51xx: 16KB CD3539* - - The Millionth Knight: TMS51xx: 16KB CD3540 + - Sea Sights: VSM: 16KB CD2396 (rev.A) + - Who's Who at the Zoo: VSM: 16KB CD2397 + - A Dog on a Log: VSM: 16KB CD3534 (rev.A) + - The Seal That Could Fly: VSM: 16KB CD3535 + - A Ghost in the House: VSM: 16KB CD3536* + - On the Track: VSM: 16KB CD3538 + - The Third Circle: VSM: 16KB CD3539* + - The Millionth Knight: VSM: 16KB CD3540 Touch & Tell: Touch & Tell (US), 1981 - MCU: CD8012** - - TMS51xx: 4KB CD2610 + - TMS51xx: CD2802 + - VSM: 4KB CD2610 - notes: MCU is TMS1100 instead of TMS0270. CD8010 is seen in some devices too, maybe an earlier version? Touch & Tell (UK), 1981 - - MCU: ?* (assume same as US version) - - TMS51xx: ?KB CD62170* + - MCU & TMS51xx: same as US version + - VSM: ?KB CD62170* Touch & Tell (France) "Le Livre Magique", 1981 - - MCU: ?* (assume same as US version) - - TMS51xx: ?KB CD62171* + - MCU & TMS51xx: same as US version + - VSM: ?KB CD62171* Touch & Tell (Germany) "Tipp & Sprich", 1981 - - MCU: ?* (assume same as US version) - - TMS51xx: ?KB CD62172* + - MCU & TMS51xx: same as US version + - VSM: ?KB CD62172* Touch & Tell (Italy) "Libro Parlante", 1982 - - MCU: ?* (assume same as US version) - - TMS51xx: ?KB CD62176* + - MCU & TMS51xx: same as US version + - VSM: ?KB CD62176* + + Vocaid (US), 1982 + - MCU & TMS51xx: same as Touch & Tell (US) + - VSM: 16KB CD2357 + - notes: MCU is the same as in Touch & Tell, but instead of a toddler's toy, + you get a serious medical aid device for the voice-impaired. The PCB is + identical, it includes the edge connector for modules but no external slot. Touch & Tell modules: English: - - Animal Friends: CD2802: 16KB CD2355 - - World of Transportation: CD2802: 16KB CD2361 - - Little Creatures: CD2802: 16KB CD2362 - - E.T.: CD2802: 16KB CD2363** - - Alphabet Fun: TMS51xx: 4KB CD2611 - - Number Fun: TMS51xx: 4KB CD2612 - - All About Me: TMS51xx: 4KB CD2613 + - Animal Friends: VSM: 16KB CD2355 + - World of Transportation: VSM: 16KB CD2361 + - Little Creatures: VSM: 16KB CD2362 + - E.T.: VSM: 16KB CD2363** + - Alphabet Fun: VSM: 4KB CD2611 + - Number Fun: VSM: 4KB CD2612 + - All About Me: VSM: 4KB CD2613 Language Tutor/Translator: @@ -211,61 +231,35 @@ A later device, called Language Teacher, was released without speech hardware. Language Tutor (US), 1978 - MCU: TMC0275* + - TMS51xx: CD2801 - notes: external module is required (see below) Language Tutor modules: - - Ingles(1/4): TMS51xx: 16KB CD2311* - - Ingles(2/4): TMS51xx: 16KB CD2312* - - Ingles(3/4): TMS51xx: 16KB CD2313* - - Ingles(4/4): TMS51xx: 16KB CD2314* + - Ingles(1/4): VSM: 16KB CD2311* + - Ingles(2/4): VSM: 16KB CD2312* + - Ingles(3/4): VSM: 16KB CD2313* + - Ingles(4/4): VSM: 16KB CD2314* - - Spanish(1/4): TMS51xx: 16KB CD2315* - - Spanish(2/4): TMS51xx: 16KB CD2316* - - Spanish(3/4): TMS51xx: 16KB CD2317 - - Spanish(4/4): TMS51xx: 16KB CD2318 + - Spanish(1/4): VSM: 16KB CD2315* + - Spanish(2/4): VSM: 16KB CD2316* + - Spanish(3/4): VSM: 16KB CD2317 + - Spanish(4/4): VSM: 16KB CD2318 - - French(1/4): TMS51xx: 16KB CD2327 - - French(2/4): TMS51xx: 16KB CD2328 - - French(3/4): TMS51xx: 16KB CD2329 - - French(4/4): TMS51xx: 16KB CD2330 + - French(1/4): VSM: 16KB CD2327 + - French(2/4): VSM: 16KB CD2328 + - French(3/4): VSM: 16KB CD2329 + - French(4/4): VSM: 16KB CD2330 - - German(1/4): TMS51xx: 16KB CD2331 - - German(2/4): TMS51xx: 16KB CD2332 - - German(3/4): TMS51xx: 16KB CD2333 - - German(4/4): TMS51xx: 16KB CD2334 + - German(1/4): VSM: 16KB CD2331 + - German(2/4): VSM: 16KB CD2332 + - German(3/4): VSM: 16KB CD2333 + - German(4/4): VSM: 16KB CD2334 - - English(1/4): TMC0280: 16KB CD3526** - - English(2/4): TMC0280: 16KB CD3527** - - English(3/4): TMC0280: 16KB CD3528** - - English(4/4): TMC0280: 16KB CD3529** - - -Other devices: - - Vocaid (US), 1982 - - MCU: CD8012** - - CD2802: 16KB CD2357 - - notes: MCU is the same as in Touch & Tell, but instead of a toddler's toy, - you get a serious medical aid device for the voice-impaired. - - Spelling B (US), 1978 - - MCU: TMC0272* - - ?: TMC1984* (what is this?) - - notes: this line of toys (Spelling B, Mr. Challenger, Math Marvel) is calculator-sized, - might have been aimed for older kids. Note that Math Marvel is a TMC1986, no speech. - - Spelling B (US), newer - - MCU: TMC0274* - - TMS51xx: ?KB TMC0355 CD2602* - - Spelling B (Germany) "Spelling ABC", 198? - - MCU: TMC0274* (assume same as US version) - - TMS51xx: ?KB TMC0355 CD2607* - - Mr. Challenger (US), 1980 - - MCU: TMC0273* - - TMS51xx: ?KB TMC0355 CD2601* + - English(1/4): VSM: 16KB CD3526** + - English(2/4): VSM: 16KB CD3527** + - English(3/4): VSM: 16KB CD3528** + - English(4/4): VSM: 16KB CD3529** ---------------------------------------------------------------------------- @@ -307,7 +301,7 @@ public: { } // devices - required_device m_tms5100; + required_device m_tms5100; required_device m_tms6100; optional_device m_cart; @@ -657,6 +651,17 @@ INPUT_PORTS_END ***************************************************************************/ +static MACHINE_CONFIG_FRAGMENT( tms5110_route ) + + /* sound hardware */ + MCFG_TMS5110_M0_CB(DEVWRITELINE("tms6100", tms6100_device, tms6100_m0_w)) + MCFG_TMS5110_M1_CB(DEVWRITELINE("tms6100", tms6100_device, tms6100_m1_w)) + MCFG_TMS5110_ADDR_CB(DEVWRITE8("tms6100", tms6100_device, tms6100_addr_w)) + MCFG_TMS5110_DATA_CB(DEVREADLINE("tms6100", tms6100_device, tms6100_data_r)) + MCFG_TMS5110_ROMCLK_CB(DEVWRITELINE("tms6100", tms6100_device, tms6100_romclock_w)) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5) +MACHINE_CONFIG_END + static MACHINE_CONFIG_START( snmath, tispeak_state ) /* basic machine hardware */ @@ -665,9 +670,9 @@ static MACHINE_CONFIG_START( snmath, tispeak_state ) MCFG_TMS1XXX_WRITE_O_CB(WRITE16(tispeak_state, snmath_write_o)) MCFG_TMS1XXX_WRITE_R_CB(WRITE16(tispeak_state, snspell_write_r)) - MCFG_TMS0270_READ_CTL_CB(DEVREAD8("tms5100", tms5100_device, ctl_r)) - MCFG_TMS0270_WRITE_CTL_CB(DEVWRITE8("tms5100", tms5100_device, ctl_w)) - MCFG_TMS0270_WRITE_PDC_CB(DEVWRITELINE("tms5100", tms5100_device, pdc_w)) + MCFG_TMS0270_READ_CTL_CB(DEVREAD8("tms5100", tms5110_device, ctl_r)) + MCFG_TMS0270_WRITE_CTL_CB(DEVWRITE8("tms5100", tms5110_device, ctl_w)) + MCFG_TMS0270_WRITE_PDC_CB(DEVWRITELINE("tms5100", tms5110_device, pdc_w)) MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) MCFG_DEFAULT_LAYOUT(layout_snspell) // max 9 digits @@ -678,16 +683,12 @@ static MACHINE_CONFIG_START( snmath, tispeak_state ) MCFG_DEVICE_ADD("tms6100", TMS6100, MASTER_CLOCK/4) MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD("tms5100", TMS5100, MASTER_CLOCK) - MCFG_TMS5110_M0_CB(DEVWRITELINE("tms6100", tms6100_device, tms6100_m0_w)) - MCFG_TMS5110_M1_CB(DEVWRITELINE("tms6100", tms6100_device, tms6100_m1_w)) - MCFG_TMS5110_ADDR_CB(DEVWRITE8("tms6100", tms6100_device, tms6100_addr_w)) - MCFG_TMS5110_DATA_CB(DEVREADLINE("tms6100", tms6100_device, tms6100_data_r)) - MCFG_TMS5110_ROMCLK_CB(DEVWRITELINE("tms6100", tms6100_device, tms6100_romclock_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5) + MCFG_SOUND_ADD("tms5100", CD2801, MASTER_CLOCK) + MCFG_FRAGMENT_ADD(tms5110_route) MACHINE_CONFIG_END -static MACHINE_CONFIG_DERIVED( snspell, snmath ) + +static MACHINE_CONFIG_DERIVED( sns_cd2801, snmath ) /* basic machine hardware */ MCFG_CPU_MODIFY("maincpu") @@ -701,6 +702,21 @@ static MACHINE_CONFIG_DERIVED( snspell, snmath ) MCFG_SOFTWARE_LIST_ADD("cart_list", "snspell") MACHINE_CONFIG_END +static MACHINE_CONFIG_DERIVED( sns_tmc0281, sns_cd2801 ) + + /* sound hardware */ + MCFG_SOUND_REPLACE("tms5100", TMC0281, MASTER_CLOCK) + MCFG_FRAGMENT_ADD(tms5110_route) +MACHINE_CONFIG_END + +static MACHINE_CONFIG_DERIVED( sns_tmc0281d, sns_cd2801 ) + + /* sound hardware */ + MCFG_SOUND_REPLACE("tms5100", TMC0281D, MASTER_CLOCK) + MCFG_FRAGMENT_ADD(tms5110_route) +MACHINE_CONFIG_END + + static MACHINE_CONFIG_DERIVED( snread, snmath ) /* basic machine hardware */ @@ -715,6 +731,7 @@ static MACHINE_CONFIG_DERIVED( snread, snmath ) MCFG_SOFTWARE_LIST_ADD("cart_list", "snread") MACHINE_CONFIG_END + static MACHINE_CONFIG_DERIVED( lantutor, snmath ) /* basic machine hardware */ @@ -922,18 +939,18 @@ ROM_END -/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY, FULLNAME, FLAGS */ -COMP( 1978, snspell, 0, 0, snspell, snspell, tispeak_state, snspell, "Texas Instruments", "Speak & Spell (US, 1978 version/patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) -COMP( 1979, snspella, snspell, 0, snspell, snspell, tispeak_state, snspell, "Texas Instruments", "Speak & Spell (US, 1979 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) // incomplete dump, uses patent MCU ROM -COMP( 1980, snspellb, snspell, 0, snspell, snspell, tispeak_state, snspell, "Texas Instruments", "Speak & Spell (US, 1980 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) // incomplete dump, uses patent MCU ROM -COMP( 1978, snspelluk, snspell, 0, snspell, snspell, tispeak_state, snspell, "Texas Instruments", "Speak & Spell (UK, 1978 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) // incomplete dump, uses patent MCU ROM -COMP( 1981, snspelluka, snspell, 0, snspell, snspell, tispeak_state, snspell, "Texas Instruments", "Speak & Spell (UK, 1981 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) // incomplete dump, uses patent MCU ROM -COMP( 1979, snspelljp, snspell, 0, snspell, snspell, tispeak_state, snspell, "Texas Instruments", "Speak & Spell (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) // incomplete dump, uses patent MCU ROM -COMP( 1980, ladictee, snspell, 0, snspell, snspell, tispeak_state, snspell, "Texas Instruments", "La Dictee Magique (France)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) // doesn't work due to missing CD2702 MCU dump, German/Italian version has CD2702 too +/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY, FULLNAME, FLAGS */ +COMP( 1978, snspell, 0, 0, sns_tmc0281, snspell, tispeak_state, snspell, "Texas Instruments", "Speak & Spell (US, 1978 version/patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) +COMP( 1979, snspella, snspell, 0, sns_tmc0281, snspell, tispeak_state, snspell, "Texas Instruments", "Speak & Spell (US, 1979 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) // incomplete dump, uses patent MCU ROM +COMP( 1980, snspellb, snspell, 0, sns_tmc0281d,snspell, tispeak_state, snspell, "Texas Instruments", "Speak & Spell (US, 1980 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) // incomplete dump, uses patent MCU ROM +COMP( 1978, snspelluk, snspell, 0, sns_tmc0281, snspell, tispeak_state, snspell, "Texas Instruments", "Speak & Spell (UK, 1978 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) // incomplete dump, uses patent MCU ROM +COMP( 1981, snspelluka, snspell, 0, sns_cd2801, snspell, tispeak_state, snspell, "Texas Instruments", "Speak & Spell (UK, 1981 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) // incomplete dump, uses patent MCU ROM +COMP( 1979, snspelljp, snspell, 0, sns_tmc0281, snspell, tispeak_state, snspell, "Texas Instruments", "Speak & Spell (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) // incomplete dump, uses patent MCU ROM +COMP( 1980, ladictee, snspell, 0, sns_cd2801, snspell, tispeak_state, snspell, "Texas Instruments", "La Dictee Magique (France)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) // doesn't work due to missing CD2702 MCU dump, German/Italian version has CD2702 too -COMP( 1986, snmath, 0, 0, snmath, snmath, driver_device, 0, "Texas Instruments", "Speak & Math (US, 1986 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) -COMP( 1980, snmathp, snmath, 0, snmath, snmath, driver_device, 0, "Texas Instruments", "Speak & Math (US, 1980 version/patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) +COMP( 1986, snmath, 0, 0, snmath, snmath, driver_device, 0, "Texas Instruments", "Speak & Math (US, 1986 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) +COMP( 1980, snmathp, snmath, 0, snmath, snmath, driver_device, 0, "Texas Instruments", "Speak & Math (US, 1980 version/patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) -COMP( 1980, snread, 0, 0, snread, snread, tispeak_state, snspell, "Texas Instruments", "Speak & Read (US)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) +COMP( 1980, snread, 0, 0, snread, snread, tispeak_state, snspell, "Texas Instruments", "Speak & Read (US)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) -COMP( 1979, lantutor, 0, 0, lantutor, lantutor, tispeak_state, lantutor, "Texas Instruments", "Language Tutor (patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) +COMP( 1979, lantutor, 0, 0, lantutor, lantutor, tispeak_state, lantutor, "Texas Instruments", "Language Tutor (patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )