まず、MSX のキーボードは表 1 のように配線されています。 この線を直接調べても良いのですが、今回は別の方法を取ります。
実はシステムもこの線を 1/60 秒ごとに調べて、メモリに保存しています。 そのアドレスが、表の左端に書かれています。
押されているキーは 0 、押されていないキーは 1 として、 2 進数表現で入っています。 つまり、スペースキー(だけ)を押すと、 FBED の内容が&B11111110 になります。 DEL とスペースを同時に押すと、&B11110110 ですね。
これを使うと、「 M とスペースを同時に押したか調べる」サンプルプログ ラムは、次のようになります。
10 CLS 20 LOCATE 0,0 30 IF (PEEK(&HFBE9) AND &B00000100) OR (PEEK(&HFBED) AND &B00000001) THEN PRINT 0; ELSE PRINT 1; 40 GOTO 20
M キーとスペースキーを同時に押した時だけ 1 が表示され、それ以外では 0 になるはずです。(本当は 2 進数は 16 進数になおした方がいいのだけれ ど…)
PRINT 0 と PRINT 1 を逆にしないように注意! 理由は、ド・モルガンの 法則です。(といって逃げる(^^;)