ゼルダの伝説のROMにソースコード 114
ストーリー by nabeshin
GB版のゼルダの伝説は押入れにあるかも 部門より
GB版のゼルダの伝説は押入れにあるかも 部門より
本家のストーリによると、ゲームボーイ「ゼルダの伝説」のROMにソースコードが見える部分があるとのこと。リンカーがパディングする際、メモリ上のデータで埋めてしまったことが原因のようです。この得られた情報からの考察がネタ元のGame Development Archeology: Zelda on Game Boy comes with sourceで読めます。
解析対象のイメージがROMそのままではなく、ROM抽出後の何かしらのハックの残骸ではないのかという可能性もありますが、リリースにソースを残してしまうこと自体はあり得そうな話です。もしかすると、ほかのゲームや製品にもソースが見えるものがあるかもしれませんね。
実行中にBreakが利いてしまってlistコマンドでソースが見えたゲームもありましたが、もし、類似のものに心当たりある方がいらっしゃいましたら、ネタ投下と思って、この場で懺悔(暴露?)されてはいかがでしょう?
解析対象のイメージがROMそのままではなく、ROM抽出後の何かしらのハックの残骸ではないのかという可能性もありますが、リリースにソースを残してしまうこと自体はあり得そうな話です。もしかすると、ほかのゲームや製品にもソースが見えるものがあるかもしれませんね。
実行中にBreakが利いてしまってlistコマンドでソースが見えたゲームもありましたが、もし、類似のものに心当たりある方がいらっしゃいましたら、ネタ投下と思って、この場で懺悔(暴露?)されてはいかがでしょう?
最近の例 (スコア:5, 興味深い)
ダミーデータを内周に置き、ゲームデータを外周に置くというような格納方法をしている物が多々あります。
そのダミーデータは大抵中身が空ですが、偶にゲームのデータを繰り返しコピーしてダミーを作ってたり、
ダミーデータの目的サイズに近いようなデータを適当に持ってきたと見られるような製品があったりもします。
で、当方が見た中で一番酷かったのは
「ゲームのソースコードを丸々LHA圧縮してダミーデータとして格納している」
という、まるで冗談のような製品がありました。
……もう大分前のゲームなんでバラしちゃうと、KONAMIのPlaystation用ソフト 「beatmania BEST HITS」です。('x`)
そのゲームそのもののソースコードではなく、過去のバージョン(5th)のソースコードが丸々入ってました。
確認したのは初期版なので、その後修正されたかどうかは不明です。
#入っちゃってたもんはしょうがないのでID
Re:最近の例 (スコア:1, 興味深い)
Re:最近の例 (スコア:5, 興味深い)
Re:最近の例 (スコア:1, 興味深い)
もっとも、当時の2ちゃんねらーには扱いきれなかったようですが……。
Re:最近の例 (スコア:1, 参考になる)
確か外周の3分何秒くらいが再生出来なかったからだと記憶しています。
Re:最近の例 (スコア:2)
Dreamcastか何かと記憶違いだったかなぁ……失礼しました。
Re:最近の例 (スコア:2, 興味深い)
# とするとなぜダミーデータを入れていたかは謎ですが。
Re:最近の例 (スコア:1)
『初恋物語』のテキストデータがまるまる入ってたような。
#画像や音声まであったかどうかまでは不明。
『秘密の花園』のデータもあったかな。
TomOne
Solaris 2.0 の tar のセキュリティホール (スコア:5, 興味深い)
あらゆる tarball に /etc/passwd ファイルの一部が含まれているというもので、確保されたバッファがゼロクリアされていなかったことが原因だそうです。
確保されたバッファに tar プログラム自身が読み込んだ /etc/passwd のデータの一部があったので、tarball に含まれてしまったとのことだそうです。
今回の件と似てるような似てないような。
Re:Solaris 2.0 の tar のセキュリティホール (スコア:1, すばらしい洞察)
懺悔(フラッピー) (スコア:5, すばらしい洞察)
20年以上前、X1版FLAPPYで200面解くと認定証が限定で貰えた奴で、
ゲーム中プログラムが暴走してダンプ眺めたら各面のパスワードの羅列を発見し、
最後の200面”だけ”自力で解いて認定証を貰いました。
(暴走の理由は夏の暑さでテープが延びてバグったw)
認定証が届いてから自分のした事に罪悪感に苛まれた子供時代・・・
今と違って心がピュアだった(苦笑
BASIC書き換え (スコア:4, おもしろおかしい)
「ファイナル○リータ」も書き換えますたorz
って、コンパイルすらされてないんだから別の話だよなあ。
Re:BASIC書き換え (スコア:1, おもしろおかしい)
「ふく ぬげ」がわからずにソースを調べた記憶が...。
そんなに余っている空間があるのか (スコア:4, おもしろおかしい)
昨今は携帯ゲーム機でもこんな有様なのですか。爺は情けのうございまするぞ。
爺の子供の頃は、メモリの1バイトは血の一滴、数バイトをめぐって担当者間で…
# …というような経験は私にはないのですが、ある人はぜひ語ってください。
Re:そんなに余っている空間があるのか (スコア:3, おもしろおかしい)
知人から「1バイトのメモリには8人の仏様がいる」という話なら聞いたことがある.
# 昔,メモリをとるか実行速度をとるかよく悩んだが...
# いつも結果は大差ない場合がほとんどだった.
Re:そんなに余っている空間があるのか (スコア:3, 興味深い)
行番号BASICでゲーム(マインスイーパもどき)を作っていたのですが、
メモリが512バイトしかなく、1バイトでも削れるものは削っていました。
幸いにも、printコマンドを記号の“?”に換えることが可能でして、
すべての画面出力部分を“?”で記述して、カセットテープに保存していました。
4バイト分得します。
ほかには行番号とコマンドの間のスペースを省いたりしてました。
ちなみにlistコマンドでプログラムをみる事が出来るのですが、
一度でも実行してしまうと、行番号とコマンドの間にスペースが挿入され、
せっかく書いた“?”が“print”に展開されて表示されてしまいます。
プログラムの最後から(4バイトד?”個数)+(行数)分のバイトが自動的に消去され、
runするとsyntaxエラーが出まくりでした。
こんなんでどうでしょうか。
あ、なんか読みにくい文になってしまった。
もう寝ます。お休み。
Re:そんなに余っている空間があるのか (スコア:1)
ともあれ、「リンカーがパディングする際」と聞くと、主人公がなにかを切ってるのかと思った。
懺悔するってーと、 (スコア:3, 興味深い)
# いや、別に懺悔するようなことじゃないけどさ。
Re:懺悔するってーと、 (スコア:1)
「TANAKAのフライトシミュレータ」のミニ版でしたっけ。
あれはよくできてましたよね。
-- yuno
Re:懺悔するってーと、 (スコア:1)
Re:懺悔するってーと、 (スコア:1)
MSX2のYs2は、2DD1枚だったんだけど、中身にはディスク2枚のデータが入ってた。
元が2枚組みだったのを移植したんだろうが、2DDの前半をディスク1、後半をディスク2として使ったようだ。
ちゃんとIPLとかも2つあった気がする。
君たち釣られすぎですよ。 (スコア:3, 興味深い)
一致しませんから。もちろんソースもない。
実際にこのデータが見つかるROMは、(勝手にハックして作られた)純正品ではない中国の海賊版ROMですよ。
このサイトの中の人は、任天堂から発売されていないはずの中国語版ゼルダ(とかX-MENとか)のROMをどこからか買ってきて吸い出して、ソースが入ってるぜひゃっほい!とか叫んでるわけですか?
おめでたいですね。
Re:君たち釣られすぎですよ。 (スコア:2, すばらしい洞察)
それに関する話題でワイワイ騒げればそれでいいんです。
おお! (スコア:2, おもしろおかしい)
ゼルダなだけに (スコア:2, おもしろおかしい)
以前の仕事で (スコア:2, 興味深い)
ロード○ナークあたりまではやってたんですがね. 後は知らん.
ダイ○ソアはShiftJISでダンプするとスタッフクレジットが入ってます.
あの蝶が空に昇ってる最中に出る予定でした.
高円寺のあの18禁ゲーム会社から来たフロッピーにADV5のソースが.
少しは消せよと.
類似かどうかは微妙だが (スコア:1, 参考になる)
バイナリダンプしたら愚痴がいっぱい書いてたり。
Re:類似かどうかは微妙だが (スコア:4, 参考になる)
プロテクトをはずすことに生きがいを感じていたやつによると、光栄の信長シリーズ(3作以降ね)は大変だったらしい。プログラム一面に「プロテクトはずせるもんならはずしてみろ」的メッセージがずらっと。
その先どうやったか教えてくれなかったけど、ちゃんとプロテクトをはずすという目的は達成したらしい。
-- gonta --
"May Macintosh be with you"
Re:類似かどうかは微妙だが (スコア:4, 興味深い)
そういえばエメラルドドラゴンだったか、物語が途中まで進んだところでヒロインから
「あなた、コピーしたでしょ!」と言われ、「私たちもうお別れね、さよなら!」
っていうのがあったなあ。
Re:類似かどうかは微妙だが (スコア:2, 興味深い)
書き換えの手法が一般化しちゃったから、
そんなに難しくなくなってきたんだけどね。
Wizardのファイラーとか、別売りのドキュメント読んだらだいたい作れるようになったし。
FDCのリセットとかGAPの利用とかいっぱい方法があったよねぇ。
Re:類似かどうかは微妙だが (スコア:2)
普通にプレイ始められるんですが、数ターン進むといきなり
核ミサイルが自陣に向けて発射されて絶対勝てないという(笑
作者からのメッセージといえば。 (スコア:3, おもしろおかしい)
Re:類似かどうかは微妙だが (スコア:1)
io.sysだかmsdos.sysをlhaだかishだか、なんかしたらテキスト出てきたとか。
そんなんもあったなぁ。
一度でもMS-DOSを転送しちゃうと消えてしまうので。 後で情報知った人は後悔していたっけ。
バイナリから開発環境の類推 (スコア:1, 興味深い)
# まぁこういう [geocities.jp]人間向けメッセージを意図的に埋めたというのが一番多い気がするが
GB版ってどんなんだっけ? (スコア:1)
英文の方でタイトルにDXって付いてるし、GB Color対応とも書いてあるからこっち [nintendo.co.jp]か。
みんなだまされているんだ (スコア:1)
主人公にした壮大な歴史ifゲームなんだよ!
Re:みんなだまされているんだ (スコア:1)
なんとなく危険? (スコア:1)
・・・ってのは、さすがにないか。
Re:なんとなく危険? (スコア:1)
隠して撒いたところ、描画の遅いマシンでカクカクカクッと
隠したい情報を隠す模様が見えて…
という情報漏えいがどこかであったようななかったような。
PDFがどういうものか理解せずに使ったんだろうなぁ。
中で何が起こっているかをあまりに知らないと発生するんだろうな、こういうこと。
隠された真実 (スコア:1)
気付かなかった…やっぱり任天堂はすごいよ
おぼろげな当時の記憶 (スコア:1)
セグメント指定値があやふやなんだよなぁ。
当時はX-1のテープ版マカダムのデータをゴニョゴニョ…
#この手のネタはおっさんホイホイだわな。専用のアイコンが欲しくなる(苦笑)
/* Kachou Utumi
I'm Not Rich... */
Re:おぼろげな当時の記憶 (スコア:2)
def seg=&h60 ですよ
N88BASIC(86)のシステム環境変数が0060:0000から始まっているので
そこの&hcd7がpオプションセーブされてたかどうかのフラグだったんです
fe00:0000はたしかVRAMのアドレスじゃなかったかな?
Re:おぼろげな当時の記憶 (スコア:1)
その当時はF-Basicを使っていたのですが、同じような方法で不可視化されたBasicのソフトに対して、
Basicのワークエリアのある部分を書き換えることで、リストが見られるようになる、と。
その後はお金持ちになったり、超ベテランになったり・・・と、まぁやることは同じですな。
#今でも白本あるから調べようと思えば調べられるけど、需要はないよね?
Re:おぼろげな当時の記憶 (スコア:1)
FM-7 のゲームって、Kコンパイラで造られていたものもあって、 雑誌 I/O のダンプ・リストの逆アセで、初期化処理で機数「3」に している箇所がなんとなく推測できて、 大きめの数値に変えると、いくらやられても Game Over に はならず、延々と続けられた。
ゲーム・バランス崩せりゃなんとかなる事を知ってしまうと、ゲームに のめり込む事が馬鹿らしく思えてた頃だ。
Re:タレコミの方向性が微妙 (スコア:5, おもしろおかしい)
Re:ようするに、かまいたち? (スコア:1, 興味深い)
# 普通にメニュー経由かな
Re:CDの1曲目の「プリ」ギャップ (スコア:1, 興味深い)
BUMP OF CHICKENのCDには必ず何か(大抵コミックソング)が入っているのが有名。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1212399917 [yahoo.co.jp]
通常版と限定版で隠しトラックだけ入れ替えるなんてもう馬鹿(褒)かと。
Re:ROMにも (スコア:2)
マスターディスクにデータを入れる前にちゃんと前に入れた変なのが残らないように消しましょうって事ですかね。
Re:ROMにも (スコア:1)
ドラッグオンドラグーン - Wikipedia
http://ja.wikipedia.org/wiki/%E3%83%89%E3%83%A9%E3%83%83%E3%82%B0%E3%8... [wikipedia.org]
を思い出したりします。いや、もちろんアメリカ国防総省を指しているのは
理解してますが(汗)
Re:お決まりの爺話 (スコア:1)
/K