Hallo,
mein Problem mit einem Game-Port einen Schalter abzufragen habe ich noch immer nicht lösen können. Neuer Ansatz:
Wie kann ich die Speicheradresse 200 auslesen (analog zum Assembler-Bsp)?
Spoiler anzeigen
Die Programmierung:
Der Gameport hat nur ein Register, wo dieses liegt, zeigt der Gerätemanager in den Ressourcen des Gameports. Im Beispiel liegt der E/A Bereich bei 0200-0207. D.h., bei $200 liegt das Byte des Gameports.
Der Gameport muß nicht geöffnet werden, jedoch sollte ein Joystick im Betriebssystem installiert werden. Folgender Code fragt das Register des Gameports auf die Tasten ab:
..
var
Wert:byte; //Wert aus Gameport-Register
asm // inline Assembler
mov dx,$200; // Lade die Adresse 200 in DX
in al,dx; // Lade Wert aus 200 in al
mov Wert, al; // Lade Wert aus al in VAR Wert
end; // Ende inline Assembler
Wert nimmt nun 16 verschiedene Werte bei 4 Joysticktasten an (je zwei Tasten pro Joystick), ...
Quelle: http://www.delphi-roboter.de/3game.htm
Mit den Memory-Beispielen hier im Forum
(z.B. Speicheradresse (ReadProcessMemory) auslesen?
komme ich nicht weiter, weil ich hier keinen Prozessnamen habe, oder????
In der Anlage nochmal die Speicheradresse über den Gerätemanager, die ich gerne auslesen würde.
Vielen Dank
viele Grüsse
Carsten