tms1000: move known pinouts to device headers

This commit is contained in:
hap 2022-08-05 19:40:20 +02:00
parent 3e84fa0dd3
commit cc03645742
6 changed files with 155 additions and 61 deletions

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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:

View File

@ -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 )