                   JOYSTICK

V této kapitole se popisuje obsluha joysticku.
Joystick se vždy připojuje na konektor na zadní
straně počítače.Přikazem IN A,(F0H)se do ACC zapisují
data z tohoto portu,a to bez ohledu na to,zda byl
joystick obsluhován nebo ne.Je možné zjistit,v jakém
z osmi směrů byl obsluhován.

Obraz při zmáčknuté klávese trigger
                 nahoru
          EA       EE       E6
   doleva EB       EF       E7 doprava
          E9       ED       E5
                  dolu

Obraz při nezmáčknuté klávese trigger
                 nahoru
          FA       FE       F6
   doleva FB       FF       F7 doprava
          F9       FD       F5
                  dolu

Abychom zjistili,zda byl joystick obsluhován nebo ne,
musíme zjistit obsah bitů v ACC:
bit 0:obsah 0,když je joystick obsluhován nahoru
bit 1:                                    dolu
bit 2:                                    doleva
bit 3:                                    doprava
bit 4:obsahuje 0,když je zmáčknut trigger
bit 5-7:obsahují vždy 1
Např. pokud je zmáčknut trigger a joystick obsluhován
vlevo,jsou nastaveny bity 2 a 4 na 0,zbytek jsou 1.
Potom mají bity následující hodnotu: 
1110 1011B = EBH (dle tabulky).

Můžeme také vytvořit program v BASICu ovládaný
joystickem,který pak může být zavolán USR($5700).
Na následujících adresách jsou obsažené hodnoty:
5800H: 1=nahoru 0=není obsluhován
5801H: 1=dolu
5802H: 1=nalevo
5803H: 1=napravo
5804H: hodnota pro trigger 1=je zmáčknut
                           0=není zmáčknut

Nyní následuje program,který musí být vyvolán jako
strojový podprogram:
5700 DB F0    IN A,(F0H)   (hodnota joysticku 1)
5702 2F       CPL          (komplementace hodnoty)
5703 21 FF 57 LD HL,57FFH
5706 06 05    LD B,06      (smyčka pro 5 hodnot)
5708 23       INC HL
5709 F5       PUSH AF      (uschování ACC)
570A E6 01    AND 01       (maskování posled.bitu)
570C 77       LD(HL),A
570D F1       POP AF
570E 0F       RRCA         (rotace ACC)
570F 10 F7    DJNZ 5708
5711 C9       RET

Samozdřejmě můžeme ovládat oba dva joysticky.
Princip obsluhy joysticku 2 je analogický
k joysticku 1,přičemž pouze musíme použít místo
portu F0H port F1H.
