	org 128
__START_PROGRAM:
	di
	push ix
	push iy
	exx
	push hl
	exx
	ld hl, 0
	add hl, sp
	ld (__CALL_BACK__), hl
	ei
	jp __LABEL__typeface01end
__LABEL__typeface01:
#line 2
		defb 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
		defb 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
		defb 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
		defb 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
		defb 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
		defb 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
		defb 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
		defb 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh,0ffh
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,03ch,03ch,03ch,03ch,000h,03ch,000h
		defb 000h,074h,074h,000h,000h,000h,000h,000h
		defb 000h,074h,0feh,074h,074h,0feh,074h,000h
		defb 000h,038h,0feh,0b8h,0feh,03ah,0feh,038h
		defb 000h,067h,06eh,01ch,038h,076h,0e6h,000h
		defb 000h,078h,0f4h,078h,0fah,0f4h,07ah,000h
		defb 000h,018h,038h,020h,010h,000h,000h,000h
		defb 002h,00ch,018h,018h,018h,018h,00ch,002h
		defb 040h,030h,018h,018h,018h,018h,030h,040h
		defb 000h,000h,074h,038h,0feh,038h,074h,000h
		defb 000h,018h,008h,000h,07fh,000h,008h,01ch
		defb 000h,000h,000h,000h,000h,07ch,03ch,078h
		defb 000h,000h,000h,000h,07ch,000h,000h,000h
		defb 000h,000h,000h,000h,000h,078h,078h,000h
		defb 000h,000h,00fh,01eh,03ch,078h,0f0h,000h
		defb 000h,07ah,0f4h,0eah,0d6h,0a6h,05ch,000h
		defb 000h,078h,0f8h,078h,078h,078h,0fch,000h
		defb 000h,07ch,0feh,00eh,03ch,0f0h,0feh,000h
		defb 000h,07ch,0ceh,01ch,01eh,0ceh,07ch,000h
		defb 000h,01ch,03ch,06ch,0cch,0feh,00ch,000h
		defb 000h,0feh,0f0h,0fch,00eh,0ceh,07ch,000h
		defb 000h,07eh,0f0h,0fch,0f6h,0f6h,07ch,000h
		defb 000h,0feh,0feh,01ch,038h,070h,070h,000h
		defb 000h,07ch,0f6h,07ch,0f6h,0f6h,07ch,000h
		defb 000h,07ch,0f6h,0f6h,07eh,00eh,07ch,000h
		defb 000h,000h,030h,030h,000h,030h,030h,000h
		defb 000h,000h,030h,030h,000h,030h,010h,020h
		defb 000h,000h,01eh,03ch,078h,03ch,01eh,000h
		defb 000h,000h,000h,07eh,000h,07eh,000h,000h
		defb 000h,000h,078h,03ch,01eh,03ch,078h,000h
		defb 000h,07ch,0deh,01eh,03ch,000h,038h,000h
		defb 000h,07ch,0ceh,0deh,0deh,0c0h,07ch,000h
		defb 000h,07ch,0f6h,0f6h,0feh,0f6h,0f6h,000h
		defb 000h,0fch,0f6h,0fch,0f6h,0f6h,0fch,000h
		defb 000h,07ch,0f6h,0e0h,0e0h,0f6h,07ch,000h
		defb 000h,0f8h,0ech,0e6h,0e6h,0ech,0f8h,000h
		defb 000h,0feh,0f0h,0fch,0f0h,0f0h,0feh,000h
		defb 000h,0feh,0f0h,0fch,0f0h,0f0h,0f0h,000h
		defb 000h,07ch,0f6h,0e0h,0eeh,0e6h,07ch,000h
		defb 000h,0f2h,0f2h,0feh,0f2h,0f2h,0f2h,000h
		defb 000h,0fch,078h,078h,078h,078h,0fch,000h
		defb 000h,00eh,00eh,00eh,0ceh,0eeh,07ch,000h
		defb 000h,0ech,0f8h,0f0h,0f8h,0ech,0e6h,000h
		defb 000h,0f0h,0f0h,0f0h,0f0h,0f0h,0feh,000h
		defb 000h,0c2h,0e6h,0fah,0e2h,0e2h,0e2h,000h
		defb 000h,0e2h,0e2h,0f2h,0fah,0f6h,0f2h,000h
		defb 000h,07ch,0f6h,0f6h,0f6h,0f6h,07ch,000h
		defb 000h,0fch,0f6h,0f6h,0fch,0f0h,0f0h,000h
		defb 000h,07ch,0f6h,0f6h,0eah,0f4h,07ah,000h
		defb 000h,0fch,0f6h,0f6h,0fch,0fch,0f6h,000h
		defb 000h,07ch,0f0h,07ch,00eh,0eeh,07ch,000h
		defb 000h,0feh,038h,038h,038h,038h,038h,000h
		defb 000h,0f2h,0f2h,0f2h,0f2h,0f2h,07ch,000h
		defb 000h,0f2h,0f2h,0f4h,0f4h,0f8h,0f8h,000h
		defb 000h,0e2h,0e2h,0e2h,0eah,0feh,064h,000h
		defb 000h,0e6h,07ch,038h,038h,07ch,0e6h,000h
		defb 000h,0e6h,07ch,038h,038h,038h,038h,000h
		defb 000h,0feh,0feh,01ch,038h,07eh,0feh,000h
		defb 000h,03eh,03ch,03ch,03ch,03ch,03eh,000h
		defb 000h,000h,0f0h,078h,03ch,01eh,00fh,000h
		defb 000h,07ch,03ch,03ch,03ch,03ch,07ch,000h
		defb 000h,01ch,03eh,079h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,0ffh
		defb 000h,018h,01ch,004h,008h,000h,000h,000h
		defb 000h,07ch,0f6h,0f6h,0feh,0f6h,0f6h,000h
		defb 000h,0fch,0f6h,0fch,0f6h,0f6h,0fch,000h
		defb 000h,07ch,0f6h,0e0h,0e0h,0f6h,07ch,000h
		defb 000h,0f8h,0ech,0e6h,0e6h,0ech,0f8h,000h
		defb 000h,0feh,0f0h,0fch,0f0h,0f0h,0feh,000h
		defb 000h,0feh,0f0h,0fch,0f0h,0f0h,0f0h,000h
		defb 000h,07ch,0f6h,0e0h,0eeh,0e6h,07ch,000h
		defb 000h,0f2h,0f2h,0feh,0f2h,0f2h,0f2h,000h
		defb 000h,0fch,078h,078h,078h,078h,0fch,000h
		defb 000h,00eh,00eh,00eh,0ceh,0eeh,07ch,000h
		defb 000h,0ech,0f8h,0f0h,0f8h,0ech,0e6h,000h
		defb 000h,0f0h,0f0h,0f0h,0f0h,0f0h,0feh,000h
		defb 000h,0c2h,0e6h,0fah,0e2h,0e2h,0e2h,000h
		defb 000h,0e2h,0e2h,0f2h,0fah,0f6h,0f2h,000h
		defb 000h,07ch,0f6h,0f6h,0f6h,0f6h,07ch,000h
		defb 000h,0fch,0f6h,0f6h,0fch,0f0h,0f0h,000h
		defb 000h,07ch,0f6h,0f6h,0eah,0f4h,07ah,000h
		defb 000h,0fch,0f6h,0f6h,0fch,0fch,0f6h,000h
		defb 000h,07ch,0f0h,07ch,00eh,0eeh,07ch,000h
		defb 000h,0feh,038h,038h,038h,038h,038h,000h
		defb 000h,0f2h,0f2h,0f2h,0f2h,0f2h,07ch,000h
		defb 000h,0f2h,0f2h,0f4h,0f4h,0f8h,0f8h,000h
		defb 000h,0e2h,0e2h,0e2h,0eah,0feh,064h,000h
		defb 000h,0e6h,07ch,038h,038h,07ch,0e6h,000h
		defb 000h,0e6h,07ch,038h,038h,038h,038h,000h
		defb 000h,0feh,0feh,01ch,038h,07eh,0feh,000h
		defb 000h,01eh,03ch,078h,03ch,03ch,01eh,000h
		defb 000h,078h,078h,078h,078h,078h,078h,000h
		defb 000h,078h,03ch,01eh,03ch,03ch,078h,000h
		defb 000h,03dh,07fh,07ah,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 000h,000h,000h,000h,000h,000h,000h,000h
		defb 060h,070h,061h,07ch,061h,051h,03ah,075h
		defb 05ah,05ah,070h,078h,023h,06bh,03bh,078h
		defb 079h,07ch,07ah,07eh,07eh,079h,07dh,079h
		defb 07bh,079h,07eh,07dh,07ah,078h,07ah,07eh
		defb 078h,078h,078h,078h,078h,078h,078h,078h
		defb 078h,078h,078h,078h,078h,078h,078h,078h
		defb 078h,078h,078h,078h,078h,078h,078h,078h
		defb 078h,078h,078h,078h,078h,078h,078h,078h
		defb 078h,078h,078h,078h,078h,078h,078h,078h
		defb 078h,078h,078h,078h,078h,078h,078h,078h
		defb 078h,078h,078h,078h,078h,078h,078h,078h
		defb 078h,078h,078h,078h,078h,078h,078h,078h
		defb 078h,078h,078h,078h,078h,078h,078h,078h
		defb 078h,078h,078h,078h,078h,078h,078h,078h
		defb 078h,078h,078h,078h,078h,078h,078h,078h
		defb 078h,078h,078h,078h,078h,078h,078h,07bh
		defb 07eh,078h,078h,07ch,079h,079h,07ah,07ch
		defb 07eh,07ch,078h,079h,07bh,078h,07ch,07eh
		defb 079h,07ah,078h,07ch,078h,079h,078h,07eh
		defb 07eh,07eh,07dh,07eh,07eh,078h,07eh,07ch
		defb 079h,07eh,07bh,07ch,07bh,079h,07eh,07ch
		defb 078h,07dh,07dh,07ch,07dh,07dh,07bh,07ah
		defb 079h,07eh,07ch,07bh,07eh,07dh,07dh,07ah
		defb 07ah,078h,079h,07ch,07eh,07bh,07dh,07ah
		defb 079h,07ch,078h,07ch,07eh,079h,079h,07ch
		defb 07bh,078h,078h,07dh,07bh,07ah,07ah,07ah
		defb 07dh,07eh,07eh,07bh,078h,07dh,079h,079h
		defb 07bh,078h,07ch,07ch,07eh,078h,079h,07ch
		defb 079h,07dh,07ah,078h,078h,07ah,078h,078h
		defb 07ah,07bh,079h,079h,078h,07ch,07bh,07ch
		defb 078h,07ah,07bh,078h,079h,07ah,07ch,07dh
		defb 07ah,07bh,078h,07eh,079h,079h,07ch,07ah
#line 290
__LABEL__typeface01end:
	ld hl, 2
	push hl
	call _cpcscreenmode
	ld a, 21
	push af
	ld a, 48
	push af
	call _cpcscreensize
	ld a, 29
	push af
	ld a, 48
	push af
	call _cpcscreenoffset
	ld hl, 16384
	push hl
	ld hl, 170
	push hl
	ld hl, 49152
	push hl
	call _cpcfillram
	ld hl, 0
	ld (_e0), hl
	jp __LABEL0
__LABEL3:
	ld de, __LABEL__palette01z
	ld hl, (_e0)
	add hl, de
	ld b, h
	ld c, l
	ld a, (bc)
	push af
	ld hl, (_e0)
	ld a, l
	push af
	call _cpcpaletteseq
__LABEL4:
	ld hl, (_e0)
	inc hl
	ld (_e0), hl
__LABEL0:
	ld hl, 15
	ld de, (_e0)
	or a
	sbc hl, de
	jp nc, __LABEL3
__LABEL2:
	ld hl, 0
	ld (_e0), hl
	jp __LABEL5
__LABEL8:
	ld hl, (_e0)
	ld de, 273
	call __MUL16_FAST
	push hl
	ld hl, (_e0)
	push hl
	call _cpcpluspalettergb
__LABEL9:
	ld hl, (_e0)
	inc hl
	ld (_e0), hl
__LABEL5:
	ld hl, 15
	ld de, (_e0)
	or a
	sbc hl, de
	jp nc, __LABEL8
__LABEL7:
	ld hl, 3204
	push hl
	ld hl, 1
	push hl
	call _cpcpluspalettergb
	ld hl, 1602
	push hl
	ld hl, 0
	push hl
	call _cpcpluspalettergb
	ld hl, 2694
	push hl
	ld hl, 16
	push hl
	call _cpcpluspalettergb
	ld hl, 0
	ld (_e1), hl
	jp __LABEL10
__LABEL13:
	ld hl, 0
	ld (_e0), hl
	jp __LABEL15
__LABEL18:
	ld hl, __LABEL__typeface01
	push hl
	ld hl, 35
	push hl
	ld hl, 48
	push hl
	ld hl, (_e1)
	ld de, 32
	call __MUL16_FAST
	ex de, hl
	ld hl, (_e0)
	add hl, de
	push hl
	ld hl, (_e1)
	ld de, 10
	add hl, de
	push hl
	ld hl, (_e0)
	ld de, 8
	add hl, de
	push hl
	call _putcharv1
__LABEL19:
	ld hl, (_e0)
	inc hl
	ld (_e0), hl
__LABEL15:
	ld hl, 31
	ld de, (_e0)
	or a
	sbc hl, de
	jp nc, __LABEL18
__LABEL17:
__LABEL14:
	ld hl, (_e1)
	inc hl
	ld (_e1), hl
__LABEL10:
	ld hl, 7
	ld de, (_e1)
	or a
	sbc hl, de
	jp nc, __LABEL13
__LABEL12:
	ld hl, __LABEL__typeface01
	push hl
	ld hl, 35
	push hl
	ld hl, 48
	push hl
	ld hl, 12
	push hl
	ld hl, __LABEL__text01
	push hl
	ld hl, 5
	push hl
	ld hl, 9
	push hl
	call _writetext
__LABEL__loop02:
	ld hl, 0
	ld (_e0), hl
	jp __LABEL20
__LABEL23:
	ld hl, __LABEL__typeface01
	push hl
	ld hl, 35
	push hl
	ld hl, 48
	push hl
	ld hl, (_e0)
	push hl
	ld hl, 7
	push hl
	ld hl, 8
	push hl
	call _writebin
	ld hl, __LABEL__typeface01
	push hl
	ld hl, 35
	push hl
	ld hl, 48
	push hl
	ld a, 6
	call _cpckeyboard
	ld l, a
	ld h, 0
	push hl
	ld hl, 4
	push hl
	ld hl, 31
	push hl
	call _writebin
	ld hl, __LABEL__typeface01
	push hl
	ld hl, 35
	push hl
	ld hl, 48
	push hl
	ld a, 9
	call _cpckeyboard
	ld l, a
	ld h, 0
	push hl
	ld hl, 5
	push hl
	ld hl, 31
	push hl
	call _writebin
	ld hl, 1000
	push hl
	call _cpcdelay
__LABEL24:
	ld hl, (_e0)
	inc hl
	ld (_e0), hl
__LABEL20:
	ld hl, 255
	ld de, (_e0)
	or a
	sbc hl, de
	jp nc, __LABEL23
__LABEL22:
	jp __LABEL__loop02
__LABEL__loop01:
	ld hl, 0
	ld (_e0), hl
	jp __LABEL25
__LABEL28:
	ld hl, (_seed)
	call _cpcrnd
	ld (_seed), hl
	ld hl, 0
	ld (_e1), hl
	jp __LABEL30
__LABEL33:
	ld hl, 0
	ld (_e2), hl
	jp __LABEL35
__LABEL38:
	ld hl, (_seed)
	call _cpcrnd
	ld (_seed), hl
	ld hl, (_e0)
	ld de, 49152
	add hl, de
	ex de, hl
	ld hl, (_e1)
	add hl, de
	ex de, hl
	ld hl, (_e2)
	add hl, de
	push hl
	ld hl, (_seed)
	ld a, l
	pop hl
	ld (hl), a
__LABEL39:
	ld hl, (_e2)
	inc hl
	ld (_e2), hl
__LABEL35:
	ld hl, 1
	ld de, (_e2)
	or a
	sbc hl, de
	jp nc, __LABEL38
__LABEL37:
__LABEL34:
	ld hl, (_e1)
	ld de, 2048
	add hl, de
	ld (_e1), hl
__LABEL30:
	ld hl, 16000
	ld de, (_e1)
	or a
	sbc hl, de
	jp nc, __LABEL33
__LABEL32:
	ld hl, 5000
	push hl
	call _cpcdelay
__LABEL29:
	ld hl, (_e0)
	inc hl
	inc hl
	ld (_e0), hl
__LABEL25:
	ld hl, 2047
	ld de, (_e0)
	or a
	sbc hl, de
	jp nc, __LABEL28
__LABEL27:
	jp __LABEL__loop01
__LABEL__palette01z:
#line 122
		defb 0,13,26, 6,   15,24,21,18,   19,20,11, 2,    5, 8, 7,17
#line 123
__LABEL__text01:
#line 127
		defb "hello world!"
#line 128
	ld hl, 0
	ld b, h
	ld c, l
__END_PROGRAM:
	di
	ld hl, (__CALL_BACK__)
	ld sp, hl
	exx
	pop hl
	exx
	pop iy
	pop ix
	ei
	ret
__CALL_BACK__:
	DEFW 0
_cpcpalettergb:
	push ix
	ld ix, 0
	add ix, sp
#line 2
		ld a, (ix+6)
		ld b,a
		and $0F
		ld c,a
		ld a,b
		and $F0
		rr a
		rr a
		rr a
		rr a
		ld b,a
		ld a, (ix+7)
		and $0F
		ld d,a
		ld a,b
		rl a
		add a,b
		and $0C
		rr a
		rr a
		ld e,a
		rl a
		add a,e
		ld e,a
		ld a,d
		rl a
		add a,d
		and $0C
		rr a
		rr a
		add a,e
		ld e,a
		rl a
		add a,e
		ld e,a
		ld a,c
		rl a
		add a,c
		and $0C
		rr a
		rr a
		add a,e
		ld e,a
		ld b,0
		ld c,e
		ld hl, (tpaletteseq2)
		add hl,bc
		ld d, (hl)
		ld b,$7F
		ld c, (ix+4)
		out (c),c
		out (c),d
		jr tpaletteseq2end
tpaletteseq2:
		defb $54,$44,$55,$5C,$58,$5D,$4C,$45,$4D
		defb $56,$46,$57,$5E,$40,$5F,$4E,$47,$4F
		defb $52,$42,$53,$5A,$59,$5B,$4A,$43,$4B
tpaletteseq2end:
#line 60
_cpcpalettergb__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	ex (sp), hl
	exx
	ret
_cpcrnd:
#line 2
		ld  d, h
		ld  e, l
		ld  a, d
		ld  h, e
		ld  l, 253
		or  a
		sbc  hl, de
		sbc  a, 0
		sbc  hl, de
		ld  d, 0
		sbc  a, d
		ld  e, a
		sbc  hl, de
		jr  nc, cpcrndloop
		inc  hl
cpcrndloop:
		ret
#line 19
_cpcrnd__leave:
	ret
_cpcdelay:
	push ix
	ld ix, 0
	add ix, sp
#line 1
		ld b, (ix+5)
		ld c, (ix+4)
cpcdelayloop:
		dec bc
		ld a,b
		or c
		jp nz,cpcdelayloop
#line 8
_cpcdelay__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	ex (sp), hl
	exx
	ret
_cpcfillram:
	push ix
	ld ix, 0
	add ix, sp
#line 1
		ld b, (ix+6)
		ld d, (ix+9)
		ld e, (ix+8)
		ld h, (ix+5)
		ld l, (ix+4)
fillram:
		ld (hl),b
		inc hl
		dec de
		ld a,d
		or e
		jr nz,fillram
#line 13
_cpcfillram__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	pop bc
	ex (sp), hl
	exx
	ret
_cpcscreenmode:
	push ix
	ld ix, 0
	add ix, sp
#line 1
		ld a, (ix+4)
		and $03
		ld bc,$7f80
		or c
		ld c,a
		out (c),c
#line 7
_cpcscreenmode__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	ex (sp), hl
	exx
	ret
_cpcscreensize:
	push ix
	ld ix, 0
	add ix, sp
#line 1
		ld bc,$bc01
		out (c),c
		inc b
		ld a, (ix+5)
		out (c),a
		ld bc,$bc06
		out (c),c
		inc b
		ld a, (ix+7)
		out (c),a
#line 11
_cpcscreensize__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	ex (sp), hl
	exx
	ret
_cpcscreenoffset:
	push ix
	ld ix, 0
	add ix, sp
#line 1
		ld bc,$bc02
		out (c),c
		inc b
		ld a, (ix+5)
		out (c),a
		ld bc,$bc07
		out (c),c
		inc b
		ld a, (ix+7)
		out (c),a
#line 11
_cpcscreenoffset__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	ex (sp), hl
	exx
	ret
_cpcpluspalette:
	push ix
	ld ix, 0
	add ix, sp
#line 2
		ld a, (ix+4)
		and $3F
		rl a
		ld hl,$6400
		ld l,a
		ld a, (ix+6)
		ld (hl),a
		inc hl
		ld a, (ix+7)
		ld (hl),a
#line 12
_cpcpluspalette__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	ex (sp), hl
	exx
	ret
_cpcpluspalettergb:
	push ix
	ld ix, 0
	add ix, sp
#line 2
		ld a, (ix+4)
		and $3F
		rl a
		ld hl,$6400
		ld l,a
		ld a, (ix+6)
		ld b,a
		and $0F
		ld c,a
		ld a,b
		and $F0
		rr a
		rr a
		rr a
		rr a
		ld b,a
		ld a, (ix+7)
		and $0F
		rl a
		rl a
		rl a
		rl a
		or c
		ld (hl),a
		inc hl
		ld (hl),b
#line 28
_cpcpluspalettergb__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	ex (sp), hl
	exx
	ret
_cpcpalette:
	push ix
	ld ix, 0
	add ix, sp
#line 1
		ld b,$7F
		ld c, (ix+5)
		out (c),c
		ld a, (ix+7)
		out (c),a
#line 6
_cpcpalette__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	ex (sp), hl
	exx
	ret
_cpcpaletteseq:
	push ix
	ld ix, 0
	add ix, sp
	ld a, (ix+7)
	ld l, a
	ld h, 0
	ex de, hl
	ld hl, __LABEL__tpaletteseq
	add hl, de
	ld b, h
	ld c, l
	ld a, (bc)
	push af
	ld a, (ix+5)
	push af
	call _cpcpalette
	jp __LABEL__tpaletteseqend
__LABEL__tpaletteseq:
#line 14
		defb $54,$44,$55,$5C,$58,$5D,$4C,$45,$4D
		defb $56,$46,$57,$5E,$40,$5F,$4E,$47,$4F
		defb $52,$42,$53,$5A,$59,$5B,$4A,$43,$4B
#line 17
__LABEL__tpaletteseqend:
_cpcpaletteseq__leave:
	ld sp, ix
	pop ix
	exx
	pop hl
	pop bc
	ex (sp), hl
	exx
	ret
_cpckeyboard:
#line 2
		and $0F
		or $40
		ld d,0
		ld bc,$f782
		out (c),c
		ld bc,$f40e
		out (c),c
		ld bc,$f6c0
		out (c),c
		out (c),d
		ld bc,$f792
		out (c),c
		dec b
		out (c),a
		ld b,$f4
		in a, (c)
		ld bc,$f782
		out (c),c
		dec b
		out (c),d
#line 22
_cpckeyboard__leave:
	ret
_putcharv1:
	push ix
	ld ix, 0
	add ix, sp
	ld hl, 0
	push hl
	inc sp
	ld (ix-1), 0
	jp __LABEL40
__LABEL43:
	ld l, (ix+6)
	ld h, (ix+7)
	push hl
	ld l, (ix+10)
	ld h, (ix+11)
	add hl, hl
	ex de, hl
	pop hl
	call __MUL16_FAST
	push hl
	ld l, (ix+4)
	ld h, (ix+5)
	ex de, hl
	pop hl
	add hl, de
	ld de, 49152
	add hl, de
	push hl
	ld a, (ix-1)
	ld l, a
	ld h, 0
	ld de, 2048
	call __MUL16_FAST
	ex de, hl
	pop hl
	add hl, de
	push hl
	ld l, (ix+14)
	ld h, (ix+15)
	push hl
	ld l, (ix+8)
	ld h, (ix+9)
	add hl, hl
	add hl, hl
	add hl, hl
	ex de, hl
	pop hl
	add hl, de
	push hl
	ld a, (ix-1)
	ld l, a
	ld h, 0
	ex de, hl
	pop hl
	add hl, de
	ld b, h
	ld c, l
	ld a, (bc)
	pop hl
	ld (hl), a
__LABEL44:
	ld a, (ix-1)
	inc a
	ld (ix-1), a
__LABEL40:
	ld a, (ix-1)
	push af
	ld a, 7
	pop hl
	cp h
	jp nc, __LABEL43
__LABEL42:
_putcharv1__leave:
	exx
	ld hl, 12
__EXIT_FUNCTION:
	ld sp, ix
	pop ix
	pop de
	add hl, sp
	ld sp, hl
	push de
	exx
	ret
_writetext:
	push ix
	ld ix, 0
	add ix, sp
	ld hl, 0
	ld (_writetext_t2), hl
	jp __LABEL45
__LABEL48:
	ld l, (ix+16)
	ld h, (ix+17)
	push hl
	ld l, (ix+14)
	ld h, (ix+15)
	push hl
	ld l, (ix+12)
	ld h, (ix+13)
	push hl
	ld l, (ix+8)
	ld h, (ix+9)
	ex de, hl
	ld hl, (_writetext_t2)
	add hl, de
	ld b, h
	ld c, l
	ld a, (bc)
	ld l, a
	ld h, 0
	push hl
	ld l, (ix+6)
	ld h, (ix+7)
	push hl
	ld l, (ix+4)
	ld h, (ix+5)
	ex de, hl
	ld hl, (_writetext_t2)
	add hl, de
	push hl
	call _putcharv1
__LABEL49:
	ld hl, (_writetext_t2)
	inc hl
	ld (_writetext_t2), hl
__LABEL45:
	ld l, (ix+10)
	ld h, (ix+11)
	dec hl
	ld de, (_writetext_t2)
	or a
	sbc hl, de
	jp nc, __LABEL48
__LABEL47:
_writetext__leave:
	exx
	ld hl, 14
	jp __EXIT_FUNCTION
_writebin:
	push ix
	ld ix, 0
	add ix, sp
	ld hl, 0
	ld (_writebin_t2), hl
	jp __LABEL50
__LABEL53:
	ld l, (ix+14)
	ld h, (ix+15)
	push hl
	ld l, (ix+12)
	ld h, (ix+13)
	push hl
	ld l, (ix+10)
	ld h, (ix+11)
	push hl
	ld l, (ix+8)
	ld h, (ix+9)
	push hl
	ld de, 128
	pop hl
	call __BAND16
	ld de, 128
	call __DIVU16
	ld de, 48
	add hl, de
	push hl
	ld l, (ix+6)
	ld h, (ix+7)
	push hl
	ld l, (ix+4)
	ld h, (ix+5)
	ex de, hl
	ld hl, (_writebin_t2)
	add hl, de
	push hl
	call _putcharv1
	ld l, (ix+8)
	ld h, (ix+9)
	add hl, hl
	ld (ix+8), l
	ld (ix+9), h
__LABEL54:
	ld hl, (_writebin_t2)
	inc hl
	ld (_writebin_t2), hl
__LABEL50:
	ld hl, 7
	ld de, (_writebin_t2)
	or a
	sbc hl, de
	jp nc, __LABEL53
__LABEL52:
_writebin__leave:
	exx
	ld hl, 12
	jp __EXIT_FUNCTION
#line 1 "mul16.asm"
__MUL16:	; Mutiplies HL with the last value stored into de stack
				; Works for both signed and unsigned
	
			PROC
	
			LOCAL __MUL16LOOP
	        LOCAL __MUL16NOADD
			
			ex de, hl
			pop hl		; Return address
			ex (sp), hl ; CALLEE caller convention
	
;;__MUL16_FAST:	; __FASTCALL ENTRY: HL = 1st operand, DE = 2nd Operand
	;;		ld c, h
	;;		ld a, l	 ; C,A => 1st Operand
	;;
	;;		ld hl, 0 ; Accumulator
	;;		ld b, 16
	;;
;;__MUL16LOOP:
	;;		sra c	; C,A >> 1  (Arithmetic)
	;;		rra
	;;
	;;		jr nc, __MUL16NOADD
	;;		add hl, de
	;;
;;__MUL16NOADD:
	;;		sla e
	;;		rl d
	;;			
	;;		djnz __MUL16LOOP
	
__MUL16_FAST:
	        ld b, 16
	        ld a, d
	        ld c, e
	        ex de, hl
	        ld hl, 0
	
__MUL16LOOP:
	        add hl, hl  ; hl << 1
	        sla c
	        rla         ; a,c << 1
	        jp nc, __MUL16NOADD
	        add hl, de
	
__MUL16NOADD:
	        djnz __MUL16LOOP
	
			ret	; Result in hl (16 lower bits)
	
			ENDP
	
#line 1162 "test01.bas"
#line 1 "div16.asm"
	; 16 bit division and modulo functions 
	; for both signed and unsigned values
	
#line 1 "neg16.asm"
	; Negates HL value (16 bit)
__ABS16:
		bit 7, h
		ret z
	
__NEGHL:
		ld a, l			; HL = -HL
		cpl
		ld l, a
		ld a, h
		cpl
		ld h, a
		inc hl
		ret
	
#line 5 "div16.asm"
	
__DIVU16:    ; 16 bit unsigned division
	             ; HL = Dividend, Stack Top = Divisor
	
		;   -- OBSOLETE ; Now uses FASTCALL convention
		;   ex de, hl
	    ;	pop hl      ; Return address
	    ;	ex (sp), hl ; CALLEE Convention
	
__DIVU16_FAST:
	    ld a, h
	    ld c, l
	    ld hl, 0
	    ld b, 16
	
__DIV16LOOP:
	    sll c
	    rla
	    adc hl,hl
	    sbc hl,de
	    jr  nc, __DIV16NOADD
	    add hl,de
	    dec c
	
__DIV16NOADD:
	    djnz __DIV16LOOP
	
	    ex de, hl
	    ld h, a
	    ld l, c
	
	    ret     ; HL = quotient, DE = Mudulus
	
	
	
__MODU16:    ; 16 bit modulus
	             ; HL = Dividend, Stack Top = Divisor
	
	    ;ex de, hl
	    ;pop hl
	    ;ex (sp), hl ; CALLEE Convention
	
	    call __DIVU16_FAST
	    ex de, hl	; hl = reminder (modulus)
					; de = quotient
	
	    ret
	
	
__DIVI16:	; 16 bit signed division
		;	--- The following is OBSOLETE ---
		;	ex de, hl
		;	pop hl
		;	ex (sp), hl 	; CALLEE Convention
	
__DIVI16_FAST:
		ld a, d
		xor h
		ex af, af'		; BIT 7 of a contains result
	
		bit 7, d		; DE is negative?
		jr z, __DIVI16A	
	
		ld a, e			; DE = -DE
		cpl
		ld e, a
		ld a, d
		cpl
		ld d, a
		inc de
	
__DIVI16A:
		bit 7, h		; HL is negative?
		call nz, __NEGHL
	
__DIVI16B:
		call __DIVU16_FAST
		ex af, af'
	
		or a	
		ret p	; return if positive
	    jp __NEGHL
	
		
__MODI16:    ; 16 bit modulus
	             ; HL = Dividend, Stack Top = Divisor
	
	    ;ex de, hl
	    ;pop hl
	    ;ex (sp), hl ; CALLEE Convention
	
	    call __DIVI16_FAST
	    ex de, hl	; hl = reminder (modulus)
					; de = quotient
	
	    ret
	
#line 1163 "test01.bas"
#line 1 "band16.asm"
; vim:ts=4:et:
	; FASTCALL bitwise and16 version.
	; result in hl 
; __FASTCALL__ version (operands: A, H)
	; Performs 16bit or 16bit and returns the boolean
; Input: HL, DE
; Output: HL <- HL AND DE
	
__BAND16:
		ld a, h
		and d
	    ld h, a
	
	    ld a, l
	    and e
	    ld l, a
	
	    ret 
	
#line 1164 "test01.bas"
	
ZXBASIC_USER_DATA:
	_putcharv1_t1 EQU 48896
	_writetext_t2 EQU 48898
	_writebin_t2 EQU 48898
	_seed EQU 49024
	_e0 EQU 49026
	_e1 EQU 49028
	_e2 EQU 49030
	_e3 EQU 49032
	; Defines DATA END --> HEAP size is 0
ZXBASIC_USER_DATA_END EQU ZXBASIC_MEM_HEAP
	; Defines USER DATA Length in bytes
ZXBASIC_USER_DATA_LEN EQU ZXBASIC_USER_DATA_END - ZXBASIC_USER_DATA
	END
