GloriousCowによる新しい研究は、歴史的なフロッピーディスクのコピーガード方式の興味深い世界に迫り、フォーマスターのCopy-Lockについて初の調査結果を明らかにしました。この特定の方式は、IBM PCの初期に使用され、その中で有名な例にはSierra Entertainmentによる人気ゲームKing’s Questがあります。
他のコピーガード方式がDOSを別途ブートすることを要求するのとは異なり、Copy-Lockの保護方式は指定されたフロッピーディスクを挿入するだけでゲームが自動的に起動することを可能にしました。Copy-Lockは、通常のフロッピーディスクハードウェアが複製するのを困難にするためのさまざまな技術を採用していました。
Copy-Lockが採用した戦術の1つは、トラック6のセクター1を故意に変更したことです。通常の512バイトのセクターではなく、このセクターは256バイトのみで書かれ、隙間を埋めるための256バイトの空白部分が存在しました。さらに、このセクターのCRC(巡回冗長検査)値も改ざんされ、さらなる保護が施されました。
この唯一無二のディスク構造は、ディスクを読み取ろうとするPCにとって課題となりました。PCのBIOS割り込みルーチンは、標準の512バイトセクターを想定しており、”セクターの読み取り”コマンドが発行されたときに変更されたセクターを見つけられなくなります。未承認のコピーを検出するため、ゲームはBIOSをバイパスし、カスタムコードを使用して直接フロッピーディスクコントローラと通信します。
ゲームのコードは、INT 13hルーチンを使用してトラック6、セクター1を探し、有効なセクターが存在しないために失敗することを期待します。”トラックの読み取り”コマンドを送信し、特定の魔法の数値である0xF7を確認することで、ゲームはCopy-Lockの保護の存在を確認します。重要なのは、この特異なディスク構造を標準のIBM PCフロッピーディスクコントローラで作成することはできず、異なるサイズのセクターや正しくないCRCを書き込むことができる特殊なハードウェアが必要とされることです。
GloriousCowによるこの調査は、初期のコピーガード方式の独創性と、ゲーム開発者や海賊たちの両方にとってもたらされた課題を示すものです。これらのデジタルの遺物を保存したい、またはフロッピーディスクのコピーガードの複雑な世界についてさらに学びたい場合は、GloriousCowの進行中の研究をご覧ください。