	TITLÅ	'Farbtest und Einstellung fuer alphan. Bildschirm'

; VERSION 1.2
; 16.09.92
;
; Nutzung der Kombination 8FH Farbbyte Randfarbbyte

	MACLIB	Z80

bdos	equ	5

far	equ	40h
raf	equ	41h

	db	'MARCFARB890516'
balken:
zeile:	push	b
	mvi	a,0f0h		; int - weiss
	call	baaus
	mvi	a,0e1h		; int - gelb
	call	baaus
	mvi	a,0b4h		; int - tuerkis
	call	baaus
	mvi	a,0a5h		; int - gruen
	call	baaus
	mvi	a,0d2h		; int - purpur
	call	baaus
	mvi	a,0c3h		; int - rot
	call	baaus
	mvi	a,96h		; int - blau
	call	baaus
	mvi	a,87h		; int - schwarz
	call	baaus
zei1:
	mvi	a,70h		; weiss
	call	baaus
	mvi	a,61h		; gelb
	call	baaus
	mvi	a,34h		; tuerkis
	call	baaus
	mvi	a,25h		; gruen
	call	baaus
	mvi	a,52h		; purpur
	call	baaus
	mvi	a,43h		; rot
	call	baaus
	mvi	a,16h		; blau
	call	baaus
	mvi	a,07h		; schwarz
	call	baaus
	pop	b
	djnz	zeile		; naechste Zeile
	ret			; Balken fertig

baaus:	sta	baaust+1
	mvi	c,9
	lxi	d,baaust
	jmp	bdos

baaust:	db	8fh
	dw	0
	db	'     $'

eingabe:
	mvi	c,6
	mvi	e,0ffh
	call	bdos
	cpi	0
	jrz	eingabe		; warten auf Zeichen
	cpi	03h
	stc
	rz
	cpi	1bh
	rz
	cpi	0dh
	rz
	sui	31h
	jrc	eingabe
	cpi	8
	jrnc	eingabe
	inr	a
	cmc
	ret

farberm:
	inx	h
	dcr	a
	jrnz	farberm
	mov	a,m
	ret

kfarbtab:
	db	70h,61h,34h,25h,52h,43h,16h,07h
vfarbtab:
	db	7,6,3,2,5,4,1,0

begin:
	mvi	a,13h
	sta	farbreg
	lxi	h,0f800h
	mvi	b,24
	di
	call	balken
	ei
	lda	farbreg
randwdh:
	sta	rarreg
	rrc ! rrc ! rrc ! rrc
	out	raf
	call	eingabe
	jc	retc
	cpi	1bh
	jz	begin
	cpi	0dh
	jrz	hintgbeg
	lxi	h,kfarbtab-1
	call	farberm
	jr	randwdh
hintgbeg:
	lda	rarreg
hintgwdh:
	sta	farbreg
	out	far
	lxi	h,0f800h
	lxi	b,5010h
hintloop0:
	push	b
hintloop1:
	mvi	m,' '
	inx	h
	djnz	hintloop1
	pop	b
	dcr	c
	jrnz	hintloop0
	mvi	b,8
	call	balken
	call	eingabe
	jc	retc
	cpi	1bh
	jz	begin
	cpi	0dh
	jrz	vordgbeg
	lxi	h,kfarbtab-1
	call	farberm
	jr	hintgwdh
vordgbeg:
	lda	farbreg
	out	far
	lxi	h,0f800h
	lxi	b,5010h
vorloop0:
	push	b
vorloop1:
	mvi	m,0a0h
	inx	h
	djnz	vorloop1
	pop	b
	dcr	c
	jrnz	vorloop0
	mvi	b,8
	call	balken
	lda	farbreg
	out	far
	lxi	h,0f800h
	mvi	a,0
vloop1:	push	h
	mvi	b,32
vloop2:	mvi	m,' '
	inx	h
	push	psw
	ani	7fh
	mov	m,a
	pop	psw
	inx	h
	inr	a
	jrz	vloope
	cpi	80h
	jrnz	vloop3
	push	psw
	lda	farbreg
	ori	80h
	out	far
	pop	psw
vloop3:	djnz	vloop2
	lxi	d,50h
	pop	h
	dad	d
	jr	vloop1
vloope:	pop	h
	lda	farbreg
	out	far
	call	eingabe
	jc	retc
	cpi	1bh
	jz	begin
	cpi	0dh
	jrz	retc
	lxi	h,vfarbtab-1
	call	farberm
	mov	b,a
	lda	farbreg
	ani	0f0h
	ora	b
	sta	farbreg
	jr	vordgbeg

retc:
;	lda	farbreg
;	out	far
	lda	rarreg
	rrc ! rrc ! rrc ! rrc
	sta	rarreg
;	out	raf
;	lxi	h,0ff80h
;	mvi	b,3bh
;retloop1:
;	mvi	m,0
;	inx	h
;	djnz	retloop1
;	mvi	b,15h
;retloop2:
;	mvi	m,' '
;	inx	h
;	djnz	retloop2
	mvi	c,9
	lxi	d,farbte
	jmp	5

farbte:	db	8fh
farbreg:
	db	13h
rarreg:	db	01h
	db	0ch,'$'

	end	begin

