Re: [hatari-devel] DSP check freeze in Tautology II startup |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
Hi,
On maanantai 03 elokuu 2015, Nicolas Pomarède wrote:
> thanks to Toni's work on WinUAE, the 68020/30's pipeline is now much
> improved and will stop prefetching when one of the opcode in the queue
> will trigger a branch (rts, jmp, bsr, bra, ...).
> This means the cpu will not always prefetch 3 words in advance, and the
> extra word that was prefetched in Tautology II is not loaded anymore,
> which allows the self modified code to work.
>
> This should fix other games/demos that uses the same dsp replay routine
> for NTK4 modules.
>
> Eero, do you confirm it works for you too ?
Tautology II & Kwiks.pd work now fine.
Golden Island still gets stuck to DSP check:
---------------------------------------------------------------
CPU=$d41d8a, VBL=5147, FrameCycles=68, HBL=0, LineCycles=68, DSP=$110
$00d41d8a : 0813 0000 btst #0,(a3)
50.00% (37560001, 150240000, 0, 0)
> profile addresses
# disassembly with profile data: <instructions percentage>% (<sum of
instructions>, <sum of cycles>, <sum of i-cache misses>, <sum of d-cache
hits>)
$00d41d8a : btst #0,(a3) 50.00%
(37560001, 150240000, 0, 0)
$00d41d8e : beq.s $d41d8a 50.00%
(37559999, 150239996, 0, 0)
Disassembled 2 (of active 2) CPU addresses.
> r
D0 00000000 D1 00000002 D2 00000010 D3 0000FFFF
D4 00008000 D5 C000003F D6 00000003 D7 000001E0
A0 00D42BDC A1 00D42BD8 A2 00D42BDC A3 FFFFA202
A4 FFFFA205 A5 FFFFA206 A6 0010D4F8 A7 0010D4A4
USP 000202B4 ISP 0010D4A4 SFC 00000000 DFC 00000000
CACR 00003111 VBR 00000000 CAAR 00000000 MSP 00000000
T=00 S=1 M=0 X=0 N=0 Z=1 V=0 C=0 IMASK=6 STP=0
00D41D8A 0813 0000 BTST.B #$0000,(A3)
Next PC: 00d41d8e
---------------------------------------------------------------
It works with (older) OldUAE, but not with latest WinUAE,
even when using --cpu-exact off.
- Eero