結局あきばには部品買いにいかないとだめか。 寒くなければいいんだけど。
DSP なみの計算能力があるワンチップマイコンってないかなあ。
また基板を設計する。 昼になったらあきばいくか。 買いものリストを作らなくては。
いったんうちかえるかのう。
いってきた。
スパルタン X をやったらノーミスで 5F まで到達したのだが その後 Mr. X を相手に玉砕した(檄弱)。 それでもハイスコアだったらしい。
買ってきた部品をとりつけて、マイコンと XILINX の動作確認完了。 しかしコネクタを表裏間違えてつけてしまい泣ける。 スルーホールメッキ加工しているので簡単にはとれないぜー
1/6 にペリカン便で送ったとかいう実家からの荷物 (ISDN TA とか)がいまだに届かない。 email で伝票番号を聞いて、 配達状況を調べてみると、 すでに配達営業所に保管されているという。 おかしいな、家には不在者連絡票がきている様子もなかったけど。 なにかの拍子で失われてしまったのだろうか。
いつのまにかデビットカードなる電子決済サービスが スタートしていたらしい。 今度使ってみようかな。 でもクレジットカードがあるんだからそっちを使えばいいだけという話もあるが。
はらへった
今日も元気にめっきを開始。
裏表逆につけてしまったコネクタをとりはずした。 真空ポンプつきのまともなハンダ吸いとり機があるので、 思ったよりは楽にとれた。基板のダメージもさほどではない。
改良ビデオミックス回路の回路図をいただいたので、 今晩はこれの基板でも設計するか。
新日本無線の半導体のデータシートが手にはいる サイトを見つける。 いままでこっちのほうばっかみてて ぜんぜん気づかんかったよ。 これらはぜんぜん違う会社だったということを知らなかった。
できた。ねむい。やばい。
やっぱり寝ないわけにはいかないのですこし寝て起きる。うぐー。ねむい。 きのう買ってきた Ken Ishii の JELLY TONES を聞きつつ作業。 最近 YMO(古)とか攻殻サウンドトラックとかこういうのしか聞いとらん。
しうろん提出期限は 1/29、発表は 2/3 から 2/5 の間、らしい。
ミーティング修了^H^H終了。 はあはあ。
PC/104+ な PC 一式がようやく届く。 うひひ、すばらしい。
ビデオまぜ回路、とりあえず回路図どおりにぜんぶ線をつないでみた。 こまかいチップ部品が裏表に入り乱れていて、 自分でつくったにもかかわらずなにがなんだかよくわかんねー。 はたしてこれはまともに動くんだろか。 これまでみたいに、つなげば動くってよーな回路じゃないのにねー。 まあ、動いたらめっけもんってところだな。
しかし、基板加工機があると、もはやチップ部品しか使う気がおきなくなるな。 実装密度は上がるしすばやくとりつけられるし性能もあがるしで、いいことづくめだ。 リードをニッパで切る手間すら、うっとうしく感じるようになってしまった。
うへー。 いまごろだが、まぜ回路基板の穴をあけてめっき開始。
めっきがおわったのでけづっている
それと忙しくて組み立てられないでいた 2 枚のモータドライバ基板にコンデンサと抵抗をとりつけ、 実際にモータをつないで試験中。 とりあえずはうまく動いているらしい。
全モータドライバ基板の組み立ておよびチェック完了。なかなかめでたい。 だいたい基板 2 枚に 1 か所くらいの割合で、 0.4mm ビヤーホールのスルーホール不良があるみたいで、 チェックにえらく難儀したんだが、なんとかならんもんなんだろうか。
はらがへったので手を洗ってぱんでもくうか。
PC/104+ な PC をいじる。 Ampro の CM3/P5i というやつだ。
とりあえず他の PC/104 モジュールをとりつけてみたんだが、 CM3/P5i のコネクタだけしっかりとキーがささっていて、困った。 結局ピンセットでほじくりだしてしまった。
それとあと困ったのが、 どのモジュールも PC/104 の規格を無視しすぎってことである。 特に高さ制限に抵触するやつが多い。 コネクタや電解コンデンサが干渉してぜんぜんはまらず、 うまくいく組合せをみつけるのに時間がかかった。
さっそく動かしてみたいが、電源がないな。 これ用に ATX 電源だけいくつか買いこんであるんだが、 これは電源スイッチを入れただけでは電源がはいらないので、 マザーボード用コネクタに少々細工する必要がある。 ATX の電源コネクタってどこに売ってるんかしら。
今月のトランジスタ技術にはなんかすごい記事があるな。 「ゲームボーイ-パソコン接続アダプタの製作」というやつで、 ゲームボーイ通信ケーブルの通信フォーマットと、 ポケモンを交換する際に流れるデータフォーマットについての 解析結果が全部書いてあるという、むちゃくちゃいかす記事だ。 文字コード表とかポケモン番号一覧表とか攻撃番号一覧表とか見てると、 まるでゲームラボを読んでいるのではないかという錯覚に陥ってしまうぞ。
この記事で作っているのは PC を相手にポケモンが交換できるハードウェアで、 これを利用すれば ミュウみたいな入手困難なポケモンとか、 変造ポケモンとかも簡単に作りだせてしまうのだそーだ。 しかしよくこんな記事載せたなあ。 任天堂に文句いわれたりとかしないんだろうか。 とにかくいかす。
この記事を参考にして、 某ソフトハウスの技術部あたりで ゲームボーイとリンクしたハードウェアを設計して、 なんかゲームを作っていただきたいところだな。 うひひ。
ぐはー
おうちでねてきた
ちと時間を無駄にしたな。さっさと進めなくては。 それとあと今日中に近況報告書をポストに投函しなくてはいけない。
某ソフトハウス工場長から
Content-Type: text で本文が EUC なメールをいただく。
Mew だとばけばけにばけてよめん。
こういうメールが読めないというのは Mew の仕様か?
ファイルに書きだして nkf 通せばそりゃ読めるのだが、
とりあえず引用をしてみたかったので、
C-c C-y して化けたまま引用したあとに本文を region でかこんで
C-u ESC | して nkf といれたらうまくいった。
化けてるまま fill-paragraph
とかしたら禁則処理とかむちゃくちゃになるだろうから、
うまくいったのはたまたまかな。
しかしこういうメールは Mew ではどう対処するのが正しいのだろうか。
む、あの迷作の誉れ高い 「エアーズアドベンチャー」は、 あのゲームスタジオの作品だったのか! しらんかったぜ。 これはおもしろそうだ!!
このページを見てると、 ゲームスタジオって昔からかなり多くの名作をリリースしているということがわかる。 さすが遠藤雅伸。
LEGO MIND STORMS すげーな。 とりあえずそこのテーブルで、 机から落ちないであちこち動きまわるブルトーザー(?)が動いていたのを見たけど、 あれはすごい。 あんなおもちゃみたいなので、 ちゃんとセンサとか使って動いてるあたりがえらいなー。
ちなみにあれの中には H8 が入っているようだぞ。 直接 gcc でプログラミングさせなさいって感じ。
ビデオまぜ回路に部品をとりつけ完成させる。 途中で IC ソケットが電解コンデンサと干渉してつかなかったので、 コンデンサをいったんはがしてまたつけるみたいなことをしていたら ずいぶん汚いしあがりになってしまった。
ていうか、無理して小さくしすぎだぞこれは。 でも、トランジスタや IC やコネクタも表面実装のやつを使えば、 もっともっと小さくなるぞ。きっと。
eCos ってのはやっぱり流行っているらしい。 オープンソースなリアルタイム OS。 Cygnus がだしてる。 これを H8 で動かしたらなんかいいことあるかな。 って、動くのか?
そういやきのう、SGI の NT ワークステーション てのが 発表 になってるねえ。
Intel のチップセットと安いパーツを買ってきて、 そいつらどうしをつないでおしまいとかいう、そこらのふつーのマシンとは違って、 グラフィックス機能も混載のチップセットを独自開発というあたりが超いかす! バス帯域も AGP なんかよりも桁違いに速いみたい。
O2 みたいなへんてこな形してる筐体はともかくとして、 あの1600x1024 の液晶パネルで使えるというのはまじでいかす。 この液晶だけでいいからだれかくれー。
値段も 682,000 円からと、MIPS 機に比べるとえらく安い。 このマシンでLinux も動くようになんないもんなんかしら。 SGI がんばってくれないかなー。
あのエコールの Dreamcast 用新タイトルが 発表されている。 さすがだ。
ていうか、こいつら開きなおってます。 前作があれだけ有名になりゃ、 次回作がどんな出来でも当然売れるだろうと思ってるに違いないぞ。 このページの文面はきっとねらって書いてるんだろうが、そんな感じが伝わってくる。
設定が、 なにやらすごいことになっている。 ていうかこれなんのゲームなんだ。 ガンゲーじゃないのか。はあはあ。 …メイン声優にはぜひあの大森〇子を起用していただきたいところだ。 残りはバイトさんや社員や社長でいいや。
近況報告書かきかき。
かいた。 ふつーのことばっか書いてしまったような気がするが。 まあいいか。
DATA I/O から ChipLab Ver. 5.8 リリースおしらせというのが来ている。 どうでもいいからさっさと NT でも使えるようにしてくれよ。 まったく。
秋葉原で売ってないのでとりよせた 日本圧着端子製造の表面実装コネクタがようやく今日届き、 さっそくはんだづけした。モータドライバモジュールはこれで完成。 しかしつかれた。目がしょぼしょぼする。
Linux で、シリアルコンソールでインストール作業ができる
ディストリビューションってのはどっかにないんだろうか。
ビデオカードのない PC/104 な PC にインストールできんではないか。
ま、自分でカーネル作って /etc/inittab 書きなおせば
Debian でも Slackware でもできそうではあるが。
Linux/SPARC の Redhat は、 インストーラもネットワークブートできるので FDD すら必要なかったな。 まったく、PC には Sun を見習ってほしいところがたくさんあるなあ。
PC/104 な PC は BIOS レベルで シリアルコンソール機能がついててむちゃくちゃいかす!! のはいいんだが、その機能を有効にするためには、 BIOS に入って該当項目を Enable にしないといけない。 結局ビデオカードのモジュールとキーボードが必要になる。 はっきりいってなんかのギャグとしか思えないぞ。
ぐへ。なんだかんだいってシリアルコンソールな BIOS が起動しました。 んでクロスケーブルで Tera Term が走ってるマシンにつないでみたんだけど、 端末制御が VT100 とかそいったのじゃなくてまったくの独自仕様らしく、 ぜんぜんまともに表示されません。 ていうかもう腐りすぎ。
いちおうtvterm.comとかいう名前の
DOS で動く端末ソフトが添付フロッピーの中に入ってるらしーんですが、
なんでわざわざ独自仕様にしてこんなことしてコスト上げますかね。
あたしにはまったく理解できません。
かと思ったら、
TVTERM.COM is a terminal emulator program with partial emulation of the Televideo 900 series (and compatible) terminals. TVTERM allows a PC or AT compatible computer system to act as a remote console for Ampro CPU products configured for serial console mode.とかいうことが書いてあった。 なんだ、Televideo 900 って termcap エントリの中にあるじゃん。 TeraTerm がょゎぃだけか。 しかし Televideo 900 なんてゆー端末のエミュレータは持ってないぞ。 どうすんだ。
ぐはー、人がせっかく苦労して tvterm.com を動かしてやったのに、
あちこち化けまくりでまったく残念な感じだぞ。
それ以前に問題なのは、
BIOS 設定をするためには DEL キーを押せといわれても、
押しかたがまったくわからんということだ。
tvterm.com 側で DEL 押しただけじゃだめみたいだし。
なんとかしろ。
というわけでシリアルコンソール BIOS なんて二度とつかってやらん。
たまらん。つかれた。はらへった。
ねたねた。
PC/104 な PC に Debian は結局インストールでけた。 結局ビデオカードモジュールを探してきてさすという、 もっとも安易な手段に頼ってしまった。つまらん。
どうやら寝てる間に出ていたらしい Linux 2.2.0-pre7 をダウンロード中。 しかし実験システムにこんなもん使っていいんだろか。 まあ slink 使うのに比べたらずっと怖くないな。
そうだ、この PC にはひとつ恐しい問題があった。 電源を入れるたびに時刻が 1996 年 1 月 1 日になってしまうのだ。 うひょ。さっきまで気づかず作業していたぜ。 バックアップ電池をつながなくては。
日本 HP が Linux サポートを正式決定ですか。 えらいな。
かわりの Pentium II 450MHz 12 個がようやく届いた。 遅いんだよばかー!!
遅い。2.2.0-pre7 を make するのに 1 時間近くかかっている。
2.1.132 とかの新しいカーネルでは、
pcmcia-souces_3.0.5-10.debとかではエラーがでる。
ヘッダの内容が変わってしまったのが問題らしい。
なんとかしてくれ。
ここ
にいって探したら、
開発版には 3.0.6-5
という新しいバージョンがあるということを見つけたので、
ダウンロードしようとしたが、
置いてあるリンクをクリックしてもそんなファイルは存在しないといわれてしまう。
しょうがないので ncftp で直接見にいったら、
すでに pcmcia-sources_3.0.7-1.deb
というのに置きかわっていた。
更新が速すぎてこの WWW ページはまったく役にたっとらんな。
pcmcia-sources_3.0.7-1.deb は
どうも slink 環境でないとコンパイルできないものらしい。
ldd の出力がへんだとかなんとか、他にもいろいろ。
しかたなく debian/rules をいろいろ書きかえたら、
とんでもなくおぞましい結果になってしまった気がするが、
まあ気にせず先にすすむことにする。
Linux 2.2.0-pre リリースになってからもいろいろ変わっているようだのう。
pcmcia-sources_3.0.7-1.deb がまともに make できない。
カーネル設定のわたしかたに変更があったらしくて、
ソースコードや Makefile 書きかえたりして
辻褄あわせにえらく時間がかかったぞ。
周辺開発者たちの嘆きが聞こえてくるようだ。
インストールできた。 PCMCIA も Bt848 も使えている、ようだ。 サウンドモジュールが OPL3-SA2 とかいうやつで結構てこづった。 しかしこれちゃんとネイティブなドライバが提供されているのがすごい。
はらへった。
ケーブルを作っている
めしかってきた。
Sensoray の
Bt848 モジュール
が動かない。
Linux に PCI デバイスとして認識されていただけでもう安心していたのだが、
そういうわけにはいかなかったようだ。
自分で書いたサンプルプログラムを走らせてみると、
キャプチャはやっているようだがいつまでたっても終わらない。
/proc/interrupts を見てみると、
Bt848 からの割り込みが 1 回も起きていないようだ。
これはもしやと思い、 取扱説明書を初めて手にとって読んでみたが、 PC/104+ の PCI デバイス番号を指定するジャンパの説明しかない。 ジャンパコネクタはこれ以外にもあるのだが。 それにここにあるモジュールには同軸コネクタと S 端子コネクタが実装されているが、 取扱説明書のほうではそのへんはフラットケーブルをつかうことになっている。 モジュールには MODEL 311 Rev A というシルクがあるのに対して 取扱説明書の写真は MODEL 311 Rev 0 となっており、 どうやら古い取扱説明書がついてきたらしい。
なんでこんな役にたたんもんを送ってくんだと怒りを覚えつつ Sensoray のサイトをチェックするが、 マニュアルをダウンロードすることもできないらしくまったく使えない。 サポートに英語の email を送って聞くしかないかとか考えつつも、 ジャンパの意味を解読するべくモジュールを蛍光灯の光に透かして パターンを追っているうちにいやな予感が。
速攻で Bt848 のデータシートを Acrobat Reader で開き、 ピン配置を確認すると、あろうことかジャンパの片側には INTA 端子が繋っており、 このジャンパはどの割り込み線を使用するか 指定するためのものだったということが判明。 これじゃ割り込みが起きないわけだ…。
予感的中。ざまみろ。 ていうかなんでこんなジャンパがあるんだ。 はあはあ。
しかし、 あたししか使えないようなものばっかりどんどん買いこんでいる気がするぜ。 あたしがいなくなってもちゃんとこういうトラブルに対処して 使っていけるだろうか。心配のしすぎか?
というわけでようやくかってきためしがくえる。ぱくぱく。
この Bt848 モジュールを調べていてわかったのだが、 I2C 関係の信号はコネクタにでていないみたい。 ほんとーに使えん! まあ、いまさらもうどうでもいいけど。 はんだごてあてて自分で線をひきだすだけだな。
なんとまあ、 Intel が採用しているとかいう SMBus というのは、 実は I2C バスのことだったのか。 しらんかった。使えるようになっておくといろいろ役に立つかも。 うひひ。
つかれたや。ねるかしら。
Bt848 の I2C バス機能は、 一回の転送で送信 2 bytes に受信 1 byte しか転送できないらしい。 すげー使えん…。 ていうか、これじゃ当初の計画が頓挫ではないか。 世の中の I2C 対応デバイスというのは こんなもんで動いてるんだろうか。
まあ I2C マスタ側はスピードも必要なくぜんぜん簡単なんで、 ソフトウェアでじたばたさせて通信してもいいんだけどね。 そんなことするくらいだったら、 シリアルポート 115.2Kbps で通信したほうがよさそうだな。
しかし Bt848 の GPIO は、GPIO としてだけでなく、 内蔵ビデオデコーダ出力にしたり外部ビデオデコーダからの入力にしたり することができるとわかってかなりいかす。 PCI な画像処理ハードウェアを作りたくなってきてしまった。 今月のトランジスタ技術の特集でも見ながらやればほんとにできそう。 しかし修論終わってからここを去るまでの間じゃ、時間がなさすぎるぞ。 就職なんてするんじゃなかったかな(ぉ。
電源ケーブルとかをつくった。 いったい何時間かけてんだ。
おきる
でかけっか
やっぱやめた
明日からセンター試験で、 夜中ここにはいられないという噂があるのだが、 ほんとうにそうなんだろうか。だれか教えて。 去年 2 号館にいたときには、 へいきで寝泊まりしてたような気がしたけどな。
Debian-JP パッケージには、 youbin プロトコル対応で日本語対応の xbiff というのはないんだろうか? POP で PUSH な(なぞ)メールの到着を知らせてくれるユーティリティなら、 なんでもいいんだけどなー。
Linux の I2C バスのデバイスドライバのコードを読んでいるが、 これはシンプルでよくできている。 物理層と上位層が、きちんと分離されているあたりがえらいな。 上位層としては汎用に使えるキャラクタデバイスがきちんと用意されているので、 自分で Bt848 の使えん I2インタフェースのかわりになる 物理層を作ってでも、使ってみたくなってくる。
さっき Bt848 は一度の I2C 転送で 1 byte や 2 bytes しか送受信できん ハードウェアしかついてないと文句をいったが、 どうもふつーの I2C デバイスというのはそれで事たりているらしい。 I2C 対応 EEPROM とか。
Linux の汎用 I2C ドライバで用意されている関数の中にも この 1 byte や 2 bytes の送受信専用のものがあり、 Linux I2C がハードウェア機能を使おうとするのは この関数を使った場合のみ。 これより多い量のデータの送受信は、 事前に登録されたバス制御関数を介して 自分でバスラインをじたばたさせることになっている。 裏を返せば、 H8 のようなI2C 大量転送が可能なハードウェアがついていたとしても、 Linux I2C ではその機能は使えない。 まあ、そんなのはなさそうだからいいか。
うれしいことに bttv ドライバには しっかりとそのへんの I2C バスライン制御関数が実装されていたので、 自分でコードを書く必要はないようだ。 ありがたや。
I2C ドライバのコードは、 メンテナ間で相違がけっこうでかいらしい。 困った。
bttv ドライバ本家の
bttv-0.5.22.tar.gz には
i2c_chardev.c という
キャラクタデバイスドライバもついてくるらしいことがわかったので、
これを使うようにするか。
どうせこれからも bttv ドライバにも手をいれずにはすまされないだろうし、
カーネル付属のドライバにこだわる必要はないだろう。
i2c_chardev.c を解読中。
major 番号は 89、
minor 番号はひとつの I2C バスに対して 1 つづつ、
動的に割当てられる。
スレーブアドレスは ioctl I2C_SLAVE で決める。
あとは open して read/write で読み書きできる。
多重 open も OK らしい。
簡単だな。
なんだかんだいって帰らなくていいらしい。 ありがたや。 といったあたりでこの Bt848 モジュールにはんだごてをあてるか。 うひひひひ。
うーむ、へたくそだ。 0.65mm ピッチなんだが、 ジャンパをうまくつけることができなくて 結局足を浮かせてしまったよ(弱)。 線をひっぱるとすぐとなりの足とショートしそう。 動作確認したらホットボンドで封印してやる。
コネクタをつける場所がないのにも困った。 穴あけたくなかったし接着剤ではりつけようと思ったが、 アロンアルファが通用しなかったので、 とりあえず両面テープでくっつけておいた。 これも何度も抜き差しすればひどいことになりそうだ。 動作確認したらホットボンドで封印してやる。
Emacs で
vc.el で
ディレクトリ内で変更されたファイル全部を一度に commit するには、
M-x vc-directory といれればいいらしい。
すると dired の画面になるのでそこで C-x v v すればいいんだと。
これって CVS 使いはじめたときに調べた気がするが、忘れていた。
おうちかえりたいよー
かえるか
やってきたきたあきばいってきた
今日はセンター試験。 御殿下や理学部方面もちゃんと封鎖されていたのがおもしろかったぜ。 しかしドーバー海峡の陸橋が封鎖されていたのにはまいった。
asahi.com を見てびっくり。 めりけんで話題沸騰の Furby 人形が NSA に持ち込み禁止になったんだそうだ。 スパイ行為に使われるからだとかなんとか。 なんだかなあ。
はらへった
H8S の I2C ルーチンは DTC を使う方向で検討中。
コーンチョコぱくぱく。
ふと気づくと、 かたわらに置いてあるちゃんどらの バッテリーのふたが行方不明になっている。 ありゃりゃりゃりゃ。 以前から片方のつめが折れてしまって、とれやすくなってはいたんだが。 先日無線 LAN で遊んだときに、どっかに落としてきてしまったんだろうか。 だれか見かけませんでしたか〜(ぉ。
このふたってあきばに行けば簡単に手にはいるもんなんだろうかのう。
H8S の DTC 使うのって超めんどくさい!! とりあえず ld script を大幅に書きなおさないといけないぞ。 ぐちぐち。
めりけんの The Legend of Zelda: Ocarina of Time のページは、 日本のそれよりもつくりがむちゃくちゃ凝っていておもしろい。 あのいかすテキストの英語へのローカライズのされかた具合が たいへん気になるところだが、 「デクの樹サマ」は ``the Great Deku Tree''、 「ジャブジャブ様」は ``Lord Jabu-Jabu'' とかいう感じでわりと普通。 ていうかそのまんま。 ここはぜひ Strider を「馳夫」と意訳するくらいのこだわりをみせてほしかった!!
「とれとれピチピチおいしそう!」とか、 「C でおねがいします!」はどう訳されているのだろうか。 英語版やってみたいぜ。
DTC に関する修正を ld script に加える。 基本的に割り込みベクタと同じ手法で、 該当するシンボルがあったら、そのアドレスを埋めこむというもの。 ゴミプログラムを書いて ld が正しいアドレスに再配置しているかどうか nm や gdb でチェックした。 だいたい予想どおりに動いてくれているようで安心。
しかしこれを簡単に使えるようにするにはどうしたらいいのだろうか。
DTC のデータ構造体は 0xffec00から 1KB の範囲で、
4 bytes align で存在しなくてはならないという制約があるので、
C だけでやるのは難しそうだ。
新しいセクションを作るしかないのかな。
ld script でメモリのてっぺんから埋めていくような セクションの記法はないのかなー。