沙羅曼蛇AC DELTA07のプロテクト☆だ
沙羅曼蛇AC DELTA07には実機判別プログラムが搭載されています。
精度・判断基準・ロジックについては試作の域です。
まずは、実機判別プログラムが引き起こす現象について解説します。(かなり曖昧にしてあります)
【発動条件】
通常プレイで半月くらいすると条件が満たされます。プレイ実績を集計した複合条件です。
【発動結果】
起動不能になります。予備知識がなければカセットが壊れたと思えます。
発動条件が満たされるまで、一切の制限を受けずプレイする事ができます。
実際にプロテクトの存在を公表するまで誰もプロテクトに気がついた人は居なかったハズです。
■プロテクトの目的
オークション売買対策とプロテクト技術提供が目的となります。
■プロテクト古今東西
昔からPC向けのゲームやアプリで多くのプロテクトが存在していました。
コピープロテクトと呼ばれるその技術は多種多様で、コピーが上手くいったかの様に見えていざ起動してみると・・・
村人からコピーだと罵られたり
仲間との会話がギクシャクしたり
ラスボスが倒せなかったり
親子が乗った船が港に着かなかったり
オンライン認証とは一味違うユニークなプロテクトは、それ自体がネタとして楽しめたのです。
■プロテクトによりオークションは?
オークションで取引されているハックロム(海賊版扱い)への対抗手段はこれまで限られていました。
唯一と言われている「違反商品の申告」も残念ながらあまり効果的ではありません。
ところが、プロテクトという1つの可能性を示したことにより、これまで後手に回っていたハックロム開発者が初めて先手を打てるのです。
・売りにくいハックロムにする。
・買いにくいハックロムにする。
・実機で完全動作するのはそのまま。
この条件を満たすのが実機判別プログラムによる時限式プロテクトです。
プロテクトが搭載されている(搭載の可能性がある)ハックロムは商品価値が格段に下がるでしょう。
■プロテクトの仕組み
簡単に説明するとセーブデータの初期値が実機とエミュでは異なります。
エミュレーターで新規にゲームを起動するとセーブデータは「ALL 0」で自動作成されますが、
実機では「前に焼いたゲームのセーブデータ」「不定値」のいずれかが入っています。
仮に電池を抜いてSRAMを初期化しても「不定値」で埋め尽くされています。
ではSRAMの中身を表示するプログラムの実行結果を御覧ください。
参考画像1 エミュレーターのALL0画像 自動生成されたセーブデータ(仮想SRAM)
参考画像2 実機の不定値画像 電池抜いて初期化されたセーブデータ(SRAM)
明らかな違いが見て取れます。
この現象を利用し実機判定プログラムは実機とエミュを判別します。
ちなみに、実機ROMを使用し統計データを取りました。
状況別にプロテクトが発動するのは以下の確率となります。
エミュレーター 0%
実機(別ゲームのセーブデータが書き込まれている) 100%
実機(電池を抜いてSRAMを初期化した) 20%
約80%の実機ROMでは初期化しても不定値になりませんでした。
なぜ不定値にならないのかは不明です。「SRAMの種類か?」という仮説以上の進展がありません。
沙羅曼蛇AC DELTA07は初回起動時に実機判定を確定します。
1度目の書き込みでSRAMを沙羅曼蛇AC DELTA07のデータに書き換えて、2回目を焼いても・・・判定は覆りません。
■プロテクトの展望
プロテクトの欠点として「個人的に実機で楽しんでいる人にも影響が及んでしまう」という事でしょうか、
救済策として事前にtwitterで実機派の方へ呼びかけ応じて頂けた方には「プロテクト解除用の隠しコマンド」が提供されています。
※WEB上での活動実績を示して頂ければ個別対応致します。
残念ながらプロテクトが発動してしまった方は・・・・電池を抜いてSRAMのプレイ実績を初期状態に戻せば最初から遊べます。
電池を抜いておけばプロテクトは発動しませんが、ハイスコアとコンフィグのデータ保存が無効になるペナルティーが発生します。
※サウンドテストはゲームクリア特典として用意されていましたが、誰でも楽しめるようにリリース版で制限は解除してあります。
プロテクトの仕組みさえ解ればプログラムを修正し回避する事が可能です。コマンドの流出もやむを得ません。
また、もう少し簡単に回避する事もできますが、一応伏せておきます。
この仕組みの解説がプロテクト技術に波紋の様な波を立てるか、消えていくのか見守りたいと考えております。
■引用考察資料など
ファミコンのネタ!!
Yahoo!オークションのファミコン違法コピーソフト問題まとめ
http://famicoroti.blog81.fc2.com/blog-entry-828.html
naruko の開発メモ
シルヴァ・サーガのセーブデータ
http://d.hatena.ne.jp/na6ko/20130909/p1
■更新履歴
20150226 「プロテクトの仕組み」の発動確率を詳細に説明
投稿日: 2015-02-25 | 投稿者: めっさつ | カテゴリー: 未分類 .
すごい、改造ソフトをありがとうございます。沙羅曼蛇AC DELTA07、ニューファミコンで、あそんでみました。
エミュレータで、遊んでいた時は、4面まで行くのがやっとだったのに、実機だと、ノーコンティニューで、2週目のラストステージまで行けました。
実機の方が、すばやく動ける感じです。
色あいは、実機の方が、ダークな暗い感じがしました。
改造のもとにした、カセットは、水滸伝です。
プロテクトは、まだ、発動していませんが、その時は、また、報告しますね。
いいねいいね
2016-03-07 21:47
エミュレーターにもよりますが入力遅延が必ず発生します。
実機にはそれが無いのでプレイ感覚としては実機に軍配が上がります。
しかしエミュレーターにはスプライトオーバーを回避する拡張機能があります。(必ずという訳ではない)
またドットがクッキリはっきり見えるので見やすさという点ではエミュレータが強いです。
パレットは・・・エミュレーターによって全然違うのが多いですよねw
多くのエミュレーターのパレットは自分で微調整できたり自作のパレットを読み込ませる事ができるのでお好みに合わせて調整願います。
いいねいいね
2016-03-08 19:18
ありがとうございます、やっぱり、プレイ感覚を考えると、実機にまさる物なし、なんですね。
もう一つ、思うことは、、、
グラフィック強化等の、改造がほどこされたファミコンソフトって、
「今、遊ぶには、ちょうどよいな」と思うんです。
なぜなら、ファミコンのゲームの思い出って、記憶の中で、グラフィックが美化されたり してるような気がするからです。
いいねいいね
2016-03-08 22:06
趣旨をご理解感謝いたします。
一つの例をご紹介しましょう。
当時AC版もFC版やっていた友人に改造版をプレイさせたら・・・どうも反応が鈍いww
どうやら「自然すぎて改造されていた事に気がつかなかった」らしい。
それは最高の褒め言葉として頂いておきました。
いいねいいね
2016-03-09 19:28