31-Aug-2008
[移行するぞ。]

OpenBSD-4.2/amd64→OpenBSD-4.3/amd64へ。これに伴い、主力機の座はrougeからframboiseへ。この日記もframboise上から書いてる。10年近く働いたrouge、お疲れさま(名前だけ使い続けて中身は色々変わってるけどさ)。

もっとも、H8向けの開発環境(binutils, newlib, gcc, h8write), vche, epiconを突っ込む作業が残っているけど…これはゆるゆるとやるかな。

あと、マシンの状況を確認するために、dmesgを採取してみた。bsdの時と、bsd.mpの時の。CPUは4つ認識されているけど、メモリが3GBしか認識されていないようだ…残りの5GBは何処へ消えたかな。

libmikeosの途中経過。Makefile作って、それっぽい形にまとまりつつあるんだけど…ar86って、アーカイブに突っ込むファイル名が最大16文字なんですね。もちろん、フツーに16文字超えてますので警告メッセージが山のように出るんですが。

16文字超えた場合に何が起こるかというと、適当に切り捨てられるだけなので、切り捨てられた結果同士で衝突しなければまあぃぃゃ的な方向で進めるのが現実的かもしれません。

bccの扱える関数名は最大64文字らしい、ってのは調べたんだけど…ファイル名は盲点だったなあorz

朝:寝てた。昼:妻にお任せ(食パンを使ったピザ)。夕:白飯、納豆、焼魚、即席味噌汁。(22:45)

30-Aug-2008
[…]

ネットワークハブ(10BASE-T用)のLink LEDを見ていると、rougeだけリンクが切れたり切れなかったりという挙動をしていました…という訳で、3Comの3CSOHO100B-TXを外してNETGEARのFA311に換えたら解決。

まあ、3CSOHO100B-TXに載っている3C910って、3Comの皮被ったADMtekの石だからねえ…

インストールメモに従い、framboiseの環境整備を…と思ったら、なんか間違えてrougeの/usr/portsをmakeしていたという事実が発覚。激しくヘコむ。

それと、makeする時間が惜しいのも事実なので、OpenBSD-4.4以降はCD-ROMの世話になろうかな。バイナリパッケージ突っ込むのってあんまり好きじゃないけど便利だし、お金って形でもプロジェクトに貢献できるしね。

朝:寝てた。昼:茸スープとシリアル。夕:久々にかるび家にて。(23:05)

29-Aug-2008
[Veloci Raptorは高いので]

Caviar Blueで適当にお茶濁しました。\7kも出せば500Gってどんな時代なんですか。

Phenomマシンにはframboiseという名前を付けて、OpenBSD-4.3/amd64を入れることにしました。本当はOpenBSD-4.4を待ちたかったのですが…

ルータに付いてる100BASE-TXの口が足りないので、その辺に転がっていた10BASE-Tのハブ繋げてみたら、やたらとネットワークの動作が不安定になりましたorz

試しにdistributed.net clientを動かしてみたんですが…


$ ./dnetc

distributed.net client for OpenBSD Copyright 1997-2005, distributed.net
Please visit http://www.distributed.net/ for up-to-date contest information.


dnetc v2.9011-496-CFR-05060815 for OpenBSD (OpenBSD 4.3).
Please provide the *entire* version descriptor when submitting bug reports.
The distributed.net bug report pages are at http://www.distributed.net/bugs/
Using email address (distributed.net ID) 'uaa@bi.a.u-tokyo.ac.jp'

[Aug 28 14:22:07 UTC] Automatic processor detection found 4 processors.
[Aug 28 14:22:07 UTC] Loading crunchers with work...
[Aug 28 14:22:07 UTC] Automatic processor type detection did not
                      recognize the processor (tag: "7541:0F22")
[Aug 28 14:22:07 UTC] RC5-72: Running micro-bench to select fastest core...
[Aug 28 14:22:35 UTC] RC5-72: using core #1 (KBE-64 3-pipe).
[Aug 28 14:22:35 UTC] RC5-72 #a: Loaded CB:D40DC78A:00000000:1*2^32 (50.20% ...
[Aug 28 14:22:35 UTC] RC5-72 #b: Loaded CB:D40DC788:00000000:1*2^32 (50.80% ...
[Aug 28 14:22:35 UTC] RC5-72 #c: Loaded CB:D40DC786:00000000:1*2^32 (50.80% ...
[Aug 28 14:22:35 UTC] RC5-72 #d: Loaded CB:D40DC782:00000000:1*2^32 (50.90% ...
[Aug 28 14:22:35 UTC] RC5-72: 88 packets (88.00 stats units) remain in
                      buff-in.r72
                      Projected ideal time to completion: 0.03:01:52.00
[Aug 28 14:22:35 UTC] RC5-72: 0 packets are in buff-out.r72
[Aug 28 14:22:35 UTC] 4 crunchers ('a'-'d') have been started.
....10%.....20%.....30%.....40%.....50%.....60%.....70%.....80%.....90%....100
[Aug 28 14:30:09 UTC] RC5-72 #b: Completed CB:D40DC788:00000000 (1.00 stats ...
                      0.00:07:32.61 - [4,662,899 keys/s]
[Aug 28 14:30:09 UTC] RC5-72 #b: Loaded CB:D40DC78D:00000000:1*2^32
[Aug 28 14:30:09 UTC] RC5-72: Summary: 1 packet (1.00 stats units)
                      0.00:07:32.61 - [4,662,899 keys/s]
[Aug 28 14:30:09 UTC] RC5-72: 87 packets (87.00 stats units) remain in
                      buff-in.r72
                      Projected ideal time to completion: 0.02:59:48.00
[Aug 28 14:30:09 UTC] RC5-72: 1 packet (1.00 stats units) is in buff-out.r72
.....10%.....20%.....30%.....40%.....50%.....60%.....70%.....80%.....90%....100
[Aug 28 14:30:10 UTC] RC5-72 #c: Completed CB:D40DC786:00000000 (1.00 stats ...
                      0.00:07:34.92 - [4,637,873 keys/s]
[Aug 28 14:30:10 UTC] RC5-72 #c: Loaded CB:D40DC7A1:00000000:1*2^32
[Aug 28 14:30:10 UTC] RC5-72: Summary: 2 packets (2.00 stats units)
                      0.00:08:03.30 - [8,732,382 keys/s]
[Aug 28 14:30:10 UTC] RC5-72: 86 packets (86.00 stats units) remain in
                      buff-in.r72
                      Projected ideal time to completion: 0.02:57:44.00
[Aug 28 14:30:10 UTC] RC5-72: 2 packets (2.00 stats units) are in
                      buff-out.r72
.....10%.....20%.....30%.....40%.....50%.....60%.....70%.....80%.....90%....100
[Aug 28 14:30:11 UTC] RC5-72 #d: Completed CB:D40DC782:00000000 (1.00 stats ...
                      0.00:07:35.16 - [4,632,610 keys/s]
[Aug 28 14:30:11 UTC] RC5-72 #d: Loaded CB:D40DC7AF:00000000:1*2^32
[Aug 28 14:30:11 UTC] RC5-72: Summary: 3 packets (3.00 stats units)
                      0.00:08:04.35 - [13.07 Mkeys/s]
[Aug 28 14:30:11 UTC] RC5-72: 85 packets (85.00 stats units) remain in
                      buff-in.r72
                      Projected ideal time to completion: 0.02:55:40.00
[Aug 28 14:30:11 UTC] RC5-72: 3 packets (3.00 stats units) are in
                      buff-out.r72
.....10%.....20%.....30%.....40%.....50%.....60%.....70%.....80%.....90%....100
[Aug 28 14:30:19 UTC] RC5-72 #a: Completed CB:D40DC78A:00000000 (1.00 stats ...
                      0.00:07:43.43 - [4,612,503 keys/s]
[Aug 28 14:30:19 UTC] RC5-72 #a: Loaded CB:D40DC7B1:00000000:1*2^32
[Aug 28 14:30:19 UTC] RC5-72: Summary: 4 packets (4.00 stats units)
                      0.00:08:12.39 - [17.19 Mkeys/s]
[Aug 28 14:30:19 UTC] RC5-72: 84 packets (84.00 stats units) remain in
                      buff-in.r72
                      Projected ideal time to completion: 0.02:53:36.00
[Aug 28 14:30:19 UTC] RC5-72: 4 packets (4.00 stats units) are in
                      buff-out.r72

裏でImageMagickをmakeしている状況で取ったログなのでレートは低めなんだけど、rougeよりは明らかに高いんだよな。これがマルチコアの実力なのか…

朝昼:いつもの。夕:白飯、刺身、納豆、即席味噌汁。(23:45)

28-Aug-2008
[適当に32bit演算系を]

書き直してみる。比較関係、乗除算の類がよく分からなかったけど、とりあえず記述。

cmpもtstも32bitだからといって恐れることはなく、まあ素直に32bitレジスタを使って16bitと同じことすればいーじゃんという方向で。

とりあえず途中経過。これ全部デバッグするの辛そう…でもこれ全部動かないと話にならないし。

27-Aug-2008: 朝昼:いつもの。夕:野菜スープ、納豆、白飯。

28-Aug-2008: 朝昼:いつもの。夕:妻にお任せ(蕎麦、スーパーで買った惣菜、蒲鉾)。(21:05)

26-Aug-2008
[適当に32bit演算系を]

攻略してみる。比較関係、乗除算の類がよく分からないので、とりあえず放置。

cmpとtstの違いが分からん…特にフラグの挙動とか。8086マシン語秘伝の書片手にあれこれやってるんだけど、Intel® 64 and IA-32 Architectures Software Developer's Manual持ってこないと多分ダメかも。

それにしても、最近x86のアセンブラを触ることが妙に多いんですが、そのうち「x86検定」とか「IA-32検定」とかが出てくるんじゃないかって思うのは俺だけっすかね?っていうくらいこのアーキテクチャって命令数多いですね…

正直覚えきれないっすよ、命令数多すぎて。

朝昼:いつもの。夕:妻にお任せ(スーパーで買ってきた寿司、味噌汁)。(22:20)

25-Aug-2008
[APIを見直してみたんだけど]

int mikeos_get_via_serial(void)は、int mikeos_get_via_serial(unsigned char *data)に変更することにした。エラー時のステータスが-1(0xffff)で、データが0x00〜0xffってのが混在するのは流石にどうよ。

Comic Water飲んでみましたが…ミネラルウォーターですね。割と美味いかな?

24-Aug-2008: 朝:寝てた。昼:白飯、納豆、味噌汁。夕:白飯、納豆、味噌汁。

25-Aug-2008: 朝昼:いつもの。夕:白飯、ゴーヤと豚肉の炒め物。(22:30)

24-Aug-2008
[って訳でまた来年…]

すみません、初日のみの参加です。明日は居ません。

8部(見本込み)刷ったパンフ、何故か3部しか残っていません…っていうか見本はもっと分かりやすく「見本」と書くべきでした。間違えて見本を持っていった方、ごめんなさい。

適当に撮影した写真を、とりあえずざむざむ並べてみる。

timg230.jpg timg231.jpg timg233.jpg timg234.jpg timg235.jpg timg236.jpg timg239.jpg

「お土産に最適なんじゃね?」と言われたので(東京ビックサイト土産と書かれているし)、Comic Waterなるものを買ってみたのですが…まだ飲んでいないので味は不明です。

周波数カウンタのキットを買ってみたら実は誰かの作りかけだった(気付かずに買った俺のミス)とか、ぴかぴかの電鍵が手元に来ていたりするというのは、秘密にしておいてください。

多分、M0EDX AMATEUR RADIO CRAFTS AND DESIGNSにある、CT Asia hand key. Original edition.(CTASIAOR)だと思うんだけどな、アレは。

…飾るだけでなく、ちゃんと叩いてくださいって言われそうだ。

朝:コンビニのパンとおにぎり。昼:会場内でカレーライス。夕:夢庵にて来年に向けての打ち合わせ(?)。(24:55)

22-Aug-2008
[なんとか間に合いそう…]

説明用のパンフ(数部)他必要な荷物やら機材やらの荷作りは終了。

あとはしっかり寝て、会場に乗り込む予定。←物騒な。

朝昼:いつもの。夕:妻の実家にて。(23:50)

21-Aug-2008
[流石に手作業はきついよね。]

ついカッとなって手作業でやった。こういうものは機械的に生成しなきゃダメだと思っているのだが、まあとりあえず。

途中経過

あとは32bit系の計算部分を仕込んで、ヘッダ作って、きちんとしたMakefileを用意すればそれなりに体裁は整うはず。

もっとも、このまま使うのは非常に恐いのでテスト用のコードを作ったり、APIのスタイルを最終的にどうするかという問題も残ってるけど。

個人的に、I/OポートとMSRの操作、BIOSの直接呼び出しは追加しておきたいなあ。

19-Aug-2008: 朝昼:いつもの。夕:白飯、納豆、麻婆茄子(キット使用)。

20-Aug-2008: 朝昼:いつもの。夕:妻が買ってきたパン、惣菜。

21-Aug-2008: 朝昼:いつもの。夕:スーパーで買った弁当。(21:45)

18-Aug-2008
[むー]

ひょっとして、ld86用のcrt0.oを作成する場合、as86で作らないとダメか?

どうもNASMで作ったcrt0.oだと、"ld86: no start symbol"と怒られるんだが…..startも効かないし(これはOMF専用か?)。

とりあえず、これで根幹(crt0.o)から挿げ替えることができる…はず。動くかどうかは不明だけど(ぇ

朝昼:いつもの。夕:アジア風かけご飯らしきもの。(22:15)

17-Aug-2008
[本日休業。]

なんもやってません。日記に書けるネタがないくらいに。

朝:寝てた。昼:妻が作ったサラダ。夕:妻にお任せ(チヂミ)。(22:10)

16-Aug-2008
[アホウだねえ、俺。]

同窓会で羽目外して飲み過ぎて、二日酔い…この時間でもまだなんとなく気分が悪いような気がするお…。

たまには(たまには?)羽目外してもいいじゃないというのは、言い訳にしかならないんだけどさあ。

…なんかさあ、みんなイイ奴になってるじゃないか、とか、マジで思いましたよ。

15-Aug-2008: 朝:いつもの。昼:吉野家にて(三日目)。夕:橋本某所にて。

16-Aug-2008: 朝:寝てたというか倒れていたというか…。昼:妻が作ったサラダ。夕:白飯、納豆。(23:40)

14-Aug-2008
[libmikeos(仮称)]

31-Jul-2008のアレをもう少し発展させてみようかと。

とりあえず、

  1. 最低限の演算機能(char, int/short, long)
  2. MikeOSのAPI呼び出し

の二点を目標に。printf()だのmemcpy()だの、一般的なCライブラリについては今のところ考慮しない。あれば便利なのはわーってるけど。

で、16bitの演算はどうにかなるとして、32bitの演算が面倒そう。bx:axと[di+2]:[di]をとっ捕まえてごにょごにょなんだけど…ss != dsなので、[di+2]:[di]の扱いは要注意。実際のコード例で示すと、こんなのとか。

とりあえず、MikeOS本体が0x8000〜0xdfffの範囲にあるのと、spの初期値が0xf000という理由で、0x8000以上か未満かでss/dsを判定判定しようかな。

32bitレジスタ使って楽したいんだけど、流石にこれはダメな気がする(プロトタイプとして使うならともかく、16bit化するのが筋だろう)。

朝:いつもの。昼:今日も吉野家。夕:妻にお任せ(スパゲティ)。(20:50)

13-Aug-2008
[ハムフェア向けの展示物]

AKI-H8/3052LAN開発キットの上で某リアルタイムOS動かして、モールス符号練習器っぽいアプリケーションを動かすデモをやってみようかと思っています。

例によって初日だけ、いつものブースに居る予定です(予定なので、居ない可能性もあります)。

utkernel_source/kernel/usermainにあるソースのうち、こちらで作成したソースとバイナリはここに置いておきます。Makefile.usermain, inittask_def.c, inittask_def.hは、T-Engine ForumのCopyright表示が入っているためにここに置くことができませんが、置かなくてもどうにかなるはずです。

朝:いつもの。夕:吉野家にて(玉子屋さんはお盆休みです)。夕:餃子、機能の焼肉の残り、妻が作ったサラダ、白飯。(21:40)

ソースコードはかなりいい加減です。この手のコードは書き手の能力がモロに出てくるので、その程度の人間なんだねという認識は正しいと思います。

…看板降ろそうかなあ(21:50)

12-Aug-2008
[食事メモだけ]

11-Aug-2008: 朝:即席ラーメンとパン。昼:冷食ピラフ。夕:妻が買ってきた刺身、白飯。

12-Aug-2008: 朝昼:いつもの。夕:白飯、焼肉、炒めた野菜。(21:50)

10-Aug-2008
[あと2週間ばかり残っているんですが]

2年間使っていたKaspersky AntiVirus 6.0(だったと思う)を捨ててESET NOD32 AntiVirus 3.0(かもしれない)へ乗り換え。でも体験版。

http://www.eset.com/purchase/へ行くとNOD32アンチウイルスを\3,360で買っとくれって言われるんだが、どうも日本語版って信用できないんだよな…サポートちゃんと続けてくれんの?ってケース、色々経験してるし。

でもNOD32 AntiVirusの$39.99/1year, $58.99/2yearsという値段を見ると、日本語版にすっかあという気分にもなる。

…どっちがいいのかな。あと30日以内に考えるか。

bcc -ansi -v -Md -i int_test.c -o int_test.comアセンブル出力逆アセンブル結果

この辺の演算は特に難しくなさそうだけど…bccのライブラリってLGPLの下にあるっていうのが要注意事項なんだよな。別に丸写しするつもりは無いのだけど、どうやっても1〜2命令程度で済んじゃうような簡単な物(定石と言われてもおかしくないもの)の場合、どうするんだろうな。

「狩る権利」は存在しても、「狩られることを拒否する権利」は存在しない以上、可能な範囲で狩られないように回避するしかないんだけども…回避できないものは流石になあ。

…とりあえず祈っとくか?

消費者がやかましい、ね…まあソースがソース(英語版で嘘ニュース垂れ流したと言われるところ)である以上、煽ってる可能性は高そうだけど。でも他のソースでも同じこと言ってるみたいだから、それなりに精度は高い情報か?

真偽はともかく、聞き捨てならない台詞を聞いたことは、ここに記しておく。

もっとも、新聞上に実名載ってても、それが本当に実名かどうかってのは怪しいもんでね。単なる記号にしか見えないんだよなあ。

特に投書欄。あれってどこまで本当の意見なんだろうな。

朝:妻にお任せ(サラダ、トースト)。昼:特に食べていない。夕:白飯、納豆、豚肉とゴーヤの炒め物。

この季節はゴーヤが安くて、助かります。(22:25)

09-Aug-2008
[読み終わったので]

溜ってる作業をおっ始めてみようかと。

といっても範囲が広いので、どこから始めれば良いか見当が付いてません…

朝:寝てた。昼:妻にお任せ(サラダ、パン)。夕:パン、焼いたスペアリブ、炒めた野菜。(22:40)

08-Aug-2008
[残すところ]

図書館戦争/図書館内乱/図書館危機/図書館革命/別冊図書館戦争Iまでは片付けたので、あとは別冊図書館戦争IIだけ。

トータルの文章量、どれくらいあるんだろう…マリみてを最初からとりあえず十冊くらい一気にぶっ通して読んだ時よりキツいなーと思うのは文章量の違いなのか、季節のせいなのか、単に歳食って処理能力が低下しただけなのか。

…という訳で、残る一冊に取りかかりますかね。誰がどうしてどうなったかをざっと把握してからじっくり読み直すので、まずは目を通したいのですよ…

朝:パンと即席ラーメン。昼:出先近くのマクドナルドにて。夕:某回転寿司屋にて。

5年が経過して、今日から6年生(何が)。(21:15)

07-Aug-2008
[こうですか?わかりません><]

鉄不足 熱帯魚 カルマ トランス

…「寝不足」「熱帯夜」「ノルマ」「バカンス」って答えない人はお疲れじゃないんだそうです。

05-Aug-2008: 朝昼:いつもの。夕:妻にお任せ(白飯、焼き魚、サラダ)。

06-Aug-2008: 朝昼:いつもの。夕:納豆、白飯、野菜の炒め物、炒めた肉。

07-Aug-2008: 朝昼:いつもの。夕:妻にお任せ(サラダ、パン)。(21:20)

04-Aug-2008
[今更と言われそうですが]

図書館戦争が面白すぎて困ります。他にやらなきゃなんないことを投げ棄てるくらいにね。

…本の方ね。

大海戦終わったねーってことで、一人反省会。

スキルやら船やらの都合で今回はまったり支援系をやってたんですが、実は戦う以上に洋上支援って難しいのですよ。お気楽におっ始めていたので、「おめーの支援は薄いんじゃヴォケ!」と思った軍人さん、すみませんすみませんorz

とりあえずの雑感としては、

ポルトガル側では、有名どころの艦隊には補給専門艦隊が追尾していつでも支援を受けられるような状態になっていましたが…あれを組織できるだけの力、正直言って羨ましいです。

…という訳で、ポルトガル側にいる妻のキャラとのガチンコ勝負は回避しました(俺はイングランド側)。

ぃゃだってあっち普通に「PvP楽しいよね♪」とか言ってますから。マトモにやっても勝ち目無いですし。

04-Aug-2008: 朝:コンビニのパンとおにぎり。昼:玉子屋の弁当。夕:白飯、納豆、ゴーヤと豚肉の炒め物。

暑いからこれ以前はばっさり省略。スーパーの弁当を食べたり食べなかったりって感じ。(22:20)

01-Aug-2008
[組み立て途中のPhenomマシンのCPUクーラーがうるさいので]

さっくり交換してみました、ScytheのANDY SAMURAI MASTERに。これ、「庵出異」って旗を持った、甲冑着たにーちゃんが箱に描かれてるんだが…これはどうリアクションを返せば良いんだ?

これを選んだのは「Phenom対応」と書かれている物って意外に見つからない(「Socket AM2対応」は見かけるんだけど)という理由なんですが、ここまでデカくなくても大丈夫そうな気がします。12cmのファンが付いている以上、デカいのは当然なんですが…最近はこういうのが流行りなんですかねえ。

rougeに載っているAMD純正Socket754用CPUクーラーもなんとなくうるさい気がした&そろそろ壊れそうな予感ってことで、ThermaltakeのTR2-R1に交換です。純正品は固くて付け外しが難しいのに対し、TR2-R1はユルユルです…デスクトップケースならともかく、タワーケースではちょっと使いたくないかも。

Phenomマシンはともかく、rougeの騒音はあまり変わった気がしません…ってことは、他のファンが犯人かorz

あとはHDDを調達すれば組み立てが終わりなんですが、HDDどうしましょうかね。CPUが高速でも、コイツが遅ければ全然意味ないので。

…(Veloci)Raptorがいいのかな?

朝:寝てた。昼:代官山のMaison Paul Bocuseにて(ちょっと早いけど結婚記念日ってことで♪)。夕:パン、人参と鶏肉を炒めたもの。(22:30)