データ取得とプログラミング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/04/06 02:55 UTC 版)
「ゲームポート」の記事における「データ取得とプログラミング」の解説
CPUはゲームポートのデジタル、アナログ各入力端子の状態をI/Oアドレス(典型的にはx201)を介して読み取ることが可能である。より具体的には当該アドレスのBit0~3が各アナログ端子のパルスの状態、Bit4~7が各デジタル入力端子の状態を示している。 アナログ入力端子の抵抗値の値は典型的には下記の手順によって取得される。 ゲームポートにアサインされたI/Oアドレスに書き込みを行う。これによって可変抵抗の値に応じたパルスの出力が開始される(Bit0~3が0となる) 周期的にI/Oアドレスを読み取り、Bit0~3の各々が0である状態を何回検出されたかをカウントする Bit0~3のすべてが1となるか手順1から十分な時間が経過するまで、手順2を繰り返す いわゆるアタリ仕様や任天堂のジョイスティックのようなデジタル入力のみのインタフェースはプログラマが扱うのが容易であるのに対して、上記のようにゲームポートは入力を読むためにタイミングよくソフトウェア割り込み等でトリガをかける必要がある(例えば、256段階の分解能を得るためには約4.4マイクロ秒間隔でI/Oアドレスに数百回アクセスする必要がある)。このた通常のデジタル (TTL) ジョイスティックポートを比較すると、ゲームポートは読み出しに著しくCPU時間を消費するものでありパフォーマンス問題を引き起こしうる。
※この「データ取得とプログラミング」の解説は、「ゲームポート」の解説の一部です。
「データ取得とプログラミング」を含む「ゲームポート」の記事については、「ゲームポート」の概要を参照ください。
- データ取得とプログラミングのページへのリンク