If I want to just use one routine to move around, 1 pixel at a time, would having it so one variable = 1 or 255 be acceptable?
So you basically do this:
Code: Select all
LDA spriteXposition
CLC
ADC (either #$01 or #$FF)
STA spriteXposition
Moderator: Moderators
Code: Select all
LDA spriteXposition
CLC
ADC (either #$01 or #$FF)
STA spriteXposition
Code: Select all
ldy Direction
lda XPosition
clc
adc PosAddTbl,Y
sta XPosition
...
PosAddTbl
.db $01, $ff
Code: Select all
ldy Direction
lda XPosition
clc
adc PosAddTbl,Y
sta XPosition
lda XPositionHigh
adc PosAddTbl,Y
sta XPositionHigh
...
PosAddTbl
.db $01, $ff
PosAddTblH:
.db $00,$ff
Code: Select all
ldy Direction
lda PosAddTbl,Y
sta ZTempVar1
lda PosAddTblH,Y
sta ZTempVar2
lda XPosition
clc
adc ZTempVar1
sta XPosition
lda XPositionHigh
adc ZTempVar2
sta XPositionHigh
...
PosAddTbl
.db $01, $ff
PosAddTblH:
.db $00,$ff