Skip to content

Latest commit

 

History

History
27 lines (19 loc) · 1.55 KB

joypad.md

File metadata and controls

27 lines (19 loc) · 1.55 KB

🎮 ジョイパッド

👾 FF00 - P1/JOYP - ジョイパッドレジスタ (R/W)

ゲームボーイの8つのアクションボタンと方向ボタンは、2x4のマトリクス状に配置されています。アクションボタンはA,B,Start,Selectのことで、方向ボタンは俗に言う十字キーのことです。

このレジスタのbit4,5に書き込むことで、アクションボタンか方向ボタンかを選択し、bit0-3を読み出します。

  Bit
  0   R    P10 Input: Right or A        (0=Pressed)
  1   R    P11 Input: Left  or B        (0=Pressed)
  2   R    P12 Input: Up    or Select   (0=Pressed)
  3   R    P13 Input: Down  or Start    (0=Pressed)
  4   R/W  P14 Select Direction buttons (0=Select)
  5   R/W  P15 Select Action buttons    (0=Select)
  6-7 R    不使用

注意

ほとんどのゲームプログラムは、このポートから何度も連続して読み込みを行っています。 最初に読み込まれた値は、入力が安定するまでの短い遅延として使用され、最後に読み込まれた値のみが実際に使用されます。

💡 SGBでのジョイパッドの特殊な使い道

通常のジョイパッド入力の他に、SGB対応のゲームではジョイパッドレジスタを悪用してSGBコマンドパケットをスーファミへ出力したり、スーファミに接続可能な最大4つのジョイパッドからゲームパッドの状態を読み取ったりすることができます。詳しくはSGBのページをご覧ください。