Source file: /~heha/hs/kcemu/kcswberg.zip/DISK/RECT1.ASM

RECT1ASM 
OS	EQU	0F003H
A1	EQU	0B782H
A2	EQU	A1+2
A3	EQU	A2+2
A4	EQU	A3+2
FARB	EQU	0B7D6H
	DB	7FH,7FH,'RECT',1
	LD	A,7*8+1
	LD	(FARB),A
	LD	HL,(A4)
	PUSH	HL
	LD	HL,(A2)
	LD	(A4),HL
	CALL	OS
	DB	3EH
	LD	HL,(A1)
	EX	(SP),HL
	LD	(A4),HL
	LD	HL,(A3)
	LD	(A1),HL
	CALL	OS
	DB	3EH
	LD	HL,(A2)
	EX	(SP),HL
	LD	(A1),HL
	LD	HL,(A4)
	LD	(A2),HL
	CALL	OS
	DB	3EH
	POP	HL
	LD	(A2),HL
	LD	HL,(A1)
	LD	(A3),HL
	CALL	OS
	DB	3EH
	RET
 
	DB	7FH,7FH,'XRECT',1
	;Sortieren
	OR	A
	PUSH	HL
	SBC	HL,BC
	POP	HL
	JR	C,SO1
	LD	(A3),HL
	LD	(A1),BC
SO1
	LD	HL,(A4)
	OR	A
	PUSH	HL
	SBC	HL,DE
	POP	HL
	JR	NC,SO2
	LD	(A2),HL
	LD	(A4),DE
SO2
	LD	HL,(A1)
	LD	A,L
	ADD	HL,HL
	ADD	HL,HL
	ADD	HL,HL
	ADD	HL,HL
	ADD	HL,HL
	LD	D,0FFH
	AND	7
	JR	Z,SB1
SB2
	SRL	D
	DEC	A
	JR	NZ,SB2
SB1
	LD	C,H
	LD	HL,(A3)
	LD	A,L
	ADD	HL,HL
	ADD	HL,HL
	ADD	HL,HL
	ADD	HL,HL
	ADD	HL,HL
	LD	E,80H
	AND	7
	JR	Z,SB3
SB4
	SRA	E
	DEC	A
	JR	NZ,SB4
SB3
	LD	L,C
 
	LD	A,H
	SUB	L
	JR	NZ,VG1
	LD	A,D
	AND	E
	LD	E,A	;AND-BM
	XOR	A
VG1
	LD	B,A
	INC	B
 
LOOP
	LD	A,(A2+1)
	OR	A
	LD	A,(A2)
	LD	H,A
	CALL	Z,WGL
	PUSH	HL
	 LD	HL,(A2)
	 INC	HL
	 LD	(A2),HL
	PUSH	BC
	LD	BC,(A4)
	OR	A
	SBC	HL,BC
	POP	BC
	POP	HL
	JR	NZ,LOOP
	RET
WGL	;Waagerechte Linie
	;HL: log. Pixadr.
	;E: Bits rechts
	;D: Bits links
	;B: Anzahl
	PUSH	HL
	PUSH	DE
	PUSH	BC
WG2
	PUSH	HL
	PUSH	DE
;	CALL	OS
;	DB	34H
	LD	A,L
	LD	L,H
	CP	28H
	CCF
	LD	H,A
	SET	7,H
	POP	DE
	JR	C,WG3
	LD	A,B	;=1?
	DEC	A
	JR	NZ,WG1
	LD	D,E
WG1
	LD	A,M
	XOR	D
	LD	M,A
WG3
	LD	D,0FFH	;Mittlere Pixel
	POP	HL
	INC	L	;Next Spalte
	DJNZ	WG2
	POP	BC
	POP	DE
	POP	HL
	RET
Þ
WG3:Û
WG1:É
WG2:Æ
WGL:¦
LOOP:¤
VG1:›
SB3:–
SB4:†
SB1:�
SB2:r
SO2:a
SO1:Ö·
FARB:ˆ·
A4:†·
A3POP	DE
	POP	HL
	RET
Þ
WG3:Û
WG1:É
WG2:Æ
WGL:¦
LOOP:¤
VG1:›
SB3:–
SB4:†
SB1:�
SB2:r
SO2:a
SO1:Ö·
FARB:ˆ·
A4:†·
A3
Detected encoding: ANSI (CP1252)4
Wrong umlauts? - Assume file is ANSI (CP1252) encoded