任天堂E-Readerの描画APIのリバースエンジニアリング:スタックに隠された秘密

2025-02-02
任天堂E-Readerの描画APIのリバースエンジニアリング:スタックに隠された秘密

任天堂E-Reader向けにマインスイーパーゲームを開発していた開発者が、描画APIの`DrawLine`関数に隠された機能を発見しました。最初は、`DrawLine`を使ってミニマップの矩形を描画するループで、線が次第に速く描画されることに気づきました。そして、描画時間はスタックにプッシュされた値(ループカウンタと別のレジスタの組み合わせ)によって決まっていることを突き止めました。スタックに0をプッシュすることで問題を解決し、APIの珍しい詳細が明らかになりました。これは、リバースエンジニアリングの魅力と古いプロセッサアーキテクチャの特異性を示しています。

ゲーム