summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2016-03-16 08:58:39 +0100
committer hap <happppp@users.noreply.github.com>2016-03-16 08:58:55 +0100
commit2a342184c17f3e80730eb87477c883b6938aa61f (patch)
treeb85bb8138aa11028720939304ba304181c798044 /src/devices/cpu
parentd83d2a22335c340e96bbf48ed9a4a7ac91fab4fe (diff)
tms1k: correct copyright tags, what's left of the old core before i rewrote it, is all in dasm and tms1k_base.*
Diffstat (limited to 'src/devices/cpu')
-rw-r--r--src/devices/cpu/tms1000/tms0270.cpp9
-rw-r--r--src/devices/cpu/tms1000/tms0270.h2
-rw-r--r--src/devices/cpu/tms1000/tms0970.cpp2
-rw-r--r--src/devices/cpu/tms1000/tms0970.h2
-rw-r--r--src/devices/cpu/tms1000/tms0980.cpp10
-rw-r--r--src/devices/cpu/tms1000/tms0980.h2
-rw-r--r--src/devices/cpu/tms1000/tms1000.cpp2
-rw-r--r--src/devices/cpu/tms1000/tms1000.h2
-rw-r--r--src/devices/cpu/tms1000/tms1100.cpp2
-rw-r--r--src/devices/cpu/tms1000/tms1100.h2
-rw-r--r--src/devices/cpu/tms1000/tms1400.cpp2
-rw-r--r--src/devices/cpu/tms1000/tms1400.h2
-rw-r--r--src/devices/cpu/tms1000/tp0320.cpp18
-rw-r--r--src/devices/cpu/tms1000/tp0320.h2
14 files changed, 33 insertions, 26 deletions
diff --git a/src/devices/cpu/tms1000/tms0270.cpp b/src/devices/cpu/tms1000/tms0270.cpp
index fae494efc47..b38ce2c13b7 100644
--- a/src/devices/cpu/tms1000/tms0270.cpp
+++ b/src/devices/cpu/tms1000/tms0270.cpp
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:Wilbert Pol, hap
+// copyright-holders:hap
/*
TMS1000 family - TMS0270
@@ -11,7 +11,8 @@
// TMS0270 is a TMS0980 with earrings and a new hat. The new changes look like a quick afterthought, almost hacky
// - RAM, ROM, and main instructions PLAs is the same as TMS0980
-// - 64-term microinstructions PLA between the RAM and ROM, supporting 20 microinstructions plus optional separate lines for custom opcode handling
+// - 64-term microinstructions PLA between the RAM and ROM, similar to TMS0980,
+// plus optional separate lines for custom opcode handling
// - 48-term output PLA above the RAM (rotate opla 90 degrees)
const device_type TMS0270 = &device_creator<tms0270_cpu_device>; // 40-pin DIP, 16 O pins, 8+ R pins (some R pins are internally hooked up to support more I/O)
// newer TMS0270 chips (eg. Speak & Math) have 42 pins
@@ -24,7 +25,7 @@ static ADDRESS_MAP_START(program_11bit_9, AS_PROGRAM, 16, tms1k_base_device)
AM_RANGE(0x000, 0xfff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(data_64x9_as4, AS_DATA, 8, tms1k_base_device)
+static ADDRESS_MAP_START(data_144x4, AS_DATA, 8, tms1k_base_device)
AM_RANGE(0x00, 0x7f) AM_RAM
AM_RANGE(0x80, 0x8f) AM_RAM AM_MIRROR(0x70) // DAM
ADDRESS_MAP_END
@@ -32,7 +33,7 @@ ADDRESS_MAP_END
// device definitions
tms0270_cpu_device::tms0270_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
- : tms0980_cpu_device(mconfig, TMS0270, "TMS0270", tag, owner, clock, 16 /* o pins */, 16 /* r pins */, 7 /* pc bits */, 9 /* byte width */, 4 /* x width */, 12 /* prg width */, ADDRESS_MAP_NAME(program_11bit_9), 8 /* data width */, ADDRESS_MAP_NAME(data_64x9_as4), "tms0270", __FILE__)
+ : tms0980_cpu_device(mconfig, TMS0270, "TMS0270", tag, owner, clock, 16 /* o pins */, 16 /* r pins */, 7 /* pc bits */, 9 /* byte width */, 4 /* x width */, 12 /* prg width */, ADDRESS_MAP_NAME(program_11bit_9), 8 /* data width */, ADDRESS_MAP_NAME(data_144x4), "tms0270", __FILE__)
, m_read_ctl(*this)
, m_write_ctl(*this)
, m_write_pdc(*this)
diff --git a/src/devices/cpu/tms1000/tms0270.h b/src/devices/cpu/tms1000/tms0270.h
index 6d4e0142f3a..5cac8c810ad 100644
--- a/src/devices/cpu/tms1000/tms0270.h
+++ b/src/devices/cpu/tms1000/tms0270.h
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:Wilbert Pol, hap
+// copyright-holders:hap
/*
TMS1000 family - TMS0270
diff --git a/src/devices/cpu/tms1000/tms0970.cpp b/src/devices/cpu/tms1000/tms0970.cpp
index 2eabe847bb9..88b9a52be39 100644
--- a/src/devices/cpu/tms1000/tms0970.cpp
+++ b/src/devices/cpu/tms1000/tms0970.cpp
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:Wilbert Pol, hap
+// copyright-holders:hap
/*
TMS1000 family - TMS0950, TMS0970, TMS1990
diff --git a/src/devices/cpu/tms1000/tms0970.h b/src/devices/cpu/tms1000/tms0970.h
index 627dfa24c69..62cfb57c4e2 100644
--- a/src/devices/cpu/tms1000/tms0970.h
+++ b/src/devices/cpu/tms1000/tms0970.h
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:Wilbert Pol, hap
+// copyright-holders:hap
/*
TMS1000 family - TMS0950, TMS0970, TMS1990
diff --git a/src/devices/cpu/tms1000/tms0980.cpp b/src/devices/cpu/tms1000/tms0980.cpp
index cda96386b38..b5884c70ad7 100644
--- a/src/devices/cpu/tms1000/tms0980.cpp
+++ b/src/devices/cpu/tms1000/tms0980.cpp
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:Wilbert Pol, hap
+// copyright-holders:hap
/*
TMS1000 family - TMS0980, TMS1980
@@ -10,7 +10,7 @@
#include "debugger.h"
// TMS0980
-// - 64x9bit RAM array at the bottom-left (set up as 144x4)
+// - 144x4bit RAM array at the bottom-left (128+16, set up as 8x18x4)
// - 2048x9bit ROM array at the bottom-left
// - main instructions PLAs at the top half, to the right of the midline
// * top section is assumed to be the CKI bus select
@@ -33,7 +33,7 @@ static ADDRESS_MAP_START(program_11bit_9, AS_PROGRAM, 16, tms1k_base_device)
AM_RANGE(0x000, 0xfff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(data_64x9_as4, AS_DATA, 8, tms1k_base_device)
+static ADDRESS_MAP_START(data_144x4, AS_DATA, 8, tms1k_base_device)
AM_RANGE(0x00, 0x7f) AM_RAM
AM_RANGE(0x80, 0x8f) AM_RAM AM_MIRROR(0x70) // DAM
ADDRESS_MAP_END
@@ -41,7 +41,7 @@ ADDRESS_MAP_END
// device definitions
tms0980_cpu_device::tms0980_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
- : tms0970_cpu_device(mconfig, TMS0980, "TMS0980", tag, owner, clock, 8 /* o pins */, 9 /* r pins */, 7 /* pc bits */, 9 /* byte width */, 4 /* x width */, 12 /* prg width */, ADDRESS_MAP_NAME(program_11bit_9), 8 /* data width */, ADDRESS_MAP_NAME(data_64x9_as4), "tms0980", __FILE__)
+ : tms0970_cpu_device(mconfig, TMS0980, "TMS0980", tag, owner, clock, 8 /* o pins */, 9 /* r pins */, 7 /* pc bits */, 9 /* byte width */, 4 /* x width */, 12 /* prg width */, ADDRESS_MAP_NAME(program_11bit_9), 8 /* data width */, ADDRESS_MAP_NAME(data_144x4), "tms0980", __FILE__)
{ }
tms0980_cpu_device::tms0980_cpu_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, UINT8 o_pins, UINT8 r_pins, UINT8 pc_bits, UINT8 byte_bits, UINT8 x_bits, int prgwidth, address_map_constructor program, int datawidth, address_map_constructor data, const char *shortname, const char *source)
@@ -49,7 +49,7 @@ tms0980_cpu_device::tms0980_cpu_device(const machine_config &mconfig, device_typ
{ }
tms1980_cpu_device::tms1980_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
- : tms0980_cpu_device(mconfig, TMS1980, "TMS1980", tag, owner, clock, 7, 10, 7, 9, 4, 12, ADDRESS_MAP_NAME(program_11bit_9), 8, ADDRESS_MAP_NAME(data_64x9_as4), "tms1980", __FILE__)
+ : tms0980_cpu_device(mconfig, TMS1980, "TMS1980", tag, owner, clock, 7, 10, 7, 9, 4, 12, ADDRESS_MAP_NAME(program_11bit_9), 8, ADDRESS_MAP_NAME(data_144x4), "tms1980", __FILE__)
{ }
diff --git a/src/devices/cpu/tms1000/tms0980.h b/src/devices/cpu/tms1000/tms0980.h
index 793c32cb1fc..93d8cf22fc3 100644
--- a/src/devices/cpu/tms1000/tms0980.h
+++ b/src/devices/cpu/tms1000/tms0980.h
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:Wilbert Pol, hap
+// copyright-holders:hap
/*
TMS1000 family - TMS0980, TMS1980
diff --git a/src/devices/cpu/tms1000/tms1000.cpp b/src/devices/cpu/tms1000/tms1000.cpp
index 2edb517155f..65fc28f6c1a 100644
--- a/src/devices/cpu/tms1000/tms1000.cpp
+++ b/src/devices/cpu/tms1000/tms1000.cpp
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:Wilbert Pol, hap
+// copyright-holders:hap
/*
TMS1000 family - TMS1000, TMS1070, TMS1040, TMS1200
diff --git a/src/devices/cpu/tms1000/tms1000.h b/src/devices/cpu/tms1000/tms1000.h
index 1a2d98822e5..361e4e6fe83 100644
--- a/src/devices/cpu/tms1000/tms1000.h
+++ b/src/devices/cpu/tms1000/tms1000.h
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:Wilbert Pol, hap
+// copyright-holders:hap
/*
TMS1000 family - TMS1000, TMS1070, TMS1040, TMS1200
diff --git a/src/devices/cpu/tms1000/tms1100.cpp b/src/devices/cpu/tms1000/tms1100.cpp
index 39b6ed70e6f..042a0bcf6bf 100644
--- a/src/devices/cpu/tms1000/tms1100.cpp
+++ b/src/devices/cpu/tms1000/tms1100.cpp
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:Wilbert Pol, hap
+// copyright-holders:hap
/*
TMS1000 family - TMS1100, TMS1170, TMS1300, TMS1370
diff --git a/src/devices/cpu/tms1000/tms1100.h b/src/devices/cpu/tms1000/tms1100.h
index ae3c5868532..2a78af0f283 100644
--- a/src/devices/cpu/tms1000/tms1100.h
+++ b/src/devices/cpu/tms1000/tms1100.h
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:Wilbert Pol, hap
+// copyright-holders:hap
/*
TMS1000 family - TMS1100, TMS1170, TMS1300, TMS1370
diff --git a/src/devices/cpu/tms1000/tms1400.cpp b/src/devices/cpu/tms1000/tms1400.cpp
index f1bada9c6c9..e9246b18685 100644
--- a/src/devices/cpu/tms1000/tms1400.cpp
+++ b/src/devices/cpu/tms1000/tms1400.cpp
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:Wilbert Pol, hap
+// copyright-holders:hap
/*
TMS1000 family - TMS1400, TMS1470, TMS1600, TMS1670
diff --git a/src/devices/cpu/tms1000/tms1400.h b/src/devices/cpu/tms1000/tms1400.h
index f4c2f177d16..0b73babc223 100644
--- a/src/devices/cpu/tms1000/tms1400.h
+++ b/src/devices/cpu/tms1000/tms1400.h
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:Wilbert Pol, hap
+// copyright-holders:hap
/*
TMS1000 family - TMS1400, TMS1470, TMS1600, TMS1670
diff --git a/src/devices/cpu/tms1000/tp0320.cpp b/src/devices/cpu/tms1000/tp0320.cpp
index 71a5eda71f1..177396e36aa 100644
--- a/src/devices/cpu/tms1000/tp0320.cpp
+++ b/src/devices/cpu/tms1000/tp0320.cpp
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:Wilbert Pol, hap
+// copyright-holders:hap
/*
TMS1000 family - TP0320
@@ -10,8 +10,14 @@
#include "debugger.h"
// TP0320 is TI's first CMOS MCU with integrated LCD controller, the die is still very similar to TMS0980
-// - ROM and main RAM is same as on TMS0980 with different row-select
-// -
+// - 2048x9bit ROM, same as on TMS0980 with different row-select
+// - 192x4bit RAM array at the bottom-left (set up as 16x12x4)
+// - 16x4bit LCD RAM, above main RAM array
+// - main instructions PLAs at the same position as TMS0980, fixed opcodes:
+// * LDP, RETN, OFF, bb?, be?, b9?, ba?, RBIT, SBIT, COMX8, bc?, LDX, XDA, TDO, SEAC, REAC, SAL, SBL
+// - 64-term microinstructions PLA between the RAM and ROM, similar to TMS0980,
+// plus separate lines for custom opcode handling like TMS0270, used for SETR and RSTR
+// - 24-term output PLA above LCD RAM
const device_type TP0320 = &device_creator<tp0320_cpu_device>; // 28-pin SDIP, ..
@@ -20,15 +26,15 @@ static ADDRESS_MAP_START(program_11bit_9, AS_PROGRAM, 16, tms1k_base_device)
AM_RANGE(0x000, 0xfff) AM_ROM
ADDRESS_MAP_END
-static ADDRESS_MAP_START(data_64x9_as4, AS_DATA, 8, tms1k_base_device)
+static ADDRESS_MAP_START(data_192x4, AS_DATA, 8, tms1k_base_device)
AM_RANGE(0x00, 0x7f) AM_RAM
- AM_RANGE(0x80, 0x8f) AM_RAM AM_MIRROR(0x70) // DAM
+ AM_RANGE(0x80, 0xbf) AM_RAM AM_MIRROR(0x40) // DAM
ADDRESS_MAP_END
// device definitions
tp0320_cpu_device::tp0320_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
- : tms0980_cpu_device(mconfig, TP0320, "TP0320", tag, owner, clock, 7 /* o pins */, 10 /* r pins */, 7 /* pc bits */, 9 /* byte width */, 4 /* x width */, 12 /* prg width */, ADDRESS_MAP_NAME(program_11bit_9), 8 /* data width */, ADDRESS_MAP_NAME(data_64x9_as4), "tp0320", __FILE__)
+ : tms0980_cpu_device(mconfig, TP0320, "TP0320", tag, owner, clock, 7 /* o pins */, 10 /* r pins */, 7 /* pc bits */, 9 /* byte width */, 4 /* x width */, 12 /* prg width */, ADDRESS_MAP_NAME(program_11bit_9), 8 /* data width */, ADDRESS_MAP_NAME(data_192x4), "tp0320", __FILE__)
{ }
diff --git a/src/devices/cpu/tms1000/tp0320.h b/src/devices/cpu/tms1000/tp0320.h
index 32e18e5159f..9b110abdf40 100644
--- a/src/devices/cpu/tms1000/tp0320.h
+++ b/src/devices/cpu/tms1000/tp0320.h
@@ -1,5 +1,5 @@
// license:BSD-3-Clause
-// copyright-holders:Wilbert Pol, hap
+// copyright-holders:hap
/*
TMS1000 family - TP0320