なんと!Out of Memoryのエラーが出てしまいました^^;
プログラムが長すぎるというエラーですね。
MSX BASICは容量との戦いなのです(~O~;)
32Kバイト以上のMSX1を対象に作っているのですが...
32KバイトのMSXマシンといえど、
実際に使えるのは、23432バイトみたいですね。
(MSX1のメモリの最後の方に、ワークエリアがあるので。
それにしても8.5Kバイトも占領するとは!)
マップデータを少し圧縮?することにより、1.8Kバイト小さくしてみました(*´ω`*)
圧縮といっても、
10 MP$(0)="AAAAAABBBBBAACDED"
20 MP$(1)="AAAAAABBBBBAACDED"
30 MP$(2)="AAAAAABBBBBAACDED"
40 MP$(3)="BBCSFGBBAACCCDBBD"
というマップデータを、
5 M1$="AAAAAABBBBBAACDED"
10 MP$(0)=M1$
20 MP$(1)=M1$
30 MP$(2)=M1$
40 MP$(3)="BBCSFGBBAACCCDBBD"
というように重複をまとめただけですけどね( ゚д゚)ハッ!
でも減るもんですね〜。
あとやるのは、
PCG(文字の形、色データ)のデータが256文字全部書き換えているので、
(実際に描いているのは150文字とか、かな)
必要ないデータを消すことですね。
100 x 8で800バイト。
色データもあるので、全部で1600バイトほど確保できます。
まぁ、なんにしてもキツキツですね(^_^;)
BASICはフリーエリアとかなんとか勝手に確保されたり、
色々とメモリを圧迫します。
やっぱりマシン語が容量も少なくていいんですけどね。
(でもBASICは簡単だから^^ そこが最大の魅力!)
12体の干支(えと)を拾うところまで作りました。
ちなみに干支は、子丑寅卯辰巳午未申酉戌亥です。
あとは、ドアのオープンと、
干支に入れなかったために12体の干支を誘拐した猫との
当たり判定プログラムです。(*´艸`*)
じつは、
このゲームは干支に入れなかった猫ちゃんの反逆のゲームなんです!
まぁそんなこんなで完成間際です。
よろしくお願いします〜(*´ω`*)