Re: [stella] Definitive Combat Disassembly

Subject: Re: [stella] Definitive Combat Disassembly
From: Thomas Jentzsch <tjentzsch@xxxxxx>
Date: Sun, 3 Mar 2002 11:28:39 +0100
At 03.03.2002, 01:15, Glenn Saunders wrote:
> The way I do it is to store a set of sprite graphics address pointers for
> each of the 15 unique sprite rotation settings (the 16th being the same as 
> the 1st).  Then I have a simple greater-than less-than check to determine 
> whether to use the reflection bit or not.  In other words, rotations 1-7 
> (right) don't reflect, and 8-15 (left) do.

> I guess there is more than one way to do this sort of thing...  It just
> seems like my way is the most straightforward.

> Thomas, how did you handle this in Thrust?

I have only 9 sprite graphics address pointers and do the reflection
with a simple compare, like you do. Here is the code:


;*** setup routine ***
    lda     P1dir
    cmp     #MAXDIR/2+1
    bcc     .noReflection
    eor     #$ff
    adc     #MAXDIR
    lda     ShipPatTab,x
;*** start of kernel ***
    lda     #MAXDIR/2-1     ; bit 3 is enabled here
    cmp     P1dir
    bcs     .noReflect
    sta     REFP1           ; enable bit 3

Have fun!
Thomas Jentzsch         | *** Every bit is sacred ! ***
tjentzsch at web dot de |

Archives (includes files) at
Unsub & more at

Current Thread