From d3150b00903970beccd1a75bd0029297c45c2eed Mon Sep 17 00:00:00 2001 From: AJR Date: Sun, 25 Jun 2017 23:16:43 -0400 Subject: z8: Add more control registers for debug state --- src/devices/cpu/z8/z8.cpp | 15 ++++++++++++--- src/devices/cpu/z8/z8.h | 18 ++++++++++-------- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/src/devices/cpu/z8/z8.cpp b/src/devices/cpu/z8/z8.cpp index 1211bb566da..ac9b98e02c6 100644 --- a/src/devices/cpu/z8/z8.cpp +++ b/src/devices/cpu/z8/z8.cpp @@ -674,9 +674,18 @@ void z8_device::device_start() state_add(Z8_SP, "SP", m_fake_sp).callimport().callexport(); state_add(STATE_GENSP, "GENSP", m_fake_sp).callimport().callexport().noshow(); state_add(Z8_RP, "RP", m_r[Z8_REGISTER_RP]); + state_add(STATE_GENFLAGS, "GENFLAGS", m_r[Z8_REGISTER_FLAGS]).noshow().formatstr("%6s"); + state_add(Z8_IMR, "IMR", m_r[Z8_REGISTER_IMR]); + state_add(Z8_IRQ, "IRQ", m_r[Z8_REGISTER_IRQ]); + state_add(Z8_IPR, "IPR", m_r[Z8_REGISTER_IPR]); + state_add(Z8_P01M, "P01M", m_r[Z8_REGISTER_P01M]); + state_add(Z8_P3M, "P3M", m_r[Z8_REGISTER_P3M]); + state_add(Z8_P2M, "P2M", m_r[Z8_REGISTER_P2M]); + state_add(Z8_PRE0, "PRE0", m_r[Z8_REGISTER_PRE0]); state_add(Z8_T0, "T0", m_t0); + state_add(Z8_PRE1, "PRE1", m_r[Z8_REGISTER_PRE1]); state_add(Z8_T1, "T1", m_t1); - state_add(STATE_GENFLAGS, "GENFLAGS", m_r[Z8_REGISTER_FLAGS]).noshow().formatstr("%6s"); + state_add(Z8_TMR, "TMR", m_r[Z8_REGISTER_TMR]); for (int regnum = 0; regnum < 16; regnum++) state_add(Z8_R0 + regnum, string_format("R%d", regnum).c_str(), m_fake_r[regnum]).callimport().callexport(); @@ -755,8 +764,8 @@ void z8_device::device_reset() m_pc = 0x000c; register_write(Z8_REGISTER_TMR, 0x00); - register_write(Z8_REGISTER_PRE1, register_read(Z8_REGISTER_PRE1) & 0xfc); - register_write(Z8_REGISTER_PRE0, register_read(Z8_REGISTER_PRE0) & 0xfe); + register_write(Z8_REGISTER_PRE1, PRE1 & 0xfc); + register_write(Z8_REGISTER_PRE0, PRE0 & 0xfe); register_write(Z8_REGISTER_P2M, 0xff); register_write(Z8_REGISTER_P3M, 0x00); register_write(Z8_REGISTER_P01M, 0x4d); diff --git a/src/devices/cpu/z8/z8.h b/src/devices/cpu/z8/z8.h index b2c47421fe5..603177157c9 100644 --- a/src/devices/cpu/z8/z8.h +++ b/src/devices/cpu/z8/z8.h @@ -12,17 +12,19 @@ #pragma once -enum -{ - Z8_PC, Z8_SP, Z8_RP, Z8_T0, Z8_T1, - - Z8_R0, Z8_R1, Z8_R2, Z8_R3, Z8_R4, Z8_R5, Z8_R6, Z8_R7, Z8_R8, Z8_R9, Z8_R10, Z8_R11, Z8_R12, Z8_R13, Z8_R14, Z8_R15 -}; - - class z8_device : public cpu_device { protected: + enum + { + Z8_PC, Z8_SP, Z8_RP, + Z8_IMR, Z8_IRQ, Z8_IPR, + Z8_P01M, Z8_P3M, Z8_P2M, + Z8_PRE0, Z8_T0, Z8_PRE1, Z8_T1, Z8_TMR, + + Z8_R0, Z8_R1, Z8_R2, Z8_R3, Z8_R4, Z8_R5, Z8_R6, Z8_R7, Z8_R8, Z8_R9, Z8_R10, Z8_R11, Z8_R12, Z8_R13, Z8_R14, Z8_R15 + }; + // construction/destruction z8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int size); -- cgit v1.2.3