From: Gwenole B. <gb....@fr...> - 2005-06-05 07:51:43
|
Hi, On fast machines, or with JIT enabled, Speedometer 3.23 can crash at the exit of FPU tests. With a Quadra 630 ROM, the relevant code snippet is: pc 0200db76 | 0838 0000 1efc btst #$00,MMFlags pc 0200db7c | 660e bne.s $0200db8c pc 0200db8c | 2008 move.l a0,d0 pc 0200db8e | 2240 movea.l d0,a1 pc 0200db90 | 6702 beq.s $0200db94 pc 0200db92 | 2051 movea.l (a1),a0 The crash occurs once you validate the "Tests are done" dialog. A1 is somehow corrupted and always has 0xffff00ff when a crash occurs. I could reproduce the problem in 32-bit or 64-bit x86 mode. In any addressing mode. In 68030+FPU or 68040, which are the same. With any FPU emulation (UAE, IEEE). Of course, it's easier (faster) to get a crash with JIT enabled. This yielded the question of possible problems with nested EMUL_OP processing or Execute68k()? I am not quite sure. Workarounding the faulting 68k instruction will simply make B2 crash later. The OS is 8.1 with 32 MB. Anobody got similar problems? |