Re: [stella] behold, i am become shiva, destroyer of kernals!

Subject: Re: [stella] behold, i am become shiva, destroyer of kernals!
From: Christopher Tumber <christophertumber@xxxxxxxxxx>
Date: Thu, 11 Mar 2004 11:48:38 -0500
What does this code do (specifically all the LSR's):

	lda varTimeBeforeBallMoves
	
	bmi ItsTimeForPterry
	beq ItsTimeToEndCountDown




	

	;divide by 32 for the count, then multiply by 8 for the offset...	
	LSR

	tax

	LSR

	lsr 	
	lsr 	
	LSR
	tay
	ASL
	asl
	asl

	clc
	adc #<PterryCount1Graphic ;add in the low byte of the graphic location

	
	sta pointerPterryGraphic

	lda #1
	sta booleanPterryGoesRight

	txa 
	and #%00001111

	ora #%00100001
	sta COLUP1

	jmp DoneMovingPterry


- Register Y gets set almost immeditately in PterryExactPositioning (The above TAY seems to serve no purpose)
- varTimeBeforeBallMoves begins with a value of #BALL_FREEZE_TIME and gets decremented until it has a value of #255. At which point it stays at #255 forever.

So wouldn't the above work the same as:

	lda varTimeBeforeBallMoves
	
	bmi ItsTimeForPterry
	beq ItsTimeToEndCountDown
	lda #<PterryCount1Graphic ;add in the low byte of the graphic location
	
	sta pointerPterryGraphic

	lda #1
	sta booleanPterryGoesRight

        lda #%00101111
	sta COLUP1

	jmp DoneMovingPterry


Seems to work fine (Doesn't fix the main problem though - Sigh)

Chris...

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


Current Thread