-
Create patch
+
Create patch
+
Create an IPS/UPS patch from two different ROMs
+
-
+
-
+
-
Patch type
+
Patch type
@@ -87,13 +84,32 @@
-
+
+
+
+
+
Byte flipper
+
This tool can flip bytes on a file in order to change its endianness
+
-
\ No newline at end of file
diff --git a/ips.js b/ips.js
index c3302af..e7d3374 100644
--- a/ips.js
+++ b/ips.js
@@ -1,5 +1,6 @@
-/* IPS module for RomPatcher.js v20170721 - Marc Robledo 2016-2017 - http://www.marcrobledo.com/license */
+/* IPS module for RomPatcher.js v20170722 - Marc Robledo 2016-2017 - http://www.marcrobledo.com/license */
/* File format specification: http://www.smwiki.net/wiki/IPS_file_format */
+
var MAX_IPS_SIZE=16777216;
var RECORD_RLE=0x0000;
var RECORD_SIMPLE=1;
@@ -79,12 +80,12 @@ IPS.prototype.apply=function(romFile){
var rec=this.records[i];
if(rec.type===RECORD_RLE){
if(rec.offset+rec.length>romFile.fileSize){
- alert('Invalid ROM file (too big?).');
+ MarcDialogs.alert('Invalid ROM file (too big?).');
return false;
}
}else{
if(rec.offset+rec.data.length>romFile.fileSize){
- alert('Invalid ROM file (too big?).');
+ MarcDialogs.alert('Invalid ROM file (too big?).');
return false;
}
}
diff --git a/ups.js b/ups.js
index 10c3485..e61d3b1 100644
--- a/ups.js
+++ b/ups.js
@@ -1,7 +1,8 @@
/* UPS module for RomPatcher.js v20170721 - Marc Robledo 2017 - http://www.marcrobledo.com/license */
/* File format specification: http://www.romhacking.net/documents/392/ */
-/* https://github.com/btimofeev/UniPatcher/blob/master/app/src/main/java/org/emunix/unipatcher/patcher/UPS.java */
+
var UPS_MAGIC='UPS1';
+
function UPS(){
this.records=[];
this.sizeInput=0;
@@ -63,7 +64,7 @@ UPS.prototype.export=function(){
}
UPS.prototype.apply=function(romFile){
if(crc32(romFile)!==this.checksumInput){
- alert('Invalid input ROM.');
+ MarcDialogs.alert('Invalid input ROM');
return false;
}
@@ -84,7 +85,7 @@ UPS.prototype.apply=function(romFile){
}
if(crc32(tempFile)!==this.checksumOutput){
- alert('Invalid output ROM.');
+ MarcDialogs.alert('Invalid output ROM');
return false;
}
@@ -161,7 +162,7 @@ function readUPSFile(file){
patchFile.checksumPatch=tempFile.readInt(seek+8);
if(patchFile.checksumPatch!==crc32(file, true)){
- alert('Invalid patch checksum.');
+ MarcDialogs.alert('Invalid patch checksum');
}
return patchFile;
}