Springe zu Hauptinhalt

Springe zu Hauptmenü

Henryk Richter

Amiga PS/2 Maus Adapter

You are here: Startseite » Hardware » PS/2 Amiga Maus 

Ansatz

Einzeln zu bekommende Amiga-Mäuse sind allgemein und vor Allem in funktionsfähigem Zustand rar geworden. Folglich werden Wege benötigt, um Standardmäuse am Amiga nutzbar zu machen. Eine Variante, die ich in den 90ern zu Umbauten angewendet habe, ist die Unterbringung der Platine aus einer Amiga-Maus im Gehäuse von PC-Mäusen.

Die populär gewordenen Mikrocontroller erlauben auch den Weg von externen Hardware-Adaptern. Der am weitesten entwickelte Adapter zum Anschluss von PS/2-Geräten an den Amiga basiert auf einem PIC Mikrocontroller und stammt von Denis Sotchenko (http://ps2m.sotchenko.ru/). Gegenüber vielen anderen Projekten ist der genannte Bauvorschlag Open-Source.

Da praktisch alle aktuellen Mäuse mit einem USB-Stecker daherkommen, habe ich in meiner Umsetzung eine USB-A-Buchse anstelle der PS/2-Buchse verbaut. Das Protokoll ist selbstverständlich nach wie vor PS/2 und muss auch von der Maus unterstützt werden. Ich habe mir hier nur den passiven Adapter gespart.

Aufbau

Ich wollte vermeiden, dass der Adapter durch mechanische Beanspruchung zu schnell wieder kaputt geht. Daher habe ich die Schaltung auf einer Lochraster-Platine aufgebaut. Neben dem obligatorischen 100nF-Kondensator über den Pins zur Versorgung sind über den PIC 16F628A hinaus keine weiteren Bauteile nötig. Die dahingehend modifizierte Schaltung ist bei den Bildern mit dargestellt.

Der im Bild zu sehende zusätzliche Widerstand ist dem Umstand geschuldet, dass der Pullup-Widerstand an Pin1 meiner Maus-Buchse im Amiga 4000 nicht funktionert. Daher ist der 2k2-Widerstand als Pullup an VCC bei mir mit auf dem Adapter. Im Normalfall ist dieser nicht nötig.

Schaltung mit USB-A-Buchse
fertiger Aufbau 1
fertiger Aufbau 2
Version 2, mit Wheel-Unterstützung

Software

Anstelle den PIC direkt am Amiga zu programmieren, wurde der PikDev unter Linux verwendet. Dabei fiel auf, dass das Hex-File aus dem Aminet dem PikDev nicht geheuer vorkam. Um bei der Programmierung auf Nummer sicher zu gehen, wurde der Quellcode an gpasm/mpasm angepasst und noch einmal neu übersetzt. Das Hex-File wurde nach der Anpassung auf Binärkompatibilität zum Original überprüft. Einige OpCodes wurden unter Linux anders übersetzt als im Original und wurden daher im Quellcode entsprechend modifiziert. Das beiliegende Hex-File referenziert den PIC16F628A. Die Modifikationen am Code stammen von Stephan Lange. Danke noch einmal an dieser Stelle.

Amiga Software

Auf der Amiga-Seite wird für die zusätzlichen Buttons und Mausräder ein Treiber benötigt. Im vorliegenden Fall ist dies der WBM (wheel bus mouse). Während sich der Treiber auf dem Amiga 4000 unauffällig verhielt, erzeugte das Binary aus dem Aminet eine hohe Last bei mir auf der Vampire-Karte im Amiga 500.

Folglich habe ich eine alternative Version erstellt, welche die Delay() Funktion der dos.library für das Timing verwendet. Mit dieser Änderung läuft der WBM-Treiber auch auf der Vampire-Karte wie gewohnt. Das Archiv (mit Quellcode) findet sich untenstehend im Download-Abschnitt.

Alternativ zum WBM, welcher als Treiber manuell in der S:User-Startup einzutragen ist, steht auch der Treiber UWMouse zur Verfügung. Dieser erfüllt die gleiche Funktion (und sollte auch nicht zeitgleich mit WBM betrieben werden), kann aber zur Installation einfach ins Verzeichnis SYS:WBStartup gelegt werden. Damit entfällt für UWMouse das Ändern der Start-Scripte. Weiterhin unterstützt UWMouse als Commodity das Exchange-Programm, mit welchem es sich gegebenenfalls deaktivieren bzw. auch bedarfsweise sauber beenden lässt.

Zusammenfassung

Ein fliegender Aufbau dieses Adapters ist dank der preiswerten Mikrocontroller kostengünstig möglich. Es bleibt jedoch festzuhalten, dass die Verfügbarkeit von Mäusen, die noch das PS/2 Protokoll unterstützen, in letzter Zeit rapide abnimmt. Demzufolge würde ich diesen Adapter nur dann noch empfehlen, wenn sichergestellt werden kann, dass PS/2-fähige Mäuse im Haushalt vorhanden sind. Fast alle neu zu bekommenden Mäuse sind reine USB-Geräte, die an diesem Adapter nicht laufen.

Aus diesem Grund habe ich als bessere Alternative den UWMouse Adapter entwickelt, der einen USB Mausadapter mit Scrollrad-Funktion darstellt und mit den meisten modernen Mäusen arbeitet.

Downloads

ps2m.tgz

PIC Quellcode und Hex-File, angepasst an gpasm/mpasm

wbm-apollo.lha

WheelBusMouse 1.4 Treiber, Timing angepasst an Vampire Boards

UWMouse.lha

Alternativer/Neuer WheelBusMouse Treiber, als bequemes Commodity