2023年11月11日
【ゲーム制作】3Dダンジョンロールプレイングゲーム 第41.5回
3Dダンジョンロールプレイングゲーム 第41.5回目です。
前回の不具合の続きです。
原因不明なので、とりあえずデータが正しく登録されているか確認する事に。
保存された「3DRPG.ITM」をBLOADし、メモリに書き込まれた値を確認するための簡単なBASICプログラムを組んで検証してみました。
アイテム名の後ろ2バイト(0〜65535)が金額なのですが、2バイト目以降全て「0」になってる!
(でも、「エリクサー」の&HFFはちゃんと残ってる!?)
うーん、結果「3DRPG.ITM」は壊れてる…。
では、どこで壊れたのか?
「ITMSET.BAS」起動後の時点ではどうか?
結果は同じ、BSAVEした後のメモリの時点でおかしい…。
えー…、なんで?
何度かプログラムを変更して試行錯誤を繰り返しましたが、結果は同じ。
まぁ、そもそもプログラムは変更していないから、動作は正常なはず…。
念のためにと、メモリに書き込んだ直後、BSAVE前でプログラムを終了し、その時点のメモリを確認する事に。
実行。
あ、正常だ。
当然ですが、メモリ内の表示プログラムは同じものを使っています。
BSAVE実行すると、アイテム名以降のデータが壊れる事が分かりました。
BSAVEが悪さしていることは分かりましたが、アイテム名部分はちゃんと保存されて、それ以降だけ壊れる意味が分からない…。
そんな事ある?
まさか、こんなことで躓くとは…。
どなたか知識ある方、ご教授ください!!