English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   support.WinUAE (https://eab.abime.net/forumdisplay.php?f=5)
-   -   CPU history (HH) not working? (https://eab.abime.net/showthread.php?t=82938)

jotd 01 June 2016 22:21

CPU history (HH) not working?
 
Hi,

I have tried to enable it, but winuae (latest beta) always gives me the last instruction, no history.
Too bad as this could be a very powerful feature.

Toni Wilen 03 June 2016 18:30

Works for me. Did you enable at least one normal breakpoint (f)? JIT must be also off.

jotd 09 June 2016 22:22

Yes it works when you enable a breakpoint. Thanks.

jotd 11 June 2016 12:16

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

Code:

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
>H
-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.

Toni Wilen 11 June 2016 12:26

Quote:

0000BB02 0000 bb0c OR.B #$0c,D0
Is that really supposed to be valid instruction? (second word has high byte set but it is only byte wide instruction)

Quote:

at 57FDD6CA we see that A6 is properly set. Yet, at 57FDD6CE A6 is corrupt
But 57FDD6CA will modify A6. (from b6e8). Or what did I miss? :)

jotd 11 June 2016 12:53

Quote:

Originally Posted by Toni Wilen (Post 1094956)
Is that really supposed to be valid instruction? (second word has high byte set but it is only byte wide instruction)



But 57FDD6CA will modify A6. (from b6e8). Or what did I miss? :)

From or To value? Strange fact is: if I re-set the correct A6 value and retry, it works eventually, thus avoiding the bug.

jotd 12 June 2016 17:25

Forget that crap. I fixed some other strange SMC fix code and the problem disappear. Mysterious global problem, but not worth spending too much time, specially on average/poor US Gold port of this cool game.


All times are GMT +2. The time now is 17:51.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.05594 seconds with 11 queries