2012-10-04 Thu [ Ysを作った頃 ]
ふと思い出したので忘れないうちにメモっておくイース作ってた時の話。
イースではビジュアル…今で言うムービーをやるときに画面を小さくしている。
パソコンでも昔はよく使われた方法だけど、例えばPC88(およびPC98)にはテキスト面、というものがグラフィックに覆い被さるように存在し、それを使って、グラフィック面を「マスク」することが出来た。
PCエンジン版でも、もちろんこれと同じ事が出来るようにしないといけなかった。
スクロールしたら枠の外にはみだされたりされたのではたまったものじゃない。
で、凄ノ王ではラスター処理を使っていたのだけど、イース1・2では違うやり方をしている。
それがどんな風にしてやれるようになったのかというと…実は人様のプログラムを解析してパクっていたのである。
1989年の5月初頭と記憶している。
野沢さんが「いわやん、これちょっとチェックしてや~」といいながら、1枚のCDROMを持ってきた。
「なにこれ?」
「テレネットの『ヴァリスⅡ』のマスターよ」
これには理由がある。
ヴァリスⅡはPCエンジンCDROM初のサードパーティのソフトだ。
もちろんマニュアルに書いてある通りにマスターは提出されているはずだし、開発ツールはデバッグされていてハドソンでも使われているのだから、まず問題はないはずだ。
だけど、それが正しくPCエンジン上で動くのか、マスタリングソフトに変なバグがあって致命的な事態が起こらないか、そういった「サードパーティが使って、正しいマスターが出せるか?」については、テレネットの『ヴァリスⅡ』が出るまでは誰にも分からなかったわけで、ハドソンの技術部にマスターが来てチェックしていた、ということなのだろう。
「ヴァリス!?」
「そうよ」
「見る見る!」
言うと、僕はCDROMのデバッガのコネクタを引き抜いて、代わりにCDROMドライブをぶっさした。
実はCDROMはROMと比較して、圧倒的にリバースエンジニアリングがしやすかった。
というのも、デバッガのハードディスクはエミュレータとして、拡張ユニットのCDROMが刺さるコネクタに刺さる構造になっていた。つまり、その代わりに、ホンモノのCDROMを刺して、デバッガを立ち上げれば人様のソフトも簡単に解析できたのだ。
…まあ、このときには単に周囲にCDROMを置いてなかったので、一番手っ取り早く見る方法だったってだけだけど。
立ち上げて、ビックリした。
それはまさに自分がやろうとしてた黒マスクをやっていたからだ。
最初はラスターだと思って、デバッガでbreakをかけても画面が壊れない。ラスター処理ではなかった。
「ねえ、野沢さん、これってどうしたらやれるの?」
「んー表示レジスタいじってるんだな。いわやん、ちょっとデバッガ貸して」
野沢さんは言いながら、デバッガでちょいちょいと触ると
「ああ、やっぱりそうやね、表示レジスタだね」
といって、セットアップを見せてくれた。
ビデオゲームマシンには必ずテレビ画面にどれだけのサイズで、どこに表示するのかを決定するレジスタがあるのだけど、プログラムではそれの調整をしていた。
「これってさあ、やっていいの?」
少なくともハドソンの推奨にはない設定で、そんな使い方をしていいと思っていなかった僕は野沢さんに聞いた。
「うーん…ま、ちょっと問題もあるんだけど、やってもいいよ」
言うと、野沢さんはいくつかの制限を教えてくれた。
と、いうわけで、ヴァリスⅡのプログラムを解析して、黒マスクを楽々と処理出来るようになったわけだ。
いずれにしても野沢さんに「黒マスクするにはどうするのが一番いい?」と相談してしたのは確かで、多分方法は変わらなかったと思う。でも、ヴァリスのおかげでそれが早まったのは間違いないし、なにより目の前に「技術的に使える」と明白に見せているサンプルがあったのは、メッチャありがたかった。ヴァリス様々でした。
ところで、この記憶は事実関係に若干疑わしいところがあるのだけど、まあヴァリスⅡを見て設定を野沢さんに聞いたのは絶対に間違いないはずなので、いいことにしておくw
# ポスト直後に面白い事実に気がついたので追記。
# これ256番目の記事じゃないかw
イースではビジュアル…今で言うムービーをやるときに画面を小さくしている。
パソコンでも昔はよく使われた方法だけど、例えばPC88(およびPC98)にはテキスト面、というものがグラフィックに覆い被さるように存在し、それを使って、グラフィック面を「マスク」することが出来た。
PCエンジン版でも、もちろんこれと同じ事が出来るようにしないといけなかった。
スクロールしたら枠の外にはみだされたりされたのではたまったものじゃない。
で、凄ノ王ではラスター処理を使っていたのだけど、イース1・2では違うやり方をしている。
それがどんな風にしてやれるようになったのかというと…実は人様のプログラムを解析してパクっていたのである。
1989年の5月初頭と記憶している。
野沢さんが「いわやん、これちょっとチェックしてや~」といいながら、1枚のCDROMを持ってきた。
「なにこれ?」
「テレネットの『ヴァリスⅡ』のマスターよ」
これには理由がある。
ヴァリスⅡはPCエンジンCDROM初のサードパーティのソフトだ。
もちろんマニュアルに書いてある通りにマスターは提出されているはずだし、開発ツールはデバッグされていてハドソンでも使われているのだから、まず問題はないはずだ。
だけど、それが正しくPCエンジン上で動くのか、マスタリングソフトに変なバグがあって致命的な事態が起こらないか、そういった「サードパーティが使って、正しいマスターが出せるか?」については、テレネットの『ヴァリスⅡ』が出るまでは誰にも分からなかったわけで、ハドソンの技術部にマスターが来てチェックしていた、ということなのだろう。
「ヴァリス!?」
「そうよ」
「見る見る!」
言うと、僕はCDROMのデバッガのコネクタを引き抜いて、代わりにCDROMドライブをぶっさした。
実はCDROMはROMと比較して、圧倒的にリバースエンジニアリングがしやすかった。
というのも、デバッガのハードディスクはエミュレータとして、拡張ユニットのCDROMが刺さるコネクタに刺さる構造になっていた。つまり、その代わりに、ホンモノのCDROMを刺して、デバッガを立ち上げれば人様のソフトも簡単に解析できたのだ。
…まあ、このときには単に周囲にCDROMを置いてなかったので、一番手っ取り早く見る方法だったってだけだけど。
立ち上げて、ビックリした。
それはまさに自分がやろうとしてた黒マスクをやっていたからだ。
最初はラスターだと思って、デバッガでbreakをかけても画面が壊れない。ラスター処理ではなかった。
「ねえ、野沢さん、これってどうしたらやれるの?」
「んー表示レジスタいじってるんだな。いわやん、ちょっとデバッガ貸して」
野沢さんは言いながら、デバッガでちょいちょいと触ると
「ああ、やっぱりそうやね、表示レジスタだね」
といって、セットアップを見せてくれた。
ビデオゲームマシンには必ずテレビ画面にどれだけのサイズで、どこに表示するのかを決定するレジスタがあるのだけど、プログラムではそれの調整をしていた。
「これってさあ、やっていいの?」
少なくともハドソンの推奨にはない設定で、そんな使い方をしていいと思っていなかった僕は野沢さんに聞いた。
「うーん…ま、ちょっと問題もあるんだけど、やってもいいよ」
言うと、野沢さんはいくつかの制限を教えてくれた。
と、いうわけで、ヴァリスⅡのプログラムを解析して、黒マスクを楽々と処理出来るようになったわけだ。
いずれにしても野沢さんに「黒マスクするにはどうするのが一番いい?」と相談してしたのは確かで、多分方法は変わらなかったと思う。でも、ヴァリスのおかげでそれが早まったのは間違いないし、なにより目の前に「技術的に使える」と明白に見せているサンプルがあったのは、メッチャありがたかった。ヴァリス様々でした。
ところで、この記憶は事実関係に若干疑わしいところがあるのだけど、まあヴァリスⅡを見て設定を野沢さんに聞いたのは絶対に間違いないはずなので、いいことにしておくw
# ポスト直後に面白い事実に気がついたので追記。
# これ256番目の記事じゃないかw
コメント
いつも興味深く読ませていただいております。ニコニコ動画で面白い動画がUPされてますが当時のプログラマーさんは制約のある中いろんなことを考えながらされてたのだと感心してしまいます
| あどる | EMAIL | URL | 12/10/09 20:33 | C/k7wJSg |
この記事のトラックバックURL :
トラックバック