外見編に続いて、NXT の中身についても少し詳しく説明します。
NXT のスペックは以下のようになっています。
- 32bit ARM7 マイクロプロセッサ (256Kbyte フラッシュメモリ、64Kbyte RAM)
- 8bit AVR マイクロコントローラ (4Kbyte フラッシュメモリ、512byte RAM)
- Bluetooth Class II V2.0 準拠
- USB 2.0 通信ポート
- 入力4ポート、出力3ポート (共に6線デジタルケーブル)
- 100×64 ピクセル 液晶ディスプレイ
- 8KHz 8bit モノラルスピーカー
- 単3電池6本または充電式バッテリーで駆動
従来の RCX と比べると、頭脳部分ともいえる CPU とメモリが大幅にグレードアップしています。CPU は 8bit の H8 から 32bit の ARM7 に変わりました。ゲーム機でいうとファミコンとプレステくらいの性能差です。かなりオーバースペックな気がしますが、これで複雑な処理も楽々こなしてくれるに違いありません。
また、RCX ではファームウェア (OS みたいなもの) とプログラムを 32Kbyte しかないメモリに保存していました。しかもただの RAM なので電池を抜くとダウンロードした内容が消えてしまいます。持ち運ぶときには電池を抜かず電源ボタンも押さないように慎重に扱うのですが、何回もファームウェアやプログラムを消してしまった覚えがあります。それが NXT からはファームウェアやプログラム、音声ファイル、画像ファイルなどはフラッシュメモリに保存する形になりました。電池を抜いてもしっかり保存されるのは素直にうれしいです。メモリ自体の容量も増えているため、より複雑なプログラムを組むことができます。
あとは、これまで赤外線通信しかサポートしていなかったのがそれが廃止され、USB と Bluetooth による通信がサポートされました。赤外線通信はポートの向きや環境に影響を受けることが多かったのですが、Bluetooth なら問題なさそうです。これにより、PC との通信はもちろんのこと、Bluetooth を搭載した携帯や PDA とも通信可能です。また、NXT 同士で Bluetooth を使ってメッセージをやりとりすることもできます。
他の仕様はこれまでに書いてきたとおりですね。個人的には入出力ポートがもうちょっと増えているとうれしかったんですが、今回からモーターやセンサーが大きくなりましたし、まあしようがないですね。
情報ばかりになってしまったので、ここで実際に PC と接続して NXT の中をのぞいてみましょう。
NXT ソフトウェアには NXT の中身を管理をする「NXT ウィンドウ」というのがあります。これを使うと下の画像のように、現在接続されている NXT のリストと、各 NXT の状態 (電池残量、空き容量、ファームウェアバージョンなど) を確認することができます。ここで NXT に名前をつけることもできます。
「Memory」タブをクリックすると、いま選んでいる NXT のメモリ状況を詳しく見ることができます。
NXT はプログラムや音声、画像、設定等を、フラッシュメモリ上でファイルとして保存しています。左側のバーを見てもらえばわかると思いますが、各ファイルはプログラム、音声、動作記録、画像、その他、と区別して管理されています。プログラムを載せれば載せるほど空き容量が減るのは当たり前ですが、音声ファイルや画像ファイルを使うプログラムだとそれらの容量も必要になってきます。特に音声ファイルは容量を食うので注意が必要です。
この画面を使って、ファイルを NXT にダウンロードしたり、PC にアップロードしたりできます。いらないプログラムやファイルを消すこともできます。NXT ではテキストファイルの読み書きが可能なので、動作ログの管理や、設定の入れ替えなどに使えますね。ただし、音声ファイルと画像ファイルのフォーマットは特殊なので、JPEG や MP3 などをダウンロードしても使うことはできません。これらについてはフォーマットを解析済みなので、また別の機会に説明します。
ファイルを全部消してみた状態が下の画像です。
システム的なファイルまで全部消して最低限動く状態にしてみましたが、それでも空き容量は 130Kbyte 程度です。256Kbyte のフラッシュメモリを積んでることから逆算すると、このバージョンのファームウェア (まだβ版ですが) は 120Kbyte くらいあるんでしょうかね。内部の詳細はまだよくわからないので推測にすぎませんが、従来に比べるとかなり大規模になっているのは間違いなさそうです。
NXT の分解もしてみたいですが、それは機会があったら (^^;
コメント