mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
tispeak: added notes
This commit is contained in:
parent
9a8c689960
commit
86c6573d3b
@ -203,7 +203,8 @@ const device_type TMS0270 = &device_creator<tms0270_cpu_device>; // 40-pin DIP,
|
||||
// TMS0260 is same or similar?
|
||||
|
||||
// TP0320 is TI's first CMOS MCU with integrated LCD controller, the die is still very similar to TMS0980
|
||||
// - x
|
||||
// - ROM and main RAM is same as on TMS0980 with different row-select
|
||||
// -
|
||||
const device_type TP0320 = &device_creator<tp0320_cpu_device>; // 28-pin SDIP, ..
|
||||
|
||||
|
||||
|
@ -11,7 +11,8 @@
|
||||
#include "tms0980.h"
|
||||
|
||||
|
||||
enum e_mnemonics {
|
||||
enum e_mnemonics
|
||||
{
|
||||
zA10AAC=0, zA6AAC, zA8AAC, zAC1AC, zACACC, zACNAA, zALEC, zALEM, zAMAAC, zBRANCH, zCALL, zCCLA,
|
||||
zCLA, zCLO, zCOMC, zCOMX, zCOMX8, zCPAIZ, zCTMDYN, zDAN, zDMAN, zDMEA, zDNAA,
|
||||
zDYN, zIA, zIMAC, zIYC, zKNEZ, zLDP, zLDX, zLDX3, zLDX4, zMNEA, zMNEZ,
|
||||
@ -22,7 +23,8 @@ enum e_mnemonics {
|
||||
zILL
|
||||
};
|
||||
|
||||
static const char *const s_mnemonic[] = {
|
||||
static const char *const s_mnemonic[] =
|
||||
{
|
||||
"A10AAC", "A6AAC", "A8AAC", "AC1AC", "ACACC", "ACNAA", "ALEC", "ALEM", "AMAAC", "BRANCH", "CALL", "CCLA",
|
||||
"CLA", "CLO", "COMC", "COMX", "COMX8", "CPAIZ", "CTMDYN", "DAN", "DMAN", "DMEA", "DNAA",
|
||||
"DYN", "IA", "IMAC", "IYC", "KNEZ", "LDP", "LDX", "LDX", "LDX", "MNEA", "MNEZ",
|
||||
@ -37,7 +39,8 @@ static const char *const s_mnemonic[] = {
|
||||
#define _OVER DASMFLAG_STEP_OVER
|
||||
#define _OUT DASMFLAG_STEP_OUT
|
||||
|
||||
static const UINT32 s_flags[] = {
|
||||
static const UINT32 s_flags[] =
|
||||
{
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, _OVER, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
@ -49,11 +52,13 @@ static const UINT32 s_flags[] = {
|
||||
};
|
||||
|
||||
|
||||
enum e_addressing {
|
||||
enum e_addressing
|
||||
{
|
||||
zB0=0, zI2, zI3, zI4, zB7
|
||||
};
|
||||
|
||||
static const UINT8 s_addressing[] = {
|
||||
static const UINT8 s_addressing[] =
|
||||
{
|
||||
zB0, zB0, zB0, zI4, zI4, zI4, zI4, zB0, zB0, zB7, zB7, zB0,
|
||||
zB0, zB0, zB0, zB0, zB0, zB0, zB0, zB0, zB0, zB0, zB0,
|
||||
zB0, zB0, zB0, zB0, zB0, zI4, zI2, zI3, zI4, zB0, zB0,
|
||||
@ -65,7 +70,25 @@ static const UINT8 s_addressing[] = {
|
||||
};
|
||||
|
||||
|
||||
static const UINT8 tms0980_mnemonic[512] = {
|
||||
static const UINT8 tms0980_i2_value[4] =
|
||||
{
|
||||
0, 2, 1, 3
|
||||
};
|
||||
static const UINT8 tms0980_i3_value[8] =
|
||||
{
|
||||
0, 4, 2, 6, 1, 5, 3, 7
|
||||
};
|
||||
static const UINT8 tms0980_i4_value[16] =
|
||||
{
|
||||
0x0, 0x8, 0x4, 0xc, 0x2, 0xa, 0x6, 0xe, 0x1, 0x9, 0x5, 0xd, 0x3, 0xb, 0x7, 0xf
|
||||
};
|
||||
|
||||
|
||||
|
||||
// opcode luts
|
||||
|
||||
static const UINT8 tms0980_mnemonic[512] =
|
||||
{
|
||||
/* 0x000 */
|
||||
zCOMX, zALEM, zYNEA, zXMA, zDYN, zIYC, zCLA, zDMAN,
|
||||
zTKA, zMNEA, zTKM, zILL, zILL, zSETR, zKNEZ, zILL,
|
||||
@ -151,7 +174,8 @@ static const UINT8 tms0980_mnemonic[512] = {
|
||||
};
|
||||
|
||||
|
||||
static const UINT8 tms1000_mnemonic[256] = {
|
||||
static const UINT8 tms1000_mnemonic[256] =
|
||||
{
|
||||
/* 0x00 */
|
||||
zCOMX, zA8AAC, zYNEA, zTAM, zTAMZA, zA10AAC, zA6AAC, zDAN,
|
||||
zTKA, zKNEZ, zTDO, zCLO, zRSTR, zSETR, zIA, zRETN,
|
||||
@ -191,7 +215,8 @@ static const UINT8 tms1000_mnemonic[256] = {
|
||||
};
|
||||
|
||||
|
||||
static const UINT8 tms1100_mnemonic[256] = {
|
||||
static const UINT8 tms1100_mnemonic[256] =
|
||||
{
|
||||
/* 0x00 */
|
||||
zMNEA, zALEM, zYNEA, zXMA, zDYN, zIYC, zAMAAC, zDMAN,
|
||||
zTKA, zCOMX, zTDO, zCOMC, zRSTR, zSETR, zKNEZ, zRETN,
|
||||
@ -233,21 +258,11 @@ static const UINT8 tms1100_mnemonic[256] = {
|
||||
};
|
||||
|
||||
|
||||
static const UINT8 tms0980_i2_value[4] =
|
||||
{
|
||||
0x00, 0x02, 0x01, 0x03
|
||||
};
|
||||
static const UINT8 tms0980_i3_value[8] =
|
||||
{
|
||||
0x00, 0x04, 0x02, 0x06, 0x01, 0x05, 0x03, 0x07
|
||||
};
|
||||
static const UINT8 tms0980_i4_value[16] =
|
||||
{
|
||||
0x00, 0x08, 0x04, 0x0C, 0x02, 0x0A, 0x06, 0x0E, 0x01, 0x09, 0x05, 0x0D, 0x03, 0x0B, 0x07, 0x0F
|
||||
};
|
||||
|
||||
// disasm
|
||||
|
||||
CPU_DISASSEMBLE( tms0980 ) {
|
||||
CPU_DISASSEMBLE( tms0980 )
|
||||
{
|
||||
char *dst = buffer;
|
||||
UINT16 op, instr;
|
||||
int pos = 0;
|
||||
@ -259,7 +274,8 @@ CPU_DISASSEMBLE( tms0980 ) {
|
||||
|
||||
dst += sprintf( dst, "%-8s ", s_mnemonic[instr] );
|
||||
|
||||
switch( s_addressing[instr] ) {
|
||||
switch( s_addressing[instr] )
|
||||
{
|
||||
default:
|
||||
case zB0:
|
||||
break;
|
||||
@ -278,7 +294,8 @@ CPU_DISASSEMBLE( tms0980 ) {
|
||||
}
|
||||
|
||||
|
||||
CPU_DISASSEMBLE( tms1000 ) {
|
||||
CPU_DISASSEMBLE( tms1000 )
|
||||
{
|
||||
char *dst = buffer;
|
||||
UINT8 op, instr;
|
||||
int pos = 0;
|
||||
@ -290,7 +307,8 @@ CPU_DISASSEMBLE( tms1000 ) {
|
||||
|
||||
dst += sprintf( dst, "%-8s ", s_mnemonic[instr] );
|
||||
|
||||
switch( s_addressing[instr] ) {
|
||||
switch( s_addressing[instr] )
|
||||
{
|
||||
default:
|
||||
case zB0:
|
||||
break;
|
||||
@ -309,7 +327,8 @@ CPU_DISASSEMBLE( tms1000 ) {
|
||||
}
|
||||
|
||||
|
||||
CPU_DISASSEMBLE( tms1100 ) {
|
||||
CPU_DISASSEMBLE( tms1100 )
|
||||
{
|
||||
char *dst = buffer;
|
||||
UINT8 op, instr;
|
||||
int pos = 0;
|
||||
@ -321,7 +340,8 @@ CPU_DISASSEMBLE( tms1100 ) {
|
||||
|
||||
dst += sprintf( dst, "%-8s ", s_mnemonic[instr] );
|
||||
|
||||
switch( s_addressing[instr] ) {
|
||||
switch( s_addressing[instr] )
|
||||
{
|
||||
default:
|
||||
case zB0:
|
||||
break;
|
||||
|
@ -34,7 +34,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*, labeled TMC0271NL (die label unknown)
|
||||
- MCU: TMC0271*, label TMC0271NL (die label unknown)
|
||||
- TMS51xx: TMC0281
|
||||
- VSM(1/2): 16KB TMC0351NL
|
||||
- VSM(2/2): 16KB TMC0352NL
|
||||
@ -42,7 +42,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, labeled TMC0271H-N2L (die labeled 0271H T0270D)
|
||||
- MCU: TMC0271, label TMC0271H-N2L (die label 0271H T0270D)
|
||||
- TMS51xx: TMC0281
|
||||
- VSM(1/2): 16KB TMC0351N2L
|
||||
- VSM(2/2): 16KB TMC0352N2L
|
||||
@ -79,8 +79,15 @@ above expectations. TI continued to manufacture many products for this line.
|
||||
- VFD: some seen with the one from Speak & Math(!)
|
||||
- notes: this one has a dedicated voice actor
|
||||
|
||||
Speak & Spell (Spain), 1981
|
||||
- MCU: CD2701N2L*
|
||||
- TMS51xx: TMC0281
|
||||
- VSM(1/2): 16KB? CD2319*
|
||||
- VSM(2/2): 16KB? CD2320*
|
||||
- VFD: 8 digits with 14 segments, DP and accent mark
|
||||
|
||||
Speak & Spell (France) "La Dictee Magique", 1980
|
||||
- MCU: CD2702, labeled CD2702AN2L (die labeled TMC0270F 2702A)
|
||||
- MCU: CD2702, label CD2702AN2L (die label TMC0270F 2702A)
|
||||
- TMS51xx: CD2801
|
||||
- VSM: 16KB CD2352
|
||||
|
||||
@ -96,7 +103,7 @@ 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, labeled CD8011A-NL (die labeled 1100B)
|
||||
- MCU: CD8011, label CD8011A-NL (die label 1100B)
|
||||
- TMS51xx: TMC0281D
|
||||
- VSM: 16KB CD2354, CD2354(rev.A)
|
||||
- notes: no display, MCU is TMS1100 instead of TMS0270, overall similar to Touch & Tell
|
||||
@ -143,7 +150,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, labeled CD2704B-N2L (die labeled 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
|
||||
@ -154,7 +161,7 @@ Speak & Math:
|
||||
Apparently QA never found out and it ended up in the final product.
|
||||
|
||||
Speak & Math (US), 1986
|
||||
- MCU: CD2708, labeled CD2708N2L (die labeled TMC0270F 2708A)
|
||||
- MCU: CD2708, label CD2708N2L (die label TMC0270F 2708A)
|
||||
- TMS51xx: CD2801
|
||||
- VSM(1/2): 16KB CD2381
|
||||
- VSM(2/2): 4KB CD2614
|
||||
@ -170,7 +177,7 @@ Speak & Math:
|
||||
Speak & Read:
|
||||
|
||||
Speak & Read (US), 1980
|
||||
- MCU: CD2705, labeled CD2705B-N2L (die labeled 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)
|
||||
@ -192,7 +199,7 @@ Speak & Read modules:
|
||||
Touch & Tell:
|
||||
|
||||
Touch & Tell (US), 1981
|
||||
- MCU: CD8012, labeled CD8012NL (die labeled 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
|
||||
|
Loading…
Reference in New Issue
Block a user