Re: [hatari-devel] Reeking rumber analysis

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


Am Mon, 9 Sep 2013 10:00:55 +0200
schrieb Thomas Huth <th.huth@xxxxxx>:

> Am Sun, 08 Sep 2013 23:33:01 +0200
> schrieb Laurent Sallafranque <laurent.sallafranque@xxxxxxx>:
> 
> > Hi,
> > 
> > I've given a closer look at reeking rumber :
> [...]
> > $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.
> 
> As far as I can see, d5 is never set back to 0 in this loop ... that
> could mean that it is supposed to be changed by an interrupt handler
> instead. Have you checked the usual suspects? VBL? HBL? Timer-B?

Ah, never mind, I missed the "moveq #0,d5" at $07075c ... so the
question is rather why the "cmp.l (a1)+,d3" never results in 0 ...
maybe we need to do some masking for the palette register values to get
rid of some unused bits in the registers?

 Thomas




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