summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2022-07-30 21:12:46 +0200
committer hap <happppp@users.noreply.github.com>2022-07-30 21:13:00 +0200
commit77eff86988cb12c5f9dce121051b243b321bfca0 (patch)
tree336e953fc251cc60424030f54e5f2a0c03279a11
parente98145d9d8e6cec0c98883d5b5c887fd21d01d27 (diff)
tms0270: fix problem with power off and ctl direction
-rw-r--r--src/devices/cpu/tms1000/tms0270.cpp22
-rw-r--r--src/devices/cpu/tms1000/tms0970.cpp4
-rw-r--r--src/devices/cpu/tms1000/tms0980.cpp4
-rw-r--r--src/devices/cpu/tms1000/tms1k_base.cpp12
-rw-r--r--src/devices/cpu/tms1000/tms1k_base.h1
-rw-r--r--src/mame/handheld/hh_tms1k.cpp179
-rw-r--r--src/mame/handheld/hh_tms1k.h2
-rw-r--r--src/mame/handheld/tispeak.cpp62
-rw-r--r--src/mame/handheld/tispellb.cpp78
-rw-r--r--src/mame/mame.lst2
10 files changed, 181 insertions, 185 deletions
diff --git a/src/devices/cpu/tms1000/tms0270.cpp b/src/devices/cpu/tms1000/tms0270.cpp
index 1b65a548f64..31df0a398bd 100644
--- a/src/devices/cpu/tms1000/tms0270.cpp
+++ b/src/devices/cpu/tms1000/tms0270.cpp
@@ -81,24 +81,26 @@ void tms0270_cpu_device::device_reset()
void tms0270_cpu_device::dynamic_output()
{
// R11: TMS5100 CTL port direction (0=read from TMS5100, 1=write to TMS5100)
- m_ctl_dir = m_r >> 11 & 1;
+ m_ctl_dir = BIT(m_r, 11);
// R12: chip select (off=display via OPLA, on=TMS5100 via ACC/CKB)
- m_chipsel = m_r >> 12 & 1;
+ m_chipsel = BIT(m_r, 12);
if (m_chipsel)
{
// ACC via SEG G,B,C,D: TMS5100 CTL pins
- if (m_ctl_dir && m_a != m_ctl_out)
+ u8 ctl_out = (m_ctl_dir) ? m_a : m_read_ctl() & 0xf;
+ if (m_ctl_out != ctl_out)
{
- m_ctl_out = m_a;
- m_write_ctl(0, m_ctl_out, 0xff);
+ m_ctl_out = ctl_out;
+ m_write_ctl(m_ctl_out);
}
// R10 via SEG E: TMS5100 PDC pin
- if (m_pdc != (m_r >> 10 & 1))
+ int pdc = BIT(m_r, 10);
+ if (m_pdc != pdc)
{
- m_pdc = m_r >> 10 & 1;
+ m_pdc = pdc;
m_write_pdc(m_pdc);
}
}
@@ -115,7 +117,7 @@ void tms0270_cpu_device::dynamic_output()
// standard R-output
if (m_r != m_r_prev)
{
- m_write_r(0, m_r & m_r_mask, 0xffff);
+ m_write_r(m_r & m_r_mask);
m_r_prev = m_r;
}
}
@@ -124,10 +126,10 @@ u8 tms0270_cpu_device::read_k_input()
{
// external: TMS5100 CTL port via SEG G,B,C,D
if (m_chipsel)
- return (m_ctl_dir) ? m_ctl_out : m_read_ctl(0, 0xff) & 0xf;
+ return (m_ctl_dir) ? m_ctl_out : m_read_ctl() & 0xf;
// standard K-input otherwise
- u8 k = m_read_k(0, 0xff) & 0x1f;
+ u8 k = m_read_k() & 0x1f;
return (k & 0x10) ? 0xf : k; // the TMS0270 KF line asserts all K-inputs
}
diff --git a/src/devices/cpu/tms1000/tms0970.cpp b/src/devices/cpu/tms1000/tms0970.cpp
index be7a1c717f8..3463879a8bb 100644
--- a/src/devices/cpu/tms1000/tms0970.cpp
+++ b/src/devices/cpu/tms1000/tms0970.cpp
@@ -118,7 +118,7 @@ void tms0970_cpu_device::write_o_output(u8 index)
{
m_o_index = index;
m_o = m_spla->read(index);
- m_write_o(0, m_o & m_o_mask, 0xffff);
+ m_write_o(m_o & m_o_mask);
}
@@ -135,5 +135,5 @@ void tms0970_cpu_device::op_tdo()
{
// TDO: transfer digits to output
write_o_output(m_a & 0x7);
- m_write_r(0, m_r & m_r_mask, 0xffff);
+ m_write_r(m_r & m_r_mask);
}
diff --git a/src/devices/cpu/tms1000/tms0980.cpp b/src/devices/cpu/tms1000/tms0980.cpp
index 028f1c36428..4b8f9f06bf5 100644
--- a/src/devices/cpu/tms1000/tms0980.cpp
+++ b/src/devices/cpu/tms1000/tms0980.cpp
@@ -25,7 +25,7 @@ DEFINE_DEVICE_TYPE(TMS0980, tms0980_cpu_device, "tms0980", "Texas Instruments TM
// TMS1980 is a TMS0980 with a TMS1x00 style opla
// - RAM, ROM, and main instructions PLAs is the same as TMS0980
// - one of the microinstructions redirects to a RSTR instruction, like on TMS0270
-// - 32-term inverted output PLA above the RAM, 7 bits! (rotate opla 270 degrees)
+// - 32-term output PLA above the RAM, 7 bits! (rotate opla 270 degrees)
DEFINE_DEVICE_TYPE(TMS1980, tms1980_cpu_device, "tms1980", "Texas Instruments TMS1980") // 28-pin DIP, 7 O pins, 10 R pins, high voltage
@@ -185,7 +185,7 @@ void tms0980_cpu_device::read_opcode()
// i/o handling
u8 tms0980_cpu_device::read_k_input()
{
- u8 k = m_read_k(0, 0xff) & 0x1f;
+ u8 k = m_read_k() & 0x1f;
u8 k3 = (k & 0x10) ? 3: 0; // the K3 line is simply K1|K2
return (k & 0xf) | k3;
}
diff --git a/src/devices/cpu/tms1000/tms1k_base.cpp b/src/devices/cpu/tms1000/tms1k_base.cpp
index 5d9494a0539..91c0e545a69 100644
--- a/src/devices/cpu/tms1000/tms1k_base.cpp
+++ b/src/devices/cpu/tms1000/tms1k_base.cpp
@@ -270,9 +270,9 @@ void tms1k_base_device::device_reset()
// clear outputs
m_r = 0;
- m_write_r(0, m_r & m_r_mask, 0xffff);
+ m_write_r(m_r & m_r_mask);
write_o_output(0);
- m_write_r(0, m_r & m_r_mask, 0xffff);
+ m_write_r(m_r & m_r_mask);
m_power_off(0);
}
@@ -320,13 +320,13 @@ void tms1k_base_device::write_o_output(u8 index)
// a hardcoded table is supported if the output pla is unknown
m_o_index = index;
m_o = (m_output_pla_table == nullptr) ? m_opla->read(index) : m_output_pla_table[index];
- m_write_o(0, m_o & m_o_mask, 0xffff);
+ m_write_o(m_o & m_o_mask);
}
u8 tms1k_base_device::read_k_input()
{
// K1,2,4,8 (KC test pin is not emulated)
- return m_read_k(0, 0xff) & 0xf;
+ return m_read_k() & 0xf;
}
void tms1k_base_device::set_cki_bus()
@@ -494,14 +494,14 @@ void tms1k_base_device::op_setr()
{
// SETR: set one R-output line
m_r = m_r | (1 << m_y);
- m_write_r(0, m_r & m_r_mask, 0xffff);
+ m_write_r(m_r & m_r_mask);
}
void tms1k_base_device::op_rstr()
{
// RSTR: reset one R-output line
m_r = m_r & ~(1 << m_y);
- m_write_r(0, m_r & m_r_mask, 0xffff);
+ m_write_r(m_r & m_r_mask);
}
void tms1k_base_device::op_tdo()
diff --git a/src/devices/cpu/tms1000/tms1k_base.h b/src/devices/cpu/tms1000/tms1k_base.h
index 4e27535dff1..a29aef0594b 100644
--- a/src/devices/cpu/tms1000/tms1k_base.h
+++ b/src/devices/cpu/tms1000/tms1k_base.h
@@ -271,7 +271,6 @@ protected:
u32 m_o_mask;
u32 m_r_mask;
- u32 m_k_mask;
u32 m_pc_mask;
u32 m_x_mask;
diff --git a/src/mame/handheld/hh_tms1k.cpp b/src/mame/handheld/hh_tms1k.cpp
index 22c95caa5ec..e9459ee5e23 100644
--- a/src/mame/handheld/hh_tms1k.cpp
+++ b/src/mame/handheld/hh_tms1k.cpp
@@ -168,8 +168,8 @@ on Joerg Woerner's datamath.org: http://www.datamath.org/IC_List.htm
*MP6061 TMS0970 1979, Texas Instruments Electronic Digital Thermostat (from patent, the one in MAME didn't have a label)
@MP6100A TMS0980 1979, Ideal Electronic Detective
@MP6101B TMS0980 1979, Parker Brothers Stop Thief
- *MP6354 ? 1982, Tsukuda The Dracula (? note: 40-pin, VFD-capable)
- *MP6361 ? 1983, <unknown> Defender Strikes (? note: VFD-capable)
+ *MP6354 TMS1375 1982, Tsukuda The Dracula
+ *MP6361 TMS1375? 1983, <unknown> Defender Strikes
@MP7302 TMS1400 1980, Tiger Deluxe Football with Instant Replay
@MP7304 TMS1400 1982, Tiger 7 in 1 Sports Stadium (model 7-555)
@MP7313 TMS1400 1980, Parker Brothers Bank Shot
@@ -387,7 +387,6 @@ INPUT_CHANGED_MEMBER(hh_tms1k_state::reset_button)
INPUT_CHANGED_MEMBER(hh_tms1k_state::power_button)
{
set_power((bool)param);
- m_maincpu->set_input_line(INPUT_LINE_RESET, m_power_on ? CLEAR_LINE : ASSERT_LINE);
}
WRITE_LINE_MEMBER(hh_tms1k_state::auto_power_off)
@@ -400,13 +399,17 @@ WRITE_LINE_MEMBER(hh_tms1k_state::auto_power_off)
void hh_tms1k_state::power_off()
{
set_power(false);
- m_maincpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
void hh_tms1k_state::set_power(bool state)
{
m_power_on = state;
+ m_maincpu->set_input_line(INPUT_LINE_RESET, m_power_on ? CLEAR_LINE : ASSERT_LINE);
+
m_out_power = state ? 1 : 0;
+
+ if (m_display && !m_power_on)
+ m_display->clear();
}
@@ -423,7 +426,7 @@ namespace {
A-One LSI Match Number
* PCB label: PT-204 "Pair Card"
- * TMS1000NLL MP0163 (die label 1000B, MP0163)
+ * TMS1000NLL MP0163 (die label: 1000B, MP0163)
* 2x2-digit 7seg LED displays + 3 LEDs, 1-bit sound
A-One was a subsidiary of Bandai? The PCB serial PT-xxx is same, and the font
@@ -568,7 +571,7 @@ ROM_END
A-One LSI Arrange Ball
* PCB label: Kaken, PT-249
- * TMS1000NLL MP0166 (die label 1000B, MP0166)
+ * TMS1000NLL MP0166 (die label: 1000B, MP0166)
* 2-digit 7seg LED display + 22 LEDs, 1-bit sound
known releases:
@@ -845,7 +848,7 @@ ROM_END
/***************************************************************************
Bandai System Control Car: Cheetah 「システムコントロールカー チーター」
- * TMS1000NLL MP0915 (die label 1000B, MP0915)
+ * TMS1000NLL MP0915 (die label: 1000B, MP0915)
* 2 motors (one for back axis, one for steering), no sound
It's a programmable buggy, like Big Track but much simpler. To add a command
@@ -981,7 +984,7 @@ ROM_END
/***************************************************************************
Bandai TC7: Air Traffic Control
- * TMS1100 MCU, label MP1311 (die label 1100E, MP1311)
+ * TMS1100 MCU, label MP1311 (die label: 1100E, MP1311)
* 4-digit 7seg LED display, 40 other LEDs, 1-bit sound
It is a very complicated game, refer to the manual on how to play.
@@ -1108,7 +1111,7 @@ ROM_END
Canon Palmtronic F-31, Canon Canola L813, Toshiba BC-8111B, Toshiba BC-8018B,
Triumph-Adler 81 SN, Silver-Reed 8J, more
- * TMS1040 MCU label TMS1045NL (die label 1040A, 1045)
+ * TMS1040 MCU label TMS1045NL (die label: 1040A, 1045)
* 9-digit cyan VFD display (leftmost may be custom)
TMS1045NL is a versatile calculator chip for 3rd party manufacturers, used
@@ -1276,7 +1279,7 @@ ROM_END
Canon Palmtronic MD-8 (Multi 8) / Canon Canola MD 810
* PCB label: Canon EHI-0115-03
- * TMS1070 MCU label TMC1079 (die label 1070B, 1079A)
+ * TMS1070 MCU label TMC1079 (die label: 1070B, 1079A)
* 2-line cyan VFD display, each 9-digit 7seg + 1 custom (label 20-ST-22)
The only difference between MD-8 and MD 810 is the form factor. The latter
@@ -2005,11 +2008,11 @@ ROM_END
/***************************************************************************
Coleco Head to Head: Electronic Basketball (model 2150)
- * TMS1000NLL MP3320A (die label 1000E MP3320A)
+ * TMS1000NLL MP3320A (die label: 1000E, MP3320A)
* 2-digit 7seg LED display, LED grid display, 1-bit sound
Coleco Head to Head: Electronic Hockey (model 2160)
- * TMS1000NLL E MP3321A (die label 1000E MP3321A)
+ * TMS1000NLL E MP3321A (die label: 1000E, MP3321A)
* same PCB/hardware as above
Unlike the COP420 version(see hh_cop400.cpp driver), each game has its own MCU.
@@ -2209,7 +2212,7 @@ ROM_END
Coleco Head to Head: Electronic Baseball (model 2180)
* PCB labels: Coleco rev C 73891/2
- * TMS1170NLN MP1525-N2 (die label MP1525)
+ * TMS1170NLN MP1525-N2 (die label: 1170A, MP1525)
* 9-digit cyan VFD display, and other LEDs behind bezel, 1-bit sound
known releases:
@@ -2357,7 +2360,7 @@ ROM_END
/***************************************************************************
Coleco Head to Head: Electronic Boxing (model 2190)
- * TMS1100NLL M34018-N2 (die label M34018)
+ * TMS1100NLL M34018-N2 (die label: 1100E, M34018)
* 2-digit 7seg LED display, LED grid display, 1-bit sound
This appears to be the last game of Coleco's Head to Head series.
@@ -2484,7 +2487,7 @@ ROM_END
/***************************************************************************
Coleco Quiz Wiz Challenger
- * TMS1000NLL M32001-N2 (die label 1000E, M32001)
+ * TMS1000NLL M32001-N2 (die label: 1000E, M32001)
* 4 7seg LEDs, 17 other LEDs, 1-bit sound
This is a 4-player version of Quiz Wiz, a multiple choice quiz game.
@@ -2679,7 +2682,7 @@ ROM_END
/***************************************************************************
Coleco Total Control 4
- * TMS1400NLL MP7334-N2 (die label MP7334)
+ * TMS1400NLL MP7334-N2 (die label: TMS1400, MP7334)
* 2x2-digit 7seg LED display + 4 LEDs, LED grid display, 1-bit sound
This is a head to head electronic tabletop LED-display sports console.
@@ -2870,7 +2873,7 @@ ROM_END
Concept 2000 Mr. Mus-I-Cal (model 560)
* PCB label: CONCEPT 2000 ITE 556
- * TMS1000NLL MP3206 (die label 1000C, MP3206)
+ * TMS1000NLL MP3206 (die label: 1000C, MP3206)
* 9-digit 7seg LED display(one custom digit), 1-bit sound
It's a simple 4-function calculator, and plays music tones too.
@@ -3008,7 +3011,7 @@ ROM_END
Conic Electronic Basketball
* PCB label: CONIC 101-006
- * TMS1000NLL MP0907 (die label 1000B MP0907)
+ * TMS1000NLL MP0907 (die label: 1000B MP0907)
* DS8871N, 2 7seg LEDs, 30 other LEDs, 1-bit sound
There are 3 known versions of Conic Basketball: MP0910(101-003) and
@@ -3540,7 +3543,7 @@ ROM_END
Conic Electronic I.Q.
* PCB labels: main: CONIC 101-037 (other side: HG-15, 11*00198*00), button PCB:
CONIC 102-001, led PCB: CONIC 100-003 REV A itac
- * TMS1000NLL MP0908 (die label 1000B, MP0908)
+ * TMS1000NLL MP0908 (die label: 1000B, MP0908)
* 2 7seg LEDs, 30 other LEDs, 1-bit sound
This is a peg solitaire game, with random start position.
@@ -3802,7 +3805,7 @@ ROM_END
/***************************************************************************
Entex (Electronic) Soccer
- * TMS1000NL MP0158 (die label 1000B, MP0158)
+ * TMS1000NL MP0158 (die label: 1000B, MP0158)
* 2 7seg LEDs, 30 other LEDs, 1-bit sound
known releases:
@@ -3923,7 +3926,7 @@ ROM_END
/***************************************************************************
Entex (Electronic) Baseball (1)
- * TMS1000NLP MP0914 (die label MP0914A)
+ * TMS1000NLP MP0914 (die label: 1000B, MP0914A)
* 1 7seg LED, and other LEDs behind bezel, 1-bit sound
This is a handheld LED baseball game. One player controls the batter, the CPU
@@ -4211,7 +4214,7 @@ ROM_END
Entex (Electronic) Baseball 3
* PCB label: ZENY
- * TMS1100NLL 6007 MP1204 (rev. E!) (die label MP1204)
+ * TMS1100NLL 6007 MP1204 (rev. E!) (die label: MP1204)
* 2*SN75492N LED display driver
* 4 7seg LEDs, and other LEDs behind bezel, 1-bit sound
@@ -4395,7 +4398,7 @@ ROM_END
/***************************************************************************
Entex Space Battle
- * TMS1000 EN-6004 MP0920 (die label 1000B, MP0920)
+ * TMS1000 EN-6004 MP0920 (die label: 1000B, MP0920)
* 2 7seg LEDs, and other LEDs behind bezel, 1-bit sound
The Japanese version was published by Gakken, same name.
@@ -4521,7 +4524,7 @@ ROM_END
/***************************************************************************
Entex Blast It
- * TMS1000 MP0230 (die label 1000B, MP0230)
+ * TMS1000 MP0230 (die label: 1000B, MP0230)
* 3 7seg LEDs, 49 other LEDs (both under an overlay mask), 1-bit sound
***************************************************************************/
@@ -4754,7 +4757,7 @@ ROM_END
/***************************************************************************
Entex Color Football 4
- * TMS1670 6009 MP7551 (die label MP7551)
+ * TMS1670 6009 MP7551 (die label: TMS1400, MP7551)
* 9-digit cyan VFD display, 60 red and green LEDs behind mask, 1-bit sound
Another version exist, one with a LED(red) 7seg display.
@@ -4894,7 +4897,7 @@ ROM_END
/***************************************************************************
Entex (Electronic) Basketball 2
- * TMS1100 6010 MP1218 (die label MP1218)
+ * TMS1100 6010 MP1218 (die label: 1100B, MP1218)
* 4 7seg LEDs, and other LEDs behind bezel, 1-bit sound
led translation table: led zz from game PCB = MAME y.x:
@@ -5031,7 +5034,7 @@ ROM_END
/***************************************************************************
Entex Raise The Devil
- * TMS1100 MP1221 (die label same)
+ * TMS1100 MP1221 (die label: 1100B, MP1221)
* 4 7seg LEDs(rightmost one unused), and other LEDs behind bezel, 1-bit sound
Entex Black Knight (licensed handheld version of Williams' pinball game)
@@ -5376,7 +5379,7 @@ ROM_END
Fonas 2 Player Baseball
* PCB label: CA-014 (probably Cassia)
- * TMS1000NLL MP0154 (die label 1000B, MP0154)
+ * TMS1000NLL MP0154 (die label: 1000B, MP0154)
* 4 7seg LEDs, 37 other LEDs, 1-bit sound
known releases:
@@ -5664,7 +5667,7 @@ ROM_END
Gakken Poker
* PCB label: POKER. gakken
- * TMS1370 MP2105 (die label same)
+ * TMS1370 MP2105 (die label: 1170, MP2105)
* 11-digit cyan VFD display Itron FG1114B, oscillator sound
known releases:
@@ -5819,7 +5822,7 @@ ROM_END
Gakken Jackpot: Gin Rummy & Black Jack
* PCB label: gakken
- * TMS1670 MPF553 (die label same)
+ * TMS1670 MPF553 (die label: TMS1400, MPF553)
* 11-digit cyan VFD display Itron FG1114B, oscillator sound
known releases:
@@ -6071,7 +6074,7 @@ ROM_END
/***************************************************************************
Gakken Invader 1000
- * TMS1370 MP2139 (die label 1170 MP2139)
+ * TMS1370 MP2139 (die label: 1170 MP2139)
* cyan/red VFD display Futaba DM-25Z 2D, 1-bit sound
known releases:
@@ -6198,7 +6201,7 @@ ROM_END
/***************************************************************************
Gakken Invader 2000
- * TMS1370(28 pins) MP1604 (die label 1370A MP1604)
+ * TMS1370(28 pins) MP1604 (die label: 1370A MP1604)
* TMS1024 I/O expander
* cyan/red/green VFD display, 1-bit sound
@@ -6342,7 +6345,7 @@ ROM_END
/***************************************************************************
Gakken FX-Micom R-165
- * TMS1100 MCU, label MP1312 (die label MP1312A)
+ * TMS1100 MCU, label MP1312 (die label: 1100E, MP1312A)
* 1 7seg led, 6 other leds, 1-bit sound
This is a simple educational home computer. Refer to the extensive manual
@@ -6493,7 +6496,7 @@ ROM_END
/***************************************************************************
Ideal Electronic Detective
- * TMS0980NLL MP6100A (die label 0980B-00)
+ * TMS0980NLL MP6100A (die label: 0980B-00)
* 10-digit 7seg LED display, 2-level sound
hardware (and concept) is very similar to Parker Brothers Stop Thief
@@ -6641,7 +6644,7 @@ ROM_END
/***************************************************************************
Kenner Star Wars - Electronic Battle Command
- * TMS1100 MCU, label MP3438A (die label 1100B, MP3438A)
+ * TMS1100 MCU, label MP3438A (die label: 1100B, MP3438A)
* 4x4 LED grid display + 2 separate LEDs and 2-digit 7segs, 1-bit sound
This is a small tabletop space-dogfighting game. To start the game,
@@ -6792,7 +6795,7 @@ ROM_END
/***************************************************************************
Kenner Live Action Football
- * TMS1100NLL MCU, label MP3489-N2 (die label 1100E, MP3489)
+ * TMS1100NLL MCU, label MP3489-N2 (die label: 1100E, MP3489)
* 6-digit 7seg LED display, other LEDs under overlay, 1-bit sound
The LEDs are inside reflective domes, with an overlay mask on top of that.
@@ -6940,7 +6943,7 @@ ROM_END
/***************************************************************************
Kosmos Astro
- * TMS1470NLHL MP1133 (die label TMS1400 MP1133)
+ * TMS1470NLHL MP1133 (die label: TMS1400 MP1133)
* 9-digit 7seg VFD display + 8 LEDs(4 green, 4 yellow), no sound
This is an astrological calculator, and also supports 4-function
@@ -7248,7 +7251,7 @@ ROM_END
Mattel Thoroughbred Horse Race Analyzer
* PCB label: 1670-4619D
- * TMS1100NLL MP3491-N2 (die label 1100E MP3491)
+ * TMS1100NLL MP3491-N2 (die label: 1100E MP3491)
* HLCD0569, 67-segment LCD panel, no sound
This handheld is not a toy, read the manual for more information. In short,
@@ -7412,7 +7415,7 @@ ROM_END
/***************************************************************************
Mattel Dungeons & Dragons - Computer Labyrinth Game
- * TMS1100 M34012-N2LL (die label M34012)
+ * TMS1100 M34012-N2LL (die label: 1100E, M34012)
* 72 buttons, no LEDs, 1-bit sound
This is an electronic board game. It requires markers and wall pieces to play.
@@ -7605,7 +7608,7 @@ ROM_END
/***************************************************************************
Milton Bradley Comp IV
- * TMC0904NL CP0904A (die label 4A0970D-04A)
+ * TMC0904NL CP0904A (die label: 4A0970D-04A)
* 10 LEDs behind bezel, no sound
This is small tabletop Mastermind game; a code-breaking game where the player
@@ -7725,7 +7728,7 @@ ROM_END
Milton Bradley Electronic Battleship (1977 version, model 4750A)
* PCB label: 4750A
- * TMS1000NL MP3201 (die label 1000C, MP3201)
+ * TMS1000NL MP3201 (die label: 1000C, MP3201)
* LM324N, MC14016CP/TP4016AN, NE555P, discrete sound
* 4 sliding buttons, light bulb
@@ -7891,7 +7894,7 @@ ROM_END
Milton Bradley Electronic Battleship (1977 version, model 4750B)
* PCB label: MB 4750B
- * TMS1000NLL MP3208 (die label 1000C, MP3208)
+ * TMS1000NLL MP3208 (die label: 1000C, MP3208)
* SN75494N (acting as inverters), SN76477 sound
* 4 sliding buttons, light bulb
@@ -8023,7 +8026,7 @@ ROM_END
/***************************************************************************
Milton Bradley Simon (model 4850), created by Ralph Baer
- * TMS1000 (die label MP3226), or MP3300 (die label 1000C, MP3300)
+ * TMS1000 (die label: 1000C, MP3226), or MP3300 (die label: 1000C, MP3300)
* DS75494 Hex digit LED driver, 4 big lamps, 1-bit sound
known revisions:
@@ -8158,7 +8161,7 @@ ROM_END
/***************************************************************************
Milton Bradley Super Simon
- * TMS1100 MP3476NLL (die label MP3476)
+ * TMS1100 MP3476NLL (die label: 1100E, MP3476)
* 8 big lamps(2 turn on at same time), 1-bit sound
The semi-squel to Simon, not as popular. It includes more game variations
@@ -8317,7 +8320,7 @@ ROM_END
/***************************************************************************
Milton Bradley Big Trak
- * TMS1000NLL MP3301A or MP3301ANLL E (rev. E!) (die label 1000E MP3301)
+ * TMS1000NLL MP3301A or MP3301ANLL E (rev. E!) (die label: 1000E MP3301)
* SN75494N Hex digit LED driver, 1 lamp, 3-level sound
* gearbox with magnetic clutch, 1 IR led+sensor, 2 motors(middle wheels)
* 24-button keypad, ext in/out ports
@@ -8539,8 +8542,8 @@ ROM_END
/***************************************************************************
Milton Bradley Dark Tower
- * TMS1400NLL MP7332-N1.U1(Rev. B) or MP7332-N2LL(Rev. C) (die label MP7332)
- (assume same ROM contents between revisions)
+ * TMS1400NLL MP7332-N1.U1(Rev. B) or MP7332-N2LL(Rev. C) (die label:
+ TMS1400, MP7332) (assume same ROM contents between revisions)
* SN75494N MOS-to-LED digit driver
* motorized rotating reel + lightsensor, 1bit-sound
@@ -8785,7 +8788,7 @@ ROM_END
/***************************************************************************
Milton Bradley Electronic Arcade Mania
- * TMS1100 M34078A-N2LL (die label 1100G, M34078A)
+ * TMS1100 M34078A-N2LL (die label: 1100G, M34078A)
* 9 LEDs, 3-bit sound
This is a board game. The mini arcade machine is the emulated part here.
@@ -8910,7 +8913,7 @@ ROM_END
/***************************************************************************
Parker Brothers Code Name: Sector, by Bob Doyle
- * TMS0970 MCU, MP0905BNL ZA0379 (die label 0970F-05B)
+ * TMS0970 MCU, MP0905BNL ZA0379 (die label: 4A0970F-05B)
* 6-digit 7seg LED display + 4 LEDs for compass, no sound
This is a tabletop submarine pursuit game. A grid board and small toy
@@ -9176,7 +9179,7 @@ ROM_END
/***************************************************************************
Parker Brothers Master Merlin
- * TMS1400 MP7351-N2LL (die label 1400CR MP7351)
+ * TMS1400 MP7351-N2LL (die label: 1400CR MP7351)
* 11 LEDs behind buttons, 3-level sound
The TMS1400CR MCU has the same pinout as a standard TMS1100. The hardware
@@ -9248,7 +9251,7 @@ ROM_END
/***************************************************************************
Parker Brothers Electronic Master Mind
- * TMS1000NLL MP3200 (die label 1000E, MP3200)
+ * TMS1000NLL MP3200 (die label: 1000E, MP3200)
* 5 red leds, 5 green leds
This is a board game, it came with 4 plug boards and a lot of colored pegs.
@@ -9366,7 +9369,7 @@ ROM_END
/***************************************************************************
Parker Brothers Stop Thief, by Bob Doyle
- * TMS0980NLL MP6101B (die label 0980B-01A)
+ * TMS0980NLL MP6101B (die label: 0980B-01A)
* 3-digit 7seg LED display, 6-level sound
Stop Thief is actually a board game, the electronic device emulated here
@@ -9512,7 +9515,7 @@ ROM_END
/***************************************************************************
Parker Brothers Bank Shot (known as Cue Ball in the UK), by Garry Kitchen
- * TMS1400NLL MP7313-N2 (die label MP7313)
+ * TMS1400NLL MP7313-N2 (die label: TMS1400, MP7313)
* LED grid display, 1-bit sound
Bank Shot is an electronic pool game. To select a game, repeatedly press
@@ -9643,7 +9646,7 @@ ROM_END
/***************************************************************************
Parker Brothers Split Second
- * TMS1400NLL MP7314-N2 (die label MP7314)
+ * TMS1400NLL MP7314-N2 (die label: TMS1400, MP7314)
* LED grid display(default round LEDs, and rectangular shape ones), 1-bit sound
This is an electronic handheld reflex gaming device, it's straightforward
@@ -9776,7 +9779,7 @@ ROM_END
Parker Brothers Lost Treasure - The Electronic Deep-Sea Diving Game,
Featuring The Electronic Dive-Control Center
- * TMS1100 M34038-NLL (die label 1100E, M34038)
+ * TMS1100 M34038-NLL (die label: 1100E, M34038)
* 11 LEDs, 4-bit sound
This is a board game. The electronic accessory is the emulated part here.
@@ -10051,7 +10054,7 @@ ROM_END
Tandy Championship Football (model 60-2150)
* PCB label: CYG-316
- * TMS1100NLL MP1193 (die label 1100B, MP1193)
+ * TMS1100NLL MP1193 (die label: 1100B, MP1193)
* 7-digit 7seg LED display + LED grid, 1-bit sound
Another clone of Mattel Football II. The original manufacturer is unknown, but
@@ -10422,7 +10425,7 @@ ROM_END
/***************************************************************************
Tandy(Radio Shack division) Monkey See (1982 version)
- * TMS1000 MP0271 (die label 1000E, MP0271), only half of ROM space used
+ * TMS1000 MP0271 (die label: 1000E, MP0271), only half of ROM space used
* 2 LEDs(one red, one green), 1-bit sound
This is the TMS1000 version, the one from 1977 has a MM5780.
@@ -10546,7 +10549,7 @@ ROM_END
Tandy 3 in 1 Sports Arena (model 60-2178)
* PCB label: HP-804
- * TMS1100 (just a datestamp label (8331), die label 1100B MP1231)
+ * TMS1100 (just a datestamp label (8331), die label: 1100B MP1231)
* 2x2-digit 7seg LED display + 47 other LEDs, 1-bit sound
For Tandy Sports Arena (model 60-2158), see cmsport, this is a different game.
@@ -10712,7 +10715,7 @@ ROM_END
/***************************************************************************
Telesensory Systems, Inc.(TSI) Speech+
- * TMS1000 MCU, label TMS1007NL (die label 1000B, 1007A)
+ * TMS1000 MCU, label TMS1007NL (die label: 1000B, 1007A)
* TSI S14001A speech chip, GI S14007-A 2KB maskrom for samples
* 9-digit 7seg LED display
@@ -10879,11 +10882,11 @@ ROM_END
/***************************************************************************
TI SR-16 (1974, first consumer product with TMS1000 series MCU)
- * TMS1000 MCU label TMS1001NL (die label 1000, 1001A)
+ * TMS1000 MCU label TMS1001NL (die label: 1000, 1001A)
* 12-digit 7seg LED display
TI SR-16 II (1975 version)
- * TMS1000 MCU label TMS1016NL (die label 1000B, 1016A)
+ * TMS1000 MCU label TMS1016NL (die label: 1000B, 1016A)
* notes: cost-reduced 'sequel', [10^x] was removed, and [pi] was added.
***************************************************************************/
@@ -11119,11 +11122,11 @@ ROM_END
/***************************************************************************
TI-1250/TI-1200 (1975 version), Spirit of '76
- * TMS0950 MCU label TMC0952NL, K0952 (die label 0950A 0952)
+ * TMS0950 MCU label TMC0952NL, K0952 (die label: 0950A 0952)
* 9-digit 7seg LED display
TI-1250/TI-1200 (1976 version), TI-1400, TI-1450, TI-1205, TI-1255, LADY 1200, ABLE
- * TMS0970 MCU label TMS0972NL ZA0348, JP0972A (die label 0970D-72A)
+ * TMS0970 MCU label TMS0972NL ZA0348, JP0972A (die label: 0970D-72A)
* 8-digit 7seg LED display, or 9 digits with leftmost unused
As seen listed above, the basic 4-function TMS0972 calculator MCU was used
@@ -11135,7 +11138,7 @@ ROM_END
available buttons.
TI-1270
- * TMS0970 MCU label TMC0974NL ZA0355, DP0974A (die label 0970D-74A)
+ * TMS0970 MCU label TMC0974NL ZA0355, DP0974A (die label: 0970D-74A)
* 8-digit 7seg LED display
* notes: almost same hardware as TMS0972 TI-1250, minor scientific functions
@@ -11316,7 +11319,7 @@ ROM_END
/***************************************************************************
TI-2550 III, TI-1650/TI-1600, TI-1265 (they have the same chip)
- * TMS1040 MCU label TMS1043NL ZA0352 (die label 1040A, 1043A)
+ * TMS1040 MCU label TMS1043NL ZA0352 (die label: 1040A, 1043A)
* 9-digit cyan VFD display
Only the TI-2550 III has the top button row (RV, SQRT, etc).
@@ -11449,7 +11452,7 @@ ROM_END
/***************************************************************************
TI-5100, more (see below)
- * TMS1070 MCU label TMS1073NL or TMC1073NL (die label 1070B, 1073)
+ * TMS1070 MCU label TMS1073NL or TMC1073NL (die label: 1070B, 1073)
* 11-digit 7seg VFD (1 custom digit)
This chip was also used in 3rd-party calculators, such as Toshiba BC-1015,
@@ -11603,7 +11606,7 @@ ROM_END
TMC098x series Majestic-line calculators
TI-30, SR-40, TI-15(less buttons) and several by Koh-I-Noor
- * TMS0980 MCU label TMC0981NL (die label 0980B-81F)
+ * TMS0980 MCU label TMC0981NL (die label: 0980B-81F)
* 9-digit 7seg LED display
Of note is a peripheral by Schoenherr, called the Braillotron. It acts as
@@ -11612,10 +11615,10 @@ ROM_END
the original LED display to a 25-pin D-Sub connector.
TI Business Analyst, TI Business Analyst-I, TI Money Manager, TI-31, TI-41
- * TMS0980 MCU label TMC0982NL (die label 0980B-82F)
+ * TMS0980 MCU label TMC0982NL (die label: 0980B-82F)
TI Programmer
- * TMS0980 MCU label ZA0675NL, JP0983AT (die label 0980B-83)
+ * TMS0980 MCU label ZA0675NL, JP0983AT (die label: 0980B-83)
***************************************************************************/
@@ -11905,7 +11908,7 @@ ROM_END
/***************************************************************************
TI-1000 (1977 version)
- * TMS1990 MCU label TMC1991NL (die label 1991-91A)
+ * TMS1990 MCU label TMC1991NL (die label: 1991-91A)
* 8-digit 7seg LED display
TI-1000 (1978 version)
@@ -12024,7 +12027,7 @@ ROM_END
/***************************************************************************
TI WIZ-A-TRON
- * TMS0970 MCU label TMC0907NL ZA0379, DP0907BS (die label 0970F-07B)
+ * TMS0970 MCU label TMC0907NL ZA0379, DP0907BS (die label: 0970F-07B)
* 9-digit 7seg LED display(one custom digit)
***************************************************************************/
@@ -12143,7 +12146,7 @@ ROM_END
/***************************************************************************
TI Little Professor (1976 version)
- * TMS0970 MCU label TMS0975NL ZA0356, GP0975CS (die label 0970D-75C)
+ * TMS0970 MCU label TMS0975NL ZA0356, GP0975CS (die label: 0970D-75C)
* 9-digit 7seg LED display(one custom digit)
The hardware is nearly identical to Wiz-A-Tron (or vice versa, since this
@@ -12230,7 +12233,7 @@ ROM_END
/***************************************************************************
TI Little Professor (1978 version)
- * TMS1990 MCU label TMC1993NL (die label 1990C-c3C)
+ * TMS1990 MCU label TMC1993NL (die label: 1990C-c3C)
* 9-digit 7seg LED display(one custom digit)
1978 re-release, with on/off and level select on buttons instead of
@@ -12358,8 +12361,8 @@ ROM_END
/***************************************************************************
TI-1680, TI-2550-IV
- * TMS1980 MCU label TMC1981NL (die label 1980A 81F)
- * TMC0999NL 256x4 RAM (die label 0999B)
+ * TMS1980 MCU label TMC1981NL (die label: 1980A 81F)
+ * TMC0999NL 256x4 RAM (die label: 0999B)
* 9-digit cyan VFD display(leftmost digit is custom)
The extra RAM is for scrolling back through calculations. For some reason,
@@ -12505,7 +12508,7 @@ ROM_END
/***************************************************************************
TI DataMan
- * TMS1980 MCU label TMC1982NL (die label 1980A 82B)
+ * TMS1980 MCU label TMC1982NL (die label: 1980A 82B)
* 10-digit cyan VFD display(3 digits are custom)
***************************************************************************/
@@ -12635,7 +12638,7 @@ ROM_END
/***************************************************************************
TI Math Marvel
- * TMS1980 MCU label TMC1986A-NL (die label 1980A 86A)
+ * TMS1980 MCU label TMC1986A-NL (die label: 1980A 86A)
* 9-digit cyan VFD display(2 digits are custom), 1-bit sound
This is the same hardware as DataMan, with R8 connected to a piezo.
@@ -12811,7 +12814,7 @@ ROM_END
/***************************************************************************
Texas Instruments Electronic Digital Thermostat
- * TMS0970 MCU, label TMS0970NLL TMC0910B (die label 0970F-10E)
+ * TMS0970 MCU, label TMS0970NLL TMC0910B (die label: 0970F-10E)
* 9-digit 7seg LED display, only 4 used
* temperature sensor, heat/cool/fan outputs
@@ -12974,7 +12977,7 @@ ROM_END
Tiger Sub Wars (model 7-490)
* PCB label: CSG201A(main), CSG201B(leds)
- * TMS1200N2LL MP3352 (die label 1000C, MP3352)
+ * TMS1200N2LL MP3352 (die label: 1000C, MP3352)
* 4-digit 7seg LED display + 55 other LEDs, 1-bit sound
Tiger/Yeno also published an LCD handheld called Sub Wars, it's not related.
@@ -13072,7 +13075,7 @@ ROM_END
/***************************************************************************
Tiger Playmaker: Hockey, Soccer, Basketball (model 7-540 or 7-540A)
- * TMS1100 MP1215 (die label 1100B MP1215)
+ * TMS1100 MP1215 (die label: 1100B MP1215)
* 2-digit 7seg LED display + 40 other LEDs, 1-bit sound
The games are on playcards(Tiger calls them that), the hardware detects which
@@ -13236,7 +13239,7 @@ ROM_END
/***************************************************************************
Tiger Deluxe Football with Instant Replay (model 7-550)
- * TMS1400NLL MP7302 (die label TMS1400 MP7302)
+ * TMS1400NLL MP7302 (die label: TMS1400 MP7302)
* 4-digit 7seg LED display, 80 red/green LEDs, 1-bit sound
According to the manual, player 1 is green, player 2 is red. But when
@@ -13369,7 +13372,7 @@ ROM_END
Tiger Electronics Copy Cat (model 7-520)
* PCB label: CC REV B
- * TMS1000 MCU, label 69-11513 MP0919 (die label MP0919)
+ * TMS1000 MCU, label 69-11513 MP0919 (die label: 1000B, MP0919)
* 4 LEDs, 1-bit sound
known releases:
@@ -13489,7 +13492,7 @@ ROM_END
Tiger Electronics Copy Cat (model 7-522)
* PCB label: WS 8107-1
- * TMS1730 MCU, label MP3005N (die label 1700 MP3005)
+ * TMS1730 MCU, label MP3005N (die label: 1700 MP3005)
* 4 LEDs, 1-bit sound
This is a simplified rerelease of Copy Cat, 10(!) years later. The gameplay
@@ -13580,7 +13583,7 @@ ROM_END
/***************************************************************************
Tiger Ditto (model 7-530)
- * TMS1700 MCU, label MP1801-N2LL (die label 1700 MP1801)
+ * TMS1700 MCU, label MP1801-N2LL (die label: 1700 MP1801)
* 4 LEDs, 1-bit sound
known releases:
@@ -13667,7 +13670,7 @@ ROM_END
/***************************************************************************
Tiger 7 in 1 Sports Stadium (model 7-555)
- * TMS1400 MP7304 (die label TMS1400 MP7304A)
+ * TMS1400 MP7304 (die label: TMS1400 MP7304A)
* 2x2-digit 7seg LED display + 39 other LEDs, 1-bit sound
This handheld includes 7 games: 1: Basketball, 2: Hockey, 3: Soccer,
@@ -13799,7 +13802,7 @@ ROM_END
Tomy(tronics) Break Up (manufactured in Japan)
* PCB label: TOMY B.O.
- * TMS1040 MP2726 TOMY WIPE (die label MP2726A)
+ * TMS1040 MP2726 TOMY WIPE (die label: 1040B, MP2726A)
* TMS1025N2LL I/O expander
* 2-digit 7seg display, 46 other leds, 1-bit sound
@@ -14000,7 +14003,7 @@ ROM_END
Tomy Power House Pinball
* PCB label: TOMY P-B
- * TMS1100 MP1180 TOMY PINB (die label MP1180)
+ * TMS1100 MP1180 TOMY PINB (die label: 1100B, MP1180)
* 3 7seg LEDs, and other LEDs behind bezel, 1-bit sound
known releases:
@@ -14280,7 +14283,7 @@ ROM_END
/***************************************************************************
Vulcan XL 25
- * TMS1000SLC MP4486A (die label 1000C/, MP4486A)
+ * TMS1000SLC MP4486A (die label: 1000C/, MP4486A)
* 28 LEDs, 1-bit sound
This game is the same logic puzzle as Tiger's Lights Out, except that
diff --git a/src/mame/handheld/hh_tms1k.h b/src/mame/handheld/hh_tms1k.h
index 7d9904e4377..27a0e53f815 100644
--- a/src/mame/handheld/hh_tms1k.h
+++ b/src/mame/handheld/hh_tms1k.h
@@ -65,7 +65,7 @@ protected:
u8 read_rotated_inputs(int columns, u8 rowmask = 0xf);
virtual DECLARE_WRITE_LINE_MEMBER(auto_power_off);
virtual void power_off();
- void set_power(bool state);
+ virtual void set_power(bool state);
void switch_change(int sel, u32 mask, bool next);
};
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 )
diff --git a/src/mame/handheld/tispellb.cpp b/src/mame/handheld/tispellb.cpp
index ddb447b5301..a406bbe2166 100644
--- a/src/mame/handheld/tispellb.cpp
+++ b/src/mame/handheld/tispellb.cpp
@@ -14,8 +14,8 @@
1st revision:
Spelling B (US), 1978
- - TMS0270 MCU TMC0272 (die label 0272A T0270B)
- - TMS1980 MCU TMC1984 (die label 1980A 84A)
+ - TMS0270 MCU TMC0272 (die label: 0272A T0270B)
+ - TMS1980 MCU TMC1984 (die label: 1980A 84A)
- 8-digit cyan VFD display (seen with and without apostrophe)
Spelling ABC (UK), 1979: exact same hardware as US version
@@ -40,7 +40,7 @@
- 8-digit cyan VFD display
- 1-bit sound
- Letterlogic (UK), 1980: exact same hardware as US Mr. Challenger
+ Letterlogic (UK), 1980: exact same hardware as US Mr. Challenger (stylized as "LETTERlogic")
Letterlogic (France), 1980: different VSM
- TMC0355 4KB VSM ROM CD2603*
@@ -48,13 +48,6 @@
Letterlogic (Germany), 1980: different VSM
- TMC0355 4KB VSM ROM CD2604*
-
-----------------------------------------------------------------------------
-
- TODO:
- - spellb fetches wrong word sometimes (on lv1 SPOON and ANT) - roms were doublechecked
-
-
***************************************************************************/
#include "emu.h"
@@ -79,8 +72,6 @@ public:
void rev1(machine_config &config);
void rev2(machine_config &config);
- virtual DECLARE_INPUT_CHANGED_MEMBER(power_button) override;
-
private:
// devices
optional_device<tms1k_base_device> m_subcpu;
@@ -90,7 +81,7 @@ private:
u16 m_sub_o = 0;
u16 m_sub_r = 0;
- virtual void power_off() override;
+ virtual void set_power(bool state) override;
void power_subcpu();
void update_display();
@@ -136,9 +127,9 @@ void tispellb_state::power_subcpu()
m_subcpu->set_input_line(INPUT_LINE_RESET, m_power_on ? CLEAR_LINE : ASSERT_LINE);
}
-void tispellb_state::power_off()
+void tispellb_state::set_power(bool state)
{
- hh_tms1k_state::power_off();
+ hh_tms1k_state::set_power(state);
power_subcpu();
}
@@ -158,17 +149,18 @@ void tispellb_state::main_write_o(u16 data)
void tispellb_state::main_write_r(u16 data)
{
- // R13: power-off request, on falling edge
- if (~data & m_r & 0x2000)
- power_off();
-
// R0-R6: input mux
// R0-R7: select digit
// R15: filament on
- m_r = data;
m_inp_mux = data & 0x7f;
m_grid = data & 0x80ff;
update_display();
+
+ // R13: power-off request, on falling edge
+ if (~data & m_r & 0x2000)
+ power_off();
+
+ m_r = data;
}
u8 tispellb_state::main_read_k()
@@ -245,12 +237,6 @@ void tispellb_state::rev2_write_r(u16 data)
***************************************************************************/
-INPUT_CHANGED_MEMBER(tispellb_state::power_button)
-{
- hh_tms1k_state::power_button(field, param, oldval, newval);
- power_subcpu();
-}
-
static INPUT_PORTS_START( spellb )
PORT_START("IN.0") // R0
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_B) PORT_CHAR('B')
@@ -392,39 +378,39 @@ void tispellb_state::rev2(machine_config &config)
ROM_START( spellb )
ROM_REGION( 0x1000, "maincpu", 0 )
- ROM_LOAD( "tmc0272nl", 0x0000, 0x1000, CRC(f90318ff) SHA1(7cff03fafbc66b0e07b3c70a513fbb0b11eef4ea) )
+ ROM_LOAD( "tmc0274n2l", 0x0000, 0x1000, CRC(98e3bd32) SHA1(e79b59ac29b0183bf1ee8d84b2944450c5e5d8fb) )
ROM_REGION( 1246, "maincpu:ipla", 0 )
ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_REGION( 2127, "maincpu:mpla", 0 )
ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) )
ROM_REGION( 1246, "maincpu:opla", 0 )
- ROM_LOAD( "tms0270_spellb_output.pla", 0, 1246, CRC(3e021cbd) SHA1(c9bdfe10601b8a5a70442fe4805e4bfed8bbed35) )
+ ROM_LOAD( "tms0270_spellb_output.pla", 0, 1246, CRC(b95e35e6) SHA1(430917486856c9e6c28af10ff3758242048096c4) )
- ROM_REGION( 0x1000, "subcpu", 0 )
- ROM_LOAD( "tmc1984nl", 0x0000, 0x1000, CRC(78c9c83a) SHA1(6307fe2a0228fd1b8d308fcaae1b8e856d40fe57) )
-
- ROM_REGION( 1246, "subcpu:ipla", 0 )
- ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
- ROM_REGION( 2127, "subcpu:mpla", 0 )
- ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) )
- ROM_REGION( 525, "subcpu:opla", 0 )
- ROM_LOAD( "tms1980_spellb_output.pla", 0, 525, CRC(1e26a719) SHA1(eb031aa216fe865bc9e40b070ca5de2b1509f13b) )
+ ROM_REGION( 0x1000, "tms6100", 0 )
+ ROM_LOAD( "cd2602.vsm", 0x0000, 0x1000, CRC(dd1fff8c) SHA1(f1760b29aa50fc96a1538db814cc73289654ac25) )
ROM_END
-ROM_START( spellb79 )
+ROM_START( spellba )
ROM_REGION( 0x1000, "maincpu", 0 )
- ROM_LOAD( "tmc0274n2l", 0x0000, 0x1000, CRC(98e3bd32) SHA1(e79b59ac29b0183bf1ee8d84b2944450c5e5d8fb) )
+ ROM_LOAD( "tmc0272nl", 0x0000, 0x1000, CRC(f90318ff) SHA1(7cff03fafbc66b0e07b3c70a513fbb0b11eef4ea) )
ROM_REGION( 1246, "maincpu:ipla", 0 )
ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
ROM_REGION( 2127, "maincpu:mpla", 0 )
ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) )
ROM_REGION( 1246, "maincpu:opla", 0 )
- ROM_LOAD( "tms0270_spellb79_output.pla", 0, 1246, CRC(b95e35e6) SHA1(430917486856c9e6c28af10ff3758242048096c4) )
+ ROM_LOAD( "tms0270_spellba_output.pla", 0, 1246, CRC(3e021cbd) SHA1(c9bdfe10601b8a5a70442fe4805e4bfed8bbed35) )
- ROM_REGION( 0x1000, "tms6100", 0 )
- ROM_LOAD( "cd2602.vsm", 0x0000, 0x1000, CRC(dd1fff8c) SHA1(f1760b29aa50fc96a1538db814cc73289654ac25) )
+ ROM_REGION( 0x1000, "subcpu", 0 )
+ ROM_LOAD( "tmc1984nl", 0x0000, 0x1000, CRC(78c9c83a) SHA1(6307fe2a0228fd1b8d308fcaae1b8e856d40fe57) )
+
+ ROM_REGION( 1246, "subcpu:ipla", 0 )
+ ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
+ ROM_REGION( 2127, "subcpu:mpla", 0 )
+ ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) )
+ ROM_REGION( 525, "subcpu:opla", 0 )
+ ROM_LOAD( "tms1980_spellba_output.pla", 0, 525, CRC(1e26a719) SHA1(eb031aa216fe865bc9e40b070ca5de2b1509f13b) )
ROM_END
@@ -445,8 +431,8 @@ ROM_END
-// YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
-COMP( 1978, spellb, 0, 0, rev1, spellb, tispellb_state, empty_init, "Texas Instruments", "Spelling B (1978 version)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
-COMP( 1979, spellb79, spellb, 0, rev2, spellb, tispellb_state, empty_init, "Texas Instruments", "Spelling B (1979 version)", MACHINE_SUPPORTS_SAVE )
+// YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS
+COMP( 1979, spellb, 0, 0, rev2, spellb, tispellb_state, empty_init, "Texas Instruments", "Spelling B (1979 version)", MACHINE_SUPPORTS_SAVE )
+COMP( 1978, spellba, spellb, 0, rev1, spellb, tispellb_state, empty_init, "Texas Instruments", "Spelling B (1978 version)", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW )
-COMP( 1979, mrchalgr, 0, 0, rev2, mrchalgr, tispellb_state, empty_init, "Texas Instruments", "Mr. Challenger", MACHINE_SUPPORTS_SAVE )
+COMP( 1979, mrchalgr, 0, 0, rev2, mrchalgr, tispellb_state, empty_init, "Texas Instruments", "Mr. Challenger", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 94b61018851..44d382585a2 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -41755,7 +41755,7 @@ vocaid //
@source:handheld/tispellb.cpp
mrchalgr //
spellb //
-spellb79 //
+spellba //
@source:apple/tk2000.cpp
mpf2 // Multitech MPF-II