F1レースでファミコンロッキー
ファミコンロッキーの愛蔵本がゴミ置き場に捨ててありました。
コラコラコラコラーッ!
というわけで、別に拾ってきたりしてはいませんが(本当です)、ふとF1レースで50連打するとマッハを超えるという話があったことを思い出しました。もちろんマンガ内での話であって本当には出来ません。さすがに当時の僕でもこれを真に受けることはありませんでしたが、今思えば秒間60フレームのゲームだと最大でも30回しかONとOFFを認識することはできないわけで・・・などと屁理屈を言ってみたりして。
50連打は置いておくとしても、改造すればマッハを超えるようにできるのではないだろうか?
そうだ、検索してみよう!
こういうものは世の中でもう誰かがやっているに違いないのです。検索の結果それらしきスクリーンショットを見つけることはできたのですが、どうしても動画が見てみたくなったので、自力で改造してみることにしました。
改造方法も載っていなかったため、とりあえず足がかりとして逆アセンブルしたソースから416Km/hを超えるとターボになるという裏技の処理を探してみることにしました。ここが分かればスピードのワークが分かり、そこから芋づる式にいろいろ解析できるのではないかという目論見です。
6502はバイトでしか検索できないので、496=$01A0となるから、きっとソース内を#$A0で検索すればヒットするはず。
・・・発見しました。スピードが496Km/hの時にワークを1にしているようです。あとはこのワークを使っているところを色々と調べていったところ、スピードのデータテーブルと思われる部分があったので、そこを適当に書き換えてみました。
うーん・・・、速すぎてまともに走れませんね。
画面も壊れてしまいましたが、スピードが上がりすぎてVBLANK中に書き換えられなかったか、描画に使用しているデータテーブルのインデックスの範囲を超えてゴミを拾ってしまったのでしょう。深く気にしないことにします。
とにもかくにも、これでファミコンロッキーに一歩近づいたことは間違いありません。
トラックバック URL :
コメント (0)






