MultiPlay
Das MultiPlay ist eine Erweiterungskarte, die wechselweise zwei Joystickports bzw. Mausports zur Verfügung stellt.
Inhaltsverzeichnis
Anschluss von 2 Joysticks bzw. Mäusen
Die MultiPlay ist eine kleine Erweiterungskarte im MX4 Format und bietet zwei SUB-D 9 Polige Anschlüsse. Daran lassen sich entweder normale Joysticks (mit bis zu drei Feuerknöpfen) oder entsprechende Mäuse anschliessen.
Für jeden der beiden Ports (A oder B) kann per Schalter zwischen Maus und Joystick gewählt werden.
Die Abfrage ist denkbar einfach: Die entsprechende I/O Adresse wird eingelesen. Das Format ist Joystick-komptibel.
I/O Adressen
Jeder Port kann entweder mit einem Joystick oder mit einer Maus betrieben werden, bitte den Schalter in die entsprechende Stellung bringen (AMS bzw. AMI für Amstrad bzw. Amiga).
Joysticks (Schalter auf AMS)
- &F990 : 0321RLDU - Eingabe A, Joystick und Knöpfe = Port A Bits
- &F991 : 0321RLDU - Eingabe B, Joystick und Knöpfe = Port B Bits
Aktionsknöpfe:
Bit 0: Auf
Bit 1: Ab
Bit 2: Links
Bit 3: Richts
Bit 4: Erster Feuerknopf oder LMB
Bit 5: Zweiter Feuerknopf oder RMB
Bit 6: Dritter Feuerknopf oder MMB
Bit 7: 0
Was wird an den CPC's gelesen, ohne MultiPlay?
- &F990 : &00, &7F(127), &FF (255)
- &F991 : &40(64), &FF(255)
Durch Abfrage der Ports kann nicht ermittelt werden, ob ein MultiPlay angeschlossen ist oder nicht
Mäuse (Schalter auf AMI)
- &F992 : 00000XXX bzw. 11111XXX - Eingabe A, Maus X = Port A Maus POS-X Wert
- &F993 : 00000YYY bzw. 11111YYY - Eingabe A, Maus Y = Port A Maus POS-Y Wert
- &F994 : 00000XXX bzw. 11111XXX - Eingabe B, Maus X = Port B Maus POS-X Wert
- &F995 : 00000YYY bzw. 11111YYY - Eingabe B, Maus Y = Port B Maus POS-Y Wert
Maus Bits
- Bit 0-2: Wert
- Bit 3-7: Vorzeichen (alle 0 oder 1)
Auflösung der Maus
Die Maus hat eine Auflösung von 200 Punkten pro Zoll (DPI).
Genauigkeit der Maus
4 Bit mit Vorzeichen auf 8 Bit erweitert (-8 bis +7). Maus Register X/Y gibt den Offset seit dem letzten Lesen zurück. Der Wert erreicht einen Höchstwert, falls für längere Zeit keine Abfrage erfolgt oder die Bewegung zu schnell ist. Aber der Wert wird nicht überlaufen.
Aus Sicht der Software liest man einfach den Port und addiert den Wert zur Position.
- Lesen unter BASIC mittels des 50 Hz Interrupts ist schnell genug um den Cursor zu bewegen.
- Lesen unter Assembler mit 300 Hz Interrupt ist schnell genug um einen Mauspfeil mit Beschleunigung darzustellen.
Maus Notizen
Proportionale Amiga Mäuse sind nötig um die Ports &F992 to &F995 zu benutzen (Auf AMI schalten). Ports &F990, &F991 werden für die Knöpfe benutzt. Die anderen Bits geben nutzlose Daten zurück.
Bei den Mäusen spiegeln Bits 7,6,5,4 den Inhalt von Bit 3 wieder. Effektiv handelt es sich dabei um 8 Bit signierte Werte in Bereich von -16 (= &F0) bis 15 (= &0F).
Bei den Mäusen sind die Feuerknöpfe ausserdem weiterhin über die Joystick-Ports einzulesen (Maus A über Joystick A, und Maus B über Joystick B)
Benutzbare Mäuse
- Amiga Maus
- Atari ST Maus, aber mit Adapter!