Section semifree superfree & fixed

Hier könnt ihr Euch mit Gleichgesinnten austauschen bei der Entwicklung eines neuen Spiels oder eines neuen Stücks Hardware... oder einfach nur über Coding und Spieleentwicklung allgemein plaudern.

Moderatoren: ikari_01, d4s

snoer
SNES-Programmer
SNES-Programmer
Beiträge: 249
Registriert: 27. Januar 2013, 13:10
+Positive Tradingpoints+: 5 von 5

Section semifree superfree & fixed

Beitrag von snoer » 29. Januar 2014, 13:16

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?

Benutzeravatar
lytron
Code Bro
Code Bro
Beiträge: 2664
Registriert: 12. August 2012, 20:18
+Positive Tradingpoints+: 12 von 12
Wohnort: ハノーファー区
Kontaktdaten:

Re: Section semifree superfree & fixed

Beitrag von lytron » 29. Januar 2014, 14:53

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. ;)
pantalytron: ルトロンはくそのディスアセンブラだよ!
Perikles hat geschrieben:Man muss sich das mal reinziehen: die Idee ist scheiße, die theoretische Ausarbeitung ist scheiße, die praktische Umsetzung ist scheiße und der so entstehende Anspruch noch beschissener.

snoer
SNES-Programmer
SNES-Programmer
Beiträge: 249
Registriert: 27. Januar 2013, 13:10
+Positive Tradingpoints+: 5 von 5

Re: Section semifree superfree & fixed

Beitrag von snoer » 29. Januar 2014, 15:56

danke!

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

Benutzeravatar
lytron
Code Bro
Code Bro
Beiträge: 2664
Registriert: 12. August 2012, 20:18
+Positive Tradingpoints+: 12 von 12
Wohnort: ハノーファー区
Kontaktdaten:

Re: Section semifree superfree & fixed

Beitrag von lytron » 29. Januar 2014, 16:07

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?
pantalytron: ルトロンはくそのディスアセンブラだよ!
Perikles hat geschrieben:Man muss sich das mal reinziehen: die Idee ist scheiße, die theoretische Ausarbeitung ist scheiße, die praktische Umsetzung ist scheiße und der so entstehende Anspruch noch beschissener.

snoer
SNES-Programmer
SNES-Programmer
Beiträge: 249
Registriert: 27. Januar 2013, 13:10
+Positive Tradingpoints+: 5 von 5

Re: Section semifree superfree & fixed

Beitrag von snoer » 29. Januar 2014, 17:20

..mach dir keine extra arbeit, aber wenn dir die datei wieder über den weg läuft, dann definitiv :)

d4s
Moderator
Moderator
Beiträge: 345
Registriert: 13. Juni 2006, 16:11
+Positive Tradingpoints+: 1 von 1
Kontaktdaten:

Re: Section semifree superfree & fixed

Beitrag von d4s » 29. Januar 2014, 20:54

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.

snoer
SNES-Programmer
SNES-Programmer
Beiträge: 249
Registriert: 27. Januar 2013, 13:10
+Positive Tradingpoints+: 5 von 5

Re: Section semifree superfree & fixed

Beitrag von snoer » 29. Januar 2014, 21:29

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?

Antworten