FreeDOS(98)進捗どうですか
誰もきいてない近況:改造FreeDOSカーネルを野良ビルドしたらブート時の動作がおかしくて理由がわからず困惑していたが、コンパイラを古いの(OW1.9→1.8)にしたらふつうに起動してさらに困惑が深まる、など…
2015-03-31 19:35:44何が違うのかと思ってwdisの出力をぬべーと比較してみたが、1.9のほうが同サイズのsignedとunsignedを比較する際により大きいsigned型に拡張してるか否か、くらいしか違いがなかった…(そんな影響出るとこでもないはずだが…レジスタは保存されてるし…)
2015-03-31 19:40:03(実際、signed charとunsigned charの比較してた箇所を両方ともunsigned charにしたら1.9でコンパイルしても一応まともに起動したんですけどね。ただソース全部確認したわけじゃないからまだ不安が…)
2015-03-31 19:52:39誰もきいてない近況2:コンパイラのオプションひとつ削ったら胡乱な挙が出なくなったが理由が不明なので「偶然動いてる」だけかもという不安が拭えない。両方のasm出力の査読とか…(白目)
2015-04-05 20:18:17@lpproj (ちなみにopenwatcomの-rオプション(関数内でセグメントレジスタ使うときはpush/pop入れる)です。保存する方が動作あやしいってのが何と言うか困るのです…)
2015-04-05 20:34:51誰もきいてない近況4:やっぱ場当たりにやってもダメだな…とりあえず昔のOpenWatcomより今のほうが最適化性能は高いっぽい(1.6→1.7での差が比較的大きめ)ことはなんとなく感じられた…
2015-04-07 22:43:51誰もきいてない近況5:今まででいちばん有望な不具合原因(日本語ヘン)らしきものにたどり着いた…かも…。しかしきちんと確認しないとまたぬかよろこびである…夜は寒いから今日はもうやめよう…
2015-04-09 23:12:56誰もきいてない近況6:根本的問題点のコードレベルでの位置特定には至らないが、対処法については確定してもよさそう。bochsのGUIデバッガーを生まれて初めて活用した気がする…
2015-04-12 22:04:34と思ったらexdebが落ちた…NEC純正MS-DOSやIBM PC版FreeDOS上だとふつーに使えるのでFreeDOS(98)固有部分か…うーん…… pic.twitter.com/lCTQCDONGQ
2015-04-14 19:51:48チラ裏:freedosをopenwatcomでビルドするとき、CFLAGSに-rオプションつけないほうがサイズがわずかに(100バイト程度?)小さくなるんだけどfreedos(98)だと逆にでかくなる。うーんfarポインタの使用頻度なのだろうか…
2015-04-15 19:30:30誰もきいてない近況(98)その1:どうにかFreeDOS(98)でFDを起動できるようになった…カーソル位置取得エスケープシーケンス(ESC[6n)のサポートが必要だったようです… pic.twitter.com/MaoWe37al9
2015-04-17 20:50:29@lpproj (あとコンソールドライバ内のキー入力フラッシュ処理を少しまじめにやらないと入力がチャタリまくりでつらかった。DOSのキー入力まわりはFEPとの兼ね合いもあって意外とバッドノウハウの沼なのでは…)
2015-04-17 20:54:55誰もきいてない近況(98)その2:ESC[6nサポートしたらexdebも起動「は」できたが表示がおかしい(画面上部のカーソルがお分かり頂けただろうか…)。そしてすこし使ったらやっぱり固まった。98コンソールの闇は深い… pic.twitter.com/91cUFUgZmk
2015-04-19 15:37:56ということでFreeDOSとFreeDOS(98)の開発版カーネル上げてみる d.hatena.ne.jp/lukewarm/20150…
2015-04-19 18:55:54そういやFreeDOS(98)+NEC純正command.comの組み合わせだとF1とかF3とかの簡易ヒストリ的なのが使えないんだよな…DOSのファンクションコール経由だと同じキーコードを返すのでいったい何が違うのか…
2015-04-20 19:31:17誰もきいてない近況(98)その3:CONドライバ直接たたいて調べたらINPUT STATUSは常にBUSY=0だな…(つまりキー入力の有無はINPUT STATUSコマンドでは調べられない)
2015-04-26 16:33:40@lpproj とするとキー入力有無の事前検知にはNON-DESTRUCTIVE INPUT NO WAITコマンドを使うしかないのだが、こいつファンクションキーを押下してる間は無反応なんだ…押して離すと入力有と返す…どういうこと…
2015-04-26 16:37:23@lpproj (さらにSHIFT+ファンクションキーのときはふつうのキーと同じ扱いで押した直後から反応する…やはり98のコンソールドライバには闇を感じる…)
2015-04-26 16:50:51