*	MATRIX CYCLER
*	DAN PINAL
***	TF "D:MCYCLER.OBJ"
***	LI OFF
*	CALL FROM BASIC
*	X=USR(MCYCLERIROW,COL,MATRIXH,MATRIXV,STARTING CHARACTER)
*	IF STARTING CHARACTER=O THEN WILL ERASE MATRIX
POTMP0	EQU	$D4
POTMP1	EQU	$D5
HLIMIT	EQU	$CE
VLIMIT	EQU	$CF
SCRNLO	EQU	$58
SCRNHI	EQU	$59
;
MCYCLER
	PLA			; GET # OF ARGS OFF STACK
	PLA			; HI BYTE OF ROW SHOULD BE 0
	PLA			; ROW
	TAY
	LDX	SCRNHI
	PLA
	PLA			; COLUMN
	CLC
	ADC	SCRNLO
	BCC	AA1
	INX
AA1
	DEY
	BMI	AA2		; ONLY EXIT
	CLC
	ADC	#$28		; +40 FOR NEXT ROW
	BCC	AA1
	INX
	BNE	AA1		; ALWAYS
AA2
	STA	POTMP0
	STX	POTMP1
	PLA
	PLA
	STA	HLIMIT
	PLA
	PLA
	STA	VLIMIT
	PLA
	PLA
	TAX
PLOT
	LDY	#0
AB1
	STA	(POTMP0),Y
	cmp	#$00		; ERASING?
	BEQ	AB2
	INX
	TXA
AB2
	INY
	CPY	HLIMIT
	BNE	AB1
	CLC
	LDA	#$28		; +40 FOR NEXT ROW
	ADC	POTMP0
	STA	POTMP0
	BCC	AB3
	INC	POTMP1
AB3
	TXA
	DEC	VLIMIT
	BNE	PLOT
;
	RTS
;
