/var/log/hdk.log

2010 年 7 月下旬


20 (火)

%1 WW

0xD6 わかんねぇ。AL=0 なのか?

「石狩」、 ふと気づくと、なぜか AREA 3 の CLEAR が 9 なのに AREA 4 の CLEAR が 2 に なっていた。 あれ? AREA 3 全部クリアしたはずなのに...

2010/07/20 のコメントを読む・書く


21 (水)

%1 暑い

関東のくせに熱帯夜が続く。 東京が昼間妙に暑いのは仕方ないとしても、夜まで暑いとなぁ...

というわけで、ここ数日は就寝時にもエアコンをつけているところ。 設定温度は 30 度。 実際には摂氏 28 度程度まで下がってしまうようだが。

2010/07/21 のコメントを読む・書く


22 (木)

%1 V30MZ の命令キュー

命令キューにたまっている機械語の長さを見るプログラムを作ってみた。 ほんとは PC の VRAM のようにバンク切り替えができれば、 ポート出力一発で一気に切り替えることができて、 簡単なのだが、バンク切り替えもできなくもないんだろうが、 とりあえずはただの RAM 上で、n バイト先に RET 命令を書き込んで 実際にその RET が実行されるかを確認する的なプログラムにした。

CALL 直後に STOSB で書き込む感じで 11 バイトと出た。(STOSB の後 11 バイト以内に書き込んだ機械語が無視された。) マニュアルによると 命令キューは 8 個 16 バイトだそうなので、 なかなか良い感じ? いや、CALL 直後なのにそんだけ読めているのはおかしい?

PUSH AX; POP AX 等をやってからだと結構少なくなったり、NOP を 入れていくと増えていったり。 当然メモリアクセスが絡めば命令フェッチを行う暇がなくなるわけだ。 しかし PUSH AX; DAA; POP AX を試すと 20 とか出たりして、 命令キュー 16 バイトよりも大きいというちょっと不思議な結果に。

%2 LSI C-86 for WonderWitch

ただでも WonderWitch はメモリモデルが特殊なのに、

というような微妙なバグがコンパイラーにあって、 使うときに気を遣わないといけないのであった。 昔 DOS で LSI C-86 試食版を使っていた時は、 メモリモデルが small (もしくはフリーソフトで追加した tiny) に 限られていたので問題にならなかっただけか? あるいは DOS の EXE ファイル形式の 機能でコード中にセグメントの値が埋め込まれていたとかかな?

まぁ WonderWitch 版は関数呼び出し規約が普通のスタック渡しになってたりして、 当然インラインアセンブリ使用時にも絡んでくるので、DOS 版の レジスター渡しのように便利には使えない。

%3 石狩

CLEAR 9 で次の AREA に進めるのか。 しかしどんどん難しくなってくるなぁ。 石が 1 個だけ残ってしまうパターンが多くて、 おそらく 1 本だけあると思われる正解の path をがんばって探す感じ。

2010/07/22 のコメントを読む・書く


23 (金)

%1 トトロ

何回見たんだろ...

%2 comment.cgi

CPU はそんなに食ってなかったけど、 どうもファイルの読み込みに時間がかかるようになってきたっぽいので、 コメント用 CGI を高速化した。 スパムのほうが圧倒的に多いってことがわかっているので、 正常なコメントを別ファイルにも重複させることによって、 読み取り処理を高速化。 正常な書き込み処理には今まで通りの探索時間がかかるけど、 スパムはそこまで突破してきてないからいいや。

2010/07/23 のコメントを読む・書く


24 (土)

%1 石狩

AREA 4 の STAGE 10 クリアするのに 1 時間以上かかった... ここまで難しいと、クリア方法を導き出すプログラムとか書きたくなってくるぞ。

%2 V30MZ

命令キューのやつ、試しにデータセグメント (SRAM 上) でも やってみた。WonderWitch の場合 SRAM のほうが読み取りに時間がかかるから、 キューにたまる量が減るんじゃないかと考えたのだが、 どういうわけか結果は変わらなかった...

DAA で 20 と出るのも相変わらず。 マニュアルによると DAA は 10 クロックかかるらしく、 しかもこれはメモリーアクセスする命令ではないので、 まるまる 10 サイクルの間命令フェッチができる状態なのだろうけど、 命令キューは 8 個 (16 バイト) のはずだし、SRAM 部分は読み取りに時間が かかるはずだし、どうなってるんだろう。

%3 電気屋

ScanSnap とかちょっとほしいよなー、なんて思って電気屋に行って見るも、 そんなもん置いてねぇ。 ヨドバシみたいなとこじゃないとないか。

IS01 のホットモックを発見して少々触った。 タッチパネルは静電容量式か。 ホーム画面からもう標準の Android とは全然別物だし、動きは軽快かつなめらかで、 設定とかのメニュー構成まで丁寧に調整されていてなんだか国産クオリティを感じる。 だがしかし、キーボードがあまりにもおもちゃっぽくて萎える。 わざわざこのどう見ても電話に見えないスタイルにしておきながら、 こんなちゃちなキーボードかよ... やっぱり IS02 に この中身 (Android) を載せてほしいよね。 それでも買う気はないけど。

ホットモックには電話番号が入っており通信も出来たので、 ホーム画面を差し替えておこうかと思ったが、 適当なホーム画面アプリを知らないのでやめておいた。

%4 花火大会の季節

今日は調布。 明日は府中競馬場。 再来週は多摩川競艇場。

2010/07/24 のコメントを読む・書く


25 (日)

%1 MINI

MINI のお店に行ってみた。 噂のアイドリングストップの話を聞きに。 どうやら聞いた話ではこうだ。

ふむ。 まぁ要するにかつてのミラ V やヴィッツ 1.0B エコパッケージみたいなもんだと 思うのだが、これを全グレードに標準装備してきたというのは大きい。 試乗はできそうではあったが、この季節エアコンとか入れるしエンジン冷えてると ストップしないからおもしろくないよ的な話だった。 まぁそんなわけなのだが、営業さんには素直に意見を伝えておいた。

まぁそんなわけなので、車が壊れたりしたら検討するかも知れないが、 しばらくは様子見。 他社がどう出てくるかだな。 いまんとこコンパクトカー MT に絞ると、 アイドリングストップとかハイブリッドとかの車種が他にないからねぇ。

%2 東京競馬場の花火大会

噂によると甲州街道から見えたりするらしいのだが、今年も観覧席まで行ってみた。 直前まで雷が鳴り、雨も少し降り出すなど、 天気が微妙だったが、なんとか決行された。 場合によっては中止 (延期はなし) の可能性もあったらしい。

花火

こっそり三脚を持って行って、人の間から撮影を試みたが、 やはり花火の撮影は難しいな。 何とか見れるのが撮れたのがこの 1 枚くらいだ。

2010/07/25 のコメントを読む・書く


26 (月)

%1 ふと思いついて

ノート PC の Debian GNU/Linux を testing (squeeze) にアップグレードする簡単なお仕事作業を始めてしまった。 前に職場の PC でやったことがあったので、 すんなり行くかと思いきや、aptitude upgrade が ノート PC のメモリー 512MB を食いつぶしてしまい、 スワップもない (SSD なので) ため困ったことに。 仕方なく、aptitude upgrade や aptitude install にちょっとずつパッケージを 指定しながらの半分手作業のアップグレード。 ある程度やったところで、 無事 aptitude upgrade が通るようになった。 めでたしめでたし。

%2 罠その 1

途中で udev のアップグレード時に、 先にカーネル更新しろよ云々と出て進まなくなったので、 いったん再起動。X が動かなかったので、コンソールで適用。 その後も面倒なのでコンソールで作業しようかと、 そのままアップグレードを再開し、 時間かかりそうなので ThinkPad の Fn+F3 で画面を消し......

あれ? SSD アクセスが止まってる。 終わったのかな、と画面を出すと、ATA のエラーがずらりと画面に出ていた。 アチャー。 壊れた?

その後、もう一度コンソールでやろうとして、Fn+F3 を押したらすぐに SSD への アクセスが止まってしまった。 あらららら。 もしかして 2.6.32 になって、APM の Fn+F3 と相性悪くなっちゃいましたか。

そんなわけで素直に X 上から、 と思ったらインストール状態が中途半端すぎて、 普通にログインはできなかった。 端末のみでログインし、アップグレード再開して、DPMS で画面の電源を落とす。 これで寝られる。

%3 罠その 2

今まで使えていた zd1211rw の無線 LAN (GW-US54GXS) が使えなくなってしまった。 ハード的に壊れたわけではなく、これも 2.6.32 の不具合な模様。 カーネルアップグレードで使えなくなるなんて、いい迷惑だぜ。

 usb 1-3: new high speed USB device using ehci_hcd and address 2
 usb 1-3: New USB device found, idVendor=2019, idProduct=5303
 usb 1-3: New USB device strings: Mfr=16, Product=32, SerialNumber=0
 usb 1-3: Product: PCI GW-US54GXS
 usb 1-3: Manufacturer: PCI
 usb 1-3: configuration #1 chosen from 1 choice
 cfg80211: Using static regulatory domain info
 cfg80211: Regulatory domain: US
  (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
  (2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm)
  (5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
  (5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
  (5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
  (5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
  (5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm)
 cfg80211: Calling CRDA for country: US
 usb 1-3: reset high speed USB device using ehci_hcd and address 2
 phy0: Selected rate control algorithm 'minstrel'
 zd1211rw 1-3:1.0: phy0
 usbcore: registered new interface driver zd1211rw
 usb 1-3: firmware: requesting zd1211/zd1211b_ub
 usb 1-3: firmware: requesting zd1211/zd1211b_uphr
 zd1211rw 1-3:1.0: firmware version 4725
 zd1211rw 1-3:1.0: zd1211b chip 2019:5303 v4810 high 00-90-cc AL2230_RF pa0 ---N-
 usb 1-3: firmware: requesting zd1211/zd1211b_ub
 usb 1-3: firmware: requesting zd1211/zd1211b_uphr
 usb 1-3: firmware: requesting zd1211/zd1211b_ub
 usb 1-3: firmware: requesting zd1211/zd1211b_uphr
 usb 1-3: USB control request for firmware upload failed. Error number -110
 usb 1-3: Could not upload firmware code uph. Error number -110
 zd1211rw 1-3:1.0: couldn't load firmware. Error number -110
 usb 1-3: USB disconnect, address 2

ちなみに、今までの 2.6.26 で正常に使えていた時のログは以下。

 zd1211rw 4-3:1.0: phy62
 usb 4-3: New USB device found, idVendor=2019, idProduct=5303
 usb 4-3: New USB device strings: Mfr=16, Product=32, SerialNumber=0
 usb 4-3: Product: PCI GW-US54GXS
 usb 4-3: Manufacturer: PCI
 firmware: requesting zd1211/zd1211b_ub
 firmware: requesting zd1211/zd1211b_uphr
 zd1211rw 4-3:1.0: firmware version 4725
 zd1211rw 4-3:1.0: zd1211b chip 2019:5303 v4810 high 00-90-cc AL2230_RF pa0 ---N-
 zd1211rw 4-3:1.0: Unrecognised regulatory domain: 0x49. Defaulting to FCC.
 ADDRCONF(NETDEV_UP): wlan0: link is not ready

元々 regulatory domain の問題はあって、2.6.18 の時には パッチを当てて対応していたのだが、2.6.26 になってこんな風にパッチ当てなくても 動くようにはなっていた。 が、2.6.32 でのこのトラブルは何がなんだか。

%4 良さそうなところ

起動が速い!! 今まで Pentium M 1.3GHz のせいで遅いのかと思っていたけど、 関係なかったようだ。

2010/07/26 のコメントを読む・書く


27 (火)

%1 Linux 2.6.32 (Debian squeeze)

無線 LAN 問題。 以下の修正により解決。 感覚的には 2.6.18 の時の問題の再発という感じだが、2.6.26 は 文句を言いながらも動いていただけであって、 本質的には 0x49 の件を誰もアップストリームに反映させていないのが原因。 そんな自分も他力本願。

diff -ur orig/zd_mac.c new/zd_mac.c
--- orig/zd_mac.c	2010-07-27 07:56:50.000000000 +0900
+++ new/zd_mac.c	2010-07-27 22:36:36.000000000 +0900
@@ -42,6 +42,7 @@
 	{ ZD_REGDOMAIN_ETSI, "DE" }, /* Generic ETSI, use most restrictive */
 	{ ZD_REGDOMAIN_JAPAN, "JP" },
 	{ ZD_REGDOMAIN_JAPAN_ADD, "JP" },
+	{ 0x49, "JP" },
 	{ ZD_REGDOMAIN_SPAIN, "ES" },
 	{ ZD_REGDOMAIN_FRANCE, "FR" },
 };

APM が使えない問題。2.6.26 の時の起動ログ:

 IBM machine detected. Enabling interrupts during APM calls.
 apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac)

2.6.32 の起動ログは以下。 馬鹿にしてんのか?

 IBM machine detected. Enabling interrupts during APM calls.
 apm: BIOS not found.

ACPI のサスペンド。2.6.26 の時は時々 resume に失敗して固まるという 感じだったが、2.6.32 では一度も resume に成功していない。 馬鹿にしてんのか?

しかし起動が速いのは救いではある。rc2.d の処理が 10 秒から 20 秒以内程度で 済んでしまうようで、劇的な改善。Windows で言うと 2000 から XP に なった時とか、Vista から 7 になった時のような衝撃。 まぁ 7 は速いマシンでしか動かしてないのでどうかわかんないけど、 速いマシンでも Ubuntu を 10.04 にしたら速くなったんだけど、あれと同じか。

%2 給油

先週の土曜日に給油していた。123 円/l。16.6km/l。

今週は 127 円/l 程度に値上がりしている。

2010/07/27 のコメントを読む・書く


28 (水)

%1 APM の件

馬鹿にしていたのは GRUB のほうだった。GRUB2 は Linux に 渡すべき APM BIOS 情報を渡す機能が実装されていないようだ。 そのせいで Linux は APM がないものと思いこまされていた。

しかし、APM でもサスペンドからの復帰時にフリーズ。 よくよく調べると、フリーズの原因はたこな radeon ドライバーであった。 やはりコンソールはテキスト画面が最高! ってなわけで radeon.modeset=0 で解決。

だが APM で Fn+F3 により ATA のアクセスが全滅してしまう症状はなおらず。 んー。

%2 ACPI の件

radeon.modeset=0 のおかげで ACPI のサスペンドが動くようになった。 ひとまず s2ram でも GNOME でもきれいにサスペンド・リジュームができており、 今まで GNOME とかのはうまく動いてなかったこともあって、期待できそう。

今まで時々復帰に失敗する症状が出ていたが、ThinkWiki によると CPU 動作周波数の 動的変更によって発生する場合があるっぽい。 また起こるようなら周波数固定化を検討する必要がある。

ACPI にすると冷却ファンがあまりにも回らない問題は相変わらず あるが、thinkfan というツールで温度を監視してファン制御するようにしてみた。 これ、パッケージが腐っているようで、 自動起動まわりは README.Debian に従ってもだめで、 自力でスクリプトを書く必要があるっぽい。

ACPI にするとちょっと CPU 温度が上がっただけで動作周波数が 1GHz 止まりに なってしまう問題。/etc/cpufreqd.conf の CPU Too Hot ルールに 当てはまる温度設定があまりにも低すぎた (わずか摂氏 50 度) のが原因。

2010/07/28 のコメントを読む・書く


29 (木)

%1 squeeze

職場のノート PC にも squeeze を入れてあるのだが、 起動してみたら、起動がうちのノート PC よりずいぶん遅い。 マシンスペック的には Core 2 Duo だから、 初代 Pentium M なんかより遙かに速いはずなのに... あ! もしかして HDD のせいか!

そんなわけで、いくら JMicron とはいっても、SSD の読み取り速度は、 起動の高速化にかなり貢献しているらしいことがわかった。 書き込みが絡むと急に遅くなっちゃうけどね... btrfs とか NILFS とかにでも しない限り、書き込みの遅さはどうにもならなそうな気がしている。

2010/07/29 のコメントを読む・書く


30 (金)

%1 調布市立図書館スゲー

「ザ・プロテクト II プログラム解読法入門」を、 お隣調布市の市立図書館で発見ッ!! 府中、八王子、三鷹の市立図書館や、 大学の図書館なんかで検索しても出てこなかったのに。

「おれは鉄兵」もあった。 マンガセットという形で、10 冊くらいずつにまとめられているため、 京王線沿線七市連携サービス利用者は借りることはできないのだが、 もちろん、館内で読むのは自由。 つくばの某食事処に 15 巻あたりまであったのを読んだものの、 続きがなくて読めていなくて、 もはや国立国会図書館にでも行かないと読めないのかなと思っていたのに、 意外なところで見つかった。

%2 というわけで

ザ・プロテクト II、今見ると結構間違ってるところとかあって、 信頼して良いものか怪しいところはあるが、 やはり、0xD6 も XLAT 命令と同じ「効果」(?) があるとの記述がある。 他にそんなこと書いてる資料を知らないので気になっていたんだが、 記憶は間違っていなかったようだ。

久しぶりに読んで思い出したが、MOV SS なんかの命令の場合次の命令まで 割り込み禁止 (シングルステップも次の命令が終わるまでなし) というのがあって、 それが他のセグメントレジスター操作でも起きるんじゃないのという話も あるんだった。 今のマニュアルには STI もそうだというのは書いてあるが、 他のセグメントレジスターについては書いていない。V30MZ で試してみよう。

2010/07/30 のコメントを読む・書く


31 (土)

%1 JOY SOUND

久々の JOY SOUND。 音はそこそこまともだし、何より多機能なのが楽しい。 録音機能というのを試した。 歌った後にそれを再生して聞ける。 それで自分の声を聞いて、うわっ、へたくそ、と思ったけど、 極端な音痴はなさそうだし、素人的にはこんなものかなと思い直した。 もっと声が出ればいいんだろうなぁ。

%2 花火

今日は昭和記念公園で花火大会ということだったが、 どう考えても電車は混雑するし、車も無理だろうから、 行くとしたら自転車しかなく、出遅れたので結局行かなかった。

が、近所から見れないかなとうろちょろ。 野川公園のあたりの、東八道路を渡る橋の上から、 小さく花火が開いているのが見えた。 しかしあまりにも小さいし、家とか木の陰になっているし、音も聞こえない。

あの木は浅間山 (せんげんやま) のだな、というわけで行ってみたのだが、 森のようになっているし何より真っ暗でとても中に入れる雰囲気ではない。 このあたり、静かなので花火の音だけは聞こえてくる。 浅間山ランニングコースを自転車で駆け抜け、反対側に回ったら案内板があり、 富士見百景などと書かれている場所もあって、それだ! と思って 階段を上ってはみたが、久しぶりに見る「闇」。 自転車のライトを持って行ったのに、ライトは闇に吸い込まれて何も見えない。 場所も多磨霊園に近く、肝試しには良いだろうが、肝試しに来たんじゃないんだよ...

そんなわけで、花火の音を聞きながら帰った。

%3 NILFS2

ノート PC の /usr パーティションを NILFS2 化してみるテスト。squeeze に したせいでアップデートが多く、reiserfs 上でアップデートをやっていると、 しょっちゅう SSD のプチフリが起きていまいちなので、NILFS2 化する ことにした。/usr なら、ホームディレクトリを移したくなっても、FreeBSD 風に シンボリックリンクを張ればなんとかなるだろうという考えもある。

reiserfs を縮めるのに時間がかかったが、NILFS2 自体は恐ろしく簡単に設定できた。 書き込みの速さは元の /usr を転送する時から実感できた。 起動が速くなったか遅くなったかはよくわからない。

reiserfs を縮める時に、CD ブートのためにウルトラベースをつけたら、 なんと、GNOME がうまく動かなくなってしまった。 どうやら CD/DVD-ROM ドライブに関連するバグがあるらしい。

Bug #481626 in devicekit-disks (Ubuntu): “devkit-disks-da, gvfs-gdu-volume and dbus-daemon have abnormally high CPU usage”

mv gvfs.mo gvfs.mo.orig でうまくいったが、 それってまたアップデートがあったら戻っちゃうんだよな。 面倒きわまりない。

2010/07/31 のコメントを読む・書く


Powered by Tomsoft Diary System 1.7.4

/var/log/hdk.log コメント一覧

トップ / 日記索引 / 日記 (2010 年 7 月下旬)

Hideki EIRAKU