Magic Disk 64

home to index to text: MD9301-UTILITIES-B.E.E..txt

Der " B-E- E"( für Basic-Erweiterungen- Editor) ist ein mächtiges Tool zum erstellen eigener Basic-Erweiterungen. Sie können hierbei sowohl eigene Assemblerroutinen in eine Erweiterung einbinden, als auch eine Auswahl aus 42 Routinen treffen, die Ihnen der BEE zur Verfügung stellt. Dabei können Sie zwischen drei verschiedenen Speicherbereichen wählen, in denen die Erweiterung abgelegt werden kann, und die Namen aller Befehle selbst definieren.
ALLGEMEINES
* Laden Sie den BEE mit LOAD" B-E- E",8 und starten Sie ihn mit ' RUN' . Es erscheint nun das Titelbild, aus dem Sie mit einem Tastendruck zum eigentlichen Programm gelangen.

* Hinweise zur Eingabe: Wird irgedwo im Programm nach einem Filenamen gefragt, so können Sie die Eingabe desselben durch die Angabe keines Namens abbrechen. Wenn Sie sich bei einer Filenamenabfrage das Inhaltsverzeichnis anschauen möchten, so geben Sie einfach "$" als Filenamen an. Das Inhaltsverzeichnis wird daraufhin geladen, und Sie gelangen per Tastendruck wieder zurück zur Filenamen-Eingabe.

* Generell sind bei der Eingabe von Zeichenketten alle Editiertasten erlaubt.
Sie brechen eine normale Eingabe ( bei Filenamenseingaben nicht!) immer durch Druck auf die ' RUN/ STOP'- Taste ab.

DIE VOREINSTELLUNGEN                    

Nachdem der BEE gestartet wurde, müssen Sie ihm erst einige Fragen beantworten, damit Sie mit ihm arbeiten können.
Zunächst müssen Sie angeben, ob Sie eine neue Erweiterung erstellen, oder aber eine alte Nachladen möchten. Drücken Sie ' F1' für eine neue Basic-Erweiterung, und ' F3' um eine schon bestehende Erweiterung nachzubearbeiten. Hierbei wird nun nach dem Filenamen selbiger gefragt (" Loadname:") . Geben Sie den Namen ein und bestätigen Sie mit ' RETURN' . Die Erweiterung wird geladen und es wird zum Hauptmenu verzweigt.
Wenn Sie eine neue Erweiterung erstellen wollten, so werden Sie nun nach dem Speicherbereich gefragt, in dem sie abgelegt werden soll. Mögliche Bereiche sind:
' F1'-$ C000-$ CFFF (49152-53247=4 KB)' F3'-$9000-$9 FFF (36864-40959=4 KB)

'F5' - $8000-$9FFF (32768-40959 = 8KB)  

Hierbei hat jeder Bereich seine Vorund Nachteile. Der erste liegt gänzlich außerhalb des von Basic-Programmen benutzten Speichers und kann immer dann verwandt werden, wenn sich dort nicht andere, externe Assembler-Programme befinden, die Ihr Programm nutzen soll. Der zweite Bereich kann hierzu als Alternative benutzt werden. Er hat jedoch den Nachteil, daß er die letzten 4 KB des Basic-Speichers belegt ( geht von $0800-$ A000, dez.2048-40960) . Diesen Nachteil hat der dritte und letzte Bereich übrigens auch, jedoch ist er der einzige Bereich, für den man doppelt soviel Kapazität zur Verfügung hat (8 KB) . Benutzen Sie ihn, wenn Sie sehr viele, oder lange Befehle in Ihre Basic-Erweiterung einbauen möchten. Liegt eine Erweiterung in einem der letzten beiden Speicherbereiche, so werden die Basic-Speicher- zeiger bei Aktivierung der Erweiterung automatisch modifiziert. Sie müssen hiernach als aller erstes, noch bevor Sie irgendwelche Variablen definieren, den normalen Basic-Befehl " CLR" in Ihrem Programm verwenden. Andernfalls kann es vorkommen, daß die neu definierten Variablen die Erweiterung überschreiben, so daß diese abstürzt.
Als nächstes wird nach der Art, in der die neuen Basic-Befehle aufgerufen werden sollen, gefragt. Drücken Sie ' F1', so wird ein Befehl an einem einfachen Befehlswort erkannt. Drücken Sie ' F3', so muß jedem erweiterten Befehl ein "<" vorangestellt werden. Das hat den Vorteil, daß der Basic-Interpreter den Befehl schneller erkennt, jedoch auch den Nachteil, daß Sie immer ein Zeichen mehr eingeben müssen.
Nun können Sie die Einschaltmeldung editieren, die bei Initialisierung der Erweiterung ausgegeben wird. Hierzu sehen Sie am oberen Bildschirmrand ein fünf Zeilen großes Fenster, in dem Sie den gewünschten Text eingeben können. Hierbei können Sie alle gängigen Editiertasten ( Cursortasten, CLR, HOME, INS, DEL) benutzen. Sie haben nun zwei Möglichkeiten, die Eingabe zu beenden: Drücken Sie ' F1', wenn Sie die Meldung, wie eine Einschaltmeldung ausgegeben haben wollen, oder ' F3', wenn der eingegebene Text einfach ausgedruckt werden soll.
Als nächtes sehen Sie nochmals die Einschaltmeldung, wie Sie nach dem Start der Erweiterung auf dem Bildschirm zu sehen ist. Sie können sie nun mit ' F1' bestätigen oder aber mit ' F3' zur Eingabe zurückspringen.
DAS HAUPTMENU Nach all diesen Eingaben ( oder nach dem Laden einer schon bestehenden Erweiterung) kommen Sie nun endlich zum Haupt- menu. Hier stehen Ihnen die folgenden Funktionen zur Verfügung:
' F1'- MP-ROUTINE LADEN UND EINBAUEN Hiermit laden Sie eine Assembler-Routine nach, und bauen sie in die Basic-Erwei- terung ein. Wählen Sie den Menupunkt an, so sind Sie dazu aufgefordert den Filenamen der gewünschten Routine einzugeben. Bestätigen Sie die Eingabe mit ' RE-TURN' . Als nächstes müssen Sie noch den Namen des Befehls eingeben. Anschließend wird zum Hauptmenu zurückgekehrt.
Beim Einbinden von eigenen Assembler-Routinen wird die neue Routine automatisch an die neue Speicheradresse in der Erweiterung angepasst. Achten Sie bitte darauf, daß sie auch verträglich für den BEE-Relokatierer ist. So sollten Sie zum Beispiel keine illegalen Op-Codes verwenden, sowie Tabellen und Texte an das Ende der Routine legen ( diese stellen für den Relokatierer in der Regel illegale Op-Codes dar) . Außerdem dürfen nicht die üblichen Zeiger auf interne Daten benutzt werden. Folgende Routine ist also verboten:
C000 : LDA #$07 ; Zeiger auf $ C007 in C002 : LDY #$ C0 ; Akku/ Y-Reg. holen, C004 : JMP $ AB1 E ; und Text ausgeben C007 : ASC ' Text' ; Daten des Textes Die Anpassroutine des BEE erkennt das Laden des Zeigers nicht, da es ja auch einfache Ladebefehle für Register sein könnten. Anstelle dessen sollten Sie folgendermaßen vorgehen:
C000 : LDA $ C00 A ; Zeiger aus Adressie-C003 : LDY $ C00 B ; rung des BIT-Befehls ; laden, C006 : JMP $ AB1 E ; und Text ausgeben C009 : BIT $ C00 C ; BIT-Befehl mit Zeiger ; auf Text ($ C00 C) .
C00 C: ASC ' Text' ; Daten des Textes Achten Sie bitte auch darauf, daß die Einsprungadresse in die Assembler-Rou- tine immer gleich der Ladeadresse derselben ist. Fügen Sie ggf. einen JMP-Befehl auf den wirklichen Einsprung am Anfang der Routine ein. Wenn die Routine mit einem ' SYS' und nachgestellten, durch Komma getrennten, Parametern aufgerufen werden kann, so müssen Sie diese Parameter später ebenso übergeben werden. Der einzige Unterschied ist, daß anstelle des SYS-Befehls der Name des Erweiterungs-Befehls steht.
Bei der Vergabe von Namen für die neuen Befehlle sollten Sie darauf achten, daß Sie keine Namen verwenden, die Teile von normalen Basic-Befehlen enthalten, da der normale Basic-Interpreter diese nämlich auch dann noch erkennt und in spezielle Tokens umwandelt ( weshalb ein solcher Befehl von der Erweiterung nicht mehr erkannt wird) . So sind z. B. die Namen " TURBOPRINT"," NEWNAME" oder " CLRSCR" nicht erlaubt, da sie die Basic- Befehle " PRINT"," NEW" und " CLR" in ihren Namen enthalten. Desweietern können Sie bei der Eingabe eines Namens maximal 10 Zeichen verwenden. Diese sind auf die Buchstaben und einige Sonderzeichen begrenzt. Alle nicht erlaubten Zeichen werden bei der Eingabe ignoriert.
Ausserdem müssen Sie bei der Namensvergabe vorsichtig mit gleichlautenden Befehlen sein. Möchten Sie z. B. zwei Befehle mit den Namen " SPRITE" und " SPRI-TEPOS" definieren, so können Sie dies in den Reihenfolgen " SPRITE - SPRITEPOS" und " SPRITEPOS - SPRITE" tun; jedoch werden diese Befehle nur in der letzteren Art und Weise akzepiert und getrennt erkannt. Das hängt mit der Befehlserkennung des Basic-Interpreters zusammen.
Sollten Sie die erste Reihenfolge verwandt haben, so weist Sie die Eingaberoutine darauf hin, daß Sie den Befehl schon einmal eingaben ( obwohl die Namen nicht identisch sind) .

'F2' - BEFEHL AUS EINER LISTE EINBAUEN  

Mit diesem Menupunkt können Sie eine oder mehrere der 42 schon mitgelieferten zusätzlichen Befehle in Ihre Basic-Erweiterung einbauen. Wenn Sie ihn aufrufen, so sehen Sie eine Liste dieser Befehle. Sie werden nun nach dem Namen des zu übernehmenden Befehls gefragt.
Bei korrekter Eingabe erscheint eine Kurzbeschreibung des Befehls, mit all seinen Parametern. Sie können nun noch einmal den Namen des Befehls bei Bedarf abändern.
' F3'- BEFEHL LÜSCHEN Hiermit löschen Sie einen Befehl, den Sie schon übernommen haben. Geben Sie einfach seinen Namen ein und bestätigen Sie mit ' RETURN' . Existiert der Befehl in Ihrer Erweiterung gar nicht, so wird ohne Änderung zum Hauptmenu zurückgekehrt.
' F4'- ALLE BEFEHLE LÜSCHEN Dieser Menupunkt löscht alle Befehle der aktuellen Erweiterung. Wählen Sie ihn an, so müssen Sie noch eine Sicherheitsabfrage bestätigen um den Vorgang korrekt durchzuführen. Drücken Sie ' F1' zum Löschen, oder ' F3' um zum Hauptmenu zurückzukehren.
' F5'- ALLE BEFEHLE AUFLISTEN Dieser Menupunkt gibt Ihnen alle Befehle, die Sie schon in die Erweiterung übernommen haben, auf dem Bildschirm aus. Drücken Sie irgendeine Taste um zum Hauptmenu zurück zu gelangen.
' F6'- BEE NEU STARTEN Mit diesem Menupunkt kommen Sie nochmals zum Programmanfang zurück, um die Grundparameter einer Erweiterung zu ändern.
Natürlich geht dabei auch die aktuelle Erweiterung verloren. Bestätigen Sie diesen Menupunkt mit ' F1', oder brechen Sie mit ' F3' ab, um zum Hauptmenu zurückzukehren.
' F7'- BASIC-ERWEITERUNG SPEICHERN Hiermit speichern Sie die aktuelle Erweiterung auf Diskette ab. Sie kann von nun an benutzt, oder aber später nochmals geladen und nacheditiert werden.
Geben Sie einfach den Namen ein, den die Erweiterung tragen soll und bestätigen Sie mit ' RETURN' . Um sie zu benutzen müssen Sie sie absolut ( mit ",8,1") in den Rechner laden und mit dem vom Programm gegebenen SYS-Befehl ( je nach Speicherbereich " SYS 32768"," SYS 36864" oder " SYS 49152") initialisieren. Nach dem Laden muß unbedingt der Basic-Befehl " NEW" benutzt werden. Liegt Ihre Erweiterung in den Speicherbereichen 2 oder 3( s. o.), so müssen Sie nach Aufruf der Erweiterung den Basic-Befehl " CLR" benutzen.
' F8'- BEE BEENDEN Hiermit verlassen Sie den BEE. Bestätigen Sie dies mit der ' F1'- Taste. Mit ' F3' kehren Sie zum Hauptmenu zurück.
Haben Sie das Programm verlassen, so können Sie es wieder aufrufen, wenn Sie ' RUN', oder ' SYS 5800' eingeben. Vorrausgesetzt, daß Sie zwischenzeitlich nicht ein anderes Programm geladen haben. So wiedergestartet erkennt der BEE eine sich evtl. noch im Speicher befindliche Basic-Erweiterung und gibt Ihnen die Möglichkeit sie weiter zu editieren (' F1'), oder aber eine neue Erweiterung zu erstellen (' F3') . Im ersten Fall, darf zwischenzeitlich auf gar keinen Umständen etwas in den Speicherbereich der Erweiterung geladen oder geschrieben worden sein, andernfalls kann es passieren, daß die Erweiterung später abstürzt!

                                    (ub)

Valid HTML 4.0 Transitional Valid CSS!