Multi Joy 8: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
zmieniłem zdanie |
m chyba nic nie pomyliłem... |
||
| Linia 1: | Linia 1: | ||
Zbudowany przez [[Raster]]a/C.P.U. prosty interfejs, pozwalający na podłączenie do 8 joysticków Atari [[XL]]/[[XE]], używając w tym celu obu portów joysticka. | |||
Kontrola programowa: | |||
Inicjalizacja:<pre> | |||
LDA #$0 | |||
STA $D302 ;PACTL | |||
LDA #$F0 ;4HIGHERBITS=OUT,4LOWERBITS=IN | |||
STA $D300 ;PORTA | |||
LDA #$3C | |||
STA $D302 ;PACTL</pre> | |||
Uwaga! Ściśle zaleca się poczekać przynajmniej 30 cykli pomiędzy zapisem do rejestru PORTA i kolejnym odczytem tego rejestru (lub przycisku FIRE), ponieważ niektóre interfejsy MultiJoy mogą reagować nieco wolniej. | |||
Wybór aktywnego joysticka:<pre> | |||
LDA #N ;N=numer joysticka: od 0 do 7 (lub od 0 do 15 dla MultiJoy16) | |||
ASL A | |||
ASL A | |||
ASL A | |||
ASL A | |||
STA $D300 ;PORTA | |||
LDX #$06 ;tu czekamy 30 cykli przed odczytem z PORTA | |||
WAI DEX ;poniewaz niektore interfejsy MultiJoy | |||
BNE WAI ;moga byc nieco wolniejsze. | |||
LDA $D300 ;PORTA | |||
AND #$0F | |||
;Teraz stan wybranego joysticka (STICK) jest w rejestrze A | |||
LDA $D010 ;TRIG0 | |||
;Teraz stan wybranego FIRE'a w joysticku (TRIG) jest w rejestrze A</pre> | |||
<center>[[Grafika:Multijoy_8.jpg]]</center> | <center>[[Grafika:Multijoy_8.jpg]]</center> | ||
== Zewnętrzne linki == | |||
*[http://raster.infos.cz/atari/english.htm#MULTIJOY MultiJoy - na stronie Rastera (wersja angielska)] | |||
*[http://raster.infos.cz/atari/hw/multijoy.gif Schemat MultiJoy'a] | |||
*[http://raster.infos.cz/atari/hw/multigam.htm Gry dla MultiJoy'a] | |||
{{stub}} | {{stub}} | ||
[[Kategoria:Peryferia 8-bit]] | [[Kategoria:Peryferia 8-bit]] | ||
Wersja z 6 kwi 2006, 20:33
Zbudowany przez Rastera/C.P.U. prosty interfejs, pozwalający na podłączenie do 8 joysticków Atari XL/XE, używając w tym celu obu portów joysticka.
Kontrola programowa:
Inicjalizacja:
LDA #$0 STA $D302 ;PACTL LDA #$F0 ;4HIGHERBITS=OUT,4LOWERBITS=IN STA $D300 ;PORTA LDA #$3C STA $D302 ;PACTL
Uwaga! Ściśle zaleca się poczekać przynajmniej 30 cykli pomiędzy zapisem do rejestru PORTA i kolejnym odczytem tego rejestru (lub przycisku FIRE), ponieważ niektóre interfejsy MultiJoy mogą reagować nieco wolniej.
Wybór aktywnego joysticka:
LDA #N ;N=numer joysticka: od 0 do 7 (lub od 0 do 15 dla MultiJoy16) ASL A ASL A ASL A ASL A STA $D300 ;PORTA LDX #$06 ;tu czekamy 30 cykli przed odczytem z PORTA WAI DEX ;poniewaz niektore interfejsy MultiJoy BNE WAI ;moga byc nieco wolniejsze. LDA $D300 ;PORTA AND #$0F ;Teraz stan wybranego joysticka (STICK) jest w rejestrze A LDA $D010 ;TRIG0 ;Teraz stan wybranego FIRE'a w joysticku (TRIG) jest w rejestrze A

Zewnętrzne linki
Ten artykuł to tylko zalążek. Możesz pomóc rozwojowi Atariki poprzez rozszerzenie go o więcej informacji.