YAMAHA QY20のデータバックアップ回路(13) 「試作完了!!」

2022/09/04

YAMAHA QY20 バックアップツール 電子回路

 


秋月電子から、1024ビットEEPROMが届いたので、メモリ128kバイトでのテスト。

512kビットメモリ用にマスクしていたコードを有効化。

64kバイト内のバックアップリストアは問題なし。書き込みエリアと読み出しエリアは一致してるよう。次に64kバイト以上となるQY20の全SONGデータのバックアップリストアのテスト。。。。失敗。

リストアデータを見ると、案の定、バルクデータの途中から始まっている。前半の64kバイトに上書きしている。最上位ビットの処理ミス。コードを見直しても、合っている。リモートデバッグのビルド中に、気づいた(リモートデバッグするときに、注意する観点が変わるためか、現象が起きる前に、頭の中で「仮説」が成り立つことが多い)。


単なるPICのバンク処理ミス。PICのレジスタはバンクで分かれているが、そのバンク処理をすると、プログラム変数のメモリバンクも変わり、プログラムコードで変数を指定していても異なるメモリを見てしまう、PICのアセンブラプログラム開発者なら、だれでも注意する点。そして、よく見落とす点。

バンク指定したら、動きました。あるあるですが、最初動いていたコードに、デバッグコードを入れたり、goto文で飛ばしてくるとバンクコードが変わっている場合があるので、とても注意が必要、、、というか面倒ですね。


これで、試作は完了。試作は、デバッグ用に色々つけたり、配線も切れやすくなっているので、シンプルで耐久性のあるハードを作る予定です。


QooQ