Multi Joy 8: Różnice pomiędzy wersjami

Z Atariki
Przejdź do nawigacji Przejdź do wyszukiwania
zmieniłem zdanie
m chyba nic nie pomyliłem...
Linia 1: Linia 1:
{{SDU}}
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.