Re: [stella] Weird Loop...

Subject: Re: [stella] Weird Loop...
From: Manuel Polik <manuel.polik@xxxxxxxxxxx>
Date: Thu, 07 Dec 2000 16:13:39 +0100
Thomas Jentzsch wrote:

> Manuel Polik wrote:
> > In Starmaster I found this loop:
> >
> >        LDX    #$18
> > Loop:  STA    WSYNC
> >        LDA    VSYNC
> >        NOP
> >        NOP
> >        NOP
> >        NOP
> >        DEX
> >        BPL    Loop
> [snip]
> > Now, I've no clue, what the LDA VSYNC & the NOPs are for...
> > Can someone explain that to me?
 
> LDA VSYNC is a problem of DiStella, it doesn't show read accesses correct (should be LDA CXM0P). Try the trace-mode of z26, there you will find the right code and some more valuable information.
> The NOPs are used for the following routine, where some player positioning happens (I think, they could have moved those NOPs behind the loop).

Aha! Thanks for the help, now I got it: The LDA CXM0P is really for
nothing, just an instruction taking uneven (3) cycles. I found out that
the subroutine which does the player positioning must start after 15
cycles and you can't do that with just DEX + BPL + x * NOP , they're all
taking even cycles...

Greetings,
	Manuel

--
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/

Current Thread