Subject: Re: [stella] My very first From: Christopher Tumber <christophertumber@xxxxxxxxxx> Date: Thu, 02 Jan 2003 01:41:57 -0500 |
>Can anybody spot any cheap ways to gain some cycles? Chris' advice to split up the table into 6 parts is a good one and will give you a good result immediately. Also, why are you switching to ldx Maze,y for the second half of the screen? If you stuck with lda Maze,y throughout, you can use X as your loop counter without having to store it to RAM. This will save you 6 cycles in the MazeRowLoop and 3 cycles in MazeRow: [My notes is ()] MazeRow ldx #$0C ; cycles 2 ; stx tmp2 ; cycles 3 == 5 (eliminate use of tmp2) lda #$00 ;(Use A so as not to overwrite X) sta GRP0 ; draw player lda myrow eor man bne label1 lda #$FF ;(Use A so as not to overwrite X) sta GRP0 label1 MazeRowLoop ldy myrow ; cycles 3 sta WSYNC ; cycles 3 (Changed for personal preference) lda Maze1,Y ; cycles 4 sta PF0 ; cycles 3 ; iny ; cycles 2 (Eliminate this) lda Maze2,Y ; cycles 4 sta PF1 ; cycles 3 ; iny ; cycles 2 (Eliminate this) lda Maze3,Y ; cycles 4 sta PF2 ; cycles 3 == 25 ;(You will probably need some NOPs in here) ; iny ; cycles 2 (Eliminate this) lda Maze4,Y ; cycles 4 (Use A instead of X) sta PF0 ; cycles 3 ; iny ; cycles 2 (Eliminate this) lda Maze5,Y ; cycles 4 sta PF1 ; cycles 3 ; iny ; cycles 2 (Eliminate this) lda Maze6,Y ; cycles 4 sta PF2 ; cycles 3 == 27 iny ; (INY consolidated into one instance) ; ldx tmp2 ; (Elminate this) dex ; stx tmp2 ; (Elminate this) bne MazeRowLoop ---------------------------------------------------------------------------------------------- Archives (includes files) at http://www.biglist.com/lists/stella/archives/ Unsub & more at http://www.biglist.com/lists/stella/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [stella] My very first, Chris Larkin | Thread | Re: [stella] My very first, Christopher Tumber |
Re: [stella] READS 2600 Programming, Russ Perry Jr | Date | Re: [stella] My very first, Christopher Tumber |
Month |