寒いッシュ(素描)
やたらと咳がでるので空きの花粉か…と思ったらふつうに風邪だったでござる。
FreeDOS(98) unstable kernel 近況 (2015-07-24)
「いちおう」フロッピーディスクの読み書きに対応。
フォーマットしたフロッピーに付属の sys コマンドでシステムを転送すると FreeDOS(98) のブートディスクが作れます。
いちおう、というのもアレなんですが、アクセス速度がクッソ遅い(特に実機だと)というのが最大の問題点です。理由はいくつかあって、
- メディア入れ替え検出を行っていない(DOS に対して常に「入れ替え不明」を返す)
- 常に1セクタ単位でしか読み出さない
といったあたりが…まあつまり実装の手抜きです…。
エミュレータ上なら幸い(?)速度的にはあまり気になりません。まあ 98 系の実機をお持ちでなおかつ人柱精神旺盛な方は、実機でブートして、フロッピーディスクに dir コマンドかけてみるといいさ…2DD が超オヌヌメ…。
ところで、フロッピーへの転送は PC-98(系のエミュ)でなくても行えます(ハードディスクへのシステム転送は処理の過程で PC-98 のディスク BIOS を呼び出しているため、機種依存です)。あとはハードディスクの初期化と領域設定用のツールがあれば、純正 MS-DOS なしでも FreeDOS(98) の起動システムをどうにか作ることができるのですがね…。
暑いッシュ(素描)
冷房機器が扇風機しかない部屋で摂氏35度に勝てるわけないだろいい加減にしろ(脱水症状)
FreeDOS(98) unstable kernel 近況 (2015-07-04)
俺と Linux (debian jessie) とサウンド設定…
正直ほんとにわからない(諦念微笑)。
とりあえず alsa がどうとかだっけ?みたいな曖昧な記憶があったのであらかじめ alsa-base, alsa-tools, alsa-utils あたりを何も考えずに突っ込んでおいてから sudo alsamixer でミキサーの設定。何しろ初期状態でほぼ全部のチャンネルがボリューム 0、ミュート ON みたいな状態になってやがる。ミキサーをいじらないとほんとに音でない。ちなみに VirtualBox 3.2 内で動かしていたのでオーディオコントローラは ICH AC97 です。
で、np2 の音は鳴ったんですが、ちょっと挙動に不安を感じさせるものがあったのですよね。こんな感じで…
結局 pulseaudio を入れたら underrun は出なくなったので、あまり追求しないことにしました。今後は最初からそれなりにオーディオ周りの設定してくれるウィンドウマネージャを使ってゆきたい…。
ちなみに alsamixer は sudo るのと sudo らないので設定項目にだいぶ差がありました。そういうもんなんでしょうか…。
(しかし GUI のミキサーよりコンソール版のほうがはるかに使いやすい気がするなあ。キーボードで動かせるからすごい軽快)
debian jessie で np2 (0.84) をコンパイルしてみた、的なメモ
当方 debian っちゅうか Linux 全般の知識ほぼ皆無なので自分用の覚書。ちなみに amd64 版の mini.iso 使ってデスクトップ環境なしで最低限のインストールを行ったのち sudo と xorg と twm を入れた状態からスタート。
必要なパッケージ(ツール)
- build-essential
- いろいろコンパイルに必要
- subversion
- np2 のソース取得に必要
- autoconf, automake, libtool
- configure と Makefile 作成(libtool は要らないかも?)
- nasm
- x86 コードのアセンブルに使う
- unzip
- np2tool の展開に必要(意外と忘れる)
ライブラリ
- libgtk2.0-dev
- gtk2 のライブラリ
- libsdl-mixer1.2-dev
- SDL_mixer のライブラリ(ほんとは libsdl1.2-dev があれば必須ではない。ついでに言うと音出なくていいなら libsdl1.2-dev 自体必要ではない)
以上を sudo apt-get install で引っ張ってくる。
で、np2 0.84 のソースを取ってくる。
$ svn co http://amethyst.yui.ne.jp/svn/pc98/np2/tags/VER_0_84 np2-0.84
取ってきたら autogen.sh を実行して configure と Makefile 作成。
$ cd np2-0.84/x11
$ ./autogen.sh
あとは例によって例のごとく、configure して make。
$ ./configure --enable-build-all
$ make
んでいちおう完成。わーい。
その他メモ: