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

That's exactly what I thought about.

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

Yep I found that :

> disasm $12b40
$012b40 : 6052                                 bra.s     $12b94
$012b42 : 7a4b                                 moveq     #$4b,d5
$012b44 : 6002                                 bra.s     $12b48
$012b46 : 7a41                                 moveq     #$41,d5
$012b48 : b3ca                                 cmpa.l    a2,a1
$012b4a : 6dfa                                 blt.s     $12b46
$012b4c : 4e75                                 rts
$012b4e : 6012                                 bra.s     $12b62

This is right after the string.

> 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?
>

See above.
> Is there really no way you can insert a breakpoint into the code which
> would call up your debugger?
>
No.
I can set a breakpoint at a address.


As I explained in the beginning of this thread it somehow relates to
the TOS. The same SMSQ.PRG work with emutos but not with 1.62.

I guess I can patch the binary. But if this (the bad moveq ) fails
there are probably more places that gets wrong.
_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm

Reply via email to