o キャッシュかなあ(外れぽい)。
この辺かなあ、と当たりをつけて printf を入れると……再現しなくなったりする(汗)。
o UTLB のクリアを address array でしていたのを data array にしてみたらリセットしなくなった。 違いがないように思えるんだがなぜだ…。
o VPN (virtual page number) や PPN (physical page number) が、data array 1 で指定するページサイズに alignment されていないとバグるような気がしてきた。
ちうか V (valid) が 0 でもダメゆーのは……え、仕様ですかそうですか。
o MMU まわりを(たぶん)直したし、つうわけで久しぶりに cvs update (←update すると症状が再現しなくなるのでできなかった)。 disk(9) まわりが変わった。マニュアル変わってないぞー。
o -Wno-uninitialized を外して出る warning を見て、問題そうなものを探したり。
o で、ドライバ書きに戻るか。…何やってたんだっけ(おーい)。
o in-core disklabel は disk_attach(9) が struct disk の中に作るらしい(場所だけ)。 ioctl まわりがなんやらややこしいな。
むむ、c パーティションしか open できない…。
o あう、デバイスファイルの major 番号が間違っていた(←アフォ)。
む、カードを挿しても iostat の表示に名前が出ないな…。 sysctl インタフェースが変わったからか。
o
fake disklabel を作ってみたり。あんまり意味は無いけど。
128KB しか無いのに BBSIZE
に 8KB も取られるのはもったいないな…。
o う、PPP 切れた。接続時間は79日。
o character と letter。一般的には、区別して使うときには、 漢字のような表意文字を character、 ローマ字のような表音文字(英語は表音文字だとは言い難いがそれは置いといて)を letter と言うことが多いような気がします。
o disklabel は c パーティションだけでいいか…。
disk_busy() と disk_unbusy() は splbio() で呼べ、らしいので適当にくるむ。
o
xxioctl() で知らんコマンドには EPASSTHROUGH
を返しておけばいいらしい。システムコールの返値としては
ENOTTY
に変換される。
o disklabel もでっち上げたし、FFS でも作ってみるか。 … newfs がなぜかデバイスを 2回 open() するらしく、lock にひっかかる(汗)。
o 0930発。寒(注: 自転車)。 カイシャのイベントのサクラ(なのか?)。とっとと逃亡したり(ぉぃ)。
o ついでに(遠いけど)上新に寄る。 Castle in the Sky (米国版ラピュタ)のサントラがあったので GET。 Bマガがあって、わりとくたびれていたが、特集が面白そうなので GET。
12時過ぎに帰ってきた。暑(注: 自転車)。
o 適当に build。時間かかるな…。 a.out でも /lib, /libexec な構成が使えるようにいじったり。
o Castle in the Sky を聞く。 「アメリカ映画は最初から最後まで音楽が鳴っているのが普通だから」 (CD ケースの中の紙(何ていうんだ)より) オリジナルで BGM なしの部分がかなり埋められているらしい。 わび、さびの概念は無いですか(←?)。
o コンパイラの出力とにらめっこしながら最適化…。あんまり変わらんな(笑)。SH だと mov.b や mov.w が符号拡張するので、短かい型は符号付きの方が効率良い …ことがあるようだ。
o light gun デバイスにも VM が挿せるスロットがあって、ひっくり返さずに挿すのか。 区別できるんかな…。
o ブロックデバイスの読み書き要求は大きいサイズのままで来るのか。 minphys() をかませる所が無いからそりゃそうか…。 ストラテジルーチン書き直しか(汗)。
o ちょこちょこ直しながら build。終わらん…。
o 割込みまわりエンバグしていたので直したり(汗)。
o ちょこちょこ変更しつつ build 終わらせて /etc をマージ。さて、更新するか。
o Lib 100 のカーネル&ユーザランド更新。動いてるな…。
o ドライバ書き直し。こんなもんかな。
Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/mmem0.0c 91 0 86 0% /mnt
容量が少なすぎるけど(苦笑)。
o テレビ 300台漂着。ガラスが重いから画面が下を向いているんだと思うが、手前の 1台だけ正面を向いているのが不自然だ(笑)。
o 細かいバグをたくさん修正。ふにゅ〜。
o ユーザランドを更新したら tar で --exclude が使えない…。ダメぢゃん。
o bind / resolver に修正が入ったので UPDATE 付きで build しなおすか。
o LCD ドライバがいまいちだが、まあいっかってことで(ぉぃ)えいやっと commit。
すかさず wizd(8) からマニュアル書けとのメイルが(汗)。
o マニュアル書き。面倒くさい…ちうか全部同じ文章になる(苦笑)。 内容ないし。
o 体温計を落として壊してもーた。がびーそ。外装は割れなかったけど。
o マニュアル(の skelton (ぉぃ))を commit。wizd(8) よろしく(ぉぃ)。
etc/mtree/NetBSD.dist, distrib/sets/lists, sys/dev/DEVNAMES, MAKEDEV(8) の他に何かいじるとこあったっけ?
ioctl まわりのヘッダをインストールするようにしないとなあ…。
o 早速 wizd(8) チェック(笑)。あ、lists/base/mi を忘れてたか。
o gw マシンのカーネル&ユーザランドを更新して再起動。 前起動したのは 2ヶ月以上前か。
むむ、時刻止まっちゃう病がまた…。
適当に再起動したりしたら直っちゃったりして…。
o 以前読者に頂いた、分岐なしの ffs(3) の実装を試す。 …力業で書いたコード(今のやつ)の方がどの場合にも速い。面白くない(苦笑)。
SH-4 でなくて SH-3 だと分岐がちょっと重いから速くなるかもなあ。
o config(8) で遊ぼう (1) を見ていて、ふと files.某 を見たら maxpartitions が合ってなかったのでこっそり修正。
config ... の行のデバイスの minor を計算するのに使うだけなので、 まあ今のところあんまり影響なかろう…。
後でパーティション数を拡張した port では増えた分は指定できない…んだろうな。
o むむ、libedit が謎なことしてるな…。
o アセンブリソースもらったのでふにふに。
o なんか帰ってきたら調子悪くてばったり。
o うーむ、なんで joy(4) って MD なんだ…。 今のところ全部同じインタフェースだけど、これじゃ 2軸、2ボタンしか扱えないしなあ。 Dreamcast は最大6軸、デジタルなボタンが最大16個あるから、 インタフェース考えないとね。
wsjoy てのがあったらいいねという意見はあるようだが、実装は無いらしい。
しかし ISA のジョイスティックって変なデバイスやな。時間で値を表わすのかよ。
o 15時前のバスで発。む、駅で ADSL の客寄せしてるな…。1617日本橋着。
DISCPIER で CD & ドリームキャストガン。 …無意味に割引券が増殖するんですが(苦笑)。 ザウルスで消費税入れて 208円のドリームキャストキーボード(US版)。
o いつもの場所で合流。天狗へ。virtual (事実上の) KNS (笑)。
.R FIRST 鬼 ■■■■■■■■■ げんじ 私 すぱ 魚
微妙にメニュー変わってるな…。 犬ざう買うしか、いやもるふぃーが(ない)。にせ Palm とか screen とか。 詳細はほかの参加者のにっき参照(しても最近は書いてないことが多い(笑))。
o ふと気付いたら 22時過ぎてたので離脱。最終コースで帰還。2345着。
o ドリームキャストガンの取説より:
本製品はテレビゲーム用としてのみ使用し、絶対に人に向けないでください。
本製品を人に向けた場合、向けられた人の自己防衛心から、 逆にお客様がけがをされる恐れがあり大変危険です。
撃たれますか(汗)。
これって VGA モニタで使えないんかな…。ソフトも買ってくるべきだったか。
o ドリームキャストガンは VM を正方向(スタンドアロンと同じ向き)に挿すのだが、 VM の DEVINFO や MINFO の内容は変わらないから区別できないな…。
あ、もしかして base デバイスの DEVINFO の connector direction てのが拡張スロットの向きって意味なんかな?
o 地域コードは、ドリームキャストガンはフリー、 US キーボードは北米(日本のソフトで使えるんか?)。
o ふと HP 9000/712/80 で 20020905 のカーネルを試してみる。 起動した。おおっ。
C180 でも試す。
panic: no kernel support for PA8000
こっちはだめか。
o KallistiOS 用の lightgun ドライバてのがあるな…。 KOS はライブラリとしてリンクして使うのが普通らしい。
o Sun の Ultra SCSI + Ethernet のコンボ PCI ボードを GET。 PCI-PCI ブリッジが DECchip 21152, SCSI が ISP1040B, それに STP2003QFP が PCI-EBus2 ブリッジ + Ethernet コントローラ(Happy Meal Ethernet)らしい。 PHY は DP83840。
どうやら SunSwift とか FreshChoice とか言うやつで、型番は X1032A らしい。
o むむ、hme ってやっぱり MAC アドレス持ってないんかな…。
ROM らしきものが 2つ載っていて FCode があるらしい。むむむ。
ちなみに NetBSD/alpha では hme at pci はコンパイル通らなかった…。
The Sun Adapters with local MAC addresses (machine access code) have addresses encoded in the Fcode Prom.
やっぱり FCode 読まないとダメなんかい。
1回休み。
o EBus の ROM 領域に FCode が入るっぽい。 FCode インタプリタが要るのかな…面倒くさいな(ぉぃ)。
o うーむ、LCD ドライバを書き直したいのだが、 physio() を使わないとそれはそれで面倒だ…。
o AS255/233 の時刻が 200日近くずれていたので ntpdate したら、 rlogin していた端末がハング(汗)。 console からはログインできたので inetd を再起動。
o struct uio をでっち上げればいいのかな? uio の中には iovec があるから、これもか。