Click


第1弾:WonderSwan用プログラムツール「WonderWitch」
目覚めよホビープログラマ!


●はじめに

WonderWitchのパッケージ

 まだX68000やFM-TOWNS、PC-9801がバリバリの現役だったころ。もう少し遡ってMSXやX1や…えい、ついでだ、PC-8001やPC6001の頃でもいい。とにかく、昔はアマチュアプログラマってやつが結構いた。それも、ゲームとかホビープログラマのくせに「サイクル数」とか「ループ展開」とかあまつさえ「自己書き換え」なんて用語が平気で出てくるような連中。そういう連中にはある種の制約はあっても、ハードをいじることに制約が少なく、自由になんでもいじれるギミックが必須だ。昔は、そういう環境があった。

 それがどうしたことだろう、Windowsの世になったらと思ったら、それまでの自由はどこかに行ってしまい、ビデオI/Oは、Directとは名ばかりのビデオメモリフリッピングルーチンに変わってしまい、あまつさえそれがまた土台になる出来の悪いOSの出来の悪いパレットを共用しなくてはならない代物だったり、本格的なコンパイラと情報は金に糸目をつけない企業だけのものとなってしまった。
 ともかく、最近ではかつてのホビープログラマをうならせるだけのプログラミング開発環境も皆無に等しく(“なんとかBASIC”なるお手軽、しかし押しつけプログラミングツールを使うことがプログラミングと勘違いした若者たちのなんと多いことよ。嘆かわしい)、往年のプログラマたちも静かになってしまったのが、ここ最近の状況だったわけだ。

 しかし、今ここに、かつての「コア・ホビープログラマ」たちが舌なめずりをしそうな製品が発売された。その名も「WonderWitch」。7月17日から発売が開始された、バンダイ製の携帯ゲーム機「WonderSwan」でのプログラミングが楽しめる、パーソナル向けのソフトウエア開発・配布キットだ。今回はこのWonderWitchがどんなモノなのか、なにがうれしいのかをお伝えしよう。


●WonderWitchとは

パッケージに収められているもの。WonderSwan用の専用カートリッジ、WonderSwan用ケーブル、CD-ROMに説明書

 このWonderWitchだが、開発はQute、販売はバンダイの、レッキとしたメーカー公認・パーソナル向けソフトウエア開発キットである。
 この「公認である」ということに加えて以下のようなメリットがある。

 上記のような理由から一部のホビープログラマの間では今、かなり話題の商品となっている。ではまず、WonderWitchでなにができるかを解説していこう。

1) プログラムの作成

 WonderSwan上で動作するプログラムをPC上で作ることができる。ちなみに、原則としてCコンパイラでソースコードをコンパイルして、WonderSwan上で実行可能なプログラムファイルを作成する。もちろん、作ったプログラムは自由に配布でき、Web サイトでの公開、WonderSwan 同士のプログラム交換も可能。

2) WonderSwanへのプログラム、データ転送 (PC - WonderSwan)

 1)に付随して、PC接続ケーブルを使って、PCとWonderSwan間でのプログラムやデータの転送ができる。

3) インターネットで公開されるプログラムの利用

 PC上のWebブラウザ等で、WonderWitch用プログラムをPCにダウンロード。ダウンロードしたプログラムをWonderSwanに転送してランチャーから起動。

 上記3つがWonderWitchで主にできることだ。現在、ユーザーの書いたプログラムはほとんど公開されていないので、現在のユーザーのほとんどは「自力でCのソースを書いて自分のWonderSwanで実行する」人たちだろう。

 標準小売り価格は16,800円。現在WonderSwan本体はオープン価格となっているが、大体、3000円台後半で売られていることが多いようなので、PC以外全てそろえても2万円程度で一式環境をそろえることができる。これまでのホビープログラミング環境と比較してもかなり安くあがる、この値段も魅力だろう。それに、携帯ゲーム機が1台ついてくる……というおまけもある。


● 内容はケーブル+コンパイラ+ツール+マニュアル

 さて、それでは、WonderWitchの中身を詳しく見ていこう。WodnerWitchの製品構成は、PC-WonderSwan接続ケーブルセット、WonderWitch専用カートリッジ、CD-ROMマニュアルからなっている。

・PC - WonderSwan 接続ケーブル

接続ケーブルはスワンケーブルとクロスケーブルの2本が収められている両方を接続してしよう

 これはPCのRS-232C端子からWonderSwanを接続するためのケーブル。
 物理的には、PC側のDSUB9ピン-DSUB9ピンのクロスケーブルとDSUB9ピン-WonderSwanEXTコネクタケーブルに別れているが、これを接続して1本にして使用する。WonderSwan側のコネクタも形状は独自だが、実はRS-232と電気的にコンパチブルなインターフェースで、WonderWitchを使ったプログラミングでもWonderSwanのシリアルポートのopen、closeでこのポートを制御することができる。

・WonderWitch 専用カートリッジ (OS、Font 内蔵)

専用カートリッジ。写真のパッケージは取り替え用の市販パッケージ

 WonderSwanは、通常ゲームをプレイするときには本体背面にあるスロットにゲームカートリッジを刺すわけだが、WonderWitchで開発したプログラムをプレイするには、この専用カートリッジを背面に刺して使うことになる。
 WonderWitch専用カートリッジには512KBのフラッシュメモリと256KBのSRAMが搭載されている。フラッシュメモリの内訳は64KBが電気的に書き換え不可となっており、ここがBIOS。続いての64KBにはOSと日本語フォント (恵梨沙フォント,8×8 dot, 第1/第2水準)。残りの384KBはハードファイルシステムとして利用される。
 SRAMは64×4バンクに別れており、それぞれ、OS用ワークエリア、ユーザープロセス用データエリア×2、ソフトファイルシステムとなっている。共に、電源がOFFとなっても内容は保存される。また、RTC(時計/カレンダー機能)もこのカートリッジの中に含まれている。
 ちなみに、このカートリッジは単体でも発売されている(3,980円)ので、もし、他のWonderSwanユーザーにプログラムを渡したいときには、カートリッジのみを買ってきて、WonderSwanバイナリをこれに入れて渡すことも可能だ。

・CD-ROM (ソフトウエア)

 CD-ROMに収められているソフトウエアは、CコンパイラとWonderWitch形式へのコンバーターなどのツール。それにサンプルプログラムドキュメントなど。コンパイラはLSI Cコンパイラ(WonderWitch専用・試食版)とTurbo C1.0が収録されている。DOS時代にCコンパイラを使っていた方には懐かしい、あのコンパイラだ。
 WonderSwanのCPUはIntel 80186バイナリ互換のカスタムCPUだ(ただし、一クロック/一バスサイクルとなっており、内部パイプラインにより命令実行サイクル数も短くなり、高速化が図られている)。

 そこで、WonderWitchで、プログラムを作成するには、このCコンパイラでソースをコンパイルし、生成されたオブジェクトを、WonderWitchカートリッジ内のROMにおさめられているOSの形式に変換して、使用することになる。ちなみに、LSI C86 for WonderWitch、TurboC、好みによってどちらを使って開発してもよい(なお、開発元であるQuteによると、LSIC 86製品版でWonderWitchプログラムの開発をすることはできないそうである)。
 他に、WonderSwanへプログラムを転送するためのWindowsアプリケーション「ファイル転送ツール」、WonderSwan用プログラムからインクルード、リンクされる「C ヘッダファイル、ライブラリ」、それにサンプルプログラム、ドキュメントなどが入っている。なお、サンプルプログラムは簡単なサンプルが「samples」フォルダにある他に、「contrib」フォルダの方にゲームなど実用的なプログラミングサンプルがあるので忘れずにこちらも見ておくといいだろう。

・マニュアル

 いわずとしれた、WonderWitchのハードウエア、ソフトウエア、FreyaOSの使い方、プログラミングの仕方、OS,IL,BIOSコールのリファレンスが掲載されている。


● 要するにクロス開発環境だ

 さて、プログラム作成の手順だが、要するに簡単なクロス開発だ。
 LSI C、TurboCいずれもDOS上のコンパイラなので、DOS(WindowsのDOSプロンプトで可)の動く環境でソースをまず、オブジェクト形式にコンパイルすることになる。そして、PC上のコンバーターにて、WonderWitchバイナリ形式に変換(この時に、プログラムの説明文など、バイナリにWonderWitchプログラム特有の情報が付加される)、転送ツールで転送を行なう。ちなみに、転送アルゴリズム自体は単なるXModemなので、自分で好みの転送ツールを使うことも可能だ。

 ライブラリなどはすべてWonderWitch専用のものを使うので、DOSプログラムをそのまま持ってくるわけにはいかないが、FreyaOSでもファイルのopen、closeくらいはサポートしているし、BIOSコールもそれなりに揃っているので、WonderSwanプログラミングの勘所さえわかっていれば移植作業はそう厄介ではないだろう。ただし、CPUクロックが3.07Mhzと、現在のPCなどの環境と比較すると相当非力であることを忘れてはいけないが。

 明日はゲームプログラムの核心に触れる話題を、実際のプログラムソースも含めて解説していきます。お楽しみに。

□バンダイのホームページ
http://www.bandai.co.jp/
□Quteのホームページ
http://www.qute.co.jp/
□WonderSwanのホームページ
http://www.swan.channel.or.jp/
□WonderWitchのホームページ
http://www.swan.channel.or.jp/wonderwitch/index.html
□WonderWitchのサポートページ
(ダウンロードコーナーなどはユーザー登録をしなければ利用できない)
http://wonderwitch.qute.co.jp/

(2000年8月7日)

[Text by 大和哲]


【PC Watchホームページ】


ウォッチ編集部内PC Watch担当 pc-watch-info@impress.co.jp