某日記

(前期)

平成13年1月1日(月曜日)

初春

まったり。

初誤読

妹が欲しい

平成13年1月3日(水曜日)

昨日

何か薄暗い地下鉄の階段を上ると宴会してて、 (う)の人からイチゴ酒なるよくわからんものを振る舞われたら轟沈、 気づくと見知らぬ裸の女の人の柔らかいものに手のひらを乗せてる、 という洒落になってない初夢。

目が覚めると喉が痛い。風邪みたい。 あと、腰も痛い。腰はそろそろ病院行ったほうがよさそう…。

ふらふらしながら家族と初詣。秋葉と浅草寺と神田明神。 神田明神は袴ッ袴(はかまっこ)がいっぱいで、 ヲレ好みのちんまい袴ッ袴(はかまっこ)とかいて、風邪は吹き飛んだよ。

石丸ソフト 1 で、再版期限切れ CD 3 枚買うと 20% 引きとかやってたので 3 枚買った:

  • はらいそ / 細野晴臣 and The Yellow Magic Band
  • Stevie Wonder ベスト盤
  • カードキャプターさくら オリジナルサウンドトラック

帰宅。袴ッ袴(はかまっこ)神田明神のご利益は神田明神の 外では通用しないようで、バタンキュー。

今日

昨日の夕方から昼まで寝てたら、風邪は治ったが腰痛はひどくなった。

昨日買った CD を試聴。うーむ、カードキャプターさくらの曲は、 やっぱり鑑賞に耐えるのう。

NetBSD のこと

ユーザランドを 2000.12.31 な -current に入れ換えた。 libc がまだ localemod 対応してないので、 iso-2022 とかが全部リンクされた libc を作った。

んで、原稿書かなきゃいけないのだが、現実逃避にこんなものを書いてる途中:

umidi0 at uhub0 port 1 configuration 1 interface 0: YAMAHA Corp. UX256 MIDI I/F,
 rev 1.00/1.00, addr 2
umidi0: (YAMAHA MIDI I/F class)
umidi0: in=8, out=16
困ったことに、UX256 は interface descriptor が broken なので、 うまく MIDI Jack 数が取れなかったりする。 もともと YAMAHA の MIDI I/F は仕様を見ても quirky で、 「一見 USB MIDI Device によく似てるのだが、実は結構違う」 ものだったりするし、 実際 class ID は Vendor specific になってたりするのだが、 そういうわけでなかなか厄介。 この辺の quirk をどう扱うのか、ちょいと悩ましい。 もっとも、USB MIDI も、かなり undefined なところが多くて、 仕様書読んでても、「こんな仕様で一般性のあるデバドラ書けるかいっ」 とか思うので悩ましい限りなのだが。

まあ、とりあえず UX256 で動くもんを作って、 quirk の仕組みを作るんだろうな…。

スタイルシート

もう少しすると 、 スタイルシートどころか XHTML だらけになったりして :D

ベース

やっぱりというかなんというか、 Catch You Catch Me のベースをコピー(ちなみに簡単な部類)して、 それにも飽きたからスラップで弾いたりする。早朝に何やってるんだか。

しかしながら「Cmaj7→Eb/F→Bbmaj7」っていうコード進行を 聞いて血の騒がないフージョン野郎はいないのであった。 広瀬香美のメロディは、センスがいいんだか悪いんだかよくわからんのだけど、 強烈なのは確かだし、 常人が真似しようと思うと思いっきり下品になるので真似はできんのであった。

平成13年1月4日(木曜日)

悪魔本

4.3BSD の黒い奴はもはや英語版も日本語版も見つかりませんけど (うちの会社には両方あるが)、 4.4BSD 本ならアキバいけば腐るほど売ってます。

今日の NetBSD

ますます逃避に拍車がかかっているらしいぞ:


つーわけで、MIDI IN はできてますな :D

インチキ臭いが、MIDI OUT もできてるぞ:

hina% cat /dev/rmidi3 > /dev/rmidi4 & hexdump -C < /dev/rmidi5                ~
[1] 198
00000000  90 2d 1f 80 2d 40 90 2b  1e 80 2b 40 90 2d 2a 80  |.-..-@.+..+@.-*.|
00000010  2d 40 90 2f 21 80 2f 40  90 30 29 80 30 40 90 32  |-@./!./@.0).0@.2|
00000020  25 80 32 40 90 34 29 80  34 40 90 2d 2b 80 2d 40  |%.2@.4).4@.-+.-@|
hina%

ちなみに、MIDI4(rmidi3)の in に Trinity つないで、 MIDI5(rmidi4)の out と MIDI6(rmidi5) の in をつないだ状態で 適当に鍵盤叩いたアルヨ。

平成13年1月5日(金曜日)

cmpci

それは NetBSD の cmpci のリファレンスカードでござる :D 。 単にあのデバドラ書いた当時にヲレマシンに刺さってたってだけだが。 音が小さいのは、デフォルトのミキサー値を低めに設定してあるからかも。 mixerctl -w outputs.dac=255 とかするとよさげ。

umidi

つーわけで活線挿抜にも対応。 最近の current に対するパッチ。 UX256 以外では動く保証はありません :D

TODO:

  • 構造体などの整頓
  • インチキくさい Bulk Out の書き直し
  • Class Specific Endpoint Descriptor をちゃんと読むようにする
  • YAMAHA quirk をきれいにする
  • MI midi の detach で、sequencer にちゃんと対応する

…やっぱり「正しい」USB MIDI I/F 必要だな…

妹のブラは

お兄ちゃんの手ブラ(←…)。

平成13年1月6日(土曜日)

夕方

トライゼノンを見る。一番まともなキャラが犬なのはいかがなものか。

G ゾイド(←…)を見る。あかりゾイドはごっつい熊です(謎大嘘)。

cmpci

NetBSD では CMI8x38 の joy と MIDI は使えませんので念のため 。 たぶんデュアルブートしてて Win で joystick 使ってるという話だと思うが。 このへんは NetBSD のもつ美しいバスアーキテクチャゆえ、 実装自体は mpu/joy バックエンドへのバスインターフェース 用意するだけだから非常に簡単なのだが、 オレ使わんしテストもできんから実装してないのだ。

NetBSD/DC

某 ML ネタ。私としては GD-ROM を読めるかどうかよりも、 「IPL のシグネチャをパクらないとブートできない」 あたりの方が深刻なグレーさを持ってる気がする。

個人的には、いいかげんゲームマシンの仕様なんて オープンにしちまえばいいのに、とか思うが。 どーせ、海賊版の一番大きな生産地であるところの東アジア方面では オープンだろうがクローズだろうが八方手を尽くして 容赦なく調べちゃうんだから関係ない。 オープンにすることによって違法コピーの技術的障壁が低下しても、 闇ブローカーの違法コピー大量生産に比べれば大した被害増加はないと思うけど。

平成13年1月8日(月曜日)

割烹着とエプロン

給食割烹着の帽子だけ、ってのはどでせう?

妹は入浴時のスク水の着用義務化へ? 森首相が政府諮問機関に提言

ベース

思わず「さくらのテーマ(II)」なんぞをコピーしてしまう。 コードは多少変態入ってるが、まあ譜を取るのはたやすい。 ブリッジの Emaj7 での 4 弦開放 → G# へのスライドがかっちょええよなぁ。 音域は四弦で足りるんだけど、グリスの感じからして、 五弦ベースで弾いてるんじゃないかって気もするが四弦で挑戦。 でも、えせベーシストでツーフィンガーの基本ができてないオレとしては、 ソンゴのベースラインは指がもたってしょうがない。 いろんなスピードで弾くといい訓練になるぞ。 最後のユニゾンは、左手開放と右手のコンビネーションがうまくゆかん。

原稿

白紙だったりして(苦笑)。水曜有給とって書かんとな。

平成13年1月9日(火曜日)

会社

ひさびさに会社。まあぼちぼちと。

某氏(←某になってない)

何か最近ニュースでも ML でも「Neco」ではなくて ひらがなで本名名乗ってるので聞いてみたら、 「Neco」は 20 世紀に置いてきたらしいぞ :D

NetBSD/DC

cool!

それはちょっと誤解を生む表現のような 。 SEGA of America のスタッフの一人 (とはいえ「開発テクニカルサポート部門のマネージャ」なのでそれなりの 地位の人)が(非公式ながら)関心を寄せている、という話ですね。

Game Console 向けの NetBSD のキラーポイントは、 「IPv6」と「BSD ライセンス」ですな。もう一つ。「SCE は Linux だ :-)」

体操着

体操着はにゃ〜ん (←バカ)。

ところで、「普通の帽子」ってどういうのだろ。 私の家の前にある小学校では、 たしかナイトキャップみたいな形状(ただし布製)だったが。 もちろん覗いて見たわけじゃなくて、 「はるか昔の話」ですが :D

うーむ

まったりしつつ、5th draft of XBD/6 and XSI/6 のダウンロードをしたり、 某 ss さん and 某氏送別会の申し込みとか。

XHTML

そうえば忘れていたが、 void 氏のそのページの 「HTML から xhtml への移行」はいまひとつ。 せっかくなら XHTML 1.0 の 「Appendix C. HTML Compatibility Guidelines」に触れてほしかったところ。

strftime

あう、何か mew でメール出すと Date に 「(火) , 09 1 2001 18:36:16 +0900 (JST)」 とか入るので調べたら、XPG4DL のせいだった。 mew 的には system-time-locale を設定してるつもりになってるのだけれど、 少なくとも emacs-20.6 ではソース grep してもそんなものないぞ。

そもそも LANG=ja_JP.eucJP とか設定してる時点で敗北なので、 LC_CTYPE=ja_JP.eucJP に修正。

mididev の話

NetBSD の mididev はOSS のまねっこなんだが、 いろんな意味で今ひとつなんだな。 例の umidi デバイスの probe でも、midi0 から midi15 まで ボロボロと生えちゃうのはダサいから、 サブデバイスみたいなものがあったほうがいい。 それに、MIDI IN と MIDI OUT は別々にしたほうがいい。

で、前者を解決するのはさほど難しくない。今は minor 8bit を フルに使って midi0 〜 midi255 まで用意できるようになってるけど、 これを 4bit+4bit に分割する。 で、デバイスノードは /dev/rmidi0.0, ... , /dev/rmidi0.15, /dev/rmidi1.0 ... とかしておいて、後方互換性のために、 /dev/rmidi? を /dev/rmidi?.0 へと symlink すればおっけー。 下位 4bit をメインデバイス番号、上位をサブデバイス番号にしておいて、 従来の midibus のインターフェース(midi_attach_mi) で attach された場合は /dev/rmidi?.0 に 振るようにすれば、現在使用中の MIDI デバイスが 16 個までなら MAKEDEV しなおす必要も、mpu その他のデバドラを変更する必要もない。 もちろん、umidi みたいな潜在的なマルチポート MIDI デバイスへは、 あたらしい MI attach ルーチン(たとえば midi_attach_mi_multiport ?)を 用意する。

問題は後者だな。私としては、新しいメジャーデバイス作って しきりなおすべきだと思う。minor を 4+3+1 に分割して、 /dev/midiin0.0 ... /dev/midi0.16, ... /dev/midiout0.0 ... /dev/midiout0.16 なんてする。で、従来の OSS ドライバのために、 muxmidi デバイスと muxmidictl コマンドを用意して、 任意の midiin と midiout の組み合わせを任意の /dev/rmidi?.? へと振れるようにするわけね。

この辺のアイディアは Jigoku 氏の助言も大きい。感謝。 原稿書きおわったら取り掛かってみよう。

ただ、個人的には、NetBSD パッチベイ化計画が最終的な野望なんだよな。 loopback mididev とか作って userland で処理できるようにすると、 ソフトウェア MIDI アプリでも使えてうれしいかもしれない。

補足。8bit なのは major でした。minor は 8+12 = 20bit 。 従ってはるかに余裕がある。なお、今の mididev は 8bit しかデコードしてない。 12bit でやりくりすれば、新しく major number を割り当てる必要もないかな。

ああん、さらにボケボケ。major は 12bit やんけ。

明日

有給取得。

maruch

日本語にはさほど違和感は感じなかったが 、 クリッカブルマップのリンク先のファイル名が maruch3.html なのに脱力。 maruch って…。ドイツ語風に「まるひ」とか。

平成13年1月10日(水曜日)

原稿

会社サボって有給を取って\ ふにふにと手ブラ原稿書き。

NetBSD/DC

私は 、 そこの can を「可能性」として読みました。つまり、 「原理的に、SEGA が NetBSD を公式のゲームに利用することもできるよな。 なんてっても BSD ライセンスだからね。BSD ライセンスバンザイ」 ってことですね。好意的に解釈すれば別ですが、私には この人の個人的見解を超えてるようには見えませんでした。 この人はそれなりの地位だ、というところに期待しつつ、 でも SEGA of America は所詮現地の出店(でみせ)だし 過度な期待は禁物かな、という感じ。