summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/handheld/tispeak.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/handheld/tispeak.cpp')
-rw-r--r--src/mame/handheld/tispeak.cpp62
1 files changed, 34 insertions, 28 deletions
diff --git a/src/mame/handheld/tispeak.cpp b/src/mame/handheld/tispeak.cpp
index 47894b4b789..9c0b1a4f9f6 100644
--- a/src/mame/handheld/tispeak.cpp
+++ b/src/mame/handheld/tispeak.cpp
@@ -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.
Speak & Spell (US), 1978
- - MCU: TMC0271, label TMC0271NL DBS (die label T0270B 0271B)
+ - MCU: TMC0271, label TMC0271NL DBS (die label: T0270B 0271B)
- TMS51xx: TMC0281
- VSM(1/2): 16KB TMC0351NL
- 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
Speak & Spell (US), 1979
- - MCU: TMC0271, label TMC0271H-N2L FDS (die label T0270D 0271H)
+ - MCU: TMC0271, label TMC0271H-N2L FDS (die label: T0270D 0271H)
- TMS51xx: TMC0281
- VSM(1/2): 16KB TMC0351N2L
- VSM(2/2): 16KB TMC0352N2L
@@ -81,21 +81,22 @@ above expectations. TI continued to manufacture many products for this line.
- notes: this one has a dedicated voice actor
Speak & Spell (Spanish, prototype), 1981
- - MCU: CD2701N2L P (die label T0270D 2701)
- - TMS51xx: TMC0281 (die label T0280A 0281)
+ - MCU: CD2701N2L P (die label: T0270D 2701)
+ - TMS51xx: TMC0281 (die label: T0280A 0281)
- VSM(1/2): 16KB CD2319
- VSM(2/2): 16KB CD2320
- VFD: 8 digits with 14 segments, DP and accent mark
Speak & Spell (France) "La Dictée Magique", 1980
- - MCU: CD2702, label CD2702AN2L (die label TMC0270F 2702A)
+ - MCU: CD2702, label CD2702AN2L (die label: TMC0270F 2702A)
- TMS51xx: CD2801
- VSM: 16KB CD2352
- Speak & Spell (Germany) "Buddy", 1980
+ Speak & Spell (Germany) "Buddy", 1980 (stylized as "buddy")
- MCU & TMS51xx: same as French 1980 version
- VSM(1/2): 16KB CD2345*
- VSM(2/2): 16KB CD2346*
+ - VFD: has umlaut instead of apostrophe
Speak & Spell (Italy) "Grillo Parlante", 1982
- MCU & TMS51xx: same as French 1980 version
@@ -104,8 +105,8 @@ above expectations. TI continued to manufacture many products for this line.
- notes: it appears that TI ran out of original snspell VFDs in the early 80s?
Speak & Spell Compact (US), 1981
- - MCU: CD8011, label CD8011A-NL (die label 1100B)
- - TMS51xx: TMC0281D (die label T0280F 0281D)
+ - MCU: CD8011, label CD8011A-NL (die label: 1100B)
+ - TMS51xx: TMC0281D (die label: T0280F 0281D)
- VSM: 16KB CD2354, CD2354(rev.A)
- notes: no display, MCU is TMS1100 instead of TMS0270, overall similar to Touch & Tell
@@ -140,9 +141,9 @@ Note that they are interchangeable, eg. you can use a French module on a US Spea
French:
- No.1: Les Mots de Base: VSM: 16KB CD2353 (1st release was called "Module No. 1 de Jacques Capelovici")
- No.2: Les Mots Difficiles (aka Les Mots de Base): VSM: 16KB CD62177A
- - No.3: Les Animaux Familiers: VSM: 16KB? CD62047*
+ - 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*
+ - No.5: Les Extra-Terrestres: VSM: 16KB CD62178*
Italian:
- Super Modulo: VSM: 16KB? CD62313*
@@ -151,7 +152,7 @@ Note that they are interchangeable, eg. you can use a French module on a US Spea
Speak & Math:
Speak & Math (US), 1980 (renamed to "Speak & Maths" in UK, but is the same product)
- - MCU: CD2704, label CD2704B-N2L (die label TMC0270F 2704B) - 2nd revision?(mid-1982)
+ - MCU: CD2704, label CD2704B-N2L (die label: TMC0270F 2704B) - 2nd revision?(mid-1982)
- TMS51xx: CD2801
- VSM(1/2): 16KB CD2392
- VSM(2/2): 16KB CD2393
@@ -162,7 +163,7 @@ Speak & Math:
never found out and it ended up in the final product.
Speak & Math (US), 1986
- - MCU: CD2708, label CD2708N2L (die label TMC0270F 2708A)
+ - MCU: CD2708, label CD2708N2L (die label: TMC0270F 2708A)
- TMS51xx: CD2801
- VSM(1/2): 16KB CD2381
- VSM(2/2): 4KB CD2614
@@ -178,7 +179,7 @@ Speak & Math:
Speak & Read:
Speak & Read (US), 1980
- - MCU: CD2705, label CD2705B-N2L (die label TMC0270E 2705B) - 2nd revision?(late-1981)
+ - MCU: CD2705, label CD2705B-N2L (die label: TMC0270E 2705B) - 2nd revision?(late-1981)
- TMS51xx: CD2801
- VSM(1/2): 16KB CD2394(rev.A)
- VSM(2/2): 16KB CD2395(rev.A)
@@ -200,7 +201,7 @@ Speak & Read modules:
Touch & Tell:
Touch & Tell (US), 1981
- - MCU: CD8012, label CD8012NL (die label 1100G CD8012)
+ - MCU: CD8012, label CD8012NL (die label: 1100G CD8012)
- TMS51xx: CD2802
- VSM: 4KB CD2610
- notes: MCU is TMS1100 instead of TMS0270. CD8010 is seen in some devices
@@ -220,7 +221,7 @@ Touch & Tell:
Touch & Tell (Italy) "Libro Parlante", 1982
- MCU & TMS51xx: same as US version
- - VSM: ?KB CD62176*
+ - VSM: ?KB CD62176* (on a module)
Vocaid (US), 1982
- MCU & TMS51xx: same as Touch & Tell (US)
@@ -329,8 +330,8 @@ Initially sold as Language Translator, renamed to Language Tutor a year later.
It was rebranded from translator to a 'language aid'.
Language Translator (US), 1979
- - MCU: TMC0275 (die label T0270D 0275B)
- - TMS51xx: CD2801 (die label T0280B 2801)
+ - MCU: TMC0275 (die label: T0270D 0275B)
+ - TMS51xx: CD2801 (die label: T0280B 2801)
- VFD: Itron FG106A2
- notes: external module is required (see below)
@@ -621,16 +622,18 @@ void tispeak_state::update_display()
void tispeak_state::snspell_write_r(u16 data)
{
- // R13: power-off request, on falling edge
- if (~data & m_r & 0x2000)
- power_off();
-
// R0-R7: input mux and select digit (+R8 if the device has 9 digits)
// R15: filament on
// other bits: MCU internal use
- m_r = m_inp_mux = data;
+ m_inp_mux = data;
m_grid = data & 0x81ff;
update_display();
+
+ // R13: power-off request, on falling edge
+ if (~data & m_r & 0x2000)
+ power_off();
+
+ m_r = data;
}
void tispeak_state::snspell_write_o(u16 data)
@@ -675,6 +678,9 @@ void tispeak_state::lantrans_write_r(u16 data)
void tispeak_state::snspellc_write_r(u16 data)
{
+ // R0-R8: input mux
+ m_inp_mux = data;
+
// R10: TMS5100 PDC pin
m_tms5100->pdc_w(data >> 10 & 1);
@@ -682,8 +688,7 @@ void tispeak_state::snspellc_write_r(u16 data)
if (~data & m_r & 0x200)
power_off();
- // R0-R8: input mux
- m_r = m_inp_mux = data;
+ m_r = data;
}
void tispeak_state::snspellc_write_o(u16 data)
@@ -772,12 +777,13 @@ void tispeak_state::k28_write_r(u16 data)
// R5: input mux high bit
m_inp_mux = (m_inp_mux & 0xff) | (data << 3 & 0x100);
+ // R7-R10: LCD data
+ k28_update_display(m_r >> 7 & 0xf, data >> 7 & 0xf);
+
// R6: power-off request, on falling edge
if (~data & m_r & 0x40)
power_off();
- // R7-R10: LCD data
- k28_update_display(m_r >> 7 & 0xf, data >> 7 & 0xf);
m_r = r;
}
@@ -1909,7 +1915,7 @@ 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( 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
@@ -1919,7 +1925,7 @@ COMP( 1981, snspelluka, snspell, 0, sns_cd2801, snspell, tispeak_state, in
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( 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 / Clementoni", "Grillo Parlante (Italy)", 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( 1981, snspellca, snspellc, 0, snspellc, snspellc, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell Compact (US, 1981 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )