LINE008 ASM;
	ORG	1000H
;	D X1
;	E Y1
;	B X2
;	C Y2
;
LINE	LD	L,0
	LD	A,B
	SUB	D
	JR	NC,LINE2
	SET	0,L
	NEG
LINE2	LD	H,A
	LD	A,C
	SUB	E
	JP	Z,LINE3
	JR	NC,LINE4
	NEG
	SET	1,L
LINE4	LD	B,L
	LD	L,A
	CP	H
	JR	C,LINE5
	LD	A,H
	LD	H,L
	LD	L,A
	SET	2,B
LINE5	LD	A,B
	EXX
	ADD	A
	LD	B,A
	LD	HL,LITAB1
	ADD	L
	LD	L,A
	LD	A,(HL)
	LD	(UP1+1),A
	INC	HL
	LD	A,(HL)
	LD	(UP1+2),A
	LD	HL,LITAB2
	LD	A,B
	AND	0F7H
	ADD	L
	LD	L,A
	LD	A,(HL)
	LD	(UP2+1),A
	INC	HL
	LD	A,(HL)
	LD	(UP2+2),A
	EXX
	LD	A,H
	LD	H,0
	LD	B,H
	ADD	HL,HL
	PUSH	HL
	POP	IY
	LD	C,A
	EX	AF
	XOR	A
	SBC	HL,BC
	PUSH	HL
	XOR	A
	SBC	HL,BC
	LD	B,H
	LD	C,L
	POP	HL
	EX	AF
T	EX	AF
	CALL	PUNKT0
	PUSH	IY
	POP	DE
	JP	LINE71
LINE7	EX	AF
LINE71	XOR	A
	OR	H
UP2	JP	P,LIGRO
UP1	JP	LIKLE
LIKLE	INC	D
	INC	E
	PUSH	DE
	LD	D,HY
	LD	E,LY
	ADD	HL,DE
	POP	DE
	EX	AF
	DEC	A
	JR	NZ,LINE7
	JR	LIEND
LIGRO	INC	D
	INC	E
	ADD	HL,BC
	EX	AF
	DEC	A
	JR	NZ,LINE7
LIEND	RET
	DW	7F7FH
	DB	'LINE',01
	LD	DE,0A0A0H
	LD	BC,5050H
	CALL	LINE
	RET
LINE3	INC	A
	JP	LINE4
LITAB1	DW	LIKLE1,LIKLE2
	DW	LIKLE1,LIKLE2
	DW	LIKLE3,LIKLE3
	DW	LIKLE4,LIKLE4
LITAB2	DW	LIGRO1,LIGRO2
	DW	LIGRO3,LIGRO4
LIKLE1	ADD	HL,DE
	EXX
	LD	A,C
	RRCA
	JP	NC,LIKLE11
	INC	H
LIKLE11	LD	C,A
	OR	(HL)
	LD	(HL),A
	EXX
	EX	AF
	DEC	A
	JP	NZ,LINE7
	JP	LIEND
LIKLE2	ADD	HL,DE
	EXX
	LD	A,C
	RLCA
	JP	NC,LIKLE21
	DEC	H
LIKLE21	LD	C,A
	OR	(HL)
	LD	(HL),A
	EXX
	EX	AF
	DEC	A
	JP	NZ,LINE7
	JP	LIEND
LIKLE3	ADD	HL,DE
	EXX
	LD	A,C
	INC	L
	OR	(HL)
	LD	(HL),A
	EXX
	EX	AF
	DEC	A
	JP	NZ,LINE7
	JP	LIEND
LIKLE4	ADD	HL,DE
	EXX
	LD	A,C
	DEC	L
	OR	(HL)
	LD	(HL),A
	EXX
	EX	AF
	DEC	A
	JP	NZ,LINE7
	JP	LIEND
LIGRO1	ADD	HL,BC
	EXX
	LD	A,C
	RRCA
	JP	NC,LIGRO11
	INC	H
LIGRO11	INC	L
	LD	C,A
	OR	(HL)
	LD	(HL),A
	EXX
	EX	AF
	DEC	A
	JP	NZ,LINE7
	JP	LIEND
LIGRO2	ADD	HL,BC
	EXX
	LD	A,C
	RLCA
	JP	NC,LIGRO21
	DEC	H
LIGRO21	INC	L
	LD	C,A
	OR	(HL)
	LD	(HL),A
	EXX
	EX	AF
	DEC	A
	JP	NZ,LINE7
	JP	LIEND
LIGRO3	ADD	HL,BC
	EXX
	LD	A,C
	RRCA
	JP	NC,LIGRO31
	INC	H
LIGRO31	DEC	L
	LD	C,A
	OR	(HL)
	LD	(HL),A
	EXX
	EX	AF
	DEC	A
	JP	NZ,LINE7
	JP	LIEND
LIGRO4	ADD	HL,BC
	EXX
	LD	A,C
	RLCA
	JP	NC,LIGRO41
	DEC	H
LIGRO41	DEC	L
	LD	C,A
	OR	(HL)
	LD	(HL),A
	EXX
	EX	AF
	DEC	A
	JP	NZ,LINE7
	JP	LIEND
PUNKT0	PUSH	DE
	EXX
	POP	HL
	LD	A,H
	AND	7
	INC	A
	LD	B,A
	SRL	H
	SRL	H
	SRL	H
	LD	A,80H
	ADD	H
	LD	H,A
	LD	A,01H
PUNKT01	RRCA
	DJNZ	PUNKT01
	LD	C,A
	OR	(HL)
	LD	(HL),A
	EXX
	RET
^
PUNKT	SRL	H
	LD	A,80H
	ADD	H
	LD	H,A
	LD	A,01H
PUNKT01	RRCA
	DJNZ	PUNKT01
	LD	C,A
	OR	(HL)
	LD	(HL),A
	EXX
	RET
^
PUNKT