;
; Ullrich von Bassewitz, 02.06.1998
;
; int tolower (int c);
;

	.export		_tolower
	.import		__ctype

.segment "LIBCODE"
_tolower:
        cpx     #$00            ; Outside valid range?
        bne     L9              ; If so, return the argument unchanged
       	tay			; Get C into Y
	lda	__ctype,y	; Get character classification
	lsr	a
	lsr	a		; Get bit 1 (upper case char) into carry
	tya			; Get char back into A
       	bcc    	L9		; Jump if no upper case char
       	sbc    	#<('A'-'a')     ; Make lower case char (carry already set)
L9:    	rts

