[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 1478] Re: atropos3.



  こんにちは、川合です。まだ疲れています(笑)。


nabe さんは 2001/02/11 00:24:29 の「[OSASK 1476] Re: atropos3.」
で書きました:

>もし、マウスのコマンド資料と、簡単なI/O処理を送って頂ければ
>ディバガでおっかけますけど……。

  それでは、お願いします。

  まず、マウスにコマンドを送る方法です。

1.出力バッファがあくのを待つ
    do {
        IN(AL, 0x64);
        TEST(AL, 0x02);
    } while (!= 0);

2.マウスコマンドプリフィクスを送信
    AL = 0xd4; // to mouse prefix
    OUT(0x64, AL);

3.出力バッファがあくのを待つ
    do {
        IN(AL, 0x64);
        TEST(AL, 0x02);
    } while (!= 0);

4.そして、マウスにコマンドを送信
    AL = コマンドバイト;
    OUT(0x60, AL);

  次は、マウスから1バイトを受け取る方法です。

1.マウスからの返答を待つ
    do {
        IN(AL, 0x64);
        TEST(AL, 0x20);
    } (== 0);

2.マウスから1バイト受信
    IN(AL, 0x60);

  マウスからデーターを受け取るとIRQ12が発生するので、マスクして
おいた方がやりやすいかもしれません。マスクするには、I/Oポートの
0x00a1のbit4(0x10)を"1"にしてやります。

  また、マウスポートとキーボードポートは兼用なので、上記手順をデ
バッガで1つずつやるのは困難だと思います。適当なプログラムを書く
方が手っ取り早いでしょう。

>私は DOS上ではもっぱら fd2f というソフトを使ってます。
>AT でも TOWNS でも 98 でも Win95/NT DOS窓でも動作した……はずです。
>Windows の GUI なツールはいくつかあることは知ってますが、
>私はもっぱら DOS ですので、ベクターで探すのが一番かと……

  ありがとうございます。ベクターで探してみます。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/