summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/m68000/m68kcpu.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/cpu/m68000/m68kcpu.c')
-rw-r--r--src/emu/cpu/m68000/m68kcpu.c42
1 files changed, 24 insertions, 18 deletions
diff --git a/src/emu/cpu/m68000/m68kcpu.c b/src/emu/cpu/m68000/m68kcpu.c
index 269eae5b829..5c86f9aedc9 100644
--- a/src/emu/cpu/m68000/m68kcpu.c
+++ b/src/emu/cpu/m68000/m68kcpu.c
@@ -677,7 +677,7 @@ static void m68k_presave(m68000_base_device *m68k)
static void m68k_postload(m68000_base_device *m68k)
{
m68ki_set_sr_noint_nosp(m68k, m68k->save_sr);
- fprintf(stderr, "Reloaded, pc=%x\n", REG_PC(m68k));
+ //fprintf(stderr, "Reloaded, pc=%x\n", REG_PC(m68k));
m68k->stopped = (m68k->save_stopped ? STOP_LEVEL_STOP : 0) | (m68k->save_halted ? STOP_LEVEL_HALT : 0);
m68ki_jump(m68k, REG_PC(m68k));
}
@@ -1173,47 +1173,47 @@ void m68000_base_device::state_export(const device_state_entry &entry)
}
}
-void m68000_base_device::state_string_export(const device_state_entry &entry, astring &str)
+void m68000_base_device::state_string_export(const device_state_entry &entry, std::string &str)
{
UINT16 sr;
switch (entry.index())
{
case M68K_FP0:
- str.printf("%f", fx80_to_double(REG_FP(this)[0]));
+ strprintf(str,"%f", fx80_to_double(REG_FP(this)[0]));
break;
case M68K_FP1:
- str.printf("%f", fx80_to_double(REG_FP(this)[1]));
+ strprintf(str,"%f", fx80_to_double(REG_FP(this)[1]));
break;
case M68K_FP2:
- str.printf("%f", fx80_to_double(REG_FP(this)[2]));
+ strprintf(str,"%f", fx80_to_double(REG_FP(this)[2]));
break;
case M68K_FP3:
- str.printf("%f", fx80_to_double(REG_FP(this)[3]));
+ strprintf(str,"%f", fx80_to_double(REG_FP(this)[3]));
break;
case M68K_FP4:
- str.printf("%f", fx80_to_double(REG_FP(this)[4]));
+ strprintf(str,"%f", fx80_to_double(REG_FP(this)[4]));
break;
case M68K_FP5:
- str.printf("%f", fx80_to_double(REG_FP(this)[5]));
+ strprintf(str,"%f", fx80_to_double(REG_FP(this)[5]));
break;
case M68K_FP6:
- str.printf("%f", fx80_to_double(REG_FP(this)[6]));
+ strprintf(str,"%f", fx80_to_double(REG_FP(this)[6]));
break;
case M68K_FP7:
- str.printf("%f", fx80_to_double(REG_FP(this)[7]));
+ strprintf(str,"%f", fx80_to_double(REG_FP(this)[7]));
break;
case STATE_GENFLAGS:
sr = m68ki_get_sr(this);
- str.printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",
+ strprintf(str,"%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",
sr & 0x8000 ? 'T':'.',
sr & 0x4000 ? 't':'.',
sr & 0x2000 ? 'S':'.',
@@ -1737,11 +1737,15 @@ void m68000_base_device::define_state(void)
state_add(M68K_MSP, "MSP", iotemp).callimport().callexport();
state_add(M68K_ISP, "ISP", iotemp).callimport().callexport();
- astring tempstr;
- for (int regnum = 0; regnum < 8; regnum++)
- state_add(M68K_D0 + regnum, tempstr.format("D%d", regnum).c_str(), dar[regnum]);
- for (int regnum = 0; regnum < 8; regnum++)
- state_add(M68K_A0 + regnum, tempstr.format("A%d", regnum).c_str(), dar[8 + regnum]);
+ std::string tempstr;
+ for (int regnum = 0; regnum < 8; regnum++) {
+ strprintf(tempstr,"D%d", regnum);
+ state_add(M68K_D0 + regnum, tempstr.c_str(), dar[regnum]);
+ }
+ for (int regnum = 0; regnum < 8; regnum++) {
+ strprintf(tempstr,"A%d", regnum);
+ state_add(M68K_A0 + regnum, tempstr.c_str(), dar[8 + regnum]);
+ }
state_add(M68K_PREF_ADDR, "PREF_ADDR", pref_addr).mask(addrmask);
state_add(M68K_PREF_DATA, "PREF_DATA", pref_data);
@@ -1761,8 +1765,10 @@ void m68000_base_device::define_state(void)
if (cpu_type & MASK_030_OR_LATER)
{
- for (int regnum = 0; regnum < 8; regnum++)
- state_add(M68K_FP0 + regnum, tempstr.format("FP%d", regnum).c_str(), iotemp).callimport().callexport().formatstr("%10s");
+ for (int regnum = 0; regnum < 8; regnum++) {
+ strprintf(tempstr,"FP%d", regnum);
+ state_add(M68K_FP0 + regnum, tempstr.c_str(), iotemp).callimport().callexport().formatstr("%10s");
+ }
state_add(M68K_FPSR, "FPSR", fpsr);
state_add(M68K_FPCR, "FPCR", fpcr);
}