Multi Joy 8

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 10:36, 18 sty 2019
Dracon (Dyskusja | wkład)

← Previous diff
Aktualna wersja
Dracon (Dyskusja | wkład)

Linia 24: Linia 24:
STA $D300 ;PORTA STA $D300 ;PORTA
LDX #$06 ;tu czekamy 30 cykli przed odczytem z PORTA LDX #$06 ;tu czekamy 30 cykli przed odczytem z PORTA
-WAI DEX ;poniewaz niektore interfejsy MultiJoy+WAI DEX ;ponieważ niektóre interfejsy MultiJoy
- BNE WAI ;moga byc nieco wolniejsze.+ BNE WAI ;mogą być nieco wolniejsze.
LDA $D300 ;PORTA LDA $D300 ;PORTA
AND #$0F AND #$0F

Aktualna wersja

Zbudowany przez Rastera 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             ;ponieważ niektóre interfejsy MultiJoy
	BNE WAI         ;mogą być 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