summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/tms32025/tms32025.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/cpu/tms32025/tms32025.h')
-rw-r--r--src/emu/cpu/tms32025/tms32025.h78
1 files changed, 78 insertions, 0 deletions
diff --git a/src/emu/cpu/tms32025/tms32025.h b/src/emu/cpu/tms32025/tms32025.h
new file mode 100644
index 00000000000..35b5a16b349
--- /dev/null
+++ b/src/emu/cpu/tms32025/tms32025.h
@@ -0,0 +1,78 @@
+ /**************************************************************************\
+ * Texas Instruments TMS320x25 DSP Emulator *
+ * *
+ * Copyright (C) 2001-2002+ Tony La Porta *
+ * Written for the MAME project. *
+ * *
+ * Note : This is a word based microcontroller, with addressing *
+ * architecture based on the Harvard addressing scheme. *
+ * *
+ * Three versions of the chip are available, and they are: *
+ * TMS320C25 Internal ROM one time programmed at TI *
+ * TMS320E25 Internal ROM programmable as a normal EPROM *
+ * TMS320P25 Internal ROM programmable once as a normal EPROM only *
+ * These devices can also be used as a MicroController with external ROM *
+ * *
+ \***************************************************************************/
+
+#ifndef _TMS32025_H
+#define _TMS32025_H
+
+
+#include "cpuintrf.h"
+
+
+
+#define TMS32025_BIO 0x10000 /* BIO input */
+#define TMS32025_HOLD 0x10001 /* HOLD input */
+#define TMS32025_HOLDA 0x10001 /* HOLD Acknowledge output */
+#define TMS32025_XF 0x10002 /* XF output */
+#define TMS32025_DR 0x10003 /* Serial Data Receive input */
+#define TMS32025_DX 0x10003 /* Serial Data Transmit output */
+#define TMS32025_CLKR 0x10004 /* Serial Clock Receive input */
+#define TMS32025_CLKX 0x10004 /* Serial Clock Transmit output */
+#define TMS32025_FSR 0x10005 /* Serial Frame Receive pulse input */
+#define TMS32025_FSX 0x10005 /* Serial Frame Transmit pulse output */
+
+
+
+/****************************************************************************
+ * Interrupt constants
+ */
+
+#define TMS32025_INT0 0 /* External INT0 */
+#define TMS32025_INT1 1 /* External INT1 */
+#define TMS32025_INT2 2 /* External INT2 */
+#define TMS32025_TINT 3 /* Internal Timer interrupt */
+#define TMS32025_RINT 4 /* Serial Port receive interrupt */
+#define TMS32025_XINT 5 /* Serial Port transmit interrupt */
+#define TMS32025_TRAP 6 /* Trap instruction */
+#define TMS32025_INT_NONE -1
+
+
+enum {
+ TMS32025_PC=1,
+ TMS32025_PFC, TMS32025_STR0, TMS32025_STR1, TMS32025_IFR,
+ TMS32025_RPTC, TMS32025_ACC, TMS32025_PREG, TMS32025_TREG,
+ TMS32025_AR0, TMS32025_AR1, TMS32025_AR2, TMS32025_AR3,
+ TMS32025_AR4, TMS32025_AR5, TMS32025_AR6, TMS32025_AR7,
+ TMS32025_STK0, TMS32025_STK1, TMS32025_STK2, TMS32025_STK3,
+ TMS32025_STK4, TMS32025_STK5, TMS32025_STK6, TMS32025_STK7,
+ TMS32025_DRR, TMS32025_DXR, TMS32025_TIM, TMS32025_PRD,
+ TMS32025_IMR, TMS32025_GREG
+};
+
+
+/****************************************************************************
+ * Public Functions
+ */
+
+extern void tms32025_get_info(UINT32 state, cpuinfo *info);
+extern void tms32026_get_info(UINT32 state, cpuinfo *info);
+
+
+#ifdef MAME_DEBUG
+offs_t tms32025_dasm(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram);
+#endif
+
+#endif /* _TMS32025_H */