MWheel – Der ATARI dreht am Rad

Ein weiteres Projekt, welches mir sehr am Herzen lag, war MWheel. Der ATARI hatte standardmäßig eine 2-Tasten-Maus. Mit der Zeit kamen Mäuse mit einem seltsamen Rad auf den Markt – ein Scrollrad. Heute Standard, aber für den ATARI gab es solche Mäuse nicht, da das Betriebssystem nicht darauf vorbereitet war. Das wollte ich nicht hinnehmen und unbedingt eine Scroll-Maus am ATARI betreiben.

Üblicherweise waren diese Mäuse für PCs gedacht und wurden an die serielle Schnittstelle (später PS/2) angeschlossen. Zum Glück war der ATARI ST mit vielen Schnittstellen ausgestattet. Meine Aufgabe bestand darin, einen Treiber zu schreiben, der:

  1. es erlaubt, eine serielle Maus anzuschließen und sowohl Bewegungs- als auch Scrolldaten auszulesen,
  2. die Bewegungsdaten so an das Betriebssystem weiterleitet, als ob die Original-Maus bewegt wurde,
  3. und als schwierigster Teil: die Scrolldaten als Fenster-Scroll-Ereignisse einschleust (als ob man auf die Pfeile am Fensterrand geklickt hätte).

Der Treiber besteht aus zwei Teilen: Der Hauptteil ist für das Einschleusen der Ereignisse zuständig, während der Hardware-Teil als Modul realisiert wurde, das MWheel selbstständig lädt. Das hatte den Vorteil, dass der Hardware-Teil einfach ausgetauscht werden konnte, was wichtig wurde, als serielle Mäuse rar wurden.

JerryST LogoHier kommt auch ein Hardware-Projekt von mir ins Spiel: JerryST. Das war ein Adapter, der es erlaubte, PS/2-Mäuse direkt am ATARI zu betreiben. Und wenn ich sage „direkt“, dann meine ich das auch so: Man konnte PS/2-Mäuse tatsächlich ohne Treiber nutzen. Optional konnte man MWheel einsetzen, um die Scroll-Funktionalität freizuschalten.

MWheel ist Freeware. Das Archiv enthält folgende Module: mwheel.zip

  • mwhl-joy.mwx: Scrollen per Joystick
  • mwhl-ser.mwx: Für Mäuse am seriellen Port (RS232)
  • mwhl-eif.mwx: Spezieller Treiber für das EIFFEL-Tastatur-Interface
  • mwhl-mpc.mwx: Ausschließlich für MagiC PC (nutzt die Mausräder des Wirtssystems)
  • Zusätzlich im Archiv: **WEIFFEL.zip** von RGF-Software / Rüdiger Solbach

XaAES ist ein freier GEM-/MULTITOS-Ersatz, der auf MiNT aufsetzt. XaAES war das erste AES, das Mauswheels unterstützte (seit Release Nov. 2004), aber die Entwickler haben alles ganz anders gemacht als MWheel. Dennoch habe ich MWheel zu XaAES kompatibel gemacht und eine spezielle Version entwickelt (**xaMWheel**), damit alle Hardware-Module auch dort funktionieren.

Wenn dich Einzelheiten interessieren, findest du hier mehr: Technische Details anzeigen

  • Emulation: Das 2. Rad (horizontales Scrollen) wird standardmäßig mit der ALT-Taste bestimmt (Old-Style mit CTRL weiterhin möglich).
  • evnt_multi: Erhält den neuen Ereignistyp MU_WHEEL (0x40). MWheel sorgt dafür, dass Button- und Wheel-Ereignisse nicht gemeinsam gemeldet werden.
  • Fenster-Verhalten: Ohne MU_WHEEL erhalten Fenster weiterhin WM_ARROWED. Mit SHIFT wird seitenweise gescrollt. MWheel kann so eingestellt werden, dass nur WM_ARROWED verschickt wird, wenn das Fenster Slider/Arrows hat – sonst werden Cursor-Tasten simuliert.
  • wind_set: Per WF_WHEEL (40) kann eine erweiterte Wheel-Behandlung eingeschaltet werden. Es gibt drei Modi:
    • WHL_RAWWHEEL (0): Verschickt WM_WHEEL (345) Messages.
    • WHL_ARROWWHEEL (1): Erweiterte WM_ARROWED Nachrichten (Standard).
    • WHL_SLDRWHEEL (2): Wird von MWheel nicht unterstützt.

MWheel und Trapper: MWheel nutzt Trapper von Manfred Lippert. Da Trapper unter MiNT/XaAES oft "Starthilfe" benötigt, liegt das Programm xaTrapper.prg im Paket bei.

Wheelan.mwx – Das Milan-Modul

Der Milan war ein ambitioniertes Projekt, um die ATARI ST-Reihe mit moderner Hardware fortzusetzen. Da ich keinen Milan besaß, programmierte ich das Treiber-Modul „blind“ mit Hilfe eines Milan-Besitzers. Nach unzähligen Fehlversuchen entstand eine lauffähige Version. Auch Wheelan ist nun Freeware: wheelan.zip