GSF

「GSF」の編集履歴(バックアップ)一覧に戻る

GSF - (2018/12/26 (水) 02:05:41) のソース

GSF(GBA Sound Format)とは Caitsith2氏とZoopd氏によって開発されたPortable Sound Formatに属するサウンドフォーマットである。

**Sappy Driverを使用してるゲーム

http://gsf.caitsith2.net/ripping.html
saptapperとgsfoptをダウンロード
saptapper.exeとゲームのロムと同じフォルダに入れる。
同じフォルダでテキストファイルを作成して

saptapper ***.gba

(***.gbaはロムファイルの名前、半角8文字以内に変更してから)
と打ち込んで保存。
その後そのファイルの名前をsaptapper.batに変更。
saptapper.batを実行するとゲームファイル名のフォルダが作成されて.gsflibと.minigsfが作成される
要らない.minigsfファイルを削除
作成されたフォルダにgsfopt.exeを入れてoptimize.batを実行すれば
.gsflibファイル中の曲の再生に必要なデータだけ残して後は削除してくれる。

タグ入れたり時間を入力すれば完成

※注 現在、rippingページに置いてあるgsfoptでは正常にOptimize出来ないケースがあるようです。
その場合はこちらの古いバージョンの[[gsfopt.rar>http://www16.atwiki.jp/soundfile?cmd=upload&act=open&pageid=14&file=gsfopt.rar]]だと出来る場合があるようですのでそちらを利用してください。


>ただしメーカー独自のドライバを使用してるゲームは
>当然仕様が大幅に違うのでsaptapperでは作成できない。
>以下へ続く。

**それ以外のゲーム
[[loveemu氏の解説>http://twilog.org/loveemuchan/month-1503]]を参考に
-no$gbaほか各エミュレータ
-バイナリエディタ
などを用意する。
そのまま解説の通りにデバッガとメモリウォッチなどを駆使して目的のアドレスを探していく。
なおbl命令の呼び出し直前にある mov rXX,XXh や ldr rXX などが
サウンドリクエスト番号である場合が多い。
もちろんレジスタ指定のメモリから読み込む ldr rXX,[rXX] などの場合もある。

またno$gba ([[その他]]no$シリーズ)はアセンブルウインドウ内を右クリックし、「Change Instruction」を選び
命令を関数で書くことでリアルタイムに命令を上書きし、命令のオペコードも確認することができる。
それらしい処理見つけた場合はいろいろ書き換えて確認してみるのがいい。

これだけではgsfファイルは作れないかもしれないが、少なくともバイナリ書き換えで
自由にゲーム中の曲番号を変更する程度は可能。のはず。

参考になりそうなサイト
-http://tatsu.webspace.ne.jp/bbs/tatsu_tree_p_2042.html
-http://www24.atwiki.jp/ds_dat2/pages/17.html
-http://jibunstyle.net/gba/
-http://omoshiro-joho.com/tech-center/cgi-bin/wiki/index.php?Linux%A4%C7GBA%A5%B2%A1%BC%A5%E0%B3%AB%C8%AF
-http://akkera102.sakura.ne.jp/gbadev/index.php
-ほか https://www.google.co.jp/search?q=gba+%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%A9&hl=ja&gbv=2&nfpr=&spell=1&oq=gba+%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%A9