; Doug's Programming Language  -- DPL, Version 2.22
; Copyright (c) 1988 Douglas S. Cody, All rights reserved.
;----------------------------------------
; C L I C K  --  MAKE A SHORT CLICK SOUND
;
; Entry conditions:
;	Whenever a click noise is needed
; Exit conditions:
;	No registers modified
;
	PUBLIC	CLICK
SUBPGM	CLICK
BEGIN	CLICK
	PUSH	AX
	PUSH	CX
	PUSH	DX
;
; PERFORM A HARDWARE MANIPULATED CLICK
; 
	MOV	AL,10110110B		; TIMER 2, LSB, MSB, BINARY
	OUT	43H,AL			; TIMER MODE REGISTER
	MOV	AX,53H*20		; 500 HZ TONE
	OUT	42H,AL			;  LSB
	MOV	AL,AH			;
	OUT	42H,AL			;  MSB
	IN	AL,61H			; GET THE CURRENT STATE
	MOV	AH,AL			; SAVE FOR LATER RESTORATION
	AND	AH,0FCH			; WITH THE TIMER/BEEPER OFF.
	OR	AL,3			; CALC THE TIMER GATE & ENABLE
	OUT	61H,AL			; SOUND OFF!!!!
;
	MOV	CX,2000			; WAIST TIME
;
CLCK:
	PUSH	CX
	POP	CX
	LOOP	CLCK
;
	MOV	AL,AH			; RESTORE ALL
	OUT	61H,AL
;
CLX:
	POP	DX
	POP	CX
	POP	AX
	RETURN
;
;----------------
ENDPGM	CLICK
;----------------
;
