|Re: [hatari-devel] Pure debugger, illegal opcodes, exceptions|
[ Thread Index |
| More lists.tuxfamily.org/hatari-devel Archives
Le 10/10/2012 09:53, Eero Tamminen a écrit :
On keskiviikko 10 lokakuu 2012, Thomas Huth wrote:
I remember that we had to fix bus error handling in the old UAE core a
couple of years ago ... maybe the WinUAE core also does not use the
right stack frames yet (at least the 68030 MMU mode uses the wrong
stack frames as Andreas already discovered).
I'm quite busy this week, but if somebody wants to have a look, check
the exception functions in cpu/newcpu.c for the right bus error stack
I noticed that there was one exception handling fix in v1.6.2 to old UAE
core by Nicolas that doesn't seem to have been applied to WinUAE core:
E.g. the "Fix return PC when JMP generates an illegal address exception"
wasn't applied to WinUAE core:
Another one could be here:
"While processing an exception, raise an address error exception if
the new PC is not even" isn't mentioned in WinUAE log:
For exceptions there's just some commits for MMU and for disabling
Amiga specific stuff.
these 2 fixes were needed for some demo/game protections that are
supposed to run only on 68000, so I didn't really porting them to the
new core for now, as I don't think it makes any difference (and those
patches would need to be reviewed again anyway when merging the cpus).
The 2nd one could be applied, as it could be usefull in >= 68020 cpu,
but I doubt it has anything to do with the error currently reported here
(as it's quite unlikely that any program will jmp to an odd address,
except for some protection purpose inside a more complex scheme)