[x68k/okiadpcm 改め x68k/vs] okiadpcm ドライバが みのうらさんによって commit された。万歳。 でもってドライバの名前が vs に変わっていた。 voice synthesizer らしい。 中身は、MI/MD 分離がきれいに行なわれていて とても私には真似できないことになっていた。 そりゃ名前も変わるよ(笑)。
なんにしても、めでたいめでたい。 この辺 の vs.c 他。
[x68k/vs] ということで、早速 x68k 君をカーネルだけ -current に 上げてみることにする。 -current のソースは昨日のニュースを聞いた直後に 急いで update したのが i386 にあるから、FreeBSD で立ち上げ直して CD-RW に焼く。その CD-RW を x68k でマウントする...と思ったら ディスクが読めねえ..。そんなに古い CD-ROM ドライブでも ないと思うんだけどなあ。 仕方なく tar.gz し直してシリアルで転送。1時間半かかった。 展開して現在コンパイル中。まあ明日の朝には出来てるでしょう。
[i386] 先週だったかな。-current で unionfs 使うと死ぬっていうのが 修正されたという記事を NetBSD ML で読んだ。うちの i386 はサウンドカード 使うためにカーネルだけ 1.5T に上げてるんだけど、 昨日うちでもほんとにお亡くなりになったので、x68k も上げるついでに i386 の方も最新にしてみる。 こっちはあっさり出来上がる。起動して unionfs を使ってみる。 おお、いい感じ、なのかな。あんまり使い込んでないし どういう条件で落ちたのかを覚えてないのであんまり意味なし。 それにしても 1.5U くらいだろうと思ってたのに 1.5V だった。 このバージョン付けの方法って絶対間違ってるよなあと思う。 1.5ZZ までに 1.6 になるのかしら。 [MI] syslogd(8) のマニュアルに誤植を見つけて send-pr する。 FreeBSD にも同じ誤植があったので、そっちも send-pr する。 メールを取り込んでみるともう NetBSD のが close されていた。 相変わらず早い...。[x68k/vs] 朝起きたら com.c のコンパイルでこけていたので 修正して再びコンパイル。無事リンカまでたどり着いたと思ったら arp 関係のオブジェクトがコンパイルされてなくてエラーになる。 理由が分からないが if_arp.c がまったく仲間はずれにされていた。 さっぱり分からないので手で Makefile をいじって仲間にいれてあげる。 20時、無事コンパイル完了してリブートする。 NetBSD/x68k 1.5V の世界へようこそ。vs0 もちゃんと見えてるし。
って今気づいたけど dmac0 がメッセージ吐くようになったのね。 内部構造的にはこれはこれで正しいんだけど、 デバイスの親子関係が壊れたようでちょっと気持ち悪い。vs0 at intio0 addr 0xe92000 using DMA ch3 intr 0x6a and 0x6b dmac0: allocating ch 3 for vs. vs0: MSM6258V ADPCM voice synthesizer audio0 at vs0: half duplex
早速使ってみる。まず ADPCM の方だけど audioplay(1) に -P4 を 指定しなければならなくなった。というか、本来こうあるべきものなんだけど 私が作ってなかっただけ。なので audioplay(1) もコンパイルする 必要がある。コンパイルしてから聞いてみる。 うむ、よい感じ。 続いてまだ出来てない mulaw 形式の再生も無理と承知で やってみる。あら、随分聞こえ方が違う。つーかかなりいけてる。 まあソースがあれだけ跡形もなく変わっちゃあ無理もないか。 commit log 読んでると mulaw の再生もサポートしたらしいので 再び cvs update してコンパイル中。 まあ明日の朝には出来てるでしょう。昨日も書いた台詞だ...。
[MI/mozilla] mozilla がかなりよい。こんなによいものだとは 知らなかった。食わず嫌いなんでね。(^^;
[MI/xemacs] xemacs で Wnn で漢字入力が出来なーい。 どうやるんだろう。以前研究室で 1.5_ALPHA2/i386 使ってた時の メモの通りにやっても出来ない。 なぜ?...。
[x68k/SxSI] 部屋の模様替えで偶然 PRO-II が触りやすい 位置に来ていたので、この際なので MPU を MC68030 に載せ替える ことにする。作業工程はまたあとで別ページにでもまとめるとして、 PRO-II + Xellent30/25MHz でも無事 On-chip MMU の 68030 が 起動したようだ。FLOAT2.X を登録しようとして白帯が出たけど いいのかな。MMU 自体は動作しているから起動したことにしよう。 これで NetBSD/x68k の2台目が出来る。 ただし SCSI ボードを積んでいないので、まずは SxSI 入り カーネルを起動できてディスクをマウントできるまで ドライバ書かないと2台目が使えない。ほんとに大丈夫なんだろうか。 まあ、毎回最初はこんな無謀なことを...と思いながら 全部なんとなくこなしてきたから今度も大丈夫でしょう。 と安易に考える。素人ってこういう時に強いよね(笑)。
[i386/cross for x68k] めっちゃ速い i386 マシンで x68k 用の バイナリをクロスコンパイルしようというお話。 http://www.jp.netbsd.org/ に行けばありがたいことに日本語で書いてあるので、 割と悩まずに出来る。 共有ライブラリはどうたらとか注意書きがあってよく分からないので make world はとりあえずあきらめて、カーネルだけでも作ってみる。 うーん速い。さすが PentiumIII/1GHz だけのことはある。 68030/30MHz だと6時間かかるカーネルコンパイルが10分足らずだもんね。 しかし、出来たカーネルを x68k に移す手段がシリアルポートの ppp 経由 なもんで送るだけで5分以上もかかる。
[x68k/SxSI] さてシリアル経由で X68030 に持ってきたカーネルを フロッピーに書き込んで PRO-II で NetBSD 起動。と思ったら フロッピードライブに旨く書き込めない。派手なハイライトメッセージが 出るし、書き込み終ったと思われるカーネルのサイズは小さいし。 うーん、humanfs が悪いのかドライブが悪いのか。 SxSI よりも先に humanfs を -current に突っ込んでもらえるくらいに 整備したほうがいいかなあ。
NetBSD/x68k でフロッピードライブが使えないとなれば NetBSD/i386 から 直接 Human68k にカーネルをコピーしてみることを思いついた。 とりあえずシリアルケーブルでつないでみるが、音沙汰なし。 わけ分からん。通信って苦手なのよー(笑)。 Human68k に外付け 3.5inch FDD をつないでみるが読み込めず。 泣きっ面に蜂とはこういうことか。 あと考えられることは Human68k から ffs を読むドライバかアプリを 書くとか。(ぉ
結局始点の NetBSD/i386 から終点である 5inch フロッピーディスクまで カーネルを輸送することが出来ずにゴールデンウィークもタイムアウト...。
[x68k/vs] 会社でお昼休みに何気なく cvsweb を見てたら 先日 NetBSD/x68k ML に投げたパッチが commit されてた。 と思ったら全然めちゃくちゃになってるよぅ。 帰って時間があれば修正してみのうらさんにメールしなきゃ。
[x68k/cross on i386] ウェブを見回っていたら、i386 で m68k の クロスコンパイルをするツールがおいてある場所を発見した。 どうやら make world も出来るらしい。これは週末にでも試してみよう。 これで 1.5.1 のテストが出来るかな。
[x68k/vs] vs ドライバの query_encoding を修正して みのうらさんにメールする。
[i386/applications] FreeBSD に起動し直さなくても生活できる ようにしたーい。その1、Linux 用の RealPlayer8 を持ってきたら あっさり動いた。音も画像も出る。Linux エミュレーション万歳。 その2、FreeBSD 版の iNES は動かない。Linux 版の iNES は音が出ない。 駄目だなあ。まあ FreeBSD で FreeBSD バイナリの iNES 動かしてみたけど 音が変だったからオリジナルがいまいちなだけかも。 その3、xemacs で日本語入力がやっとできるようになった。 バイナリパッケージ使っちゃ駄目みたいね。 pkgsrc からやらないと Wnn 入り xemacs ができないらしい。 これでやっと NetBSD でメールが書ける。
あと、NetBSD で出来ないのは CD-R を焼くことと GIMP や gqmpeg の 日本語が化けることかなあ。後者は単なる設定ミスだと思うんだけど。
[x68k/vs] 録音が出来ないのと2回目の録音開始時に DMAC の エラーが出る原因を調べようと思ってるんだけど、エレガントに DMAC が絡んだソースが読めない。誰か dmac(9) とか書いて...。
[x68k/SxSI] あ、そう言えば、念願の(?) scsipi(9) っていう マニュアルが追加されてた。
[x68k/SxSI 改め hdc] Human68k から RTA50i に ppp した時にちゃんと DHCP のアドレスがもらえてることが判明したので、早速 hdc (の match と attach だけのやつ) 入りのカーネルを転送して フロッピーに落す。これだけのために1週間かかってやんの(笑)。 で、いよいよ MPU を 68030 に取り替えた X68000 PRO-II + Xellent30PRO で NetBSD/x68k カーネルを起動させてみる。 おおーっ、起動したー、すげー。しかもちゃんと hdc0 も見えてる。
だからここまでは誰でも出来るんだってば(笑)。hdc0 at intio0 addr 0xe96000 intr 0x62 using DMA ch1 intr 0x66 and 0x67 hdc0: SASI compatible Hard Disk Controller as SCSI Host Adapter
[x68k/hdc] Human68k で NetBSD/i386 マシンから NetBSD/x68k カーネルを 転送して起動するための専用フロッピーを作って、いよいよ本格的に実験開始。 とりあえず scsibus0 が attach されて、デバイス探しに行ったまま 返ってこないところ。つーか、scsipi(9) も SCSI もまったく分かってないんだから 先が思いやられる。
[Human68k/SLIP] そういえば、Human68k から RTA50i のシリアルポートに ppp できることが分かったので、Human68k 用の SLIP ドライバ書く理由が なくなったなあ。もう1台ある X68k は NetBSD/x68k が動いているので そいつはサーバである FreeBSD 相手に SLIP すれば いいわけだし。うーん、もはや Human68k 起動してる時間もないしなあ。 快く協力してくれた Human68k 版 ppp 作者の白方さん、ごめんなさい。
[MI/SLIP] Human68k が RTA50i に ppp 出来たので、 残るは NetBSD/x68k が FreeBSD と SLIP できるようにするのが課題。 とりあえず NetBSD/x68k と NetBSD/i386 の間で SLIP してみることにする。 RS-232C のクロスケーブルを電気屋さんでちらっと見てきたけど げろげろに高いのでやっぱり自作する。 X68k 側は 25pin、AT互換機側は 9pin なのだが D-sub 25pin のコネクタが手元になさげなのと 9pin → 25pin の変換コネクタは手元にあることから、 9pin - 9pin のクロスケーブルを作成することにする。 ウェブであちこち探したのだがいまいちよく分からんけど とりあえずこんな結線にする。
まずは不安なのでシリアルコンソールで実験してみる。 kermit の使いかたが未だによく分からんので困っていたが この辺 を見て解決。 キャリア検出がどうとかって言われてたし、NetBSD/x68k 側が ポーリングしまくってるみたいに負荷が上がってたので、 CD(Carrier Detect) であると思われる1番ピンが N.C. なのが まずいのかなあと思いつつも、 シリアルコンソールとしては使えたので良しとする。![]()
続いて この辺 を見ながら SLIP の設定をする。 っていうほどのことでもないのね。 シリアルコンソールにしても SLIP にしても 何が大変って、こういう素晴らしいドキュメントにたどり着くのが一番大変。 で、設定してみたんだけど、なぜかお互いパケットを投げるだけで 相手が返事しない。どちらから ping を打っても echo reply が返らないし telnet しても syn が飛ぶだけ。 どうなってんじゃ。
[MI/SLIP] と思ったけど、案の定、経路がないだけだった。 スタティック経路を追加して無事 SLIP 接続成功。万歳。
[x68k/1.5.1] 1.5.1_BETA を試そうと思って binary set を取ってきたのはいいけど、肝心の sysinst.fs を FD に書き込めない。 Human68k で rawrite.x 使うと書き込みしようとした途端に白帯が出るし、 NetBSD/x68k で dd 使って作った FD は起動できないし。 むう。どうすりゃええんじゃ。 うーん、間に合わないかなあ。
[x68k/vs] X68030 に 1.5.1_BETA をインストールしようと 思ったのに出来なかったので、何気なく vs ドライバをつつくことにする。 ほんとに気分屋な感じ。 2回目の録音の時に DMAC のエラーが出るのを x68k netbsd-develop ML に 報告する。 あとは、ダウンサンプリング(っていうんだっけ?)を実装して mp3 を聞きたいんだけど、これやろうと思うと今度こそマジで MI audio layer に reduce factor (仮名) を実装しないと いけないのかなあ。
[MI/cdrecord] お昼にパンを食べながら、port-i386 ML の アーカイブを読んでて cdrecord が ATAPI でも使えるらしいことを 発見。これは試してみなければ...。これで FreeBSD に立ち上げ直す 必要があるのは MPEG2 の再生をする時だけになるな。 つーか port-i386 ML にも入っておこう。
[x68k/1.5.1] sysinst.fs を FD に書き込めない問題だけど、 X68k ML で聞いたりしてるんだけど、どうにも進展なし。 ってゆーかうちじゃ出来ないのに他の人は出来てるんだから 進展しようがない。困ったなあ。
と思ってたけど、NetBSD x68k-users ML で西村さんから CD-R インストールも可能との返事を頂く。 ついでに 1.5.1_BETA2 の snapshot も出来上がったらしいので 明日あたり ftp.jp.netbsd.org にミラーされてたら ダウンロードして土曜日にでも挑戦しよう。
[MI/audiorecord] 木曜日から金曜日にかけて ラジオ番組を2本ほど録音している。ステレオコンポの 出力を NetBSD/i386 マシンのサウンドカードの LINE IN に 入れて at(1) で audiorecord(1) を駆動している。 だから木曜日はマシンを起動しっぱなしにしないといけなくて 寝る時うるさい。 FreeBSD が載ってるサーバは静かな(=遅い)マシンで 常時稼働させてるんだけど、FreeBSD でどうやったら 録音できるのかなあ。
[MI/cdrecord] cdrecord で ATAPI な CD-RW ドライブが 使えた。
万歳。cdrecord って SCSI 専用なことで有名(?)だと思ってたんだけど、 これって NetBSD 特有なのかなあ。cdrecord dev=/dev/cd0d speed=4 -data imagefile
[NetBSD vs FreeBSD] これで、(私が) FreeBSD で出来て NetBSD で出来ないことは MPEG1 動画のまともな再生と MPEG2 の再生、FORM での日本語入力、くらいかなあ。 NetBSD で出来て FreeBSD で出来ないことは NetBSD/m68k カーネルの クロスコンパイルとかか(笑)。
[x68k/1.5.1] インストール FD が使えないので、 西村さんに教えて頂いたように x68k/binary/sets 以下の X 以外のを ftp.jp.netbsd.org からとってきて CD-R に焼く。 うちの X68030 につなげてる CD-ROM ドライブは24倍速の割には CD-RW が読めなかったのでやむなく CD-R 1麻衣^H^H枚 消費しなければいけないのが悲しい。 X68030 を FD から Human68k 起動し、CD-R のディレクトリに移動して
すると NetBSD/x68k 1.5.1_BETA2 のカーネルが起動し、 NetBSD/i386 のような (MI の?) インストーラが起動した。 とりあえずここまでにしておいて、所用で外出。loadbsd.x netbsd
帰って来てメールを読むと FD が FORMAT /5 でフォーマットされてないんじゃ ないかというメールが来ていた。その通りだった。むう。 どこに書いてあったんだろう。 と思いつつ、FD ブートして CD インストールする。 この辺は MI なインストーラなので特には説明不要かと。 と思ったけど、どこにも NetBSD のインストール方法って 載ってないような気はするなあ。 まあ NetBSD が分かる人なら簡単なんだろうけど。 この思想が NetBSD ユーザのよくないところか...。
何気に ftp インストールを指定してみるがネットワークインタフェースが ないと言われた。SLIP 経由のネットワークインストールってのはなしなのか(笑)。 まあそれはそれとして、インストール自体は滞りなく終了。 1.5.1_BETA2 で起動してみるが、とりあえず問題なさげ。 人がコンパイルしたバイナリをインストールするってのは楽でいいね (この辺 参照)。
[x68k/rtclock] 随分前からだが、 どうも -current のカーネルを起動すると 時計が9時間進む。Human68k で見ると内蔵時計は間違っていないようだ。 コンセント抜いて数分ほったらかしといても 時刻は正確なので電池がなくなった訳でもない。 というか電池はこの正月に改造して取り替えたばかりなので あるとすれば電池と金具の接触が悪くなったことだろう。 とかいろいろ悩んだ末に NetBSD/x68k ML に相談すると みのうらさんがあっさりバグを修正してくれた。 ありがたや、ありがたや。
[x68k/vs] みのうらさんが何かしら修正してくれた おかげで vs ドライバでの録音時に DMAC のエラーは出なくなったが まだ録音自体は出来ない。さーてどうやって調べようかな(泣)。
と思ってデバッグ用の printf を (i386 上で) あちこちに入れてて、 ふと X68k を見るとテストで audiorecord を動かしたまま忘れてたので ^C する。するとなんと録音できているではないか。 そうかー、バッファリングされてから出力されるのね。 調べてみたところ20秒ほど経過しないとデータが書き出されないらしい。 もうちょいバッファサイズ減らしてもいいんじゃないかなあ。 それにしてもみのうらさんごめんなさい。[i386/cbb] うちのデジカメは OLYMPUS C-990 ZOOM なので SmartMedia を使う。とりあえず、おかんの Windows98 なノート PC で 使うために PCMCIA アダプタは買っているが、デジカメで写真とる たびにおかんの Windows を起動して PC カードを挿して、 しかも Windows98 なので祈らないと認識しないし、さらに LZH に 固めて無線LANでサーバまで持ってきてそれを UNIX 上で 展開するのはかなりうざったくてやってらんねーので、 NetBSD/i386 で PC カードを使いたーいというお話(長い...)。
PCを買う時に、5インチベイ用の PCMCIA アダプタも予定に入っていて そのために5インチベイが4つあるケースを選んでいたのだが、 世に出ている5インチベイ用の PCMCIA アダプタってのはすべて ISA バスらしいことを後から知った。うちのマザーボードは Gigabyte の GA-6OXE-1 なので ISA バスが一つもないのだ。 ああ、あほだ...。 PCI バス用の PCMCIA アダプタはすべて無線 LAN カードをデスクトップ PC で使うためのもので、無線 LAN カード以外での動作についての 記述がない。 使われているチップがいわゆる汎用の PCI-PCMCIA ブリッジチップで ボードを見る限りそれ以外のチップも載ってないから 大丈夫だろうという憶測が流れているだけだったりする。 うーむ、恐いよう。
と思っていたところ、会社にメルコの WLI-PCI-OP (WLI-PCM-L11 用の PCI バスアダプタ) が遊んでたので借りて帰って試してみる。 NetBSD ではこんな感じに見える。
無線LANカード(WLI-PCI-L11) を挿してみるが当然動く。cbb0 at pci2 dev 3 function 0: Ricoh 5C475 PCI-CardBus bridge (rev. 0x80) cbb0: interrupting at irq 5 cardslot0 at cbb0 slot 0 flags 0 cardbus0 at cardslot0: bus 0 device 0 cacheline 0x0, lattimer 0x20 pcmcia0 at cardslot0
次に今回の目的である SmartMedia の ATA アダプタを挿してみる。wi0 at pcmcia0 function 0: MELCO, WLI-PCM-L11, Version 01.01 wi0: 802.11 address 00:02:2d:xx:xx:xx wi0: using Lucent chip or unknown chip
と、ここまでは見えるがドライブの固有名が入ると思われる <> に 何も見えてないし、肝心の mount -t msdos が出来ない。 やっぱり PCMCIA アダプタって使えないのかなあ。wdc0 at pcmcia0 function 0 wd2 at wdc0 channel 0 drive 0: <> wd2: drive supports 1-sector PIO transfers, LBA addressing wd2: 8000 KB, 250 cyl, 4 head, 16 sec, 512 bytes/sect x 16000 sectors