[stella] Horizontal position...help?

Subject: [stella] Horizontal position...help?
From: Dennis Debro <ddebro@xxxxxxxxxxxxx>
Date: Tue, 4 Mar 2003 15:06:13 -0500
I know this has been beaten to death but I can't find my bug and I need some help.

I'm using the routine posted by Manuel/Eric Ball and it works great. My only problem is when my players get too close to the left edge of the screen (horizontal value $0E) they kind of jump as if there's a rubber wall present.

I've gone over my computations hundreds of time and I can't find the error.

My objects have a horizontal range from $03 to $95. Before I do my loop I do some preliminary data loads so it looks like this...

   sta WSYNC
   sta HMOVE         ;3
   sta.w GRP0        ;4
   lda playerColor   ;3
   sta COLUP0        ;3
   lda horPosP1-1,y  ;4 @17
   sbc #$0F
   bcs .coarseMoveGirder
   sta RESP1

If I did my calculations correctly the RESP1 will hit @ cycle 24 when the horizontal value is $0E (HMP1 will be $80 or fine position 8 pixels to the right) which would place the player at pixel 80 (24 * 3 + 8). When horizontal value is $0F, RESP1 will hit @ cycle 29 (HMP1 will be $60 or fine position 6 pixels to the left) which would place the player at pixel 81 (29 * 3 - 6). The values look right. Also RESP1 is done after HBLANK so that's not the problem.

What's going on here.

I'll gladly post source if it's needed.

Take care,

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

Current Thread