DOS | OS/2 memo このページをアンテナに追加 RSSフィード Twitter

ありがちカテゴリ:DOS OS/2 bochs qemu
 

2016-03-02 適当に

以前の更新が半年前か…。

[] FreeDOS(98) 方面の近況  FreeDOS(98) 方面の近況を含むブックマーク  FreeDOS(98) 方面の近況のブックマークコメント

(忘れそうなので先に書いておこう…最近のソースやら起動フロッピーイメージやらは以下の場所からどうぞ…)

http://bauxite.sakura.ne.jp/software/dos/freedos.htm
https://github.com/lpproj/fdkernel/releases

んで、最近、PC がらみ(の現実逃避)はこれぐらいしかやってないし…ということで前回からの進捗を書いてみようと思いましたが、要は

(純正 MS-DOS との)互換性向上

という一言になっちゃうんだよなあ…(というか、今後もそうなるだろう)。しいて言うと「WXP と ATOK が(たぶん)使えるようになった」というのが個人的には割と大きい。なにしろ「ATOK 動かない≒一太郎(ある意味 PC-98 で最もメジャーなビジネスソフト)使えない」だし。本当に長かったなあ、入れても死ななくなるまで、うん…。

…まあ、FreeDOS は DOS 6 相当の互換 DOS なので、DOS5 登場以前の FEP(に限らず、ファイルアクセスを行うデバイスドライバや常駐プログラム)の動作は基本的におすすめできないってのはあるんですけどね。本家 MS-DOS には一応そのための KKCSAV.SYS というドライバがあるのですが、これは int 21h にフックかましてごそごそやる系のあやしい(←ひでえ)ドライバなので、必要ないときは常駐させないほうがいいと思う。

あ、そうだ、重要なことを言い忘れていた。NEC AI は動作しません。あと動作対応もしません。あれ IO.SYS 内部をちょっと書き換えて、内部処理をオーバライドするっぽいんですよね…まじめに MS-DOS の内部解析しないといけないけど縛り違反だから…

おまけ:せっかく無料なので、動作確認してみた(ほぼツイッター上での報告の焼き直し)

コープスパーティーエンターブレインのサイトからダウンロードできる exe は Windows 用の自己展開バイナリですが、ふつうに MS-DOS 版の LHA でも展開できます。そのまま corpse.bat を実行するだけ。特に問題ないと思われます。

Demon's Eye:なんか検索したら製作元より先に紹介(攻略?)ページっぽいところが出てきた。int DCh 経由の画面消去と 20 行表示のエスケープシーケンス対応が必要でした…

画像は Demon's Eye III。ハードディスクにアーカイブを展開して hd.bat の実行で起動。なお、そこそこ空きメモリが必要なので、たぶん XMS ドライバと DOS=HIGH の設定が必要かと思われます。

2015-09-17 寒いッシュ(素描)

やたらと咳がでるので空きの花粉か…と思ったらふつうに風邪だったでござる。

[] FreeDOS(98) unstable kernel 近況 (2015-09-16)  FreeDOS(98) unstable kernel 近況 (2015-09-16)を含むブックマーク  FreeDOS(98) unstable kernel 近況 (2015-09-16)のブックマークコメント

こっちのほうは2ヶ月くらい書いてないか…前回近況からの更新分をおおざっぱにまとめると

  • SCSI ハードディスク対応
  • コンソールのエスケープシーケンス対応いろいろ追加
  • adddrv/deldrv (adddev/deldev) サポート
  • 日本語 (DBCS) ファイル名サポート
  • ハードディスク簡易初期化ツール(btnpart)
  • その他バグ修正

とかそんな感じでしょうか…。

実は日本語ファイル名サポートは昔やろうとして(メンドくさくて)放棄したことがあったのですが、今やってみたらそれほど実装に困ることもなくそこそこ動くようになってしまった。うーん、昔に比べて自分のスキルが向上したとかそういうことはないはずなのに(むしろ昔よりいろいろ退化してるし)これは何なのか…。まあファイル名に日本語が使われている系のソフトがヘンな小細工なしでふつうにインストールして起動できるようになったので(すくなくとも PC-98 用の DOS としては)そこそこ使えるようになったと思いたい。

あとはハードディスク初期化ツールを適当に作ってみました。FD イメージにカーネルと一緒にぶち込んであるので、これで MS-DOS に依存せずに実機やエミュレータFreeDOS(98) をハードディスク(イメージ)にインストールできるはずです。

とまあ更新(改善)点はこんなもんですが、PC-98 用 MS-DOS としての「互換度」に関してはまだまだ問題点が多いです。
一番の問題は FEP です。WX2, WX3系EPSON 版 MS-DOS 付属の WXA や Windows9x 付属の DOS 版 MSIME 含む)以外の FEP はほぼ動作しません。無理に入れると操作不能もしくはシステムクラッシュするレベルなので入れないでください。ちなみに WXP もダメだよ…。最初コンソールドライバの実装の問題かと思ってましたがもうすこし根深いようです。せめて ATOK 系は使えるとよかったんですがね。いやー直せるんですかねこれ(白目)。

KAZ.KKAZ.K 2015/09/18 12:03 もう正直うろ覚えなんですが・・・なにせTATOKDを作っていたときの話なんで、タイムスタンプみたら最後が2003とかだし。
要はNEC DOSのCONがBIOSの段階で8bitデータを出しても通してくれないのが一つ、ことあるごとにBIOSワークを直読みして勝手にキー入力を食べてしまうのが一つで、FEP側でその辺に対抗する必要があるです。ATOKが98版だけCON持っている(DOS/V版には無かったはず)のはその辺が理由かなと。
結局逆汗読んでないので実際のATOK8 CONがどういう実装かは知らないですが、さすがにIO.SYS自体をアレして動いている訳ではないと思うので、全部自前で処理する方針でIO.SYS管内のキー定義(60:[60:16C0]〜)等を直読みするか(TATOKD 2.0系まではコレ)、ごまかしてDOS CONにチェインする方針でタイミング計ってBIOSワークをちょろまかすか(TATOKD 2.1系はこっち)、たぶんどっちかしている筈です。後者ならIO.SYSへの依存度はまだしも低いですが油断するとすぐにスタック溢れで崩壊するし、やることはどっちも同じ程度にはやくざな感じで正直ロクな予感がしません。
TATOKDの実装をみたら他にもシステムラインの状態の辻褄あわせでIO.SYS管内60:0111を直読みしているのを見つけたけれど、この辺はそもそも本来のATOK8の挙動に似せて作ったのかどうかすら記憶がない。それ以外はBIOSワークの参照だけっぽいのでたぶん問題ない・・・ですかねぇ。

2015-07-25 暑いッシュ(素描)

冷房機器が扇風機しかない部屋で摂氏35度に勝てるわけないだろいい加減にしろ(脱水症状)

FreeDOS(98) unstable kernel 近況 (2015-07-24)  FreeDOS(98) unstable kernel 近況 (2015-07-24)を含むブックマーク  FreeDOS(98) unstable kernel 近況 (2015-07-24)のブックマークコメント

「いちおう」フロッピーディスクの読み書きに対応。

フォーマットしたフロッピーに付属の sys コマンドでシステムを転送すると FreeDOS(98) のブートディスクが作れます。
いちおう、というのもアレなんですが、アクセス速度がクッソ遅い(特に実機だと)というのが最大の問題点です。理由はいくつかあって、

  1. メディア入れ替え検出を行っていない(DOS に対して常に「入れ替え不明」を返す)
  2. 常に1セクタ単位でしか読み出さない

といったあたりが…まあつまり実装の手抜きです…。
エミュレータ上なら幸い(?)速度的にはあまり気になりません。まあ 98 系の実機をお持ちでなおかつ人柱精神旺盛な方は、実機でブートして、フロッピーディスクに dir コマンドかけてみるといいさ…2DD が超オヌヌメ…。

ところで、フロッピーへの転送は PC-98(系のエミュ)でなくても行えます(ハードディスクへのシステム転送は処理の過程で PC-98 のディスク BIOS を呼び出しているため、機種依存です)。あとはハードディスクの初期化と領域設定用のツールがあれば、純正 MS-DOS なしでも FreeDOS(98) の起動システムをどうにか作ることができるのですがね…。

2015-07-04 肉≒若さ

ラーメン屋でべつにチャーシュー麺でもないのにチャーシューが複数枚乗っかってるラーメンが出てくると「もうチャーシュー1枚でいいから、いやいっそなくてもいいから50円くらい安くなりませんかね…?」とか心の中で思ってしまうほどに肉恋しさ(ん?)が薄れている最近の自分。

でもチャーシューなしですこし安め(あるいは麺大盛)ってよくある「学生ラーメン」な気がしないでもない…。

[] FreeDOS(98) unstable kernel 近況 (2015-07-04)  FreeDOS(98) unstable kernel 近況 (2015-07-04)を含むブックマーク  FreeDOS(98) unstable kernel 近況 (2015-07-04)のブックマークコメント

twitter だけじゃなくてたまにはこっちにも書くか…、的な気分で。

いちおうちまちまと作業を進め、

  • 256 バイト/セクタの SASI ドライブ
  • 複数パーティション
  • 先頭パーティション以外からの起動

といったあたりに対応してみました。

カーネルのソースとバイナリも一応あげときました。適当にどうぞ。

2015-06-02 寿屋か松屋か、それが問題だ

なんかプレミアムモルツが微妙に安売りしているのでときどき飲んでるけど、飲むたび「俺はプレミアムじゃなくてもいいかな…」という感じのほんのり微妙な気分になる(単に好みの問題)。で、ふつうのモルツが飲みたくなってビール売り場にいくと売ってない。

プレミアムしかないあたり、牛丼(正確には牛めし)めいている…

debian jessie で np2 (0.84) をコンパイルしてみた、的なメモ  debian jessie で np2 (0.84) をコンパイルしてみた、的なメモを含むブックマーク  debian jessie で np2 (0.84) をコンパイルしてみた、的なメモのブックマークコメント

当方 debian っちゅうか Linux 全般の知識ほぼ皆無なので自分用の覚書。ちなみに amd64 版の mini.iso 使ってデスクトップ環境なしで最低限のインストールを行ったのち sudo と xorgtwm を入れた状態からスタート。

必要なパッケージ(ツール)

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

んでいちおう完成。わーい。

その他メモ:

  • $(HOME)/.np2 にフォントと BIOS の ROM データ入れると読んでくれるんですが、フォントのほうは大文字(FONT.ROM)、BIOS のほうは小文字 (bios.rom) にしないとダメみたい。
  • SDL のオーディオドライバの設定に失敗して音が鳴らなくなると xnp2 のサウンドドライバの設定が外されてそれ以降 SDL を使わなくなることがある(もちろん音は出ない)。Device メニューから Sound option を選んで設定ダイアログの Driver タブをクリック、Sound driver が SDL になっているか確認する。

俺と Linux (debian jessie) とサウンド設定…  俺と Linux (debian jessie) とサウンド設定…を含むブックマーク  俺と 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 のミキサーよりコンソール版のほうがはるかに使いやすい気がするなあ。キーボードで動かせるからすごい軽快)

 

最近のコメント

1. 09/17 KAZ.K
2. 04/19 tensor
3. 04/19 tensor
4. 04/19 sfish
5. 03/22 lukewarm
6. 03/22 SaitoAtsushi
7. 02/16 lukewarm
8. 02/16 SaitoAtsushi
9. 03/30 Roy
10. 03/25 lukewarm
1999 | 01 |
2000 | 01 |
2001 | 01 |
2002 | 01 |
2003 | 01 | 02 | 03 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2004 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 06 | 07 | 08 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 08 | 11 | 12 |
2012 | 03 | 04 | 06 | 07 | 08 | 09 | 12 |
2013 | 01 | 02 | 04 | 05 | 10 |
2014 | 03 |
2015 | 02 | 03 | 04 | 06 | 07 | 09 |
2016 | 03 |

LP-Project
分所
@lpproj (twilog)
ページビュー
498416