Hi,

> 
> This is the loop:
> 
> $012b46 : 7a41                                 moveq     #$41,d5
> $012b48 : b3ca                                 cmpa.l    a2,a1
> $012b4a : 6dfa                                 blt.s     $12b46
> $012b4c : 4e75                                 rts
> 
> registerdump:
> 
> D0: 00016a4c D1: 0002d9de D2: 00006a40 D3: 00000032
> D4: 00000000 D5: 00000041 D6: 00000000 D7: 000f6b8c
> A0: 00029ae6 A1: 00012b48 A2: 00016a40 A3: 0000fffc
> A4: 000003ec A5: 000003f0 A6: 00012b40 A7: 000003cc
> USP=000f7ff2 ISP=000003cc MSP=00000000 VBR=00000000
> 
> 
>>
Ok, this is definitely wrong.

I very strongly suspect that this is part of smsq_atari_hwinit_asm,
which should however go :

at_mdloop
        move.w  (a0)+,(a1)+             (NOT moveq #$41,d5)
        cmpa.l  a2,a1
        blt.s   at_mdlopp
        rts

You can check this, hopefully, by checking whether a few bytes before
these instructions you find the string "Use sprite for cursor".

If this is really there, then somehow the instructions get corrupted,
making the move.w (a0)+,(a1)+ into a moveq.

Could you disassemble the code as of the address contained in A6, which
is a few bytes before the loop?

Is there really no way you can insert a breakpoint into the code which
would call up your debugger?

Wolfgang


_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm

Reply via email to