APPLICATIONSDIVERS ★ BASIC-TOOLS (CPC AMSTRAD INTERNATIONAL) ★

Basic-Tools (CPC Amstrad International)Applications Divers
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Pack your BASIC
Hilfsprogramme für BASIC

Ihr Programm ist zu groß; Sie wollen eine Variable im gesamten BASIC umbenennen; Sie wünschen sich nur einen Befehl pro Zeile und, und, und ... Das sind alles Probleme, die man so mit seinen BASIC-Programmen hat. Aber jetzt gibt es BASIC-TOOLS.

Cliquez sur l'image pour l'agrandir

Mit BASIC-TOOLS wird es möglich, das gerade im Speicher befindliche BASIC-Programm zu bearbeiten und zu beeinflussen. Sie starten BASIC-TOOLS und laden anschließend das zu bearbeitende Programm. Es stehen Ihnen acht RSX-Befehle zur Verfügung. Vor dem Befehl sollte man natürlich den senkrechten Strich (durch SHIFT und Klammeraffe zu erreichen) nicht vergessen. Mit BASIC-TOOL können Sie den Platzbedarf des im Speicher befindlichen BAS IC-Programms verringern und dieses dadurch beschleunigen.

Auch Variablen können Sie komfortabel umbenennen und eine Art "rechten Randausgleich" erzeugen. Geben Sie bei den Befehlen Anfangszeile und Endzeile an, so wird der Befehl in diesem Programmbereich ausgeführt. Werden diese Parameter oder einer der beiden nicht angegeben, wird das ganze Programm ab Anfang beziehungsweise bis zum Ende bearbeitet. Bei einigen Befehlen ist die Angabe von Parametern von Bedeutung, diese Zahlen werte sind aber auch optional, können also weggelassen werden.

Nach der Ausführung des jeweiligen Befehls wird die alte Länge, die neue Länge und der Speichergewinn oder -verlustausgegeben. Das veränderte Programm können Sie jederzeit abspeichern oder starten.

Für das Programm benötigen Sie die beiden Listings BAS-TOOL.BAS und BAS-TOOL.LDR. Tippen Sie diese ab, und retten Sie sie auf Diskette. Nun laden und starten Sie BAS-TOOL.LDR. Dieser Lader legt die Binärdatei BAS-TOOL.BIN auf Ihrer Diskette ab. Diese wird durch BAS-TOOL.BAS in den Speicher geladen und initialisiert.

Folgende RSX-Befehle, die aber leider nur auf dem CPC 6128 funktionieren, stehen Ihnen nun zur Verfügung:

|REMKILL, Parameter, Anfangszeile, Endzeile

Dieser Befehl löscht im angegebenen Programmbereich die Remarks. Wird als Parameter 1 angegeben, so wird jede REM-Zeile auf dem Bildschirm ausgegeben und abgefragl, ob das Remark gelöscht werden soll. Durch Angabe von 0 oder Weglassen des ersten Parameters werden automatisch alle Remarks im Programmbereich gelöscht.

|PACK, Parameter, Anfangszeile, Endzeile

verkürzt oder verlängert, soweit dies möglich ist, jede Zeile auf die im Parameter angegebene Länge. Dabei werden Zeilen zusammengefaßt beziehungsweise neue erzeugt. Setzen Sie im Parameter zum Beispiel eine 1. so werden aus den einzelnen Statements jeder Zeile neue Zeilen gemacht.

In diesem Fall sollte das Programm vor dem Aufruf mit großem Step (etwa 50) renumiert werden. Ist im Parameter eine Zahl größer als 255 angegeben, wird beim Listen der Bereich ab dem 256. Zeichen nicht mehr ausgegeben.

Eine Zeile dieser Art darf nicht mehr editiert werden, da sonst dieser Bereich zerstört wird. Soll eine solche Zeile geändert werden, muß vorher mit PACK und einem Parameter, der kleiner als 256 ist, das Programm wieder zerteilt werden. Eine optimale Verringerung des Speicherbedarfes erzielt man mit einem sehr hohen Parameter (zum Beispiel 30000).

Wird der Parameter ausgelassen, wird das Programm auf 255 Zeichen pro Zeile gepackt. Dies ist die höchstmögliche Anzahl, bei der das Programm noch editierbar ist.

|DATAPACK, Parameter, Anfangszeile, Endzeile

Dieser Befehl hat nur eine Wirkung, wenn vorher PACK aufgerufen wurde. Durch PACK werden unter Umständen mehrere DATA-Zeilen zu einer Zeile zusammengefaßt. DATAPACK löscht das dazwischenliegende Trennzeichen und den DATA-Befehl. Es wird also daraus eine einzige lange DATA-Zeile erzeugt, die aber nicht mehr getrennt werden kann.

|SPACE, Parameter, Anfangszeile, Endzeile

Löscht alle überflüssigen Leerzeichen. Nach dem Aufruf kann

es zu einem "Syntax Error" kommen, der ignoriert werden kann.

|RSX

Dieser Befehl ersetzt im gesamten Programm die RSX- Aufrufe durch CALL-Befehle. Vorher muß die entsprechende Befehlserweiterung jedoch initialisiert sein. Dies kann durch Starten des Programms erreicht werden (meistens wird ein Maschinenprogramm geladen und dieses mit CALL initialisiert).

Man sollte darauf achten, daß HIMEM im Programm durch MEMORY nicht über &8DFF gesetzt wird. In diesem Fall ändern Sie den Wert auf &8DFF. Außerdem sollten Sie das Programm vor der Ausführung eines RSX-Befehls unterbrechen. Dies können Sie zum Beispiel durch Setzen eines END bewirken. In den meisten Fällen müssen Sie nun mit

LOAD"BAS-TOOL.BIN"

diesen Programmteil noch einmal nachladen, da dieser oft durch Erweiterungen überschrieben wird.

Sollten die RSX-Befehle von BASIC-TOOL nicht mehr erkannt werden (Fehlermeldung "Unknown command"), muß jetzt noch eine Neuinitialisierung mit CALL &9700 vorgenommen werden.

Falls aber bekannt ist, daß das geladene Maschinenprogramm BASIC-TOOL.BIN (&9700 bis &A67B) nicht überschrieben hat, kann nun

|RSX

aufgerufen werden.

|VARPACK, Parameter

benennt die Variablen eines Programms um. Wird der Parameter ausgelassen oder 0 angegeben, so werden automatisch alle Variablen des Programms umbenannt, und der Computer bestimmt die neuen Namen. Dies kann auf dem Bildschirm verfolgt werden. Die Werte des Parameters bewirken folgendes:

  1. Bei jeder Variable wird abgefragt, ob diese umbenannt werden soll. Nach dem alten Namen erscheint ein Fragezeichen. Durch RETURN wird die davorstehende Variable geändert.
  2. Bei jeder Variable wird abgefragt, ob der neue Namen durch den Computer oder den Benutzer festgelegt werden soll. Es erscheint ein Größerzeichen und der Cursor. Mit sofortigem bestimmt der Computer den neuen Namen. Ansonsten können Sie den neuen Namen eingeben. Sollte der eingegebene Variablcnname schon benutzt worden sein, wird die Meldung SCHON VORHANDEN, TROTZDEM UMBENENNEN? ausgegeben. Durch Betätigung der -Taste wird die Variable umbenannt. Andernfalls kann der eingegebene Name geändert werden.
  3. Kombination von eins und zwei (nach RETURN beim Fragezeichen folgt der Prompt nebst Cursor)

|VARLIST, Parameter

Gibt eine alphabetische Liste aller Variablen aus. Wurde eine Variable umbenannt, wird daneben der neue Name angeführt. Ist der Bildschirm voll, muß eine Taste gedrückt werden. Parameter 1 bewirkt, daß die Liste auf dem Drucker ausgegeben wird.

|VARREN, neuer Variablenname, alter Variablenname

benennt eine einzelne Variable um. Bei beiden Parametern kann hinter dem Namen ein Postfix (!, % und $) angegeben werden. Dadurch können Sie im Gegensatz zu VARPACK der neuen Variable einen anderen Typ zuordnen. Folgendes Programmbeispiel zeigt deutlich die Auswirkung der Befehle.
Das ursprüngliche Programm:

10 REM Dies ist ein Beispiel fuer eine Speicherplat zVerringerung
20 PRINT "Guten Tag"
30 INPUT "Wie geht es Ihnen";eingabe$
40 READ ver$:IF eingabe$=ver$ THEN 40
50 PRINT "Mir ebenfalls"
60 END
70 DATA gut
80 DATA schlecht

Nach REMKILL und PACK ein Speichergewinn von 80 Byte

10 PRINT "Guten Tag":INPUT "Wie geht es Ihnen ";eingabe$
20 READ VER$:IF eingabe$ ver$ THEN 20
30 PRINT "Mir ebenfalls"": END:DATA gut: DATA schlecht

Nach DATAPACK und SPACE ein Gewinn von 9 Byte:

10 PRINT"Guten Tag":INPUT"Wie geht es Ihnen " ;eingabe$
20 READ ver$:IF eingabe$ var$THEN 20
30 PRINT"Mir ebenfalls":END:DATA gut, schlecht

Nach VARPACK ein Speichergewinn von 14 Byte:

10 PRINT"Guten Tag":INPUT"Wie geht es Ihnen ";a$
20 READ b$:IF a$ b$THEN 20
30 PRINT"Mir ebenfalls":END:DATA gut, schlecht

Schließlich nach PACK mit Parameter = 1:

10 PRINT"Guten Tag"
20 INPUT"Wie geht es Ihnen ";a$
30 READ b$
40 IF a$ b$THEN 30
50 PRINT"Mir ebenfalls"
60 END
70 DATA gut/ schlecht

Christian Böck/jg , CPCAI

★ PUBLISHER: CPC Amstrad International
★ YEARE: 1988 , 1991
★ CONFIG: 64K + AMSDOS
★ LANGUAGE:
★ LiCENCE: LISTING
★ COLLECTION: CPC AMSTRAD INTERNATIONAL 1991
★ AUTHOR: Christian Böck
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Basic-Tool    (CPC  Amstrad  International)    ENGLISHDATE: 2020-04-22
DL: 274
TYPE: ZIP
SiZE: 7Ko
NOTE: 40 Cyls
.HFE: Χ

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Compilation : Soft-Box 2/86
» Applications » Zoomer (CPC Revue)
» Applications » CPCpara
» Applications » 3D Hidden Line Removal Graph
» Applications » DATA-Generator (Schneider Aktiv)
» Applications » M4 Board ROM
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 165 millisecondes et consultée 1695 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.