diff options
author | 2016-03-16 08:58:39 +0100 | |
---|---|---|
committer | 2016-03-16 08:58:55 +0100 | |
commit | 2a342184c17f3e80730eb87477c883b6938aa61f (patch) | |
tree | b85bb8138aa11028720939304ba304181c798044 /src/devices/cpu/tms1000/tp0320.cpp | |
parent | d83d2a22335c340e96bbf48ed9a4a7ac91fab4fe (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/tms1000/tp0320.cpp')
-rw-r--r-- | src/devices/cpu/tms1000/tp0320.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
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__) { } |