Macintoshってボタン1個を前提にしていることをぜーんぜん忘れていました。
…右クリック前提のウィンドウマネージャを放りこんで、途方に暮れましたよ。
とりあえず、twmでお茶を濁すことにしますが…ちょいとお洒落なものが欲しくなるのもまた事実で。
♪
29-Jul-2009: 朝昼:いつもの。夕:スーパーで買った弁当。
30-Jul-2009: 朝:いつもの。昼:都内某所にて麺類。夕:白飯、納豆、ゴーヤとベーコンの炒め物。(22:55)
Macintoshってボタン1個を前提にしていることをぜーんぜん忘れていました。
…右クリック前提のウィンドウマネージャを放りこんで、途方に暮れましたよ。
とりあえず、twmでお茶を濁すことにしますが…ちょいとお洒落なものが欲しくなるのもまた事実で。
♪
29-Jul-2009: 朝昼:いつもの。夕:スーパーで買った弁当。
30-Jul-2009: 朝:いつもの。昼:都内某所にて麺類。夕:白飯、納豆、ゴーヤとベーコンの炒め物。(22:55)
持ち運び可能な開発機が必要になりそうだ、でもそんなものを買うお金は当然無いもん、ってことで表題に書いてあるようなことをやってます。OS Xの使い方を覚えてあれこれやってる暇もありませんし…
基本的な事項はINSTALL.macppc(リンク先はsnapshot版)に全部書いてありますが、ブートローダ(ofwboot)のインストールには悩みました。何度、インストールしても起動できないという状態を繰り返したことか。
♪
分かってしまえば簡単なことですが、HDD全体をOpenBSDで使う場合は
という手順になるみたいです。ひょっとすると、全部OpenBSDで可能だったりするのかもしれませんが…どんな方法になるか全く見当が付きません。
参考資料として、区画分割の様子、ofwbootを放りこんだ時の様子、ofwbootの起動テスト(OpenBSDをインストールする前)の写真を載せておきます。
インストールした後は、/usr/ports/misc/hfsplusでも入れておけば良いのでしょうかねえ…(まだ入れてない)
♪
朝昼:いつもの。夕:白飯、ゴーヤとベーコンの炒め物。妻の買ってきたサンドイッチ。(21:30)
代替の商品無いので返金するって言われました。
別のビデオカードを買うくらいなら、マザーボードとCPUとHDD買って(電源とメモリは今使ってる機材から転用すればいいかな)、組み直した方が良いんじゃないかって気もするんですが…予算は諭吉さん2枚くらいで…なにしろ、イマドキのマシンだったらビデオカード追加しなくてもそこそこ遊べるし…
でもこの時期にそこまで投資する余裕は無いなあ。やっぱ地道にビデオカード探すか…
♪
黒猫が目の前を横切るとロクなことが起こらないって話がありましたけど、効果絶大ですね…(ひょっとすると、効果が数日間持続する?)
♪
朝昼:いつもの。夕:うどん他。(21:55)
BIOS POST画面が荒れた状態になって、先に進まない。んでもって、再起動したらブラックアウトしてビープがうるさい状態に。
ビデオカードを外したら直ったので、ビデオカードがお亡くなりになったということになるんですが…ゲーム用の、RADEON HD 3450なんですよね。いったい何をしたというのか←ゲームのやり過ぎだろう
保証期間は残っているので対応はしてもらえそうですが、なんか別のカードを一枚買った方が早いという気もしなくもなく。どうすべか。
朝:即席ラーメン。昼:コンビニ弁当。夕:白飯、ゴーヤと豚肉の炒め物。(23:45)
15世紀〜17世紀辺りの地球から、惑星ラグオルに移動してます。
…浮気していること、
このページで使用されている画像は(株)セガの許諾を得て、Windows用ゲーム「ファンタシースターオンライン ブルーバースト」よりキャプチャーしたものです。配布や再掲載は禁止されています。
と言っても、単にPSOBB 5周年記念によるサーバの開放を利用しているだけなんですが…前に遊んでいた頃と比べると、シップの数が減ってますね(Capricorn使ってた身としては、ちょっと悲しい)。
それにしても、いかにもゲームっぽい3DなCGは今でも好みです。グラフィックカードの高性能化による恩恵かもしれませんが、あの頃と比べると若干画質も上がっているかなー
♪
一人用クエストの解き直し(ノーマルは全部片付けてしまったので、ハードでやり直すことになってしまう)をやるかどうか、ちょっと悩み中。「心の座」のtrue end、見てみたいんだよねえ。(25:10)
定額給付金、インフル(敢えて略す)用のマスク、日蝕グラスの次は政権交代音頭か饅頭か。
…やれやれ、少しは休ませてくれないかね。僕はその話題を何度も何度も何度も聞くことに疲れているんだ。
それとも疲れさせるのが君達の仕事かい?だとしたら随分と悪趣味だね。
♪
なんとなく気になったので、NPTLbenchmarksに書かれていたhttp://www.gelato.unsw.edu.au/patches/pthreadbench/pthreadbench.tar.gzを試してみた。
同一のマシンを使って、Slackware-12.2で動かした時のスコアと、OpenBSD-4.5で動かした時のスコアを測ってみたんだけど…OpenBSDの方がスコアは高いみたい。ただし、uncontested lockは除く。
RPCemuの遅い理由がどこにあるかが気になってるんだけど、pthread周りってことは…ないよね?
♪
22-Jul-2009: 朝昼:いつもの。夕:白飯、ゴーヤと豚肉の炒め物。
23-Jul-2009: 朝昼:いつもの。夕:白飯、茹でた野菜と茹でた豚肉。
24-Jul-2009: 朝昼:いつもの。夕:近所のラーメン屋にて。
25-Jul-2009: 朝:寝てた。昼;白飯、納豆、即席味噌汁。夕:スーパーで買った寿司。(24:05)
そういや以前文字放送デコーダ分解して書体吸い出したっけ、で思い出したんですが…JIS第1水準のみというのは仕様書で決まってるみたいです。
ARIBの標準規格(放送分野)一覧表にあるSTD-B5「垂直帰線消去期間を使用する伝送方式の標準テレビジョン・データ多重放送」には、こう記されています。
JIS第1水準漢字及び非漢字 (JIS C6226 (1983) ) とする。
※第8章 文字(基本)信号/8.1 文字(基本)信号の機能/8.1.2 字種より引用
ただし、この仕様書の第10章(複合データ信号)にはJIS第2水準の定義もあるので、使おうと思えば多分使えたんだと思いますが…STD-B27「525/60及び1125/60テレビジョン方式のコンポーネントビット直列インタフェースにおける補助データ領域への字幕データの多重方法」を見る限りでは、第1水準に留まっていたという理解で良さそうです。
受信機側に JIS 第 2 水準(DJCS)の ROM を持っていないため文字コードに続けてパターンデータを送信している。このパターンは、標準文字サイズ(1 文字 40 バイト)を、2×20 バイト(16×20 ビット)のパターンで表現している。現在でも文字コードを利用せず、このパターンにより画面表示をしている受信機が多い。
※解説/3. 補足説明/3.2 アナログテレビジョン放送での字幕放送より引用
※引用文中にある「現在」は、平成12年
♪
…ふーむ、この辺りの仕様書は色々見ておく価値がありそうですね。ARIB外字なんてものもあるようですし。
でもデータシートと違って結構読んでいて眠いんだよなあ…ふあぁ←不謹慎
♪
朝昼:いつもの。夕:うどん。(21:55)
22-Nov-2008辺りから放ったままの、FS-SR023(FS-4600F用毛筆書体・縦書き専用)ネタ、片付けましょう。
原寸大よりも縮小した方が何故か綺麗に見えます。あと、この書体カートリッジには半角文字/英小文字/ロシア文字/ギリシャ文字/一部の記号類が入っていません(説明書にもその旨が書かれています)。
ROMイメージからFONTX2化するコンバータはこんな感じ。圧縮の解除方法がROMイメージの外に書かれていたら、間違いなく解読不能だったでしょうね。
♪
朝:即席ラーメン。昼:冷凍庫にあったピザ。夕:炒飯。(19:55)
MFM領域側のインデックスの読み方は分かったんだけど…データの読み方がちーとも分からない。暗号化かなーと思っていたんだけど、どうも軽い圧縮(本気で圧縮したら同じようなビットパターンは続かないはずだし)が掛かっているみたいで。
圧縮前のデータが分かっていればある程度の見当は付くんだろうけど、それすら分からないしなあ…特殊な機械に使われていたフロッピーをイメージ化した事例が一つ増えたとでも思って、ここは素直に退くことにします。orz
♪
この手のフロッピーいじりをするなら、The IBM Diskette General Information Manual(GA21-9182, リンク先はPDF)は必読です。ドキュメントの特性上IBM形式の話が中心ではありますが、フロッピー上にどうやってデータを記録するかという基本的な話が書かれているため、fdutils等を使う際に役立つでしょう。
朝:即席ラーメン。昼:珍しく実家の庭でわいわいと。夕:その残り。(21:50)
さっくりとフロッピーディスクのイメージを作ります。「何の」フロッピーかについては、今のところ秘密です。
♪
fdutilsを使うのはお久しぶりなので、22-May-2007の日記を見ながら同じようなことをしてみます。で、こんな感じ。例によって、
の混在する、IBM形式フロッピーディスクの眷族のようです。また例によって、27-May-2007と同様に、FM領域を完全には扱えません。
uaa@mandarine0:~/fx$ setfdprm /dev/fd0 ss hd fm=1 ssize=128 sect=26 cyl=1 uaa@mandarine0:~/fx$ getfdprm /dev/fd0 SS DD sect=24 dtr=0 fm=1 cyl=1 ssize=128 uaa@mandarine0:~/fx$ setfdprm /dev/fd0 ds hd fm=0 ssize=1024 sect=8 cyl=77 uaa@mandarine0:~/fx$ getfdprm /dev/fd0 DS HD sect=8 cyl=77 ssize=1KB uaa@mandarine0:~/fx$ |
実際に作業してみると、FM領域の読み出しが安定せず、16〜20セクタ読むのがやっとの状態です。FM領域はインデックスなので、無くても(まだ)なんとかなるという理由で、読める範囲だけ読んでおしまいにしちゃいます。
その代わり、MFM領域に入っているデータはしっかりサルベージしておこうと思います。
♪
1枚だけエラーを多発するフロッピーがありましたが(おそらく、これが壊れたから捨てられたのでしょうね)、他は特に問題はなさそうです。
さて、このフロッピーから得られたバイナリデータを、どう読み解いていくか…なんですが、手がかりに乏しいというのが正直なところです。どんな機械に使われていたフロッピーかという情報はありますが、その機械の使われていた時代や、中に入っているプロセッサの情報はありませんので。
とりあえず、ユーティリティ系のディスクイメージを覗き、プログラムと思われる場所の終端に0x4e75(rts)があったので、68000の類って気はしているのですが…68000のコードって雑誌でちろっとしか見たことがないので、合ってるかどうか自信無いんですよねー
データ系のディスクイメージは…よく分かりません。なんとなくですが、簡単に読めないような小細工がされているように見えます。
まあ、たまにはこういう得体の知れないものを相手にするのも楽しいよねってことで。
♪
17-Jul-2009: 朝昼:いつもの。夕:橋本某所にて。
18-Jul-2009: 朝:寝てた。昼:トウモロコシと唐揚げ。夕:炒飯。(21:35)
ちょいと何を作業したか、まとめてみる。一気にまとめるのも大変なので、まずはMSX関係の物だけ。
♪
MSXの漢字ROMには、いわゆるソニー系と、いわゆる松下系が有名どころなんですが…他にも多分あるはずです。三洋のMSX2+とか、ASCIIのMSX-Write/MSX-WriteII辺り、どうなんでしょうか。
♪
15-Jul-2009: 朝昼:いつもの。夕:白飯、納豆、ゴーヤと豚肉の炒め物。
16-Jul-2009: 朝昼:いつもの。夕:焼きそば。(23:30)
ついでにh_inもOpenBSDでmakeできるようにしてみた。こっちもお作法無視なパッチで。
すごく、ものすごーく細かいところでエラー出して引っかかってるんだけど、それを片っ端から直してるだけとも言うんだよねえ、コレ…
あとは説明文書いて、本家に投げとけばmission completeだとは思うんだけど…あ、Hello, worldまだ試してないっていうかこっちも実はmakeが通らない。うがー
とりあえずHello, worldのmakeを通してld_fifoの動作を見てから投げるか、現時点でもコンパイル通るからいーぢゃーんで投げるかの判断が難しい。
♪
朝昼:いつもの。夕:蕎麦。(22:10)
とりあえず、l_in(tcp, fifo)をOpenBSDでmakeできる程度には。
本当はconfigureに手を入れるのではなく、configure.acに手を入れて然るべき手順を取るのがお作法なんですが…とにかくmakeが通らなきゃ法螺吹いてるのと一緒ってことで。
dlopen()で使うlibdlとclock_gettime()で使うlibrtのどちらもOpenBSDには存在しない(libc辺りの中に入っているっぽい)ので、-ldlだの-lrtだのは削っておかないといけない。
あと、MSG_NOSIGNALは0で誤魔化してる。多分副作用あるだろうなあ、これ…
♪
食事メモは省略。(23:00)
nota-indを使ってうにゃうにゃがよく分からないので、How to set up NoTA (Wiki)の#4: Two single-processesで動かしてみることにする。昨日の日記には
SN(Service Node)側はnota3_hello_world_blocking_sn、AN(Application Node)側はnota3_hello_world_anを使うのかー
と書いたけど、#4の方法だとnota3_hello_world_blocking_sn_sp, nota3_hello_world_an_spを使うことになるんだろう。
♪
ld_fifoの使い方に関するドキュメントが見当たらないのだけども(探し方が悪いんだろう)、ソースを流し読みした限りでは
ということらしい。FIFOの名前が固定っていうのはなんかイケてないけど、気に食わないなら自分で直せってことなのかな。
♪
で、こんな感じに動く。
↑これがSN側で、
↑こっちがAN側。
AN側で入力した文字列がSN側に表示されて、AN側の指示でSN側が終了する…みたい。
AN側でSN側を終了させないこともできるようだけど、その後のSNの処理がなんか怪しいんだよなあ…現時点でも、AN側は変なAssertonが出てるし。まあとりあえずそれっぽく動いてるのでokってことにしとくか。
♪
…で、とりあえず動かした次の目標が見つからないな。どうすんべ。
♪
朝昼:いつもの。夕:妻にお任せ(買ってきたピザ)。(23:30)
NoTAなるものが話題になっているので、とりあえずmakeしてみる。
「今更m9」なのは分かってるんですが…こういうのに頼らなきゃなんないくらい、日記のネタに困っておりまして。
♪
まずは、NoTA core technology packageにある、各種モジュールをmakeする。l-in→h-in→stubgen→rmの順番は厳守。
♪
XML::LibXML perl moduleもmakeする(だってSlackwareだし)。NoTAよりもこっちの方が面倒だよ…。これも、libxml2→XML::LibXML::Common→XML::NamespaceSupport→XML::SAX→XML::LibXMLの順番で。
♪
一通りのモノが揃ったので、Hello, Worldを試してみる。Howto Wikiにあるprojects/NoTA Hello Worldを見るのが一番早いんだけどねえ…
Releases for NoTA Hello World - Simple example that demonstrates usage of NoTA (DIP)からnota3-hello-world-0.1.0.tar.gzをダウンロードして、tar zxpf nota3-hello-world-0.1.0.tar.gz; cd nota3-hello-world-0.1.0; ./autogen.sh (configureの生成と実行も行われる); src/notaio.cを修正してから gmake。流石にこれはgmake installしてもしょうがない…
得られるオブジェクトは、以下の6つ。
Wikiの記述に従い、SN(Service Node)側はnota3_hello_world_blocking_sn、AN(Application Node)側はnota3_hello_world_anを使うのかーってことを確認して今日は終了。だってどう動かせば良いか分からないんだもん。
♪
08-Jul-2009: 朝昼:いつもの。夕:妻にお任せ(白飯、牛スジ煮込み)。
09-Jul-2009: 朝昼:いつもの。夕:野菜ラーメン。(23:00)
前回入手した某F社の漢字ROMカードがPCMCIA規格に準拠したものだったという理由で、某N社のカードも入手してみたのですが…
サイズは同じでもコネクタ部分が全然違うので、これは無理です。強引に差そうとすると、相手側の機器を多分壊します。
♪
そろそろ、この手のデータを整理するくらいはしておかないと…単なる吸い出し厨だよなあ、このままじゃ。
何を持っているかの一覧は必須として、FONTX2化していないものはFONTX2化して(とりあえず超漢字辺りで)閲覧できるようにして、データの有用性を説明できるくらいの状態にしておきたいんだよねえ。
ゲームならエミュレータなどを使って保存できるけど、情報家電を保存するったって限界があるし…せめて、再現の容易なビットマップフォント程度は残しませんか?と常日頃思ってます。
個人的な理想としては、誰でも参照可能なアーカイブの形にでもなっていると最高なんですが…書体には相応の開発費掛かってますし、色々政治的な思惑もあるでしょうからそう簡単にいかないでしょうね。
というか、この手のアーカイブを作ろうとすると邪魔する輩が出てくる可能性高そうだなー。きちっと根回しするなり、権威を使わないとぜーったいこの手のプロジェクトは失敗しそうな予感。
…で、作るとしたら誰に相談すれば良いのかにゃ?(やるかどうかはともかく、一応尋ねるだけ尋ねてみる)
(ちなみに、当方には根回しのスキルも権威の持ち合わせもありませんので、念のため)
♪
06-Jul-2009: 朝昼:いつもの。夕:白飯、納豆、豚肉とトマトの炒め物。
07-Jul-2009: 朝昼:いつもの。夕:アジア風かけごはんもどき。(23:00)
取り残された感ありまくりなんですよね。周り見てるとね。
ぶっちゃけ自分の存在意義ねーじゃんとか思いつめたくなるくらい。
♪
英雄製造システムねえ…
英雄待望論か、英雄否定論、どっちに付くべきか悩んでいる身としては…どっちに付くか決めてからそのシステム作ってくんね?というのが正直な気持ち。
英雄を戴くにしても、英雄の育成からその維持まで相当なコストがかかるけどその辺りはちゃんとした準備してるのかねという疑問があるし。
英雄を否定するにしても、あんたらそれ無しで自力でどうにかできるだけの力は持ち合わせているのかねという疑問があるし。
ふーむ、どうしたものか。
♪
食事メモは明日までおやすみ。(21:50)
Slackware-12.2でallegro-4.2.2をコンパイルすると、「./src/i386/icpus.s:70: Error: suffix or operands invalid for `fnstsw'」で悩まされる件について。これは、NumPyのTrac, Ticket #811と同じように直せばok。つまり、fnstsw %eax→fnstsw %ax。
この環境でRPCemu (rel.168)のコンパイルは、aclocal, automake, autoconfの操作をやっちゃダメ。svnから取ってきた時に付いているconfigureを使って、単純に./configure; makeで。
♪
OpenBSD-4.5/i386でRPCemuをコンパイルする場合は、./configureの後に得られたMakefileのCFLAGS = -Wall -O2を、CFLAGS = -Wallとする必要がある。-O2が付いていると(-O1にしても)、
rpcemu.c: In function `loadconfig': rpcemu.c:227: error: unable to find a register to spill in class `SIREG' rpcemu.c:227: error: this is the insn: (insn:HI 48 47 49 2 0x7ec48e44 (parallel [ (set (reg:CC 17 flags) (compare:CC (mem:BLK (reg/v/f:SI 2 ecx [58]) [0 A8]) (mem:BLK (reg/f:SI 5 edi [69]) [0 A8]))) (use (reg:SI 1 edx [70])) (use (const_int 1 [0x1])) (use (reg:SI 19 dirflag)) (clobber (reg/f:SI 0 eax [68])) (clobber (reg/f:SI 5 edi [69])) (clobber (reg:SI 1 edx [70])) ]) 458 {cmpstrqi_nz_1} (insn_list 45 (insn_list 46 (insn_list 47 (nil)))) (expr_list:REG_DEAD (reg:SI 19 dirflag) (expr_list:REG_DEAD (reg:SI 1 edx [70]) (expr_list:REG_DEAD (reg/f:SI 5 edi [69]) (expr_list:REG_UNUSED (reg/f:SI 0 eax [68]) (expr_list:REG_UNUSED (reg/f:SI 5 edi [69]) (expr_list:REG_UNUSED (reg:SI 1 edx [70]) (expr_list:REG_EQUAL (compare:CC (mem:BLK (reg/v/f:SI 2 ecx [58]) [0 A8]) (mem:BLK (symbol_ref/f:SI ("*.LC4")) [0 A8])) (nil))))))))) rpcemu.c:227: confused by earlier errors, bailing out gmake[1]: *** [rpcemu-rpcemu.o] Error 1 gmake[1]: Leaving directory `/home/uaa/rpcemu/src' gmake: *** [all] Error 2 |
こんな感じのエラーで止まる(コンパイラのバグか?)
♪
とりあえず、OpenBSD-4.5/amd64, OpenBSD-4.5/i386, Slackware-12.2(i386)でrpcemuを動かせるような状態になったんだけど…i386かamd64かに関わらず、OpenBSDだと劇遅なんだよね。って訳で、OpenBSDとrpcemuとの相性は今のところ悪いみたい、ってことでお茶を濁しておく。
直そうにも、どこから手を付ければ良いか全然分からないし、rpcemuを動かすことではなくrpecmuの上で何かをすることが目的だし…
♪
食事メモは省略。外食率(特にラーメン摂取率)が高い気がする。(22:45)