たくさんの SNES ゲームに実装されている、コピー機を使わせないようにするための FastROM、 PAL/NTSC、 SRAMサイズチェックを迂回する方法について書く。

注:必ずしも全ての文字列を置換する必要はない。

目次

SlowROM チェック

新しいカートリッジは、ほとんどがアクセス時間 120ns の ROM を使用しているが、 ROM コピー機では 200ns のものもある。これらの組み合わせでは バックアップした ROM を正しく動作させることができない。

ROM コードの SlowROM チェックを迂回することで、 SlowROM のコピー機でも FastROM のゲームを動作させることができる。 次の文字列を置換することで SlowROM チェックを迂回するようにできる。

検索する値置換する値
A9 01 8D 0D 42A9 00 8D 0D 42
A9 01 8E 0D 42A9 00 8E 0D 42
A2 01 8D 0D 42A2 00 8D 0D 42
A2 01 8E 0D 42A2 00 8E 0D 42
A9 01 00 8D 0D 42A9 00 00 8D 0D 42
A9 01 8F 0D 42 00A9 00 8F 0D 42 00

PAL/NTSC チェック

まだその国で発売されていないゲームを他の国で買ったりすることができないようにするために、 たくさんのゲームでビデオシステムの組み合わせが正しいかを検出するコードが実装されている。 次の文字列を置換することで PAL/NTSC チェックを迂回することができる。

検索する値置換する値
3F 21 29 10 C9 10 F03F 21 29 10 C9 10 80
3F 21 89 10 C9 10 F03F 21 89 10 C9 10 80
3F 21 29 10 F03F 21 29 10 80
3F 21 00 89 10 F03F 21 00 89 10 80
3F 21 00 29 10 F03F 21 00 29 10 80
3F 21 89 10 00 F03F 21 89 10 00 80
3F 21 29 10 00 F03F 21 29 10 00 80
AD 3F 21 29 10 00 D0AD 3F 21 29 10 00 80
AF 3F 21 00 29 10 D0AF 3F 21 00 29 10 80
AF 3F 21 00 29 10 00 D0AF 3F 21 00 29 10 00 EA EA
AD 3F 21 29 10 D0AD 3F 21 29 10 EA EA
AD 3F 21 29 10 F0AD 3F 21 29 10 80
AD 3F 21 89 10 D0AD 3F 21 89 10 80
AD 3F 21 29 10 C9 00 F0AD 3F 21 29 10 C9 00 80
AF 3F 21 00 29 10 00 F0AF 3F 21 00 29 10 00 80
AF 3F 21 00 89 10 00 F0AF 3F 21 00 89 10 00 80

SRAM サイズチェック

いくつかのゲームは、コピー保護のために SRAM のサイズチェックを入れている。 ほとんどのコピー機は、256kbits の SRAM を積んでいる。 新しいコピー機は、このチェックを回避する。

xx は何が入るか分からない箇所で、 括弧に囲まれた範囲は、どちらか一方の値を取る。

検索する値(8F, 9F) xx xx 70 (CF, DF) xx xx 70 D0
置換する値(8F, 9F) xx xx 70 (CF, DF) xx xx 70 EA EA (SRAM サイズ = 64kbit の時)
(8F, 9F) xx xx 70 (CF, DF) xx xx 70 80 (SRAM サイズ <> 64kbit の時)
検索する値(8F, 9F) xx xx (30, 31, 32, 33) (CF, DF) xx xx (30, 31, 32, 33) D0
置換する値(8F, 9F) xx xx (30, 31, 32, 33) (CF, DF) xx xx (30, 31, 32, 33) 80
検索する値(8F, 9F) xx xx (30, 31, 32, 33) (CF, DF) xx xx (30, 31, 32, 33) F0
置換する値(8F, 9F) xx xx (30, 31, 32, 33) (CF, DF) xx xx (30, 31, 32, 33) EA EA
検索する値(8F, 9F) xx xx (30, 31, 32, 33) AF xx xx (30, 31, 32, 33) C9 xx xx D0
置換する値(8F, 9F) xx xx (30, 31, 32, 33) AF xx xx (30, 31, 32, 33) C9 xx xx 80

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-10-27 (日) 15:53:04 (2889d)