mirror of
https://github.com/holub/mame
synced 2025-05-22 13:48:55 +03:00
m680x0: show FPU registers in the debugger for 030+
This commit is contained in:
parent
e5ac159fb7
commit
98be8ed00d
@ -58,6 +58,8 @@ enum
|
|||||||
M68K_SFC, M68K_DFC, M68K_CACR, M68K_CAAR, M68K_PREF_ADDR, M68K_PREF_DATA,
|
M68K_SFC, M68K_DFC, M68K_CACR, M68K_CAAR, M68K_PREF_ADDR, M68K_PREF_DATA,
|
||||||
M68K_D0, M68K_D1, M68K_D2, M68K_D3, M68K_D4, M68K_D5, M68K_D6, M68K_D7,
|
M68K_D0, M68K_D1, M68K_D2, M68K_D3, M68K_D4, M68K_D5, M68K_D6, M68K_D7,
|
||||||
M68K_A0, M68K_A1, M68K_A2, M68K_A3, M68K_A4, M68K_A5, M68K_A6, M68K_A7,
|
M68K_A0, M68K_A1, M68K_A2, M68K_A3, M68K_A4, M68K_A5, M68K_A6, M68K_A7,
|
||||||
|
M68K_FP0, M68K_FP1, M68K_FP2, M68K_FP3, M68K_FP4, M68K_FP5, M68K_FP6, M68K_FP7,
|
||||||
|
M68K_FPSR, M68K_FPCR,
|
||||||
|
|
||||||
M68K_GENPC = REG_GENPC,
|
M68K_GENPC = REG_GENPC,
|
||||||
M68K_GENSP = REG_GENSP,
|
M68K_GENSP = REG_GENSP,
|
||||||
|
@ -540,6 +540,17 @@ static const cpu_state_entry state_array[] =
|
|||||||
|
|
||||||
M68K_STATE_ENTRY(CACR, "%08X", cacr, 0xffffffff, 0, MASK_020_OR_LATER)
|
M68K_STATE_ENTRY(CACR, "%08X", cacr, 0xffffffff, 0, MASK_020_OR_LATER)
|
||||||
M68K_STATE_ENTRY(CAAR, "%08X", caar, 0xffffffff, 0, MASK_020_OR_LATER)
|
M68K_STATE_ENTRY(CAAR, "%08X", caar, 0xffffffff, 0, MASK_020_OR_LATER)
|
||||||
|
|
||||||
|
M68K_STATE_ENTRY(FP0, "%s", iotemp, 0xffffffff, CPUSTATE_EXPORT, MASK_030_OR_LATER)
|
||||||
|
M68K_STATE_ENTRY(FP1, "%s", iotemp, 0xffffffff, CPUSTATE_EXPORT, MASK_030_OR_LATER)
|
||||||
|
M68K_STATE_ENTRY(FP2, "%s", iotemp, 0xffffffff, CPUSTATE_EXPORT, MASK_030_OR_LATER)
|
||||||
|
M68K_STATE_ENTRY(FP3, "%s", iotemp, 0xffffffff, CPUSTATE_EXPORT, MASK_030_OR_LATER)
|
||||||
|
M68K_STATE_ENTRY(FP4, "%s", iotemp, 0xffffffff, CPUSTATE_EXPORT, MASK_030_OR_LATER)
|
||||||
|
M68K_STATE_ENTRY(FP5, "%s", iotemp, 0xffffffff, CPUSTATE_EXPORT, MASK_030_OR_LATER)
|
||||||
|
M68K_STATE_ENTRY(FP6, "%s", iotemp, 0xffffffff, CPUSTATE_EXPORT, MASK_030_OR_LATER)
|
||||||
|
M68K_STATE_ENTRY(FP7, "%s", iotemp, 0xffffffff, CPUSTATE_EXPORT, MASK_030_OR_LATER)
|
||||||
|
M68K_STATE_ENTRY(FPSR, "%08X", fpsr, 0xffffffff, 0, MASK_040_OR_LATER)
|
||||||
|
M68K_STATE_ENTRY(FPCR, "%08X", fpcr, 0xffffffff, 0, MASK_040_OR_LATER)
|
||||||
};
|
};
|
||||||
|
|
||||||
static const cpu_state_table state_table_template =
|
static const cpu_state_table state_table_template =
|
||||||
@ -847,6 +858,16 @@ static CPU_EXPORT_STATE( m68k )
|
|||||||
m68k->iotemp = (m68k->s_flag && m68k->m_flag) ? REG_SP : REG_MSP;
|
m68k->iotemp = (m68k->s_flag && m68k->m_flag) ? REG_SP : REG_MSP;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case M68K_FP0:
|
||||||
|
case M68K_FP1:
|
||||||
|
case M68K_FP2:
|
||||||
|
case M68K_FP3:
|
||||||
|
case M68K_FP4:
|
||||||
|
case M68K_FP5:
|
||||||
|
case M68K_FP6:
|
||||||
|
case M68K_FP7:
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
fatalerror("CPU_EXPORT_STATE(m68k) called for unexpected value\n");
|
fatalerror("CPU_EXPORT_STATE(m68k) called for unexpected value\n");
|
||||||
break;
|
break;
|
||||||
@ -873,6 +894,47 @@ static CPU_SET_INFO( m68k )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static CPU_EXPORT_STRING( m68k )
|
||||||
|
{
|
||||||
|
m68ki_cpu_core *m68k = get_safe_token(device);
|
||||||
|
|
||||||
|
switch (entry->index)
|
||||||
|
{
|
||||||
|
case M68K_FP0:
|
||||||
|
sprintf(string, "%f", REG_FP[0].f);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case M68K_FP1:
|
||||||
|
sprintf(string, "%f", REG_FP[1].f);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case M68K_FP2:
|
||||||
|
sprintf(string, "%f", REG_FP[2].f);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case M68K_FP3:
|
||||||
|
sprintf(string, "%f", REG_FP[3].f);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case M68K_FP4:
|
||||||
|
sprintf(string, "%f", REG_FP[4].f);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case M68K_FP5:
|
||||||
|
sprintf(string, "%f", REG_FP[5].f);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case M68K_FP6:
|
||||||
|
sprintf(string, "%f", REG_FP[6].f);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case M68K_FP7:
|
||||||
|
sprintf(string, "%f", REG_FP[7].f);
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static CPU_GET_INFO( m68k )
|
static CPU_GET_INFO( m68k )
|
||||||
{
|
{
|
||||||
m68ki_cpu_core *m68k = (device != NULL && device->token != NULL) ? get_safe_token(device) : NULL;
|
m68ki_cpu_core *m68k = (device != NULL && device->token != NULL) ? get_safe_token(device) : NULL;
|
||||||
@ -913,6 +975,7 @@ static CPU_GET_INFO( m68k )
|
|||||||
case CPUINFO_FCT_DISASSEMBLE: info->disassemble = CPU_DISASSEMBLE_NAME(m68k); break;
|
case CPUINFO_FCT_DISASSEMBLE: info->disassemble = CPU_DISASSEMBLE_NAME(m68k); break;
|
||||||
case CPUINFO_FCT_IMPORT_STATE: info->import_state = CPU_IMPORT_STATE_NAME(m68k); break;
|
case CPUINFO_FCT_IMPORT_STATE: info->import_state = CPU_IMPORT_STATE_NAME(m68k); break;
|
||||||
case CPUINFO_FCT_EXPORT_STATE: info->export_state = CPU_EXPORT_STATE_NAME(m68k); break;
|
case CPUINFO_FCT_EXPORT_STATE: info->export_state = CPU_EXPORT_STATE_NAME(m68k); break;
|
||||||
|
case CPUINFO_FCT_EXPORT_STRING: info->export_string = CPU_EXPORT_STRING_NAME(m68k); break;
|
||||||
case CPUINFO_FCT_TRANSLATE: info->translate = CPU_TRANSLATE_NAME(m68k); break;
|
case CPUINFO_FCT_TRANSLATE: info->translate = CPU_TRANSLATE_NAME(m68k); break;
|
||||||
|
|
||||||
/* --- the following bits of info are returned as pointers --- */
|
/* --- the following bits of info are returned as pointers --- */
|
||||||
|
Loading…
Reference in New Issue
Block a user