ウィザードリィIV for P6
ウィズ4ですが、地下4階までたどり着きました。
ディスクの入れ替えとかも問題なく動作しているようです。
ただ、少し問題が。
★外付けディスク(SD6031も含む)を使用している場合、リード/ライト時にエラーが出ても検出しない事があります。
例えばライトプロテクトをしたまま、ゲームセーブを行っても、正常終了したようになってしまいます。
(実際にはゲームはセーブされていない)
リードで実機でエラーが出た場合などは、最悪ゲームが止まる可能性があります。
この問題、ディスクのリード/ライト後に、コマンド6(センドリザルトステータス)を実行していないのが原因です。
対処方法は簡単なのですが、過去に私が移植したソフトのほとんどで、この問題が発生します。
数が多いので、どうするかはちょっと考えます。
とりあえず今の所は...
★書き込みをするディスク(SDカード)は、書き込み禁止にしないで下さい。
★リードエラーが出来るだけ少ない環境で動かしてください。
をお願いします。


disk66.z80 の方は問題なさそうでしょうか。
とりあえず修正版の disk.z80 を物置の一番下に置いてみました。
コズミックキューブまであと少しですね。
今回の問題は、こちらでもっと早くに気付くべきでした。
今回、たまたまSD6031のSDカードが、LOCKになっていたために、セーブできない状態になったので見つかったものです。
実機の外付けドライブはPC80S31Kを持っているんですが、フロッピーに書き戻すのが面倒なので確認していませんでした。
内蔵ドライブ(disk66.z80)の方は、問題なさそうです。書き込みプロテクトでエラーが発生しますし、読み込み時にエラーを検出した事があります(ドライブの調子が悪い)。
取り急ぎ報告まで。
一つ気になったんですが、Disk60_readdata と Disk60_read4data では、タイムアウト検出していないんですが、何か理由があるんでしょうか?
他の Disk60_readbyte、Disk60_senddata などはタイムアウトでエラーを発生させているので、ちょっと気になります。
コマンド送出時のタイムアウトで事足りると思ったのかもしれません。
でも今回の件を考えると入れておいた方がいいですネ。
というわけで改版を物置に置きました。
こちらでも wiz4 共々テストしてみます。