Seite 1 von 1

Section semifree superfree & fixed

Verfasst: 29. Januar 2014, 13:16
von snoer
moin
ich bin grade dabei mich mal in die Sources von Nwarp Daisakusen reinzulesen
und stolpere gleich zu allererst über die Begriffe superfree und fixed sections..

nun habe ich grad mal Google bemüht sowie sämtliche pdfs die in meinem Besitz sind nach den Begriffen durchsucht aber mal so garnichts dazu gefunden. Kann das jemand grob beschreiben und vlt ein paar Links zur Vertiefung anfügen?

Re: Section semifree superfree & fixed

Verfasst: 29. Januar 2014, 14:53
von lytron
Hallo Schatz,

das sind Befehle für WLA DX, also den Übersetzer unserer schnieken ASM-Textfiles in Hexcode. Folglich findest du eine Erklärung im WLA DX Manual.

Die von dir genannten Befehle stehen immer hinter Sektionen, und es sind Angaben, mit welcher Dringlichkeit diese Sektionen an den angegebenen Stellen positioniert werden (die Position ist immer die Zahl hinter .ORG).
Was die von dir genannten sind, weiß ich nicht, ich benutze immer "FORCED". Das heißt: Hau das *immer* an die angegebene Position. Das benötige ich z. B. bei Ihatovo Monogatari, weil da immer ein paar Codeklümpchen im kosmischen Medium herumschweben.

Übrigens meckert der Compiler (bei mir), wenn sich zwei FORCED-Sektionen überlagen. Gut für mich. ;)

Re: Section semifree superfree & fixed

Verfasst: 29. Januar 2014, 15:56
von snoer
danke!

..warum ich im manual nichts gefunden habe ist mir jetzt auch klar.. das sind ja gescannte seiten, die keine volltextsuche unterstüzten ;)

Re: Section semifree superfree & fixed

Verfasst: 29. Januar 2014, 16:07
von lytron
snoer hat geschrieben:danke!

..warum ich im manual nichts gefunden habe ist mir jetzt auch klar.. das sind ja gescannte seiten, die keine volltextsuche unterstüzten ;)
Du meinst das offizielle Nintendo-Dev-Manual? Da wirst du auch nix finden. ;)
WLA DX ist ja vom guten Ville Helin; die Nintendo-Leuts von dereinst werden einen anderen Compiler benutzt haben.

Über besagtes offizielles Dev-Manual habe ich irgendwann mal eine Schrifterkennung laufen lassen, ich muss gucken, ob ich die PDFs noch irgendwo habe... Interesse?

Re: Section semifree superfree & fixed

Verfasst: 29. Januar 2014, 17:20
von snoer
..mach dir keine extra arbeit, aber wenn dir die datei wieder über den weg läuft, dann definitiv :)

Re: Section semifree superfree & fixed

Verfasst: 29. Januar 2014, 20:54
von d4s
Noch ganz kurz zur Antwort, falls noch mal jemand die gleiche Frage hat:

Diese Section-Geschichte ist IMHO eines der besten Features von WLA DX und einer der primaeren Gruende, warum ich es immer noch benutze, obwohl ich wegen seiner sonstigen Bugs oft kurz vorm Ausrasten bin.
Das Schoene ist, dass WLA DX hier immer versucht, den vorhandenen Platz bestmoeglich auszunutzen.

Die hier relevanten keyword sind:
force: Schreibe Daten der section genau an aktuelle org-Adresse in aktueller bank. (Beispiel:snes-header)
semifree: Schreibe Daten der section an aktuelle oder folgende org-Adresse in aktueller bank. (Beispiel: Sprungadresse des IRQ-Vektors in einem Hirom-Spiel, der irgendwo in bank 0 zwischen Adressen $8000-$ffff liegen muss)
free: Schreibe Daten der section irgendwo in aktuelle bank. (Beispiel: Irgendeine Subroutine, die man von Code in gleicher Bank mittels JSR und nicht JSL anspringen will)
superfree: Schreibe Daten der section an irgendeine Adresse in irgendeiner Bank. (Beispiel: Grafik-Tilesets)


Oh, und noch was:
Der N-Warp Daisakusen-Sourcecode ist nicht die beste Wahl, wenn man anhand von Codereferenzen lernen will, da er alt ist und stinkt.
Auch noch nicht das Gelbe vom Ei, aber schon etwas besser: Sourcecode von Super Road Blaster

Der Verstaendlichkeit wegen wahrscheinlich noch besser geeignet: Sourcecode von in C geschriebenen SNES-Spielen anderer Entwickler.

Re: Section semifree superfree & fixed

Verfasst: 29. Januar 2014, 21:29
von snoer
nabend, und danke für deine Antwort.
Die Sources von SRB lad ich mir grad runter. Vorerst werde ich wohl erstmal bei Assembler bleiben.. ich denke dass man die Grundlegende Funktionsweise des SNES dadurch besser zu verstehen lernt (?)

Aber davon abgesehen, welche Spiele sind denn in C entwickelt worden? Welche "namenhaften" Entwickler gibt es, die tendenziell ihre Sources zur Verfügung stellen?