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