WSSIM ワンダーウィッチエミュレーションライブラリ
解説書 ver 0.8a



WSSIM サンプル画面
WSSIM 上で動作中の「親父王」画面


目次


概要
WWITCHのBIOS呼び出し(int 〜)の代わりに、対応するサブルーチンを呼ぶことによって、 MS−DOSモードで、VGAの320x200モードの画面を使用し、 ワンダーウィッチの画面と入力をエミュレートします。
これにより、ワンダーウィッチに転送せず、MS−DOSモードの環境で、 ワンダーウィッチ用のプログラムをテストランさせることができます。
とくに、アクションゲームを作成するために必要な部分から設計を行っているので、 ほかの分野のプログラムにはあまりなじまないと思われます。
→0.8a での重要な変更点

長所

画期的な長所

些細な長所

短所

重大な短所

些細な短所

ゲーム専用の開発で、ワンダーウィッチ実機でのデバッグにへきへきなさっている方は、 試してみるのもよいと思います。
アクションゲーム開発のためだけでなら、この短所をカバーして余りある長所を持っていると思います。


要求スペック(Windows)
だいたいのWindows機で大丈夫だと思います。
VGAをきちんと処理できるビデオカード、ビデオドライバが必要です。
VGAの画面モード$13を使用します。
ウィンドウ表示(フルスクリーンでない)DOS窓の場合、VSYNC待ちがうまく処理されず、 画面の更新が異常になることがあるかもしれません(ビデオドライバ、ビデオカード次第)
CPUのパワーは、セレロンで466メガのものでも処理速度はかなり余裕がありますので、 1998年以降ぐらいにそろえたPCならだいたい大丈夫だと思います。 (やってみないと分かりませんが・・・)


サンプルプログラム
wssimsam.lzh に、TCで使用できるサンプルがいくつか入れてあります。 ためしに見てください。make も、おそらくTCの中のmakeでいけると思います。 (VisualC++のある方なら、nmake.exeが確実)
正常に sys_wait() が回っていれば、ESC キーでDOSに戻るはずです。 ESC のチェックは、sys_wait() 内で行っています。
ワンダーウィッチとのキーの対応は、
カーソル上下左右/テンキー2468 → Y方向キー
アルファベットのXSDE → X方向キー
ENTER → A
右SHIFT → B
SPACE → START
です。
なお、大掛かりなサンプルとして、「親父王」が入れてあります。 性能や、その他の参考にご覧ください。
親父王はアセンブラで作られているので、 アセンブラからの使用のサンプルとしてもご覧ください。
wssimsam.lzh は大きいので、サンプルがひとつだけ、wssim.lzh にも 入っています。


対応BIOS一覧

重要なTIPSのある関数には、◎のマークがついています。
その先のリンクの説明は必ず目を通しておいてください。

画面BIOS

カラーライブラリ→

テキストBIOSの一部(カーソル系はごっそりありません)

タイマBIOSの一部

キーBIOSの一部

システムBIOSの一部

その他の関数

サウンドBIOSと、バンクBIOSはありません。 wssim.h には、一応「何もしない」サウンドBIOSが定義だけされています。 足りないBIOSの対応要望や、私のひまな時間が多くあれば、 どんどん対応を増やしていこうと思います。


Cからの使用法
ターボCからWSSIMを使用するには、以下のようにします。


アセンブラからの使用法
一般のアセンブラからWSSIMを使用するには、以下のようにします。
アセンブラでWSSIMを使用する方は、あるていどのスキルがあり、 あまり私のほうからあーだこーだ言わなくても、 うまくリンクして使ってくれるものだと信じます。(自分勝手?)


技術的なTIPS
以下に、さまざまな注意事項を記します。
分からない!や、走らない!場合に、参考にしてください。


WSSIM固有のサブルーチン(関数)リファレンス
WSSIM にだけあり、wwitch実機にないサブルーチン/関数の解説です。


WSSIMのアセンブラインターフェイスリファレンス
WSSIM のBIOSを、アセンブラから呼び出す場合の説明です。
wssim.inc 内に、必要な定義があります。一応、tasm でうまくいくことは確認しています。
optasm でも確認しています。masm では確認していません。
カラーライブラリは、直接 WS_SET_COLOR_MODE などの、wssim.inc の定義の サブルーチンを呼ばないでください。面倒でも、_wssim_wwc_set_color_mode などを、Cリンケージで呼んでください。
例:
push  COLOR_MODE_16COLOR
call  _wssim_wwc_set_color_mode
pop   ax


あとがき 0.8a版
最近更新していません。
DMCとかいう奴が流行ってるみたいなので、それで使えるかどうかのテストや、 それなりの対応でもしようかなぁ・・・。


プログラム&ドキュメント作成 ABS Systems.