2016年01月11日

微修正バージョン

新年あけましておめでとうございます。
本年も本ブログをよろしくお願いいたします。

ディスクエミュレータのFDDエミュレーション部を少し修正しました。
release-F68k_DE0CVDEMU.160111.qar
変更内容はディスクイメージのトラックイメージバッファへの展開タイミングです。
従来はヘッドシーク・ドライブセレクトの度に展開を行っていましたが、
ヘッドシークの3msecの間には到底完了しないため、ヘッドシークし始めで
展開を開始し、展開が終わった後最終トラックのデータを再度展開する
という無駄な展開時間が必要になっており、それだけ待ち時間になっていました。
それだけであれば待つだけで済むのですが、PC-88はFDCアクセスはサブCPUの
仕事であり、サブCPUが待っている間にタイムアウトが生じるのかイメージからの
bootができません。
少しでも待ち時間を少なくするために展開のタイミングをヘッドシーク時は
ヘッドが5msec以上動かなくなってからに限定し、前回アクセスした時と同じ
トラックのアクセスの時には再展開しないように変更しました。
これによって、Human68k 3.02の起動時間が1分2秒から50秒に短縮されています。
(ちなみに実FDD(300rpm)では30秒程度。実FDDと同じレートのFM/MFM信号に変換して
FDCに渡しているので実ドライブより早くはならないです)
でも、まだPC-88のbootはできませんが。
やはり、.d88ファイルをトラックイメージに展開するのに時間が掛かっており、
これ自体を早くするには.88ファイルではなく.d88ファイルを展開したトラックイメージ
を直接SDカードに保存するしかないのかもしれません。
posted by プー at 17:25| Comment(0) | 日記 | 更新情報をチェックする