とりあえず、メドがたって来たので新しいページを作りました。
w100用の邪道版に比べて安定ではありますが(システムのフリーズは起こらないと思う)、モノによっては、qvgaから復帰出来なくなってしまう事もあります(アプリがエラーで終了したり、ctrl-cとかをした時)。出来るだけ安全な方向へ持って行っているところです。
阿川さんは、iwmmxt+softfloatなlibSDLを作っているようですね。速度が必要な方はそちらを待つのが良いかと。
libSDL-bvddに必要な物 †
- PXA27XのSL-ZAURUS(今のところ、SL-C3000,SL-C1000(未確認))。
- 阿川さんのbvdd-0.3.0以降。
- sdlアプリ。ダブルバッファリング対応エミュ->zaurus用エミュ
- QtのQImageを通さないので速い(ハズ)。
- ダブルバッファリングが可能なので、スクロール物に強い(ハズ)
- VGA->QVGAをSDLで行なうので、その時の移行が速い。
- 回転までアプリで行なえるなら、直接バッファに書き込めるのでより速い(ダブルバッファリングも可)。
- bvdd-03 初公開
- bvdd-04 03に比べてどっちかていうと標準の形。アプリの終了の仕方によっては、qvgaから復帰できない事があるので、付属の'changemode'をシェルスクリプトに組み入れるのが吉。阿川さんのところにあるznesterを単体で使うと確実にQVGAから戻れません。大抵の物は、正しく終了すれば、03に比べ正しく戻りますが、ctrl-cとかした時にはSDL単体では全く戻ろうとはしません。
- bvdd-05 阿川さんのbvdd0.4で修正があったようなので、それに会わせました。
- bvdd-06 direct updateに明らかな間違いがあったので修正。
- bvdd-07 Cancelキーが正しく働いていなかった(close eventが呼ばれてた)ので、とりあえず動くように。SDLからclose eventも呼べるようにも(修正前の動作)。"shift"+"ctrl"+"cancel"を2回押せば、SDL側から強制終了できます。
- bvdd-07-2 bvdd-07のコンパイルがちょっと失敗してるみたいなので、コンパイルのやり直し。
ダウンロード(SL-C3000,SL-C1000のみです。阿川さんのbvddモジュールが必要です。) †
libsdl_1.2.5-bvdd-03_arm.ipk ipk(bvdd-0.3.1, bvdd-0.3.0対応)
libsdl_1.2.5-bvdd-04_arm.ipk ipk(bvdd-0.3.1, bvdd-0.3.0対応)
libsdl_1.2.5-bvdd-05_arm.ipk ipk(bvdd-0.4.0対応)
libsdl_1.2.5-bvdd-06_arm.ipk ipk(bvdd-0.4.0対応)
libsdl_1.2.5-bvdd-07_arm.ipk ipk(bvdd-0.4.0対応)
libsdl_1.2.5-bvdd-07-2_arm.ipk ipk(bvdd-0.4.0対応)
SDL-1.2.5-bvdd-03.tar.gz ソース(bvdd-0.3.1, bvdd-0.3.0対応)
SDL-1.2.5-bvdd-04.tar.gz ソース(bvdd-0.3.1, bvdd-0.3.0対応)
SDL-1.2.5-bvdd-05.tar.gz ソース(bvdd-0.4.0対応)
SDL-1.2.5-bvdd-06.patch
SDL-1.2.5-bvdd-05へのパッチ。
SDL-1.2.5-bvdd-07.patch
SDL-1.2.5-bvdd-06へのパッチ。
コンパイルは、
NM=arm-linux-nm LD=arm-linux-ld CC=arm-linux-gcc CXX=arm-linux-g++
RANLIB=arm-linux-ranlib AR=arm-linux-ar ../configure --disable-video-dummy
--disable-video-fbcon --disable-video-dga --disable-arts --disable-esd
--disable-alsa --disable-cdrom --disable-video-x11 --disable-nasm
--prefix=/opt/Qtopia/sharp/ --host=arm-linux --build=i686-pc-linux
--enable-video-bvdd --disable-video-qtopia --enable-joystick --enable-cdrom
で行ないました(最後にstrip済み)。
SDL_DOUBLEBUFが定義されていてるが、SDL_FLIPを使っていないアプリでも、自動認識で動くようにはしています。
特別に追加してるのは、
#define SDL_DIRECT 0x04000000
で、setVideoMode?を呼び出す時に、このフラグを付けると環境変数をいじらなくても直書き出来ます(こんなやり方は良くないと思ってますが)。
画面のupdateは、もともとはQtを除こうという考えだったので,sysvideo.ccの方に移ってしまってます。また、90度と180度回転は作ってません。
ダブルバッファリングは、3枚バッファを持っており、表示バッファを変更した後、最後に表示したバッファに書き込んでいます。間の1枚はVsyncに同期させると必要無いはずなのですが、同期させると遅くなってしまうので、同期せずに書き込みが確実に終了したバッファに切替えるために1枚余分に使っています。
問題点
- QVGAに変更した後、うまくVGAに戻れない時(エラー等の時)がある。->改良中。03でましになった方だが、まだまだ不安がある。画面が出ないので、単体では復帰が大変。家ではシリアルでつないでSDLアプリを立ち上げ通常終了させれば戻れるけど。
- 04では、libSDL単体ではあきらめて、シェルスクリプトで立ち上げる事を前提にして'changemode'というアプリでVGAへの復帰、再描画を行なえるようにしている。
邪道版Z Emu FrontEnd EXでのzemufeex_nes.shの例
----------------
#!/bin/bash
cd "$1"
znester "$2"
changemode
exit 0
----------------
アプリの後に'changemode'を入れるだけです。
- np2では、とりあえずタッチスクリーンは正しいところを指すようにしたが、その他ではかなり怪しい。->QWidgetのborderが問題。taskbar付近等データが取れない。考え中。
改良点
Qtからの脱却。->コンパイラの変更、softfloat化等が出来るから。キーとタッチスクリーンの入力とグラブが問題。考え中。->阿川さんがすでに行なっているので、私はたぶん行ないません。
更新日2005-08-13
- あまり遅くなるとend.さんのところの中の人に怒られそうなので、とりあえずページを作ってみました。予定では昨日出来てるはずだったんですけど。 -- ぴろ 2005-05-06 (金) 23:44:17
- SL-C3000+SpecialKernel? v18a+bvdd_0.3.1-1+libsdl_1.2.5-bvdd-04の環境にて、SMS plus for Zaurus が正常に動作しません。SDLのみ、阿川さんのlibsdl_1.2.5-slzaurus20050410にすると動作いたします(320)。症状は -- とと3? 2005-05-31 (火) 18:12:30
- 続き-失礼- 症状は画面がブラックアウトして音声のみ聞こえる状態です。キーは効いているようです。FB_SIZEなどの環境変数をいろいろいじっていると希に画面表示ができ、遊べることもあります。SMSについては情報も少なく苦慮しております。仕様でなく、なにかノウハウがあるようであればお知恵を拝借いただけるとうれしいです -- とと3? 2005-05-31 (火) 18:17:41
- 私が以前に調査した時も同じでした。その時気になったのでソースからコンパイルした所問題なかったので、バイナリの問題かなという感じです。私がコンパイルした物で試してみてください。本体のみ -- ぴろ 2005-05-31 (火) 22:19:58
- オリジナルからのコンパイルなので、少し動作が違うかも知れません。キー操作とか。 -- ぴろ 2005-05-31 (火) 22:29:49
- 動きました。誠にありがとうございます。キーはSMS Plusを参考にすればいいのかな。。ご親切感謝です。 -- とと3? 2005-06-01 (水) 12:05:05
- SL-C1000+v18a+bvdd-04で、ぴろさん作成のSMS動作確認出来ました。ありがとうございます。ただ、当方のみの不具合かもしれませんがオプションの--fmが対応しませんでした。 -- 石川圭介? 2005-06-04 (土) 12:55:41
- 良く見たら、eheさん所のソースを使ってたんで、オプションとかは動くと思うんですけど。 -- ぴろ 2005-06-07 (火) 22:47:00
- ZAURUS用エミュのページの物でFM音源が鳴りました。お騒がせして済みませんでした〜 -- 石川圭介? 2005-06-08 (水) 10:14:23
- ZEmuFEEXでキーの動きがおかしくなりました。 -- gege? 2005-06-08 (水) 21:24:30
- bvdd 0.4.0 を導入したら、GNUBOYで上下左右の操作がおかしくなっちゃった(上を押すと右になる…)。 -- だいすけっち? 2005-06-09 (木) 14:19:28
- GBAエミュを立ち上げると、今度はキャンセルキーが働きません…。 -- だいすけっち? 2005-06-09 (木) 14:48:44
- ZEmuFEEXでは、gnuboyとznesterは完全に組み込まれてるので、通常のlibSDLでしかうまく動かないというのを聞いた事があるような気がします。気が向けばこちらの方で試して見ると良いかも知れません。また、optionでは'by system'にする必要があります。 -- ぴろ 2005-06-09 (木) 23:53:35
- ぴろさんありがとうございます。試してみましたが、SNESは問題はありませんでしたが(ちょっと遅くなった感じ)、ZPCEの場合操作がおかしいです -- gege? 2005-06-13 (月) 00:31:41
- zpceは、全くチェックしてませんでした。でもsnesは遅くなりました?>gegeさん。 -- ぴろ 2005-06-13 (月) 20:05:43
- 満足します^^はやいです -- gege? 2005-06-25 (土) 10:36:15
- SL-C3100環境での話なのですが。bvdd対応SDLを使ってますと、ONScripterで右クリックメニューを出そうとEscキーを押した瞬間、アプリ自体が終了してしまいます。先日阿川さんが公開されたC3100対応ノーマルSDLを使った場合は普通に右クリック扱いになっていたので、何とかご対応いただけないかと思うのですが…。 -- ぽやっちお? 2005-08-03 (水) 02:08:51
- C700の時のハードウェアローテションから確実に回復させるために付けたのが、残ってるのだと思います。体調が回復してきたので時間ができれば修正します。 -- ぴろ 2005-08-03 (水) 23:28:55
- 調べた結果では、ちゃんとキーのグラブがなされていないようです。対応策考え中です。 -- ぴろ 2005-08-08 (月) 02:02:34
- cancelキーの件、とりあえず対応してみました。チェックお願いできますか?>ぽやっちおさん。 -- ぴろ 2005-08-08 (月) 22:17:51
- ぽやっちお氏ではないですが、07にてONScripter、np2使用時Cancelキーでアプリケーションが終了しないことを確認しました。ご対応ありがとうございました。 -- AC@3100user? 2005-08-09 (火) 00:07:11
- 3100にて07を入れてみたのですが、これまでCancelキーで正常に終了していたsnes9xがホワイトアウトでハングアップ状態になるようになったのでとりあえず06に戻しました。他の方はいかがでしょうか? -- みゅ? 2005-08-09 (火) 18:56:41
- 当方bvdd用snes9xにて-x2オプション有無に関らず特に不都合ありません。QVGAで運用されているならばchangemode関連ではないでしょうか? -- AC@3100user? 2005-08-09 (火) 20:30:52
- AC@3100Userさん、ありがとうございます。シェルスクリプトに記述して、明日の朝再度入れてみます。 -- みゅ? 2005-08-09 (火) 21:07:15
- やはり、私の環境ではホワイトアウト&ハングしてしまいます。真っ白な画面にQtopia Memory Applet のメモリ残量インジケータのみ見える感じでハングします。で、06に戻し運用中です。(相性問題かも) -- みゅ? 2005-08-10 (水) 20:42:59
- bvdd-07のコンパイルが失敗してたみたいなので修正しました。 -- ぴろ 2005-08-13 (土) 00:45:13
- ぴろさん、07−2試してみました。 バッチリです。 ご対応いただき、ありがとうございました。 (すばらしいです!) -- みゅ? 2005-08-13 (土) 06:35:46
- 07-2を試用してみました。当方では07でもみゅさんの仰るような症状は出ていませんでしたが、07-2も通常使用時に正常に動作しているようです。ただ、07では動作していた"Shift"+"Ctrl"+"Cancel"x2による強制終了が私の環境では動作しなくなったようです。 -- AC@3100user? 2005-08-18 (木) 11:59:46
- わたしのところでは、"Shift"+"Ctrl"+"Cancel"x2は動くんですけど、キー的(Cancel)に問題がありそうな感じもするので、"Shift"+"Ctrl"+"Q"とかに変更しようとか考えてます。 -- ぴろ 2005-08-24 (水) 00:15:06
- C3000で素のコンソール(qt未起動)からQVGAモードになる方法をしっていましたらご教授ねがえませんでしょうか?qtのコードをはずしてコンパイルしたchangemodeを使いましたが固まってしまいました。カーネルはSpecialKernelV18aをつかっています -- PON? 2005-09-18 (日) 21:18:05
- コンソールでQVGAにするのは、ioctlでframebufferを叩いてやれば変更されますが、fbconも初期化しないと正しいコンソールとして使用できないです。fbconの初期化はやったこと無いのでわかりませんけど。 -- ぴろ 2005-09-20 (火) 21:29:50
- ありがとうございます〜。自分で試してみます。 -- PON? 2005-09-20 (火) 22:18:51
- snes joy -- 2005-10-24 (月) 23:17:43
- Env: C3000 + bvdd 0.4.0-1 + libSDL-bvdd-07-2 . When play games at 320*240 mode, the Direct Pad mapping error. Left becomes up, down becomes left, right becomes down and up becomes right~~~ -- Louis? 2006-01-01 (日) 12:02:57
- 私も,sl-c1000でsnes9xをlibsdl-bvdd(最新版)で使うと右ー左が上と下になってしまいます。(snes9xの設定でqtopiaにしていますが、systemにすると全く動かない状態です)。 -- matthis? 2006-01-28 (土) 19:37:06
- ↑上の過去コメントの13個目で解決するのでは -- Val? 2006-01-29 (日) 06:40:18
- ジョイスティック(joypad)のことですね。Joypadはあとで使うようにしたので、ちゃんと対応してないかもしれません。あとZ Emu FrontEnd EXを使ってるならば、おそらく邪道版ここの下の方を入れて、by systemにしないといけないかもしれません。 -- ぴろ 2006-01-29 (日) 22:15:55
- ,sl-c3200でぴろさんのsdl-07-2を使うと、方向キーが90度ズレます。阿川さんのsdlでは上下左右反転に。。。snesなら export S9XKEYS=27,100,99,115,120,97,122,13,32,110,117,103,106,121,98,105,109 で正常動作です。ただし、zemufe から起動すると環境変数が消えてしまうので、export後にsnes <rom>で起動してます. -- woodstk? 2006-04-08 (土) 02:13:53
- 再起動後にsnes9x <rom>だけで、正常動作しました。同じ話題を繰り返してしまった、すまん。sdlによって方向キーが違うのは全部Z Emu FrontEnd経由での話です。お騒がせしました。いろいろインストールしてますが3200だから動かない物には出会ってませんね。唯一この問題がありましたが解決です -- woodstk? 2006-04-08 (土) 02:58:04
- libSDL-bvddを、それに対応していないゲームで使うとタッチする場所より10ピクセル上ぐらいが選択されます。それって何か設定して直りますか?よろしくお願いします -- matthis? 2006-04-22 (土) 13:38:38
- やっぱり、タッチスクリーンがおかしいですか?とりあえずnp2用だけ比較的ましに動くようにしたもので。ただ、VGAとQVGAが混じった上にスクリーンのローテーションが入るのでなかなか難しいのですよ。アプリ側の問題もあるし -- ぴろ 2006-05-03 (水) 23:31:17
- 07-2を使わせていただいてますSL-C3200ユーザです。ところで、わっふるを実行すると無理やり270度回転されたような表示になってしまいまsitaす。 -- ton? 2006-05-14 (日) 03:55:45
- ソースを見たらSDL_QT_ROTATIONというのがあるんですね。=0にしたら正常に表示されるようになりました。お騒がせしましたm(__)m -- ton? 2006-05-14 (日) 04:17:35
- 組合せがいろいろあって混乱しているのですが、十字キーが90度回転する現象はbvdd用libSDLと邪道版FrontEndとぴろさん配布のエミュ達でやってる場合、どう対処すべきなのでしょうか? -- かな? 2006-05-16 (火) 12:02:23
- タッチスクリーンの問題、こちらでも発生しました。TuxPaint?を使用するとタッチした位置よりも10ピクセルぐらい上でお絵かきされてしまう・・・ -- サム? 2006-05-19 (金) 13:36:28
- おはつにお目にかかります。モジュールをC1000で使わせていただています。 snes9x を起動すると必ず "Can't get proc entry" というエラーが出ます。動作に支障はないですが、原因をご存知の方がいらっしゃいましたら参考までにお教えいただきたいと思います。 -- Tom.Y? 2006-06-15 (木) 13:04:37
- sdl bvddをコンパイルしたが、実際にsdlを使うプログラムをコンパイルしてみると、次のエラーが最後に出る: undefined reference to DISKAUD_bootstrap, SDL_SYS_JoystickUpdate?, SDL_SYS_joystickUpdate, DSP_bootstrap, SDL_SYS_CDInit,, Qtopia_bootstrap, DMA_bootstrap, SDL_SYS_CDQuit. どうすればいいでしょうか?よろしくお願いします -- matthis?
- たぶんコンパイルしたライブラリが、うまくリンクされていないと思うんですが。正しい位置にlibsdlとlibsdlmainとかを入れるか、makefileを変更して直接指定してやるといいと思います。また、SDLのコンパイルがうまくいけていない可能性もあるので、make clean&configure&makeしてやるといいかもしれません。 -- ぴろ
Counter: 3693,
today: 1,
yesterday: 0