MSX BASICのBSAVE命令はメモリの内容をバイナリーデータで保存する命令、BLOAD命令はバイナリーデータをメモリへ転送する命令ですが、一体どのくらいのメモリ容量が扱えるのか、知らなかったので調べてみました…と思ったらバグかもしれない場面に遭遇しました。 結論 BSAVE形式ファイルの仕様 BSAVE命令のテスト 結果 BLOAD命令のテスト 結果 バグではなく仕様でした なぜそうなるのか仮説 結論 BLOAD命令・BSAVE命令ともども、メモリの最大容量は65535バイトまで扱えます。 メインRAMの最大容量である64kB(65536バイト)以上のデータには対応しません。誤動作が発生します。 そういう動作をするのは仕様でした。 BSAVE形式ファイルの仕様 今一度MSXのBSAVE形式ファイルの仕様を確認します。 オフセット 容量 内訳 +0 1 BSAVE形式の明示(0xFEが
![MSXのBSAVE形式バイナリデータの読み書きにバグ発見!?BSAVE・BLOAD命令の挙動を検証 - Gigamix Online](https://cdn-ak-scissors.b.st-hatena.com/image/square/956b9b51f97045070f0b6ceeecafd7fdaa1b8225/height=288;version=1;width=512/https%3A%2F%2Fp.gigamix.jp%2Fdevmsx%2Fcg%2Fbload-bsave_title.png)