とうとうポケステでの赤外線受信に成功した。今までは送信方法しか分からなかったので、リモコン程度しか作ることが出来なかったのだが、このままではイカンと思い、気合を入れて解析を行なった所、なんとか 2400bps での赤外線受信に成功した。結局今までの解析結果をどう使いこなすかというノウハウの問題だったのだ。
赤外線の送受信が出来るようになれば、やりたいことは山のようにある。野望を達成するために、まずはファームウェアの転送を行なうプログラムを作ってみることにした。
RCX を外に持ち出す時には、ファームウェアやプログラムが消えないように電池を入れたままにする必要がある。しかしこれは結構気を使う。On-Off ボタンが押されないように工夫したりしている人も多いが、出来ることなら電池を外して持っていき、現地でファームウェアを入れたいと思う。しかしそのためには重たい思いをして PC や IR Tower を持ち歩くか、現地で PC を用意してもらわなければならなかった。
そこで登場するのが持ち運びに便利なポケステだ。あらかじめポケステにファームウェアをダウンロードしておき、現地でボタンを押すだけでファームウェアをダウンロード出来れば、便利だと考えた。あらかじめファームウェアを組込んであり、本当にボタンを押すだけでファームウェアを送信するプログラムを作りたかったのだが、RCX2.0 の登場でファームウェアもバージョンアップする可能性があるし、なにより著作権上問題アリだ。
解決策として、普通に RCX にファームウェアを転送するのと同じように、ポケステにファームウェアを転送し、これをポケステの内部に保持するという方法を考えた。ポケステはメモリカードの機能を持つことでもお分かりの通り、自由にデータを保存することが出来る。これならファームウェアのバージョンアップにも対応出来るし、legOS 等で作った自作ファームウェアも転送が可能になる。
現在の所このプログラムには問題があり、legOS 等で作られた自作ファームウェアの転送は出来ない。また RCX2 SDK に含まれる Firm0311.lgo や Firm0312.lgo といったファームウェアの転送も出来ない。転送出来るのは RIS1.0 や RIS1.5 に付属する Firm0309.lgo ファームウェアのみである。
連日バグ取りに勤しんだのだが、とうとう断腸の思いで公開することにした。今後のバージョンアップに期待してもらいたい。
またこのプログラムだけではファームウェアしか転送出来ないため、PC が無い環境では結局の所リモコンに反応するだけの RCX を製造することしか出来ない。RCX Code や nqc で作られたプログラムを転送する「プログラムコンテナ(仮称)」の開発も合わせて行ないたいと思っているので、気長に待っていてもらいたい。
使い方に関しては添付の readme.txt を参照してもらいたい。制約の多いプログラムだが、ポケステへの転送手段を持っている方にはぜひ試してもらいたいと思っている。
00/5/2 Ver1.0 公開。