川俣 晶(かわまた あきら)
1964年4月生まれの東京出身。東京農工大化学工学科を卒業後,マイクロソフトでMicrosoft Windows 2.1~3.0の日本語化に従事。現在はピーデー代表取締役。日本XMLユーザーグループ代表。Microsoft Most Valuable Professional(MVP)。

 やたら余談が長いこの連載も,今回でついに最終回となる。連載の締めくくりとして,なぜ他の環境ではなくW-ZERO3(Windows Mobile)で書くのか…という話をしてみよう。

 実は,そのような環境間の比較のために,ワンべぇWMはもってこいの題材なのである。このプログラムは,全く異質な三つの環境を渡り歩き,その過程で対応すべき新しい環境に合わせて仕様も変化せざるを得なかった経緯を持つ。

 そう…,同じではいられなかったのだ。

 これは,100%Pure Javaのような思想が間違っていると思うからあえて変えたのではない。要求から来る必然により,変わるという選択肢しか残っていなかったのだ。

 そのような状況は,裏を返せば,環境間の何が本質的に違うのかを浮き彫りにしてくれるだろう。そして,どのような価値を得るために,あえてW-ZERO3(Windows Mobile)で書くという行為が意味を持つのかも見えてくるだろう。

 もちろん,ワンべぇWMだけですべての本質を浮き彫りにすることは出来ない。せいぜい,一断面を照らしてみるのがせいぜいだろう。だが,そこから得られるものは多いはずである。

ワンべぇの三つの動作環境

 ワンべぇは,以下の三つの環境で動作する。

  • W-ZERO3(Windows Mobile)
  • Win32(デスクトップOSとしてのWindows)
  • WonderWitch(ワンダーウィッチ)

 W-ZERO3はこの連載の主テーマなので,もはや説明は不要だろう。PHS内蔵の人気モバイル・デバイスである。搭載されているOSをWindows Mobileと呼び,これは通常のパソコンで使用するWindowsとは異なるものである。

 ちなみに,Windows Mobileを搭載したデバイスはW-ZERO3だけではない。例えば,ソフトバンクの「X01HT」もWindows Mobileを搭載している。現在のワンべぇWMはX01HTでも動作するが,技術的にはいろいろなトピックがあり,一筋縄では行かない。この話題は最後のカコミ記事「ワンべぇWMのX01HT対応について」にまとめた。

 Win32は,(64ビットで使用していなければ)もちろん我々が通常Windowsだと思って使っているデスクトップPCやノートPCのOSとしてのWindowsである。Windows XPやWindows Vistaがこれにあたる。Windows Mobileよりも大きく重くパワーのあるマシンで使われるOSといえる。

 最後のWonderWitchについては,少し詳しく説明しておこう。これからの話で,それが重要な意味を持つのである。

 WonderWitchは,バンダイが販売する携帯型ゲーム機のWonderSwan(ワンダースワン)上で,誰でもプログラムを作成可能とする製品である。WonderSwanは,モノクロまたはカラーの液晶と,約10個のボタン持ち,単3電池1本で稼働する。CPUは,x86系のV30MZコアを搭載していて,16ビット時代のパソコン用コンパイラでプログラム開発を行うこともできる。通常,専用のROMカートリッジでプログラム(ほとんどはゲーム)が提供され,ユーザーは挿入するROMカートリッジを選ぶという以上の選択の余地を持たない。しかし,WonderWitchを使えば,誰でも自作プログラムを実行させることが可能となる。

 そのWonderWitchには,以下の三つのものが付属している。

 一つ目は,フラッシュメモリーとRAMを搭載したメモリー・カートリッジである。これには,FreyaOSという独自OSがあらかじめ書き込まれているほか,自作プログラムも格納し,実行できる。

 二つ目は,PCとWonderSwanを接続する専用のシリアル・ケーブルである。

 三つめは,PC上でクロス開発を行うためのソフトウエア一式である。専用の転送プログラム,Cコンパイラ,専用ライブラリ,ドキュメントなどが含まれる。標準で提供されるCコンパイラは「Turbo C 2.0」「LSI C-86 for WonderWitch」と二つもある。いずれも,16ビット時代には人気のあったCコンパイラである。

 さて,すでにおわかりの通り,WonderWitchによるプログラム開発とは,パソコン上で実行ファイルを作成してからWonderSwan(より正確にはWonderWitchカートリッジ)に転送して実行させるというクロス開発そのものである。

 しかし,わんべぇはクロス開発というスタイルを取っていない。この話題は,実はW-ZERO3の特徴を強烈に特徴づける伏線なので詳しく説明しよう。