From cc03645742db1ac1f9d36b388865ea2c3156bf68 Mon Sep 17 00:00:00 2001 From: hap Date: Fri, 5 Aug 2022 19:40:20 +0200 Subject: tms1000: move known pinouts to device headers --- src/devices/cpu/tms1000/tms0980.h | 24 +++++++++++++++++++ src/devices/cpu/tms1000/tms1000.h | 44 ++++++++++++++++++++++++++++++++++ src/devices/cpu/tms1000/tms1100.h | 46 ++++++++++++++++++++++++++++++++++++ src/devices/cpu/tms1000/tms1400.h | 22 +++++++++++++++++ src/devices/cpu/tms1000/tms1k_base.h | 41 -------------------------------- src/mame/handheld/tispeak.cpp | 39 +++++++++++++++--------------- 6 files changed, 155 insertions(+), 61 deletions(-) diff --git a/src/devices/cpu/tms1000/tms0980.h b/src/devices/cpu/tms1000/tms0980.h index 331dbde66aa..be6a3906a6e 100644 --- a/src/devices/cpu/tms1000/tms0980.h +++ b/src/devices/cpu/tms1000/tms0980.h @@ -14,6 +14,30 @@ #include "tms0970.h" +// pinout reference + +/* + ____ ____ + R2 1 |* \_/ | 28 R3 + R1 2 | | 27 R4 + R0 3 | | 26 R5 + ? 4 | | 25 R6 + Vdd 5 | | 24 R7 + K3 6 | | 23 R8 + K8 7 | TMS0980 | 22 ? + K4 8 | | 21 ? + K2 9 | | 20 Vss + K1 10 | | 19 ? + O7 11 | | 18 O0 + O6 12 | | 17 O1 + O5 13 | | 16 O2 + O4 14 |___________| 15 O3 + + note: TMS0980 official pin names for R0-R8 is D9-D1, O0-O7 is S(A-G,DP) + +*/ + + class tms0980_cpu_device : public tms0970_cpu_device { public: diff --git a/src/devices/cpu/tms1000/tms1000.h b/src/devices/cpu/tms1000/tms1000.h index f3dbb0a826a..0c01fd6e5bf 100644 --- a/src/devices/cpu/tms1000/tms1000.h +++ b/src/devices/cpu/tms1000/tms1000.h @@ -14,6 +14,50 @@ #include "tms1k_base.h" +// pinout reference + +/* + ____ ____ + R8 1 |* \_/ | 28 R7 + R9 2 | | 27 R6 + R10 3 | | 26 R5 + Vdd 4 | | 25 R4 + K1 5 | | 24 R3 + K2 6 | | 23 R2 + K4 7 | TMS1000 | 22 R1 + K8 8 | TMS1070 | 21 R0 + INIT 9 | | 20 Vss + O7 10 | | 19 OSC2 + O6 11 | | 18 OSC1 + O5 12 | | 17 O0 + O4 13 | | 16 O1 + O3 14 |___________| 15 O2 + + ____ ____ ____ ____ + R8 1 |* \_/ | 48 R7 R8 1 |* \_/ | 48 NC + R9 2 | | 39 R6 R9 2 | | 39 R7 + R10 3 | | 38 R5 R10 3 | | 38 R6 + R11 4 | | 37 R4 R11 4 | | 37 R5 + R12 5 | | 36 R3 R12 5 | | 36 R4 + Vdd 6 | | 35 NC Vdd 6 | | 35 R3 + K1 7 | | 34 NC K1 7 | | 34 NC + K2 8 | | 33 NC K2 8 | | 33 NC + K4 9 | | 32 NC K4 9 | | 32 NC + K8 10 | TMS1200 | 31 R2 K8 10 | TMS1270 | 31 NC + INIT 11 | | 30 R1 INIT 11 | | 30 R2 + O7 12 | | 29 R0 NC 12 | | 29 R1 + NC 13 | | 28 Vss NC 13 | | 28 Vss + NC 14 | | 27 OSC2 O7 14 | | 27 R0 + NC 15 | | 26 OSC1 O6 15 | | 26 OSC2 + O6 16 | | 25 O0 O5 16 | | 25 OSC1 + O5 17 | | 24 O1 O9 17 | | 24 O0 + O4 18 | | 23 O2 O4 18 | | 23 O1 + O3 19 | | 22 NC O3 19 | | 22 O2 + NC 20 |___________| 21 NC O8 20 |___________| 21 NC + +*/ + + class tms1000_cpu_device : public tms1k_base_device { public: diff --git a/src/devices/cpu/tms1000/tms1100.h b/src/devices/cpu/tms1000/tms1100.h index a55d7e6099a..f61145346c5 100644 --- a/src/devices/cpu/tms1000/tms1100.h +++ b/src/devices/cpu/tms1000/tms1100.h @@ -14,6 +14,52 @@ #include "tms1000.h" +// pinout reference + +/* + ____ ____ + R8 1 |* \_/ | 28 R7 + R9 2 | | 27 R6 + R10 3 | | 26 R5 + Vdd 4 | | 25 R4 + K1 5 | | 24 R3 + K2 6 | | 23 R2 + K4 7 | TMS1100 | 22 R1 + K8 8 | TMS1170 | 21 R0 + INIT 9 | | 20 Vss + O7 10 | | 19 OSC2 + O6 11 | | 18 OSC1 + O5 12 | | 17 O0 + O4 13 | | 16 O1 + O3 14 |___________| 15 O2 + + ____ ____ + R11 1 |* \_/ | 48 R10 + R12 2 | | 39 R9 + R13 3 | | 38 R8 + R14 4 | | 37 R7 + R15 5 | | 36 R6 + Vdd 6 | | 35 NC + K1 7 | | 34 R5 + K2 8 | | 33 R4 + K4 9 | | 32 R3 + K8 10 | TMS1300 | 31 R1 + INIT 11 | | 30 R0 + O7 12 | | 29 Vss + NC 13 | | 28 OSC2 + NC 14 | | 27 OSC1 + NC 15 | | 26 O0 + O6 16 | | 25 O1 + O5 17 | | 24 O2 + O4 18 | | 23 NC + O3 19 | | 22 NC + NC 20 |___________| 21 NC + + note: TMS1100 pinout is the same as TMS1000 + +*/ + + class tms1100_cpu_device : public tms1000_cpu_device { public: diff --git a/src/devices/cpu/tms1000/tms1400.h b/src/devices/cpu/tms1000/tms1400.h index 3f89ee34fb8..9967702596c 100644 --- a/src/devices/cpu/tms1000/tms1400.h +++ b/src/devices/cpu/tms1000/tms1400.h @@ -14,6 +14,28 @@ #include "tms1100.h" +// pinout reference + +/* + ____ ____ + R0 1 |* \_/ | 28 Vss + R1 2 | | 27 OSC2 + R2 3 | | 26 OSC1 + R3 4 | | 25 O0 + R4 5 | | 24 O1 + R5 6 | | 23 O2 + R6 7 | TMS1400 | 22 O3 + R7 8 | | 21 O4 + R8 9 | | 20 O5 + R9 10 | | 19 O6 + R10 11 | | 18 O7 + Vdd 12 | | 17 K8 + INIT 13 | | 16 K4 + K1 14 |___________| 15 K2 + +*/ + + class tms1400_cpu_device : public tms1100_cpu_device { public: diff --git a/src/devices/cpu/tms1000/tms1k_base.h b/src/devices/cpu/tms1000/tms1k_base.h index f8b7990c517..45a03dd5af4 100644 --- a/src/devices/cpu/tms1000/tms1k_base.h +++ b/src/devices/cpu/tms1000/tms1k_base.h @@ -17,47 +17,6 @@ #include "machine/pla.h" -// pinout reference - -/* - ____ ____ ____ ____ - R8 1 |* \_/ | 28 R7 R0 1 |* \_/ | 28 Vss - R9 2 | | 27 R6 R1 2 | | 27 OSC2 - R10 3 | | 26 R5 R2 3 | | 26 OSC1 - Vdd 4 | | 25 R4 R3 4 | | 25 O0 - K1 5 | | 24 R3 R4 5 | | 24 O1 - K2 6 | TMS1000 | 23 R2 R5 6 | | 23 O2 - K4 7 | TMS1070 | 22 R1 R6 7 | TMS1400 | 22 O3 - K8 8 | TMS1100 | 21 R0 R7 8 | | 21 O4 - INIT 9 | TMS1170 | 20 Vss R8 9 | | 20 O5 - O7 10 | | 19 OSC2 R9 10 | | 19 O6 - O6 11 | | 18 OSC1 R10 11 | | 18 O7 - O5 12 | | 17 O0 Vdd 12 | | 17 K8 - O4 13 | | 16 O1 INIT 13 | | 16 K4 - O3 14 |___________| 15 O2 K1 14 |___________| 15 K2 - - - ____ ____ - R2 1 |* \_/ | 28 R3 - R1 2 | | 27 R4 - R0 3 | | 26 R5 - ? 4 | | 25 R6 - Vdd 5 | | 24 R7 - K3 6 | | 23 R8 - K8 7 | TMS0980 | 22 ? - K4 8 | | 21 ? - K2 9 | | 20 Vss - K1 10 | | 19 ? - O7 11 | | 18 O0 - O6 12 | | 17 O1 - O5 13 | | 16 O2 - O4 14 |___________| 15 O3 - - note: TMS0980 official pin names for R0-R8 is D9-D1, O0-O7 is S(A-G,DP) - -*/ - - class tms1k_base_device : public cpu_device { public: diff --git a/src/mame/handheld/tispeak.cpp b/src/mame/handheld/tispeak.cpp index aed511de91e..93637f75f08 100644 --- a/src/mame/handheld/tispeak.cpp +++ b/src/mame/handheld/tispeak.cpp @@ -42,7 +42,7 @@ above expectations. TI continued to manufacture many products for this line. - VFD: NEC FIP8A5AR no. 3A - notes: keyboard has buttons instead of cheap membrane - Speak & Spell (US), 1979 + Speak & Spell (US), 1980 - MCU: TMC0271, label TMC0271H-N2L FDS (die label: T0270D 0271H) - TMS51xx: TMC0281 - VSM(1/2): 16KB TMC0351N2L @@ -50,14 +50,14 @@ above expectations. TI continued to manufacture many products for this line. - notes: fixed a funny bug with gibberish-talk when Module button is pressed with no module inserted, MCU ROM contents differs from 1978 version - Speak & Spell (US), 1980 - - MCU: same as 1979 version + Speak & Spell (US), 1981 + - MCU: same as 1980 version - 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 1979 version) + - MCU: TMC0271 (assume same as US 1980 version) - TMS51xx: TMC0281 - VSM(1/2): 16KB CD2321 - VSM(2/2): 16KB CD2322 @@ -74,35 +74,34 @@ above expectations. TI continued to manufacture many products for this line. word 'butcher' took 3 days - I still don't know if it sounds right." Speak & Spell (UK), 1981 - - MCU: TMC0271 (assume same as US 1979 version) + - MCU: TMC0271 (assume same as US 1980 version) - TMS51xx: CD2801 - VSM: 16KB CD62175 - VFD: some seen with the one from Speak & Math(!) - notes: this one has a dedicated voice actor - Speak & Spell (Spanish, prototype), 1981 + Speak & Spell (Spanish, prototype), 1980 - 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 + Speak & Spell (France) "La Dictée Magique", 1981 - MCU: CD2702, label CD2702AN2L (die label: TMC0270F 2702A) - TMS51xx: CD2801 - VSM: 16KB CD2352 Speak & Spell (Germany) "Buddy", 1980 (stylized as "buddy") - - MCU & TMS51xx: same as French 1980 version + - MCU & TMS51xx: same as French 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 + Speak & Spell (Italy) "Grillo Parlante", 1983 + - MCU & TMS51xx: same as French version - VSM: 16KB CD62190 - VFD: same as Speak & Math - - 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) @@ -162,13 +161,13 @@ Speak & Math: of the TI employees in a hurry, the day before a demo. Apparently QA never found out and it ended up in the final product. - Speak & Math (US), 1981 + Speak & Math (US), 1986 - MCU: CD2708, label CD2708N2L (die label: TMC0270F 2708A) - TMS51xx: CD2801 - VSM(1/2): 16KB CD2381 - VSM(2/2): 4KB CD2614 - Speak & Math 'Compact' (France) "Les Maths Magiques", 1986? + Speak & Math 'Compact' (France) "Les Maths Magiques", 1982 - MCU: CP3447-NL* (TMS1100?) - TMS51xx: CD2801A - VSM: 16KB? CD62173* @@ -1916,23 +1915,23 @@ ROM_END // 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( 1980, snspell, 0, 0, sns_tmc0281, 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( 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( 1981, snspellub, snspell, 0, sns_tmc0281d, snspell, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell (US, 1981 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( 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 ) // 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 / Clementoni", "Grillo Parlante (Italy)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) +COMP( 1980, snspelljp, snspell, 0, sns_tmc0281, snspell, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) // speaks English +COMP( 1980, snspellsp, snspell, 0, snspellsp, snspellsp, tispeak_state, init_snspell, "Texas Instruments", "Speak & Spell (Spanish, prototype)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) +COMP( 1981, 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( 1983, 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 ) 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( 1981, snmatha, snmath, 0, snmath, snmath, tispeak_state, empty_init, "Texas Instruments", "Speak & Math (US, 1981 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) // less speech data +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, snread, 0, 0, snread, snread, tispeak_state, init_snspell, "Texas Instruments", "Speak & Read (US)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) -- cgit v1.2.3-70-g09d2