INP(&H94)の憂鬱
下記のプログラムを打ち込んで、RUNさせます。
f5キーの場合と、RUN RETURN を手打ちで入力した場合で、実行結果が異なります。
10 PRINT INP(&H94)
20 goto 10
実機でやると、前者は0、後者は13が、連続表示されます。
iP6 Plusでやると、前者は、244で、後者は、13 です。
P6V でやると、常に、255です。
ところで、テラ4001というゲームの場合、デモ画面中の、キー入力を、INP(&H94)で、RETURNキーが押されたかどうかを判別しています。
IF INP(&H94)=13 then goto ... という感じです。
実機や、P6Vでは、どっちの起動方法でも、問題はないです。
デモが延々ループして、RETURNキーを押さない限りは、ゲームの本編に行かないです。
でも、iP6 Plus で、後者の方法で実行すると、最後に RETURNキーが押されていることになっているので、デモ音楽がはじまってすぐに、RETURNが押されたと思って、ゲーム本編のロードにいってしまいます。(汗)
いつ、リセットされるのかが、不可解なんですが、考えても無駄でしょうね。。(汗)
この辺は、やはり、SUB CPUのハンドシェイクが、単純化されているためでしょうか。。(汗)
ただ、最初に書いたとおり、下記のプログラムを、RUN(return)で実行した場合、実機でも、13(RETURNキーのキーコード)になります。
10 PRINT INP(&H94)
20 GOTO 10