Compucolor.org – Virtual Media

Listing of file='JOY2.MAC;01' on disk='vmedia/joystick_sound-sector.ccvf'

;	GHOST CRUNCHERS JOYSTICK PATCH. 08/03/82

	EXTRN	JOYSTK
	EXTRN	KEYDIR	;DB THAT DIRECTION IS STORED IN
	PUBLIC	SCAN

DISTFC	EQU	40	;MIN.DIST FROM CENTRE


SCAN:	XRA	A
	MOV	D,A
	STA	KEYDIR
	CALL	JOYSTK	;RETS BC = XY

	MOV	A,C	;GET Y

	SUI	128
	JC	TRYDWN	;MAYBE DOWN
TRYUP:	CPI	DISTFC
	JC	TRYLOR	;NOT FAR ENOUGH
	MOV	D,A	;STORE DIST.
	MVI	A,4
	STA	KEYDIR	;SET UP
	JMP	TRYLOR

TRYDWN:	CMA
	ADI	1
	CPI	DISTFC
	JC	TRYLOR
	MOV	D,A
	MVI	A,2
	STA	KEYDIR

TRYLOR:	MOV	A,B	;KEYDIR = DIRECTION FROM Y
	SUI	128	;D	= AMOUNT IT WAS MOVED
	JC	TRYLEF
TRYRIT:	CPI	DISTFC
	RC		;NOT FAR ENOUGH FROM CENTRE
	CMP	D
	RC		;ORIGINAL DIST. WAS FURTHER
	MVI	A,1
	STA	KEYDIR
	RET

TRYLEF:	CMA
	ADI	1
	CPI	DISTFC
	RC
	CMP	D
	RC
	MVI	A,3
	STA	KEYDIR
	RET

	END