[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
.coarseMoveGirder
   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,
Dennis

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


Current Thread