LPGRAF  ASM;***************************************
;
;	LEITERKARTENENTWURF
;
;***************************************
;
;
;ZENTRALKLINIK FUER HERZ- UND LUNGEN-
;KRANKHEITEN DES MINISTERIUMS FUER
;GESUNDHEITSWESEN
;
;5303 BAD BERKA
;
;ABTEILUNG BIOMEDIZINISCHE TECHNIK
;UND INFORMATIONSVERARBEITUNG
;
;ERARBEITET VON DIPL.-ING. Roland Sieder
;
;BAD BERKA, DEN 18.02.1986
;
;Terminal: KC85/3!
;***************************************
;
	ORG	200H
;
;***************************************
;f}r Edas bearbeitet von Mario Leubner
;
;LPGRAF.ASM		` 16.08.93
;***************************************
;
;	MARKEN
;
;***************************************
;
WINON	EQU	0B79CH
WINLG	EQU	0B79EH
CURSO	EQU	0B7A0H
COLOR	EQU	0B7A3H
PV1	EQU	0F003H
CRT	EQU 00H
KBD	EQU 04H
KBDZ	EQU 0EH
INLINE	EQU 17H
ERRM	EQU 19H
HLHX	EQU 1AH
ZSUCH	EQU 1DH
OSTR	EQU 23H
SPACE	EQU 2BH
CRLF	EQU 2CH
 
LF	EQU	0AH
CR	EQU	0DH
FARB1	EQU	39H
FARB2	EQU	46H
FENSTA	EQU	20H
FENSTE	EQU	2008H
PIX	EQU	8000H
COL	EQU	0A800H
AHIL1	EQU	COL+0800H/256
AHIL2	EQU	COL+0A00H/256
AHIL3	EQU	PIX+2800H/256
AHIL4	EQU	PIX+2000H/256
RAM1	EQU	2000H
RAM2	EQU	4000H
SCOL	EQU	12H
PAGE	EQU	11H
;
;
;***************************************
;
;	KURSORTASTENCODES
;
;***************************************
;
LIH	EQU	'O'
REH	EQU	'^'
UNV	EQU	'+'
OBV	EQU	':'
LUS	EQU	'L'
LOS	EQU	'0'
ROS	EQU	'-'
RUS	EQU	'_'
SLIH	EQU	'o'
SREH	EQU	']'
SUNV	EQU	';'
SOBV	EQU	'*'
SLUS	EQU	'l'
SLOS	EQU	'@'
SROS	EQU	'='
SRUS	EQU	'\'
;
;
;***************************************
;
;       BUCHSTABENCODES
;
;***************************************
;
;
;	A - LOETAUGE BEI PUNKT P1
;	    (NUR SICHTEBENE)
;	B - EINLESEN VON MAGNETBAND
;	C - RUECKSPRUNG IN CAOS
;	D - QUASIDECKUNG VON SICHT- UND
;	    HINTERGRUNDEBENE
;	E - KONTAKTIERUNGSLEISTE VON
;	    PUNKT P1 ZU PUNKT P2
;	    (ALLE EBENEN)
;	F - RUECKSETZEN DER KONTAK-
;	    TIERUNGSLEISTE VON PUNKT P1
;	    ZU PUNKT P2 (ALLE EBENEN)
;	G - LOETAUGE BEI PUNKT P1 DER
;	    SICHTEBENE RUECKSETZEN
;	H - AUSTAUSCHEN DER 3.EBENE MIT
;	    DER HINTERGRUNDEBENE
;	I - SPIEGELN DER SICHTEBENE UM
;	    DIE VERTIKALE BEI X=128
;	J - NICHT BELEGT
;	K - LOETAUGE BEI PUNKT P1
;	    (ALLE EBENEN)
;	L - LINIE VON PUNKT P1 ZU PUNKT
;	    P2
;	M - MAGNETBANDAUSGABE DER
;	    HINTERGRUNDEBENE
;	N - NICHT BELEGT
;	O - NICHT BELEGT
;	P - NICHT BELEGT
;	Q - KURSOR SETZEN BEI PUNKT P1
;	R - RUECKSETZEN DES LOETAUGES
;	    BEI PUNKT P1
;	S - RUECKSETZEN DER LINIE VON
;	    PUNKT P1 ZU PUNKT P2
;	T - TEXTEINGABE
;	U - SICHTEBENE LOESCHEN
;	V - NICHT BELEGT
;	W - AUSTAUSCHEN VON SICHT- UND
;	    HINTERGRUNDEBENE
;	X - KOORDINATENAUSGABE ALLER
;	    HORIZONTALEN LINIEN, DEREN
;     	    LAENGE GROESZER 2 IST
;	Y - WIE 'X', NUR VERTIKALE LINIE
;	Z - KOORDINATENAUSGABE DER LOET-
;	    AUGEN
;
;
;***************************************
;
;	UNTERPROGRAMME
;
;***************************************
;
;
XXXX:	DB	-1
KURSO:	LD	E,2
	CALL	AUSH
	PUSH	AF
MM56:	LD	E,1
	CALL	PKT
	DEC	E
	CALL	PKT
	CALL	PV1
	DB	KBDZ
	JR	NC,MM56
	LD	B,A
	POP	AF
	LD	E,A
	LD	A,B
	PUSH	AF
	LD	B,0
	CALL	PKT
	POP	AF
	RET
;
BUCH:	CALL	PV1
	DB	KBD
	PUSH	AF
	CALL	PV1
	DB	CRT
	CALL	PV1
	DB	CRLF
	POP	AF
	RET
;
XEP1:	CALL	PV1
	DB	OSTR
	DB	'P1',LF,CR,0
MM47:	LD	A,'X'
	CALL	PV1
	DB	CRT
	CALL	HEXA
	LD	B,A
	LD	A,'Y'
	CALL	PV1
	DB	CRT
	CALL	HEXA
	LD	C,A
	RET
;
XEP2:	CALL	PV1
	DB	OSTR
	DB	'P2',LF,CR,0
	PUSH	BC
	CALL	MM47
	PUSH	BC
	POP	HL
	POP	BC
	RET
;
AUSH:	PUSH	AF
	LD	A,C
	LD	HL,(CURSO)
	PUSH	HL
	LD	HL,100H
	CALL	AUSXN
	LD	A,D
	CALL	AUSYN
	POP	HL
	LD	(CURSO),HL
	POP	AF
;
PKT:	PUSH	HL
	CALL	POSI
	JR	NC,MP6
	POP	HL
	RET
MP6:	PUSH	DE
	PUSH	BC
	LD	A,C
	AND	7
	INC	A
	LD	B,8
	LD	C,A
	LD	A,(HL)
MP8:	RLCA
	DEC	C
	JR	Z,MP7
	DJNZ	MP8
MP7:	RL	C
	LD	D,A
	LD	A,E
	OR	A
	JR	Z,MP9
	CP	02H
	JR	NC,MP10
	SET	0,D
	JR	MP10
MP9:	RES	0,D
MP10:	LD	A,D
	DEC	B
	JR	Z,MP11
MP12:	RLCA
	DJNZ	MP12
MP11:	LD	(HL),A
	LD	A,C
	AND	A
	POP	BC
	POP	DE
	POP	HL
	RET
;
POSI:	LD	HL,013FH
	XOR	A
	SBC	HL,BC
	RET	C
	LD	A,D
	CPL
	PUSH	DE
	LD	D,A
	LD	L,C
	SRL	L
	SRL	L
	SRL	L
	BIT	0,B
	JR	Z,MP1
	AND	030H
	RRCA
	OR	L
	LD	L,A
MP1:	LD	A,D
	RLA
	RLA
	RLA
	AND	060H
	OR	L
	LD	L,A
	LD	A,D
	RRCA
	AND	80H
	OR	L
	LD	L,A
	LD	A,D
	AND	0F0H
	SRL	A
	SRL	A
	SRL	A
	BIT	0,B
	JR	Z,MP2
	AND	018H
	SRL	A
	SRL	A
MP2:	SRL	D
	LD	H,A
	LD	A,D
	AND	1
	OR	H
	OR	080H
	BIT	0,B
	JR	Z,MP3
	OR	020H
MP3:	LD	H,A
	POP	DE
	AND	A
	RET
;
KONTD:	CALL	KONT
	CALL	WECH1
	CALL	KONT
	CALL	DREB1
	CALL	WECH1
	CALL	KONT
	CALL	WECH1
	CALL	DREB1
WECH1:	PUSH	BC
	PUSH	DE
	CALL	WECHS
	POP	DE
	POP	BC
	RET
;
KONT:	CALL	PKT
	INC	C
	CALL	PKT
	INC	D
	CALL	PKT
	DEC	C
	CALL	PKT
	DEC	D
	RET
;
SAVE:	DB	'SAVE',0 ;f}r Men}wort-
LOAD:	DB	'LOAD',0 ;suche!
;
MMS:	CALL	PV1
	DB	OSTR
	DB	LF,CR,'-',0
	CALL	HEXA
	LD	L,A
	LD	A,'*'
	CALL	PV1
	DB	CRT
	CALL	HEXA
	LD	H,A
	LD	D,0
	LD	BC,0
	PUSH	HL
	CALL	MM61
	POP	HL
	RET
;
PLATZ:	CALL	XEP1
MM61:	CALL	PV1
	DB	OSTR
	DB	CR
	DS	8,LF
	DB	0
	LD	HL,(CURSO)
	LD	A,H
	SUB	7
	LD	H,A
	LD	(CURSO),HL
	RET
;
AUSG:	DEC	SP
	DEC	SP
	EX	(SP),HL
	LD	HL,(CURSO)
	EX	(SP),HL
	CALL	AUSXN
	LD	A,E
	CALL	AUSYN
	LD	A,C
	CALL	AUSGX
	LD	A,D
AUSG1:	CALL	AUSYN
	CALL	PV1
	DB	KBD
	EX	(SP),HL
	LD	(CURSO),HL
	POP	HL
	CP	'E'
	RET
;
MM66:	DEC	SP
	DEC	SP
	EX	(SP),HL
	LD	HL,(CURSO)
	EX	(SP),HL
	CALL	AUSXN
	LD	A,E
	JR	AUSG1
;
AUSXN:	PUSH	AF
	CALL	PV1
	DB	CRLF
	POP	AF
AUSGX:	PUSH	AF
	LD	A,'X'
	JR	MX1
AUSYN:	PUSH	AF
	LD	A,'Y'
MX1:	CALL	PV1
	DB	CRT
	LD	A,20H
	CALL	PV1
	DB	CRT
	POP	AF
	PUSH	HL
	PUSH	BC
	SUB	L
	LD	L,A
	LD	B,H
	XOR	A
	LD	H,A
MX3:	ADD	L
	JR	NC,MX2
	INC	H
MX2:	DJNZ	MX3
	LD	L,A
	PUSH	DE
	LD	DE,1
	PUSH	HL
	POP	BC
	LD	HL,0
	LD	A,010H
MX8:	PUSH	AF
	RR	B
	RR	C
	JR	NC,MX7
	LD	A,L
	ADD	E
	DAA
	LD	L,A
	LD	A,H
	ADC	D
	DAA
	LD	H,A
MX7:	LD	A,E
	ADD	E
	DAA
	LD	E,A
	LD	A,D
	ADC	D
	DAA
	LD	D,A
	POP	AF
	DEC	A
	JR	NZ,MX8
	CALL	PV1
	DB	HLHX
	POP	DE
	CALL	PV1
	DB	CRLF
	POP	BC
	POP	HL
	RET
;
HEXA:	PUSH	DE
	PUSH	HL
HH23:	CALL	PV1
	DB	SPACE
	CALL	PV1
	DB	INLINE
	EX	DE,HL
HH3:	LD	A,(HL)
	CP	' '
	INC	HL
	JR	NZ,HH3
	PUSH	BC
	LD	C,0
	CALL	ZIFF
	JR	C,HH20
	CALL	ZIFF
	JR	C,HH21
	CALL	ZIFF
	JR	C,HH21
	CALL	ZIFF
	JR	C,HH21
HH26:	POP	BC
	CALL	PV1
	DB	ERRM
	JR	HH23
HH20:	XOR	A
HH19:	POP	BC
	POP	HL
	POP	DE
	RET
HH21:	DEC	C
	DEC	HL
	DEC	HL
	LD	A,(HL)
	SUB	'0'
	LD	E,A
	DEC	HL
	DEC	C
	JR	Z,HH19
	LD	A,(HL)
	SUB	'0'
	LD	B,A
	LD	D,0AH
	LD	A,E
	JR	Z,HH22
HH25:	ADD	D
	DJNZ	HH25
HH22:	LD	E,A
	DEC	HL
	DEC	C
	JR	Z,HH19
	LD	A,(HL)
	SUB	'0'
	LD	B,A
	LD	D,064H
	LD	A,E
	JR	Z,HH19
HH24:	ADD	D
	DJNZ	HH24
	JR	HH19
;
KONTH:	PUSH	HL
	CALL	KONTD
	POP	HL
	RET
;
ZIFF:	LD	A,(HL)
	INC	HL
	INC	C
	CP	'0'
	RET	C
	CP	03AH
	CCF
	RET	NC
	POP	BC
	JR	HH26
;
WECHS:	LD	HL,PIX
	LD	DE,RAM1
	JR	MM54
;
DREBN:	LD	HL,RAM1
	LD	A,(XXXX)
	OR	A
	RET	NZ
	LD	DE,RAM2
MM54:	LD	BC,2000H
TAUSCH:	LD	A,(DE)
	PUSH	BC
	LD	B,(HL)
	LD	(HL),A
	LD	A,B
	LD	(DE),A
	INC	HL
	INC	DE
	POP	BC
	DEC	BC
	XOR	A
	CP	B
	JR	NZ,TAUSCH
	CP	C
	JR	NZ,TAUSCH
	RET
;
DREB1:	PUSH	BC
	PUSH	DE
	CALL	DREBN
	POP	DE
	POP	BC
	RET
;
;
;***************************************
;
;	CODEROUTINEN
;
;***************************************
;
;
	DW	7F7FH
	DB	'LPGRAF'
	DB	1
START:	PUSH	HL
	PUSH	BC
	PUSH	DE
	PUSH	AF
	LD	HL,RAM2
	LD	(HL),-1
	LD	A,-1
	CP	(HL)
	JR	NZ,XXXX1
	INC	A
	LD	(HL),A
	LD	A,(HL)
XXXX1:	LD	(XXXX),A
	LD	HL,COL
	LD	B,FARB1
	LD	A,AHIL1
MM1:	LD	(HL),B
	INC	HL
	CP	H
	JR	NZ,MM1
	LD	A,AHIL2
	LD	B,FARB2
MM2:	LD	(HL),B
	INC	HL
	CP	H
	JR	NZ,MM2
	LD	HL,FENSTA
	LD	(WINON),HL
	LD	HL,FENSTE
	LD	(WINLG),HL
	LD	HL,0
	LD	(CURSO),HL
	LD	A,FARB2
	LD	(COLOR),A
	LD	HL,PIX+2000H
	LD	A,AHIL3
MM3:	LD	(HL),0
	INC	HL
	CP	H
	JR	NZ,MM3
	CALL	PV1
	DB	OSTR
	DB	'LPGRAF'
	NOP
;
ANF:	CALL	PV1
	DB	CRLF
	CALL	BUCH
	CP	041H
	JR	NC,MM4
;
ERROR:	CALL	PV1
	DB	ERRM
	JR	ANF
;
MM4:	CP	05BH
	JR	NC,ERROR
	LD	HL,TAB
	SUB	'A'
	RLA
	ADD	L
	LD	L,A
	LD	A,H
	ADC	0
	LD	H,A
	LD	E,(HL)
	INC	HL
	LD	D,(HL)
	EX	DE,HL
	JP	(HL)
;
BUCHL:	LD	E,1		;** L **
	JR	MM5
;
END:	POP	AF		;** C **
	POP	DE
	POP	BC
	POP	HL
	RET
;
BUCHS:	LD	E,0		;** S **
MM5:	CALL	XEP1
	CALL	XEP2
	LD	A,H
	CP	B
	JR	NZ,MM6
	LD	D,C
	LD	B,0
	LD	C,H
MM7:	CALL	PKT
	INC	D
	JR	Z,ANF
	LD	A,L
	CP	D
	JR	NC,MM7
	JR	ANF
MM6:	LD	C,B
	LD	B,0
	LD	D,L
MM8:	CALL	PKT
	INC	C
	JR	Z,ANF
	LD	A,H
	CP	C
	JR	NC,MM8
	JR	ANF
;
BUCHW:	CALL	WECHS		;** W **
	JR	ANF
;
BUCHH:	CALL	DREBN		;** H **
	JR	ANF
;
BUCHD:	CALL	WECHS		;** D **
	CALL	PV1
	DB	KBDZ
	JR	NC,BUCHD
	JR	ANF
;
BUCHT:	LD	HL,(WINON)	;** T **
	PUSH	HL
	LD	HL,(WINLG)
	PUSH	HL
	LD	HL,(CURSO)
	PUSH	HL
	LD	HL,0
	LD	(WINON),HL
	LD	(CURSO),HL
	LD	HL,02020H
	LD	(WINLG),HL
	LD	A,FARB1
	LD	(COLOR),A
	LD	A,PAGE
	CALL	PV1
	DB	CRT
MM11:	CALL	PV1
	DB	KBD
	CP	'@'
	JR	Z,MM10
	CALL	PV1
	DB	CRT
	JR	MM11
MM10:	POP	HL
	LD	(CURSO),HL
	POP	HL
	LD	(WINLG),HL
	POP	HL
	LD	(WINON),HL
	LD	A,FARB2
	LD	(COLOR),A
	LD	A,SCOL
	CALL	PV1
	DB	CRT
MM53:	JP	ANF
;
BUCHK:	LD	E,1		;** K **
	JR	MM12
;
BUCHR:	LD	E,0		;** R **
MM12:	CALL	XEP1
	LD	D,C
	LD	C,B
	LD	B,0
	CALL	KONTD
	JR	MM53
;
BUCHA:	LD	E,1		;** A **
	JR	MM13
;
BUCHG:	LD	E,0		;** G **
MM13:	CALL	XEP1
	LD	D,C
	LD	C,B
	LD	B,0
	CALL	KONT
	JR	MM53
;
BUCHM:	CALL	PV1		;** M **
	DB	OSTR
	DB	LF,'NAME:',LF,CR,' ',0
	CALL	PV1
	DB	INLINE
MM15:	LD	A,(DE)
	INC	DE
	CP	' '
	JR	NZ,MM15
	LD	HL,0B700H
	LD	BC,6
	EX	DE,HL
	LDIR
	LD	HL,TEXTEN
	LD	BC,6
	LDIR
	LD	A,2
	LD	(0B781H),A
	LD	HL,RAM1
	LD	(0B782H),HL
	LD	HL,RAM1+2000H
	LD	(0B784H),HL
	LD	A,7FH
	LD	BC,0FFFFH
	LD	DE,SAVE
	LD	HL,0E000H
	CALL	PV1
	DB	ZSUCH	;Men}wort
	LD	A,L	;'SAVE' suchen
	ADD	0DH
	LD	L,A
	LD	A,H
	ADC	0
	LD	H,A
	LD	DE,0B6FAH
MM16:	LD	BC,ANF
	PUSH	BC
	INC	HL	;Nach Eingabe?
	JP	(HL)	;anspringen!
;
TEXTEN:	DB	'  DUM'
	NOP		;Dateityp
;
BUCHB:	XOR	A		;** B **
	LD	(0B781H),A
	LD	A,07FH
	LD	BC,0FFFFH
	LD	DE,LOAD
	LD	HL,0E000H
	CALL	PV1
	DB	ZSUCH
	JR	MM16
;
BUCHE:	LD	E,1		;** E **
	JR	MM17
;
BUCHF:	LD	E,0		;** F **
MM17:	CALL	XEP1
	CALL	XEP2
	LD	A,H
	CP	B
	JR	NZ,MM18
	LD	B,0
	LD	D,C
	LD	C,H
MM19:	CALL	KONTH
	LD	A,D
	ADD	5
	LD	D,A
	CP	L
	JR	C,MM19
	JR	Z,MM19
MM21:	JP	ANF
MM18:	LD	C,B
	LD	B,0
	LD	D,L
MM20:	CALL	KONTH
	LD	A,C
	ADD	5
	LD	C,A
	CP	H
	JR	C,MM20
	JR	Z,MM20
	JR	MM21
;
BUCHX:	CALL	MMS		;** X **
MM23:	LD	E,2
	CALL	PKT
	OR	A
	JR	NZ,MM22
	DEC	E
	CALL	PKT
MM29:	INC	C
	JR	NZ,MM23
	INC	D
	JR	NZ,MM23
	DEC	D
	DEC	C
MM24:	LD	E,2
	CALL	PKT
	LD	E,0
	OR	A
	JR	NZ,MM25
	INC	E
MM25:	CALL	PKT
	DEC	C
	LD	A,-1
	CP	C
	JR	NZ,MM24
	DEC	D
	CP	D
	JR	NZ,MM24
MM58:	CALL	PV1
	DB	OSTR
	DB	CR
	DS	7,LF
	DB	0
	JP	ANF
MM22:	PUSH	HL
	LD	H,C
	LD	L,D
MM28:	LD	E,0
	CALL	PKT
	INC	C
	JR	Z,MM27
	LD	E,2
	CALL	PKT
	OR	A
	JR	NZ,MM28
MM27:	DEC	C
	LD	A,C
	CP	H
	JR	Z,MM37
	DEC	A
	CP	H
	JR	Z,MM37
	LD	A,H
	LD	E,L
	POP	HL
	CALL	AUSG
	JR	NZ,MM29
	JR	MM24
MM37:	POP	HL
	JR	MM29
;
BUCHY:	CALL	MMS		;** Y **
MM26:	LD	E,2
	CALL	PKT
	OR	A
	JR	NZ,MM30
	DEC	E
	CALL	PKT
MM35:	INC	D
	JR	NZ,MM26
	INC	C
	JR	NZ,MM26
MM42:	DEC	D
	DEC	C
MM32:	LD	E,2
	CALL	PKT
	LD	E,0
	OR	A
	JR	NZ,MM31
	INC	E
MM31:	CALL	PKT
	DEC	D
	LD	A,-1
	CP	D
	JR	NZ,MM32
	DEC	C
	CP	C
	JR	NZ,MM32
MM39:	JR	MM58
MM30:	PUSH	HL
	LD	H,C
	LD	L,D
MM34:	LD	E,0
	CALL	PKT
	INC	D
	JR	Z,MM33
	LD	E,2
	CALL	PKT
	OR	A
	JR	NZ,MM34
MM33:	DEC	D
	LD	A,D
	CP	L
	JR	Z,MM36
	DEC	A
	CP	L
	JR	Z,MM36
	LD	A,H
	LD	E,L
	POP	HL
	CALL	AUSG
	JR	NZ,MM35
	JR	MM32
MM36:	POP	HL
	JR	MM35
;
BUCHI:	LD	D,0		;** I **
	LD	BC,0
MM38:	LD	E,2
	CALL	PKT
	LD	H,A
	LD	A,-1
	SUB	C
	LD	C,A
	CALL	PKT
	LD	L,A
	LD	E,H
	CALL	PKT
	LD	A,-1
	SUB	C
	LD	C,A
	LD	E,L
	CALL	PKT
	INC	C
	LD	A,080H
	CP	C
	JR	NZ,MM38
	INC	D
	LD	C,0
	JR	NZ,MM38
	JR	MM39
;
BUCHZ:	CALL	MMS		;** Z **
MM41:	LD	E,2
	CALL	PKT
	OR	A
	JR	NZ,MM40
	LD	E,1
	CALL	PKT
MM45:	INC	D
	JR	NZ,MM41
	INC	C
	JR	NZ,MM41
MM44:	JP	MM42
MM40:	PUSH	HL
	LD	H,C
	LD	L,D
	LD	E,0
	CALL	PKT
	INC	D
	JR	Z,MM43
	LD	E,2
	CALL	PKT
	OR	A
	JR	Z,MM43
	INC	C
	CALL	PKT
	OR	A
	JR	Z,MM43
	DEC	D
	CALL	PKT
	OR	A
	JR	Z,MM43
	LD	C,H
	LD	D,L
	LD	A,H
	LD	E,L
	POP	HL
	CALL	MM66
	JR	NZ,MM45
	JP	MM32
MM43:	LD	C,H
	LD	D,L
	POP	HL
	JR	MM45
;
BUCHU:	LD	HL,PIX		;** U **
	LD	A,AHIL4
MM46:	LD	(HL),0
	INC	HL
	CP	H
	JR	NZ,MM46
	JP	ANF
;
BUCHQ:	CALL	PLATZ		;** Q **
	LD	D,C
	LD	C,B
	LD	B,0
M555:	CALL	KURSO
	LD	E,1
	CP	LIH
	JR	Z,LLG
	CP	REH
	JR	Z,RRG
	CP	UNV
	JR	Z,UUG
	CP	OBV
	JR	Z,OOG
	CP	LUS
	JR	Z,LLU
	CP	LOS
	JR	Z,LLO
	CP	ROS
	JR	Z,RRO
	CP	RUS
	JR	Z,RRU
	DEC	E
	CP	SLIH
	JR	Z,LLG
	CP	SREH
	JR	Z,RRG
	CP	SUNV
	JR	Z,UUG
	CP	SOBV
	JR	Z,OOG
	CP	SLUS
	JR	Z,LLU
	CP	SLOS
	JR	Z,LLO
	CP	SROS
	JR	Z,RRO
	CP	SRUS
	JR	Z,RRU
	CP	'E'
	JP	Z,MM58
	JR	M555
LLG:	CALL	PKT
	DEC	C
	JR	M555
RRG:	CALL	PKT
	INC	C
	JR	M555
UUG:	CALL	PKT
	DEC	D
	JR	M555
OOG:	CALL	PKT
	INC	D
	JR	M555
LLU:	CALL	PKT
	DEC	C
	DEC	D
	JR	M555
LLO:	CALL	PKT
	INC	D
	DEC	C
	JR	M555
RRO:	CALL	PKT
	INC	D
	INC	C
	JR	M555
RRU:	CALL	PKT
	INC	C
	DEC	D
	JP	M555
;
BUCHP:	CALL	PV1		;** P **
	DB	KBD
	CP	0DH
	JR	Z,MBP1
	CALL	PV1
	DB	CRT
	JR	BUCHP
MBP1:	LD	BC,020CH
	LD	HL,INTAB
	OTIR
	LD	BC,060AH
	OTIR
	EI
	LD	B,7
MBP2:	LD	A,(HL)
	INC	HL
	CALL	AUSDR
	DJNZ	MBP2
	LD	DE,0FF02H
	LD	B,8
	LD	HL,TAB1
MBP3:	LD	A,(HL)
	CALL	AUSDR
	INC	HL
	DJNZ	MBP3
	LD	HL,TAB4
	LD	B,4
MBP4:	LD	A,(HL)
	CALL	AUSDR
	INC	HL
	DJNZ	MBP4
MBP10:	LD	BC,0
MBP8:	LD	H,0
	CALL	PKT
	OR	A
	JR	Z,MBP5
	LD	A,H
	ADD	060H
	LD	H,A
MBP5:	DEC	D
	CALL	PKT
	OR	A
	JR	Z,MBP6
	LD	A,H
	ADD	018H
	LD	H,A
MBP6:	DEC	D
	CALL	PKT
	OR	A
	JR	Z,MBP7
	LD	A,H
	ADD	6
	LD	H,A
MBP7:	LD	A,H
	CALL	AUSDR
	LD	A,B
	OR	A
	JR	NZ,MBP12
	LD	A,H
	CALL	AUSDR
MBP12:	INC	D
	INC	D
	INC	BC
	LD	HL,013FH
	XOR	A
	SBC	HL,BC
	JR	NC,MBP8
	LD	B,0EH
	LD	HL,TAB2
MBP11	LD	A,(HL)
	CALL	AUSDR
	INC	HL
	DJNZ	MBP11
	LD	A,-1
	DEC	D
	CP	D
	JR	Z,MBP9
	DEC	D
	CP	D
	JR	Z,MBP9
	DEC	D
	CP	D
	JR	NZ,MBP10
MBP9:	JP	ANF
;
AUSDR:	PUSH	AF
DR2:	IN	A,(0AH)
	BIT	2,A
	JR	NZ,DR1
	CALL	PV1
	DB	0CH
	JR	NC,DR2
	POP	AF
	POP	HL
	JP	ERROR
DR1:	POP	AF
	OUT	(8),A
	RET
;-----------------------
INTAB:	DB	7
	DB	92
	DB	4
	DB	7
	DB	3
	DB	61H
	DB	5
	DB	2AH
	DB	1BH
	DB	5BH
	DB	30H
	DB	20H
	DB	4BH
 
TAB1:	DB	0DH
	DB	0AH
	DB	7FH
	DB	1BH
	DB	5BH
	DB	30H
	DB	31H
	DB	61H
 
TAB2:	DB	1BH
	DB	5BH
	DB	30H
	DB	31H
	DB	65H
	DB	1BH
	DB	5BH
	DB	37H
	DB	38H
	DB	71H
 
TAB4:	DB	1BH
	DB	4BH
	DB	40H
	DB	2
;
;
;***************************************
;
;	ZEIGERTABELLE
;
;***************************************
;
;
TAB:	DW	BUCHA
	DW	BUCHB
	DW	END
	DW	BUCHD
	DW	BUCHE
	DW	BUCHF
	DW	BUCHG
	DW	BUCHH
	DW	BUCHI
	DW	ERROR
	DW	BUCHK
	DW	BUCHL
	DW	BUCHM
	DW	ERROR
	DW	ERROR
	DW	BUCHP
	DW	BUCHQ
	DW	BUCHR
	DW	BUCHS
	DW	BUCHT
	DW	BUCHU
	DW	ERROR
	DW	BUCHW
	DW	BUCHX
	DW	BUCHY
	DW	BUCHZ
*	
TAB:&	
TAB4:	
TAB2:	
TAB1:	
INTAB:	
DUCHS
	DW	BUCHT
	DW	BUCHU
	DW	ERROR
	DW	BUCHW
	DW	BUCHX
	DW	BUCHY
	DW	BUCHZ
*	
TAB:&	
TAB4:	
TAB2:	
TAB1:	
INTAB:	
D