2016-01-03 Sun [ 昔のこと::ハドソン関係 ]
年明けにtwitterでこんな質問が飛んできた。
2X年ぶりに、あーそいや、こんなものもあったなあということを説明したわけだけど、もうちょっと詳しくここで説明しておきたい。
まず原理的な話から。
当たり前だけどCDROMは、例えばROMの形を変形させるようなことは通常しない。正方形のCDROMなら作ることは出来るかもしれないが、まあ普通は作らないだろう。
次にCDROMの規格はフィリップス=ソニー(当時)によって物理的なフォーマットが規定されており、それから外れることは基本的に出来ない。
また当然ながらCDROMのマスターは、どこで作っても同じだ。
つまりCDROMは汎用品でプロテクトなどかけられないので、PCエンジンのCDROM BIOSをリバースエンジニアリングすれば、ハドソンやNECの許可無くPCエンジンCDROMのゲームを作ることが出来てしまうのだ。
(これはもちろん1988年の話を書いている)
この問題を解決するためにハドソン=NECが取った方法は簡単で、CDROMのデータトラックに(c)の入ったテキストデータが置かれ、このテキストデータが一致しないとブートしない、という仕様を入れたわけだ。
だから下のように、比較用にトラック2の先頭のデータと同じものが、CDROM BIOSの一番最後に含まれている。
■TRACK2の頭
■BIOSの最後の部分
これが質問されたテキストデータになる。といっても、ハッカーインターナショナルのCD美少女麻雀のようにBIOS自体を作られてしまうと、どうしようもないのだけど。
どうしてこれがプロテクトになるか、一応説明すると、このテキストが入らないとブートしないということは、このテキストを強制的に入れることになり、結果としてハドソン/NECの権利を認めることになる。すなわちリバースエンジニアリングしても、権利から逃れられないというわけだ。
というわけで、説明は終わりなのだけど、このテキストデータは当時のCDROM BIOSに関わった(プログラムを書いた&ドットを打った)人間のリストになっていて、結構貴重なのではないかなあと思う。
僕も知らなかったことで、CD-PLAYERのスキンは伊藤真希が描いていたとか、バックアップメモリのメンテナンス用のプログラムは「きんちゃん」こと金田孝司くん(後のニュートピアのメインプログラマ)がやっていたとか、シミュレータは最初は本迫さんが書いていたとか(僕がイースを作ってたときは、もう小林さんに移行していた)いろいろと分かることがあって面白い。
2X年ぶりに、あーそいや、こんなものもあったなあということを説明したわけだけど、もうちょっと詳しくここで説明しておきたい。
まず原理的な話から。
当たり前だけどCDROMは、例えばROMの形を変形させるようなことは通常しない。正方形のCDROMなら作ることは出来るかもしれないが、まあ普通は作らないだろう。
次にCDROMの規格はフィリップス=ソニー(当時)によって物理的なフォーマットが規定されており、それから外れることは基本的に出来ない。
また当然ながらCDROMのマスターは、どこで作っても同じだ。
つまりCDROMは汎用品でプロテクトなどかけられないので、PCエンジンのCDROM BIOSをリバースエンジニアリングすれば、ハドソンやNECの許可無くPCエンジンCDROMのゲームを作ることが出来てしまうのだ。
(これはもちろん1988年の話を書いている)
この問題を解決するためにハドソン=NECが取った方法は簡単で、CDROMのデータトラックに(c)の入ったテキストデータが置かれ、このテキストデータが一致しないとブートしない、という仕様を入れたわけだ。
だから下のように、比較用にトラック2の先頭のデータと同じものが、CDROM BIOSの一番最後に含まれている。
■TRACK2の頭
■BIOSの最後の部分
これが質問されたテキストデータになる。といっても、ハッカーインターナショナルのCD美少女麻雀のようにBIOS自体を作られてしまうと、どうしようもないのだけど。
どうしてこれがプロテクトになるか、一応説明すると、このテキストが入らないとブートしないということは、このテキストを強制的に入れることになり、結果としてハドソン/NECの権利を認めることになる。すなわちリバースエンジニアリングしても、権利から逃れられないというわけだ。
というわけで、説明は終わりなのだけど、このテキストデータは当時のCDROM BIOSに関わった(プログラムを書いた&ドットを打った)人間のリストになっていて、結構貴重なのではないかなあと思う。
僕も知らなかったことで、CD-PLAYERのスキンは伊藤真希が描いていたとか、バックアップメモリのメンテナンス用のプログラムは「きんちゃん」こと金田孝司くん(後のニュートピアのメインプログラマ)がやっていたとか、シミュレータは最初は本迫さんが書いていたとか(僕がイースを作ってたときは、もう小林さんに移行していた)いろいろと分かることがあって面白い。
なお、スーパーファミコン用の任天堂のCDROMは今書いたCDROMの物理的・論理的制約を乗り越えるために、CDROM自体はキャディ内に収納され、ユーザーは直接触れられないようにするのが仕様になっていた。
つまりキャディがプロテクトになる仕様だ。ファミコンディスクシステムが本質的にはクイックディスクなのだけど、NINTENDOの刻印が入れてあるのと同じやり方だ。
94年初頭に任天堂の本社であったサードパーティ向けの技術説明会では、キャディにバッテリバックアップも載せ、当時のROMカートリッジと全く同じイメージになる仕様だった。
この時、気になったのは「じゃあ音楽CDは聞けないのか?」だった。
当時は、音楽CD専用のキャディでも売って、入れて聞くって形にするつもりだったのかなぁなどと思ったのだけど、答えは今でも分からない。
つまりキャディがプロテクトになる仕様だ。ファミコンディスクシステムが本質的にはクイックディスクなのだけど、NINTENDOの刻印が入れてあるのと同じやり方だ。
94年初頭に任天堂の本社であったサードパーティ向けの技術説明会では、キャディにバッテリバックアップも載せ、当時のROMカートリッジと全く同じイメージになる仕様だった。
この時、気になったのは「じゃあ音楽CDは聞けないのか?」だった。
当時は、音楽CD専用のキャディでも売って、入れて聞くって形にするつもりだったのかなぁなどと思ったのだけど、答えは今でも分からない。
コメント
ありがとうございます。
最後のトラックの中身を全部00で埋め尽くすとDISC ERRORになるというのは私の勘違いでした。
もう一度試したら普通に起動しました。
最後のトラックの中身を全部00で埋め尽くすとDISC ERRORになるというのは私の勘違いでした。
もう一度試したら普通に起動しました。
| たろ | EMAIL | URL | 16/01/08 17:27 | C35DeLKs |
私の記憶が確かなら、確か、TRACK2が読み込めなくなった場合のスペア領域だったかと。
ファイルシステムが参照するデータ領域の先頭セクタ番号を設定できるようになってて、エラーから復帰しない場合に切り替えてた。
ファイルシステムが参照するデータ領域の先頭セクタ番号を設定できるようになってて、エラーから復帰しない場合に切り替えてた。
| 通りすがり | EMAIL | URL | 16/01/05 18:16 | .mtbt7ZM |
最後のトラックにバイナリが入っているのは手持ちソフトではファイティングストリート・マンホール・ぎゅわんぶらあ自己中心派、入っていないのはサイドアーム・スペシャルでした。
| たろ | EMAIL | URL | 16/01/05 09:32 | C35DeLKs |
最後のトラックにもTRACK2とほぼ同じ内容の(若干ファイルサイズが小さい)バイナリが入ってるのはなぜでしょうか?
少なくともエミュレータで試した限り、ゲーム開始以降はTRACK2の内容しか読んでいないようでした。
(ttp://www45.atwiki.jp/yychr/pages/13.html#id_93f5bb15にあるファイティングストリート用のパッチはTRACK2の画像しか書き換えていませんが、全てのシーンできちんとリュウが黒髪で表示されます。)
最後のトラック(ファイティングストリートの場合、TRACK26)の著作権表示を一部スペースに置き換えても起動しますが、かといって最後のトラックの中身を全部00で埋め尽くすとDISC ERRORと表示されて起動しなくなるため、全く参照していないというわけでも無さそうですが…
少なくともエミュレータで試した限り、ゲーム開始以降はTRACK2の内容しか読んでいないようでした。
(ttp://www45.atwiki.jp/yychr/pages/13.html#id_93f5bb15にあるファイティングストリート用のパッチはTRACK2の画像しか書き換えていませんが、全てのシーンできちんとリュウが黒髪で表示されます。)
最後のトラック(ファイティングストリートの場合、TRACK26)の著作権表示を一部スペースに置き換えても起動しますが、かといって最後のトラックの中身を全部00で埋め尽くすとDISC ERRORと表示されて起動しなくなるため、全く参照していないというわけでも無さそうですが…
| たろ | EMAIL | URL | 16/01/04 23:48 | C35DeLKs |
現代の常識からは考えられない、のどかな時代のプロテクト(?)ですね。
あと、伊藤真希さんの名前が「真樹」になっていますが、これは誤植でしょうか……?
あと、伊藤真希さんの名前が「真樹」になっていますが、これは誤植でしょうか……?
| amuseum | EMAIL | URL | 16/01/03 14:11 | cm0h.oHo |
この記事のトラックバックURL :
トラックバック