mirror of
https://github.com/holub/mame
synced 2025-04-24 17:30:55 +03:00
Common parts of TMS99xx CPUs
This commit is contained in:
parent
e68246c6dd
commit
729030b28c
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -926,6 +926,7 @@ src/emu/cpu/tms9900/tms9980al.c svneol=native#text/plain
|
||||
src/emu/cpu/tms9900/tms9995.c svneol=native#text/plain
|
||||
src/emu/cpu/tms9900/tms9995.h svneol=native#text/plain
|
||||
src/emu/cpu/tms9900/tms9995l.c svneol=native#text/plain
|
||||
src/emu/cpu/tms9900/tms99com.h svneol=native#text/plain
|
||||
src/emu/cpu/uml.c svneol=native#text/plain
|
||||
src/emu/cpu/uml.h svneol=native#text/plain
|
||||
src/emu/cpu/unsp/unsp.c svneol=native#text/plain
|
||||
|
74
src/emu/cpu/tms9900/tms99com.h
Normal file
74
src/emu/cpu/tms9900/tms99com.h
Normal file
@ -0,0 +1,74 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Michael Zapf
|
||||
/*
|
||||
Common definitions for all TMS processors
|
||||
|
||||
Types of TMS99xx processors:
|
||||
TI990/9 Early implementation, used in a few real-world applications, 1974
|
||||
very similar to mapper-less 990/10 and tms9900, but the Load
|
||||
process is different
|
||||
|
||||
TI990/10 Original multi-chip implementation for minicomputer systems, 1975
|
||||
|
||||
TI990/12 Multi-chip implementation, faster than 990/10. Huge instruction set
|
||||
|
||||
TMS9900 Mono-chip implementation, 1976. Used in the TI-99/4(A) computer.
|
||||
|
||||
TMS9940 Microcontroller with 2kb ROM, 128b RAM, decrementer, CRU bus, 1979
|
||||
|
||||
TMS9980 8-bit variant of tms9900. Two distinct chips actually : tms9980a
|
||||
and tms9981 with an extra clock and simplified power supply
|
||||
|
||||
TMS9985 9940 with 8kb ROM, 256b RAM, and a 8-bit external bus, c. 1978 (never released)
|
||||
|
||||
TMS9989 Improved 9980, used in military hardware.
|
||||
|
||||
SBP68689 Improved 9989, built as an ASIC as 9989 was running scarce
|
||||
|
||||
TMS9995 TMS9985-like, with many improvements (but no ROM). Used in the
|
||||
TI-99/8 prototype and the Geneve computer.
|
||||
|
||||
TMS99000 Improved mono-chip implementation, meant to replace 990/10, 1981
|
||||
TMS99105 This chip is available in several variants which are similar
|
||||
TMS99110 but emulate additional instructions, thanks to the so-called
|
||||
macrostore feature.
|
||||
|
||||
In this implementation we only consider TMS9900, 9980, and 9995. The
|
||||
remaining types are implemented on an own code base as they introduce
|
||||
significant changes (e.g. privileged mode, address mapper). For now we
|
||||
leave the implementation of the rest up to 99xxcore.h.
|
||||
*/
|
||||
|
||||
#ifndef __TMS99COMMON_H__
|
||||
#define __TMS99COMMON_H__
|
||||
|
||||
#define MCFG_TMS99xx_ADD(_tag, _device, _clock, _prgmap, _iomap, _config) \
|
||||
MCFG_DEVICE_ADD(_tag, _device, _clock) \
|
||||
MCFG_DEVICE_PROGRAM_MAP(_prgmap) \
|
||||
MCFG_DEVICE_IO_MAP(_iomap) \
|
||||
MCFG_DEVICE_CONFIG(_config)
|
||||
|
||||
enum
|
||||
{
|
||||
TI990_10_ID = 1,
|
||||
TMS9900_ID = 3,
|
||||
TMS9940_ID = 4,
|
||||
TMS9980_ID = 5,
|
||||
TMS9985_ID = 6,
|
||||
TMS9989_ID = 7,
|
||||
TMS9995_ID = 9,
|
||||
TMS99000_ID = 10,
|
||||
TMS99105A_ID = 11,
|
||||
TMS99110A_ID = 12
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
IDLE_OP = 2,
|
||||
RSET_OP = 3,
|
||||
CKOF_OP = 5,
|
||||
CKON_OP = 6,
|
||||
LREX_OP = 7
|
||||
};
|
||||
|
||||
#endif /* __TMS99COMMON_H__ */
|
Loading…
Reference in New Issue
Block a user