Multi Joy 8

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 07:01, 12 mar 2006
KMK (Dyskusja | wkład)
(zmieniłem zdanie)
← Previous diff
Wersja z dnia 18:33, 6 kwi 2006
Miker (Dyskusja | wkład)
(chyba nic nie pomyliłem...)
Next diff →
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 dnia 18:33, 6 kwi 2006

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
Grafika:Multijoy_8.jpg

Zewnętrzne linki


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

Personal tools