|
Subject: Re: RE: [stella] "Zombie" optimizations From: Christopher Tumber <christophertumber@xxxxxxxxxx> Date: Fri, 17 Jan 2003 14:49:44 -0500 |
>For "Mortal Kurling" I'm using a similar routine but one which contains data for both ENABL (on/off) and CTRLPF (width). However, the extra 5 (7-2 for larger table) cycles >to do this eliminates any advantage over your NEW (which I should probably.. uh.. borrow now) routine but since you're only actually checking and enabling ENAM0 on >the first scanline perhaps some hybrid routine which also skips ENABL after the fist Scanline and uses a different table to eliminate the need for the two ASLs? (Would >use a lot of ROM). Nah, then you're just back to your solution with the added overhead of another indexed LDA.
Better yet, since you're dealing with a Missile instead of the Ball and you want to be writing to ENAM0, NUSIZ0 and HMM0 you could pack all that into 1 byte.
tya ;2 Cycles 1 Byte
sbc Vertical_Position ;3 Cycles 2 Bytes
tax ;2 Cycles 1 Byte
lda Missile_Data_Table,x ;4 Cycles 3 Bytes
sta HMM0 ;3 Cycles 2 Bytes
sta ENAM0 ;3 Cycles 2 Bytes
asl ;2 Cycles 1 Byte
asl ;2 Cycles 1 Byte
sta NUSIZ0 ;3 Cycles 2 Bytes
Missile_Data_Table - 255 bytes:
Bits 7-4 = HMM0 (deltaX for next scanline)
Bits 3-2 = NUSIZ0 (Missile width)
Bit 1 = ENAM0 (On/Off)
Bit 0 = Unused
24 Cycles, so still slower than your routine. However, with this routine you can blank the missile in the middle of the "sprite". Whether or not that's worth 3 cycles and all the extra ROM space....
Chris...
----------------------------------------------------------------------------------------------
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: RE: [stella] "Zombie" optimizat, Christopher Tumber | Thread | Re: [stella] "Zombie" optimizations, Thomas Jentzsch |
| Re: RE: [stella] "Zombie" optimizat, Christopher Tumber | Date | Re: [stella] "Zombie" optimizations, Thomas Jentzsch |
| Month |