News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: How to make ips files for nes games  (Read 2437 times)

ultramario

  • Newbie
  • *
  • Posts: 3
    • View Profile
How to make ips files for nes games
« on: January 21, 2016, 09:32:43 pm »
I have 4 hacks and would like to share them here. is there a program to make ips files?


SunGodPortal

  • Hero Member
  • *****
  • Posts: 2921
  • 2 + 2 = 5
    • View Profile
Re: How to make ips files for nes games
« Reply #1 on: January 21, 2016, 09:50:50 pm »
Lunar IPS

It's a piece of cake with this program. Just open it and follow the directions.
War is Peace. Freedom is Slavery. Ignorance is Strength.

Chronosplit

  • Hero Member
  • *****
  • Posts: 1395
    • View Profile
Re: How to make ips files for nes games
« Reply #2 on: January 22, 2016, 12:06:57 am »
Was about to say the same, but with Floating IPS.  Only difference between the two for IPS patches is that FLIPS patches are a tiny bit smaller in file size.

SunGodPortal

  • Hero Member
  • *****
  • Posts: 2921
  • 2 + 2 = 5
    • View Profile
Re: How to make ips files for nes games
« Reply #3 on: January 22, 2016, 12:25:33 am »
Quote
Was about to say the same, but with Floating IPS.  Only difference between the two for IPS patches is that FLIPS patches are a tiny bit smaller in file size.

Could it be more efficient/accurate? I've noticed that some patches contain things like "44 0A 2B 66" when only the first and last bite were changed. Like, instead of just saying the 44 and 66 were changed it acted like it was a string of 4 bytes or something not recognizing that the two in between went unchanged.

I'm referring to patches that I've downloaded, not ones that I have made (I have no need to examine them since I know what changes I made) so I don't know if LIPS does that sort of thing or not...
War is Peace. Freedom is Slavery. Ignorance is Strength.

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 6919
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: How to make ips files for nes games
« Reply #4 on: January 22, 2016, 01:18:47 am »
How many bytes are needed for an entry in IPS? Is it 4 (3-byte address + 1 length) or 5?
With only two unchanged bytes between, it is more efficient to just encode the unchanged bytes.
"My watch says 30 chickens" Google, 2018

SunGodPortal

  • Hero Member
  • *****
  • Posts: 2921
  • 2 + 2 = 5
    • View Profile
Re: How to make ips files for nes games
« Reply #5 on: January 22, 2016, 01:30:45 am »
Quote
How many bytes are needed for an entry in IPS? Is it 4 (3-byte address + 1 length) or 5?
With only two unchanged bytes between, it is more efficient to just encode the unchanged bytes.

But that's not accurate and in some case could result in patches being incompatible with each other. Why would they do it that way?
War is Peace. Freedom is Slavery. Ignorance is Strength.

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 6919
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: How to make ips files for nes games
« Reply #6 on: January 22, 2016, 07:12:31 pm »
Let's just say it's 3-byte offset and 2-byte length.

Let's say the changed data is at address 012345

The "accurate" patch would have data.
Code: [Select]
01 23 45 00 01 44 (entry for changing byte 44)
01 23 48 00 01 66 (entry for changing byte 66)
That's 12 bytes.

Including the changed bytes
Code: [Select]
01 23 45 00 04 44 0A 2B 66 (4 bytes changed)
9 bytes. Saving 3 bytes.
"My watch says 30 chickens" Google, 2018

SunGodPortal

  • Hero Member
  • *****
  • Posts: 2921
  • 2 + 2 = 5
    • View Profile
Re: How to make ips files for nes games
« Reply #7 on: January 22, 2016, 07:21:23 pm »
(if I understood this correctly) Why would saving a few bytes here and there be important? Patches tend to be really small anyway and if a patch writes 5* bytes in one spot and another patch alters 2 bytes in the middle of that but was applied first that would make them incompatible in some respects. Why wouldn't it just be a byte by byte comparison? (or again and I just not understanding something here?)

*EDIT: but only the first and last byte are changed
War is Peace. Freedom is Slavery. Ignorance is Strength.

Disch

  • Hero Member
  • *****
  • Posts: 2737
  • NES Junkie
    • View Profile
Re: How to make ips files for nes games
« Reply #8 on: January 22, 2016, 07:24:54 pm »
Isn't the entire point of using IPS (or any patcher) that you're not distributing anything from the original ROM?

Doesn't including part of the original ROM in the patch defeat the point of having a patch?

And does anyone really care if an IPS is 300 bytes smaller?

SunGodPortal

  • Hero Member
  • *****
  • Posts: 2921
  • 2 + 2 = 5
    • View Profile
Re: How to make ips files for nes games
« Reply #9 on: January 22, 2016, 07:28:08 pm »
Quote
And does anyone really care if an IPS is 300 bytes smaller?

That's what I'm thinking since the only large patches I've encountered were due to error like when someone compared their altered ROM with a header to their unaltered ROM without a header and thereby included the entire ROM in the patch.
War is Peace. Freedom is Slavery. Ignorance is Strength.

henke37

  • Hero Member
  • *****
  • Posts: 643
    • View Profile
Re: How to make ips files for nes games
« Reply #10 on: January 23, 2016, 05:12:42 am »
IPS is a terrible format. It does no checking to see if the input is the expected file. Many, many, many, hours have been lost trying to troubleshoot IPS patching errors. Please don't use it anymore. There are much better formats.

SunGodPortal

  • Hero Member
  • *****
  • Posts: 2921
  • 2 + 2 = 5
    • View Profile
Re: How to make ips files for nes games
« Reply #11 on: January 23, 2016, 05:48:57 pm »
Quote
It does no checking to see if the input is the expected file.

I've never found this to be a real problem. Read the instructions and find the proper ROM. If there are no instructions and/or you don't know how to check: download from one site, try it and if it doesn't work try another. I've never spent more than 5 or 10 minutes finding the proper ROM. People that have trouble with this should just stick to carts.
War is Peace. Freedom is Slavery. Ignorance is Strength.