/* (c) Beer/Won-wan 2002.5.6 */ WonderWitch用のプログラムをBeWitchで動かす為には 1。ソースファイルが必要 BeWitchはCPUのエミュレータではありません。 必ずアプリケーションのソースが必要です。 主な注意点はWonXと同じだと考えて下さい。(多分) 参考にしようかと思ったんですがunix環境を整えるのも面倒だったので 結局0からの自力開発です。 2。BeOS用のincludeファイルを作成 WonderWitch用のincludeファイルに修正を加える必要があります。 ここが結構大変かもしれません。 修正した物の配布許可を申請して無いので各自作成して下さい。 3。フォントファイルも必要 WonderWitchに内蔵されているフォントの代用品が必要です。 (多分)幸運にもWitch採用されているのはフリーの恵梨沙フォントです。 後の説明に従って準備して下さい。 文字が表示されなくても良いなら、無くても動きます。 4。アプリケーションのソースファイルの修正 BeWitch用にほんの少し追加するだけです。 具体的な作業(/boot/home/bewitch/に置くものとして説明します) 1。BeOS上にBeWitchをインストール /boot/home/bewitchディレクトリを作成 BeWitch本体を/boot/home/bewitch/インストール ライブラリlibwitch.soを/boot/home/config/lib/にインストール 2。BeWitch用コンパイル環境を構築 /boot/home/bewitch/include/にWonderWitch用のincludeファイルをコピー 各includeファイルに以下の修正を行う。 (1) ヘッダファイル定義をBeWitch用に変更 具体的には先頭2ケ所と末尾の1ケ所を #ifndef _FCNTL_H_ → #ifndef _BW_FCNTL_H_ とする。 (2) far,nearポインタ指定を削除 far,nearを全部取るか、ファイル先頭に #define far #define near とする。 (3) int型をshortに変更 unsigned intもお忘れ無く。 (4) BeOS側のincludeファイルと重複する定義を削除 実際にコンパイルしてみるとwarningが出るので該当物を削除する。 3。フォントファイルの作成 swanから取り出すのがベストなんですが、 いろいろと問題があるといけないので、各自作成して下さい。 形式は、8x8dotのフォントを8bytesのバイナリで表し次の順に並べた物です。 000000-0003ff 1byte-character(ank:0x00-0x7f) 000400-07ffff 2byte-character(sjis:0x8080-0xffff) 処理を簡単にするために非常に無駄な構成となってます。 現在ファイル名は"/boot/home/bewitch/font/swanfont"固定です。 4。ソースファイルの修正 (0) 必要があれば改行コードを変更する。(行末でバックスラッシュを使っている場合等) (1) 各ファイルの先頭でbw.hをincludeする。 (2) main()の先頭にbw_start()を追加する。 返り値は0..成功 正..失敗 負..フォントファイルが見つからないがとりあえず成功 プログラム終了時はbw_quit()を追加する。 (3) ファイル操作をする場合はBeでのディレクトリを指定して下さい。 また、mmapは使えませんので全部メモリに読み込んで下さい。 (メモリエミュレーションしてないのでwitchの容量とは無関係です) 注意 文字コードはSJISのまま使って下さい。そういう仕様です。 int型はWonderWitchでは16bit、BeOSでは32bitとなっています。 bit数に依存するような部分ではshortを使うようにして下さい。 5。いざコンパイル libwitch.soをリンクするのをお忘れ無く。 6。実行〜 BeWitchを起動してからアプリケーションを実行して下さい。 アプリケーションは同時に複数実行しないでください。 BeWitchとアプリケーションは独立して動いているので、どちらか片方を終了しても もう一方は終了しません。注意して下さい。 キーは現在固定で、次の通りです。 x1-4 テンキー y1-4 カーソルキー a 'a' b 'b' start 's' 横表示にするとx,yキーの配置も変化します。 スライダーで実行速度が変化します。 key、tick_count、cursorが影響を受けます。(注意: sys_waitは変化しません)