アニメーションコマンド 0x01 - 0x7F
指定した期間、指定した画像を表示します。

構文
sbyte time, ushort address

パラメータ
sbyte time
画像を表示する期間をフレーム単位で指定します。有効な値は、0x01 - 0x7F です。
この値がコマンドとなります。
ushort address
表示する画像のアドレスを指定します。これは、$FC:0000 にあるスプライト画像の配列ポインタの要素番号の4倍を指定します。

逆アセンブリ
B9:D100 A6 64 		LDX $64
B9:D102 B5 38 		LDA $38,X 	; variable $38 (image display period)
B9:D104 38 		SEC
B9:D105 F5 3A	 	SBC $3A,X 	; variable $3A
B9:D107 95 38	 	STA $38,X
B9:D109 F0 02	 	BEQ $D10D
B9:D10B 10 31	 	BPL $D13E

B9:D10D 8B 		PHB
B9:D10E F4 00 F9 	PEA #$F900
B9:D111 AB 		PLB
B9:D112 AB 		PLB 		; animation bank (ROM $39/SNES $F9)
B9:D113 B4 3C	 	LDY $3C,X 	; variable $3C(animation read address)
B9:D115 88 		DEY
B9:D116 B9 00 00 	LDA $0000,Y 	; get command
B9:D119 30 37	 	BMI $D152
B9:D11B 29 00 FF 	AND #$FF00
B9:D11E 18 		CLC
B9:D11F 75 38	 	ADC $38,X
B9:D121 95 38	 	STA $38,X
B9:D123 10 0C	 	BPL $D131 	; if minus, image display period is already over.
B9:D125 C8 		INY
B9:D126 C8 		INY
B9:D127 C8 		INY
B9:D128 C8 		INY
B9:D129 80 EA 		BRA $D115

B9:D12B A6 64 		LDX $64
B9:D12D 74 38 		STZ $38,X
B9:D12F 80 0C 		BRA $D13D

; if image display period is over.

B9:D131 C8 		INY
B9:D132 C8 		INY
B9:D133 B9 00 00 	LDA $0000,Y 	; get address (parameter #0)
B9:D136 95 1A 		STA $1A,X 	; store image address to variable $1A
B9:D138 C8 		INY
B9:D139 C8 		INY
B9:D13A 98 		TYA
B9:D13B 95 3C 		STA $3C,X 	; store animation address to variable $3C
B9:D13D AB 		PLB
B9:D13E B5 3E 		LDA $3E,X 	; variable $3E (animation additional operation)
B9:D140 D0 01 		BNE $D143
B9:D142 6B 		RTL

B9:D143 85 26 		STA $26 	; if variable $3E != nullptr, run specified code.
B9:D145 8B 		PHB
B9:D146 4B 		PHK
B9:D147 AB 		PLB
B9:D148 DA 		PHX
B9:D149 F4 4E D1 	PEA #$D14E
B9:D14C 6C 26 00 	JMP ($0026)
B9:D14F FA 		PLX
B9:D150 AB 		PLB
B9:D151 6B 		RTL