#021

【MZ80,Z88DK】C言語でキースキャン【MZ80,Z88DK】C言語でキースキャン戻る 設定


概要

 アドレスE000hからE008hはメモリマップドI/Oで、そこに対するアクセスでキー押下状況を取得できます。

【参考】Enri's Home PAGE (mz-80K)(外部サイト)

【参考】MZ-80K2E Manual P.14(外部サイト)

ソース

#include <stdio.h>
#define PEEK( off ) ( *(unsigned char*)( off ) )
#define POKE( off, val )    ( *(unsigned char*)( off ) = ( val ) )
#define TRUE    1
void main()
{
    while( TRUE ){
        for( int i = 0; i < 10; i++ ){
            POKE( 0xe000, i );
            printf( "%x ", PEEK( 0xe001 ) );
        }
        printf( "\n" );
    }
}

解説

 アドレスE000hへ0~9のキーセレクト番号を書き込んだ後、E001hを読み込むと該当のキー押下状態が取得できます。


関連記事

#024 【MZ80,Z88DK】C言語でBeep音

#018 【MZ80,Z88DK】C言語で任意の座標に文字描画

#015 【MZ80,Z88DK】C言語でゲームループとFPS制御


最終更新日時:2022/05/03
戻る戻る back