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