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.