<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.1" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>SoR-GTs</title>
	<link>http://www.sor-gts.de</link>
	<description>Game Translations</description>
	<pubDate>Sat, 15 Dec 2007 21:08:32 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1 DE-Edition</generator>
	<language>en</language>
			<item>
		<title>Dragon Quest Monsters - Caravan Heart</title>
		<link>http://www.sor-gts.de/trans/dragon-quest-monsters-caravan-heart/</link>
		<comments>http://www.sor-gts.de/trans/dragon-quest-monsters-caravan-heart/#comments</comments>
		<pubDate>Sat, 15 Dec 2007 21:08:32 +0000</pubDate>
		<dc:creator>KC</dc:creator>
		
		<category><![CDATA[Verschiedenes]]></category>

		<category><![CDATA[Übersetzungen]]></category>

		<guid isPermaLink="false">http://www.sor-gts.de/trans/dragon-quest-monsters-caravan-heart/</guid>
		<description><![CDATA[In letzter Zeit kam ich in Hinsicht auf meine Projekte leider zu gar nichts. Aber, das hat einen guten Grund!
Wie viele sicher wissen, arbeitet Kaioshin an einer &#220;bersetzung zu Dragon Quest Monsters Caravan Heart f&#252;r GBA. Die &#220;bersetzung ist schon fertig, und alles andere geht auch gut voran. In absehbarer Zeit sollte auch eine Testversion [...]]]></description>
			<content:encoded><![CDATA[<p>In letzter Zeit kam ich in Hinsicht auf meine Projekte leider zu gar nichts. Aber, das hat einen guten Grund!</p>
<p>Wie viele sicher wissen, arbeitet <a href="http://kaioshin.romhacking.net/">Kaioshin</a> an einer &#220;bersetzung zu Dragon Quest Monsters Caravan Heart f&#252;r GBA. Die &#220;bersetzung ist schon fertig, und alles andere geht auch gut voran. In absehbarer Zeit sollte auch eine Testversion drin sein!</p>
<p>Ich habe ihm - nicht ganz uneigenn&#252;tzig - in letzter Zeit ein Wenig dabei geholfen (kleinere Sachen), so dass der angepeilte Termin wahrscheinlicher eingehalten werden kann. Freut euch also auf die &#220;bersetzung! Ich kann sagen, dass es dazu allen Grund gibt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sor-gts.de/trans/dragon-quest-monsters-caravan-heart/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Dialoge</title>
		<link>http://www.sor-gts.de/trans/dialoge/</link>
		<comments>http://www.sor-gts.de/trans/dialoge/#comments</comments>
		<pubDate>Sat, 01 Dec 2007 13:43:38 +0000</pubDate>
		<dc:creator>KC</dc:creator>
		
		<category><![CDATA[Valkyrie Profile]]></category>

		<category><![CDATA[Übersetzungen]]></category>

		<guid isPermaLink="false">http://www.sor-gts.de/trans/dialoge/</guid>
		<description><![CDATA[Die Dialoge k&#246;nnen jetzt wieder in das Spiel eingef&#252;gt werden! Es gibt noch ein paar Komplikationen, aber die werde ich im Laufe des Tages aus dem Weg r&#228;umen. Die Demo verz&#246;gert sich allerdings noch, da die Gr&#246;&#223;en der Dialogfenster ungeahnt unpraktisch sind. In fast allen F&#228;llen sind sie entweder zu gro&#223;, oder aber zu klein.
Rauszufinden [...]]]></description>
			<content:encoded><![CDATA[<p>Die Dialoge k&#246;nnen jetzt wieder in das Spiel eingef&#252;gt werden! Es gibt noch ein paar Komplikationen, aber die werde ich im Laufe des Tages aus dem Weg r&#228;umen. Die Demo verz&#246;gert sich allerdings noch, da die Gr&#246;&#223;en der Dialogfenster ungeahnt unpraktisch sind. In fast allen F&#228;llen sind sie entweder zu gro&#223;, oder aber zu klein.</p>
<p>Rauszufinden das zu &#228;ndern wird eine schwierige Angelegenheit, ich wei&#223; also leider nicht wie lange es dauert. Aber: Es findet sich garantiert irgendwann etwas. So weit wie ich gekommen bin, da gebe ich nicht hierbei auf.</p>
<p>Und noch etwas erfreuliches, etwas, was mir seit Wochen Sorgen bereitet hat: Es gibt jetzt keine unerkl&#228;rlichen Abst&#252;rze im Spiel mehr! Ich hab es bei meinen Kompressionsroutinen vers&#228;umt, am Ende noch ein paar Nullen hinzuzuf&#252;gen, die das Spiel aber braucht um zu funktionieren. Das ist jetzt allerdings Geschichte! Dazu vielen Dank an Sephiroth 1311 von <a href="http://www.sadnescity.it/">SadNES cITy</a>, der mir den Code dazu zug&#228;nglich gemacht hat.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sor-gts.de/trans/dialoge/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Statusbericht</title>
		<link>http://www.sor-gts.de/trans/statusbericht/</link>
		<comments>http://www.sor-gts.de/trans/statusbericht/#comments</comments>
		<pubDate>Thu, 29 Nov 2007 21:25:40 +0000</pubDate>
		<dc:creator>KC</dc:creator>
		
		<category><![CDATA[Valkyrie Profile]]></category>

		<category><![CDATA[Übersetzungen]]></category>

		<guid isPermaLink="false">http://www.sor-gts.de/trans/statusbericht/</guid>
		<description><![CDATA[In letzter Zeit hab ich hier nicht wirklich viel geschrieben, aber daf&#252;r hab ich die Zeit anderweitig genutzt. Ich habe endlich wieder an Valkyrie Profile gearbeitet, und dabei gute Fortschritte erzielen k&#246;nnen. Der ganze Code wurde jetzt &#252;berarbeitet - schneller und besser zu verwalten. Dazu kommen noch neue Codeteile und viele alte sind v&#246;llig neu [...]]]></description>
			<content:encoded><![CDATA[<p>In letzter Zeit hab ich hier nicht wirklich viel geschrieben, aber daf&#252;r hab ich die Zeit anderweitig genutzt. Ich habe endlich wieder an Valkyrie Profile gearbeitet, und dabei gute Fortschritte erzielen k&#246;nnen. Der ganze Code wurde jetzt &#252;berarbeitet - schneller und besser zu verwalten. Dazu kommen noch neue Codeteile und viele alte sind v&#246;llig neu gemacht worden. Und deshalb &#8230;</p>
<p>&#8230; k&#246;nnen die &#220;bersetzungsarbeiten jetzt anfangen! Nach fast sieben Monaten Arbeit (allerdings mit vieelen Pausen) ist es endlich so weit, dass der Text ins Deutsche &#252;bersetzt, oder besser gesagt, lokalisiert werden kann. Es war viel Arbeit, und noch immer funktioniert vieles nicht - darum werde ich mich dann weiterhin k&#252;mmern - aber, ich bin unendlich froh, dass sich jetzt endlich etwas tun kann. Denn dann war es die M&#252;he wert.</p>
<p>Ansonsten habe ich noch andere kleine Sachen erarbeitet. Zum Beispiel, wie man bei den Kampfdialogen neue Textzeilen hinzuf&#252;gt, oder wie man dort die Fenster vergr&#246;&#223;ert. Leichter gesagt als getan, muss man da leider sagen.</p>
<p>Wir &#252;berlegen in n&#228;chster Zeit eventuell einen kleinen Demo-Patch rauszubringen, bei dem z.B. nur der Prolog &#252;bersetzt ist. Eine kleine, handfeste Demonstration, dass sich noch etwas tut. W&#228;re ja gar nicht mal so &#252;bel, oder?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sor-gts.de/trans/statusbericht/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tales of the Compression</title>
		<link>http://www.sor-gts.de/verschiedenes/tales-of-the-compression/</link>
		<comments>http://www.sor-gts.de/verschiedenes/tales-of-the-compression/#comments</comments>
		<pubDate>Sun, 11 Nov 2007 15:23:27 +0000</pubDate>
		<dc:creator>KC</dc:creator>
		
		<category><![CDATA[Verschiedenes]]></category>

		<guid isPermaLink="false">http://www.sor-gts.de/allgemeines/tales-of-the-compression/</guid>
		<description><![CDATA[Inzwischen ist es mir gelungen, die Komprimierungen von Tales of the Abyss zu entschl&#252;sseln. Dabei habe ich mir zu Nutze gemacht, dass scheinbar alle PSX und PS2 Tales-Spiele die selbe Komprimierung verwenden.
Also habe ich Tales of Phantasia dazu verwendet. Es hat ziemlich lange gedauert, was aber - wie nicht selten - an ein paar dummen, [...]]]></description>
			<content:encoded><![CDATA[<p>Inzwischen ist es mir gelungen, die Komprimierungen von Tales of the Abyss zu entschl&#252;sseln. Dabei habe ich mir zu Nutze gemacht, dass scheinbar alle PSX und PS2 Tales-Spiele die selbe Komprimierung verwenden.</p>
<p>Also habe ich Tales of Phantasia dazu verwendet. Es hat ziemlich lange gedauert, was aber - wie nicht selten - an ein paar dummen, vermeidbaren Fehlern lag. Das erste Hindernis bei der Komprimierung war, dass der ASM Code wahnsinnig un&#252;bersichtlich und unoptimiert war. Man h&#228;tte sicher problemlos etwa 10-20% Code wegk&#252;rzen k&#246;nnen.  Das n&#228;chste Problem war, dass das Spiel auf eine Art arbeitet, die ich bisher noch nicht behandelt hatte.</p>
<p>Statt wie die meisten Spiele einfach auf die schon dekomprimierten Daten zuzugreifen, hat es im Hintergrund einen 4kb gro&#223;en Buffer, der immer auf dem neuesten Stand gehalten wird. Zus&#228;tzlich wird dieser Buffer vor dem Start mit einigen Werten initialisiert. Ansonsten war es eigentlich eine ziemlich gew&#246;hnliche LZSS (und RLE) Komprimierung. Es wird immer die Buffer Position angegeben, und das war es dann.</p>
<p>Was mich aber zwei Tage gekostet hat, war ein einziger, winziger Aussetzer. Bei MIPS Assembly gibt es die Anweisung &#8220;SLTI rd,rs,imm&#8221;. Ausgeschrieben hei&#223;t das, &#8220;Set Lower Than Immediate destination register, source register, immediate&#8221;.  Wenn rs kleiner als imm ist, dann wird rd auf 1 gesetzt, ansonsten auf 0. Im Spiel war es die Anweisung &#8220;SLTI v0,t1,0100&#8243;. Zuerst habe ich es mit &#8220;if x &gt; 0&#215;100&#8243; &#252;bersetzt, und das war der fatale Fehler.</p>
<p>Denn wenn rs und imm identisch sind, dann wird rd auch auf 0 gesetzt. Dieser kleine Fehler hat mich zwei Tage besch&#228;ftigt, aber was soll&#8217;s. Es geht inzwischen! Falls jemand interesse an dem Dekompressionscode hat, etwas weil er selber an einem Tales-Spiel arbeiten will, - einfach einen Kommentar schreiben.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sor-gts.de/verschiedenes/tales-of-the-compression/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Debugger</title>
		<link>http://www.sor-gts.de/verschiedenes/debugger/</link>
		<comments>http://www.sor-gts.de/verschiedenes/debugger/#comments</comments>
		<pubDate>Mon, 05 Nov 2007 22:46:44 +0000</pubDate>
		<dc:creator>KC</dc:creator>
		
		<category><![CDATA[Verschiedenes]]></category>

		<guid isPermaLink="false">http://www.sor-gts.de/verschiedenes/debugger/</guid>
		<description><![CDATA[Im Grunde kann man sagen, dass einen fortgeschrittenen und einen anfangenden &#220;bersetzer nur eine Sache unterscheidet - das Anwenden und das Nutzen eines Debuggers.
Jahrelang habe ich alles durch simples versuchen gemacht, &#8220;Was passiert wenn ich das hier &#228;ndere?&#8221;, und es war teilweise eine frustrierende Zeit. Besonders als es sp&#228;ter an die Komprimierungen ging wurde es [...]]]></description>
			<content:encoded><![CDATA[<p>Im Grunde kann man sagen, dass einen fortgeschrittenen und einen anfangenden &#220;bersetzer nur eine Sache unterscheidet - das Anwenden und das Nutzen eines Debuggers.</p>
<p>Jahrelang habe ich alles durch simples versuchen gemacht, &#8220;Was passiert wenn ich das hier &#228;ndere?&#8221;, und es war teilweise eine frustrierende Zeit. Besonders als es sp&#228;ter an die Komprimierungen ging wurde es nur frustrierender.   Bei solchen Sachen (und anderen nat&#252;rlich auch) ist der Debugger des Rom-Hackers bester Freund. Ich kann mir einfach nicht mehr vorstellen, ohne einen Debugger zu arbeiten. Hier einige der Aspekt, die den Debugger so unerl&#228;sslich machen:</p>
<p>Das einfachste und zugleich effektivste was ein Debugger zu bieten hat sind Breakpoints. Das hei&#223;t, dass das Programm (in diesem Fall das emulierte Spiel) angehalten wird, wenn bestimmte Kriterien getroffen werden. Meistens ist das eines der Folgenden:</p>
<ul>
<li>Execute. Die Ausf&#252;hrung wird angehalten, wenn ein bestimmter Codeabschnitt ausgef&#252;hrt wird</li>
<li>Write. Es wird dann angehalten, wenn an eine bestimmte Stelle im Speicher geschrieben wird</li>
<li>Read. Wenn von einer bestimmten Stelle gelesen wird, wird die Ausf&#252;hrung unterbrochen</li>
</ul>
<p>Fortgeschrittene Debugger haben noch mehr, aber das sind die Grundlegendsten. Alle drei Kriterien sind unerl&#228;sslich, und alle drei werden sehr h&#228;ufig gebraucht. Man nutzt sie etwa, um zu erfahren von wo etwas geladen wird (Read), welcher Codeabschnitt an eine bestimmte Stelle schreibt (Write) oder welchen Wert eine Variable hat, wenn ein Abschnitt durchlaufen wird (Execute).</p>
<p>Und das bringt uns auch gleich zum n&#228;chsten Feature. In fast allen Debuggern ist es m&#246;glich, den Code Schritt f&#252;r Schritt auszuf&#252;hren, und jeweils das Verhalten und die Werte der Register zu beobachten. Dieses Feature ist vital, wenn man zum Beispiel eine Komprimierungsroutine verstehen will, oder einfach wissen m&#246;chte, wie das Spiel bestimmte Werte berechnet.</p>
<p>Ein weiteres fortgeschrittenes Feature ist das direkte Bearbeiten des Codes innerhalb des Debuggers. Es gibt einfach keinen besseren Weg etwas zu verstehen, als es gezielt zu zerst&#246;ren. Wenn man etwas &#228;ndert, und das Spiel dadurch sein Verhalten auch &#228;ndert, dann hat man eine richtige Stelle gefunden. Das innerhalb des Debuggers zu machen ist unglaublich n&#252;tzlich, aber bei weitem nicht alle Debugger erlauben es. Zu diesem Feature z&#228;hlt auch, dass man die Werte der Register frei &#228;ndern kann - ebenfalls unglaublich n&#252;tzlich, nur auf tieferer Ebene.</p>
<p>Wenige Debugger erlauben das &#228;ndern des Codes beim Ausf&#252;hren - aber fast alle erlauben das Loggen (&#8221;Tracen&#8221;) des Codes in eine Textdatei. Es wird jede ausgef&#252;hrte Anweisung geschrieben, so dass man schrittweise alles nachvollziehen kann.</p>
<p>Vorausgesetzt, dass man mit dem jeweiligen Assembler-Dialekt vertraut ist, kann man mit Debuggern so unendlich viel erreichen. Man mag es anfangs nicht glauben, aber die M&#246;glichkeiten sind schier unbegrenzt. Ein besonders nennenswerter Debugger ist <a href="http://nocash.emubase.de/gba.htm">no$gba</a>, der einen wundervollen Einstieg bietet, und mit zu den besten Debuggern &#252;berhaupt z&#228;hlt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sor-gts.de/verschiedenes/debugger/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Spiel und Spa&#223; mit PS2 Spielen</title>
		<link>http://www.sor-gts.de/verschiedenes/spiel-und-spass-mit-ps2-spielen/</link>
		<comments>http://www.sor-gts.de/verschiedenes/spiel-und-spass-mit-ps2-spielen/#comments</comments>
		<pubDate>Mon, 05 Nov 2007 21:04:42 +0000</pubDate>
		<dc:creator>KC</dc:creator>
		
		<category><![CDATA[Verschiedenes]]></category>

		<guid isPermaLink="false">http://www.sor-gts.de/allgemeines/spiel-und-spass-mit-ps2-spielen/</guid>
		<description><![CDATA[Playstation 2 z&#228;hlt sicher zu den Systemen, die sich noch am schwersten hacken lassen. Manche Spiele mehr, manche weniger. Bisher habe ich mich erst mit zwei Spielen dieses Systems besch&#228;ftigt, aber sie sind ein starker Kontrast.
Auf der einen Seite steht La Pucelle. Ein Spiel aus der beliebten Strategie RPG Reihe von Nippon Ichi. Dieses Spiel [...]]]></description>
			<content:encoded><![CDATA[<p>Playstation 2 z&#228;hlt sicher zu den Systemen, die sich noch am schwersten hacken lassen. Manche Spiele mehr, manche weniger. Bisher habe ich mich erst mit zwei Spielen dieses Systems besch&#228;ftigt, aber sie sind ein starker Kontrast.</p>
<p>Auf der einen Seite steht La Pucelle. Ein Spiel aus der beliebten Strategie RPG Reihe von Nippon Ichi. Dieses Spiel ist so ziemlich der Traum jedes &#220;bersetzers. Es hat ein eigenes Dateisystem, aber das einfachste das ich bisher gesehen habe. Sogar Dateinamen hat es! Ein nicht zu verkennender Luxus. Die Texte sind allesamt unkomprimiert, die Grafiken ebenfalls, und insgesamt besteht das Spiel aus nur 150mb Daten. Und sogar noch besser - es funktioniert tadellos mit PCSX2!</p>
<p>Auf der anderen Seite stehen dann Spiele wie Tales of the Abyss. Auf den ersten Blick erscheint es einfach - ein mehr oder weniger bekanntes Dateisystem, Dateinamen, und sogar gut aufgeteilt. Bis hierhin klingt es sch&#246;n, aber wenn man weiter guckt wendet sich das Blatt.</p>
<p>Dann wird man mit unendlich vielen Sub-Archiven konfrontiert, allesamt namenlos (scheint ein Trend zu sein), mit multiplen Komprimierungen, und einem nicht ganz einfachem RAM-Aufbau. Denn wenn man denkt, dass man einfach in einem SaveState im RAM gucken k&#246;nnte, wie eine Datei dekomprimiert aussieht, dann wird man herbe entt&#228;uscht. Das Spiel wertet die Dateien umgehend aus und verteilt sie im RAM - w&#228;hrend es die original dekomprimierte Datei einfach l&#246;scht. An den 10 Kopien der komprimierten Datei scheint es sich jedoch nicht zu st&#246;ren.</p>
<p>So unterschiedlich k&#246;nnen Spiele des selben Systems sein. Dank der sehr guten Emulation von PCSX2 ist vieles einfacher geworden, aber bis der Debugger besser ist (oder &#252;berhaupt funktioniert) wird es noch schwer bleiben. Viel gearbeitet wird deshalb nicht an PS2 Spielen, aber was man sieht - das ist vielversprechend! Besonders das <a href="http://tales-cless.org/?page=tod2">Tales of Destiny 2 Projekt</a> von Phantasian Productions l&#228;sst einem das Wasser im Munde zusammenlaufen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sor-gts.de/verschiedenes/spiel-und-spass-mit-ps2-spielen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Deleaker</title>
		<link>http://www.sor-gts.de/programmieren/deleaker/</link>
		<comments>http://www.sor-gts.de/programmieren/deleaker/#comments</comments>
		<pubDate>Thu, 01 Nov 2007 16:49:49 +0000</pubDate>
		<dc:creator>KC</dc:creator>
		
		<category><![CDATA[Programmieren]]></category>

		<guid isPermaLink="false">http://www.sor-gts.de/programmieren/deleaker/</guid>
		<description><![CDATA[Ich denke jeder kennt das Problem der Speicherlecks (&#8221;Memory Leaks&#8221;). Sie geh&#246;ren zu den Fehlern, die sich am schwersten von allen finden lassen, da sie ja eigentlich gar keine Fehler im eigentlichen Sinne sind. Neulich bin ich auf ein sehr praktisches Programm gesto&#223;en, das einem genau bei dieser Art Fehlern helfen kann. Es hei&#223;t Deleaker, [...]]]></description>
			<content:encoded><![CDATA[<p>Ich denke jeder kennt das Problem der Speicherlecks (&#8221;Memory Leaks&#8221;). Sie geh&#246;ren zu den Fehlern, die sich am schwersten von allen finden lassen, da sie ja eigentlich gar keine Fehler im eigentlichen Sinne sind. Neulich bin ich auf ein sehr praktisches Programm gesto&#223;en, das einem genau bei dieser Art Fehlern helfen kann. Es hei&#223;t <a href="http://www.deleaker.com/">Deleaker</a>, und es tut genau das - es sucht und (wenn denn welche da sind) findet Speicherlecks! Aber zun&#228;chst eine kleine Erinnerung, was Speicherlecks denn &#252;berhaupt sind, wie sie entstehen, und warum sie so schlecht sind.</p>
<p>Unter einem Speicherleck versteht man, dass man reservierten Speicher dem System nicht wieder zur&#252;ckgibt, so dass es also nicht wei&#223;, dass der Speicher wieder nutzbar w&#228;re. Das passiert ziemlich schnell, und kostet bei kleineren Sachen auch nicht viel (wobei man es nat&#252;rlich auf jeden Fall vermeiden sollte), aber bei gr&#246;&#223;eren Sachen kann sowas ein ernst zunehmendes Problem darstellen. Vor allem, da man sowas auch nicht leicht findet. W&#228;re es ein Runtime Error g&#228;be es kein Problem, aber da es keiner ist, kriegt man davon &#252;berhaupt nichts mit.</p>
<p>Und genau da kommt Deleaker ins Spiel. Das Programm bzw Add-In l&#228;uft im Hintergrund und &#252;berwacht das Programm. Wenn es dann beendet wird, &#252;berpr&#252;ft Deleaker ob es irgendwelche Speicherlecks gibt, zum Beispiel Speicher der mit malloc() gesichert wurde, oder einfach ein Datei-Handle, und listet es einem praktisch unterteilt auf - und gibt sogar die Stelle an, an dem der Speicher reserviert wurde! Jeder der schon einmal mit solchen Problemen gek&#228;mpft hat wird erkennen, was f&#252;r eine unglaublich n&#252;tzliche Hilfe Deleaker darstellt!</p>
<p>Man kann es auf zweierlei Weisen nutzen. Einmal als eigenst&#228;ndiges Programm, mit dem man das zu &#252;berwachende Programm startet, oder als Visual Studio Plugin. Letzteres ist nat&#252;rlich sehr viel praktischer, aber beide Arten funktionieren tadellos.<br />
Da Bilder bekanntlich mehr als Worte sagen, hier ein kleines Beispiel. Ich wei&#223;, dass man es so nat&#252;rlich nie machen w&#252;rde, aber es soll ja auch nur als Demonstration gelten (draufklicken zum Vergr&#246;&#223;ern):</p>
<p><a href="http://www.sor-gts.de/files/deleaker1.png"><img src="http://www.sor-gts.de/files/deleaker1.png" /></a><br />
<a href="http://www.sor-gts.de/files/deleaker2.png"><img src="http://www.sor-gts.de/files/deleaker2.png" /></a><br />
<a href="http://www.sor-gts.de/files/deleaker3.png"><img src="http://www.sor-gts.de/files/deleaker3.png" /></a><br />
<a href="http://www.sor-gts.de/files/deleaker4.png"><img src="http://www.sor-gts.de/files/deleaker4.png" /></a></p>
<p>Und das ist nat&#252;rlich nur die einfachste Form eines Speicherlecks. Deleaker findet noch viel mehr. Meiner Meinung ein wirklich geniales Programm, das jeder, der sauber programmieren will nutzen sollte.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sor-gts.de/programmieren/deleaker/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Valkyrie Profile</title>
		<link>http://www.sor-gts.de/trans/valkyrie-profile/</link>
		<comments>http://www.sor-gts.de/trans/valkyrie-profile/#comments</comments>
		<pubDate>Wed, 31 Oct 2007 17:45:02 +0000</pubDate>
		<dc:creator>KC</dc:creator>
		
		<category><![CDATA[Valkyrie Profile]]></category>

		<category><![CDATA[Übersetzungen]]></category>

		<guid isPermaLink="false">http://www.sor-gts.de/allgemeines/valkyrie-profile/</guid>
		<description><![CDATA[Und schlie&#223;lich  zu meinem anderen Projekt, das im Moment ein wenig im Hintergrund steht.
Arbeiten wollte ich an diesem Spiel schon lange. Schon als ich es das erste Mal gespielt hatte kam das Verlangen. Aber - &#228;hnlich wie bei Lufia 2 - war es wiedereinmal unm&#246;glich f&#252;r mich. Ein Jahr sp&#228;ter dann hat die Telekom [...]]]></description>
			<content:encoded><![CDATA[<p>Und schlie&#223;lich  zu meinem anderen Projekt, das im Moment ein wenig im Hintergrund steht.</p>
<p>Arbeiten wollte ich an diesem Spiel schon lange. Schon als ich es das erste Mal gespielt hatte kam das Verlangen. Aber - &#228;hnlich wie bei Lufia 2 - war es wiedereinmal unm&#246;glich f&#252;r mich. Ein Jahr sp&#228;ter dann hat die Telekom wieder einmal Mist gebaut und ich stand ohne Internet da. Diese Zeit habe ich dann genutzt, um mir Valkyrie Profile noch einmal anzusehen. Zun&#228;chst verlief es wieder einmal erfolglos. Nichtmal im SaveState des Emulators lie&#223; sich Text finden. Aus Neugier habe ich dann einmal das gesamte SaveState in einem grafischen Editor durchgescrollt - und ich wurde f&#252;ndig!</p>
<p>Es zeigte sich, dass das Spiel die Zeichens&#228;tze in einem ungew&#246;hnlichen Format speicherte, n&#228;mlich nur die Zeichen die auch verwendet wurden. Die Urspr&#252;nge davon liegen vermutlich bei der japanischen Version, wo so eine Vorgehensweise viel wertvollen RAM speichern kann. F&#252;r englische Spiele ist es dagegen sehr ungew&#246;hnlich und fast schon kontraproduktiv.</p>
<p>Jedenfalls hatte ich so endlich einen Anfang gefunden. Das n&#228;chste Problem stellte die Komprimierung des Spiels dar. Besser gesagt, die Komprimierungen. Es gibt zwei verschiedene, aber sie sind relativ &#228;hnlich. Es dauerte ein wenig, aber schlie&#223;lich k&#246;nnte ich sie beide umsetzen und so die Daten vom Spiel dekomprimieren.</p>
<p>Aber schon zeigte sich das n&#228;chste Problem. Das Dateisystem vom Spiel. Alles was man auf der CD finden konnte waren drei Dateien. Einmal die CNF-Date, die das System zum Starten braucht, einmal die ELF-Datei die den Code enth&#228;lt, und schlie&#223;lich eine 700mb gro&#223;e Datei wo der Rest des Spiels enthalten ist. Nun, wo sollte man da anfangen? Ich wusste schon, dass das Spiel diese Datei intern in viele tausend einzelne Dateien unterteilt, aber, wie macht es das?</p>
<p>Es half alles wenig. Aber durch einen gl&#252;cklichen Zufall bekam ich Kontakt zu einem franz&#246;sischen Rom-Hacker namens Pixel - der einigen sicher ein Begriff sein sollte (Stichwort: Terminus Traduction). Nach einem kleinen Crashkurs in Sachen Verschl&#252;sselungen und kleinen Hilfestellungen konnte ich so dank ihm die Dateien vom Spiel entpacken!</p>
<p>Und das waren nicht grade wenige. Viele tausend Dateien waren es, 4300 St&#252;ck. Allesamt nat&#252;rlich ohne Namen. Ein wenig g&#252;nstiger Umstand ist das, aber damit muss man nun einmal klar kommen. Die n&#228;chste Zeit verbrachte ich also damit diese Dateien zu analysieren, Daten zu finden, Zeichens&#228;tze zu analysieren (da das Spiel ja f&#252;r jeden Text nur die n&#246;tigen Zeichen speicherte), Texte zu dumpen, und so weiter. Es gelang mir schlie&#223;lich sogar, die Daten vom Spiel auch wieder erfolgreich zu komprimieren - ein gro&#223;er Schritt f&#252;r mich.</p>
<p>Aber dennoch blieb ein Problem. Die Daten wieder richtig einzuf&#252;gen blieb umst&#228;ndlich, wegen den Fehlerkorrekturen die so eine CD inne hat. F&#252;r C++ gab es daf&#252;r Code der einem das abnahm, aber da ich mit Objekt Pascal arbeitete war das keine Wahl. Da ich allerdings schon lange auf C++ umsteigen wollte, fasste ich den Entschluss es nun endlich zu tun.</p>
<p>Es war ein harter Umstieg, und ich musste viel Code portieren, aber schlie&#223;lich hat es sich gelohnt. Inzwischen kann ich sehr gut mit C++ umgehen, habe allen Code portiert, und auch noch viel mehr geschrieben.</p>
<p>Zu dem was ich inzwischen alles mit dem Spiel anstellen kann z&#228;hlen:</p>
<ul>
<li>Alle Daten dekomprimieren und wieder komprimieren (effektiver als vorher!)</li>
<li>Alle Arten von Texten dumpen und wieder einf&#252;gen und Zeichens&#228;tze anpassen</li>
<li>Grafiken extrahieren</li>
</ul>
<p>&#8230; nach viel sieht das nicht aus, oder? Aber es ist es. Viel Code steckt da drin, und vieles kann man damit anstellen. Doch es steht mir noch viel Arbeite bevor.</p>
<p>Anzumerken ist auch noch, dass die italienische Gruppe SadNES City ebenfalls an diesem Spiel arbeitet, und wir uns gegenseitig gut mit Informationen unterst&#252;tzen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sor-gts.de/trans/valkyrie-profile/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Lufia 2 Geschichte</title>
		<link>http://www.sor-gts.de/verschiedenes/lufia-2-geschichte/</link>
		<comments>http://www.sor-gts.de/verschiedenes/lufia-2-geschichte/#comments</comments>
		<pubDate>Tue, 30 Oct 2007 14:24:59 +0000</pubDate>
		<dc:creator>KC</dc:creator>
		
		<category><![CDATA[Lufia 2]]></category>

		<category><![CDATA[Verschiedenes]]></category>

		<guid isPermaLink="false">http://www.sor-gts.de/verschiedenes/lufia-2-geschichte/</guid>
		<description><![CDATA[Zun&#228;chst einmal meine Fortschritte bei Lufia 2.
Viele sch&#246;ne Dinge verbinde ich mit dem Spiel, doch auch unsch&#246;nes, wenn ich beispielsweise an die groteske deutsche &#220;bersetzung denke. Schon seit ich mit Rom-Hacking angefangen habe, hatte ich den Wunsch mehr mit diesem Spiel zu machen. Aber es zeigte sich schnell, dass das Spiel weit &#252;ber meinem Niveau [...]]]></description>
			<content:encoded><![CDATA[<p>Zun&#228;chst einmal meine Fortschritte bei Lufia 2.</p>
<p>Viele sch&#246;ne Dinge verbinde ich mit dem Spiel, doch auch unsch&#246;nes, wenn ich beispielsweise an die groteske deutsche &#220;bersetzung denke. Schon seit ich mit Rom-Hacking angefangen habe, hatte ich den Wunsch mehr mit diesem Spiel zu machen. Aber es zeigte sich schnell, dass das Spiel weit &#252;ber meinem Niveau war, mit seinen multiplen Kompressionen und verworrenem Format. Seitdem sind nunmehr drei Jahre vergangen. Drei lange Jahre, in denen ich mir das n&#246;tige Wissen aneignen konnte.</p>
<p>Vor zwei Monaten schlie&#223;lich fing ich an dieses Wissen anzuwenden. Der wichtigste Schritt war zun&#228;chst, die Komprimierung des Spiels herauszufinden.  Nach einer kurzen Einarbeitungen in 65816 Assembly ging das dann schlie&#223;lich, und ich machte erstmals Fortschritte. Ein paar Wochen sp&#228;ter gelang es mir dann auch, die Komprimierung soweit umzusetzen, dass ich die Daten auch wieder komprimieren konnte - ebenso effektiv wie sie vorher auch komprimiert waren.</p>
<p>Mit diesem gro&#223;en Problem aus dem Weg machte ich mich schlie&#223;lich an andere Dinge. Nach einigem Testen gelang es mir im Laufe der letzten Woche schlie&#223;lich, das Kartenformat vollst&#228;ndig zu entschl&#252;sseln, und jegliche Karten ins Bitmap Format zu konvertieren. Dazu waren mehrere Schritte n&#246;tig, und vermeidbare Fehler haben mich auch viel Zeit gekostet, aber am Ende z&#228;hlt nur dass es jetzt funktioniert.</p>
<p>Im Moment arbeite ich schlie&#223;lich an den verschiedenen Events auf der Karte, wozu unter anderem NPCs z&#228;hlen. Das Format scheint relativ simpel zu sein, mit Gl&#252;ck zeigen sich also schon bald weitere Erfolge.</p>
<p>Alleine arbeite ich allerdings nicht an diesem Spiel. Ein weiterer Verr&#252;ckter namens Favorite teilt das Interesse an diesem Spiel und arbeitet ebenfalls mit Erfolg an mehreren Formaten vom Spiel - unter anderem das der Monster.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sor-gts.de/verschiedenes/lufia-2-geschichte/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Kurze Vorstellung</title>
		<link>http://www.sor-gts.de/allgemeines/kurze-vorstellung/</link>
		<comments>http://www.sor-gts.de/allgemeines/kurze-vorstellung/#comments</comments>
		<pubDate>Tue, 30 Oct 2007 11:51:14 +0000</pubDate>
		<dc:creator>KC</dc:creator>
		
		<category><![CDATA[Allgemeines]]></category>

		<guid isPermaLink="false">http://www.sor-gts.de/allgemeines/kurze-vorstellung</guid>
		<description><![CDATA[In diesem Blog werde ich &#252;ber meine Rom-Hacking Fortschritte berichten. Dazu z&#228;hlen momentan zwar nur zwei Projekte, doch diese sind daf&#252;r sehr aufwendig und zeitraubend:

Eine deutsche &#220;bersetzung f&#252;r Valkyrie Profile
Momentan noch recht wenig, allerdings verschiedene Arbeiten an Lufia 2

Der Gro&#223;teil meiner Zeit flie&#223;t dabei in Valkyrie Profile ein (die Playstation Version, nicht die PSP Version). [...]]]></description>
			<content:encoded><![CDATA[<p>In diesem Blog werde ich &#252;ber meine Rom-Hacking Fortschritte berichten. Dazu z&#228;hlen momentan zwar nur zwei Projekte, doch diese sind daf&#252;r sehr aufwendig und zeitraubend:</p>
<ul>
<li>Eine deutsche &#220;bersetzung f&#252;r Valkyrie Profile</li>
<li>Momentan noch recht wenig, allerdings verschiedene Arbeiten an Lufia 2</li>
</ul>
<p>Der Gro&#223;teil meiner Zeit flie&#223;t dabei in Valkyrie Profile ein (die Playstation Version, nicht die PSP Version). Es ist ein ziemlich schweres Spiel, und braucht auch noch sehr viel Arbeit bis es fertig ist. Im Moment nehme ich allerdings eine kleine Auszeit von Valkyrie Profile, nach vielen Wochen sehnt man sich eine Zeit lang nach etwas anderem.</p>
<p>Und da kommt Lufia 2 ins Spiel. Das gibt es zwar schon auf Deutsch, aber das schlecht als recht und mit vielen fragw&#252;rdigen &#196;nderungen. Ob ich eine &#220;bersetzung dazu mache wei&#223; ich noch nicht, aber bisher habe ich schon vieles &#252;ber das Spiel herausgefunden. Dazu sp&#228;ter mehr.</p>
<p>Ansonsten gab es noch einige andere Projekte, aber ich wei&#223; noch nicht, ob ich sie weitermachen soll. Zwei Spiele haben ein Remake auf einer neueren Konsole erhalten, also habe ich noch etwas Zweifel ob es sich auch lohnt. Ich werde aber nat&#252;rlich davon berichten.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sor-gts.de/allgemeines/kurze-vorstellung/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
