************************************************
*                         *
*      Bildschirm-Steuerzeichen abblocken      *
*                                        *
*       Léuft auf dem Schneider-CPC 464        *
*                                              *
************************************************


TPA EQU 0100H ; Beginn der TPA unter CP/M
BDOS EQU 5 ; Einsprung ins BDOS
OUTPUT$ EQU 9 ; Stringausgabe-Routine
STACK EQU 0100H ; Z80-Stack
WARM EQU 0 ; Warmstart

ORG TPA ; Adre~zeiger auf TPA

SET$SP  LXI     SP,STACK ; Stackpointer setzen

START   LXI D,MESSAGE ; Zeiger auf Ausgabetext
MVI C,OUTPUT$ ; Stringausgabe - Funktion 9
CALL    BDOS ; BDOS anspringen

MOVE LXI H,TABLE ; HL = Tabelle, aus der kopiert wird
LXI D,0B2C3H ; DE = Tabelle, in die kopiert wird
LXI B,32*3 ; BC = Lénge der Tabelle in Bytes
DB 0EDH,0B0H ; Entspricht dem Z80-Befehl LDIR
JMP WARM ; Warmstart

******* Benutzerinformationen ********************************************

MESSAGE DB      'CTLOFF - Alle Bildschirm-Steuerzeichen '
DB 13,10
DB 'ausser BS, DEL, CR und LF werden abgeblockt.'
DB      13,10,10,'$'

******* Steuercode-Tabelle ***********************************************

TABLE DB 00H ; ASCII 0  (Unwirksam)
DW 14E2H
DB 00H   ; ASCII 1  (TXT WR CHAR, entféllt)
DW 14E2H
DB 00H ; ASCII 2  (CURSOR 0, entféllt)
DW 14E2H
DB 00H ; ASCII 3  (CURSOR 1, entféllt)
DW 14E2H
DB 00H ; ASCII 4  (MODE, entféllt)
DW 14E2H
DB 00H ; ASCII 5  (GRA WR CHAR, entféllt)
DW 14E2H
DB 00H ; ASCII 6  (Text-VDU einschalten, entféllt)
DW 14E2H
DB 00H ; ASCII 7  (BELL, entféllt)
DW 14E2H
X1      DB 00H ; ASCII 8  (Backspace)
DW 150AH
DB 00H ; ASCII 9  (TAB, entféllt)
DW 14E2H
X2 DB 00H ; ASCII 10 (Line-Feed)
DW 1514H
DB 00H ; ASCII 11 (VTAB, entféllt)
DW 14E2H
DB 00H ; ASCII 12 (CLS, entféllt)
DW 14E2H
X3 DB 00H ; ASCII 13 (Carriage Return)
DW 1530H
DB 00H ; ASCII 14 (PAPER, entféllt)
DW 14E2H
DB 00H ; ASCII 15 (PEN, entféllt)
DW 14E2H
DB 00H ; ASCII 16 (Zeichen lůschen -1-, entféllt)
DW 14E2H
DB 00H ; ASCII 17 (Zeichen lůschen -2-, entféllt)
DW 14E2H
DB 00H ; ASCII 18 (Zeichen lůschen -3-, entféllt)
DW 14E2H
DB 00H ; ASCII 19 (Zeichen lůschen -4-, entféllt)
DW 14E2H
DB 00H ; ASCII 20 (Zeichen lůschen -5-, entféllt)
DW 14E2H
  DB 00H ; ASCII 21 (Textbildschirm aus, entféllt)
DW 14E2H
  DB 00H ; ASCII 22 (Transparent an/aus, entféllt)
DW 14E2H
  DB 00H ; ASCII 23 (Grafikpen-Modus, entféllt)
DW 14E2H
  DB 00H ; ASCII 24 (Invers an/aus, entféllt)
DW 14E2H
  DB 00H ; ASCII 25 (SYMBOL, entféllt)
DW 14E2H
  DB 00H ; ASCII 26 (WINDOW, entféllt)
DW 14E2H
  DB 00H ; ASCII 27 (ESC, entféllt)
DW 14E2H
  DB 00H ; ASCII 28 (INK, entféllt)
DW 14E2H
  DB 00H ; ASCII 29 (BORDER, entféllt)
DW 14E2H
  DB 00H ; ASCII 30 (LOCATE 1,1, entféllt)
DW 14E2H
  DB 00H ; ASCII 31 (LOCATE, entféllt)
DW 14E2H
END

**************************************************************************