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



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/