« カス | トップページ | Advanced W-ZERO3[es] »

2007年6月 6日 (水)

gpSP on Qt 4

と、いうわけでgpSPをいじってみました。(しつこい?)

「gpsp_0.9-3qt_4.zip」をダウンロード

スパロボとかのサウンドのずれをちょこっとだけ改善しました。kai 2.92からのマージです。中身は相変わらず実行ファイルのバイナリとsuhamiさんのソースとのパッチです。

まだ時間が経つとBGMはズレていったりしますが、SEがほぼちゃんとしたタイミングで鳴るようになったのは効果大です。
前バージョンまででセーブしたデータをステートロードするとずれたままゲームが進行していっちゃうので、ソフト自体のクイックセーブなどで一旦セーブしてからメニューからリセットして再開するとちゃんと音の同期が取れると思います。
また、まだずれる時はずれるので、そん時は諦めてください

あ、サウンドのサンプリングレートを22.05Hzから44.1Hzに変更したのでちょいと重くなってます。スパロボで遊ぶ人以外は前バージョン使ったほうが良いかも^^;

#ビルドは(以下略)

|

« カス | トップページ | Advanced W-ZERO3[es] »

コメント

音ズレはタイマーのバグのようです。
main.cを以下の修正で直ると思います。

@@ -106,7 +113,7 @@
{ \
timer[timer_number].count -= execute_cycles; \
io_registers[REG_TM##timer_number##D] = \
- -(timer[timer_number].count >> timer[timer_number].prescale); \
+ 0x10000 - (timer[timer_number].count >> timer[timer_number].prescale); \
} \
\
if(timer[timer_number].count <= 0) \
@@ -119,7 +126,7 @@
{ \
timer[timer_number + 1].count--; \
io_registers[REG_TM0D + (timer_number + 1) * 2] = \
- -(timer[timer_number + 1].count); \
+ 0x10000 - (timer[timer_number + 1].count); \
} \
\
if(timer_number < 2) \
@@ -133,6 +140,8 @@
\
timer[timer_number].count += \
(timer[timer_number].reload << timer[timer_number].prescale); \
+ io_registers[REG_TM##timer_number##D] = \
+ 0x10000 - (timer[timer_number].count >> timer[timer_number].prescale); \
} \
} \

投稿: takka | 2007年6月10日 (日) 13時08分

うぉ!Kaiの作者さん本人からコメント頂けるとは!感激です。
貴重な情報ありがとうございます。さっそく修正してみます。

投稿: えりお | 2007年6月10日 (日) 23時05分

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/199635/15330502

この記事へのトラックバック一覧です: gpSP on Qt 4:

« カス | トップページ | Advanced W-ZERO3[es] »