static unsigned int mon_register_get_val(int mem, int reg_id) { h6809_regs_t *reg_ptr; if (monitor_diskspace_dnr(mem) >= 0) { if (!check_drive_emu_level_ok(monitor_diskspace_dnr(mem) + 8)) { return 0; } } reg_ptr = mon_interfaces[mem]->h6809_cpu_regs; switch (reg_id) { case e_X: return H6809_REGS_GET_X(reg_ptr); case e_Y: return H6809_REGS_GET_Y(reg_ptr); case e_U: return H6809_REGS_GET_U(reg_ptr); case e_SP: return H6809_REGS_GET_S(reg_ptr); case e_PC: return H6809_REGS_GET_PC(reg_ptr); case e_DP: return H6809_REGS_GET_DP(reg_ptr); case e_FLAGS: return H6809_REGS_GET_CC(reg_ptr); case e_A: return H6809_REGS_GET_A(reg_ptr); case e_B: return H6809_REGS_GET_B(reg_ptr); case e_D: return H6809_REGS_GET_D(reg_ptr); #if 0 /* 6309 specific registers, for future support */ case e_E: return H6809_REGS_GET_E(reg_ptr); case e_F: return H6809_REGS_GET_F(reg_ptr); case e_W: return H6809_REGS_GET_W(reg_ptr); case e_Q: return H6809_REGS_GET_Q(reg_ptr); case e_V: return H6809_REGS_GET_V(reg_ptr); case e_MD: return H6809_REGS_GET_MD(reg_ptr); #endif default: log_error(LOG_ERR, "Unknown register!"); } return 0; }
static unsigned int mon_register_get_val(int mem, int reg_id) { h6809_regs_t *reg_ptr; if (monitor_diskspace_dnr(mem) >= 0) { if (!check_drive_emu_level_ok(monitor_diskspace_dnr(mem) + 8)) { return 0; } } reg_ptr = mon_interfaces[mem]->h6809_cpu_regs; switch (reg_id) { case e_X: return H6809_REGS_GET_X(reg_ptr); case e_Y: return H6809_REGS_GET_Y(reg_ptr); case e_U: return H6809_REGS_GET_U(reg_ptr); case e_SP: return H6809_REGS_GET_S(reg_ptr); case e_PC: return H6809_REGS_GET_PC(reg_ptr); case e_DP: return H6809_REGS_GET_DP(reg_ptr); case e_FLAGS: return H6809_REGS_GET_CC(reg_ptr); case e_A: return H6809_REGS_GET_A(reg_ptr); case e_B: return H6809_REGS_GET_B(reg_ptr); case e_D: return H6809_REGS_GET_D(reg_ptr); default: log_error(LOG_ERR, "Unknown register!"); } return 0; }