★ APPLICATIONS ★ DIVERS ★ SCHNELLERE ZEICHENAUSGABE UND BESSERER CP/M-EDITOR (SCHNEIDER MAGAZIN) ★ |
Schnellere Zeichenausgabe und besserer CP/M-Editor (Schneider Magazin) | Applications Divers |
CPMPATCH.BAS patched Ihre CP/M-2.2-System-diskette so, daß man eine schnellere Zeichenausgabe erreicht und statt des CP/M- den Basic-Editor benutzen kann. Das gepatchte CP/M läuft auf dem CPC 464 und dem CPC 6128. Natürlich sollten Sie nicht Ihre Originalsystemdiskette verwenden. Diese beiden Patches beseitigen die meiner Meinung nach gravierendsten Nachteile von CP/M 2.2 bei den CPCs, nämlich die langsame Zeichenausgabe und den unkomfortablen Editor. Diese Idee kam mir, als ich mit SETUP experimentierte und immer wieder nur leicht veränderte ellenlange Sign-on-Strings eingeben mußte, die ich unter Basic mit dem Copycursor kopiert hätte. Der Editor-Patch Der CP/M-Editor (BDOS 10) wird durch den Basic-Editor mit allen Annehmlichkeiten ersetzt. Zu nennen sind hier Copycursor, Einfügen von Zeichen, CLR usw. CP/M-Steuerzeichen funktionieren mit Ausnahme von CTRL-P und CTRL-C nicht mehr. Dafür läßt sich im DOS z.B. mit der Tastenkombination CTRL-X-ENTER inverse Schrift ein- und wieder ausschalten. Gebootet wird mit CTRL-C oder ESC. Dies ist im Gegensatz zu BDOS 10 nicht nur bei der ersten Stelle im Buffer möglich. Wie in Basic wird beim Abbruch die *Break*-Meldung ausgegeben. CTRL-P schaltet den Drucker an und aus. Die beim Editor eingegebenen Zeichen werden allerdings nicht mitprotokolliert. Auch die Eingabebegrenzung funktioniert nicht mehr, da der Basic-Editor immer bis zu 255 Zeichen annimmt und einen Abschluß durch ENTER oder ESC erwartet. Ich habe dieses Problem so gelöst, daß die Eingabe erst einmal in einen Puffer (die Tonhüllkurven) kommt. Daraus wird dann die benötigte Zeichenanzahl entnommen. Der Patch für BDOS 10 belegt dessen Speicherbereich (ab &A0E1), ist aber kürzer. Der Copycursor vereinfacht die tägliche Arbeit mit PIP, DDT oder anderen Dienstprogrammen beträchtlich. Die schnellere Zeichenausgabe Der zweite Patch beschleunigt die Zeichenausgabe um fast 60 %. Dumpen Sie, um den Unterschied festzustellen, einmal einen Speicherbereich mit DDT. Die Zeichenausgabe funktioniert jetzt allerdings nur noch in MODE 2; bei den anderen Modi ist auf dem Bildschirm nichts mehr zu erkennen. Dies dürfte aber nur für ”Dr. Logo” von Bedeutung sein. Außerdem können keine benutzerdefinierten Zeichen mehr ausgegeben werden. Dies ist aber unter CP/M 2.2 sowieso nicht möglich. Erreicht wird die Geschwindigkeitssteigerung durch einen Ersatz für TXT WRITE CHAR, der den Speicherbereich der Basic-Vektoren (ab &BD83) belegt, die unter CP/M im allgemeinen nicht benötigt werden. Ich wage zu behaupten, daß eine noch schnellere TXT-WRITE-CHAR-Routine, die auch inverse Schrift beherrscht, nicht möglich ist. Eine interessante Aufgabe für Hardwarefreaks wäre es natürlich auch, den Videocontroller ein Character-ROM (oder -RAM) unter Umgehung des Gate-Arrays ansprechen zu lassen. Genauere Einzelheiten entnehmen Sie bitte den Assemblerlistings. Starten Sie das Programm CPMPATCH.BAS. Es installiert auf Wunsch beide oder auch nur einen der Patches. Es verändert eine Kopie Ihrer Systemdiskette so, daß die Patches automatisch beim Booten eingerichtet werden. Wenn Sie eine unveränderte Systemdiskette einlegen und mit CTRL-C einen Warm-Boot einleiten, wird wieder der normale Editor geladen. Ich hoffe, daß diese Patches Ihnen die Arbeit mit CP/M erleichtern. Assembler-Kundige können die schnelle Zeichenausgabe in einem anderen Speicherbereich auch unter AMSDOS verwenden. So ist z.B. beim Auflisten eines Basic-Programms bei schnellerer Zeichenausgabe das Mitlesen nicht mehr möglich. Jürgen Weber , Schneider Magazin
|