************************************************
* * * 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 ************************************************************************** |