Re: [GXemul-users] copying files into/out of emulated m88k machine
Status: Alpha
Brought to you by:
gavare
From: Anders G. <ga...@gm...> - 2009-01-22 13:19:34
|
Tor 2009-01-22 klockan 00:31 -0500 skrev Vince Weaver: > A few comments. One, it might be nice to make illegal instructions not > cause a fatal error that kills the emulator. I had to endure a few disk > checks because of this. Yes, this can be a pain. It's a balance between developing the emulator (where I want so-far unimplemented opcodes to cause fatal errors) and running the emulator when it is "finished" (where unimplemented opcodes should throw an M88K exception so that the guest OS can handle it). > The most common cause was my own fault, bad assembly causing the program > to go off into the 0 padding which is: > > to_be_translated(): TODO: unimplemented instruction: > u00001028: 00000000 - ld.d x0,r0,0 I guess this should throw an exception. > You can also get the following if you do an "info as", space, space > under OpenBSD: > > Unimplemented fdiv combination 0x0. > to_be_translated(): TODO: unimplemented instruction: > u0001bcd0: 8484700d fdiv.sss r4,r4,r13 > > And if the emulator sits overnight it dies with: > > Unimplemented fadd combination 0x5. > to_be_translated(): TODO: unimplemented instruction: > u0001455c: 849928a4 (d) fadd.dsd r4,r25,r4 Yes, I noticed and patched those after the release :( http://gxemul.svn.sourceforge.net/viewvc/gxemul/gxemul/trunk/src/cpus/cpu_m88k_instr.c?r1=5318&r2=5329&pathrev=5329 I'll merge the fixed to the 0.4.7.x branch. > And again, stupid assembly error on my part (not using subu) can get: > > to_be_translated(): TODO: unimplemented instruction: > u000011c4: f54e7412 sub r10,r14,r18 Again, it's that ballance. This opcode is apparently so uncommon "in the wild" that it was not implemented. You can try running with -K, which will drop you into the debugger on unimplemented instructions (usually), but the guest OS will still not get a chance to save anything. Anders |