[hatari-devel] Re: Hatari debugger disasm problem |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
Hi,
On maanantai 28 tammikuu 2013, Roger Burrows wrote:
> Attached is the new EmuTOS, plus my hatari.cfg. The command line is:
> hatari -D --parse setup.ini
> and setup.ini has:
> b pc > 0
> and the pmove is a few instructions after $e007a0.
Thanks.
I can disassemble that part fine with both the external and UAE internal
disassemblers [1] without problems with latest Hatari.
If I start disassembling a bit earlier, I see:
$e0079c : 4e75 rts
$e0079e : 0000 48e7 ori.b #$e7,d0
$e007a2 : 2030 2278 move.l $78(a0,d2.w*2),d0
$e007a6 : 0010 2478 ori.b #$78,(a0)
$e007aa : 002c 2678 00f4 ori.b #$78,$f4(a4)
$e007b0 : 41fa 0054 lea $e00806(pc),a0
$e007b4 : 21c8 0010 move.l a0,$0010.w
$e007b8 : 21c8 002c move.l a0,$002c.w
$e007bc : 21c8 00f4 move.l a0,$00f4.w
$e007c0 : 204f movea.l sp,a0
In both cases there's no "pmove" instruction shown, regardless of
whether I have --mmu option value true or false.
Startup shows this:
-----
$ src/hatari -c hatari.cfg -D --machine falcon --mmu true --tos etos512k.img
Exception debugging enabled.
Hatari v1.6.2, compiled on: Jan 27 2013, 23:49:21
Configured max Hatari resolution = 1024x768.
CPU cycleunit: 1 (0.500)
Building CPU table for configuration: 68030 ~cycle-exact 24-bit
1881 CPU functions
Building CPU, 45989 opcodes (3 -1 1)
CPU=68030, FPU=0, MMU=1, JIT=0.
GEMDOS HDD emulation, C: <-> /home/eero/work/hatari/build-gcc/emutos-512k-
CVS-20121230/tmp.
CPU cycleunit: 1 (0.500)
MMU disabled
Illegal instruction: 7300 at 00E00DFE -> 00E00E06
B-Trap f280 at e00866 ((nil))
Exception_mmu 00e00716 00e00716 00000000
Exception_mmu 00e00716 00e00716 00000000
Exception_mmu 00e00716 00e00716 00000000
Exception_mmu 00e00716 00e00716 00000000
Exception_mmu 00e00716 00e00716 00000000
-----
From WinUAE sources "MMU disabled" message seems to indicate pmove
instruction where TC disables MMU.
When I disassembled EmuTOS startup, I saw pmove though:
--------------
CPU=$e00034, VBL=0, FrameCycles=2, HBL=0, LineCycles=2, DSP=$0
> lock disasm
Locked disasm output.
> s
...
> s
1. CPU breakpoint condition(s) matched 15 times.
pc > 0
$e00084 : 21fc 00e0 0096 0010 move.l #$e00096,$0010.w
$e0008c : 203c 0000 0808 move.l #$808,d0
$e00092 : 4e7b 0002 movec d0,cacr
$e00096 : 4ff9 0000 1004 lea $1004,sp
$e0009c : 21fc 00e0 00c6 002c move.l #$e000c6,$002c.w
$e000a4 : f039 0800 00e0 0152 pmove $e00152,tt0
$e000ac : f039 0c00 00e0 0152 pmove $e00152,tt1
$e000b4 : 21fc 00e0 00e4 002c move.l #$e000e4,$002c.w
--------------
('s' is in latest Hatari "step" command alias for "c 1" and there's
also "next" which is very useful.)
- Eero
[1] Disassembler is selectable with "--disasm <engine>" commandline option,
and in debugger, prefixed with "setopt" command.