Re: [hatari-devel] Reeking rumber analysis

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Hello Laurent,

That  looks like (and I'm certain that it is) a palette fading routine
for  the Falcon. The reason that it's probably failing is that perhaps
the  Falcon palette registers (starting at $ffff9800.w) aren't updated
so  the fading loop never ends. I'm not sure why this happens, but did
you  run the game from ST compatible modes? Can you try launching from
256 colour mode?


Regards,
George

Monday, September 9, 2013, 12:33:01 AM, you wrote:

> Hi,

> I've given a closer look at reeking rumber :

> I can let it run under hatari by doing the following :

> Under the GEM :

> b pc=$0707d8


> Then, start reeking rumbler by double clicking it


> hen the breakpoint is reached, just do

> r d5=0
> c

> and the game run

> Here is the corresponding code:


> The part of the code that calls the faulty function :

> $06f942 : 207c 0009 3850                       movea.l   #$93850,a0
> $06f948 : 4240                                 clr.w     d0
> $06f94a : 323c 0100                            move.w    #$100,d1
> $06f94e : 7401                                 moveq     #1,d2
> $06f950 : 6100 0dd6                            bsr       $70728




> The part of the code that loops forever :

> $070728 : 48e7 ffe0                            movem.l d0-d7/a0-a2,-(sp)
> $07072c : 4a41                                 tst.w     d1
> $07072e : 6700 00ac                            beq       $707dc
> $070732 : 48e7 e080                            movem.l d0-d2/a0,-(sp)
 >>
> $070736 : 3f3c 0025                            move.w    #$25,-(sp)
> $07073a : 4e4e                                 trap      #$e
> $07073c : 544f                                 addq.w    #2,sp
> $07073e : 4cdf 0107                            movem.l (sp)+,d0-d2/a0
> $070742 : 43f8 9800                            lea $ffff9800.w,a1
> $070746 : 3e00                                 move.w    d0,d7
> $070748 : e54f                                 lsl.w     #2,d7
> $07074a : d2c7                                 adda.w    d7,a1
 >>
> $07074c : 45f9 0008 d8f0                       lea       $8d8f0,a2
> $070752 : 3601                                 move.w    d1,d3
> $070754 : 5343                                 subq.w    #1,d3
> $070756 : 24d9                                 move.l    (a1)+,(a2)+
> $070758 : 51cb fffc                            dbra      d3,$70756
> $07075c : 7a00                                 moveq     #0,d5
> $07075e : 48e7 e080                            movem.l d0-d2/a0,-(sp)
> $070762 : 3802                                 move.w    d2,d4
 >>
> $070764 : 3f3c 0025                            move.w    #$25,-(sp)
> $070768 : 4e4e                                 trap      #$e
> $07076a : 544f                                 addq.w    #2,sp
> $07076c : 51cc fff6                            dbra      d4,$70764
> $070770 : 4cdf 0107                            movem.l (sp)+,d0-d2/a0
> $070774 : 43f9 0008 d8f0                       lea       $8d8f0,a1
> $07077a : 45f8 9800                            lea $ffff9800.w,a2
> $07077e : 3e00                                 move.w    d0,d7
 >>
> $070780 : e54f                                 lsl.w     #2,d7
> $070782 : d4c7                                 adda.w    d7,a2
> $070784 : 3601                                 move.w    d1,d3
> $070786 : 5343                                 subq.w    #1,d3
> $070788 : 24d9                                 move.l    (a1)+,(a2)+
> $07078a : 51cb fffc                            dbra      d3,$70788
> $07078e : 45f9 0008 d8f0                       lea       $8d8f0,a2
> $070794 : 2248                                 movea.l   a0,a1
 >>
> $070796 : 3e00                                 move.w    d0,d7
> $070798 : e54f                                 lsl.w     #2,d7
> $07079a : d2c7                                 adda.w    d7,a1
> $07079c : 3c01                                 move.w    d1,d6
> $07079e : 5346                                 subq.w    #1,d6
> $0707a0 : 2811                                 move.l    (a1),d4
> $0707a2 : 2612                                 move.l    (a2),d3
> $0707a4 : b803                                 cmp.b     d3,d4
 >>
> $0707a6 : 6706                                 beq.s     $707ae
> $0707a8 : 6202                                 bhi.s     $707ac
> $0707aa : 5103                                 subq.b    #8,d3
> $0707ac : 5803                                 addq.b    #4,d3
> $0707ae : e19b                                 rol.l     #8,d3
> $0707b0 : e19c                                 rol.l     #8,d4
> $0707b2 : b803                                 cmp.b     d3,d4
> $0707b4 : 6706                                 beq.s     $707bc
 >>
> $0707b6 : 6202                                 bhi.s     $707ba
> $0707b8 : 5103                                 subq.b    #8,d3
> $0707ba : 5803                                 addq.b    #4,d3
> $0707bc : e19b                                 rol.l     #8,d3
> $0707be : e19c                                 rol.l     #8,d4
> $0707c0 : b803                                 cmp.b     d3,d4
> $0707c2 : 6706                                 beq.s     $707ca
> $0707c4 : 6202                                 bhi.s     $707c8
 >>
> $0707c6 : 5103                                 subq.b    #8,d3
> $0707c8 : 5803                                 addq.b    #4,d3
> $0707ca : 4843                                 swap      d3
> $0707cc : b699                                 cmp.l     (a1)+,d3
> $0707ce : 6702                                 beq.s     $707d2
> $0707d0 : 7a01                                 moveq     #1,d5
> $0707d2 : 24c3                                 move.l    d3,(a2)+
> $0707d4 : 51ce ffca                            dbra      d6,$707a0
 >>
> $0707d8 : 4a85                                 tst.l     d5        
>              <------- Here is the the test that never goes throw with hatari
> $0707da : 6680                                 bne.s     $7075c
> $0707dc : 4cdf 07ff                            movem.l (sp)+,d0-d7/a0-a2
> $0707e0 : 4e75                                 rts


> At least, the game runs under hatari except for this infinite loop that
> never finishs because of this d5 register.

> May this gives some ideas to somebody.

> Regards

> Laurent







-- 
Best regards,
 George                            mailto:ggn@xxxxxx




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