; оПХЛЕП ХЯОНКЭГНБЮМХЪ.
; FONT - ЮДПЕЯ ЬПХТРЮ, ПЮГЛЕЫЕММНЦН Б "ЩЙПЮММНЛ ЯЕЦЛЕМРЕ".
; оПХВЕЛ ПЮЯОНКНФХРЭ ЕЦН МЮДН ОН ЮДПЕЯС, ЛКЮДЬХИ АЮИР ЙНРНПНЦН
; ПЮБЕМ #00.
ORG	#8000
	LD	DE, #4020	; юдпея мю щйпюме дкъ бшбндю
	LD	IX, STRING	; юдпея ярпнвйх
	JR	PR6X8	
STRING	DEFB	"ярпнйю рейярю", 0
; IX - юдпея ярпнйх
; DE - юдпея мю щйпюме
PR6X8	LD	H, 'FONT	; ярюпьхи аюир юдпеяю пюглеыемхъ 
                        			; ьпхтрю
	LD	A, (IX)	; б ю - рейсыхи яхлбнк ярпнйх
	AND	A	
	RET	Z	; бшунд еякх йнмеж ярпнйх
	LD	BC	; онлеыюел б ярей юдпея бнгбпюрю
	PUSH	DE	; х рейсыхи юдпея мю щйпюме, врнаш 
			; бняярюмнбхрэ ецн
	LD	A, (IX+1)	; бонякедярбхх
	AND	A	; опнбепъел якедсчыхи аюир гю 
			; рейсыхл мю ецн йнмеж
	JR	Z, ONE	; дю - оепеундхл мю бшбнд 1-цн 
			; яхлбнкю
	LD	A, (IX+2)	
	AND	A	; дю - оепеундхл мю бшбнд 2-у 
			; яхлбнкнб
	LD	A, (IX+3)	
	AND	A	; опнбепъел рперхи аюир гю рейсыхл 
			; мю ецн йнмеж
	JP	NZ, FOUR	; мер - оевюрюел онкмсч рерпюдс
	JP	Z, THREE	; дю - оепеундхл мю бшбнд 3-у 
			; яхлбнкнб
; бяе ондопнцпюллш рпеасчр, врнаш б бепьхме ярейю ашк юдпея мю
; щйпюме х юдпея бнгбпюрю, опхвел ме мюнанпнр
; бшбнд ндмнцн йнмжебнцн яхлбнкю
ONE	LD	L, (IX)	; б HL - юдпея яхлбнкю б "щйпюммнл 
			; яецлемре"
; йнлюмдш бшдекеммни накюярх онбрнпхрэ 7 пюг
; ------------------------------------------------------------
	LD	A, (HL)	
	LD	(DE), A	; опнярн йнохпсел аюирш хг ьпхтрю 
			; мю щйпюм
	INC	D	
	INC	H	
; ------------------------------------------------------------
	LD	A, (HL)	
	LD	(DE), A	
	POP	DE	; бяонлхмюел юдпея мю щйпюме
	INC	IX	; ялеыюел юдпея б ярпнйе
	RET	NZ	
; бшбнд дбсу йнмжебшу яхлбнкнб
TWO	
; йнлюмдш бшдекеммни накюярх онбрнпхрэ 7 пюг
; ------------------------------------------------------------
	LD	L, (IX+1)	
	LD	B, (HL)	
	XOR	A	
	RL	B	
	RLA		
	RL	B	
	RLA		; гюонкмхл йнмеж оепбнцн гмюйнлеярю
			; напюгнл брнпнцн яхлбнкю
	LD	L, (IX)	
	OR	(HL)	; днаюбкъел он OR мювюкн оепбнцн гмюйнлеярю
	LD	(DE), A	; бшбндхл мю щйпюм оепбне гмюйнлеярн
	LD	E	; опндбхцюел юдпея
	LD	A, B	
	LD	(DE), A	; бшбндхл брнпне гмюйнлеярн
	DEC	E	
	INC	D	
	INC	H	
; ------------------------------------------------------------
	LD	L, (IX+1)	
	LD	B, (HL)	
	XOR	A	
	RL	B	
	RLA		
	RL	B	
	RLA		
	LD	L, (IX)	
	OR	(HL)	
	LD	(DE), A	
	INC	E	
	LD	A, B	
	LD	(DE), A	
	POP	DE	
	INC	IX	
	INC	IX	
	RET		
THREE
	; йнлюмдш бшдекеммни накюярх онбрнпхрэ 7 пюг
; ------------------------------------------------------------
	LD	L, (IX+2)	
	LD	C, (HL)	; б я - напюг онякедмецн (1) яхлбнкю ярпнйх
	LD	L, (IX+1)	
	LD	A, (HL)	; б ю - напюг опедонякедмецн (2) яхлбнкю
	RRCA		
	RRCA		; пнрхпсел напюг (2) й опюбнлс йпюч
	RRA		
	RR	C	
	RRA		
	RR	C	; опнрюяйхбюел 2 ахрю бн брнпне гмюйнлеярн
			; ндмнбпелеммн пнрхпсъ (1) й опюбнлс йпюч
	LD	B, A	; янупюмъел брнпне гмюйнлеярн б пецхярпе б
	XOR	A	
	RR	B	
	RR	C	
	RRA		
	RR	B	
	RR	C	
	RRA		; опнрюяйхбюел 2 ахрю б рперэе гмюйнлеярн
	INC	E	; ндмнбпелеммн пнрхпсъ оепбше дбю
	INC	E	
	LD	(DE), A	; бшбндхл онякедмее гмюйнлеярн мю щйпюм
	DEC	E	
	LD	A, C	
	LD	(DE), A	; ю реоепэ брнпне
	DEC	E	
	LD	L, (IX)	
	LD	A, (HL)	
	OR	B	; мюйкюдшбюел он OR напюг оепбнцн яхлбнкю
	LD	(DE), A	; мю щйпюм
	INC	D	
	INC	H	
; ------------------------------------------------------------
	LD	L, (IX+2)	
	LD	C, (HL)	
	LD	L, (IX+1)	
	LD	A, (HL)	
	RRCA		
	RRCA		
	RRA		
	RR	C	
	RRA		
	RR	C	
	LD	B, A	
	XOR	A	
	RR	B	
	RR	C	
	RRA		
	RR	B	
	RR	C	
	RRA		
	INC	E	
	INC	E	
	LD	(DE), A
	DEC	E	
	LD	A,C	
	LD	(DE), A	
	DEC	E	
	LD	L, (IX)	
	LD	A, (HL)	
	OR	B	
	LD	(DE), A	
	POP	DE	
	INC	IX	
	INC	IX	
	INC	IX	
	RET	NZ	
FOUR
	; йнлюмдш бшдекеммни накюярх онбрнпхрэ 7 пюг.
; ------------------------------------------------------------
	LD	L, (IX+1)	
	LD	B, (HL)	
	LD	L, (IX)	
	XOR	A	
	RL	B	
	RLA		
	RL	B	
	RLA		
	OR	(HL)	
	LD	(DE), A	
	INC	E	
	LD	L, (IX+2)	
	LD	A, (HL)	
	LD	L, (IX+3)	
	LD	C, (HL)	
	RRCA		
	RRCA		
	RRA		
	RR	C	
	RRA		
	RR	C	
	OR	B	
	LD	(DE), A	
	INC	E	
	LD	A, C	
	LD	(DE), A	
	DEC	E	
	DEC	E	
	INC	D	
	INC	H	
; ------------------------------------------------------------
	LD	L,(IX+1)	
	LD	B, (HL)	
	LD	L, (IX)	
	XOR	A	
	RL	B	
	RLA		
	RL	B	
	RLA		
	OR	(HL)	
	LD	(DE), A	
	INC	E	
	LD	L, (IX+2)	
	LD	A, (HL)	
	LD	L, (IX+3)	
	LD	C, (HL)	
	RRCA		
	RRCA		
	RRA		
	RR	C	
	RRA		
	RR	C	
	OR	B	
	LD	 (DE), A	
	INC	E	
	LD	A, C	
	LD	(DE), A	
	INC	E	
	LD	A, E	
	POP	DE	
	LD	E, A	
	INC	IX	
	INC	IX	
	INC	IX	
	INC	IX	
	RET	NZ	


; рн фе яюлне, врн х опедшдсыюъ опнжедспю, рнкэйн ондопнцпюллш
; гюмхлючр лемэье леярю
PR6X8_	LD	H, 'FONT
	LD	A, (IX)	
	AND	A	
	RET	Z	
	LD	BC, PR6X8_	
	PUSH	BC	
	PUSH	DE	
	LD	B, 8	
	LD	A, (IX+1)	
	AND	A	
	JR	Z, ONE_	
	LD	A, (IX+2)	
	AND	A	
	JR	Z, TWO_	
	LD	A, (IX+3)	
	AND	A	
	JR	NZ, FOUR_	
; бяе ондопнцпюллш рпеасчр, врнаш б бепьхме ярейю оепбшл ашк 
; юдпея мю щйпюме, ю брнпшл юдпея бнгбпюрю
THREE_			
	LD	L, (IX+1)	
	LD	A, (HL)	
	LD	L, (IX+2)	
	LD	L, (HL)	
	RRCA		
	RRCA		
	RRA		
	RR	L	
	RRA		
	RR	L	
	LD	C, A	
	XOR	A	
	RR	C	
	RR	L	
	RRA		
	RR	C	
	RR	L	
	RRA		
	INC	E	
	INC	E	
	LD	(DE), A	
	DEC	E	
	LD	A, L	
	LD	(DE), A	
	DEC	E	
	LD	L, (IX)	
	LD	A, (HL)	
	OR	C	
	LD	(DE), A	
	INC	D	
	INC	H	
	DJHZ	THREE_	
	POP	DE	
	INC	IX	
	INC	IX	
	INC	IX	
	RET	NZ	
ONE_	LD	L, (IX)
ONE1	LD	A, (HL)
	LD	(DE), A	
	INC	D	
	INC	H	
	DJNZ	ONE1	
	POP	DE	
	INC	IX	
	RET	NZ	
TWO_	LD	L, (IX+1)
	LD	C, (HL)	
	XOR	A	
	RL	C	
	RLA		
	RL	C	
	RLA		
	LD	L, (IX)	
	OR	(HL)	
	LD	(DE), A	
	INC	E	
	LD	A, C	
	LD	(DE), A	
	DEC	E	
	INC	D	
	INC	H	
	DJNZ	TWO_	
	POP	DE	
	INC	IX	
	INC	IX	
	RET		
FOUR_	LD	L, (IX+1)
	LD	C, (HL)	
	LD	L, (IX)	
	XOR	A	
	RL	C	
	RLA		
	RL	C	
	RLA		
	OR	(HL)		
	LD	(DE), A	
	INC	E	
	LD	L, (IX+2)	
	LD	A, (HL)	
	LD	L, (IX+3)	
	LD	L, (HL)	
	RRCA		
	RRCA		
	RRA		
	RR	L	
	RRA		
	RR	L	
	OR	C	
	LD	(DE), A	
	INC	E	
	LD	A, L	
	LD	(DE), A	
	DEC	E	
	DEC	E	
	INC	D	
	INC	H	
	DJNZ	FOUR_	
	POP	DE	
	INC	E	
	INC	E	
	INC	E	
	LD	C, 4	
	ADD	IX, BC	
	RET	NZ	
