summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2016-02-06 22:49:00 +0100
committer hap <happppp@users.noreply.github.com>2016-02-06 22:49:24 +0100
commit2f32d226cc42154c6d2726fcdcd1893fe09e4b3e (patch)
tree74c146ffa4777d679bf0d98161a569da8cfeeeaa
parent9e482e16820180f6359d374b93a45d6bc813116c (diff)
tispeak: added ctteach layout file
-rw-r--r--src/mame/drivers/tispeak.cpp32
-rw-r--r--src/mame/layout/ctteach.lay26
2 files changed, 51 insertions, 7 deletions
diff --git a/src/mame/drivers/tispeak.cpp b/src/mame/drivers/tispeak.cpp
index dfd3502470f..3f51ca6f1eb 100644
--- a/src/mame/drivers/tispeak.cpp
+++ b/src/mame/drivers/tispeak.cpp
@@ -353,9 +353,20 @@ Language Tutor modules:
Other manufacturers:
-Coleco Talking Teacher:
-
-x
+ Coleco Talking Teacher:
+ - MCU: TMS1400 MP7324
+ - TMS51xx: TMS5110A
+ - VSM: 16KB CM62084
+ - LCD: unknown 8*16-seg
+ - known releases:
+ + Coleco: Talking Teacher
+ + Sears: Talkatron - Learning Computer
+ + Tiger Electronics(Hong Kong): K-2-8
+
+ An earlier revision used the SC-01 speech chip?
+
+ modules:
+ - x
----------------------------------------------------------------------------
@@ -375,6 +386,7 @@ x
#include "softlist.h"
// internal artwork
+#include "ctteach.lh"
#include "lantutor.lh"
#include "snmath.lh"
#include "snspell.lh"
@@ -419,6 +431,7 @@ public:
DECLARE_WRITE16_MEMBER(snspellc_write_r);
DECLARE_READ8_MEMBER(tntell_read_k);
+ void ctteach_prepare_display(UINT8 old, UINT8 data);
DECLARE_READ8_MEMBER(ctteach_read_k);
DECLARE_WRITE16_MEMBER(ctteach_write_o);
DECLARE_WRITE16_MEMBER(ctteach_write_r);
@@ -644,6 +657,12 @@ TIMER_DEVICE_CALLBACK_MEMBER(tispeak_state::tntell_get_overlay)
// ctteach specific
+void tispeak_state::ctteach_prepare_display(UINT8 old, UINT8 data)
+{
+ if (data == old)
+ return;
+}
+
WRITE16_MEMBER(tispeak_state::ctteach_write_r)
{
// R1234: TMS5100 CTL8421
@@ -660,8 +679,7 @@ WRITE16_MEMBER(tispeak_state::ctteach_write_r)
power_off();
// R7-R10: LCD data
- //..
-
+ ctteach_prepare_display(m_r >> 7 & 0xf, data >> 7 & 0xf);
m_r = data;
}
@@ -1322,8 +1340,8 @@ static MACHINE_CONFIG_START( ctteach, tispeak_state )
MCFG_TMS1XXX_WRITE_O_CB(WRITE16(tispeak_state, ctteach_write_o))
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(tispeak_state, ctteach_write_r))
- //MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1))
- //MCFG_DEFAULT_LAYOUT(layout_ctteach)
+ MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1))
+ MCFG_DEFAULT_LAYOUT(layout_ctteach)
/* sound hardware */
MCFG_DEVICE_ADD("tms6100", TMS6100, MASTER_CLOCK/4)
diff --git a/src/mame/layout/ctteach.lay b/src/mame/layout/ctteach.lay
new file mode 100644
index 00000000000..dde1a20e295
--- /dev/null
+++ b/src/mame/layout/ctteach.lay
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<mamelayout version="2">
+
+<!-- define elements -->
+
+ <element name="digit" defstate="0">
+ <led16seg><color red="0.5" green="0.5" blue="0.5" /></led16seg>
+ </element>
+
+
+<!-- build screen -->
+
+ <view name="Internal Layout">
+ <bounds left="0" right="80" top="0" bottom="15" />
+
+ <bezel name="digit0" element="digit"><bounds x="0" y="0" width="10" height="15" /></bezel>
+ <bezel name="digit1" element="digit"><bounds x="10" y="0" width="10" height="15" /></bezel>
+ <bezel name="digit2" element="digit"><bounds x="20" y="0" width="10" height="15" /></bezel>
+ <bezel name="digit3" element="digit"><bounds x="30" y="0" width="10" height="15" /></bezel>
+ <bezel name="digit4" element="digit"><bounds x="40" y="0" width="10" height="15" /></bezel>
+ <bezel name="digit5" element="digit"><bounds x="50" y="0" width="10" height="15" /></bezel>
+ <bezel name="digit6" element="digit"><bounds x="60" y="0" width="10" height="15" /></bezel>
+ <bezel name="digit7" element="digit"><bounds x="70" y="0" width="10" height="15" /></bezel>
+
+ </view>
+</mamelayout>