とりあえずmicrosdを取り出し、一旦フォーマットし直し、ファイルを再配置したところ、m3でもmoonshellでも正常に読み込めるようになった。
矢張り、dsftpのgba_nds_fatが原因だったようだ。
とは言え、dsftpが使えないのは非常に不便だ。
そこで、「ファイルのunlink後の何かにのみ不具合が存在する」と仮定し、「dsftp経由でファイルの削除は行ってはならない」という運用面で何とかする方向で対処してみる事にする。
勿論、前提とする仮定が正しいという保証は何も無いが。
ついでなので、dsftpにDELEコマンドを封印し、CDUPコマンドを追加するようなパッチを作成し、自前でコンパイルして使ってみる事にする、予定。


……と思っていたが、dsftpのソース見てみたら、肝心のlibdsftpのソースは非公開らしく、*.hとlibdsftp{,d}.aしか無かった。


とりあえずDELEコマンド封印方針で運用する事。