Re: [hatari-devel] breakpoint on CALL_SUBRETURN condition doesn't work ? |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
Le 07/04/2014 22:48, Eero Tamminen a écrit :
Can you provide an exact case that doesn't work?
It's easiest to do with CPU disassembly enabled.
Hi
Problem is that when the breakpoint doesn't trigger, you get hundreds of
cpu disasm, because the program never breaks at all, so it won't help.
It seems to work randomly. Test with tos1.02 fr :
1) start hatari and immediately set this breakpoint for example
b pc=fc156a
once it breaks :
n subreturn
CPU=$fc06cc, VBL=56, FrameCycles=168, HBL=0, LineCycles=168, DSP=N/A
$fc06cc : 6b00 00cc bmi $fc079a
> d fc06b0
$fc06b0 : c07c 0700 and.w #$700,d0
$fc06b4 : 6606 bne.s $fc06bc
$fc06b6 : 006f 0300 0002 ori.w #$300,2(sp)
$fc06bc : 301f move.w (sp)+,d0
$fc06be : 4e73 rte
$fc06c0 : 52b9 0000 0466 addq.l #1,$466
$fc06c6 : 5379 0000 0452 subq.w #1,$452
$fc06cc : 6b00 00cc bmi $fc079a
$fc06d0 : 48e7 fffe movem.l d0-d7/a0-a6,-(sp)
$fc06d4 : 52b9 0000 0462 addq.l #1,$462
$fc06da : 9bcd suba.l a5,a5
-> subreturn stops at a "branch" Bcc ?
2) start hatari and set this breakpoint :
b pc=fc03b8
n subreturn
CPU=$fc054a, VBL=47, FrameCycles=88, HBL=0, LineCycles=88, DSP=N/A
$fc054a : 4e75 rts
> n subreturn
CPU=$fc054a, VBL=47, FrameCycles=136, HBL=0, LineCycles=136, DSP=N/A
$fc054a : 4e75 rts
> n subreturn
CPU=$fc054a, VBL=47, FrameCycles=184, HBL=0, LineCycles=184, DSP=N/A
$fc054a : 4e75 rts
-> this time is works.
For more tests, I start Hatari, press alt+pause nearly immediately and
type "n subreturn", I get various results, but it doesn't always stop on
a rts or similar
(hatari with old cpu core + make clean + make)
Nicolas