Magic Disk 64

home to index to text: MD9108-KURSE-CIA_TEIL_2.txt
MD9108-KURSE-CIA_TEIL_2.hires.png

Soviel also zum Aufbau der Mausmechanik.
Nun wollen wir uns einmal überlegen, was wir zu einer Mausabfrage beachten müssen. Zunächst einmal wollen wir die einzelnen Zustände der Maussignale untersuchen um herauszufinden, in welche Richtung die Maus bewegt wird. Hierbei beschränke ich mich wieder auf die Horizontalbewegung, da der Ablauf für die Vertikalbewegung identisch ist.
Betrachtet man einmal die Oszillatorkurven in der Grafik oben und " übersetzt" man sie in Bitmuster (0 für " low",1 für " High"), dann erhält man für die einzelnen Bewegungen folgende Bilder:

Linksbewegung :  H  - ...0011 0011...   
                 HQ -    0110 0110      

Rechtsbewegung: H - . . .01100110 . . .
HQ -00110011 Nach jeweils 4 Signalen wiederholt sich das Ganze immer wieder. Wie Sie sehen kommen in beiden Bewegungen die H/ HQ-Kombinationen 00,01,10 und 11 vor. Die Unterschiede der beiden Signale, an denen wir dann die Richtung erkennen können sind folgende:
1) Ist die Bedingung H= HQ=0 erfüllt, und sind sind folgenden Signale H=0 und HQ=1, so fand eine Bewegung nach LINKS statt.
2) Ist die Bedingung H= HQ=0 erfüllt, und sind die folgenden Signale H=1 und HQ=0( also genau umgekehrt), so fand eine Bewegung nach RECHTS statt.
3) Ist die Bedingung H= HQ=1 erfüllt, und sind die folgenden Signale H=1 und HQ=0, so fand eine Bewegung nach LINKS statt.
4) Ist die Bedingung H= HQ=1 erfüllt, und sind die folgenden Signale H=0 und HQ=1, dann fand eine Bewegung nach RECHTS statt.
Zur genauen Bestimmung der Richtung müssen wir also ZWEI zeitlich voneinander versetzte Signale GLEICHZEITIG auswerten! Das kann unter Umständen sehr kompliziert werden, da mehrere Vergleiche ineinander verschachtelt werden müssen, um die genaue Richtung herauszufinden.
Aus diesem Grund habe ich eine sinnvolle Vereinfachung durchgeführt, die durch folgende Grafik erklärt werden soll:

Valid HTML 4.0 Transitional Valid CSS!