[hatari-devel] New WinUAE CPU core ST/e compatibility? |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
Hi,
While new WinUAE CPU core seems to have at least as good
Falcon compatibility as the old one, how compatible it
should be to ST/e?
I've noticed that overscan and spec512 palette tricks
in demos look all wrong (e.g. DHS Molz on STE or CareBears'
SoWatt on ST).
There are also several ST / STE demos which crash with
the new WinUAE core (I think it works better than old
WinUAE one though, just not as well as old UAE core).
No Cooper demo crashes at start, after ~5s:
--------------------------
Illegal instruction: 8b7f at 0000024C -> 04FC0B0A
Illegal instruction exception at 0x24c!
> history
....
$00000248 : 66d6 bne.s $220 0.16% (6993, 55940, 0)
$00000220 : d9fc 7374 7978 adda.l #'styx',a4 0.16% (6993, 83916, 0)
$00000226 : 8080 or.l d0,d0 0.16% (6993, 27972, 0)
$00000228 : c080 and.l d0,d0 0.16% (6993, 27972, 0)
$0000022a : 220f move.l sp,d1 0.16% (6993, 27972, 0)
$0000022c : 3421 move.w -(a1),d2 0.16% (6993, 55944, 0)
$0000022e : 2809 move.l a1,d4 0.16% (6993, 27972, 0)
$00000230 : 9097 sub.l (sp),d0 0.16% (6993, 83916, 0)
$00000232 : e2b8 ror.l d1,d0 0.16% (6993, 27972, 0)
$00000234 : d440 add.w d0,d2 0.16% (6993, 27972, 0)
$00000236 : b547 eor.w d2,d7 0.16% (6993, 27972, 0)
$00000238 : 4e6a move usp,a2 0.16% (6993, 27972, 0)
$0000023a : 260a move.l a2,d3 0.16% (6993, 27972, 0)
$0000023c : 9083 sub.l d3,d0 0.16% (6993, 27972, 0)
$0000023e : 1613 move.b (a3),d3 0.16% (6993, 55944, 0)
$00000240 : d043 add.w d3,d0 0.16% (6993, 27972, 0)
$00000242 : e8b8 ror.l d4,d0 0.16% (6993, 27972, 0)
$00000244 : 3282 move.w d2,(a1) 0.16% (6993, 55944, 0)
$00000246 : b3c8 cmpa.l a0,a1 0.16% (6993, 27972, 0)
$00000248 : 66d6 bne.s $220 0.16% (6993, 55940, 0)
$0000024a : 7e95 moveq #$95,d7 0.00% (1, 4, 0)
$0000024c : 8b7f DC.W $8b7f
Debugger: *CPU exception*
> r
D0 26C54BEB D1 0007FFFC D2 FFFF7E95 D3 504F4D00
D4 0000024A D5 00000000 D6 00000000 D7 FFFFFF95
A0 0000024A A1 0000024A A2 504F4D21 A3 FFFF8209
A4 D0AA16F8 A5 00000000 A6 00077FBE A7 0007FFFC
USP 504F4D21 ISP 0007FFFC
T=00 S=1 M=0 X=0 N=1 Z=0 V=0 C=0 IMASK=7 STP=0
Prefetch b0b2 (CMP) 8b7f (ILLEGAL) Chip latch 00000000
0000024C 8b7f ILLEGAL
Next PC: 0000024e
--------------------------
Continuing at this point, gets:
--------------------------
Address error exception at 0xfc9284!
CPU=$fc9284, VBL=257, FrameCycles=156576, HBL=305, LineCycles=416, DSP=N/A
$00fc9284 : 4e75 rts
> r
D0 BF64236B D1 FFFFFFFF D2 FFFFFFFF D3 504F4D00
D4 0000024A D5 0000FFFF D6 0000FFFF D7 FFFF0000
A0 00000408 A1 0000093A A2 0007C880 A3 FFFF8209
A4 04FC0B52 A5 00000000 A6 000017BE A7 000017B2
USP 504F4D21 ISP 000017B2
T=00 S=1 M=0 X=0 N=1 Z=0 V=0 C=0 IMASK=7 STP=0
Prefetch 206f (MOVEA) 4e75 (RTS) Chip latch 00000000
00FC9284 4e75 RTS
Next PC: 00fc9286
> c
Exception 3 (fc9286) at fc9284 -> 3fc0b0a!
Address error exception at 0xfc9284!
<repeated on each continue>
--------------------------
Equinox' Eat My Bollocks, Virtual and Vodka demos crash right at start:
--------------------------
Exception 2 (0) at fc0ee4 -> fc0ee6!
M68000 Bus Error reading at address $ff8e20.
M68000 Bus Error reading at address $ff8e22.
M68000 Bus Error writing at address $ff8e22.
M68000 Bus Error writing at address $ff8e20.
Bus error exception at 0x1872!
CPU=$1872, VBL=74, FrameCycles=27216, HBL=53, LineCycles=80, DSP=N/A
$00001872 : 7200 moveq #0,d1
--------------------------
UML Darkside demo crashes at startup too:
--------------------------
Exception 2 (0) at fc0ee4 -> fc0ee6!
Bus error wput at 739c5004
M68000 Bus Error writing at address $739c5004.
Bus error wput at 739c5006
M68000 Bus Error writing at address $739c5006.
Bus error exception at 0x10010!
--------------------------
Whereas Sector One's No More Froggies freezes at start.
Btw. I'm able to get zero successive cycles also on 68000,
e.g. at No Cooper boot:
-----------
Exception 2 (0) at fc0ee4 -> fc0ee6!
WARNING: Zero cycles for successive opcodes:
$00000000 : 602e bra.s $30
$00fc0ee4 : 7002 moveq #2,d0
100.00% (1, 0, 0)
-----------
- Eero