summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/clipper/clipper.h
diff options
context:
space:
mode:
author Patrick Mackinlay <pmackinlay@hotmail.com>2018-07-05 21:22:05 +0700
committer Olivier Galibert <galibert@pobox.com>2018-07-05 16:22:05 +0200
commit7bee6e6f1e9711558c7548dd895979bb9ffd81bc (patch)
tree5d41b9940a98689969b276923ada2cd7fe026694 /src/devices/cpu/clipper/clipper.h
parentd4e62756908f5d5553fff62b10e4017e97a3d1c5 (diff)
interpro: CLIX boots (on the ip2000) (#3730)
Too many changes to describe in detail. A rewrite of the interrupt and dma code in the ioga, and fixes to the cpu and mmu were the most important things.
Diffstat (limited to 'src/devices/cpu/clipper/clipper.h')
-rw-r--r--src/devices/cpu/clipper/clipper.h28
1 files changed, 18 insertions, 10 deletions
diff --git a/src/devices/cpu/clipper/clipper.h b/src/devices/cpu/clipper/clipper.h
index 995ca53d7f7..d480100d509 100644
--- a/src/devices/cpu/clipper/clipper.h
+++ b/src/devices/cpu/clipper/clipper.h
@@ -94,11 +94,15 @@ public:
enum ssw_id : u32
{
- SSW_ID_C400R0 = 0x00800,
- SSW_ID_C400R1 = 0x04800,
- SSW_ID_C400R2 = 0x08800,
- SSW_ID_C400R3 = 0x0c800,
- SSW_ID_C400R4 = 0x10800
+ SSW_ID_C1R1 = 0x00000,
+ SSW_ID_C2R1 = 0x00200,
+ SSW_ID_C3R1 = 0x00400,
+ SSW_ID_E1R1 = 0x00600,
+ SSW_ID_C4R0 = 0x00800,
+ SSW_ID_C4R1 = 0x04800,
+ SSW_ID_C4R2 = 0x08800,
+ SSW_ID_C4R3 = 0x0c800,
+ SSW_ID_C4R4 = 0x10800
};
// trap source values are shifted into the correct field in the psw
@@ -265,6 +269,9 @@ protected:
m_ssw |= SSW_FRD;
};
+ std::string debug_string(u32 pointer);
+ std::string debug_string_array(u32 array_pointer);
+
// emulation state
address_space_config m_main_config;
address_space_config m_io_config;
@@ -272,11 +279,12 @@ protected:
enum registers
{
- CLIPPER_IREG = 0,
- CLIPPER_FREG = 16,
- CLIPPER_PSW = 32,
- CLIPPER_SSW = 33,
- CLIPPER_PC = 34,
+ CLIPPER_UREG = 0,
+ CLIPPER_SREG = 16,
+ CLIPPER_FREG = 32,
+ CLIPPER_PSW = 48,
+ CLIPPER_SSW = 49,
+ CLIPPER_PC = 50,
};
int m_icount; // instruction cycle count