2017-03-14 20:32:40 +01:00
|
|
|
<!DOCTYPE html>
|
2017-07-22 11:58:52 +02:00
|
|
|
<html manifest="manifest.appcache">
|
2017-03-14 20:32:40 +01:00
|
|
|
<head>
|
2017-07-22 19:57:15 +02:00
|
|
|
<title>RomPatcher.js</title>
|
2017-03-14 20:32:40 +01:00
|
|
|
<meta http-equiv="content-Type" content="text/html; charset=UTF-8"/>
|
2017-07-22 19:57:15 +02:00
|
|
|
<meta name="description" content="A web-based IPS/UPS ROM patcher."/>
|
2017-07-22 11:58:52 +02:00
|
|
|
<meta name="keywords" content="ips,ups,patcher,online,html5,rom,patch,hack,translation"/>
|
2017-03-14 20:32:40 +01:00
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
|
2017-07-22 19:57:15 +02:00
|
|
|
<link rel="shortcut icon" href="./favicon.png"/>
|
2017-07-22 11:58:52 +02:00
|
|
|
<link type="text/css" rel="stylesheet" href="./RomPatcher.css" media="all"/>
|
|
|
|
<script type="text/javascript" src="./RomPatcher.js"></script>
|
|
|
|
<script type="text/javascript" src="./ips.js"></script>
|
|
|
|
<script type="text/javascript" src="./ups.js"></script>
|
2017-07-22 19:57:15 +02:00
|
|
|
<script type="text/javascript" src="./ByteFlipper.js"></script>
|
2017-03-14 20:32:40 +01:00
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
|
2017-07-22 19:57:15 +02:00
|
|
|
|
2017-03-14 20:32:40 +01:00
|
|
|
<!-- HEADER -->
|
|
|
|
<div id="header">
|
2017-07-22 19:57:15 +02:00
|
|
|
<div id="header-top">
|
|
|
|
<div class="row wrapper">
|
|
|
|
<h1 class="six columns text-left"><img src="logo.png" /><span class="hidden">RomPatcher.js</span></h1>
|
|
|
|
<div class="six columns header-buttons text-right">
|
|
|
|
by <a href="/">Marc Robledo</a>
|
|
|
|
<i class="icon github"></i> <a href="https://github.com/marcrobledo/RomPatcher.js/" target="_blank">See on GitHub</a>
|
|
|
|
<i class="icon heart"></i> <a href="https://www.paypal.me/marcrobledo/5" target="_blank" rel="nofollow">Donate</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
2017-03-14 20:32:40 +01:00
|
|
|
</div>
|
2017-07-22 19:57:15 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
2017-03-14 20:32:40 +01:00
|
|
|
|
2017-07-22 19:57:15 +02:00
|
|
|
<!-- APP -->
|
|
|
|
<div class="wrapper" id="the-app">
|
|
|
|
<h3 class="red">Apply patch</h3>
|
|
|
|
<div class="container-description">Apply an IPS/UPS patch to your ROM</div>
|
|
|
|
<div class="container">
|
2017-03-14 20:32:40 +01:00
|
|
|
<div class="row">
|
2017-07-22 19:57:15 +02:00
|
|
|
<div class="six columns text-right"><label for="input-file-rom">ROM file:</label></div>
|
|
|
|
<div class="six columns">
|
2017-07-22 11:58:52 +02:00
|
|
|
<input type="file" id="input-file-rom" />
|
2017-07-22 19:57:15 +02:00
|
|
|
<div id="rom-info" class="mono" style="font-size:12px"></div>
|
2017-03-14 20:32:40 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="row">
|
2017-07-22 19:57:15 +02:00
|
|
|
<div class="six columns text-right"><label for="input-file-patch">Patch file (IPS/UPS):</label></div>
|
|
|
|
<div class="six columns">
|
2017-07-22 11:58:52 +02:00
|
|
|
<input type="file" id="input-file-patch" />
|
2017-03-14 20:32:40 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="buttons">
|
2017-07-22 19:57:15 +02:00
|
|
|
<button class="with-icon icon9" onclick="applyPatchFile(patch, romFile)"><i class="icon check"></i> Apply patch</button>
|
2017-03-14 20:32:40 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-22 19:57:15 +02:00
|
|
|
<h3 class="blue">Create patch</h3>
|
|
|
|
<div class="container-description">Create an IPS/UPS patch from two different ROMs </div>
|
|
|
|
<div class="container">
|
2017-03-14 20:32:40 +01:00
|
|
|
<div class="row">
|
2017-07-22 19:57:15 +02:00
|
|
|
<div class="six columns text-right"><label for="input-file-rom1">Original ROM:</label></div>
|
2017-03-14 20:32:40 +01:00
|
|
|
<div class="six columns end">
|
2017-07-22 11:58:52 +02:00
|
|
|
<input type="file" id="input-file-rom1" />
|
2017-03-14 20:32:40 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="row">
|
2017-07-22 19:57:15 +02:00
|
|
|
<div class="six columns text-right"><label for="input-file-rom2">Modified ROM:</label></div>
|
2017-03-14 20:32:40 +01:00
|
|
|
<div class="six columns end">
|
2017-07-22 11:58:52 +02:00
|
|
|
<input type="file" id="input-file-rom2" />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="row">
|
2017-07-22 19:57:15 +02:00
|
|
|
<div class="six columns text-right">Patch type</div>
|
2017-07-22 11:58:52 +02:00
|
|
|
<div class="six columns end">
|
|
|
|
<input type="radio" id="radio-ips" name="patch-type" checked /><label for="radio-ips">IPS</label>
|
|
|
|
<input type="radio" id="radio-ups" name="patch-type" /><label for="radio-ups">UPS</label>
|
2017-03-14 20:32:40 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="buttons">
|
2017-07-22 19:57:15 +02:00
|
|
|
<button class="with-icon icon9" onclick="createPatchFile()"><i class="icon settings"></i> Create patch</button>
|
2017-03-14 20:32:40 +01:00
|
|
|
</div>
|
2017-07-22 19:57:15 +02:00
|
|
|
</div>
|
2017-03-14 20:32:40 +01:00
|
|
|
|
2017-07-22 19:57:15 +02:00
|
|
|
|
|
|
|
|
|
|
|
<h3 class="green">Byte flipper</h3>
|
|
|
|
<div class="container-description">This tool can flip bytes on a file in order to change its endianness</div>
|
|
|
|
<div class="container">
|
|
|
|
<div class="row">
|
|
|
|
<div class="six columns text-right"><label for="input-file-flip">File</label></div>
|
|
|
|
<div class="six columns"><input type="file" id="input-file-flip" /></div>
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
|
|
|
<div class="six columns text-right">Bytes to flip</div>
|
|
|
|
<div class="six columns">
|
|
|
|
<input type="radio" value="4" id="radio4" name="radio-bytes" checked /><label for="radio4">4 <small>(N64 ROMs and savegames)</small></label>
|
|
|
|
<input type="radio" value="8" id="radio8" name="radio-bytes" /><label for="radio8">8 <small>(old GBA flashcards)</small></label>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="buttons">
|
|
|
|
<button onclick="flipBytesInFile()" id="button-save"><i class="icon settings"></i> Flip bytes</button>
|
|
|
|
</div>
|
2017-03-14 20:32:40 +01:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</body></html>
|