告知など
- 「勇者彼女がトイレから出てきません。」
- 彼女がうちのアパートに来たかと思ったらトイレに入って出てこなくて、 何をしているかというと、異世界で勇者をしている話。
- 「ダウン症があるとかないとかどうでもいい、誇りがあればいい。」
- そろそろ子育てエッセイなどというものを書いてみようかと思った次第。
- 「小説生成システム開発計画 - プロジェクトNUE」
- 計算機に小説、いや、使い物になる文章を作らせてみようという試みを、 勉強しながらやってます。
2009-06-01 [Mon]
▼ 続・なんだこりゃ
午前2時、頭痛で目が覚める。仕方がないのでバファリン飲んで寝る。
午前7時、起きるが、やっぱり頭痛。食事してみたけれど、なんかワーッて感じが止まらない。
しかたがないので午前休む。と思ったが、午後になっても直らないので、一日休暇にする。
なんだこりゃ。
昼食とって再びバファリンを飲む。
そして、肩こりとかそういうのが原因だろうかと思って、あちこちマッサージしてみる。
整体には少し前に行ったばっかりだしなあ。
肩こり系だとしたら、ストレッチなんかを毎日やるようにするといいのかなあ。
2009-06-08 [Mon]
▼ ドタバタ
うむ。しばらくドタバタしていたけれど、今日あたりからは少し落ち着いて通常営業な感じ。
ドタバタの影響で部屋が散らかったまんまだけど。
土日に帰省してきたのだけれど、姪が可愛いこと可愛いこと。
2009-06-11 [Thu]
▼ INTEROP
INTEROPに行ってきた。3年ぶりくらいかな。今年はずいぶんコンパクトになった印象はあった。
主なテーマとしては、仮想化、グリーンITあたりか。セキュリティ関係はずいぶん落ち着いてしまい、もはやFWもIDSもIPSもUTMも珍しいものではない。
クラウドという名前でひとくくりにしてしまうと、バズワードの傘下に入ってしまう感じがするけれど、仮想化、VPN、シンクライアント、あたりを組み合わせて何か面白い商品が作れそうな気がしたのだが、なんとなく漠然としたイメージなので、まだ固まっていない。
あとベンチャー系の展示は楽しそうやね。こういうところで、何か自社製品とか展示できると楽しいだろうなと、ふと思う。
展示会の説明員ってのは、おそらく新人研修としてものすごく良い場所なのではないかと思う。自社製品について詳しくなれるし、接客についても学べるし、それでうまくいけば自信もつく。うちは製品ないから、そういうの無理だけどね。
あとIPAのブースで、外国人のおっさんが、コンパニオンのお姉ちゃんに「What's your name?」などと、ナンパまがいのようなことをしていて断れていたような会話が耳に入ったような聞き間違いなような。
コンパニオンに手を出してはいけません。
2009-06-12 [Fri]
▼ X68k
いまさらながら、X68000のエミュレータ環境を整備して、以前使っていたハードディスクの内容と同じものが動くようにしてみた。当時は途中からfishを使っていたのだけれど、その操作感も復活。キー配列だけが、いまいちだな。つなげているキーボードがHHK US配列で、それがエミュレータ上では日本語配列と認識され、エミュレータ上で英語配列に置き換えるドライバを使うと配列がめちゃくちゃになる。
そもそもHHKだとキーの数が絶対的に足りないわけで、X68000用に普通の109キーボードを用意したほうがいいかもしれない。
で、昔作った色々なプログラムを動かしてみたりしているけれど、結構動く。
当時は、結構ハイペースでプログラム作っていたつもりなんだけど、大学院時代のほうがもっとハイペースだったような気もする。
てなわけで、当時いじっていたゲーム画面をキャプチャしてニコ動にアップしても面白いかもとか思い始めた。怪しい奴とかね。
2009-06-13 [Sat]
▼ ファイナルファンタジー for X68000
大学生時代(1992年)に、ファイナルファンタジー1を勝手にX68000に移植しちゃおうぜってのを、友人達と一緒に趣味でやってました。元になったデータとプログラムはMSX2版を吸い出して解析しました。
途中までは順調だったのですが、グラフィックを全部書き直そうぜとか言い始めたあたりからあやしくなり、結局未完成のままになりました。
最初のほうはプレイできるので、動画を取り込んでニコニコ動画にアップロードしてみました。
2009-06-15 [Mon]
▼ FF1裏話
あんな感じでガリガリとプログラムを書いていたりすると、裏話的なものもぽろぽろと出てきたりします。
FF1を作っていたのは1992年でした。まずこれ重要。FF5が出ていた時期ですね。ですので、全体的にFF5を参考にしたアレンジになっています。
まず、元のデータですが、MSX2のFD版でした。こいつのFDのフォーマットがDOSじゃなくて独自フォーマットで、まずディスクの内容を全部ダンプして(MSXの場合物理フォーマットは全部同じなので)、ブートストラップから解析して、ファイルシステムの内容(と言っても、管理領域は、開始セクタ、サイズ、ファイル名の羅列、くらいだったと思うけど)を読み取り、そこからファイル単位で抜き出すプログラムを作って分割しました。
次にプログラムをディスアセンブル。このZ80のプログラムを解析し、理解できたところはC言語に直し、見た目が一緒ならいいところは見た目だけCで書くというのをやりました。
正直、今から考えて、なんでそんなことをガリガリと出来たのか、不思議でしょうがありません。
敵が出現するところの計算アルゴリズムは、どうしても何をしているのかが理解できず、結局、アセンブラのロジックをそのままCに書き写すという敗北的なことをしています。
あと作成途中では色々なデータ変換が必要になり、小さなC言語のプログラムを沢山作りました。この修行にも似た作業は、かなり良い訓練になりましたね。
また、マップエディタも必要だよねってことになり、自作しました。はい。
スプライトとBGのエディタはOh!Xについてきたsm.xを使っていたはず。
背景の画像データは何で編集してたっけかな。
技術的には、そこそこ凝ったことをやっていて、例えば海や川は半透明+ラスタースクロールだったり、木の後側に回り込むのは、透明色のテキストを重ねて実現していたり。
背景はBGじゃなくてグラフィックなのですが、このブロック転送は最初普通にmoveしていたのですが、遅くて、うーんと考えてmovepを使い、これ以上高速化できないはずだという処理にしました。その後、とある市販ゲームを解析していたら、まったく同じコードを発見し、ああやっぱりみんな同じことをするんだなあと思った記憶があります。
速度と言えば、ラスタースクロールをするのに、当然、水平帰線期間で処理を終わらせる必要があるのですが、最初波のようにうねるのを作ったら処理がオーバーしてしまい、68000の青本とにらめっこしながらクロック数を減らそうと苦労した記憶もあります。
プログラムの分量としては、wc -lすると全体で18000行くらいあります。ただ、会話のテキストがプログラム中に文字列の配列として埋め込まれていて、これが結構あったりするので純粋なプログラムは12000行くらいなんですかね。
今となっては10000行規模のコードは普通に仕事でスクラッチから書いたりするけれど、当時はかなり大規模なものを作っている気分でした。
ちなみに、FF1のルーチンを流用して、別のRPGを作ろうかと言ってみんなでシナリオを考え始めたのが、「HERETICS' EARTH」という作品で、このシナリオの断片を原型にして数年後に小説にしたのが、僕が始めて書いた長編小説だったりします。ということで、なんだかんだと今に繋がっているのですな。
2009-06-22 [Mon]
▼ 頭痛
深夜に頭痛。しかも暑い。そして頭痛。しかたがないのでバファリン飲む。
4時に起きる。暑い。エアコンを弱く。寝る。再び起きる。頭痛。
会社に行く。会議。頭痛。
昼食とって、バファリン飲む。やっぱり頭痛。
17時頃になって、ようやく収まってきた。
2009-06-26 [Fri]
▼ EPSONのネットトップ
EPSONから出た、直販専用のネットトップを買ってみました。目的は自宅サーバに使えるか。
こいつです。
かなり薄くて小さいです。で、各OSの動作状況について、片っ端から入れてみました。
Ubuntu 9.04-ja: 普通にインストールでき、NICも認識する。ただし、Xがvesaになってしまう。
Fedora 11: 普通にインストールでき、NICも認識する。Xはsisで動いている模様。
FreeBSD 6.2: インストールできるが、NICを認識しない。
FreeBSD 7.2: インストールできる。NICもAudioも認識する。Xは試していないけれど、多分sisで動く。
NetBSD 5: インストールCDを起動すると、カーネルのboot途中で画面が崩れて刺さる。
NetBSD 4.0.1: 普通にインストールできる。しかしインストール後に再起動すると、NetBSD 5と同じように画面が崩れて刺さる。
NetBSDについては、色々調べた結果、agpデバイスの認識で悪さをしているようで、カーネルのconfigからagpを外すと起動できるようになる。したがって、まず4.0.1をインストールし、再度CDからbootしてからHDDを適当にmountし、カーネルのソースをとってきて(NICは認識する)、カーネルからagpを外して作りなおしてHDDにインストールして再起動する。これで4.0.1が入る。次に、5.0のソースを取ってきて、カーネルだけでもagp抜きでbuildしてあげて再起動、5.0のuser landを展開。という流れが良いかと。
ところが、5.0のソースをとってこようとしたあたりで、NICの動作がおかしくなり、再起動してみたらNICを認識しなくなった。scanpciしてもデバイスが見えない。UbuntuのLiveCDからも見えない。こりゃ故障かと思い、えいやとWindowsXPをリカバリしてみたがデバイスが見えない。本当に故障かなと思い、LANケーブルと電源ケーブルを抜いて10分ほど放置してから再度電源入れたら復活した。
ああ、もう一度NetBSDをインストールしなおさなきゃ。
てな感じで、今日はここまで。
2009-06-27 [Sat]
▼ 充実
えらい充実した一日だった。楽しかった。満足。
▼ EPSONのネットトップその後
NetBSD 5.0にしてみたが、NICは認識するもののMACアドレスが00:00:00:00:00:00になる。同じセグメントでも、相手によっては通信できたりできなかったりする。
それと、SATAがDMAモードで動いていないようだ。
一応NICについてはcurrentでの変更を調べてみたのだけれど、5.0以降改善する修正は入っていないようだ。
あと、キーボードとマウスなんだけど、ストックが欲しかったので一応一番安いのを一緒に買ってみたのだが、これがもう安っぽいというか安いというか、使い物にならない。どのくらい駄目かというとDELLよりはるかに悪い。
ということで、マウスとキーボードは高いのか自分の好みのものをきちんと買いましょう。
今のところ、ちゃんと使うならNetBSDではかなり駄目で、FreeBSD 7.2のほうが良いと思う。例によって、自分でドライバを直したいならNetBSDをどうぞ。