N CL09
;
; DRUCKERANSTEUERUNG SD 1157 - IFSS
;                    SD 1152 - PIO/1
; MCS 80
;
; DEFINITIONEN
TTX:	DEF	05F59H	;ABARBEITEN STRING-AUSDRUCK
TRM:	DEF	05D7AH	;ABARBEITEN ARITHMETISCHER AUSDRUCK
FKI:	DEF	05B94H	;FESTKOMMAKONVERTIERUNG
;

; REASSEMBLER-LISTEN DRUCKEN
LST:	PUSH	HL	;AKTUELLE ADRESSE RETTEN
	CALL	CE.M3287	;KOMMANDOAUSGABE, PARAMETEREINGABE
	JRNC	LS1-#	;
	CALL	CE.M3B5D	;PROGRAMMLAENGE NACH BC
	POP	HL	;PROGRAMMANFANG
	PUSH	HL	;
	ADD	HL,BC	;PROGRAMMENDE BERECHNEN
LS1:	PUSH	HL	;UND RETTEN
	CALL	INI	;DRUCKER INITIALISIEREN
	CALL	MC.BKL	;KURSORPOSITION NACH DE
	LD	E,000H	;KURSOR AUF 1. SPALTE
	CALL	MC.BKS	;
	LD	B,001H	;KOMMANDOZEILE REGENERIEREN
	LD	L,(IY-02H)	;
	LD	H,(IY-01H)	;
	CALL	CE.M3062	;
LS2:	POP	DE	;ENDEADRESSE
	PUSH	DE	;
	LD	L,(IY-02H)	;AKTUELLE ADRESSE NACH HL
	LD	H,(IY-01H)	;
	SCF		;CY=1
	EX	DE,HL	;AKTUELLE ADR. <-> ENDEADRESSE
	SBC	HL,DE	;TEST: ENDE ERREICHT ?
	JRC	LS7-#	;JA
	CALL	MC.BKL	;BWS-ADRESSE DER 2. SPALTE
	LD	E,001H	;
	CALL	MC.BAD	;
	PUSH	DE	;AUF STACK
	LD	A,03FH	;BWS-ADRESSE DER LETZTEN SPALTE
	OR	E	;
	LD	E,A	;
	EX	DE,HL	;ENDEADRESSE NACH HL
	LD	A,' '	;LETZTES ZEICHEN DER ZEILE
LS3:	CMP	(HL)	;ERMITTELN
	DEC	HL	;
	JRZ	LS3-#	;
	POP	DE	;ANFANGSADRESSE
	XOR	A	;CY=0
	SBC	HL,DE	;ZEILENLAENGE BERECHNEN
	LD	B,L	;ALS ZAEHLER NACH B
	INC	B	;KORREKTUR
	INC	B	;
	EX	DE,HL	;ANFANGSADRESSE NACH HL
LS4:	LD	A,(HL)	;ZEICHEN NACH A
	CALL	DRU	;ZEICHEN DRUCKEN
	INC	HL	;ADRESSE DES NAECHSTEN ZEICHENS
	DJNZ	LS4-#	;ZYKLUS,BIS ALLE ZEICHEN GEDRUCKT
	CALL	DNL	;ZEILENORSCHUB
	LD	A,(RM.DRUCK)	;TEST: ZEILENZAEHLER = 0 ?
	AND	A	;
	JRNZ	LS6-#	;NEIN
	LD	B,007H	;JA, SEIETENVORSCHUB
	LD	A,00AH	;LF AUSGEBEN
LS5:	CALL	DRU	;
	DJNZ	LS5-#	;
	LD	A,041H	;ZAEHLER FUER ZEILEN/SEITE
	LD	(RM.DRUCK),A	;VOREINSTELLEN
LS6:	LD	HL,LS2	;RUECKKEHRADRESSE AUF STACK
	PUSH	HL	;
	LD	B,001H	;
	JMP	CE.M304D	;NAECHSTEN BEFEHL REASSEMBLIEREN
LS7:	CALL	MC.TST	;WARTEN AUF TASTATUREINGABE
	JRZ	LS7-#	;
	CMP	'F'	;TEST: SEITENVORSCHUB ?
	JRNZ	LS9-#	;NEIN
	LD	A,(RM.DRUCK)	;JA, NOCH AUSZUGEBENDER ZEILENWERT
	ADD	007H	;+ UNTERER RAND
	LD	B,A	;ALS ZAEHLER NACH B
	LD	A,00AH	;LF AUSGEBEN
LS8:	CALL	DRU	;
	DJNZ	LS8-#	;
LS9:	POP	HL	;STACKKORREKTUR
	POP	HL	;
	JMP	CE.M306D	;RUECKKEHR
;
; SPEICHERBEREICH AUSLISTEN (DUMP)
; ANFANGADRESSE IN HL, ENDEADRESSE IN DE
DMP:	CALL	INI	;DRUCKER INITIALISIEREN
	LD	A,L	;NAECHST KLEINERE DURCH 16
	AND	0F0H	;TEILBARE ADRESSE BERECHNEN
	LD	L,A	;
	LD	A,E	;NAECHST GROESSERE ADRESSE
	OR	00FH	;BERECHNEN
	LD	E,A	;
	EX	DE,HL	;ENDEADR.-HL, ANFANGSADR.-DE
	SBC	HL,DE	;LAENGE BERECHNEN
	JRC	D12-#	;FEHLER, ENDE </= ANFANG
	LD	B,004H	;LAENGE/16
DM1:	SRL	H	;
	RR	L	;
	DJNZ	DM1-#	;
	EX	DE,HL	;ANFANSADR.-HL, ZEILENANZAHL-DE
	INC	DE	;KORREKTUR DER ZEILENANZAHL
	JR	DM4-#	;
DM2:	DEC	C	;ZAEHLER FUER ZEILENANZAHL/SEITE
	JRNZ	DM6-#	;TEST: = 0 ?, NEIN
	LD	B,005H	;JA, SEITENVORSCHUB
DM3:	CALL	DNL	;
	DJNZ	DM3-#	;
DM4:	PUSH	HL	;REGISTER RETTEN
	LD	HL,TX1	;KOPFTEXT AUSGEBEN
	CALL	TXP	;
	CALL	DNL	;ZEILENVORSCHUB
	LD	B,04AH	;ZEAHLER FUER
	LD	A,'='	;UNTERSTREICHEN
DM5:	CALL	DRU	;
	DJNZ	DM5-#	;
	CALL	DNL	;ZEILENVORSCHUB
	LD	C,65	;ZEILENANZAHL/SEITE
	POP	HL	;AKTUELLE ADRESSE
DM6:	CALL	HDP	;ALS HEX-ZAHL AUSGEBEN
	LD	A,':'	;TRENNZEICHEN
	CALL	DRU	;
	CALL	DLZ	;ZWISCHENRAUM
	CALL	DLZ	;
	LD	B,010H	;ZAEHLER FUER HEX-WERTE/ZEILE
	PUSH	HL	;ZEILENANFANGSADRESSE RETTEN
DM7:	LD	A,(HL)	;BYTE NACH A
	CALL	HBP	;ALS HEX-ZAHL AUSGEBEN
	CALL	DLZ	;ZWISCHENRAUM
	INC	HL	;NAECHSTE ADRESSE
	DJNZ	DM7-#	;ZYKLUS
	LD	B,003H	;ZWISCHENRAUM
DM8:	CALL	DLZ	;
	DJNZ	DM8-#	;
	LD	B,010H	;ZAEHLER FUER ZEICHENWERTE/ZEILE
	POP	HL	;ANFANGSADRESSE DER ZEILE
DM9:	LD	A,(HL)	;BYTE NACH A
	CMP	' '	;TEST: ZEICHEN DARSTELLBAR ?
	JRNC	D10-#	;
	LD	A,'.'	;NEIN, ZEICHEN ALS '.'
D10:	CMP	07FH	;TEST: ZEICHEN DARSTELLBAR ?
	JRC	D11-#	;JA
	LD	A,'.'	;NEIN, ZEICHEN ALS '.'
D11:	CALL	DRU	;ALS TEXTZEICHEN AUSGEBEN
	INC	HL	;NAECHSTE ADRESSE
	DJNZ	DM9-#	;ZYKLUS
	CALL	DNL	;ZEILENVORSCHUB
	DEC	DE	;ZAEHLER ZEILENANZAHL VERMINDERN
	LD	A,E	;TEST: ZAEHLER = 0 ?
	OR	D	;
	JRNZ	DM2-#	;NEIN, ZYKLUS
D12:	CALL	MC.TST	;WARTEN AUF TASTATUREINGABE
	JRZ	D12-#	;
	CMP	'F'	;TEST: SEITENVORSCHUB ?
	JRNZ	D14-#	;NEIN
	LD	A,005H	;UNTERER RAND
	ADD	C	;+ NOCH AUSZUGEBENDE ZEILENANZAHL
	LD	B,A	;PRO ZEILE ALS ZAEHLER NACH B
D13:	CALL	DNL	;ZEILENVORSCHUB
	DJNZ	D13-#	;
D14:	RET		;RUECKKEHR
;
; ZEILENVORSCHUB (NEW LINE)
DNL:	PUSH	AF	;REGISTER RETTEN
	LD	A,00DH	;CR AUSGEBEN
	CALL	DRU	;
	LD	A,00AH	;LF AUSGEBEN
DN1:	CALL	DRU	;
	POP	AF	;REGISTER RUECKSPEICHEN
	RET		;RUECKKEHR
; LEERZEICHEN AUSGEBEN
DLZ:	PUSH	AF	;REGISTER RETTEN
	LD	A,' '	;
	JR	DN1-#	;
; BYTE IN A ALS 2-STELLIGE HEX-ZAHL DRUCKEN
HBP:	PUSH	BC	;REGISTER RETTEN
	LD	B,002H	;ZAEHLER
HB1:	RLCA		;VORDERE TETRADE IN HINTERE
	RLCA		;SCHIEBEN
	RLCA		;
	RLCA		;
	PUSH	AF	;WERT RETTEN
	AND	00FH	;MASKIEREN
	ADD	030H	;KONVERTIERUNG IN HEX-ZAHL
	CMP	03AH	;
	JRC	HB2-#	;
	ADD	007H	;
HB2:	CALL	DRU	;HEX-ZEICHEN AUSGEBEN
	POP	AF	;WERT RUECKSPEICHERN
	DJNZ	HB1-#	;ZYKLUS
	POP	BC	;REGISTER RUECKSPEICHERN
	RET		;RUECKKEHR
; DOPPELBYTE IN HL ALS 4-STELLIGE HEX-ZAHL DRUCKEN
HDP:	PUSH	AF	;REGISTER RETTEN
	LD	A,H	;HOEHERWERTIGES BYTE ALS
	CALL	HBP	;2-STELLIGE HEX-ZAHL DRUCKEN
	LD	A,L	;NIEDERWERTIGES BYTE ALS
	CALL	HBP	;2-STELLIGE HEX-ZAHL DRUCKEN
	POP	AF	;REGISTER RUECKSPEICHERN
	RET		;
; TEXT DRUCKEN (TEXTADRESSE=HL)
TXP:	PUSH	AF	;REGISTER RETTEN
	XOR	A	;TEXTNUMMER = 0
	CALL	TNP	;NUMMERIERTEN TEXT DRUCKEN
	POP	AF	;REGISTER RUECKSPEICHERN
	RET		;RUECKKEHR
; NUMMERIERTEN TEXT DRUCKEN (NUMMER=A, TEXTADRESSE=HL)
TNP:	PUSH	BC	;REGISTER RETTEN
	LD	B,A	;NUMMER ALS ZAEHLER NACH B
	INC	B	;KORREKTUR
TN1:	BIT	7,(HL)	;TEST: KENNZEICHEN TEXTANFANG ?
	INC	HL	;NAECHSTE TEXTADRESSE
	JRZ	TN1-#	;NEIN, ZYKLUS
	DJNZ	TN1-#	;JA, NUMMERIERTEN TEXT SUCHEN
	DEC	HL	;KORREKTUR TEXTADRESSE
TN2:	LD	A,(HL)	;TEXTZEICHEN NACH A
	RES	7,A	;KENNZEICHEN TEXTANFANG RUECKSETZEN
	CALL	DRU	;ZEICHENAUSGABE
	INC	HL	;NAECHSTE TEXTADRESSE
	BIT	7,(HL)	;TEST: NEUER TEXT ?
	JRZ	TN2-#	;NEIN, ZYKLUS
	POP	BC	;JA, REGISTER RUECKSPEICHERN
	RET		;RUECKKEHR
;
; DRUCKEN VON TEXT MITTELS BASIC-PROGRAMM
; (AUFRUF UEBER ZWISCHENKODE)
PRT:	PUSH	IY	;ADRESSE ARBEITSBEREICH NACH HL
	POP	HL	;
	LD	BC,0FEBAH	;PLATZ AUF TEXTPUFFER FREILASSEN
	ADD	HL,BC	;
	LD	C,090H	;
	CALL	TTX	;UP ABARBEITEN STRING AUSDRUCK
	RC		;FEHLERRUECKKEHR
	INC	C	;ZAEHLER FUER TEXTLAENGE
PR1:	DEC	C	;TEST: ZAEHLER = 0 ?
	JRZ	PR2-#	;JA
	LD	A,(HL)	;NEIN, ZEICHEN AUSGEBEN
	CALL	DRU	;
	INC	HL	;ADRESSE NAECHSTES ZEICHEN
	JR	PR1-#	;ZYKLUS
PR2:	DEC	DE	;TEST: KENNZEICHEN ZEILENVORSCHUB
	LD	A,(DE)	;VORHANDEN ?
	INC	DE	;
	CMP	0F9H	;
	RZ		;NEIN, RUECKKEHR
	CALL	DNL	;JA, ZEILENVORSCHUB AUSFUEHREN
	XOR	A	;FEHLERKENNZEICHEN RUECKSETZEN
	RET		;RUECKKEHR
; BREITDRUCK EINSCHALTEN
BDE:	LD	HL,KBS	;ADR. STEUERFOLGE NACH HL
	JR	PR3-#	;
; SCHRAEGDRUCK EINSCHALTEN
SDE:	LD	HL,KSS	;ADR. STEUERFOLGE NACH HL
	JR	PR3-#	;
; NORMALDRUCK EINSCHALTEN
NDE:	LD	HL,KNS	;ADR. STEUERFOLGE NACH HL
PR3:	LD	B,004H	;ZAEHLER FUER STEUERWORTE
PR4:	LD	A,(HL)	;STEUERZEICHEN AUSGEBEN
	CALL	DRU	;
	INC	HL	;ADRESSE NAECHSTES STEUERZEICHEN
	DJNZ	PR4-#	;ZYKLUS
	XOR	A	;FEHLERKENNZEICHEN RUECKSETZEN
	RET		;RUECKKEHR
; TABULATOREN SETZEN
STB:	CALL	TRM	;UP ABARBEITEN ARITHMETISCHER AUSDRUCK
	RC		;FEHLERRUECKKEHR
	CALL	FKI	;UP FESTKOMMAINVERTIERUNG
	LD	B,L	;WERT ALS ZAEHLER NACH B
	DEC	B	;KORREKTUR
	LD	A,00DH	;CR AUSGEBEN
	CALL	DRU	;
	LD	A,' '	;SPACE ENTSPRECHEND TABULATOR-
ST0:	CALL	DRU	;POSITION
	DJNZ	ST0-#	;
	LD	A,01BH	;STEUERFOLGE FUER TABULATORSETZEN (HTS)
	CALL	DRU	;
	LD	A,048H	;
	CALL	DRU	;
	LD	A,00DH	;CR AUSGEBEN
	CALL	DRU	;
	XOR	A	;FEHLERKENNZEICHEN RUECKSETZEN
	RET		;RUECKKEHR
;
; STEUERFUNKTION AUSFUEHREN
DRC:	CALL	TRM	;1. PARAMETER ERMITTELN
	RC		;FEHLER
	CALL	FKI	;IN FESTKOMMA
	LD	A,L	;NACH A
	CMP	01BH	;TEST: < 27 ?
	JRC	DC3-#	;JA
	INC	DE	;NEIN; KOMMA UEBERGEHEN
	PUSH	AF	;1. PARAMETER RETTEN
	LD	A,01BH	;ALLGEMEINE STEUERZEICHEN
	CALL	DRU	;AUSGEBEN
	LD	A,05BH	;
	CALL	DRU	;
	CALL	TRM	;2.PARAMETER ERMITTELN
	JRNC	DC1-#	;KEIN FEHLER
	POP	AF	;STACK KORRIGIEREN
	RET		;FEHLERRUECKKEHR
DC1:	CALL	FKI	;FESTKOMMAKONVERTIERUNG
	XOR	A	;2. PARAMETER ALS BCD-ZAHL IN HL
	PUSH	DE	;
	LD	D,A	;
	LD	B,010H	;
DC2:	ADD	HL,HL	;
	ADC	A	;
	DAA		;
	LD	E,A	;
	LD	A,D	;
	ADC	A	;
	DAA		;
	LD	D,A	;
	LD	A,E	;
	DJNZ	DC2-#	;
	EX	DE,HL	;
	CALL	HDP	;AUSGABE 2. PARAMETER
	POP	DE	;
	POP	AF	;1. PARAMETER ZURUECK
DC3:	DEC	A	;KORREKTUR
	LD	HL,TX0	;ADR. STEUERKODES NACH HL
	CALL	TNP	;AUSGABE
	XOR	A	;FEHLERKENNZEICHEN ZURUECK
	RET		;RUECKKEHR
;
; BASIC PROGRAMMLISTEN DRUCKEN (TEXTADRESSE=DE, ZEICHENANZAHL=A)
LSB:	LD	B,A	;ZEICHENANZAHL ALS ZAEHLER NACH B
LB1:	LD	A,(DE)	;ZEICHEN AUSGEBEN
	CALL	DRU	;
	INC	DE	;ADRESSE NAECHSTES ZEICHEN
	DJNZ	LB1-#	;ZYKLUS
	LD	HL,RM.DRUCK	;ADRESSE ZEILENZAEHLER
	LD	A,(HL)	;TEST: ZEILENZAEHLER = 0 ?
	AND	A	;
	JRNZ	LB3-#	;NEIN
	LD	B,007H	;JA, SEITENVORSCHUB AUSFUEHREN
LB2:	CALL	DNL	;
	DJNZ	LB2-#	;
	LD	(HL),041H	;ZEILENZAEHLER/SEITE VOREISTELLEN
LB3:	XOR	A	;FEHLERKENNZEICHEN RUECKSETZEN
	RET		;RUECKKEHR
;
; UP DRUCK EINES ZEICHENS (ZEICHEN=A)
DRU:	PUSH	HL	;REGISTER RETTEN
	LD	HL,RM.DRUCK+01H	;ADR. ZEICHENZAEHLER/ZEILE NACH HL
	CMP	00DH	;TEST: = CR ?
	JRNZ	NA1-#	;NEIN
	LD	(HL),000H	;JA, ZEICHENZAEHLER RUECKSETZEN
	JR	NA8-#	;ZEICHENAUSGEBE
NA1:	CMP	00AH	;TEST: = LF ?
	JRNZ	NA2-#	;NEIN
	DEC	HL	;JA, ADR. ZEILENZAEHLER
	DEC	(HL)	;ZEILENZAEHLER VERMINDERN
	JR	NA8-#	;ZEICHENAUSGABE
NA2:	CMP	009H	;TEST: = TAB ?
	JRNZ	NA7-#	;NEIN
	PUSH	AF	;JA, REGISTER RETTEN
	PUSH	BC	;
NA3:	INC	(HL)	;ZEICHENZAEHLER ERHOEHEN
	JRZ	NA6-#	;FALL MEHR ALS 256 ZEICHEN/ZEILE
	LD	A,' '	;LEERZEICHEN AUSGEBEN
	CALL	OUT	;
	LD	A,(HL)	;ZEICHENZAEHLER NACH A
	LD	C,A	;BERECHNUNG DES TABULATORWORTES
	LD	B,003H	;
NA4:	SRL	C	;
	DJNZ	NA4-#	;
	INC	HL	;ADRESSE TABULATORREFERENZEN
	ADD	HL,BC	;AKTUELLE ADRESSE BERECHNEN
	AND	007H	;BITPOSITION BESTIMMEN
	INC	A	;
	LD	B,A	;
	LD	A,(HL)	;
NA5:	RLCA		;
	DJNZ	NA5-#	;
	LD	HL,RM.DRUCK+01H	;ADR. ZEICHENZAEHLER/ZEILE
	JRNC	NA3-#	;TEST: TABULATORPOSITION ?, NEIN
NA6:	POP	BC	;JA, REGISTER RUCKSPEICHERN
	POP	AF	;
	JR	NA9-#	;
NA7:	INC	(HL)	;ZEICHENZAEHLER ERHOEHEN
NA8:	CALL	OUT	;ZEICHENAUSGABE
NA9:	POP	HL	;REGISTER RUECKSPEICHERN
	RET		;RUECKKEHR
OUT:	PUSH	AF	;REGISTER RETTEN
OU1:	CALL	MC.TST	;TEST: CNTRL S ?
	CMP	013H	;
	JRNZ	OU3-#	;NEIN
OU2:	CALL	MC.TST	;JA, WARTEN AUF CNTRL Q
	CMP	011H	;
	JRNZ	OU2-#	;
OU3:	IN	IO.LPSIO	;TEST: DC3 VON DRUCKER ?
	CMP	013H	;
	JRNZ	DR1-#	;NEIN
DR0:	IN	IO.LPSIO	;JA, WARTEN AUF DC1 VOM DRUCKER
	CMP	091H	;
	JRNZ	DR0-#	;
DR1:	IN	IO.LPSIO+2	;WARTEN BIS SIO-SENDEPUFFER LEER
	BIT	2,A	;
	JRZ	DR1-#	;
DR3:	IN	IO.LPPIO+2	;WARTEN AUF BEREITSCHAFT
	BIT	1,A	;
	JRZ	DR3-#	;
	IN	IO.LPPIO	;HANDSHAKE STELLEN
	POP	AF	;ZEICHEN ZURUECK
	OUT	IO.LPSIO	;DATENAUSGABE SIO
	OUT	IO.LPPIO	;DATENAUSGABE PIO
	RET		;RUECKKEHR
;
; DRUCKER INITIALISIEREN
INI:	PUSH	AF	;INITIALISIERUNG IFSS
	PUSH	BC	;
	PUSH	HL	;
	LD	HL,DAT	;
	LD	BC,00802H+IO.LPSIO	;
	OTIR		;
	LD	BC,00200H+IO.LPCTC	;
	OTIR		;
	LD	A,07FH	;DRUCKER RUECKSETZEN (DEL)
	OUT	IO.LPSIO	;
	LD	A,08FH	;INITIALISIERUNG PIO-SCHNITTSTELLE
	OUT	IO.LPPIO+1	;
	LD	A,0CFH	;
	OUT	IO.LPPIO+3	;
	LD	A,0FEH	;
	OUT	IO.LPPIO+3	;
	SUB	A	;DRUCKER RUECKSTZEN
	OUT	IO.LPPIO+2	;
	OUT	IO.LPPIO	;
	LD	BC,0	;WARTESCHLEIFE
IN1:	DEC	C	;
	JRNZ	IN1-#	;
	DJNZ	IN1-#	;
	LD	HL,00041H	;ZEILEN- U. SPALTENZAEHLER INITIALISIEREN
	LD	(RM.DRUCK),HL	;
	LD	BC,02080H	;ZAEHLER UND TABULATORREFERENZEN
	LD	HL,RM.DRUCK+02H	;ADR. TABULATORREFERENZEN
IN2:	LD	(HL),C	;STANDARD TABULATORPOSITIONEN
	INC	HL	;DEFINIEREN
	DJNZ	IN2-#	;
	POP	HL	;REGISTER RUECKSPEICHERN
	POP	BC	;
	POP	AF	;
	RET		;
; INITIALISIERUNGSDATEN
DAT:	DB	018H	;
	DB	014H	;
	DB	045H	;
	DB	013H	;
	DB	041H	;
	DB	015H	;
	DB	028H	;
	DB	010H	;
	DB	007H	;
	DB	001H	;
KBS:	DB	01BH	;STEUERFOLGE BREITDRUCK
	DB	05BH	;
	DB	031H	;
	DB	06DH	;
KSS:	DB	01BH	;SCHRAEGDRUCK
	DB	05BH	;
	DB	033H	;
	DB	06DH	;
KNS:	DB	01BH	;NORMALDRUCK
	DB	05BH	;
	DB	030H	;
	DB	06DH	;
TX0:	DB	09BH	; 1 - 10CPI
	DB	'[0 K'	;
	DB	09BH	; 2 - 12CPI
	DB	'[1 K'	;
	DB	09BH	; 3 - 60CPI
	DB	'[6 K'	;
	DB	0A0H	; 4 - SP
	DB	088H	; 5 - BS
	DB	08DH	; 6 - CR
	DB	09BH	; 7 - HTS
	DB	'H'	;
	DB	09BH	; 8 - HTCO
	DB	'[0g'	;
	DB	09BH	; 9 - HTCA
	DB	'[3g'	;
	DB	089H	;10 - HT
	DB	09BH	;11 - 6LPI
	DB	'[0 L'	;
	DB	09BH	;12 - 8LPI
	DB	'[5 L'	;
	DB	09BH	;13 - 24LPI
	DB	'[6 L'	;
	DB	08AH	;14 - LF1
	DB	091H	;15 - LF2
	DB	08CH	;16 - FF1
	DB	093H	;17 - FF2
	DB	09BH	;18 - FTB/KAB
	DB	'4'	;
	DB	09BH	;19 - ZB1/ZLB
	DB	'5'	;
	DB	09BH	;20 - ZB2
	DB	'6'	;
	DB	09BH	;21 - FSB
	DB	'7'	;
	DB	09BH	;22 - SLZE
	DB	'9'	;
	DB	09BH	;23 - SLZA
	DB	'8'	;
	DB	080H	;24 - NOP
	DB	0FFH	;25 - DEL
	DB	094H	;26 - FBU
	DB	0E1H	;27 - HPRV
	DB	0F1H	;28 - HPRR
	DB	0E0H	;29 - HPA
	DB	0E5H	;30 - VPRV1
	DB	0F6H	;31 - VPRV2
	DB	0F5H	;32 - VPRR1
	DB	0F2H	;33 - VPRR2
	DB	0FDH	;34 - LPF1
	DB	0FEH	;35 - LPF2
TX1:	DB	0CCH	;'L'
	DB	'OC    00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F'
	DB	'    0123456789ABCDEF'
	DB	080H	;TEXTENDEKENNZEICHEN
;
	END

