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 PIC16F628. 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.

Downloads

ps2m.tgz

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

wbm-apollo.lha

WheelBusMouse 1.4 Treiber, Timing angepasst an Vampire Boards