
;;in: d=x, e=y, a=char

dchr:

 push hl

 push bc
 push de

 ld bc,48
 ld hl,cpcarr
 cpir

 ld h,0
 ld l,c
 add hl,hl
 add hl,hl
 add hl,hl

 ld de,carr
 add hl,de

 pop de
 pop bc

dchr2:

 ld c,(hl)
 inc hl

 push bc
 push de

 call xorspr

 pop de
 pop bc
 

 ld a,c
 add a,d
 ld d,a

gchrd:

 pop hl

 ret


dstr:

 ld a,(hl)
 or a
 ret z

 call dchr

 inc hl

 jr dstr


dtp:
 push bc
 push de
 push hl

 ld b,(hl)
dtp2:
 inc hl

 push de
 call dstr
 pop de

 ld a,e
 add a,6
 ld e,a

 djnz dtp2

 pop hl
 pop de
 pop bc

 ret

 

cpcarr:
.db '-','9','1','8','7','6','5','4','3','2','0',',','@',')','(',':','`',' '
.db '?','!','.','Z','Y','X','W','V','U','T','S','R','Q','P','O','N'
.db 'M','L','K','J','I','H','G','F','E','D','C','B','A',91

carr:

.db 5
.db 5,1
.db 0
.db 0
.db 0
.db 0
.db 0

.db 5
.db 5,1
.db %00100000
.db %01010000
.db %11111000
.db %10001000
.db %10001000

.db 5
.db 5,1
.db %11110000
.db %10001000
.db %11110000
.db %10001000
.db %11110000

.db 5
.db 5,1
.db %01111000
.db %10000000
.db %10000000
.db %10000000
.db %01111000

.db 5
.db 5,1
.db %11110000
.db %10001000
.db %10001000
.db %10001000
.db %11110000

.db 5
.db 5,1
.db %11111000
.db %10000000
.db %11110000
.db %10000000
.db %11111000

.db 5
.db 5,1
.db %11111000
.db %10000000
.db %11110000
.db %10000000
.db %10000000

.db 5
.db 5,1
.db %11111000
.db %10000000
.db %10011000
.db %10001000
.db %11111000

.db 5
.db 5,1
.db %10001000
.db %10001000
.db %11111000
.db %10001000
.db %10001000

.db 5
.db 5,1
.db %11111000
.db %00100000
.db %00100000
.db %00100000
.db %11111000

.db 5
.db 5,1
.db %11111000
.db %00100000
.db %00100000
.db %10100000
.db %11100000

.db 5
.db 5,1
.db %10001000
.db %10010000
.db %11100000
.db %10010000
.db %10001000

.db 5
.db 5,1
.db %10000000
.db %10000000
.db %10000000
.db %10000000
.db %11111000

.db 5
.db 5,1
.db %10001000
.db %11011000
.db %10101000
.db %10001000
.db %10001000

.db 5
.db 5,1
.db %10001000
.db %11001000
.db %10101000
.db %10011000
.db %10001000

.db 5
.db 5,1
.db %01110000
.db %10001000
.db %10001000
.db %10001000
.db %01110000

.db 5
.db 5,1
.db %11110000
.db %10001000
.db %11110000
.db %10000000
.db %10000000

.db 5
.db 5,1
.db %01110000
.db %10001000
.db %10001000
.db %10011000
.db %01111000

.db 5
.db 5,1
.db %11110000
.db %10001000
.db %11110000
.db %10010000
.db %10001000

.db 5
.db 5,1
.db %01111000
.db %10000000
.db %01110000
.db %00001000
.db %11110000

.db 5
.db 5,1
.db %11111000
.db %00100000
.db %00100000
.db %00100000
.db %00100000

.db 5
.db 5,1
.db %10001000
.db %10001000
.db %10001000
.db %10001000
.db %01110000

.db 5
.db 5,1
.db %10001000
.db %10001000
.db %10001000
.db %01010000
.db %00100000

.db 5
.db 5,1
.db %10001000
.db %10001000
.db %10101000
.db %10101000
.db %01010000

.db 5
.db 5,1
.db %10001000
.db %01010000
.db %00100000
.db %01010000
.db %10001000

.db 5
.db 5,1
.db %10001000
.db %01010000
.db %00100000
.db %00100000
.db %00100000

.db 5
.db 5,1
.db %11111000
.db %00010000
.db %00100000
.db %01000000
.db %11111000

.db 3
.db 5,1
.db %00000000
.db %00000000
.db %00000000
.db %11000000
.db %11000000

.db 3
.db 5,1
.db %01000000
.db %01000000
.db %01000000
.db %00000000
.db %01000000

.db 5
.db 5,1
.db %01100000
.db %10010000
.db %00100000
.db %00000000
.db %00100000

.db 1
.db 5,1
.db %00000000
.db %00000000
.db %00000000
.db %00000000
.db %00000000

.db 6
.db 5,1
.db %00111100
.db %01011010
.db %10010001
.db %01011110
.db %00111100

.db 3
.db 5,1
.db %00000000
.db %01000000
.db %00000000
.db %01000000
.db %00000000

.db 3
.db 5,1
.db %01000000
.db %10000000
.db %10000000
.db %10000000
.db %01000000

.db 3
.db 5,1
.db %10000000
.db %01000000
.db %01000000
.db %01000000
.db %10000000

.db 5
.db 5,1
.db %01110000
.db %10101000
.db %10111000
.db %10000000
.db %01111000

.db 2
.db 5,1
.db %00000000
.db %00000000
.db %00000000
.db %01000000
.db %11000000

.db 5
.db 5,1
.db %01110000
.db %11001000
.db %10101000
.db %10011000
.db %01110000

.db 4
.db 5,1
.db %01100000
.db %10010000
.db %00100000
.db %01000000
.db %11110000

.db 4
.db 5,1
.db %01100000
.db %10010000
.db %00100000
.db %10010000
.db %01100000

.db 4
.db 5,1
.db %00100000
.db %01100000
.db %11110000
.db %00100000
.db %00100000

.db 4
.db 5,1
.db %11110000
.db %10000000
.db %11100000
.db %00010000
.db %11100000

.db 4
.db 5,1
.db %01110000
.db %10000000
.db %11100000
.db %10010000
.db %01100000

.db 4
.db 5,1
.db %11110000
.db %00010000
.db %00100000
.db %01000000
.db %10000000

.db 4
.db 5,1
.db %01100000
.db %10010000
.db %01100000
.db %10010000
.db %01100000

.db 3
.db 5,1
.db %01000000
.db %11000000
.db %01000000
.db %01000000
.db %11100000

.db 5
.db 5,1
.db %01110000
.db %10001000
.db %01111000
.db %00001000
.db %11110000

.db 5
.db 5,1
.db %00000000
.db %00000000
.db %11111000
.db %00000000
.db %00000000