mirror of
https://github.com/holub/mame
synced 2025-05-21 21:29:15 +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_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_FP0, M68K_FP1, M68K_FP2, M68K_FP3, M68K_FP4, M68K_FP5, M68K_FP6, M68K_FP7,
|
||||
M68K_FPSR, M68K_FPCR,
|
||||
|
||||
M68K_GENPC = REG_GENPC,
|
||||
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(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 =
|
||||
@ -847,6 +858,16 @@ static CPU_EXPORT_STATE( m68k )
|
||||
m68k->iotemp = (m68k->s_flag && m68k->m_flag) ? REG_SP : REG_MSP;
|
||||
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:
|
||||
fatalerror("CPU_EXPORT_STATE(m68k) called for unexpected value\n");
|
||||
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 )
|
||||
{
|
||||
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_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_STRING: info->export_string = CPU_EXPORT_STRING_NAME(m68k); break;
|
||||
case CPUINFO_FCT_TRANSLATE: info->translate = CPU_TRANSLATE_NAME(m68k); break;
|
||||
|
||||
/* --- the following bits of info are returned as pointers --- */
|
||||
|
Loading…
Reference in New Issue
Block a user