From: Toni Wilen Date: Sat, 31 Mar 2007 16:27:05 +0000 (+0300) Subject: imported winuaesrc1420b3b.zip X-Git-Tag: 2100~232 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=8170913933b6d36f59db19f14f1bd84a3ca8bbd8;p=francis%2Fwinuae.git imported winuaesrc1420b3b.zip --- diff --git a/filesys.c b/filesys.c index c7173a92..9cc99844 100755 --- a/filesys.c +++ b/filesys.c @@ -4379,6 +4379,7 @@ static uae_u8 *save_filesys_virtual (UnitInfo *ui, uae_u8 *dst) Key *k; int cnt; + write_log("FSSAVE: '%s'\n", ui->devname); save_u64 (a_uniq); save_u64 (key_uniq); save_u32 (u->dosbase); @@ -4393,13 +4394,17 @@ static uae_u8 *save_filesys_virtual (UnitInfo *ui, uae_u8 *dst) for (k = u->keys; k; k = k->next) cnt++; save_u32 (cnt); + write_log("%d open files\n", cnt); for (k = u->keys; k; k = k->next) { save_u64 (k->uniq); save_u32 (k->file_pos); save_u32 (k->createmode); save_u32 (k->dosmode); save_string (k->aino->nname); + write_log("'%s' uniq=%d seekpos=%d mode=%d dosmode=%d\n", + k->aino->nname, k->uniq, k->file_pos, k->createmode, k->dosmode); } + write_log("END\n"); return dst; } diff --git a/gencpu.c b/gencpu.c index 2272c6fe..db1128cb 100755 --- a/gencpu.c +++ b/gencpu.c @@ -2861,14 +2861,16 @@ static void gen_opcode (unsigned long int opcode) printf ("\tmmu_op(opcode, regs, extra);\n"); break; case i_MMUOP30A: + printf ("\tuaecptr pc = m68k_getpc (regs);\n"); genamode (curi->smode, "srcreg", curi->size, "extra", 1, 0, 0); sync_m68k_pc (); - printf ("\tmmu_op30(opcode, regs, 1, extra);\n"); + printf ("\tmmu_op30(pc, opcode, regs, 1, extra);\n"); break; case i_MMUOP30B: + printf ("\tuaecptr pc = m68k_getpc (regs);\n"); genamode (curi->smode, "srcreg", curi->size, "extra", 1, 0, 0); sync_m68k_pc (); - printf ("\tmmu_op30(opcode, regs, 0, 0);\n"); + printf ("\tmmu_op30(pc, opcode, regs, 0, 0);\n"); break; default: abort (); diff --git a/include/newcpu.h b/include/newcpu.h index 08aba6ca..8b07415c 100755 --- a/include/newcpu.h +++ b/include/newcpu.h @@ -310,7 +310,7 @@ extern int getDivu68kCycles(uae_u32 dividend, uae_u16 divisor); extern int getDivs68kCycles(uae_s32 dividend, uae_s16 divisor); extern void mmu_op (uae_u32, struct regstruct *regs, uae_u16); -extern void mmu_op30 (uae_u32, struct regstruct *regs, int, uae_u16); +extern void mmu_op30 (uaecptr, uae_u32, struct regstruct *regs, int, uae_u16); extern void fpp_opp (uae_u32, struct regstruct *regs, uae_u16); extern void fdbcc_opp (uae_u32, struct regstruct *regs, uae_u16); diff --git a/newcpu.c b/newcpu.c index c7a790bd..761f1fd9 100755 --- a/newcpu.c +++ b/newcpu.c @@ -1653,13 +1653,13 @@ unsigned long REGPARAM2 op_illg (uae_u32 opcode, struct regstruct *regs) } #ifdef CPUEMU_0 -void mmu_op30(uae_u32 opcode, struct regstruct *regs, int isextra, uae_u16 extra) +void mmu_op30(uaecptr pc, uae_u32 opcode, struct regstruct *regs, int isextra, uae_u16 extra) { if (currprefs.cpu_model != 68030) { #ifdef MMUOP_DEBUG - write_log("Unknown 68030 MMU OP %04.4X\n", opcode); + write_log("Unknown 68030 MMU OP %04.4X PC=%X\n", opcode, m68k_getpc(regs)); #endif - m68k_setpc (regs, m68k_getpc (regs) - isextra ? 4 : 2); + m68k_setpc (regs, pc); op_illg (opcode, regs); return; }