hra1129 / msx_basic_compiler

MSX-BASICコンパイラ
MIT License
22 stars 2 forks source link

SPRITE$に関する幾つかの問題 #23

Open baseballcap-mio opened 1 month ago

baseballcap-mio commented 1 month ago

スプライトに関して以下の3つのプログラムで問題が発生しました。 尚、全てのプログラムはBASICで動作し、コンパイラは2024/08/01版を使用しています。

1.コンパイラがエラーを出さず、Completed.を表示せず終了し、ZMAのソースを生成しない。 (参考)LEN(SPRITE$(0))はスプライト8x8時には8を、16x16時には32を返すようです。

100 SCREEN 1,0:WIDTH 32
110 SPRITE$(0)=STRING$(32,&H30)
120 PRINT LEN(SPRITE$(0))
130 '
140 PUT SPRITE  0,(  0, 64), 6, 0
150 END

2.130,140,180の各行でSyntax error.になる。

100 SCREEN 1,0:WIDTH 32
110 SPRITE$(1)=STRING$(32,&H31)
120 SPRITE$(0)=STRING$(32,&H30)
130 PRINT SPRITE$(0)
140 PRINT SPRITE$(1)
150 PUT SPRITE  0,(  0, 64), 6, 0
160 PUT SPRITE 31,(  0,128),15, 1
170 I$=INPUT$(1)
180 SPRITE$(0)=SPRITE$(1)
190 PUT SPRITE  0,(  0, 64), 6, 0
200 PUT SPRITE 31,(  0,128),15, 1
210 END

3.コンパイラがエラーを出さず、Completed.を表示せず終了し、ZMAのソースを生成しない。

100 SCREEN 1,0:WIDTH 32
110 A1$="ABCDEFGH"
120 A2$="IJKLMNOP"
130 A3$="abcdefgh"
140 A4$="ijklmnop"
150 SPRITE$(0)=A1$+A2$+A3$+A4$
160 PUT SPRITE  0,(  0, 64), 6, 0
170 PRINT MID$(SPRITE$(0),5,1)
180 'I$=INPUT$(1)
190 END

以上です。

hra1129 commented 1 month ago

ありがとうございます。 今現在、PUT SPRITE のメンテナンス中なので、これが完了次第、ご指摘の内容を確認させていただきます。