2010年8月22日日曜日

突発で、GC触って気づいた事

今日、うちの子が突然「ドンキーコンガをやりたい」と言い出した。

なんで今更やねん・・・セットするの面倒だなぁ・・・と思いつつも、静かにさせるためには用意しないと(^-^;

で、押入れさばくってたら「どう森+」が一緒に出てきた。

PICT5275

既にレトロゲームですね(笑

そういえば、むか~しあやすけさんがファミコン吸い出してたなぁ・・・と思い出す。

私は吸い出した事なかったので、今更ながら吸い出ししてみる。

やり方は上のリンク先を見てもらうとして・・・

(yaz0dec.exeまで終わらせておく)

mori0

qd(FDSのがわかりやすいかな)ファイルがエミュで動かない、ってトコが気になったのでバイナリ見てみると・・・

あ~なるほどぉ~

ブロック間の「2Byte分の00」を見てわかりました。

これってMGD1の先頭3Byte取ったものと同じじゃんw

ってことは。

mori1

バイナリエディタで先頭に3Byteだけデータを追加する。

コンバータ(mgd1cnv.exe)の仕様上、MGD1→FDSへの変換時にはMGD1形式の先頭3Byteは無視するのでFFFFFFでも012345でも何でも良い(笑

(コンバータの都合上ファイル名のスペースが使えないので、後で適当なファイル名に変更しておくことを忘れずに)

【追記】

DOSモードのプログラムでスペースが入るファイルを使用する場合、

mgd1cnv "file 1.rarc" file1.fds

みたいに、ファイル名をダブルクォーテーション「 ”」で囲むと使用できます。

mori2

CMDウィンドウを開いてコンバートする。

あ、両面のゼルダ&村雨は自分のやりやすい方法で分割してください(^-^;

mori3 mori4 mori5 mori6

ということで、無事起動できた。

がっ、若干GC用に手直しされているのか・・・ゼルダはボタンが効かないからタイトルから進まない、村雨はB面切り替え時にエラーで止まる(笑

【追記】

コメントにてねこかぶさんに教えていただいた通り、ゼルダはタイトルで、村雨はエラーの画面でB面をセットしてやると何事も無かったようにゲームが進行しました(笑

GBAではディスクの入れ替え作業は当然無いので、おそらくプログラム上で自動化されてるのかなぁ、と勝手に推測。

SMB2とクルクルランドもヘッダ以外のデータが若干違うので、もしかしたら途中で止まるかも?

違うのがヘッダ情報だけじゃないからあえて細かくは調べてない・・・多分わからないからw

そんなわけで、qd(fds)のデータはちょっと扱いにくい、かな?

一応、yaz0dec.exeのソースは公開されてるので、既存のFDSデータを逆コンバートしてどう森+などに埋め込めば動かせるかもしれない。

ま、利点は全然無いけども(笑

.

GC序に。

PICT5276

PS2やXBOX(360)も含めてソニックのROMデータが含まれてるゲームは色々とありますが、個々にデータの圧縮方法(?)が違っている。

でもって海外のサイトを回ってもこれらの展開方法はまだ発見されてないのか、どこにも情報が無いんですよねぇ。

mori7

GC版メガコレクションには計16本入ってるんだけども。

ちょっと考えてたことがありますが、展開方法がわからずに現在に至ってます(^-^;

ソニックは世界的にだ~れも弄らないのだろうか(笑

8 件のコメント:

ゆーすけ さんのコメント...

これはまた……興味深い事を!
こういうの大好きです!
僕も、なんとかディスクシステムのゲームを純粋なカセットにできないかとチャレンジもしましたが、結局わからずじまいでしたw

そして奇遇なことに、先日たまたま「ソニックメガコレクション」を買ってたので、これもチャレンジしてみたいですね。
まぁ、僕が出来る程度なら他の人がやってるんでしょうけどw

ぽんRev さんのコメント...

MGD1が特殊フォーマットかと思ってましたが、本家が使ってるって事はFDSのが特殊になるのかな(笑

メガコレクションのROM解析はなかなか・・・
ゆーすけさん、是非解析してくださいっ!

ねこかぶ さんのコメント...

はじめまして、ねこかぶです・

ずっとqdファイルの使い道がなかったので
この情報はとてもありがたいです。

記事中に止まると書いてありますが
ゼルダ1はタイトル画面で、村雨はエラー表示されたら
B面に入れ替えでそれ以降に進めました。

>GC版メガコレクション
私もファイルから直接変換できないか
試したことがありますができなかったので
ゲーム中のメモリをgcnrd等でダンプし
そこから復号化されたロムを切り出す
という方法をやりました。

ぽんRev さんのコメント...

ねこかぶさん

はじめまして~(^-^)
64を弄り始めた頃から大変お世話になっておりますm(_ _)m
私が書いた事が微々たることでもお気に召したようで良かったです。

>B面に入れ替えでそれ以降に進めました。
あっ!本当だっ(笑
止まったりエラー出たのでその時点でダメだこりゃ、と決め付けておりました(汗
後で訂正しておきます(^-^;

>ゲーム中のメモリをgcnrd等でダンプし
そんな方法があったのですね!
と、早々にGC出してきてセットしてgcnrdを実行・・・無事できました~(^-^)
素晴らしい情報ありがとうございましたm(_ _)m
メモリダンプは考えたこと無くてやったこと無かったんですが、この方法なら簡単に出来ますね(笑

折角なのでまとめを書こうかと思っちゃってますが・・書いてもいいですかね?
もしダメなら止めてください(^-^;

ばくてん さんのコメント...

これはまた楽しいことをしてますね(^-^

この吸い出したイメージをMGD1でディスクに書き込んだら実機でうごくんだろうか??

ぽんRev さんのコメント...

ばくてんさん

どうでしょう?
片面のものは動くかもですが、両面のは動かないかも(^-^;
なんとなくだけど、両面のゲームはひっくり返さなくてもいいように自動認識するようにプログラムが変更されてるんじゃないですかね。

逆にそのコードが理解できれば両面のFDSを片面仕様にして・・・利点あるかなぁ(笑

trickart さんのコメント...

はじめまして。
この記事を読んで無事変換できました。
(ファイル名にスペースが~あたりをちゃんと読んでなかったのであれ?あれ?って感じになってましたがwww)
これからもがんばってください。

ぽんRev さんのコメント...

trickartさん

はじめまして。
変換できて何よりです(^-^)
ファイルのスペースの件ですが、ファイルをダブルクォーテーション「 ”」で囲むと認識できますよ。
・・・って、私も最近知ったんですけど(^-^;
例えば
mgd1cnv "file 1.rarc" file1.fds
みたいに。
これはDOSモードのプログラム全般で使える機能なので覚えておくと便利かもです(^-^)

地道にがんばりますのでよろしくです~