Codeorg $008F7E ;write Coins
JSL DrawMP ;
NOP #2 ;
org $098020 ;Freespace
Sowas ist schonmal eine ganz, ganz blöde Idee.
Du gehst somit ja davon aus, dass deine erste Routine nur (bzw. maximal) $20 bytes belegt. Was aber, wenn du da mal was ändern willst oder musst und die $20 Bytes überschreitest?
Deswegen solltest du es folgendermaßen machen: Oben im Patch erstmal ALLE Hijacks untereinander auflisten und erst dann den Freespace. Also hier ein simples Beispiel:
Code!freespace = $098000
org $038502
JSL Hijack1
org $04E383
JSL Hijack2
org $058555
JSL Hijack3
org !freespace
Hijack1:
[...]
RTL
Hijack2:
[...]
RTL
Hijack3:
[...]
RTL
So brauchst du auch nur eine einzige Freespace-Adresse und nicht zehntausend.
Fehler Nummer 2 ist, dass du auch immer wieder org $008F7E benutzt, also immer wieder dieselbe Stelle hijackst. Die logische Konsequenz ist natürlich, dass du diese Stelle immer und immer wieder mit deinem eigenen Code überschreibst. Logischerweise wird nur der allerletzte Hijack überhaupt irgendeinen Effekt haben.
Da alles Statusbar-Routinen sind, reicht es, wenn du nur einen einzigen Hijack machst und dann im Freespace den Code untereinander schreibst. Hier ein Beispiel:
Code!freespace = $098000
org $008F7E
JSL StatusBar
NOP #2
org !freespace
STA $0F14 ; Alter Code wiederhergestellt
STX $0F13
[Hier Code für "HP anzeigen"]
[Hier Code für "Max HP anzeigen"]
[Hier Code für "MP anzeigen"]
[Hier Code für "Max MP anzeigen"]
RTL
Außerdem solltest du auch für MaxHP und MaxMP RAM nehmen. Wie gesagt: Das Speichern kommt später. Außer natürlich, du hast das bisher einfach noch nicht verändert.
Übrigens bin ich mir auch nicht ganz so sicher, ob $098000 wirklich schon Freespace ist. Hat das der Freespace Logger ausgegeben?
-Das quadratische Rad neu erfinden-
Mit
das quadratische Rad neu erfinden (englisch
Reinventing the square wheel) bezeichnet man die Bereitstellung einer schlechten Lösung, wenn eine gute Lösung bereits existiert.
-Slowsort-
Slowsort (von engl.
slow: langsam) ist ein langsamer, rekursiver Sortieralgorithmus, der nach dem Prinzip
Vervielfache und kapituliere (engl. Multiply and surrender, eine Parodie auf
Teile und herrsche) arbeitet.