;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; generate sprite
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
RETURN68 RTS
GEN_CUSTOM JSL $02A9DE ; \ get an index to an unused sprite slot, return if all slots full
BMI RETURN68 ; / after: Y has index of sprite being generated
LDA #$08 ; \ set sprite status for new sprite
STA $14C8,y ; /スプライト生成時の状態を設定
LDA #$00 ;ここに生成したいカスタムスプライトスプライト番号を入れる
PHX
TYX
STA $7FAB9E,x
PLX
LDA $E4,x ;\ set x position for new sprite
STA $00E4,y ; |スプライト生成時のx座標を入力
LDA $14E0,x ; |この例の場合、親スプライトと同じ位置に生成している
STA $14E0,y ; /
LDA $D8,x ;\ set y position for new sprite
STA $00D8,y ; |スプライト生成時のy座標を入力
LDA $14D4,x ; |この例の場合、親スプライトと同じ位置に生成している
STA $14D4,y ; /
LDA $157C,x ; |向きも親スプライトと同じ向きに
STA $157C,y ; /
PHX
TYX
JSL $07F7D2 ;
JSL $0187A7
LDA #$88 ;特別な情報:2の場合
STA $7FAB10,x
PLX
RTS ; return