Der Gameportadapter1 hat sich im
Einsatz
bewährt, ist aber durch die Verwendung elektronischer Potis
relativ
teuer. Außerdem haben die Potis nur 100 mögliche
Widerstandswerte.
Dadurch ist dieser Adapter etwas grob in der Umsetzung der RC-Signale.
Funktion:
Das Port RA4 des PIC ist mit der Lehrer-Schüler-Buchse der
Fernsteuerung
verbunden, und wird benutzt, um die Impulse der Fernsteuerung
auszumessen.
RB0 erkennt den Beginn einer Gameportabfrage und löst einen
Interrupt
aus. Mit zeitlicher Verzögerung von bis zu 1 ms werden dann die
analogen
Gameporteingänge über RB1..4 auf +5V gelegt.
Die Feuerknöpfe werden direkt über RB5..7 und RA3
angesteuert.
Die RS-232-Schittstelle ist vorgesehen, um in der Endfassung der Software den Adapter über eine serielle Schnittstelle konfigurieren zu können. Es wäre eleganter, dazu die am Gameport ohnehin oftmals vorhandene MIDI-Schnittstelle zu nutzen diese ist ja nichts anderes als eine serielle Schnittstelle mit 31.25 kBaud. Aber im Moment ist die normale COM-Schittstelle des PC der Favorit, die kenne ich besser.
Programmierung des PIC
Der PIC soll sich ohne spezielles Programmiergerät "brennen"
lassen,
um die Hemmschwelle für Nachbauer niedriger zu machen. Ein
einfacher
Zwischenstecker, der zwischen Gameportstecker des Adapters und der
seriellen
Schnittstelle gesteckt wird, macht den Adapter zum seriellen
Brenner kompatibel.
Alternativ kann ein Quick and
Dirty-Brenner
oder ein Brenner0 in wenigen Minuten zusammengelötet werden.
Entwicklungsstand:
Den ersten Ansatz habe ich nach größeren Problemen ruhen
lassen. Nicht nur die unterschiedlichen Gameportauslegungen machten mir
das Leben schwer, obendrein gelang es nicht einen absolut ruhigen
Joystick
zu simulieren. Etwas zitterte immer, da sich auf die langsam
ansteigende
Ladekurve nicht genau synchronisieren lässt.
Ich verfolge z.Z. einen neuen Ansatz, der sich mit fast der gleichen Hardware (sogar noch ein paar Widerstände und Drähte weniger) realisieren lässt. Er verspricht bis zu 10-Bit-Auflösung für die Joysticks (1024 Stellungsschritte) und Kompatibilität zu allen Gameports unter Win95/98.