Das Schneider CPC Systembuch

Das Innenleben der CPC-Rechner

Die Schnittstellen der Schneider CPCs

Der Joystick-Anschluss

Freundlicherweise hat Amstrad dem Schneider CPC 'den' Standard-Joystick-Stecker eingebaut, wie er seit Atari & Co üblich ist. Bis auf eine kleine Gemeinheit entspricht er hier völlig der Norm, so dass man jeden handelsüblichen Schaubilder der Tastatur: Erster Joystick 0 und zweiter Joystick 1Joystick sofort anschließen kann. Eine Maus kann nicht angeschlossen werden, weil hierfür sowohl eine echte Masse als auch eine Versorgungsspannung fehlt.

Die 'kleine Gemeinheit' ist die Tatsache, dass an diese eine Buchse zwei Schaubilder der Tastatur: Erster Joystick 0 und zweiter Joystick 1Joysticks angeschlossen werden können. Es gibt in der Buchse zwei Nullleiter: Einen für den ersten Schaubilder der Tastatur: Erster Joystick 0 und zweiter Joystick 1Joystick und einen für den zweiten. Wer eigene Bastelarbeiten scheut, aber dennoch zwei Schaubilder der Tastatur: Erster Joystick 0 und zweiter Joystick 1Joysticks braucht, muss als ersten Schaubilder der Tastatur: Erster Joystick 0 und zweiter Joystick 1Joystick das Original-Schneider-Exemplar erwerben. Dieser hat noch einen Ausgang, an dem jetzt der zweite Nullleiter an der Stelle des ersten herausgeführt ist.

Ansicht von hinten auf die Buchse (Wer Ambitionen für Lötarbeiten hat: Die Pins der Joystick-Stecker sind normalerweise entsprechend nummeriert):

       _______________________________
      /                               \
     (    1     2     3     4     5    )
      \                               /
       \                             /
        \    6     7     8     9    /
         \_________________________/
Belegung der einzelnen Stifte:
1 - Schalter-Ausgang für UP (nach oben)
2 - Schalter-Ausgang für DOWN (nach unten)
3 - Schalter-Ausgang für LEFT (nach links)
4 - Schalter-Ausgang für RIGHT (nach rechts)
5 - Schalter-Ausgang (nicht spezifiziert)
6 - Schalter-Ausgang für Feuer 2
7 - Schalter-Ausgang für Feuer 1
8 - Gemeinsamer Eingang für alle Schalter von Schaubilder der Tastatur: Erster Joystick 0 und zweiter Joystick 1Joystick 1 (COMMON 1)
9 - Gemeinsamer Eingang für alle Schalter von Schaubilder der Tastatur: Erster Joystick 0 und zweiter Joystick 1Joystick 2 (COMMON 2)
(Sichtweise der Richtungsangaben: von den Schaubilder der Tastatur: Erster Joystick 0 und zweiter Joystick 1Joysticks aus)

Besonders Pin 5 ist interessant, da er in der gesamten Schneider-Literatur immer nur mit 'nicht belegt' angegeben ist. Würde dieser Eingang an Schaubilder der Tastatur: Erster Joystick 0 und zweiter Joystick 1Joystick 1 irgendwie betaetigt (Feuer 3 o. AE.) so erhielte man die Taste mit der Nummer 78, die angeblich nirgends angeschlossen ist. Mit Schaubilder der Tastatur: Erster Joystick 0 und zweiter Joystick 1Joystick 2, der ja parallel zu Tasten der normalen Tastatur angeschlossen ist, ergäbe sich Taste &36 = 'LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL
LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL
LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPT
B
'.

Anschluss von zwei Joysticks, Schneider-Methode:
Schneider (aus):  162738495  (Buchse)
                  |||||||||
Schaubilder der Tastatur: Erster Joystick 0 und zweiter Joystick 1Joystick 1 (ein): 162738495  (Stecker)
                  ||||| |||
                  |||||+-+|
                  ||||||| |
Schaubilder der Tastatur: Erster Joystick 0 und zweiter Joystick 1Joystick 1 (aus): 162738495  (Buchse)
                  |||||||||
Schaubilder der Tastatur: Erster Joystick 0 und zweiter Joystick 1Joystick 2 (ein): 162738495  (Stecker)
Selbstlöt-Methode (Schaltung in einem Y-Adapter):
Schaubilder der Tastatur: Erster Joystick 0 und zweiter Joystick 1Joystick 1 (ein): 162738495 (Kupplung)
                  |||||||||
Schneider (aus):  162738495 (Stecker)
                  ||||| |||
                  |||||+-+|
                  ||||||| |
Schaubilder der Tastatur: Erster Joystick 0 und zweiter Joystick 1Joystick 2 (ein): 162738495 (Kupplung)

Die Schaubilder der Tastatur: Erster Joystick 0 und zweiter Joystick 1Joysticks sind beim Schneider CPC an die Tastaturmatrix angeschlossen. Schaubilder der Tastatur: Erster Joystick 0 und zweiter Joystick 1Joystick 1 auf eigenen Positionen, Schaubilder der Tastatur: Erster Joystick 0 und zweiter Joystick 1Joystick 2 parallel zu Tasten des Schaubilder der Tastatur: CPC 464/664: Das Haupt-Tastenfeld
Schaubilder der Tastatur: CPC 6128: Das Haupt-Tastenfeld mit integriertem Cursor-/Zehnerblock
Haupttastenfeldes
. Die gemeinsamen Schalter-Eingänge sind identisch mit einem Zeilendraht der Matrix, Die Schalter-Ausgänge sind mit sieben verschiedenen Spaltendraehten verbunden.

Aus dieser Beschaltung ergibt sich, dass es nicht zulässig ist, die Eingänge der Joystick-Buchse gegen Masse zu schalten, wenn man beispielsweise eine Zusatzschaltung anschließt, um Daten o. AE. zu übertragen. Dann würde sofort die Tastaturabfrage nicht mehr funktionieren. In diesem Fall müsste man praktisch einen Bustreiber zwischenschalten, und Leitung 8 (COMMON 1) mit dessen Chip-Enable-Eingang verbinden. An dessen Eingängen können dann die logischen 0- oder 1-Pegel statisch anliegen. Auf die Spaltenleitungen (Pins 1 bis 7 der Buchse) werden sie aber nur durchgeschaltet, wenn Einleitung: Die Tastatur
Anhang: Die Tastatur
die Tastatur
auf der richtigen Zeile (0-Signal an COMMON 1 = Pin 8) abgefragt wird. Durch Einsatz von zwei ICs, von denen das eine von COMMON 1 und das andere von COMMON 2 durchgeschaltet wird, können sogar 14 Eingangssignale verarbeitet werden.

  Schaltsignale                                Joystickbuchse
  gegen Masse                                  am Schneider CPC
                   ____  ____
  +--------o-o--->|    \/    |----------------> 1
  |               |          |
  +--------o-o--->|          |----------------> 2
  |               | Schalter |
  +--------o/o--->| Treiber  |----------------> 3
  |               | Latch    |
  +--------o/o--->|          |----------------> 4
  |               | o. AE.   |
  +--------o-o--->|          |----------------> 5
  |               |          |
  +--------o-o--->| z.LOW KERNEL JUMPBLOCK: 000B:  LOW KL LOW PCHL
LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL
LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPT
B
. |----------------> 6 | | LS 241 | +--------o/o--->| |----------------> 7 | | | _|_GND x-->| _ |-Die verwendeten Abkürzungen bedeuten: x:x |____G_____| x--- 8 ^ +----------------------- 9 (COMMON 1)

COMMON 1 und 2 entsprechen den Zeilendraehten 9 und 6 der Tastaturmatrix. Hoch, Runter, Links, Rechts, Feuer 2, Feuer 1 und Pin 5 (nicht spezifiziert) entsprechen den Spaltendraehten (bzw. Datenbreite: Bits
Port B - Input: &F5xx: Bit 0:
Port B - Input: &F5xx: Bit 4:
Port B - Input: &F5xx: Bit 5:
Port B - Input: &F5xx: Bit 6:
Port B - Input: &F5xx: Bit 7:
Port C - Output: &F6xx: Bit 4:
Port C - Output: &F6xx: Bit 5:
Bits
in den eingelesenen Datentypen: Bytes
Datenbreite: Bytes
Bytes
) 0 bis 6, in dieser Reihenfolge. Die Die Tastatur: TastennummernTastennummern berechnen sich jeweils als 8*Zeile+Spalte und ergeben so die im AnhangAnhang angegebenen Werte für die Joysticktasten.

COMMON 1 - Zeile 9 -> 8*9 = 72
COMMON 2 - Zeile 6 -> 8*6 = 48
                          Schaubilder der Tastatur: Erster Joystick 0 und zweiter Joystick 1Joystick 1    Schaubilder der Tastatur: Erster Joystick 0 und zweiter Joystick 1Joystick 2
                          ----------    ----------
HOCH     - Spaltenbit 0   0+72 = 72     0+48 = 48 (Taste '6')
RUNTER   - Spaltenbit 1   1+72 = 73     1+48 = 49 (Taste '5')
LINKS    - Spaltenbit 2   2+72 = 74     2+48 = 50 (Taste 'R')
RECHTS   - Spaltenbit 3   3+72 = 75     3+48 = 51 (Taste 'T')
FEUER 2  - Spaltenbit 4   4+72 = 76     4+48 = 52 (Taste 'G')
FEUER 1  - Spaltenbit 5   5+72 = 77     5+48 = 53 (Taste 'F')
PIN 5    - Spaltenbit 6   6+72 = 78     6+48 = 54 (Taste 'LOW KERNEL JUMPBLOCK: 000B:  LOW KL LOW PCHL
LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL
LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPT
B
')

Valid HTML   Valid CSS