Kapitel 2: Die unterschiedlichen Pointer
In diesem Kapitel bin ich auf eure Hilfe angewiesen! Wenn ihr andere Pointer kennt (egal
für welches System) dann mailt mir!
NES
Standard-Pointer
1. Position herausschreiben(A 50 30)
2. Die vier rechten Zahl hernehmen (50 30)
3. 10 für den Header abziehen (50 20)
4. Beide Zahlen vertauschen (20 50)
Der Pointer ist berechnet.
XX00-Pointer
Berechnet den Standard-Header, sucht die Pointer-Tabelle (aber nur mit dem rechten Wert aus
Schritt 3 (20)) Dort erhaltet ihr jetzt Werte bei denen die rechte Zahl bei allen Pointer
um den gleichen Betrag größer ist, als der errechnete Standard-Header-Wert. Dann
vertausch ihr die Zahlen wieder (für links 00) und ihr erhaltet die Summe um die ihr
addieren müsst. (00 25 -> 25 00)
Jetzt kann man die Pointer einfacher Berechnen:
1. Position herausschreiben (A 50 30)
2. Die vier rechten Zahlen hernehmen (50 30)
3. 10 für den Header abziehen (50 20)
4. Den ermittelten Wert addieren (hier 25 00 / 75 20)
5. Vertauscht die beiden Zahlen (20 75)
Der Pointer ist berechnet.
SNES
Standard-Pointer
1. Position herausschreiben (A 50 30)
2. Die vier rechten Zahlen hernehmen (50 30)
3. 200 für den Header abziehen (4E 30)
4. Vertauscht die beiden Zahlen (30 4E)
Der Pointer ist damit berechnet.
XX00-Pointer
1. Position herausschreiben (A 50 30)
2. Die vier rechten Zahlen hernehmen (50 30)
3. 200 für den Header abziehen (4E 30)
4. XX00 addieren (A0 00 / EE 30)
5. Vertauscht die beiden Zahlen (30 EE)
Der Pointer ist damit berechnet.
Tipp:
LoRom Pointer liegen normalerweise zwischen 80 00 und FF FF. Das heisst, dass ihr bei
den Pointern - wenn sie bei Punkt 2 unter 8000 liegen - oft 80 00 (Hex) addieren müsst.
Alle System
Feste Längen
Bei diesen Pointern muss man nichts berechnen. Bei ihnen sind die Texte eine konstante
Länge lang. Sie werden meistens für Items, Namen, Zauber etc.
verwendet. Ich weiss leider nicht, wie man da die Länge ändert, ohne ASM
zu können.
2-Stellige Pointer
1. Position herausschreiben (A 50 30)
2. Den Header abziehen (Hier Standard-SNES/A 4E 30)
3. Die beiden rechten Zahlen nehmen (30)
Fertig. Bei diesen Pointer kommt es leicht zu Problemen, besonders wenn sie für
längere Textblöcke verwendet werden. Dann springt der Pointer unter Umständen
zu falschen Positionen.
Wenn kein Header im Rom ist
Jetzt gibt es 2 Lösungen:
a) Ihr fügt dem Rom einen Header zu (mit SNESTool oder änlichen Programmen) und ihr berechnet
den Pointer wie einen normalen (siehe oben).
oder b)Ihr berechnet den Pointer ohne Header:
1. Position herausschreiben (A 50 30)
2. Eventuell den XX00-Wert hinzufügen (Ich spar es mir hier)
3. Die zwei rechten Zahlenpaare nehmen (50 30)
4. Vertauscht die beiden Zahlen (30 50)
Und ihr habt den Pointer berechnet!
Zurück
Weiter