Compucolor.org – Virtual Media

Listing of file='SWARE.MAC;01' on disk='vmedia/asm_utility_routines-sideB-sector.ccvf'

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;	SOUNDWARE/SCROLL/NO-ECHO PATCH A LA CAP ELECTRONICS
;
	TITLE	SWARE
;
	PUBLIC	PITCH,DURN,NSTEPS,STEP1,STEP2

	ENTRY	SWARE

PITCH:	DB	50,0
DURN:	DB	15,0
NSTEPS:	DB	0
STEP1:	DB	0
STEP2:	DB	0

SWARE:	MOV	A,E
	CPI	0
	JNZ	SCROLL
	MVI	E,8
	DI
	LDA	STEP1
	MOV	D,A
	LDA	STEP2
	CPI	0
	JNZ	SW10
	MOV	A,D
	STA	STEP2
SW10:	LHLD	PITCH
	SHLD	SW30+1
	LHLD	DURN
	SHLD	SW20+1
SW20:	LXI	H,DURN
SW30:	LXI	B,PITCH
SW40:	DCX	B
	MOV	A,B
	ORA	C
	JNZ	SW40
	MOV	A,E
	XRI	02
	OUT	04
	MOV	E,A
	DCX	H
	MOV	A,H
	ORA	L
	JNZ	SW30
	LDA	NSTEPS
	CPI	0
	JZ	SW50
	DCR	A
	STA	NSTEPS
	LDA	SW30+1
	ADD	D
	STA	SW30+1
	LDA	STEP2
	MOV	H,A
	MOV	A,D
	STA	STEP2
	MOV	D,H
	JMP	SW20
SW50:	STA	STEP2
	STA	DURN+1
	STA	PITCH+1
	MVI	A,15
	STA	DURN
	MVI	A,50
	STA	PITCH
	EI
	RET

SCROLL:	CPI	1
	JNZ	NOECHO
	LXI	H,0
	MVI	B,4
SC10:	MVI	C,11
SC20:	LXI	D,128
	DAD	D
	MOV	A,M
	LXI	D,0
	DAD	D
	MOV	M,A
	INX	H
	NOP
	DCR	C
	JNZ	SC20
	LXI	D,8
	DAD	D
	DCR	B
	JNZ	SC10
	RET

	END