MAGICREATOR
Das ist garantiert jedem Assembler-Freak schon einmal passiert: Man besitzt
eine Utility-Sammlung in Maschinensprache, aus der einige Programme bestimmt in eine Sparte ( z. B. Grafik) passen. Dabei treten zwei Probleme unter
Garantie auf: Erstens ist kein Gehirn so
stark, daß es sich alle SYSbzw. USR-Aufruf- Adressen aller Routinen merken
kann. Zweitens beginnen in den
meisten fällen mehrere Programme an der
gleichen Adresse oder überschneiden sich
zumindest.
Also geht es nicht ohne Probleme, alle
einzelnen Routinen einfach zusammen abzuspeichern, um sie wenigstens
einmal als ein File auf der Diskette zu
haben. Einem leidgeplagten Freak bleibt
nun nur noch die Möglichkeit, alle
Programme an den neuen Speicherbereich anzupassen. Na dann viel Spaß . . . !
Halt! Spätestens hier sollten Sie
aufhorchen! Wie wäre es, wenn ein Programm für Sie die Routinen in den neuen
Bereich verschiebt, ohne ein Byte
Speicherplatz zu verschleudern, und
gleich dazu das besagte SYS/ USR-Problem
löst? Wäre das nicht spitze? Dann sind
Sie bei uns genau richtig, denn
MagiCreator kittet Ihre Routinen
zusammen und generiert als kleines
Bonbon auch gleich noch eine
Befehlserweiterung dazu. Das heißt, daß
endlich solche Befehle wie SYS49152,1, A$ wegfallen und durch GRAPH 1, A$ ersetzt
werden.
Zum Programm:
MagiCREATOR bietet die Möglichkeit, während des Generierungsvorganges ein
Protokoll zu nehmen, also alle Schritte
festzuhalten, und sie nachher auf dem Bildschirm und/ oder einem Drucker
auszugeben. Dies sollten Sie übrigens
bei jeder größeren Sitzung machen, da
Sie ansonsten leicht den Überblick über
Ihre Befehle verlieren.
Nach dem Start von MC fragt Sie der
Rechner, ob ein Protokoll angefertigt
werden soll. Wenn nein, geht' s gleich
richtig los, wenn ja, müssen Sie noch
einige Daten eingeben, die auf den
Programmablauf keinen Einfluß haben, allerdings aus verständlichen Gründen
ins Protokoll mit aufgenommen werden
müssen, um es übersichtlicher zu gestalten. Darunter fällt unter anderem
der Name der späteren Erweiterung und
das aktuelle Datum.
Als nächstes geben Sie bitte die Anzahl
der Routinen ein, die in die
Befehlserweiterung integriert werden
sollen.
Damit das Ganze später auch richtig
professionell aussieht, können Sie den
Text, der nach dem Start Ihrer
Erweiterung erscheinen soll, festlegen.
Kommen wir nun zur Erweiterung an sich:
Es sind drei Adressbereiche vorhanden, in denen die Erweiterung liegen kann:
$6000-$7 fff,$8000-$9 fff und
$ c000-$ cfff. Letzterer bietet sich
besonders an, wenn Sie nicht allzu viele
Routinen zusammenfügen wollen. Es
empfiehlt sich nicht, den Bereich ab
$6000 zu wählen, wenn die einzubindende
Routine mehr als 10 Blocks benötigt.
Haben Sie nicht viele, aber auch nicht
wenige Routinen zu bearbeiten, so sind
Sie mit $8000-$9 fff sehr gut bedient, denn dann stehen Ihnen fast 7 Kbyte zur
Verfügung.
Wenn Sie Ihre Auswahl getroffen haben, müssen Sie sich ungefähr 15 Sekunden gedulden, die der Rechner für interne
Berechnungen und Anpassungen benötigt.
Als nächstes folgt der Hauptteil des
Programmes: Das Einbinden der Befehle!
Dazu zeigt Ihnen MC zunächst den
verbleibenden Platz für Routinen und
Befehlsnamen in Byte an. Wird der Platz
knapp, so färben sich die Zahlen
dunkelrot, und es wird kritisch, eine
weitere Routine in den Speicher zu
legen.
Nun geben Sie den Namen ein, unter
welchem Sie den Befehl von nun
an aufrufen möchten.
Als nächstes geben Sie die Namen aller
Routinen ein, die in der
Befehlserweiteung vorhanden sein sollen.
Dabei sollten Sie darauf achten, daß
sich alle Routinen als PRG-File
auf einer Diskette befinden.
Jetzt folgt der zeitaufwendigste Teil
des Programms, das Verschieben der
Maschinensprache-Routine in den
passenden Speicherbereich der wachsenden
Erweiterung. Bei Routinen mit ca.1400 Bytes müssen Sie schon mit einer
Wartezeit von ca.6 Minuten rechnen.
Hat das Programm die Verschiebeprozedur
beendet, so fährt es mit dem nächsten
Punkt fort, der Eingabe der
Befehlsnamen. Dies geschieht solange, bis die Anzahl der einzubindenden
Routinen abgearbeitet ist.
Als kleinen Leckerbissen bietet Ihnen
MC die Option an, einen HELP-Befehl in
die Erweiterung einzubauen. Dieser
Befehl bewirkt, daß nach seinem Aufruf
alle vorhandenen Befehle auf dem Bildschirm ausgegeben werden.
Wenn die Erweiterung generiert ist, wird
Sie nach einer Namenseingabe abgespeichert.
----------------------------------------
Hier noch einige Tips zu unserem
Programm MagiCREATOR!
Verwenden Sie z. B. einen Befehl zum EINund einen anderen zum AUSschalten des
Bildschirms, so sollten Sie diese als
OFFSCREEN und ONSCREEN bezeichnen, da
der Rechner, wenn Sie SCREENOFF und
SCREENON verwenden, auf jeden Fall den
ersten Befehl ( SCREENON) anspricht.
Außerdem ist darauf zu achten, daß ein
Befehl ( z. B. : SYS 49152= SET) immer in
dieser Weise aufgerufen wird:
BEFEHL, s, z
Dabei ist besonders das Komma nach
BEFEHL wichtig, damit dieser auch ausgeführt wird.
Selbstverständlich können Sie Ihre
fertig kreierten Werke auch mit einem
einfachen SYS-Befehl aufrufen:
Erweiterung ab: $6000 = SYS 24576 $8000 = SYS 32768 $c000 = SYS 49152
P. S. : c 128- Besizter sind in der Lage
während des Relokatiervorgangs mit "2" in den FAST-Mode zu gelangen, worunter
allerdings die Bildschirmausgabe zu
leiden hat. Mit "1" stufen Sie Ihren
Rechner zurück in den SLOW-Mode.
(om)