{"id":29,"date":"2007-11-18T10:06:09","date_gmt":"2007-11-18T16:06:09","guid":{"rendered":"http:\/\/blog.blockos.org\/?p=78"},"modified":"2013-06-05T08:39:51","modified_gmt":"2013-06-05T07:39:51","slug":"ips-delivery","status":"publish","type":"post","link":"https:\/\/blog.blockos.org\/?p=29","title":{"rendered":"IPS delivery"},"content":{"rendered":"<blockquote><p><strong>Edit:<\/strong> The version listed in this post is buggy. Please consider using version 0.02 <a href=\"http:\/\/www.blockos.org\/releases\/ips\/ips-patcher-0.02.tgz\">[link]<\/a> or the current development version <a href=\"https:\/\/github.com\/BlockoS\/ips-patcher\">[link]<\/a> instead.<\/p><\/blockquote>\n<p>Today I wanted to try the translation of <a href=\"http:\/\/agtp.romhack.net\/project.php?id=mmr\">Metal Max Returns<\/a>. This game looks really cool. As I&#8217;m super lazy, I ran the windows version of snes9x through <a href=\"http:\/\/www.winehq.org\/\">wine<\/a>. I haven&#8217;t tested <a href=\"http:\/\/snes9x.ipherswipsite.com\/\">the 64bit version<\/a> yet. I realized that there&#8217;s no IPS patcher under linux. So once again I had to run a win32 IPS patcher (arkana ips) using <a href=\"http:\/\/www.winehq.org\/\">wine<\/a>.<\/p>\n<p>I was wondering where there wasn&#8217;t any IPS patcher under linux&#8230; Maybe the IPS format is a real mess. In fact it&#8217;s the total opposite. It&#8217;s really simple.<\/p>\n<ul>\n<li><a href=\"http:\/\/zerosoft.zophar.net\/ips.htm\">IPS file format description<\/a><\/li>\n<li><a href=\"http:\/\/www.romhacking.net\/docs\/251\/\">IPS patcher in PHP<\/a><\/li>\n<\/ul>\n<p>I coded my own patcher in less than 2 hours (including testing). Here&#8217;s the quick non-documented code :<\/p>\n<ul>\n<li><a href=\"http:\/\/www.blockos.org\/releases\/ips\/Makefile\">Makefile<\/a><\/li>\n<li><a href=\"http:\/\/www.blockos.org\/releases\/ips\/ips.c\">ips.c<\/a><\/li>\n<li><a href=\"http:\/\/www.blockos.org\/releases\/ips\/ips.h\">ips.h<\/a><\/li>\n<li><a href=\"http:\/\/www.blockos.org\/releases\/ips\/main.c\">main.c<\/a><\/li>\n<\/ul>\n<p>Here&#8217;s how you use it :<br \/>\n<code>Usage : ips-patch ipsfile inputrom [outputrom]<\/code><br \/>\n<strong>ipsfile<\/strong> is the filename of the IPS patch to apply.<br\\><br \/>\n<strong>inputrom<\/strong> is the filename of the rom to patch.<br\\><br \/>\n<strong>outputrom<\/strong> is the filename of the patched rom. It&#8217;s an optional argument. If you don&#8217;t specify it, the input rom will be saved in <em>inputrom.sav<\/em> and then overwritten.<\/p>\n<p>I&#8217;ll try to add some GUI later if I have enough motivation \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Edit: The version listed in this post is buggy. Please consider using version 0.02 [link] or the current development version [link] instead. Today I wanted to try the translation of Metal Max Returns. This game looks really cool. As I&#8217;m super lazy, I ran the windows version of snes9x through\u2026 <a class=\"continue-reading-link\" href=\"https:\/\/blog.blockos.org\/?p=29\">Continue reading<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[27,12],"_links":{"self":[{"href":"https:\/\/blog.blockos.org\/index.php?rest_route=\/wp\/v2\/posts\/29"}],"collection":[{"href":"https:\/\/blog.blockos.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.blockos.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.blockos.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.blockos.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=29"}],"version-history":[{"count":2,"href":"https:\/\/blog.blockos.org\/index.php?rest_route=\/wp\/v2\/posts\/29\/revisions"}],"predecessor-version":[{"id":134,"href":"https:\/\/blog.blockos.org\/index.php?rest_route=\/wp\/v2\/posts\/29\/revisions\/134"}],"wp:attachment":[{"href":"https:\/\/blog.blockos.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=29"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.blockos.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.blockos.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}