APPLICATIONSDIVERS ★ TOOLBASIC PLUS ★

Toolbasic PlusApplications 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 ★ 

Das Tüpfelchen auf dem »|«

»Toolbasic Plus« ist ein mächtiges Instrument zur Programmentwicklung. Seine neuen Programmstrukturen helfen sowohl dem Neuling als auch den Fans unserer Basic-Erweiterung »Toolbasic« aus der Ausgabe 4/86.

Das Listing des Monats April (Happy-Computer Ausgabe 4/86) war der Auslöser für die Idee, dem Erfolg noch eins draufzusetzen. » Toolbasic Plus« ist aber nicht nur gemeinsam mit »Toolbasic« einzusetzen; es arbeitet auch vollkommen unabhängig. Was bringt es nun an Neuerungen? Die herausragenden Fähigkeiten sind sicher zwei neue Schleifenformen, die das Locomotive-Basic der Schneider CPCs erheblich aufwerten; REPEAT-UNTIL und DO-LOOP. Dazu kommen zwei Befehle, die sonst nur die CPC-Modelle 664 und 6128 besitzen. Mit diesen (|GPEN und |GPAPER) lassen sich jetzt auch auf dem CPC 464 die Hinter- und Vordergrundfarben für Grafikbefehle festlegen. Auch eine Text-Hardcopy, die auf nahezu allen Druckern arbeitet, fehlt nicht. Geradezu fantastisch sind die letzten vier Befehle. |SLOW verlangsamt den Ablauf aller Basic-Programme. Zwar funktioniert das prinzipiell auch bei Maschinencode-Programmen, jedoch gibt es dort Ausnahmen (meist Interrupt-bedingt). IMC erlaubt die Einbindung kleiner Maschinencode-Routinen (maximal 64 Byte Länge) in Basic-Programme ohne Verwendung von DATA-Zeilen. Mit |SWAP tauschen Sie in Zukunft die Inhalte zweier Stringvariablen und vermeiden so — beispielsweise in Sortier-Routinen — die gefürchtete Garbage-Collection. |ACCEPT schließlich ersetzt den unkomfortablen Input-Befehl. Trotz dieser enormen Leistungsfähigkeit bleibt noch genügend Raum im Speicher für zukünftige Erweiterungen, Der Bereich von 9A00 bis 9DFF hex steht zur freien Verfügung.

Wie für alle RSX-Erweiterungen gilt auch hier, daß die neuen Befehle von einem senkrechten Strich angeführt werden müssen. Sie erzeugen ihn durch gleichzeitigen Druck der Tasten SHIFT und @. Hier nun eine ausführliche Erläuterung der Wirkungsweise und Syntax der Befehle:

|SLOW,verzögerung

Dieser Befehl verlangsamt jedes Basic- und fast jedes Maschinencode-Programm. Je höher Sie die Verzögerung wählen (maximal 255), desto langsamer ist der Ablauf. Bei gemeinsamem Einsatz mit »Toolbasic 1.1« darf die größte Verzögerung jedoch nur den Wert 240 erreichen, da diese Erweiterung die Interruptkette verlängert und somit die Geschwindigkeit drosselt. |SLOW, 230

|MC,wertl,... ,wert32

ruft eine Maschinencode-Routine von Basic aus auf, wobei das Programm aus den 32 Werten hinter dem Kommando besteht und maximal 64 Byte lang sein darf (je-der Wert muß aus zwei Bytes bestehen). Am Ende des Programms muß kein »RET« (C9 hex) stehen, |MC,&3e4l,&cd5a,&bb00

|GPEN,farbe

setzt die Vordergrundfarbe für den Grafikmodus (ähnlich dem Befehl GRAPHICS PEN beim CPC 664/6128)

|GPAPER,färbe

bestimmt die Hintergrundfarbe für den Grafikmodus (ähnlich GRAPHICS PAPER beim CPC 664/6128).

|LINE,xl,y1,x2 ,y2[, färbe]

zieht eine Linie vom Punkt mit den Koordinaten xl, yl zum Punkt x2, y2 Wahlweise geben Sie die Zeichenfarbe an,

|TEXTCOPY

gibt alle auf dem Bildschirm sichtbaren Zeichen auf den Drucker aus, Die Zeichen dürfen jedoch nur zwischen ASCII 20 und 7f hex Liegen. Inverse Zeichen werden berücksichtigt, Zeichen in anderen Farben jedoch nicht.

|SWAP,@a$,@b$

tauscht die Inhalte zweier Strings miteinander. Dieser Befehl hat den Vorteil, daß kein String-»Müll« auftrift und somit keine Garbage-Collection. Er eignet sich daher besonders für Sortierroutinen.
a$= "hallo":b$= "hello":|SWAP,@a$,@b$

|ACCEPT,window, @vergleich$, lange,@eingabe$

Dieser Befehl ersetzt INPUT vollständig, wobei kerne Cursorbewegungen und Unterbrechungen mehr möglich sind. Außerdem lassen sich die Anzahl der einzugebenden Zeichen und die erlaubten Zeichen vorgeben (vergleich$= "" bedeutet: alle Tasten sind erlaubt). a$=space$(40): b$=".0123456789": |ACCEPT,0,@b$,40,@a$

|REPEAT

beginnt die REPEAT-UNTIL-Schleife

|UNTIL,bedingung

bildet das Ende der REPEAT-UNTIL-Schleife
|REPEAT:|UNTIL,inkey$=" "

Diese Schleife wird bis zum Druck der Leertaste durchlaufen,

10 |REPEAT:x+i:PRINT x
20 |UNTIL,inkey$=" " AND x >200

Diese Schleife arbeitet der Computer mindestens 200 mal ab. Danach können Sie sie mit der Leertaste beenden.

Die REPEAT-UNTIL-Schleife unterscheidet sich von der WHILE-WEND-Schleife dadurch, daß sie mindestens einmal durchlaufen wird» denn die Bedingung steht erst am Ende der Schleife

|REPEAT:|UNTIL,inkey$=" "

entspricht etwa WHILE inkey$< >" ":WEND

|DO

beginnt die DO-LOOP-Schleife.

|LOOP

beendet sie

10 |DO:|LOOP

ist eine Endlosschleife, die nur mit ESC zu verlassen ist.

|EXIT

ist der einzige Weg, die DO-LOOP-Schleife ordnungsgemäß zu verlassen. Sobald der Interpreter ein |EXIT findet, sucht er das Ende der Schleife und fährt dahinter mit der Programm-Abarbeitung fort,

10 |DO:x=x+1
20 IF x > 200 THEN |EXIT
30 PRINT x
40 |LOOP

Mit |EXIT dürfen Sie keinesfalls — wie etwa unter Pascal- eine offene REPEAT-UNTIL-. WHILE-WEND-oder FOR-NEXT-Schleife beenden.

DO-LOOP findet immer dann Verwendung, wenn die Bedingung zur Beendigung weder am Anfang noch am Ende, sondern irgendwo innerhalb der Schleife steht.

Diese neuen Schleifen dienen der Übersichtlichkeit und Vereinfachung von Programmen. Es empfiehlt sich , nie die komplette Schleife in einer Zeile unterzubringen, sondern sie vielmehr auf mehrere zu verteilen und dabei optisch einzurücken:

1 REM beispiel
2 |DO
3 x=x+1+1
4 |REPEAT
5 lUNTIL,INKEY$=" "
6 IF x=10 THEN |EXIT
7 |LOOP
8 END

Da das Programm Maschinencode erzeugt, geben Sie bitte zunächst das komplette Listing ein und speichern es sicherheitshalber. Erst dann wagen Sie sich an den ersten Probelauf. Nach korrekter Eingabe haben Sie dann die Wahl. /Tbolbasic Plus« allein oder gemeinsam mit »Toolbasic 1.1« als Binärdatei speichern zu lassen. Für den späteren Gebrauch benötigen Sie den DATA-Lader nicht mehr Das Laden und Aktivieren erfolgt mit der Befehlsfolge

»MEMORY &95FF: LOAD"tool+.bin" : CALL &9980«

Es wäre schön, wenn möglichst viele CPC-Besitzer diese starke Programmiersprache nicht nur in ihrem »stillen Kämmerlein« verwenden, sondern Ihre Toolbasic-Programme auch uns und somit den anderen Lesern zur Verfügung stellen.

Christian Dötsch/ja HC

★ PUBLISHER: Happy Computer
★ YEAR: 1986
★ CONFIG: AMSDOS + 64K
★ LANGUAGE:
★ LiCENCE: LISTING
★ COLLECTION: HAPPY COMPUTER 1986
★ AUTHOR: Christian Dötsch

 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listings:
» RSX-Toolbasic  Plus    (Happy  Computer)    GERMANDATE: 2020-04-22
DL: 412
TYPE: ZIP
SiZE: 7Ko
NOTE: Uploaded by hERMOL ; 40 Cyls
.HFE: Χ

» RSX-Toolbasic  Plus    (Happy  Computer)    LISTING    GERMANDATE: 2017-03-28
DL: 399
TYPE: PDF
SiZE: 535Ko
NOTE: Uploaded by hERMOL ; 2 pages/PDFlib v1.6

» RSX-Toolbasic  Plus    (Happy  Computer)    LISTING    GERMANDATE: 2017-03-30
DL: 348
TYPE: text
SiZE: 8Ko
NOTE: Uploaded by hERMOL ;

» RSX-Toolbasic  Plus    (Patch  6128)    (Happy  Computer)    LISTING    GERMANDATE: 2017-03-29
DL: 289
TYPE: text
SiZE: 1Ko
NOTE: Uploaded by hERMOL ;

» RSX-Toolbasic  Plus    (Patch  664)    (Happy  Computer)    LISTING    GERMANDATE: 2017-03-29
DL: 288
TYPE: text
SiZE: 1Ko
NOTE: Uploaded by hERMOL ;

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

Lien(s):
» Applications » Ultra-Basic v1
» Applications » 60 Rsx Commands
» Applications » RSX Bank-Dump (Schneider Magazin)
» Applications » RSX Multicolor (Amstrad User)
» Applications » Small GEM (Happy Computer)
» Applications » Profi-RSX 2 (CPC Amstrad International)
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 664 millisecondes et consultée 1457 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.