FreeDOS and FreeDOS(98) unstable kernel
…で、去年ぐらいから FreeDOS の開発版カーネルを少しいじって、DBCS ベクタ関連を修正したり(公式カーネルだと int 21h, ax=6300h で返されるポインタが微妙にバグってたり country.sys 読み込み時に DBCS ベクタの内容を更新してくれなかったりして素直に DOS/V 化しにくかった)FreeDOS(98) の成果を悪魔合体とかちまちまやってたのですが、せっかくなので軽くバイナリ晒してみたり。
カーネルのバイナリ(IBM PC FAT16&FAT32, NEC PC-98x1 FAT16)とソース
まあぶっちゃけ「FreeDOS(98) で FD がふつうに起動したよ記念」みたいなもんですが、
ファイラーの代表格とも言える FD が動いたことで(自分の中で)思ったよりテンションが上がったのでまあ多少はね?という感じで、はい。とはいえ PC-98x1 版純正 MS-DOS の固有機能を実用レベルまで実装するのはかなり遠い道のりと言わざるを得ない…(IO.SYS のコード覗き見は法的に禁じ手だしね。UNDOCUMENTED 9801/9821 がなかったらそもそもやろうとさえ思わなかった)。
嫌死系キャラ
死にたくないでござる!死にたくないでござる!みたいな。
いや、あるいはあまりにも「うわぁ…」な感じの死に様で、それを見た人があーこんな死に方しなくてよかったわーてな風に少しほっとしちゃう感じ、みたいな?
…なぜ何も思いつかないのに適当なことを書こうとするのか。
チラシの裏2:Windows のフロッピーディスクドライバって…
ツイッターに垂れ流しておくとほんとに(以下略)
むかし、3mode FDD で 2HD フォーマットって Windows だとどーやるんだっけ? と思って検索したらこのあたりのページが出てきた。おおなるほど…トラック数とセクタ数を手動で設定すればいいのですね…。
で、2DD の 640K(8セクタ)フォーマットはできないと書いてあるのですが、USB 接続した 3mode FDD(手元にあるのは中身 TEAC の IBM ドライブと中身 YE-DATA の NEC ドライブ)では /N:8 オプションも受け付けてくれた。しかし USB じゃないほうの(レガシー接続な)ドライブだと 720K しかフォーマットできなかった(こんな感じ)。よくわからない制限である…。もしかするとレガシー接続でも独自のドライバ突っ込む 3mode のやつとかなら 640K フォーマットできるかもしれない。
しかし秋葉原だとジャンク扱いの USB FDD が500円ぐらいでよく見かけるけど(正直、メディアよりはるかに見つけやすい)、適当に買ったときに 3mode ドライブだとどの程度期待できるもんでしょうか。中身が TEAC(IBM 時代のやつの一部) か YE-DATA(NEC、富士通、東芝あたり?)ならほぼ 3mode 確定だと思う…意外と確率高いか。Lenovo とか HP ブランドのやつはどうなのかな…。
チラシの裏:フロッピーディスクを店頭で買えないこんな世の中じゃ…
ツイッターに垂れ流しておくとほんとに記憶から流れてっちゃうんだよな…おじいちゃんご飯はもう食べたでしょ状態…。
(ハードディスク以外では)フロッピーからしか起動できない系のマシン動かしてる人は、フロッピーのメディアをどう確保してるんだろう。通販ならあるけどなんか状態がピンキリな気がして不安なんだよな…。
ということでデカめの家電量販店とか秋葉原に出向いたときはできるだけ注意して存在を確認するようにしていたのですがほんとにぜんぜん売ってねえ。秋葉原だと中古とかジャンクとか売ってる系の店で新固品(要するに未開封)がスポット入荷することがあるけどこれは買えたらラッキーなものだし。あとは使用済の中古品とかもあるけど…。
…実は1月ぐらいに秋葉原に行った時は、ヨドバシカメラとビックカメラ(ソフマップ)に Imation の新品が数箱置いてあったのですよね。ただ今月確認したら両店とも棚から消えていた。通販のほうだと「お取り寄せ」だったり「在庫あり」だったりするのでタイミングが良ければ店にも在庫があるのだろう… (ちなみに Imation だけど、日本法人のほうでは国内販売終了の告知をしているが、本家のサイトでは見当たらない。というか検索したらむしろ「終了予定はない」というニュースが引っかかって吹いた)
結局、今の秋葉原で、店頭で確実に入手可能な新品のフロッピーディスクということになると、磁気研扱いの Hi-Disc のやつになりそう。磁気研のショップ(場所がなんかわかりにくいんだよな…)かあきばお〜零に置いてある(あきばお〜は何件もあるけど、フロッピーが売ってるのは零だけだと思う)。ちなみに磁気研ショップのほうが安かった。
(2015-04-04追記) きょうアキバヨドバシを覗いたら棚一列分ぐらい置いてあった(ついでに言うとサンワサプライのクリーニングディスクも乾式・湿式両方売ってる)。ソフマップはビックカメラ店の確認を忘れたが駅前店に置いてあることは確認した。あとあきばお〜2号店にHi-Discのやつが売ってた。置いてる店が地味に増えてる…?いや多分在庫のタイミングなだけだと思うけど…。
春の倦み
ここ最近、かすかな頭痛がずっと引かないのは、やっぱり花粉のせいなんすかね…
PC-9801 用 MS-DOS のフロッピーディスク認識って…
ついでなので DOS フォーマットしたディスクに関するネタ。DOS でフォーマットした(DOS から認識できる)フロッピーディスクのブートセクタにはメディアの特性に関する情報が入っています(いわゆる BPB。マイクロソフト自身による解説:KB140418)。情報量は(フォーマットを行った)DOS の バージョンによって違うのですが、本質的に必要なのはオフセット 0x0b 〜 0x1f にある情報です。この部分がすべて正しく設定されていないと DOS から(DOS 以外でも)まともにアクセスできません。
…ところが、NEC の PC-98 シリーズ用 MS-DOS は BPB 内にあるヘッド数・トラック当りのセクタ数の情報がなくてもフロッピーディスクを正しく認識できてしまう。つまり(少なくともフロッピーディスクに関する限り)この部分の情報に依存していない。マジですか。
同じメディアを IBM PC 用の MS-DOS に持っていくと、ゼロ除算エラーで終了。ある意味想定どおりです。
…念のため言っておくと、NEC の MS-DOS も、フロッピーディスクのフォーマット時にこの部分の情報はきちんとセットしています(使ってるとは言ってない)。内部的にどういう感じでフロッピーのジオメトリ判定してるのかな。割と決めうちなのか?
(ところで DISK に関する資料に載っている IPL のダンプリストを見る限り、MS-DOS 2.x の BPB のヒドゥンセクタ数のエントリサイズは DWORD じゃなくて WORD のように見える。もうすこし調査したほうがいいかな…)