Magic Disk 64

home to index to text: MD9001-UTILITIES-MAGICREATOR.txt
             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)

Valid HTML 4.0 Transitional Valid CSS!