作りたいものに妥協しないために、会社を興してまで完成させた作品です。うれろー、うれろー。

2016年02月11日

MB8877とT3444Aのタイミング

MB8877とT3444Aのタイミングを再々修正しました。
今度こそ大丈夫な筈、です、多分。

X1turboのアルファにおいて、オープニングデモの銃声が2重に再生されたり、
ポリスロボットにつかまった後にCGが化ける問題が解決しています。
同じくX1turboのイース2のオープニングのタイミングは、もうちょっとかな?

MZ-80KのSP-6010の起動も高速化しています。
むしろ実機より高速っぽいですが、これはモータが回転し始めて、回転が安定して
READYが返るまでの時間が入ってないのが原因かと思います。
次はこの辺の改良を進めたいですね。

私のFDCの実装では、ヘッドの現在位置を意識してタイミングを取得しています。

具体的には、最後にDRQが立ったときのヘッドの位置と仮想マシン内の時間を控えておいて、
そこからの経過時間と、ディスクの回転数、トラック長から、現在のヘッド位置を算出します。
また、インデックスホールを先頭に、トラック全体のデータの並びを生成することで、
各セクタのIDやデータが、トラック上のどの位置にあるかを取得します。

例えばREAD/WRITE SECTORでは、現在のヘッド位置から、アクセスするセクタの位置までの
ヘッドの移動量を算出して、アクセス開始までの待ち時間を決定するという塩梅です。

ここまでは従来からやっていたのですが、じゃあ何が問題だったかと言いますと。
最後の最後で、セクタの位置の配列の引数が間違っていて、別のセクタまでの移動量を元に
タイミングを算出していたという体たらくでして(苦笑)


この方式、各セクタのIDやデータの、トラック上の位置を正確に取得できるかが重要ですが、
現在のディスクイメージでは完璧な実装にならないのが悩みの種です。

例えばD88フォーマットでは、トラック長やセクタ間のギャップ長の情報がありません。
標準的なフォーマットであれば、規定値を元に算出できるのですが、
モータの回転数を落としてフォーマットすることで、トラック長を大きくしてやって、
その分セクタを余分に突っ込んでいるようなものもあったりする訳で。

さらに2D形式などのベタイメージだと、セクターのIDの順番に格納されていますので、
セクターの並び順すら確実ではなかったりします。

将来的には、KryoFluxのRaw Stream形式をそのまま扱えるようにしたいのですが、
まずはKryoFluxを購入するところから始めないといけませんね(を
posted by 武田 at 01:26| Comment(8) | TrackBack(0) | 開発 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
現在、メールの返信が滞っています。
もう暫くお待ちください。
Posted by 武田 at 2016年02月11日 01:30
pyuta.exeがAvast先生に怒られてしまいます
Posted by 素人 at 2016年02月13日 14:28
@homepageが9月29日で終了になり、期間限定で無料の移行プランを提供しているのですが、ご存じでしょうか?
http://homepage.nifty.com/information/2016/01/
いちおうお知らせまで。
Posted by えむけい at 2016年02月13日 17:38
2/13の更新から、
mz2500でLaydockがブート途中でIPLリセットを繰り返すようになりました。
ご報告まで。
Posted by d at 2016年02月20日 18:49
ウイルス関係については誤検出であろうと認識していますが、
私みたいな零細フリーソフト開発者には出来ることはありません。

結局のところ、アンチウイルスソフトと、私みたいなフリーソフト作者と、
どちらが信頼できるかという問題になるかと思います。

#最近だと、多くの人から利用されているメジャーなサイトじゃないから、
#こいつはウイルスに違いない、みたいな検出基準もあるみたいで(苦笑)
#ごめんね、おいちゃんのサイト、ベクター並みにメジャーじゃなくてごめんね。
Posted by 武田 at 2016年02月21日 00:54
>えむけい様
移行の件は招致しているのですが、ちょっと素直にcoocanに移行しにくい事情もありまして。
まだ移行期間に猶予もありますので、もう暫く様子見です。

>d様
ご指摘多謝です。
取り急ぎ、今晩のリリースで修正しておきました。
Posted by 武田 at 2016年02月21日 00:56
まぁ、そうですよねぇ…
以前Avast先生に怒られていたmz80b.exeが怒られなくなったので、何らかの対処をしたのかなと思ったのです
私はもちろん、武田先生を信じます!
Posted by 素人 at 2016年02月21日 19:25
最新のCommon Source Code Project(160323)のbinary.zipが、Windows2000で動かなくなっていますよ。
Posted by もやし at 2016年03月30日 23:36
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック
まるくん、がんばれ、ちょうがんばれ