mirror of
https://github.com/holub/mame
synced 2025-04-23 08:49:55 +03:00
tms1k: correct copyright tags, what's left of the old core before i rewrote it, is all in dasm and tms1k_base.*
This commit is contained in:
parent
d83d2a2233
commit
2a342184c1
@ -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)
|
||||
|
@ -1,5 +1,5 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Wilbert Pol, hap
|
||||
// copyright-holders:hap
|
||||
/*
|
||||
|
||||
TMS1000 family - TMS0270
|
||||
|
@ -1,5 +1,5 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Wilbert Pol, hap
|
||||
// copyright-holders:hap
|
||||
/*
|
||||
|
||||
TMS1000 family - TMS0950, TMS0970, TMS1990
|
||||
|
@ -1,5 +1,5 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Wilbert Pol, hap
|
||||
// copyright-holders:hap
|
||||
/*
|
||||
|
||||
TMS1000 family - TMS0950, TMS0970, TMS1990
|
||||
|
@ -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__)
|
||||
{ }
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Wilbert Pol, hap
|
||||
// copyright-holders:hap
|
||||
/*
|
||||
|
||||
TMS1000 family - TMS0980, TMS1980
|
||||
|
@ -1,5 +1,5 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Wilbert Pol, hap
|
||||
// copyright-holders:hap
|
||||
/*
|
||||
|
||||
TMS1000 family - TMS1000, TMS1070, TMS1040, TMS1200
|
||||
|
@ -1,5 +1,5 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Wilbert Pol, hap
|
||||
// copyright-holders:hap
|
||||
/*
|
||||
|
||||
TMS1000 family - TMS1000, TMS1070, TMS1040, TMS1200
|
||||
|
@ -1,5 +1,5 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Wilbert Pol, hap
|
||||
// copyright-holders:hap
|
||||
/*
|
||||
|
||||
TMS1000 family - TMS1100, TMS1170, TMS1300, TMS1370
|
||||
|
@ -1,5 +1,5 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Wilbert Pol, hap
|
||||
// copyright-holders:hap
|
||||
/*
|
||||
|
||||
TMS1000 family - TMS1100, TMS1170, TMS1300, TMS1370
|
||||
|
@ -1,5 +1,5 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Wilbert Pol, hap
|
||||
// copyright-holders:hap
|
||||
/*
|
||||
|
||||
TMS1000 family - TMS1400, TMS1470, TMS1600, TMS1670
|
||||
|
@ -1,5 +1,5 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Wilbert Pol, hap
|
||||
// copyright-holders:hap
|
||||
/*
|
||||
|
||||
TMS1000 family - TMS1400, TMS1470, TMS1600, TMS1670
|
||||
|
@ -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__)
|
||||
{ }
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Wilbert Pol, hap
|
||||
// copyright-holders:hap
|
||||
/*
|
||||
|
||||
TMS1000 family - TP0320
|
||||
|
Loading…
Reference in New Issue
Block a user