アフィリエイト広告を利用しています
 

2023年07月12日

Laboratoryテーマ13「「GRAPH」キーが押されたか調べたい」




今回は、Laboratoryテーマ13「「GRAPH」キーが押されたか調べたい」です。
こちらも簡単なので、サクッと説明。

ゲームのコントローラーとしてキーボードを使う時、ジョイスティックのBボタンに該当するキーとして、「GRAPH」キーが良く利用されます。
ジョイスティックのAボタンに該当するキーは間違いなく「スペースバー」と思われますので、その横にある「GRAPH」キーが押しやすいのでしょう。(私はそう。)

今回も前回紹介したBIOSに、リアルタイムなキーボード入力状況を得るサブルーチンがありますので、そちらの機能を紹介します。
ただ、前回の「Ctrl」+「STOP」ように「GRAPH」キーの押下だけを判定するBIOSではないので、少し知識が必要です。















ラベル名アドレス変化するレジスタ使い方
SNSMAT&H0141AF、C調べたいキーのある下表【キーマトリクス】の行をAレジスタに入れコールすると、Aレジスタの押されているキーに対応するビットが「0」、押されていないキーに対応するビットは「1」になる。

【キーマトリクス】





























































































































ビット
76543210
076543210
1+[@^-98
2BA_/><]*
3JIHGFEDC
4RQPONMLK
5ZYXWVUTS
6F3F2F1かなCAPSGRAPHCtrlSHIFT
7RETSELBSSTOPTABESCF5F4
8DELINSCLSSPACE
943210/+*
10.,-98765

※ 9〜10行はテンキーです。

例えば、「GRAPH」キーが押されたか調べたければ、【キーマトリクス】表の「GRAPH」キーのある行は「6」になるので、「6」をAレジスタに入れてコールすると、Aレジスタの第2ビットが「GRAPH」キーが押されていれば「0」、押されていなければ「1」になります。

これまでの私自作のゲームでも、それなりに使っています。
7_9_1.png
プログラムはBボタン(「GRAPH」ボタン)が押されたら下の処理へ、押されていなければ空欄に指定したアドレスへ飛びます。
押しっぱなしは、不可です。
変数は赤アドレス(&HE013)は、ジョイスティック
緑アドレス(&HE00D)は、Bボタン押し続け不可フラグです。
黄色がBIOSコール(&H0141)。
コール前の&H06が行aAコール後の&H04が第2ビット判定です。

では、次回はLaboratoryテーマ14「簡単にBGMを鳴らしたい」です。
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | Laboratory
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/12064174
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
検索
<< 2024年12月 >>
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
広告
最新記事
ブログランキング
にほんブログ村 ゲームブログ ゲーム制作へ
プロフィール
J-JSOFTさんの画像
J-JSOFT
高校時代、あれほど熱心に取り組んだMSXに触れなくなって30年余…。 MSXエミュレータとの出会いで、MSX愛が再燃中。
プロフィール
カテゴリーアーカイブ
ファン
QRコード