View Single Post
Old 11 June 2016, 12:16   #4
Cat freak
jotd's Avatar
Join Date: Dec 2004
Location: FRANCE
Age: 46
Posts: 2,354
Hi again,

Works fine and I could find a nasty bug in some game I was debugging thanks to it.

Now, I'm investigating a problem with Black Tiger WHDLoad slave. For some reason, A6 becomes corrupt and takes value $4A790000. I tried H and I was very surprised not to find why

Breakpoint at 00000004
  D0 0000000C   D1 0000006A   D2 0000006A   D3 FFFF0026
  D4 0000FFFF   D5 0000FFFF   D6 00000008   D7 00000000
  A0 00071C24   A1 0002941B   A2 00022D9C   A3 00071C24
  A4 0002679C   A5 0000BB00   A6 4A790000   A7 57FD2FF0
USP  0000CE3C ISP  57FD2FF0 SFC  00000005 DFC  00000005
CACR 80008000 TC   00008000 ITT0 00000000 ITT1 00000000
DTT0 00000000 DTT1 00000000 VBR  57FD5000 MSP  0007F800
MMUS 00000000 URP  57F78000 SRP  57F78000
T=00 S=1 M=0 X=0 N=0 Z=1 V=0 C=0 IMASK=0 STP=0
00000004 57fc                     TRAPEQ  == $00000000 (T)
Next PC: 00000006
-1 0000BA64 4a47                     TST.W D7
-1 0000BA66 6700 0096                BEQ.W #$0096 == $0000bafe (T)
-1 0000BAFE 010c 2c7c                MVPMR.W (A4, $2c7c) == $00029418,D0
-1 0000BB02 0000 bb0c                OR.B #$0c,D0
-1 0000BB06 4ef9 57fd d6ca           JMP $57fdd6ca
-1 57FDD6CA 2c76 7000                MOVEA.L (A6, D7.W*1, $00) == $0000b6e8,A6
-1 57FDD6CE bdfc 4a79 0000           CMPA.L #$4a790000,A6
-1 57FDD6D4 660c                     BNE.B #$0000000c == $57fdd6e2 (F)
-1 57FDD6D6 4ef8 0004                JMP $00000004
-1 00000004 57fc                     TRAPEQ  == $00000000 (T)
at 57FDD6CA we see that A6 is properly set. Yet, at 57FDD6CE A6 is corrupt
(also happened on a real Amiga BTW)

Do you have any explanation?
I have a workaround that works: if A6 is $4Asomething, I just reset it to the proper static value and retry: fixed the problem but that's dirty.
jotd is offline  
Page generated in 0.04263 seconds with 10 queries