bpe_decode:
	clx
	sta    _bpe_stack, X
	inx
	
bpe_traversal:
		dex
		lda    _bpe_stack, X
		cmp    #ENCODED_CHAR_MIN
		bcc    bpe_display
		cmp    #ENCODED_CHAR_MAX
		bcs    bpe_display
			sec
			sbc    #ENCODED_CHAR_MIN
			tay
						
			lda    _bpe_second, Y
			sta    _bpe_stack, X
			inx

			lda    _bpe_first, Y
			sta    _bpe_stack, X
			inx

			bra    bpe_traversal
bpe_display:

		; display char
		ldy    <_bpe_idx
		sta    _bpe_str, Y
		inc    <_bpe_idx
		
		cpx    #0
		bne    bpe_traversal
bpe_decode_end:
		rts
