トップ改造コードメモ > パッド値


よく見かける形式は下の3パターンです。ソフトによってはこれ以外の値をとる場合もあります。

・パターン(a) (プラス形式)
いわゆる「プラス形式」と呼ばれるものです。各ボタンの状態が対応したビットに割り振られており、
ボタンが押されていればそのビットは1、押されていなければ0になります。
↑:$1000 △:$0010 L1:$0004 L3 :$0200
→:$2000 ○:$0020 R1:$0008 R3 :$0400
↓:$4000 ×:$0040 L2:$0001 Sel:$0100
←:$8000 □:$0080 R2:$0002 St :$0800
※Sel=セレクトボタン St=スタートボタン
複数のボタンが押されている場合は、それらを全て足した値になります。
何も押されていない場合は$0000になります。


・パターン(b) (マイナス形式)
いわゆる「マイナス形式」と呼ばれるもので、プラス形式とは逆にボタンが押されていなければそのビットは1、
押されていれば0になります。ただし、プラス形式とマイナス形式では割り当てられているビットの位置が違う
(1バイト目と2バイト目が逆?)
ようなので注意してください。
↑:$FFEF △:$EFFF L1:$FBFF L3 :$FFFD
→:$FFDF ○:$DFFF R1:$F7FF R3 :$FFFB
↓:$FFBF ×:$BFFF L2:$FEFF Sel:$FFFE
←:$FF7F □:$7FFF R2:$FDFF St :$FFF7
複数のボタンが押されている場合は「$FFFF-パターン(c)の値」になります。
L1+R1なら「$FFFF−$0400−$0800=$F3FF」となります。
何も押されていない場合は$FFFFになります。
なお、見つけたパッドアドレスがこの形式だった場合、この後ろにスティック情報が格納されている場合があります。


・パターン(c)
・パターン(b)をビット反転(0→1、1→0)させたもの(=$FFFF−パターン(b)の値)
・パターン(a)の1バイト目と2バイト目を逆にしたもの(似ているので間違えないように)
といえます。$FFFFからこの値を引いたものがパターン(b)の値になります。

↑:$0010 △:$1000 L1:$0400 L3 :$0002
→:$0020 ○:$2000 R1:$0800 R3 :$0004
↓:$0040 ×:$4000 L2:$0100 Sel:$0001
←:$0080 □:$8000 R2:$0200 St :$0008
複数のボタンが押されている場合はパターン(a)と同様、それらを足した値になります。


16進数の計算が苦手という人はwindows付属の電卓を使いましょう。
表示(V)のメニューで関数電卓を選び、16進に切り替えればOKです。(右側の桁数はWord以上にしてください)


電卓で計算するのも面倒な人用
かなり手抜きですがとりあえず作ってみました。
(チェックボックスの並びが上の表のままなので使いづらいですが)
数値部分への直接入力もできるので、パッド値→ボタンや他形式への変換も可能です。
ダウンロード(windows専用)
実行画面


戻る