Der "B-E-E" (für Basic-Erweiterungen- Editor) ist ein mächtiges Tool zum er- stellen eigener Basic-Erweiterungen. Sie können hierbei sowohl eigene Assembler- routinen 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 er- scheint 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 abbre- chen. Wenn Sie sich bei einer Filena- menabfrage das Inhaltsverzeichnis an- schauen möchten, so geben Sie einfach "$" als Filenamen an. Das Inhaltsver- zeichnis wird daraufhin geladen, und Sie gelangen per Tastendruck wieder zurück zur Filenamen-Eingabe. * Generell sind bei der Eingabe von Zei- chenketten 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 Erwei- terung 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 ab- gelegt werden soll. Mögliche Bereiche sind: 'F1' - $C000-$CFFF (49152-53247 = 4KB) 'F3' - $9000-$9FFF (36864-40959 = 4KB)
'F5' - $8000-$9FFF (32768-40959 = 8KB)
Hierbei hat jeder Bereich seine Vor- und Nachteile. Der erste liegt gänzlich au- ßerhalb des von Basic-Programmen benutz- ten Speichers und kann immer dann ver- wandt werden, wenn sich dort nicht ande- re, externe Assembler-Programme befin- den, die Ihr Programm nutzen soll. Der zweite Bereich kann hierzu als Alterna- tive benutzt werden. Er hat jedoch den Nachteil, daß er die letzten 4KB des Basic-Speichers belegt (geht von $0800- $A000, dez. 2048-40960). Diesen Nachteil hat der dritte und letzte Bereich übri- gens auch, jedoch ist er der einzige Bereich, für den man doppelt soviel Ka- pazität zur Verfügung hat (8KB). Benut- zen Sie ihn, wenn Sie sehr viele, oder lange Befehle in Ihre Basic-Erweiterung einbauen möchten. Liegt eine Erweiterung in einem der letzten beiden Speicherbe- reiche, 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 Va- riablen die Erweiterung überschreiben, so daß diese abstürzt. Als nächstes wird nach der Art, in der die neuen Basic-Befehle aufgerufen wer- den 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 Vor- teil, daß der Basic-Interpreter den Be- fehl schneller erkennt, jedoch auch den Nachteil, daß Sie immer ein Zeichen mehr eingeben müssen. Nun können Sie die Einschaltmeldung edi- tieren, die bei Initialisierung der Er- weiterung 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. Hier- bei können Sie alle gängigen Editierta- sten (Cursortasten, CLR, HOME, INS, DEL) benutzen. Sie haben nun zwei Möglichkei- ten, die Eingabe zu beenden: Drücken Sie 'F1', wenn Sie die Meldung, wie eine Einschaltmeldung ausgegeben haben wol- len, oder 'F3', wenn der eingegebene Text einfach ausgedruckt werden soll. Als nächtes sehen Sie nochmals die Ein- schaltmeldung, 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 Einga- be zurückspringen. DAS HAUPTMENU Nach all diesen Eingaben (oder nach dem Laden einer schon bestehenden Erweite- rung) 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 File- namen der gewünschten Routine einzuge- ben. 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 automa- tisch 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 ver- wenden, sowie Tabellen und Texte an das Ende der Routine legen (diese stellen für den Relokatierer in der Regel ille- gale 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 $AB1E ;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 $C00A ;Zeiger aus Adressie- C003: LDY $C00B ;rung des BIT-Befehls ;laden, C006: JMP $AB1E ;und Text ausgeben C009: BIT $C00C ;BIT-Befehl mit Zeiger ;auf Text ($C00C). C00C: ASC 'Text' ;Daten des Textes Achten Sie bitte auch darauf, daß die Einsprungadresse in die Assembler-Rou- tine immer gleich der Ladeadresse der- selben 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 auf- gerufen werden kann, so müssen Sie diese Parameter später ebenso übergeben wer- den. 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äm- lich auch dann noch erkennt und in spe- zielle 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 Ba- sic-Befehle "PRINT", "NEW" und "CLR" in ihren Namen enthalten. Desweietern kön- nen Sie bei der Eingabe eines Namens maximal 10 Zeichen verwenden. Diese sind auf die Buchstaben und einige Sonderzei- chen begrenzt. Alle nicht erlaubten Zei- chen werden bei der Eingabe ignoriert. Ausserdem müssen Sie bei der Namensver- gabe vorsichtig mit gleichlautenden Be- fehlen sein. Möchten Sie z.B. zwei Be- fehle 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 letzte- ren Art und Weise akzepiert und getrennt erkannt. Das hängt mit der Befehlserken- nung des Basic-Interpreters zusammen. Sollten Sie die erste Reihenfolge ver- wandt haben, so weist Sie die Eingabe- routine 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 au- frufen, 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ückge- kehrt. '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 Sicherheits- abfrage bestätigen um den Vorgang kor- rekt 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 Befeh- le, 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 Grund- parameter 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 Er- weiterung auf Diskette ab. Sie kann von nun an benutzt, oder aber später noch- mals 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 Pro- gramm 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 Erwei- terung in den Speicherbereichen 2 oder 3 (s.o.), so müssen Sie nach Aufruf der Erweiterung den Basic-Befehl "CLR" be- nutzen. 'F8' - BEE BEENDEN Hiermit verlassen Sie den BEE. Bestäti- gen 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. Vor- rausgesetzt, daß Sie zwischenzeitlich nicht ein anderes Programm geladen ha- ben. So wiedergestartet erkennt der BEE eine sich evtl. noch im Speicher befind- liche 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 passie- ren, daß die Erweiterung später ab- stürzt!
(ub)