Kleines Update: Der UPS Patcher scheint nun auch funktionieren Bidirektionales Patchen wird unterstützt und er kommt mit expanden und truncating klar, d.h. selbst der FF IV Ultima Patch kann angewendet und rückgängig gemacht werden. Muss noch ein paar Kleinigkeiten zwecks headered / unheadered ROM patchen reinfrickeln, dann sollte das soweit fertig sein. Wollt ihr danach ein Release haben oder wollt ihr noch warten, bis BPS unterstützt wird?
Dom's Advanced SNES ROM Utility
-
- [Tools]
- Dom
-
-
-
Saugeil, aber was ist bidirektionales patchen? Sowas wie undo? Und was ist truncating?
Ja, genau Wenn du den Patch auf schon bereits gepatchtes ROM anwendest, wird der bei UPS wieder rückgängig gemacht, da die veränderten Stellen über XOR erzeugt werden Truncating ist das Verkleinern eines ROMs, sofern der Patch eine kleinere Dateigröße in der Zielangabe stehen hat.
Und dann hab ich gelernt, dass es sowas wie X-DELTA -Patches gibt ... machst du die auch noch rein?
Naja, X-DELTA ist, zumindest für SNES Patches, nur sehr spärlich verbreitet und soll auch ziemlich aufwändig sein, daher würde ich das außen vor lassen. Neben IPS, UPS, BPS und X-DELTA gibt es auch noch viele weitere Formate. Ziel ist es meinerseits jedoch nur die geläufigsten Formate für SNES ROMs unterzubekommen. Für alles weitere müsste man dann ebe doch den entsprechenden Patcher nutzen.
-
Ich lasse mal einen kleinen Wissensdrop zu diversen Formaten hier:
https://github.com/btimofeev/UniPatcher/wiki/APS-(N64)
https://github.com/btimofeev/UniPatcher/wiki/BPS
https://github.com/btimofeev/UniPatcher/wiki/UPS
https://www.romhacking.net/documents/392/ <- UPS
https://www.romhacking.net/documents/746/ <- BPS
https://www.romhacking.net/documents/288/ <- Ninja File Format
https://tools.ietf.org/html/rfc3284 <- VCDIFF / xdelta
-
Danke mal soweit Die Quellen sind wirklich interessant, aber kannte ich bereits
Das BPS-Patching habe ich soweit implementiert bekommen
Momentan werkel ich gerade noch am Expanding auf 48 und 64 MBit rum (BSX bis zu 32 MBit inkl. dem Fixen der internen Größenangabe), was schonmal ziemlich gut funktioniert.
Bei LoROMs mit SlowROM, speziell bei einer Zielgröße von 48 MBit, hänge ich jedoch noch ein wenig ...
Wenn jemand hierzu mehr Infos hat wäre das echt Klasse
-
Der Patcher unterstützt nun auch BDF / BDiff
Als nächstes schau ich mir noch VCDIFF / xdelta an
Sollte aber trotz der Komplexität kein großes Problem darstellen, da meine Äuglein da was im NuGet Paketmanager gesehen haben
Selber machen wäre zwar cooler, aber da wir mittlerweile weit übers Ziel hinausgeschossen sind, was die Kompatibiltät der Patchformate angeht, gönn ich mir die Abkürzung ganz einfach mal
-
Ich bin dafür, das Tool umzubennenen in
Dom's Lightyears ahead of anything else SNES ROM Utility
-
Ich bin dafür, das Tool umzubennenen in
Dom's Lightyears ahead of anything else SNES ROM Utility
Na, um dem Namen wirklich gerecht zu werden wäre noch ein sehr gutes Stück Arbeit nötig, aber Danke!
Und zur Info: XDELTA funzt nun auch War super easy, dank Xdelta3-dotnet
-
Hast du eigentlich jeweils die patch anwenden und die patch erstellen funktion, oder nur die erste?
Wäre ja lustig unser nächstes projekt mal in 125 patch-formaten anzubieten ...
-
Moin Dom,
also mal dickes Lob... Ich habs nun auch mal nutzen dürfen da ich an was arbeite und das ist echt Cool.
Weißt du was mir fehlt? Nichts
Gruß
red
-
Hast du eigentlich jeweils die patch anwenden und die patch erstellen funktion, oder nur die erste?
Im Tool werden Patches nur angewandt Für BDiff und XDELTA ginge rein theoretisch auch das Erstellen, da ich die lediglich eingebunden und nicht selbst gecoded hab und die auch beide das Erstellen mitbringen. Will es so langsam aber mal gut sein lassen, sonst artet das noch zu einem Feature Creep aus Vielleicht kann man irgendwann mal drüber nachdenken ein separates Tool zu erstellen, mit dem Patches in unterschiedlichen Formaten erstellt werden können, aber jetzt haben erstmal wieder andere Dinge Vorrang.
Vielmehr liegt jetzt eher mein Fokus darauf, das Expanding mal richtig zu erforschen. Glaub so langsam sogar, dass selbst Lunar Expand nicht so wirklich sauber arbeitet was das angeht. Vorallem die LoROM/SlowROMs scheinen irgendwie nicht richtig zu funktionieren
Moin Dom,
also mal dickes Lob... Ich habs nun auch mal nutzen dürfen da ich an was arbeite und das ist echt Cool.
Weißt du was mir fehlt? Nichts
Gruß
red
Hey, grüß dich Red!
Vielen Dank für das Lob, freut mich sehr, wenn es dir gefällt
Vom Umfang her ist jetzt zumindest so langsam mal fertig, jetzt wird nur noch hier da ein wenig gefeilt und vielleicht noch ein paar Unlock Codes hinzugefügt.
Was mir noch im Hinterkopf vorschwebt wäre das Erkennen und fixen von Overdumps, aber ich glaub kaum, dass das wirklich jemand braucht?
Ansonsten einfach melden, wenn dir noch was auffällt. Bin da immer froh drum
P.S.: Neu Version ist draußen
-
Habe mir erlaubt den Thread sticky zu machen.
-
Update auf Version 1.0 ist nun endlich draußen
-
Sehr schön. Habs mir auf rh schon angeschaut.
Gruß
red
-
Update auf Version 1.1!
Neu dazugekommen ist eine CLI, mit welcher ihr das Tool auch per Kommandozeile bedienen und euch somit Scripte erstellen und Stapelverarbeitung betreiben könntEbenfalls gibts nun eine Interleave-Funktion, falls ihr mal einen Patch haben solltet, der eine interleaved ROM benötigt oder ihr ein HiROM auf einer bestimmten Copystation abspielen wollt, fürs Oldschool-Feeling
Außerdem könnt ihr nun Warnmeldungen unterdrücken und die Standardeinstellungen des Tools wiederherstellen.
Eine neue Routine für PAL Regioncodes ist auch hinzugekommen
Edit: Da die Downloads bei RHDN gerade nicht funktioneren, könnt ihr das Release so lange direkt auf GitHub runterladen