昼頃起床。そして休出。
TV観たり、ちょこーりppcsimをいじったり。
gdbでPSIM関連ヘルプを眺めていたら、Linuxのシステムコールエミュレーション
が一応できる事になっているようだったので、
以前コンパイルしたLinuxネイティブ
のglibをリンクして実行ファイルを生成してみる事にしました。結果NG。
IJGのcjpegをmakeしてみたのですがリンクで見つからない関数があるようで
ダメでした。
jpeg-6b% /usr/local/ppctools/bin/powerpc-linux-ld -o cjpeg -L/usr/local/ppctools/powerpc-linux/lib cjpeg.o rdppm.o rdgif.o rdtarga.o rdrle.o rdbmp.o rdswitch.o cdjpeg.o libjpeg.a -lc_p /usr/local/ppctools/lib/gcc-lib/powerpc-linux/2.95.2/libgcc.a -lnsl_p /usr/local/ppctools/bin/powerpc-linux-ld: warning: cannot find entry symbol _start; defaulting to 10000080 /usr/local/ppctools/powerpc-linux/lib/libc_p.a(dl-runtime.op): In function `fixup': /cygdrive/c/tane/develop/linux-kernel/glibc-2.2.2/elf/dl-runtime.c:124: undefined reference to `profile_fixup' /cygdrive/c/tane/develop/linux-kernel/glibc-2.2.2/elf/dl-runtime.c:124: relocation truncated to fit: R_PPC_LOCAL24PC profile_fixup
日付け越え。
先日の続き。
text書き換えでSegFaultになる件を書き込み禁止領域になっている
のではなかろうかと推測。objdumpでカーネル実行ファイルのヘッダ情報を
見てみた所、
vmlinux: file format elf32-powerpc vmlinux architecture: powerpc:common, flags 0x00000112: EXEC_P, HAS_SYMS, D_PAGED start address 0xc0000000 Program Header: LOAD off 0x00010000 vaddr 0xc0000000 paddr 0xc0000000 align 2**16 filesz 0x00120be0 memsz 0x0014ec4c flags rwx Sections: Idx Name Size VMA LMA File off Algn 0 .text 0009bd58 c0000000 c0000000 00010000 2**5 CONTENTS, ALLOC, LOAD, READONLY, CODE 1 .text.exit 000003c8 c009bd58 c009bd58 000abd58 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE 2 .rodata 00010004 c009c120 c009c120 000ac120 2**4 CONTENTS, ALLOC, LOAD, READONLY, DATA 3 .kstrtab 000074b8 c00ac124 c00ac124 000bc124 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 4 .data 0001ef40 c00b4000 c00b4000 000c4000 2**4 CONTENTS, ALLOC, LOAD, DATA <以下略>
日付け越え前に帰着。
何気にWeb検索をかけていると、
NetBSD/bebox porting noteなるページを見つけました。
どうやら、PSIM上ではNetBSDを動かすことができるらしい。
前にLinuxカーネルを試しに動かしたときはダメだったのですが、
なんでダメなのだったっけ?............
ちょこーり思い出し。gdbは5.2でtargetにpowerpcを指定。
linuxカーネルは2.4.19をサポートデバイス外しまくりで
make config,makeしたもの。
.gdbinitに
linux-2.4.19% cat .gdbinit target sim -m 603e load
linux-2.4.19% ./gdb.exe --quiet vmlinux (no debugging symbols found)...Connected to the simulator. (gdb) run Starting program: /cygdrive/c/tane/develop/linux-kernel/linux-2.4.19/vmlinux cpu 1, cia 0xc00083fc: program interrupt - privileged instruction Program terminated with signal ?, Unknown signal. The program no longer exists. [Switching to process 0] (gdb) x/i 0xc00083fc 0xc00083fc <identify_cpu+8>: mfpvr r7
linux-2.4.19% ./gdb.exe --quiet xlinu (no debugging symbols found)...Connected to the simulator. (gdb) run Starting program: /cygdrive/c/tane/develop/linux-kernel/linux-2.4.19/xlinu Program terminated with signal SIGSEGV, Segmentation fault. The program no longer exists. [Switching to process 0] (gdb) where #0 0xc0008498 in do_cpu_ftr_fixups () #1 0xc00dafb8 in early_init () #2 0xc0000028 in __start () (gdb) x/i 0xc0008498 0xc0008498 <do_cpu_ftr_fixups+100>: stw r0,0(r8) (gdb) info registers r8 r8 0xc0000064 -1073741724 (gdb) info registers r0 r0 0x60000000 1610612736
うぃー。本日休業。夏バテ気味か体調が良くありません(x_x)
TVでやってた復顔の話。元々、頭蓋骨に肉付けを行って白骨化した
死体から身元を割り出す技術ということですが、20年前の写真を
元に現在の顔を作り出すという応用技術により、逃走犯人を捜査
するというのをやってました。これがスゴイのって。精神状態
なども想像しながら作ったその顔が、あまりにも酷似していたのに
ビックリ。今も連載しているか知りませんが、昔スーパージャンプ
で本物を作る贋作師のマンガが連載されていましたが、例えば
絵の贋作を作る場合、その作家のその作品を描く時の精神状態に
なって絵を描く......みたいなマンガのような(マンガですが)物語
がありました。でも今日見た復顔の話はまさにそれを実際にやって
いるくらいの勢いだったのに驚きました。
久々にppcsim-0.90をリリースしました。0.8xシリーズとはシミュレートメモリ
モデルにおけるセグメントサイズが異なっているという大きな違いが
ありますが、execコマンドでバイナリシミュレートする分には関係
無いかも。御参考まで。
日付け越え。
マルチリンガルと言えばとtcshのソースを眺めてみました。
NLS(Native Language System)と呼ばれる一連のメッセージすり替え
マクロが用意されているようです。nlsの下に各種言語バージョン
のメッセージファイルが用意されていますが、メッセージと番号が
ハードコーディングされているようで、最初から対応というよりは、
もう変更が殆ど無いというのに合わせて作りこまれたという感じが
漂っているように思えたのですがどうなんでしょ?
先日の後遺症で猛烈に眠くなってきた。
日付け越え少し前に帰着。
メッセージ表示のマルチリンガル化の方法を考えてみたり。
単純にエラーチェックとメッセージ出力を行う場合だと、
fp=fopen(fname,"wb") ; if( fp==NULL ){ fprintf(stderr,"Can not open file.\n") ; return( FILE_OPEN_ERR ) ; }
昼頃起床。ぐったり気味。
何気に、可変長引き数をマクロで受け渡す方法について調べてみたり。
以前調べた時はイマイチ良い感じの資料がみつからなくて、うまくやる
方法が無いのかと思ったのですが、最近は
こんな感じのプリプロセッサ仕様があるようで、早速使ってみた
所イイ感じになりました。
#define DEBUG(fmt,...) printf(fmt,__VA_ARGS__)
#define SYSMSG(fmt, ...) printf(fmt,__VA_ARGS__) int main() { SYSMSG("Macro test.\n") ; exit(0) ; }
test% gcc -E test.c # 1 "test.c" int main() { printf( "Macro test.\n" , ) ; exit(0) ; }
#define SYSMSG(...) printf(__VA_ARGS__) int main() { SYSMSG("Macro test.\n") ; exit(0) ; }
昼頃起床。力尽き気味。
Webを眺めたり、TVを観たりでぐったり気味。
買い物にお出かけ。途中でゲーム屋さんに寄ったところ、閑散としたDC
ソフト売り場に「斑鳩 9/5発売」の札が妙に沢山並んでたりして。
そういや、なんだかよく判りませんが、DCは地味にギャルゲーが出つづけている
らしい。なんで?
久々にppcsimを使ってみたり。メモリダンプ機能に不具合があったのを
修正してみたり。
何故か深夜の映画で逮捕しちゃうぞとかやってたので観たり。
ずっと前にTVでやってたのを観たことありましたが、忘れてる所だらけ
だったり(^^; 結構むちゃな感じの設定が散りばめられているように思
うのですが、まぁ。
日付け越え。
帰ってからふにゃふにゃとコーディングしたり。
深夜の番組で打ち上げ花火を作っていた。レポーターが自らの手で
作っていたので、危険物取り扱い免許がいらない
のかしら?と思いつつ見ていました。いわゆる「星」をハート型に並べて
ハート型に開く花火を作ったのですが、これが思いのほかうまく
行ったのに驚いた。
もう一つ別の深夜番組でD's garageの夏の特番で、XBoxで発売予定で
ある所の「鉄騎」だけで番組を作っていた。御存知の方も多いと思われます
が、ロボットシミュレータとでもいうべきこのゲーム、なによりも
コントローラが派手にデカい。とにかくデカい。ゲーム中に一回しか
使わないようなボタンまでわざわざ付けたというこだわりよう。
ここまでやるとむしろ爽快にも思えます。
洋ゲーのフライトシミュレータ用なんかだとこんな感じのはありそうなの
ですが、よもや日本のゲームでこんなのを出してくるとは思いません
でしたよ。番組中、緊張感が出るようなリアリティを追求している
事を言ってました。ゲーム中に敵にやられても、脱出ボタンを押す事
で脱出可能ということなのですが、この脱出に失敗するとセーブすら
されないらしいです。違った意味での緊張感というのが、昔のゲーム
を彷彿させるような気がしますが、かなりマニアックな匂いの漂う
このゲーム、どのような評価を受けるのか注目したいところです。
本日休業。
先日のmakeはfork()失敗で結局死んでいたり。再度makeを実行すると、
libgccのmakeで無限ループを始めたので停止。そのままmake install
したところ、最後はC++ライブラリのinstallで死亡。
取りあえず使える様なので、Altivecコードの出力テスト。一応、
3.2から正式に対応が行われるという予定だったので、特に指定
無しで使えるのかと思ったのですが、どうやらオプションを指定
しないと、
前に起こったinternal errorになるみたい。
vector% cat vec_test.c #include <altivec.h> vector int vad(vector int a, vector int b) { return( vec_add(a,b) ) ; } vector% powerpc-powerx-elf-gcc -maltivec -mabi=altivec -O3 -S vec_test.c vector% cat vec_test.s .file "vec_test.c" .section ".text" .align 2 .globl vad .type vad,@function vad: mfvrsave 4 stwu 1,-32(1) oris 3,4,0xc7ff ori 0,3,61440 stw 4,28(1) mtvrsave 0 lwz 0,28(1) vadduwm 2,2,3 mtvrsave 0 addi 1,1,32 blr .Lfe1: .size vad,.Lfe1-vad .ident "GCC: (GNU) 3.2"
日付け越え少し前に帰着。
gcc-3.2のppcクロスgccをmakeしてみる。make終らず。
眠くて死亡。
日付け越え少し前に帰着。
ちょこりコード書き最中に瞬間停電。scandisk走行。何もできず。
ちょびっつ観たり。人と見分けがつかないくらい精巧にできたアンドロイド
(パソコン)のくせにHDDが壊れてデータが飛んでしまうというのは
なんとも寂しいテクノロジだなぁと思ってみたり。
でも実際のところ、いつの時代になってもこういうものなのかも知れません。
「住所録以外のデータは移せません。全て消去ですぅ。」みたいな。
そういや前の話で、パスワードを設定する話がありましたが、
顔見て誰だかわかるくらいの認識テクノロジを搭載していながら、
パスワードはただの文字列(音声認識)、しかも数字だけだと跳ねられる
というのが、いきなりローテクっぽくて笑えたのを思い出した。
日付け越え少し前に帰着。
何気にTBSのワンダフルを見ていて、サンタクロースのイメージ
(白ヒゲの赤いコートを羽織ったじじい)はコカ・コーラ(の広告)が作った
(それまでは妖精だとか統一されたイメージは無かったらしい)
とか、マウスの感度の単位をミッキーって言う(大きいほど感度が良い)
だとか、初めて知った。
通勤で通っている道沿いの塀に「にわとりを置いていかないでください」
と書かれた看板がぶら下がっていた。そんな奴ぁ居ねぇよ と思った。
昼頃起床。今日は天気が悪いけど涼しくて良い感じ
散髪に行ったり買い物に行ったり。
昨日のgcc-3.2はCygwinネイティブでのmakeは失敗。結局bashでも
fork()問題が発生したため。Cygwinでのfork()エミュレーションは
コピーオンライトではないので、結局メモリが足りなくて失敗して
いるという気がしなくもありません。
昼頃起きて休日出勤。
3人のコギャルから携帯電話を取り上げて三日間で会えるか ってのを
TVでやってた。携帯を触ってないと暇でしょうがないというのはさておくと
して、連絡先が携帯に全て入っているいるから取り上げられると連絡が
付かない。でもこれって当然かも。携帯に入っている番号ってのは
大抵の場合が携帯番号で、いくら友達でも御丁寧に友達の家の固定電話番号
まで入れたりしませんよ。番号だって覚えられるハズもありません。
だって、それが誰でもできるなら携帯にメモリなんて要りませんし。
そう考えると別にコギャルに限らず携帯を持ち始めると、いつの間にやら
携帯がライフラインになってしまうものなのかも知れません。
gcc-3.2が出ていたのでダウンロード。/bin/sh.exeにaishを使うと、
configure時に例のfork()問題が発生。bash.exeをリネームして使うと
取りあえずconfigureはOK。
本日休業。表紙絵を変えた頃から涼しくなってきたのは気のせいでは
ないらしい。
ぼくなつ2を進めて一気に終らせてしまいました。といいますか、
最後の方は怒涛のようにイベントが起こって先に進めずには居られない
って感じだったので(^^;。全体を通して、イベントはなんとなく展開が
読める所もあるのですが、その割に実際にはなかなか話が進まないって感じが少し
もどかしく思える部分もありました。でも、全イベントを消化している
気はしないとか、逆にあれをやらなければどういう展開になるのだろう
とか、後で気になる所もあります。時代設定が昭和50年という事で、
今の中高生がやるにはジェネレーションギャップが激し過ぎると
いう感じがしなくもありませんが(緑色の血でガミラス星人が連想
できる中高生がいるとは思えない(^^;)、20代後半以上ならノスタルジー
に浸れるのではないでしょうか。私は好きですよ、このゲーム。
何気にチャンネルをザッピングしていたら花火の話をしている番組を
やってたので観てみたり。
消え口、玉のすわり、抜け星などの専門用語を覚えてみたり、
鍵屋からの分家が玉屋で、玉屋は火事を起こして一代でなくなったこと
や、鍵屋は現在も14代目と15代目でやっているとか、丸くなる
打ち上げ花火は日本で最初に開発されたとか色々知った。
深夜の番組で鬼ヤンマを採っていた。最近は鬼ヤンマって珍しい
らしい。そういえば、生まれてつい最近まで銀ヤンマを一度も見た
事がなかったのですが、何気に外に出た時に飛んでいるのを初めて見た。
少し嬉しかった。
日付け越え。
今日一日、肩より上に腕が上がらない罠。老化現象でしょうか。
ちょこーり思いだし。
日付け越え。
何もできず。
プロゲーマーって一体.......
少し早めに帰着。
何気に表紙絵を変えてみたり。
日付け越え前に帰着。
滅多に踏まないゾロ目番を踏んだ。自分ちだけど(^^;
昼頃起床。
TVを観たり、掃除をしたり。
ちょこーりお出かけ。
笠井あゆみの画集である所の「戀字宴」を購入。その中の夢の参考
の一句。「夢を語れない人は、面白みがないなどと親しまれず、
夢を語りすぎる人は、現実を見よとあざ笑われる。ほどほどの夢は、
ほどほどに尊重されるが、ほどほどにつまらない。」。なんかいいかも。
休出。夕方頃帰着。帰着後爆睡。起きたらすっかり夜。
先日仕掛けていたgccのコンパイルは何気にエラーしていた模様。
configureオプションを全て外してconfigure&make。
どうやらエラーせずにmakeできた模様。前はshellのfork問題
でうまくできなかった気がするのですが、詳細が思い出せません(^^;
でも、make checkを実行するとfailしまくるのですけど(汗;
POV-RayのVer3.5が出ているというのを知りダウンロードしてみました。
インストールしてREADMEを読んでみるとphotonマップやSphereSweepObject
(丸みを付ける為のオブジェクトらしい)が機能追加されているようです。
MegaPOVの機能が吸収されて統合されたといった感じでしょうか。
レンダリング品質の比較は以下。
シーンのソースはMegaPOVのデモシーンである所のphotons/spherecyl.povです。
3.5では#versionの変更と、photon{}キーワードのignore_photonsが
エラーになるのをコメントアウトする程度の修正で文法チェックは
パスできる様です。
一番の違いはpov3.5ではガラスのシリンダの中にカーディオイド状
の集光模様がレンダリングされている点でしょうか。また、MegaPOV
では画面全体にノイズのモアレ(モスキートノイズ?)が乗っているのですが、
pov3.5では
ノイズの無いクリアな画面になっています。他にも色々な違いが
あるかも知れませんが結構良いかも。レンダリング速度はMegaPOVの
方が速いようです。
久々にぼくなつ2の続きをやったり。
日付け越え。
何気にgcc-3.1をCygwinネイティブでコンパイル。仕掛けて死亡。
日付け越えまえに帰着。
MegaPOVの説明書をダラダラと読んでみたり。
bashが更新されていたのでCygwinパッケージのアップデート。コマンド
補完の不具合が修正されている模様。
本日も休業。
特に何をするでもなくダラダラと過ごしたり。
通販番組で出ていたパソコンを見て、最近のはめっきり安くなって
いるのだなぁと思った。
本日休業。暑くて死亡。
何をするでもなくふにゃふにゃして過ごしたり。
住基ネット。個人的な意見ですが、セキュリティだとかの話は別にして、
住所だとか生年月日だとかは実際の所、大した情報では無いように
思います。それ以上の情報(銀行口座だとか)というのは大抵の場合、動的に
変化するものなので、常に更新されないのであれば情報としては
嘘になる場合があるので意味がありません。でも、常に最新情報を保持
する事ができるとはとても思えません。なんせ、
住所変更なんて届け出るのが遅くても(二年くらい)イヤな顔はされますが、
それでどうにかなる訳ではありませんし(選挙投票案内は来ませんが)。
これらを踏まえて個人的な意見として、住民票には大した権威があるとは
あまり思えないのですが、何故か何をするにも住民票が必要っていう今の
世の中のシステムの方がイマイチな感じがします。
早くDNA判別がリーズナブルなシステムでできる様にならないかなぁと
思ったりしますが、そうなると今度は、一時的に塩基構造を変化させて
別人になりすますなどSFチックな犯罪も起こりえるのかも知れません(^^;
ともあれ、もう少し盛り上がって個人情報保護重要って騒いでくれれば、
個人判別や情報保護の分野は技術的にも商売的にも、面白くなり
そうな予感はします。
キーボードの'N'キーがヘタれてきた気分。やっぱメカニカルキーボードの
方が良いなぁと思いました。
Cygwinをアップデートしたら、bashでのコマンド補完が変になる
現象が再発するようになりました。うーむ。
遊戯王のアニメを観ました。何言ってるんだかわかんな〜い(汗;;
日付け越え前に帰着。そのうち食ってやろうと思っていた涼夏杏仁
(スイカが少し入ったセブンイレブンに置いてあったデザート)が
気がつくと消え去っていた。
ニュースで見たインターネット依存症の話。10年くらい前には
コンピュータ依存症なんて言葉がありましたが、最近はこういうのが
アリらしい。でもまぁ、
半年くらいなんて始めたばっかって感じだから、しょーもない事でも
面白い時期だと思いますが、一年もすれば 検索サイトで8000件も
引っかかった検索結果を全て見るなんてバカげた事はしなくなると
思いますけどねぇ.......
MegaPOVでphotonを使ったシーンで色々パラメータを変えてみたり。
朝起きて、また寝て夕方起動。
結局、gettext-0.10.40までバージョンを戻して
./configure --disable-shared --without-libiconv-prefix でconfigureを
実行して
makeしたgettextを使用
したところ、binutilsのmakeはOKとなりました。なんだかなぁ。
また /bin/rm -f *>o をやっちまった.........
本屋に。フォトンマッピングの教科書など買ってみたり。そして何気に
MegaPOVでフォトンマップを使用したレンダリングで遊んでみたり。
イマイチ使い方が判らず、サンプルを参考に何も考えずに
Planeオブジェクトにphotonを適用してみたら、一向にマップのbuildが
終らなかったり(^^;
休日出勤。一山越え終わりそう。
gettextのmake。./configure --disable-shared などとして
dll生成しない様にしてみた所、取りあえずコンパイルエラーはせずに
終了。make installして、binutuilsのmakeに使ってみた所、
Making all in po make[3]: Entering directory `/cygdrive/c/taneda/develop/binutils/src/opcodes/po' file=./`echo tr | sed 's,.*/,,'`.gmo \ && rm -f $file && PATH=../src:$PATH msgfmt -o $file tr.po msgfmt: iconv failure make[3]: *** [tr.gmo] Error 1
日付越え。へろへろ。それにしても今日は雷が凄かった。
msgfmtで検索をかけた所、gettextの中に含まれている模様。
Cygwinのパッケージには含まれていたハズなのに何故?という訳で
ソースを拾ってmakeしてみたり。でも失敗。dllの生成がダメっぽい。
ぐふっ。
寝てたら猛烈な腹痛に襲われて死亡。
日付越え前に帰着。
風邪気味で死亡。
ashも更新された模様。
あ、bashのコマンド補完でディレクトリがコマンドの様に振舞われるバグも
修正されているようです。