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

2023年07月12日

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




今回は、Laboratoryテーマ??13「「GRAPH」キーが押されたか調べたい」です。


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

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




ラベル名

アドレス

変化するレジスタ

使い方



SNSMAT

&H0141

AF、C

調べたいキーのある下表【キーマトリクス】の行をAレジスタに入れコールすると、Aレジスタの押されているキーに対応するビットが「0」、押されていないキーに対応するビットは「1」になる。



【キーマトリクス】




ビット


7

6

5

4

3

2

1

0



0

7

6

5

4

3

2

1

0


1

+

[

@


^

-

9

8


2

B

A

_

/

>

<

]

*


3

J

I

H

G

F

E

D

C


4

R

Q

P

O

N

M

L

K


5

Z

Y

X

W

V

U

T

S


6

F3

F2

F1

かな

CAPS

GRAPH

Ctrl

SHIFT


7

RET

SEL

BS

STOP

TAB

ESC

F5

F4


8





DEL

INS

CLS

SPACE


9

4

3

2

1

0

/

+

*


10

.

,

-

9

8

7

6

5


※ 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
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: