Quick-Tips

Script-Zeichensätze löschen

Bei nur 1 MB RAM kann der Arbeitsspeicher in Script schon mal knapp werden. Dann heißt es: Gerümpel raus! Zum Beispiel alle nicht benötigten Zeichensätze löschen. Wie ärgerlich, wenn dann die Meldung Font wird noch benötigt erscheint, obwohl man sich sicher ist, keinen Buchstaben dieses Fonts mehr zu benutzen. Aber haben Sie auch alle Kommata, Gedankenstriche und vor allem Spaces überprüft? Folgende Strategie hilft schnell:

  1. Haben Sie mehr als eine Bildschirmdatei offen? Speichern und schließen Sie die nicht benötigten Dateien.
  2. Setzen Sie die Schreibmarke (mit Control und Home) ganz an den Anfang des Textes. Jetzt klicken Sie im Menü Font den Zeichensatz an, den Sie eigentlich löschen wollen. Schreiben Sie ein Wort, z.B. _Test".
  3. Selektieren Sie nun den gesamten Text mit Control und A. Öffnen Sie das Menü Font, halten Sie die linke Shift-Taste gedrückt und klicken Sie auf den Font, den Sie im Text hauptsächlich verwendet haben. Danach löschen Sie das zu Beginn geschriebene Wort.
  4. Kopf- und Fußzeilen werden durch den Font-Wechsel im Haupttext nicht erfaßt! Hier könnte der Font also noch verborgen sein. Wiederholen Sie ggf. die Schritte 2 und 3 für jede Kopf- und/oder Fußzeile.
  5. Läßt sich der Font jetzt immer noch nicht entfernen, kann nur noch etwas im Klemmbrett hängen. Selektieren Sie ein Wort aus dem Haupttext und kopieren Sie es mit Control und C.
  6. Klicken Sie jetzt im Menü Font, während Sie die Control-Taste gedrückt halten, auf den Namen des hartnäckigen Zeichensatzes. Hurra, er ist weg!

Klaus Recke, W-5231 Berod

Alternative Tastenkappen für Mega ST

Die Tastenkappen von IBMkompatiblen PCs oder auch beim Atari TT haben eine Kappenform mit größeren Abständen zwischen den Tastenoberflächen und sind für Schnellschreiber besser geeignet. Da die Tastenkappen der Mega-Tastatur den Cherry-Tasten entsprechen, benötigt man entweder einen Satz Kappen der Firma Cherry oder eine billige (und defekte) Cherry-Tastatur, von der man die Tastenkappen entfernt. Meist passen die ReturnTaste und einige Sonderfunktionstasten (Alternate, Shift) nicht so recht, was aber praktisch keine Einschränkung bedeutet. Für PC-Emulator-Besitzer interessant ist dabei vor allem die Belegung des numerischen Ziffernblockes mit den Tasten für Home, End, Pg Up, Pg Down und den Cursor-Pfeilen. Cherry-kompatible Tastaturen gibt es in Elektronikläden schon für 20 DM. Für den Einkauf einfach eine Taste der Mega ST-Tastatur abziehen und mitnehmen. Seit ca. 1 Jahr habe ich die Tastenkappen einer bei der Firma Völkner erstandenen PC-Tastatur auf meiner Mega ST-Tastatur im Einsatz. Lediglich die Umschalttasten Shift, Control, Alternate, einige Sondertasten wie Tab und Esc sowie Space und Return-Tasten wurden nicht ausgetauscht.
Udo Jendrysiak, W-6500 Mainz 42

Die häufigsten Fehler in GFA-BASIC

Viele Programmierer machen immer wieder die gleichen Fehler in GFA-BASIC. Die Firma GFA Systemtechnik hat uns die wichtigsten Fehler und deren Behebung genannt, so daß auch Sie davon profitieren können.

Frage: Warum funktioniert EXIST() nicht in einem Accessory?
Antwort: Der Befehl EXIST() benötigt die Basepage, die in einem Accessory natürlich nicht vorhanden ist. Lösen läßt sich das Problem, indem man mit FSFIRST() und -NEXT() das Directory nach dem gewünschten Namen untersucht.

Frage: Warum ist der Mauszeiger in einem Compilat nach dem Start eine Biene?
Antwort: GFA-BASIC hängt keinerlei Befehle vor das eigentliche Programm. Dadurch lassen sich auch reine TOSAnwendungen programmieren. Die ersten Befehle in einem GEM-Programm sollten deshalb immer SHOWMOUSE und DEFMOUSE 0 sein. Dadurch werden der Mauszeiger angezeigt und die Pfeilform eingestellt.

Frage: Ausdrücke, die länger als 80 Zeichen sind, werden im Compilat auf dem Bildschirm nicht richtig angezeigt. Alle Zeichen, die über 80 Spalten sind, werden am rechten Bildschirmrand übereinandergeschrieben.
Antwort: Das liegt ebenfalls daran, daß GFA-BASIC keinerlei Befehle vor das eigentliche Programmhängt. Wenn Sie an den Anfang des Programms 'PRINT CHR$(27)+"v";' schreiben, ist auch dieses Problem gelöst.

Frage: In Accessories gibt es immer Probleme mit dem Mauszeiger, wenn die Funktion EVNT_TIMER() benutzt wird.
Antwort: In Accessories darf diese Funktion nicht benutzt werden. Benutzen Sie stattdessen die Funktion EVNT_MESAG(), dann treten keine Probleme auf.

Frage: Im Editor existiert die nützliche Funktion, jedes Zeichen über die ALT-Taste und den Ziffernblock einzugeben. Warum funktioniert das nicht im Compilat?
Antwort: Um diese Funktion einzuschalten, müssen Sie in der Shell oder dem Quelltext selbst die Option 1+ einschalten.

Frage: Bei Diskettenfehlern erscheint im Compilat die Meldung Daten auf Disk X: defekt?..., aber leider kein Mauszeiger. Wie läßt sich das verhindern?
Antwort: Auch hier ist die Option I+ einzuschalten, damit der Mauszeiger bei Betriebssystemmeldungen sichtbar ist.

Und noch ein Hinweis zu den Optionen, die man in der Shell und im Quelltext selbst einstellen kann. Die Optionen (etwa $I+), die man im Quelltext selbst angibt, haben immer Vorrang zu den Optionen, die man in der Shell anwählt. Steht also im Quelltext "$I+" und in der Shell "$I= ", gilt "$I+".
Lars van Straelen, GFA-BASIC Support

1st Trenn und Scrip Trenn

1st Trenn und ScripTrenn sind Accessories, die 1st Wordplus und Script um eine Silbentrennung erweitern. Hier gibt der Programmautor Hinweise zur Textformatierung und nennt einige Kniffe, die nicht in der Anleitung stehen.
Das Silbentrennprogramm für 1 st Wordplus verführt dazu, Absätze öfter umzuformatieren. Manche haben sich gewundert, daß ihr Text anschließend aussah wie Kraut und Rüben. Woran liegt's? Die Return-Taste sollte nur am Absatzende betätigt werden. Außerdem sollte man darauf achten, am Absatzende kein Leerzeichen stehenzulassen. Andernfalls verbindet 1st Wordplus beim Umformatieren diesen Absatz mit dem darauffolgenden. Eine Silbentrennung von Hand mit der Bindestrich-Taste ist nicht zu empfehlen, denn nach einem erneuten Randausgleich können Bindestriche mitten in der Zeile erscheinen. Besser ist es, immer die Trennhilfe zu verwenden. Wörter, die in Klammern stehen oder mit Anführungsstrichen beginnen, bleiben jedoch in 1st Wordplus ungetrennt. Notlösung: das fragliche Sonderzeichen entfernen, Randausgleich und Trennung mit F 10 auslösen und danach das Zeichen wieder einsetzen. 1st Wordplus verlangt beim Schreiben einen eingeschalteten WP-Modus. Wurde das vergessen, läßt sich der Randausgleich nicht betätigen. Dafür ist ein Trick bekannt: WP-Modus nachträglich einschalten und überall ein einzelnes Leerzeichen durch ein Leerzeichen suchen und ersetzen (!).
Die erste Version von 1st Trenn blieb bei Verwendung einer Shell wie z.B. Neodesk, Gemini oder 1st Xtra ausgeschaltet. Mittlerweile ist bei MAXON die Version 1.1 erhältlich, die auch zusammen mit Shells arbeitet.
Viele haben sich bei Ist-Trenn und ScripTrenn so an die Autosave-Einrichtung gewöhnt, daß sie sie regelmäßig nutzen. Allerdings steht sie nach dem Einschalten zunächst auf _aus", muß also jedesmal von Hand eingeschaltet werden. Das läßt sich vereinfachen: Bislang urdokumentiert war die Möglichkeit, durch Umbenennen des Accessories die Autosave-Funktion von Anfang an einzuschalten. Dazu muß
1STTRENN.ACC in
1STTRENS.ACC bzw. S_TRENN.ACC in S TRENNS.ACC
umbenannt werden. Das geht im Desktop über den Menüeintrag zeige Info. Die Autosave-Einrichtung speichert bei Festplattenbetrieb ungefähr nach jedem Absatz. Wem das zu häufig ist, der kann statt Retum die Enter-Taste betätigen. Für die Textverarbeitung macht das keinen Unterschied, doch 1st Trenn und ScripTrenn erkennen diese Taste nicht als Absatzende an.
Oliver Völckers, W-1000 Berlin 12

720 Pixel horizontal

Seit längerem besitze ich einen PC-Speed und habe nun meinen 520 ST mit einer Overscan-Schaltung ausgerüstet, um die Hercules-Grafik darzustellen. Leider hat sich der SM124 bis jetzt aber geweigert, das ganze Bild darzustellen; es blieben immer am linken und rechten Rand weiße Streifen vom Zeilenrücklauf, der zu früh einsetzte. Doch dieses Problem läßt sich lösen. Der Kondensator C713 (0,051 pF) muß durch einen kleineren Wert ersetzt werden. Bei mir haben sich 0,0242 pF (0,022 + 0,0022, auf Spannungsfestigkeit achten!) bewährt. Dadurch steigt aber der Strom und die Spannung durch Q713 (BU 806, handelsüblich), so daß dieser stark gefährdet ist. Er sollte eventuell durch einen ähnlichen, stärkeren Typen (BU 807) ersetzt werden. Ich benutze noch den ursprünglichen Typ, der nun schon seit geraumer Zeit seinen Dienst verrichtet. Eine zu starke Verminderung des Wertes von C713 muß jedoch vermieden werden, da dadurch starke Strom/Spannungsspitzen entstehen, die das Gerät merkbar stärker erwärmen. Der Einbau und das Ausprobieren verschiedener Werte im Betrieb zerstört den BU 806 ziemlich sicher durch die schlagartigen (Ent-)Ladeströme und -spannungen. Durch diesen Umbau läßt sich eine höhere Auflösung des SM124 nutzen, gleichzeitig wird aber der nutzbare Bildbereich etwas vermindert. schwarze Trauerrand wird etwas größer und die Linearität des Bildschirms etwas beeinträchtigt. Nachstellen kann hier nicht mehr viel; bei sind nun alle Trimmer am Anschlag. Das läßt sich jedoch durch die geringen Umbaukosten ertragen.
Roland Kaufmann, W-8 München

Probleme mit ROM-Umrüstung

Nach dem Umrüsten eines Mega 4 vom TOS-ROM in 2 Chips auf eines mit 6 Chips traten ständig nicht erklärbare Abstürze auf, eine Erscheinung, die sich bei der Benutzung des Spectre 128 noch verstärkte. Nachfragen bein einigen Bastlern führten schließlich zum Erfolg.
Durch Austausch von 2 TTL-Bausteinen ließen sich die Probleme dauerhaft beseitigen. Dabei handelt es sich um zwei Chips mit der Typenbezeichnung 74LS373 (es gibt nur 2 im ST). Diese müssen getauscht werden gegen zwei Chips mit der Bezeichnung 74ALS373. Diese Hochleistungschips sind aber nicht überall zu bekommen, man kann es aber ersatzweise auch mit 2 Chips des Typs 74HC373 probieren. Oft sind diese schon leistungsfähig und schnell genug.
Die Probleme traten durch eine zu hohe Belastung des Busses auf. Die neuen Treiberbausteine sind leistungsfähiger als die alten und haben genug Reserven, um die zusätzliche Belastung durch die neuen ROM-Bausteine zu kompensieren. Tip: Beim Umrüsten die neuen Chips sockeln.

Heap und Stack anpassen

Kürzlich las ich im "Modula Marzipan", das Standalone-Modul Heap sei fehlerhaft, denn es stelle nur 10 kB zur Verfügung. Das ist jedoch nur die halbe Wahrheit, denn der Stack ist auch nur 20 kB groß. Dem ist aber abzuhelfen. Ein LPR-Modula-2-Standalone-Programm enthält am Anfang des Programmcodes eine Datenstruktur des Typs ExtInfo aus dem Modul GEMX. Standardmäßig steht dort
branch: 6000H
offset: 001AH
stackSize: 00004E20H= 20000 dez.
heapSize: 00002710H = 10000 dez.
etc.
Mit einem Monitor können Größen für Heap und Stack den eigenen Bedürfnissen an werden (Achtung: Der Programmcode beginnt nicht dem ersten Byte des Pro Files). Im Gegensatz zum Heap wird die Grenze des Stack-Bereichs nicht überwacht, und ein Überschreiten derselben führtzu bombigen Ergebnisse
Max Loder, CH-89068

Farbbandauffrischung

Wer kennt es nicht, wenn beim Ausdruck nur noch graue Schemen auf dem Papier erscheinen? Abhilfe schafft entweder ein neues Farbband oder folgender Trick:
Ich setze auf ein Stück Packpapier nebeneinander zwei große Teller und häufe rechts von ihnen das aus der Cassette gezogene Band. Die Cassette selbst liegt links, so daß sich über den Tellern ein Bandabschnitt befindet. Auf den rechten Teller tropfe ich Stempelkissenfarbe (etwa zehn Tropfen) und vermische sie mit einem Tuschepinsel mit einer gleichen Anzahl von Wassertropfen. Hierauf ziehe ich das Band mit einer Pinzette Stück für Stück einstreichend über den rechten Teller, um es auf dem linken zu häufen. Hier trocknet es in 12 Stunden, wonach es wieder eingespult wird.
Monika Lemke



Aus: ST-Computer 03 / 1991, Seite 161

Links

Copyright-Bestimmungen: siehe Über diese Seite