Magic Disk 64

home to index to text: MD8810-UTILITIES-5.1.txt

Auf der Oktoberausgabe der Magic Disk finden Sie die auf den folgenden Seiten beschriebenen Utilities:

⌈––––––––––––––––––––––––––––––––––––––––––––––––––⌉ 
|                                                  | 
| Stix .................................. Seite 02 | 
|                                                  | 
| Uni-Transfere ......................... Seite 03 | 
|                                                  | 
| Ultima Tool ........................... Seite 06 | 
|                                                  | 
| Hack it ............................... Seite 08 | 
|                                                  | 
⌊––––––––––––––––––––––––––––––––––––––––––––––––––⌋ 

Bei den Utilities " Ultima-Tool" und " Uni-Transfere" handelt es sich im Wesentlichen um Maschinenspracheroutinen, die Sie in eigene Programme einbauen können. Hier aber zunächst die Beschreibungen:

                         STIX                        
                         

Bei STIX handelt es sich um ein kleines Demoprogramm, welches bei jedem Tastendruck andere Strichmuster auf den Bildschirm zaubert.
Starten Sie das Programm mit LOAD" STIX. BAS",8 und anschließendem RUN oder direkt aus dem Game-Menü.
Nach dem Programmstart wird die Maschinenroutine " STIX. OBJ" automatisch nachgeladen und das Grafikdemo wird gestartet.
Falls Sie also Ihren Computer einmal nicht brauchen, so starten Sie das STIX-Programm. Den Blockfang kann man als " Alternative zum Aquarium" bezeichnen.

                    UNI-TRANSFERE                    
                    

Bei diesem Programm handelt es sich um eine Maschinenroutine, die es erlaubt, Speicherbereiche im C64 beliebig zu verschieben.
Laden Sie es zunächst mit

LOAD"UNI TRANSFERE",8                                

und starten Sie die Routine mit RUN. Ein Starten aus dem Game-Menü ist ebenfalls möglich.
Kurze Zeit nach dem Start erscheint READY auf dem Bildschirm. Das Maschinenprogramm ist nun an die richtige Stelle im Speicher ( ab Speicherstelle 51200) kopiert und kann wie folgt gestartet werden:

SYS 51200, START, ENDE, ZIEL                         

Für die Worte START, ENDE und ZIEL müssen Sie jeweils Zahlenwerte einsetzen, die folgendes bedeuten:
START und ENDE gibt die erste und letzte Adresse eines zu verschiebenden Bereiches an. Wollen Sie z. B.
den Bildschirminhalt retten, so setzen Sie für START die Zahl 1024 und für ENDE 2023 ein.
ZIEL gibt an, wohin der durch START und ENDE festgelegte Bereich kopiert werden soll. Das kann irgendwo im Speicher sein, zum Beispiel bei 30000 . Als Test schreiben Sie bitte den Bildschirm mit irgendwelchen Zeichen voll. Diese müssen natürlich keinen Sinn ergeben. Der Basic-Befehl LIST tut dafür sehr gute Dienste. Jetzt geben Sie bitte folgende Zeile ein:

SYS 51200,1024,2023,30000                            

Es dauert nur den Bruchteil einer Sekunde, bis READY auf dem Bildschirm erscheint. Der Bildschirminhalt ist jetzt nach 30000 verschoben. Jetzt versuchen Sie, den ursprünglichen Bildschirminhalt zurückzuholen.
Löschen Sie dazu zunächst den Bildschirm durch die Tastenkombination SHIFT+ CLR. Tippen Sie jetzt folgende Zeile:

SYS 51200,30000,31000,1024                           

. . . und schon sind die Zeichen von vorhin wieder zu sehen.
Natürlich können Sie nach obigem Schema auch andere Speicherbereiche verschieben. Das Beispiel mit dem Bildschirmspeicher zeigt aber deutlich die Funktion des Programms. Sicher finden Sie noch weitere sinnvolle Anwendungen für das Programm.
Wenn Sie das Transfere-Programm in eigene Programme einbinden wollen, so hängen Sie einfach Ihr Basic-Programm an das Transfere-Porgramm an. Bei RUN wird dann zunächst das Maschinenprogramm aus den Data-Zeilen nach 51200 kopiert.
Wir wünschen Ihnen viel Spaß beim Speicher verschieben.

                     ULTIMA TOOL                     
                     

Auch ULTIMA TOOL können Sie in eigene Programme einbauen. Starten Sie das Programm aus dem Game-Menü.
Sie können das Programm durch den Basic-Befehl LIST anschauen. Ab Zeile 59 finden Sie eine kleine Demo-Routine, die die Stärken des Programms zeigt.
Durch das schnelle verändern bestimmter Speicherstellen entstehen tolle Effekte, die sich durch Basic niemals realisieren ließen. Erst die Maschinenroutine in den Zeilen 10 bis 58 ermöglicht diese Geschwindigkeiten. Wie bei UNI-TRANSFERE können Sie auch hier die Maschinenroutine in Ihre eigenen Programme einbauen, indem Sie den Programmteil bis Zeile 58 in Ihr eigenes Programm übernehmen.
Und jetzt geht' s ans Experimentieren. Der Befehl für den Effektstart hat folgende Syntax:

SYS 53000,SPEICHERSTELLE,ZEIT,LAENGE,ANFANGSPOSITION 

Probieren Sie etwas mit diesem Befehl herum Hier noch einige Beispiele, die Sie auch im Demoprogramm finden können:
SYS 53000,53280,107,1,9 läßt einen Balken durch den Bildschirmrand laufen.
SYS 53000,53281,3,16,0 malt farbige Streifen in den Bildschirm.
SYS 53000,53270,1,7,200 läßt die Schrift Zickzackförmig verlaufen.
Einen laufenden Effekt unterbrechen Sie jeweils durch Drücken einer beliebigen Taste.

                       HACK IT                       
                       
Programmstart und Installation                       

Legen Sie die Rückseite der Magic Disk ein und laden Sie Hack' it durch den Befehl:
LOAD " HACK*",8,1 oder aus dem Game-Menü wie gewohnt. In jedem Fall startet das Programm automatisch, d. h. auch wenn Sie es nicht aus dem Game-Menü heraus laden, müssen Sie nicht extra RUN eingeben.
Wie bei allen Programmen sollten Sie sich auch hier eine Sicherheitskopie anlegen. Das geht ganz einfach, nämlich direkt mit dem Programm:
Nach dem Programmstart drücken Sie < F1> und der C64 führt einen Reset aus. Geben Sie nun im Direktmudus

                      SYS 40377                      

ein und legen Sie eine Formatierte Diskette in das Laufwerk.
Nach nochmaligem Drücken der RETURN-Taste wird Hack' it auf Diskette abgespeichert.

Arbeiten mit dem Programm                            

Laden Sie die Sicherheitskopie mit LOAD " HACK' IT",8,1 und starten Sie das geladene Programm durch SYS 64738 oder durch Drücken einer eventuell vorhandenen Resettaste.
Nach dem Start befinden Sie sich im Hauptmenü. Dieses Menü kann auch durch Drücken von SHIFT-RESTORE erreicht werden. Das Drücken von COMMODORE-RESTORE bewirkt das Abschalten der Musik beim Einsprung ins Menü. Folgende Tasten sind jetzt mit Funktionen belegt:
< F1>= RESET Sprung ins normale Commodorebetriebssystem < F3>= MONITOR Sprung in den eingebauten Monitor < F5>= FAST-LOADER Aktivierung des Schnelladers < F7>= SAVE $0400 Sprung zu einer speziellen Speicherroutine < F2>= CLEAR RAM Löschen des Basicspeichers < F4>= DIRECTORY Ausgabe des Diskettendirectories< F6>= POKEFINDER Suchen von Pokes in Spielen < F8>= INFOPAGE Anzeige einer Informationsseite Nun folgen die Beschreibungen der einzelnen Befehle und Unterprogramme, die Sie mit den eben beschriebenen Funktionstasten erreichen können.

MONITOR                                              

Mit der Taste < F3> erreichen Sie einen Sprung in einen eingebauten Maschinensprachemonitor. Beim Einsprung in diesen Monitor werden Ihnen neben den üblichen Registermeldungen über den derzeitigen Zustand von Akku, X-, Y-Register und der Prozessorregister auch noch die IRQ und NMI-Vektoren gezeigt.
Alle angezeigten Werte - mit Ausnahme des NMI-Vektors - lassen sich durch überschreiben verändern. Folgende sonstige Befehle wurden in den Monitor integriert:
M ( Memory-Dump) zeigt Ihnen die Speicherbelegung eines bestimmten Bereichs im Speicher des C64 .
Beispiel: M 08012000 zeigt den Bereich von $0801 bis $2000 . Alle Zahlen werden übrigens - wie in Maschinensprache üblich - in hexadezimaler Form ausgegeben.
F ( Fill) füllt einen bestimmten Speicherbereich mit einem bestimmten Wert. Beispiel: F 0400044 F 01 füllt die obersten zwei Zeilen des Bildschirms mit dem Buchstaben A.
C ( Copy) kopiert einen Speicherbereich. Beispiel:
C 0400044 F 0450 kopiert die obersten zwei Bildschirmzeilen zwei Zeilen weiter nach unten.
V ( Verify) vergleicht zwei Speicherbereiche miteinander und gibt diejenigen Adressen aus, die in den beiden Bereichen unterschiedliche Inhalte haben. Beispiel: V 080120004801 vergleicht den Bereich von $0801 bis $2000 mit dem Bereich ab $4801 .
H ( Hunt) sucht nach einer bestimmten Bytefolge. Beispiel: H 08012000010203 sucht den Bereich von $0801 bis $2000 nach der Bytefolge $01,$02,$03 ab.
Auch Texte können so gesucht werden:
H 08012000" abcd" G ( Goto) startet ein Maschinenprogramm. Beispiel:
G C000 startet das Programm ab $ C000 . In Basic wäre das gleichbedeutend mit dem Befehl SYS49152 .
T ( Trace) wirkt wie G, startet also ein Maschinenprogramm ( Beispiel unter " G"), erlaubt aber eine Verfolgung der ausgeführten Befehle.
A ( Assemble) assembliert, d. h. Assemblerquellcode wird in das Zahlenformat umgewandelt und im Speicher abgelegt. Beispiel: A C000 LDA #$08 D ( Disassemble) disassembliert einen besimmtem Speicherbereich. Beispiel: D C000 C100 L ( Load) lädt ein Programm an eine bestimmte, von Ihnen festgelegte Adresse. Beispiel:
L " NAME"08 C000 lädt das Programm " NAME" von Diskette in Laufwerk 8 nach $ C000 . Wird die Angabe der Adresse ( hier: C000) weggelassen, so wird das Programm an die Originaladresse geladen, bei der es auch stand, als es abgespeichert wurde.
S ( Save) speichert einen Bereich auf Diskette ab.
Beispiel: S " NAME"08 C000 C100 speichert ein Programm " NAME" auf Diskette von $ C000 bis $ C100 ab.
P ( Periphery) lenkt die Ausgabe, z. B. eines Memory-Dumps, auf ein anderes Gerät als den Bildschirm um.
Beispiel: P 4 aktiviert für alle folgenden Ausgaben den Drucker als Ausgabegerät.
O ( Off) schaltet ein durch P angesprochenes Gerät wieder aus. Dieser Befehl entspricht in Basic etwa den Befehlen PRINT#1 : CLOSE1 $( Directory) zeigt das Inhaltsverzeichnis der Diskette.
@( Errorchannel) gibt den Fehlerkanal der Floppy aus.
X ( eXit) verläßt den Monitor. Nach Eingabe von X können Sie zwischen Rücksprung ins Menü und Einsprung in Basic wählen.
Das Programm belegt die Speicherbereiche von $8000 bis $9 FFF und $ B000 bis $ BFFF. In diesen Bereichen sollten Sie mit dem Monitor besser keine Veränderungen vornehmen, da es sonst leicht zu einem Absturz kommen kann. Beim Laden von Programmen mit dem Monitor werden sowohl Anfangsund Endadresse des geladenen Bereichs als auch der Fehlerkanal ausgegeben.
Beim Speichern wird nur der Fehlerkanal angezeigt.
Bei den Befehlen M und D wird die Funktionstaste < F1> mit einer NO SCROLL-Funktion belegt. Durch Drücken dieser Taste können Sie eine Ausgabe jederzeit " einfrieren" und durch nochmaliges Drücken fortsetzen.
Nun aber weiter mit den Befehlsbeschreibungen:

FAST LOAD SYSTEM                                     

Mit < F5> wird ein Floppyspeeder aktiviert. Dieser meldet sich mit FAST LOAD SYSTEM ENABLED.

SAVE $0400                                           

Diese Option ermöglicht es Ihnen, ein im Speicher befindliches Programm und eine Vorspannseite zusammen abzuspeichern. Vorher können Sie diese Vorspannseite noch kreieren. Der Editiervorgang läuft im normalen Basic ab. Es darf also nie RETURN gedrückt werden, da es sonst zu Fehlermeldungen kommen kann. Ein Ersatz für RETURN ist z. B. SHIFT-RETURN.
Ausserdem haben beim Editieren dieser Vorspannseite folgende Tasten Sonderfunktionen:

<F1> Abspeichern von Vorspann und Programm           
<F3> löscht die aktuelle Bildschirmzeile             
<F5> Einschalten der Musik                           
<F7> Ausschalten der Musik                           

Um das abgespeicherte Programm zu aktivieren, muß folgende Basiczeile abgespeichert werden. Z. B. Programmname ist " TESTPROGRAMM" :
Eingabe der Basiczeile:10 LOAD " TS",8,1 Abspeichern unter Name: SAVE " TESTPROGRAMM",8 Zur Aktivierung wird " TESTPROGRAMM" geladen, welches dann das eigentliche Programm " TS" nachlädt.

POKEFINDER                                           

Dieser Programmpunkt dient dazu, bei einem Spiel den Befehl herauszufinden, der die Anzahl Ihrer Schiffe, Männchen, Flugzeuge etc. begrenzt.
Das Spiel muß sich im Speicher befinden, wenn der POKEFINDER aktiviert wird. Nach Erscheinen der Kopfzeile werden Sie aufgefordert, die Anzahl der Leben einzugeben, die einem das Spiel normalerweise zur Verfügung stellt. Danach werden automatisch die in Frage kommenden Speicherzellen und deren Inhalte ausgegeben. Mit dem Monitor können Sie nun versuchen, diese Werte zu ändern.

INFOPAGE                                             

Nach Betätigung der Taste < F8> wird eine Infoseite ausgegeben. Diese enthält Informationen wie IRQ-Vek- tor, LOAD-Vektor etc. Beispiel:
Ein Zeichensatz auf $2000( dezimal 8192) wird mit POKE 53272,24 aktiviert. Der unter $ D018 beschriebene Wert (24) gibt Ihnen nun Auskunft über den Anfang der Daten des Zeichensatzes (24 :$2000,29 :$3000 etc.) .
Den Zeichensatz können Sie nur mit dem Monitor abspeichern.
Folgende Hilfsprogramme stehen Ihnen außerdem zur Verfügung. Die Programme werden jeweils mit SYS gestartet. Das geht natürlich nur aus Basic heraus.

Directory            SYS 32777                       
Status               SYS 32780                       
Reset                SYS 32795                       
Musik ein            SYS 32783                       
Musik aus            SYS 32786                       
Set Interrupt        SYS 32789                       
Single-Step Basic    SYS 39962 und SYS 39996         
Old                  SYS 40055                       
Kursiv               SYS 40112                       
Long Screen          SYS 40195                       
Cursor mit Joystick  SYS 40272 (Joystick in Port #2) 

Single-Step Basic ist eine Einzelschrittsimulation, die die aktuelle Zeilennummer eines laufenden Basicprogramms in hexadezimaler Schreibweise ausgibt.
Starten Sie ein Basic-Programm wie gewohnt und drükken Sie für jede Programmzeile, die Sie abarbeiten wollen, die Commodore-Taste.

Valid HTML 4.0 Transitional Valid CSS!