summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2016-02-07 01:03:23 +0100
committer hap <happppp@users.noreply.github.com>2016-02-07 01:04:05 +0100
commit7f6752bacb0e89ef3c133c4fa0317c55aaea85d5 (patch)
tree4364cfdeedbe545c0826bb9ab78e21db27219722
parent0174ccbbe185da0c9a4b2330995a4c2243809979 (diff)
k28: renamed ctteach to k28 and added softwarelist
-rw-r--r--hash/k28.xml81
-rw-r--r--src/mame/drivers/hh_tms1k.cpp2
-rw-r--r--src/mame/drivers/tispeak.cpp82
-rw-r--r--src/mame/layout/k28.lay (renamed from src/mame/layout/ctteach.lay)0
-rw-r--r--src/mame/mess.lst2
5 files changed, 132 insertions, 35 deletions
diff --git a/hash/k28.xml b/hash/k28.xml
new file mode 100644
index 00000000000..842c7da0312
--- /dev/null
+++ b/hash/k28.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
+
+<softwarelist name="k28" description="Tiger K28 modules">
+
+ <software name="m1">
+ <description>Expansion Module 1</description>
+ <year>1986?</year>
+ <publisher>Tiger Electronics</publisher>
+ <info name="serial" value="CM62086"/>
+ <part name="cart" interface="k28">
+ <dataarea name="rom" size="0x4000">
+ <rom name="cm62086.vsm" size="0x4000" crc="0349798b" sha1="afdad242f9c7dec0c5fd83670e3d8f1637140e76" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="m2">
+ <description>Expansion Module 2</description>
+ <year>1986</year>
+ <publisher>Tiger Electronics</publisher>
+ <info name="serial" value="CM62216"/>
+ <part name="cart" interface="k28">
+ <dataarea name="rom" size="0x4000">
+ <rom name="cm62216.vsm" size="0x4000" crc="1c99306f" sha1="7bfadeec79bdc231c4e3447149e2f6542cfe077d" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="m3">
+ <description>Expansion Module 3</description>
+ <year>1986</year>
+ <publisher>Tiger Electronics</publisher>
+ <info name="serial" value="CM62215"/>
+ <part name="cart" interface="k28">
+ <dataarea name="rom" size="0x4000">
+ <rom name="cm62215.vsm" size="0x4000" crc="f2deb9a2" sha1="9fb264b869d1298ebd76811931bed83ac122fe4b" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="m4">
+ <description>Expansion Module 4</description>
+ <year>1986</year>
+ <publisher>Tiger Electronics</publisher>
+ <info name="serial" value="CM62217"/>
+ <part name="cart" interface="k28">
+ <dataarea name="rom" size="0x4000">
+ <rom name="cm62217.vsm" size="0x4000" crc="995936b2" sha1="8bd0fea4ade9972d1d6cb521f9367c971c7eead6" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+<!--
+ <software name="m5">
+ <description>Expansion Module 5</description>
+ <year>1987</year>
+ <publisher>Tiger Electronics</publisher>
+ <info name="serial" value="CM62218"/>
+ <part name="cart" interface="k28">
+ <dataarea name="rom" size="0x4000">
+ <rom name="cm62217.vsm" size="0x4000" crc="x" sha1="x" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+-->
+
+ <software name="m6">
+ <description>Expansion Module 6</description>
+ <year>1987</year>
+ <publisher>Tiger Electronics</publisher>
+ <info name="serial" value="CM62219"/>
+ <part name="cart" interface="k28">
+ <dataarea name="rom" size="0x4000">
+ <rom name="cm62219.vsm" size="0x4000" crc="177b5cb5" sha1="2ed44fea8f931fc8aa46dafdda1c6c30b8c9dc01" offset="0" />
+ </dataarea>
+ </part>
+ </software>
+
+
+</softwarelist>
diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp
index 208751f7f9d..68e14d4514b 100644
--- a/src/mame/drivers/hh_tms1k.cpp
+++ b/src/mame/drivers/hh_tms1k.cpp
@@ -74,7 +74,7 @@
*MP7303 TMS1400? 19??, Tiger 7-in-1 Sports Stadium
@MP7313 TMS1400 1980, Parker Brothers Bank Shot
@MP7314 TMS1400 1980, Parker Brothers Split Second
- MP7324 TMS1400 1985, Coleco Talking Teacher -> tispeak.cpp
+ MP7324 TMS1400 1985, Tiger K28/Coleco Talking Teacher -> tispeak.cpp
MP7332 TMS1400 1981, Milton Bradley Dark Tower -> mbdtower.cpp
@MP7334 TMS1400 1981, Coleco Total Control 4
@MP7351 TMS1400CR 1982, Parker Brothers Master Merlin
diff --git a/src/mame/drivers/tispeak.cpp b/src/mame/drivers/tispeak.cpp
index 3f51ca6f1eb..0415dce272f 100644
--- a/src/mame/drivers/tispeak.cpp
+++ b/src/mame/drivers/tispeak.cpp
@@ -353,26 +353,36 @@ Language Tutor modules:
Other manufacturers:
- Coleco Talking Teacher:
+Tiger Electronics K28 (model 7-232) Sold in Hong Kong, distributed in US as:
+- Coleco: Talking Teacher
+- Sears: Talkatron - Learning Computer
+
+Earlier K28 models 7-230 and 7-231 are on different hardware, showing a different keyboard,
+VFD display, and presumed to use the SC-01 speech chip.
+
+ K28 model 7-232 (HK), 1985
- 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
+K28 modules:
+
+ - Spelling I: VSM: 16KB CM62086
+ - Spelling II: VSM: 16KB CM62085?
+ - Spelling III: VSM: 16KB CM62087
+ - Expansion Module 1: VSM: 16KB CM62214? - assumed same VSM as CM62086
+ - Expansion Module 2: VSM: 16KB CM62216 - assumed same VSM as the one in Spelling II
+ - Expansion Module 3: VSM: 16KB CM62215 - same VSM as CM62087
+ - Expansion Module 4: VSM: 16KB CM62217
+ - Expansion Module 5: VSM: 16KB CM62218*
+ - Expansion Module 6: VSM: 16KB CM62219
----------------------------------------------------------------------------
TODO:
- why doesn't lantutor work?
- - identify and emulate ctteach LCD
+ - identify and emulate k28 LCD
- emulate other known devices
@@ -386,7 +396,7 @@ Other manufacturers:
#include "softlist.h"
// internal artwork
-#include "ctteach.lh"
+#include "k28.lh"
#include "lantutor.lh"
#include "snmath.lh"
#include "snspell.lh"
@@ -431,10 +441,10 @@ 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);
+ void k28_prepare_display(UINT8 old, UINT8 data);
+ DECLARE_READ8_MEMBER(k28_read_k);
+ DECLARE_WRITE16_MEMBER(k28_write_o);
+ DECLARE_WRITE16_MEMBER(k28_write_r);
// cartridge
UINT32 m_cart_max_size;
@@ -655,15 +665,14 @@ TIMER_DEVICE_CALLBACK_MEMBER(tispeak_state::tntell_get_overlay)
}
-// ctteach specific
+// k28 specific
-void tispeak_state::ctteach_prepare_display(UINT8 old, UINT8 data)
+void tispeak_state::k28_prepare_display(UINT8 old, UINT8 data)
{
- if (data == old)
- return;
+ // ?
}
-WRITE16_MEMBER(tispeak_state::ctteach_write_r)
+WRITE16_MEMBER(tispeak_state::k28_write_r)
{
// R1234: TMS5100 CTL8421
m_tms5100->ctl_w(space, 0, BITSWAP8(data,0,0,0,0,1,2,3,4) & 0xf);
@@ -679,17 +688,17 @@ WRITE16_MEMBER(tispeak_state::ctteach_write_r)
power_off();
// R7-R10: LCD data
- ctteach_prepare_display(m_r >> 7 & 0xf, data >> 7 & 0xf);
+ k28_prepare_display(m_r >> 7 & 0xf, data >> 7 & 0xf);
m_r = data;
}
-WRITE16_MEMBER(tispeak_state::ctteach_write_o)
+WRITE16_MEMBER(tispeak_state::k28_write_o)
{
// O0-O7: input mux low
m_inp_mux = (m_inp_mux & ~0xff) | data;
}
-READ8_MEMBER(tispeak_state::ctteach_read_k)
+READ8_MEMBER(tispeak_state::k28_read_k)
{
// K: TMS5100 CTL, multiplexed inputs
return m_tms5100->ctl_r(space, 0) | read_inputs(9);
@@ -1096,7 +1105,7 @@ static INPUT_PORTS_START( tntell )
INPUT_PORTS_END
-static INPUT_PORTS_START( ctteach )
+static INPUT_PORTS_START( k28 )
PORT_START("IN.0") // O0
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_PGDN) PORT_NAME("Off") // -> auto_power_off
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_A) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_CHAR('A') PORT_NAME("A/1")
@@ -1332,16 +1341,16 @@ static MACHINE_CONFIG_DERIVED( tntell, vocaid )
MACHINE_CONFIG_END
-static MACHINE_CONFIG_START( ctteach, tispeak_state )
+static MACHINE_CONFIG_START( k28, tispeak_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", TMS1400, MASTER_CLOCK/2)
- MCFG_TMS1XXX_READ_K_CB(READ8(tispeak_state, ctteach_read_k))
- MCFG_TMS1XXX_WRITE_O_CB(WRITE16(tispeak_state, ctteach_write_o))
- MCFG_TMS1XXX_WRITE_R_CB(WRITE16(tispeak_state, ctteach_write_r))
+ MCFG_TMS1XXX_READ_K_CB(READ8(tispeak_state, k28_read_k))
+ MCFG_TMS1XXX_WRITE_O_CB(WRITE16(tispeak_state, k28_write_o))
+ MCFG_TMS1XXX_WRITE_R_CB(WRITE16(tispeak_state, k28_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_DEFAULT_LAYOUT(layout_k28)
/* sound hardware */
MCFG_DEVICE_ADD("tms6100", TMS6100, MASTER_CLOCK/4)
@@ -1349,6 +1358,13 @@ static MACHINE_CONFIG_START( ctteach, tispeak_state )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("tms5100", TMS5110A, MASTER_CLOCK)
MCFG_FRAGMENT_ADD(tms5110_route)
+
+ /* cartridge */
+ MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "k28")
+ MCFG_GENERIC_EXTENSIONS("vsm")
+ MCFG_GENERIC_LOAD(tispeak_state, tispeak_cartridge)
+
+ MCFG_SOFTWARE_LIST_ADD("cart_list", "k28")
MACHINE_CONFIG_END
@@ -1693,16 +1709,16 @@ ROM_START( vocaid )
ROM_END
-ROM_START( ctteach )
+ROM_START( k28 )
ROM_REGION( 0x1000, "maincpu", 0 )
ROM_LOAD( "mp7324", 0x0000, 0x1000, CRC(08d15ab6) SHA1(5b0f6c53e6732a362c4bb25d966d4072fdd33db8) )
ROM_REGION( 867, "maincpu:mpla", 0 )
ROM_LOAD( "tms1100_common1_micro.pla", 0, 867, CRC(62445fc9) SHA1(d6297f2a4bc7a870b76cc498d19dbb0ce7d69fec) )
ROM_REGION( 557, "maincpu:opla", 0 )
- ROM_LOAD( "tms1400_ctteach_output.pla", 0, 557, CRC(3a5c7005) SHA1(3fe5819c138a90e7fc12817415f2622ca81b40b2) )
+ ROM_LOAD( "tms1400_k28_output.pla", 0, 557, CRC(3a5c7005) SHA1(3fe5819c138a90e7fc12817415f2622ca81b40b2) )
- ROM_REGION( 0x8000, "tms6100", ROMREGION_ERASEFF )
+ ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge?
ROM_LOAD( "cm62084.vsm", 0x0000, 0x4000, CRC(cd1376f7) SHA1(96fa484c392c451599bc083b8376cad9c998df7d) )
ROM_END
@@ -1738,4 +1754,4 @@ COMP( 1981, tntellfr, tntell, 0, tntell, tntell, tispeak_state, tn
COMP( 1982, vocaid, 0, 0, vocaid, tntell, driver_device, 0, "Texas Instruments", "Vocaid", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_REQUIRES_ARTWORK )
-COMP( 1985, ctteach, 0, 0, ctteach, ctteach, driver_device, 0, "Coleco", "Talking Teacher", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
+COMP( 1985, k28, 0, 0, k28, k28, tispeak_state, snspell, "Tiger Electronics", "K28: Talking Learning Computer (model 7-232)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
diff --git a/src/mame/layout/ctteach.lay b/src/mame/layout/k28.lay
index dde1a20e295..dde1a20e295 100644
--- a/src/mame/layout/ctteach.lay
+++ b/src/mame/layout/k28.lay
diff --git a/src/mame/mess.lst b/src/mame/mess.lst
index 459fae8a81f..d43909d9e41 100644
--- a/src/mame/mess.lst
+++ b/src/mame/mess.lst
@@ -2359,7 +2359,7 @@ tntelluk
tntellfr
tntellp
vocaid
-ctteach // Coleco
+k28 // Tiger Electronics
// hh_ucom4
ufombs // Bambino