summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2014-11-07 01:46:35 +0100
committer hap <happppp@users.noreply.github.com>2014-11-07 01:46:35 +0100
commitb601b7c79935f956f0d9545e71639cadbdc5a9b3 (patch)
tree3884a8c35c17c0c93ba3fe35357448db70cf5a84
parentb69893450bcdc27ab40f2ed082c7070bc5d139ea (diff)
added tms0970 device
-rw-r--r--src/emu/cpu/tms0980/tms0980.c10
-rw-r--r--src/emu/cpu/tms0980/tms0980.h8
2 files changed, 16 insertions, 2 deletions
diff --git a/src/emu/cpu/tms0980/tms0980.c b/src/emu/cpu/tms0980/tms0980.c
index 06a438521a1..b08569c4a5f 100644
--- a/src/emu/cpu/tms0980/tms0980.c
+++ b/src/emu/cpu/tms0980/tms0980.c
@@ -10,7 +10,7 @@ though. The table below shows the differences between the different models.
Mode | ROM | RAM | R pins | O pins | K pins | ids
---------+-----------+----------+--------+--------+--------|----------
-tms0970* | 1024 * 8 | 64 * 4 | | | | tms0972
+tms0970 | 1024 * 8 | 64 * 4 | | | | tms0972
tms0920* | 511?* 9 | 40 * 5 | | | | tmc0921
tms0980 | 2048 * 9 | 64 * 9 | | | | tmc0981
tms1000 | 1024 * 8 | 64 * 4 | 11 | 8 | 4 | tms1001
@@ -127,6 +127,7 @@ unknown cycle: CME, SSE, SSS
const device_type TMS0980 = &device_creator<tms0980_cpu_device>;
const device_type TMS1000 = &device_creator<tms1000_cpu_device>;
+const device_type TMS0970 = &device_creator<tms0970_cpu_device>;
const device_type TMS1070 = &device_creator<tms1070_cpu_device>;
const device_type TMS1200 = &device_creator<tms1200_cpu_device>;
const device_type TMS1270 = &device_creator<tms1270_cpu_device>;
@@ -636,7 +637,7 @@ static const UINT8 tms1000_next_pc[64] =
nand322 means if pc = 0x3f, output MUST be true
hence, nand325 is if pc = 0x7f, false. if pc = 0x3f, true. if pc&0x60 is zero OR pc&0x60 is 0x60, true. otherwise, false.
- tms0980_nect_pc below implements an indentical function to this in a somewhat more elegant way.
+ tms0980_next_pc below implements an indentical function to this in a somewhat more elegant way.
*/
void tms1xxx_cpu_device::next_pc()
{
@@ -1057,6 +1058,11 @@ offs_t tms1000_cpu_device::disasm_disassemble(char *buffer, offs_t pc, const UIN
}
+tms0970_cpu_device::tms0970_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
+ : tms1000_cpu_device( mconfig, TMS0970, "TMS0970", tag, owner, clock, 0x00ff, 0x07ff, "tms0970", __FILE__)
+{
+}
+
tms1070_cpu_device::tms1070_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
: tms1000_cpu_device( mconfig, TMS1070, "TMS1070", tag, owner, clock, 0x00ff, 0x07ff, "tms1070", __FILE__)
{
diff --git a/src/emu/cpu/tms0980/tms0980.h b/src/emu/cpu/tms0980/tms0980.h
index 2dbdd89b3b4..c24dcacab25 100644
--- a/src/emu/cpu/tms0980/tms0980.h
+++ b/src/emu/cpu/tms0980/tms0980.h
@@ -162,6 +162,13 @@ protected:
};
+class tms0970_cpu_device : public tms1000_cpu_device
+{
+public:
+ tms0970_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+};
+
+
class tms1070_cpu_device : public tms1000_cpu_device
{
public:
@@ -209,6 +216,7 @@ extern const device_type TMS0980;
/* 8-bit family */
extern const device_type TMS1000;
+extern const device_type TMS0970;
extern const device_type TMS1070;
extern const device_type TMS1200;
extern const device_type TMS1270;