Romhacking.net

General Category => News Submissions => Topic started by: RHDNBot on November 02, 2012, 05:11:30 am

Title: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: RHDNBot on November 02, 2012, 05:11:30 am
(http://www.romhacking.net/newsimages/newsimage1304a.png)

Update By: Tater Bear

For some time now the ROM hacking community has been plagued with problems and limitations of the IPS format, which is the most popular patching format used by ROM hackers. There have been several attempts to resolve these problems, with the most notable attempts being Ninja and UPS.

Well, byuu, one of the co-developers of the UPS format (meant to be an enhancement to the IPS format), decided to start from scratch and create a patching format that would meet all the primary needs of the ROM hacking community. This format is called BPS and it is fairly robust and offers no file size limits, smaller patch sizes, non linear patching, embedded readme files, and much more.

byuu recently confirmed that the specification has been finalized, after the inclusion of folder/directory patching. byuu stated, "BPS is a done deal. Extremely well vetted, tested against thousands of files. It's not going anywhere". With the final addition of folder patching we can not only patch single files but entire CD directories or PC game folders.

August of this year he released beat which can apply and create BPS files and, as with most of byuu's projects, it is open source and highly portable. Visit the RHDN project page to read all that beat/BPS can offer and take the time to try it out and see if BPS is a good fit for your ROM hacking project.

RHDN Project Page (http://www.romhacking.net/utilities/893/)

Relevant Link: (http://byuu.org/programming/beat/)
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 02, 2012, 06:55:28 am
Doing Delta patches for large files is slow, but byuu noted this as well and wrote "We just need someone who -really- understands delta encoding to help make a more effecient delta algorithm for files > 100MB".

Of note, there is already another separate implementation available. Screwtape has developed one in python and it can be found here (https://gitorious.org/python-blip/python-bps/trees/v5). Screwtape has posted his test results as a spreadsheet here (https://docs.google.com/spreadsheet/pub?hl=en_US&key=0Al7sXgOl0faodGs5d2ZUbHl2dEoxRFJyN3lVdTNLLWc&hl=en_US&gid=0) and as you can see BPS is capable of some very impressive small file sizes.

If you wish to try writing your own implementation, the spec for BPS can be found on the beat homepage (http://byuu.org/programming/beat/).
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: DankPanties on November 02, 2012, 08:06:30 am
This is nothing short of astounding.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Azkadellia on November 02, 2012, 08:07:13 am
While it is a nice idea, I don't expect it will catch on. This has been tried before (see: NINJA) and resulted in nothing but drama.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Garoth Moulinoski on November 02, 2012, 08:44:06 am
If I may ask, what kind of drama occurred when NINJA was released?
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Zoinkity on November 02, 2012, 12:20:12 pm
The python implementation is a bit slower--it is interpretted code after all--but results in as good or frequently better filesizes most of the time.  That's great news if you're writing an editor in python, writing the patch directly from your program without requiring system calls, etc.
(though python could use a full implementation of gzip, since the zlib route doesn't compress as well, even at -9)

You know, there were a lot of problems with Ninja, and honestly one has to wonder why it could patch every other format under the sun including a few that were rather obscure.
The biggest difference is that there isn't a bunch of arcane (and sometimes erroneous) data type detection.  One format works on all the various different ROM formats, or for that matter any kind of file.

It's the only honestly viable delta option besides xdelta, but the difference there is that it isn't obscenely complicated.  That said I don't recommend this for anyone hacking disk consoles.  Stick with xdelta when doing delta patching if you want to use your computer for the next few days.

That more communities haven't picked up xdelta at this point is seriously bizare. 
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Next Gen Cowboy on November 02, 2012, 12:26:46 pm
If I may ask, what kind of drama occurred when NINJA was released?

None that I remember, a few people myself included lauded it, and touted the praises but it just never seemed to catch on.  A few high profile projects did, and do use it though.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: DaMarsMan on November 02, 2012, 01:54:13 pm
I liked NINJA but byuu's format looks promising. I like the approach he's taken with his higan/bsnes emulator and I think he has a good vision for this sort of thing.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 02, 2012, 02:12:48 pm
That said I don't recommend this for anyone hacking disk consoles.  Stick with xdelta when doing delta patching if you want to use your computer for the next few days.

If the CD is treated as one big file (iso or bin), then that is definitely going to be a problem. But if the CD contents are treated as a directory, then it can work well for some systems/games.

Hopefully, down the road a delta knowledgeable programmer can write faster delta code that will allow beat to be feasible for large files. For most ROM hacking projects, beat's implementation is fast enough.

I liked NINJA but byuu's format looks promising.

Good news is that the format is complete, so there are no worries about BPS files made now being incompatible down the road.

I also learned that the Snes9x team is going to add soft patching with BPS files to the emulator.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Dwedit on November 02, 2012, 02:44:41 pm
Xdelta is an excellent patching format, the only problems with it are:
*Horrible user interface (even the command line options are cryptic!)
*Requires the patched file to be an unaltered exact match of the original file.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: FAST6191 on November 02, 2012, 07:49:08 pm
I got turned to xdelta out of necessity and have used it ever since (BSDiff could kind of work but in practice has a few limits apparently), I could be persuaded out of it for size reasons but a proper use of options or just going down to file level (unpacking a filesystem with a dedicated tool) works for me. That said I do not have to play in the SNES world much so having to account for headers, interleaved ROM images and such is not something I have to do.

@Dwedit granted I still mess around with http://www.evanjones.ca/software/xdelta-win32.html and most are on http://code.google.com/p/xdelta/ but isn't there the -n command to disable such verifications? I do agree the command line stuff is a bit cryptic though.

Re: Drama and NINJA- I only saw it in passing/was lurking at the time, but I got the impression drama was down to people rather than any deeper philosophical reason.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Trixar_za on November 03, 2012, 03:33:17 am
Anybody mind if I port this to Linux using nimrod (http://nimrod-code.org)? It converts code to C which it compiles. I'll probably add a quick GTK UI on top of it similar to the one in the screenshot. Been looking for something I could contribute to the community.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Snatcher on November 03, 2012, 05:17:05 am
Looks like this would be great for CD based translations. making it easy to patch Playstation or Saturn games mite get more people interested in translating them.  :thumbsup:
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: KaioShin on November 03, 2012, 05:47:49 am
Looks like this would be great for CD based translations. making it easy to patch Playstation or Saturn games mite get more people interested in translating them.  :thumbsup:

Check the other posts in the thread, it's horrible for CD based games currently.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Zoinkity on November 03, 2012, 09:28:08 am
Only disc isos, but from what I've been hearing that only applies to earlier CD games.  I honestly assumed most games distroed that way in my earlier post. 
Any game with a file structure (which would include Wii WADs, wouldn't it?) would be okay.  Time to delta compare is dependant on individual filesize; the growth rate is O(n^2), but isn't noticable except when individual files top 100MB.

Ironically, it takes a few minutes to do delta on an N64 ROM, but because individual files are smaller (and files with no differences are skipped) it probably takes less time to do a disc game with filesystem.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 03, 2012, 11:14:23 am
Anybody mind if I port this to Linux using nimrod (http://nimrod-code.org)? It converts code to C which it compiles. I'll probably add a quick GTK UI on top of it similar to the one in the screenshot. Been looking for something I could contribute to the community.

I never heard of nimrod before, I think that is an interesting idea. Please share the results with us, when you port it  ;D.

Check the other posts in the thread, it's horrible for CD based games currently.

It is conditional on the CD/system. If the CD contents are treated like a folder structure and it has no files that are bigger than 100mb then it could work. I imagine the biggest problem, for certain systems, would be that the end user need to know how to rebuild the disc.

It is worth noting that beat is only slow for the creation of patches for large files. It can apply those same patches quickly with no problems. So if a ROM hacker wanted to use beat with a slightly large file it would only affect him, not the people that the patch would be distributed to. The slow patch creation on large files is not an issue with BPS, but just with the implementation found in beat.

Only disc isos, but from what I've been hearing that only applies to earlier CD games.  I honestly assumed most games distroed that way in my earlier post.

Earlier CD games could/might work, if the user is expected to rebuild the game disc themselves.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Lilinda on November 03, 2012, 02:59:17 pm
I don't really see a point to byuu's continued revisions of his patching format. They basically just suit his uses.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 03, 2012, 03:28:49 pm
I don't really see a point to byuu's continued revisions of his patching format. They basically just suit his uses.

My understanding is that BPS has only had one revision and that was the addition of folder patching. He has stated multiple times that the spec is finalized, so I don't follow why you are saying "continued revisions".

I have no use for folder patching, but all the other features of BPS suit me just fine. I think most ROM hackers could make use of the other features as well (The most important one being stored checksums).

I am sure there are many people that can make use of folder patching. I can see it streamlining the mod process for old PC games. I recently updated Thief 2 and Oni for play on my windows 7 OS. The mods included modifications to the resources and executables of the games (To allow increased resolutions, new HD graphics, proper function in newer versions of windows, and other neat features), which goes without saying that multiple things needed modification/patching in the games directories. I think it is fairly narrow-minded of you to dismiss this feature just because you personally don't have a use for it. Your shortsightedness makes me seriously want to make a new installation of Thief 2 and created a BPS patch of the directory with all the mods included... Honestly, saying that it just suit his uses, comes off as if though you have some personal issues with him and I would like to keep that unnecessary drama out of a serious discussion of the merits of this patching format for this community. Discuss BPS or beat, but not byuu.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Gideon Zhi on November 03, 2012, 05:17:12 pm
The issue with this isn't going to be one of perceived utility, it's going to be one of adoption, and that on three fronts: the users, the hackers, and the emulator authors. Given a lot of the issues with IPS I've been strongly considering distributing future patches in multiple formats, but once release time rolls around I'm usually completely exhausted and forget :/ But barring that, most of my users are going to be like "wtf is this? what do I do with this?" And as nice as bsnes/higan is, it's still the linux of emulation - great for power users (or purists, in this case) but not widely adopted for everyday use. 9x and ZSNES are both updated sporadically at best. Inclusion of the format into other emulators as an autopatch solution would be a major help for adoption, but I expect the vast majority of my users to want to stick with what they're comfortable with, and I'm not about to force them into a change they don't want. Options are always nice! It's when you're not given any choice that people start getting up in arms. (http://windows.microsoft.com/en-US/windows/download-shop)

(Note for the slow of wit: link included as an example only! The comparison I'm drawing here would be one where I stop distributing IPS and migrate wholly to any given new standard.)
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 03, 2012, 05:31:26 pm
I don't use soft patching on my stuff as I tend to play them on the systems directly. I don't think most of the emulators I use even allow soft patching (I have never even tried). Snes9x is adding soft patching with BPS, but that only covers the SNES.  Embedding a soft-patcher is possible with this format and that would be a universal solution for any system and wouldn't require that the end user change anything (I think). I know little about the subject of soft patching, as I don't use it. I would be interested in how many regular users soft patch their ROMs in an emulator instead of hard patching them. I think of soft patching as something only "purists" would use.

To be honest, I go with the latest/greatest thing and I think most people are like that when it comes to technology. Just look at how computer software and hardware gets away with constant updates even though there was nothing technically wrong with the previous stuff. The average user, I would think, would update their IPS patcher to a BPS patcher if it was simply a slightly newer technology with only minor improvements. In this case, BPS is far more than a slight improvement. From the end user's perspective, they would see smaller patches and would quickly know if the patch was incorrectly applied. Something that no IPS patch does for the average user.

I guess, what I am trying to say is that I don't see the average user caring about whether it is an IPS/BPS patch. They just want to play the game and if they have to download a IPS/BPS patcher they will. The people that should be caring about which patching format to use is us, the creators of the patches. The average user will use what ever we use, so we might as well give them the best quality patches we can offer.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Lilinda on November 03, 2012, 07:36:18 pm
My understanding is that BPS has only had one revision and that was the addition of folder patching. He has stated multiple times that the spec is finalized, so I don't follow why you are saying "continued revisions".

I was referring to his past efforts on this front, he's had at least two patch formats counting this one.

What I meant when I said they mainly suit his uses only is they are usually focused on unpatching and around translation patching. One of his earlier specs was nearly useless if you wanted to apply multiple minor patches to a ROM, for instance. In, say, the FF6 hacking community, that's very, very common.

It seems like this one is more generally focused, but I keep seeing a lot of the same patterns in his work on this front is all.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 03, 2012, 08:30:41 pm
That is a good point, patch stacking is useful. I suppose creators that intended to allow this need to stick to ISP, but translation patches normally serve as the bottom most stack so they could still be released as BPS patches. In fact, any ROM hacking project that significantly alters the location of things in a ROM would get the best results from BPS and should also serve as a base patch that any stacking would be based on.

Do emulators that allow soft patching also allow patch stacking? It seems to me that it would be a nuisance to have to repeatedly soft patch a game each time you want to run it (Even worse if you plan to stack it), instead of just running a hard patched copy.
Title: .
Post by: creeperton on November 03, 2012, 08:34:58 pm
.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Lilinda on November 03, 2012, 08:40:10 pm
That is a good point, patch stacking is useful. I suppose creators that intended to allow this need to stick to ISP, but translation patches normally serve as the bottom most stack so they could still be released as BPS patches.

Do emulators that allow soft patching also allow patch stacking? It seems to me that it would be a nuisance to have to repeatedly soft patch a game each time you want to run it (Even worse if you plan to stack it), instead of just running a hard patched copy.

Soft patching is easy peasy, but not compatible with patch stacking as you call it. It's basically just rename a ROM and the patch to have the exact same name aside from the file extension. Boom, you're done. I'm not a fan, I prefer hard patching so everything's in one package(And if I play FF6, I tend to put a lot of little bug fix patches and stuff on it, so there's patch stacking there as well).
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 03, 2012, 09:14:38 pm
Successful adoption of a new format is about making it easy for other people to use your format.  As long as every patch that is distributed in this format comes with a nice readme that has step-by-step instructions and direct links, people will use it.

That is one of the problems with hacks, some authors fail to provide good instructions or specifics as to what ROM they hacked (headered/unheadered, interleaved or not, region, version, etc..) That is a feature I like about BPS is that it stores the checksum, so a user can know if he is at least using the correct ROM or not. I also like that the format allows metadata to be embeded with the patch.

Or, even better, if you could host the patch file along with the web patcher, and just have a button to click on and navigate to your rom.

A web patcher could easily support multiple patch formats as well... Someone should write a multi format patcher.  ;) :D

Soft patching is easy peasy, but not compatible with patch stacking as you call it. It's basically just rename a ROM and the patch to have the exact same name aside from the file extension. Boom, you're done. I'm not a fan, I prefer hard patching so everything's in one package(And if I play FF6, I tend to put a lot of little bug fix patches and stuff on it, so there's patch stacking there as well).

Image if I had multiple hacks or translations of the same game... Then I would have to rename the game each time I wish to use one of them. Soft patching seems unnecessary to me, unless the goal is to have every ROM released ever  :o. I simply keep the best localized version and that is it. 
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: KingMike on November 03, 2012, 09:59:59 pm
If I may ask, what kind of drama occurred when NINJA was released?

I don't think it was drama concerning NINJA itself, but something between D (author of the format) and RHDN.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Lilinda on November 03, 2012, 10:34:51 pm
That is one of the problems with hacks, some authors fail to provide good instructions or specifics as to what ROM they hacked (headered/unheadered, interleaved or not, region, version, etc..) That is a feature I like about BPS is that it stores the checksum, so a user can know if he is at least using the correct ROM or not. I also like that the format allows metadata to be embeded with the patch.

A web patcher could easily support multiple patch formats as well... Someone should write a multi format patcher.  ;) :D

Image if I had multiple hacks or translations of the same game... Then I would have to rename the game each time I wish to use one of them. Soft patching seems unnecessary to me, unless the goal is to have every ROM released ever  :o. I simply keep the best localized version and that is it.

Well, you're assuming people would keep multiple translations of a game lying around... most soft patching folks just grab one translation or level hack patch and then rename it to match the rom. That's all they ever do.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 04, 2012, 12:06:17 am
Well, you're assuming people would keep multiple translations of a game lying around... most soft patching folks just grab one translation or level hack patch and then rename it to match the rom. That's all they ever do.

That is true, even I only keep one translation version, but I will screen multiple translations before I pick the one I will keep (I am pretty sure I am not unique in that regard) and it would be a pain to do multiple renames when I am switching between them as I compare them.

It would be more accurate for me to have said hacks. There are many games that have complete hacks that completely transformed the game into a new experience. Sonic 1 with Amy, Knuckles or Sally are good examples, each one is quite unique (warning there is more than one Amy hack, but only one is good). An even better example are the Super Mario Bros. hacks, there are about 20 good complete unique hacks. There are also a ton of SMW hacks that have certain unique elements to them... Some hacks flat out change the game to a completely different one, that doesn't resemble the original at all.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: KaioShin on November 04, 2012, 03:41:58 am
It's curious that you say soft patching isn't a big feature for BPS, it was my understanding that the only reason byuu wasn't happy with xdelta and had to develop the wheel anew again was because xdelta was too convoluted for him to implement soft patching into bsnes...

If you are refering to the small size improvements of BPS over xdelta when you said it was the optimal format to use, well xdetla conciously gives up compression perfection to achieve patch creation in linear time. And if you are dealing with input files that can be 10 billion bytes long (DVD9 image) that's a requirement, not something nice to have. That you have to patch discs as directories and rebuild them is a pretty hefty burden. especially on average newbie end-users. You say that's a limitation of the current implementation and not the format, well I'm betting that the size benefits are also from that current implementation and not the format, and if you'd use something faster you'd lose the size advantage instead. "Perfect" delta comparison shouldn't be possible without outrageously expensive brute forcing.

Edit: Wording and typo.

Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Dwedit on November 04, 2012, 05:01:25 am
Will BPS support creating and applying patches on multiple source or destination files, or is it strictly for single files only?

Example: A FDS to NES conversion that wants both DISKSYS.ROM and a .FDS file, and generates one output file.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 04, 2012, 10:49:21 am
It's curious that you say soft patching isn't a big feature for BPS, it was my understanding that the only reason byuu wasn't happy with xdelta and had to develop the wheel anew again was because xdelta was too convoluted for him to implement soft patching into bsnes...

I am saying, I don't think soft patching is an important factor in getting a patching format adopted by the general public. It might be important to emulator authors, but I don't think ROM hackers need to worry about whether their stuff can be soft patched by the public. In fact, when I first got into ROM hacking there was no such thing as soft patching in any emulator and that didn't stop us or even concern us.

The fact that there will be emulators that support soft patching with BPS is just a nice bonus, but it is not a deciding factor as to whether the format has any merit.

If you are referring to the small size improvements of BPS over xdelta when you said it was the optimal format to use, well xdetla consciously gives up compression perfection to achieve patch creation in linear time. And if you are dealing with input files that can be 10 billion bytes long (DVD9 image) that's a requirement, not something nice to have. That you have to patch discs as directories and rebuild them is a pretty hefty burden. especially on average newbie end-users. You say that's a limitation of the current implementation and not the format, well I'm betting that the size benefits are also from that current implementation and not the format, and if you'd use something faster you'd lose the size advantage instead. "Perfect" delta comparison shouldn't be possible without outrageously expensive brute forcing.

BPS has smaller sizes than xdelta? I noticed that a compressed BPS created by screwtape's implementation beats xdelta's according to the spreadsheet, but I kind of assumed xdelta files might still be able to be compress down a little bit more. Although, I did read somewhere that xdelta files compress poorly, because they are already compressed (It is part of the spec?). Either way, I don't know much about xdelta, so I can't really comment on it other than to say I thought the negative with xdelta was its complexity to implement and use. I was pretty sure that xdelta could win in file sizes and was the most "optimal" in terms of small patch sizes, but I may have to look into that. I do feel BPS can provided better quality patches thanks to its many features.

Will BPS support creating and applying patches on multiple source or destination files, or is it strictly for single files only?

Example: A FDS to NES conversion that wants both DISKSYS.ROM and a .FDS file, and generates one output file.

He said the spec is done, so I think it is safe to say that he will not do anything that will change it. Are you against distributing a patch that contains the DISKSYS.ROM data inside it?
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Kiyoshi Aman on November 04, 2012, 11:09:07 am
Actually, ROM hackers should be concerned about soft-patching, for several reasons:

Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: KaioShin on November 04, 2012, 11:22:43 am
I thought the negative with xdelta was its complexity to implement and use.

But there is no reason to implement it again except for soft-patching. The reference implementation works on practically any platform and has been developed and tested for 15 years. And with a frontend it's as easy to use as picking a patch and a rom file, how much easier to use can it get?
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 04, 2012, 11:54:45 am
Actually, ROM hackers should be concerned about soft-patching, for several reasons:

  • It allows them to test interactions between multiple patches without having to apply them individually.
  • It makes it easy for end users to use patches because they just have to put the patch and the ROM in the same directory.
  • Soft-patching makes prepatched ROM distribution that much sillier. (Not, y'know, that this actually stops anyone...)

We will have to agree to disagree on soft patching's importance (except for your last point on the list, that is a good one). It is a moot point anyways, because there are already forces out there implementing soft patching with BPS and it is technically easy to add to any open source emulator by most programmers.

Edit: Maybe the first one too, but that means I would have to have faith that it is not a bug in the soft patching implementation or emulator. I would still end up hard patching and testing on the emulator and/or hardware, so that is why I don't consider it a 100% valid reason.

But there is no reason to implement it again except for soft-patching.

Xdelta does not offer all that BPS does, so I fail to see why it is wrong to make a delta patcher that has more/different features than xdelta (regardless of whether soft patching is one of them or not)

The reference implementation works on practically any platform and has been developed and tested for 15 years. And with a frontend it's as easy to use as picking a patch and a rom file, how much easier to use can it get?

By implement, I mean writing your own code from scratch based on the spec. To many emulator authors that is important and it frees them from having to use someone else's licence. Having to download two separate programs to do a simple patch is not what I call convenient. For example, with IPS you can download just lunar ips and be done with it no real explanation required. With xdelta you would have to explain to the user that they need to download and use a frontend. But I feel this is a moot point, as I feel users are more than willing to do anything we ask in order to play a game (including downloading and running 10 programs if necessary to patch one game). This discussion is about in comparison to BPS. BPS is less complex to implement (So programmers are happy) and simpler to use (Less applications for the end user to get).
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: KaioShin on November 04, 2012, 12:18:02 pm
Xdelta does not offer all that BPS does

Mostly the stuff UPS already had (handling of SNES headers, embedded readme) and no one cared about back then.

Quote
To many emulator authors that is important
Only to byuu and his OCD.

Quote
For example, with IPS you can download just lunar ips and be done with it no real explanation required.

And the frontends come bundled with xdelta, so they only just download one file and are done with it too. They start the frontend and never even notice there is a command-line application running in the background.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 04, 2012, 01:11:28 pm
Mostly the stuff UPS already had (handling of SNES headers, embedded readme) and no one cared about back then.
That is the point of BPS, it offers the best that Xdelta and UPS had to offer in one format. 

You also appear to have not done your research and have issues with byuu. To my knowledge BPS is blind to file type (meaning there is nothing done special to handle headers), it works with any file type. The only reason it helps with the issue of headered/unheadered ROMs is due to the fact that the format stores checksums. BPS/beat does not handle SNES headers, unlike UPS.

Only to byuu and his OCD.
Why the hell does the world revolve around byuu for everyone? That statement is wrong on so many levels, that I don't even know how to respond to this.  I have never met a programmer that prefers to implement complex crap when there is a simpler alternative. What drugs are you on, if you think licencing is not an important issue for programmers? I guess the hundreds of different licences out there, were all developed by byuu since he is the only one that cares. Many, if not most, programmers like retaining some level of control over their work. You need to have a discussion with SteveSnake and tell him he should use other peoples code and use their licence in his work and see how quickly he will rip you a new one. This is coming from someone that recommended he use a library coded by someone else for a feature he did not have in his emulator, but I guess SteveSnake is also byuu. Please people, discuss the merits of BPS or beat, but not byuu.

And the frontends come bundled with xdelta, so they only just download one file and are done with it too. They start the frontend and never even notice there is a command-line application running in the background.

Notice I said download two separate applications. You are just repeating what I said.  ::) Unless you actually think my issue was whether they are package together or not. If you got a temp job doing technical assistance, you would probably last only a day. A lot of people would see two applications and start freaking out, some will even click on the command line application see it pop up and think it was a virus and that now their computer is infected. The reason desktop shortcuts are necessary for the average consumer, is due to their inability to recognize main applications in folders. You presume that because you are intelligent enough to have no issue with using a frontend, that no one else will. Sorry to burst your bubble, but that is not the case for millions of people. Some people need to be taught how to properly use a program and xdelta is not the shining example of a user friendly program that you seem to think it is. (Neither is beat, but it is a hell of a lot better than xdelta).

Lets run the scenario of an average windows user. They download a Xdelta patch that is for some game and like most people they will ignore the supplied readme. They type xdelta into Google and immediately the xdelta homepage pops up as number one (http://www.google.com/#hl=en&sugexp=les%3B&gs_nf=3&cp=4&gs_id=l&xhr=t&q=xdelta&pf=p&safe=off&output=search&sclient=psy-ab&oq=xdel&gs_l=&pbx=1&bav=on.2,or.r_gc.r_pw.r_qf.&fp=370f63a028220be6&bpcl=37189454&biw=1333&bih=674). By luck they actually download the correct version for their system from the looooong list of downloads on that pages download link (http://code.google.com/p/xdelta/downloads/list). They pick the installer as that is what they normally do when they want a program. After it is installed they are shocked to see the program folder lacks a shortcut, so using their smarts they figure to look for it with a system search. Once the do this, they click on the icon and nothing happens (The screen flashes breifly). They then go online and learn that they need to use a frontend. So they type in xdelta frontend in and google and get a list of frontends, just as with the first search they pick the top one (http://www.google.com/#hl=en&safe=off&sclient=psy-ab&q=xdelta+frontend&oq=xdelta+frontend&gs_l=serp.3..0i30.2330.4975.0.5313.9.5.0.4.4.0.129.384.4j1.5.0.les%3B..0.0...1c.1.-H25FvG7yxg&pbx=1&bav=on.2,or.r_gc.r_pw.r_qf.&fp=370f63a028220be6&bpcl=37189454&biw=1333&bih=674), which takes them to ROMhacking's page for this front end.
(http://www.romhacking.net/newsimages/newsimage980a.png)

I will stop here as it is obvious where I am going, but I will note that frontend image looks far scarier than something like this
(http://www.romhacking.net/newsimages/newsimage1304a.png) or (http://www.romhacking.net/utilities/screenshots/240screenshot1.png)

All of that is still a moot point, because I feel a user will do or learn anything necessary in order to play a game. But I find it ridiculous that someone would claim xdelta is just as simple to use as lunar ips or beat. Hell, beat even has a help button that neither of the two examples I posted have. The mere fact that there are so many frontends written for xdelta is proof that it is not user friendly.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: kode54 on November 04, 2012, 02:09:59 pm
(http://www.romhacking.net/utilities/screenshots/598screenshot1.png) (http://www.romhacking.net/utilities/598/)

Sure looks convoluted to me...
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 04, 2012, 02:11:51 pm
 ::) Did you even read what I wrote. That is not the first frontend that is seen.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Pennywise on November 04, 2012, 02:13:23 pm
You're argument on the bottom has been rendered pointless by xdelta UI, which is just as simple and easy to use like Lunar IPS.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 04, 2012, 02:14:39 pm
You're argument on the bottom has been rendered pointless by xdelta UI, which is just as simple and easy to use like Lunar IPS.

Wrong. My argument is that a simple frontend is not the first to be seen. Actually that isn't my argument, but it was a minor point to my augment. My argument is that xdelta is not user friendly. It needs a frontend in order to be close to being user friendly.

I find it odd that so many people are trying to argue, whether xdelta is user friendly, when it is almost common knowledge that it is not. You would have an easier time arguing whether a frontend for xdelta is user friendly or not, but that is not my point. My point is that xdelta needs one because it is not user friendly.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: mz on November 04, 2012, 02:17:43 pm
The mere fact that there are so many frontends written for xdelta is proof that it is not user friendly.
I would say that so many people writing stuff for xdelta is proof that it's actually good/useful for most people, unlike this BPS thing...
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Pennywise on November 04, 2012, 02:24:26 pm
Yeah, xdelta UI comes bundled with a grand total of three files and one is a readme. It doesn't get more easy and simple as that. Who cares if it's a front end, it does the job very well.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 04, 2012, 02:49:38 pm
Yeah, xdelta UI comes bundled with a grand total of three files and one is a readme. It doesn't get more easy and simple as that. Who cares if it's a front end, it does the job very well.

I give up, you guys lack the ability to read.  Xdelta UI is always the first thing that pops up when I search "xdelta", but I don't know why people write frontends for it anyways. xdelta is possibly the easiest software to use, that is why it has such "wide spread" use among average people. ROM hackers like me are too dumb to see that and that is why we have stuck with ips all these years.

I would say that so many people writing stuff for xdelta is proof that it's actually good/useful for most people, unlike this BPS thing...

All I can say is that that makes no sense what so ever. Xdelta has been around for awhile and that is why it has more stuff written for it. I guess we should never upgrade to different operating systems, programming languages or any new technology, because the older stuff has more things written for it and therefore are better.  ::).

 :thumbsup: Don't try new medicines either, they aren't as prescribed as the older stuff.  :thumbsup:
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: PhOeNiX on November 04, 2012, 02:54:48 pm
A patching format is not user-friendly, it is a patching format, period. The motivation behind the existance of many frontends for xdelta is that the programming API for generating and applying xdelta patches is horribly programmed and not documented at all . Once one will embed the xdelta patching code into a GUI program, xdelta would become the de facto patching standard for the ROM hacking community. This is a problem that I was considering to resolve with Delta Patcher 2.0, that would include the xdelta3 source code inside the executable, reducing the amount of GUI widgets (like the log window).
BPS is a very good specification for a patching standard and I would be very happy to see new hacking projects using BPS but it lacks programmers at implementing a fast and optimal algorithm for generating BPS patches.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 04, 2012, 03:04:36 pm
A patching format is not user-friendly, it is a patching format, period. The motivation behind the existance of many frontends for xdelta is that the programming API for generating and applying xdelta patches is horribly programmed and not documented at all . Once one will embed the xdelta patching code into a GUI program, xdelta would become the de facto patching standard for the ROM hacking community. This is a problem that I was considering to resolve with Delta Patcher 2.0, that would include the xdelta3 source code inside the executable, reducing the amount of GUI widgets (like the log window).

We are talking about the application and it is great as it is, so you shouldn't waste your time writing any thing further for it.  :thumbsup:

BPS is a very good specification for a patching standard and I would be very happy to see new hacking projects using BPS but it lacks programmers at implementing a fast and optimal algorithm for generating BPS patches.

Who cares that beat functions fast enough for 90% of the ROM hacking projects out there. Nobody should use it, because xdelta is older and has less annoying features that would give us options that some of us would not use.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: PhOeNiX on November 04, 2012, 03:10:31 pm
Who cares that beat functions fast enough for 90% of the ROM hacking projects out there.

This is not true, ROM hacking cannot stick to NES/SNES hacking forever. Playstation, Playstation 2, Wii, PSP, NDS and many other gaming platforms whose games are more than 300 MB in size need a fast patching tool, regardless of the game size. As I can see, RHDN is a community devoted at very old console hacking like NES/SNES, Genesis etc. but it is slowly moving to 32 bit systems like PSX, as recently opened threads demonstrate. When BPS would become fast enough to produce patches for ISO and NDS cart images, I will definitely drop xdelta.

P.S. By forcing BPS to do checksum verification, many patches obtained from an ISO image would not work in many cases, since ISO images are very dependent on the software you used to make them. This is why the xdelta format is suitable for such tasks, since it can be used to produce checksum-less patches.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: KaioShin on November 04, 2012, 03:17:18 pm
Who cares that beat functions fast enough for 90% of the ROM hacking projects out there.

So does IPS. And xdelta works for everything where IPS fails. And again, if you just want to replace IPS for SNES level stuff, UPS already tried that. For old games there is just no advantage at all over UPS. The only new thing here is the delta patching, which is needed for big and new games. And that's where patch creation fails! This project is simply stillborn.

The only thing that a new format could bring to the table would be one that works across the board from tiny to biggest files. And beat just fails here, end of story. But it's ok, continue throwing a tantrum.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 04, 2012, 03:27:12 pm
This is not true, ROM hacking cannot stick to NES/SNES hacking forever.
Poor MD, SMS, GBA, GB. No love for them  :'(  ;)

Playstation, Playstation 2, Wii, PSP, NDS and many other gaming platforms whose games are more than 300 MB in size need a fast patching tool, regardless of the game size. As I can see, RHDN is a community devoted at very old console hacking like NES/SNES, Genesis etc. but it is slowly moving to 32 bit systems like PSX, as recently opened threads demonstrate. When BPS would become fast enough to produce patches for ISO and NDS cart images, I will definitely drop xdelta.

Even if somebody writes a faster implementation, it is pointless. If you didn't notice from several people in this thread, there is nothing worthwhile about the BPS format. There are no problems that need addressing. Clearly byuu is such an ass, that anything he writes is by extension worthless. I pray he doesn't waste his time and find some cure for cancer, then we will have to prove to everyone that it is unnecessary, chemotherapy and radiation are good enough.

Some loser in another forum is looking at making a faster implementation, but I will make sure to point him this way so he can lose interest in his project.  :thumbsup:

The only thing that a new format could bring to the table would be one that works across the board from tiny to biggest files. And beat just fails here, end of story. But it's ok, continue throwing a tantrum.

Yeah, h.264 was a waste of time when it was developed. The reference encoder was slow as hell and there was no alternatives at its finalization, but some idiots decided to do their own implementation based on the spec and created x264. Morons, the only new thing it offered was HD and a Mpeg could still be made to do that. People should always stick to the first implementation and use that to judge a format. I wish everyone was as smart as you KaioShin, but unfortunately they are not and we are stuck with stupid formats like h.264. The worse part is now we have h.265 and the reference encoder is even slower, please educate the world about how pointless it is.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Klarth on November 04, 2012, 03:38:47 pm
Discussions like this are why human nature is flawed.  There will always be schisms over the most trivial topics.  Here's my take on this thread.

(http://i.imgur.com/z8gWA.png)
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: PhOeNiX on November 04, 2012, 03:41:44 pm
Even if somebody writes a faster implementation, it is pointless. If you didn't notice from several people in this thread, there is nothing worthwhile about the BPS format. There are no problems that need addressing. Clearly byuu is such an ass, that anything he writes is by extension worthless.

It seems that you can't read what I write: "BPS is a very good specification for a patching standard and I would be very happy to see new hacking projects using BPS". So, no one here is saying that byuu is an ass, don't spread something that no one has said.
Quote from: Tater Bear"
People should always stick to the first implementation and use that to judge a format. I wish everyone was a smart as you KaioShin
As you said earlier, we are not talking about the patch format, we are arguing about patchers, so we are saying that beat is not useful at all at this state, it seems that you want to understand only what it is confortable to you.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 04, 2012, 03:47:06 pm
It seems that you can't read what I write: "BPS is a very good specification for a patching standard and I would be very happy to see new hacking projects using BPS". So, no one here is saying that byuu is an ass, don't spread something that no one has said.

Look up this word, sarcasm (http://dictionary.reference.com/browse/sarcasm?s=t).

we are saying that beat is not useful at all at this state, it seems that you want to understand only what it is confortable to you.

I was agreeing with you. The fact that it works on only 90% of the existing ROM hacks, makes it completely useless.  :thumbsup:
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: PhOeNiX on November 04, 2012, 03:53:20 pm
I was agreeing with you. The fact that it works on only 90% of the existing ROM hacks, makes it completely useless.  :thumbsup:

I don't like to repeat myself, this is not true, the 90% of rom hacks out there are not for NES/SNES GBA SMD GENESIS and whatever up to 16bit console you can imagine. The whole set of rom hacks done by SadNES city is prevalently on PSX, Gemini works on PSX, every single human being on GBATemp works on NDS. Are you still sure that the 90% of rom hacks out there will find beat useful? As KaioShin stated, the "90%" of rom hacks that you are claiming to be confortable with BPS are also confortable with UPS and IPS, so, the only advantage of BPS over UPS/IPS etc is delta patching, that is useful for other type gaming console.
I will not repeat myself one more time, I hope you got it.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: BRPXQZME on November 04, 2012, 03:56:07 pm
I have never met a programmer that prefers to implement complex crap when there is a simpler alternative. [...] Many, if not most, programmers like retaining some level of control over their work.
Not to point fingers at anyone in particular, but a lot of people do the former because of the latter....
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: PhOeNiX on November 04, 2012, 04:03:20 pm
GPL'd programs, and other open source variants were defined for code reuse and not to reinvent the wheel. IMHO, there is no point to recode something to take control over it, since you have any level of control over open source code. xdelta is awful in its code, but it is still usable as a patching library if you are good enough.  A fantastic contribution to the romhacking community would be an alternative implementation of xdelta or a portable patching library for such a format.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 04, 2012, 04:06:22 pm
I don't like to repeat myself, this is not true, the 90% of rom hacks out there are not for NES/SNES GBA SMD GENESIS and whatever up to 16bit console you can imagine. The whole set of rom hacks done by SadNES city is prevalently on PSX, Gemini works on PSX, every single human being on GBATemp works on NDS. Are you still sure that the 90% of rom hacks out there will find beat useful?

Hey if you feel there are more hacks available for newer systems, then be my guest. I will not try to change your mind.  :thumbsup:

If you ever get bored add up the hacks currently available for these older system (From the atari to last 16-bit systems) and don't forget the old computer systems and arcade cabinets. I am sure you are right and the entirety of several decades worth of game has less hacks than more modern system hacks that we have only just recently figured out how to hack and distribute in the past couple of years.

Not to point fingers at anyone in particular, but a lot of people do the former because of the latter....

True. (No sarcasm implied)
Title: .
Post by: creeperton on November 04, 2012, 04:07:24 pm
.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: PhOeNiX on November 04, 2012, 04:09:04 pm
You really don't want to undersatand, there could be also 100% of rom hacks out there that are confortable with BPS, but they are all rom hacks that are confortable with any other patching format invented. So BPS is pointless for such hacks, got it?
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 04, 2012, 04:15:44 pm
You really don't want to undersatand, there could be also 100% of rom hacks out there that are confortable with BPS, but they are all rom hacks that are confortable with any other patching format invented. So BPS is pointless for such hacks, got it?

I already agreed with you that BPS features are useless. There are older formats that get the job done, without annoying feature or options. Why must I keep agreeing with you, when will you ever be satisfied? I am only human, if you prick me do I not bleed?
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: PhOeNiX on November 04, 2012, 04:18:15 pm
There is no point to continue, since seems that you like only trolling people. These were my arguments, go in peace.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Zoinkity on November 04, 2012, 04:29:10 pm
I'm not quite certain why anyone is saying that delta patching is useless for small files.  It's usefulness is dependant on how data has been altered.  If you shift data any delta patcher is going to produce a better patch, regardless filesize.

At any rate, I'll probably be using it for N64 hacks nowadays.  It's more suited to what I do and there isn't an issue with automation.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 04, 2012, 04:32:58 pm
There is no point to continue, since seems that you like only trolling people. These were my arguments, go in peace.

Sorry, if I upset you. If it helps you feel better, I plan to continue using ISP. It is a strong standard and has been around for decades and works for all files (that I would use it on) and it has many user friendly patchers ;D. When the time comes to switch patching formats, internet connections will be fast enough that I will just download pre-patched games with a torrent. In fact, I can do that right now, patches are already obsolete :o.

At any rate, I'll probably be using it for N64 hacks nowadays.  It's more suited to what I do and there isn't an issue with automation.

Congrats on having an adventurous spirit. Let us know your thoughts on the format and how it has worked out for your projects.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Lilinda on November 04, 2012, 07:51:29 pm
Poor MD, SMS, GBA, GB. No love for them  :'(  ;)

I want to point out that there are GBA games are 32 megs or larger, thus incompatible with IPS. They're not all that common, but they do exist.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: FAST6191 on November 05, 2012, 07:20:27 am
I want to point out that there are GBA games are 32 megs or larger, thus incompatible with IPS. They're not all that common, but they do exist.

Furthermore the full 32 megabyte window is available to all games without exception or issue (even pointer maths should continue to work) and we have already seen a handful of hacks go into this space (Polish Kingdom Hearts, a couple of the fire emblem hacks and several prototype/alpha patches) even if they would not otherwise classify as a 256Mbit title (it is a free 16 megs of space after all and there are also many ROM images that go right up to the 16 meg line).
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: DaMarsMan on November 05, 2012, 05:09:44 pm
I see a lot of arguing going on in this thread and it sucks because this is an important step towards something better than IPS.

I doubt Nightcrawler would go for this but what if we had some sort of web interface where a user could upload a file, a patched file and the server would run the necessary commands to generate xdelta, bps and ninja style formats so that everyone could be happy. This would work for small files under 30MB and there could be exceptions for custom formats for extremely large files. The uploaded files could be deleted after generation. I'm not sure about the legal aspects of this and it would probably require more server load but I would be willing to bet that some of the RHDN previous donors would pitch in to make some sort of thing like this possible. Just a thought.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Garoth Moulinoski on November 05, 2012, 05:28:57 pm
Actually, He just might be interested... (http://www.romhacking.net/forum/index.php/topic,14949.0.html)
Title: .
Post by: creeperton on November 05, 2012, 07:38:17 pm
.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Garoth Moulinoski on November 06, 2012, 10:42:09 am
It's always a good idea to make code as modular as you possibly can.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Recca on November 06, 2012, 09:57:16 pm
I honestly don't know why people these days keep trying to create pointlessly diffcult to use things. IPS patches are small, easy to use/create and are the most widely used. They work just well and I see absolutely no point in trying to replace it. Alright, I understand doing so for games over 32 MB, but it makes no sense to use other patch formats other than IPS for Snes/Gens games and other older platforms. I was pretty annoyed when UPS patches started appearing for Snes translations and now this new patch format appears... Whatever, I'm going to continue using IPS patches and hopefully others will as well for Snes/Gens translations.

And not to mention that average gamers who aren't romhackers/translators will have a hard time trying to use these newer patch formats...

Edit: Also in response to an earlier post in this thread, most GBA games are 16 MB like the three Fire Emblem games, so IPS patches can be used on them as well. In matter in fact, the translation patch for Fire Emblem - Fuuin no Tsurugi is in IPS format and works just fine.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: FAST6191 on November 07, 2012, 04:18:44 am
I honestly don't know why people these days keep trying to create pointlessly diffcult to use things. IPS patches are small, easy to use/create and are the most widely used. They work just well and I see absolutely no point in trying to replace it. Alright, I understand doing so for games over 32 MB, but it makes no sense to use other patch formats other than IPS for Snes/Gens games and other older platforms. I was pretty annoyed when UPS patches started appearing for Snes translations and now this new patch format appears... Whatever, I'm going to continue using IPS patches and hopefully others will as well for Snes/Gens translations.

And not to mention that average gamers who aren't romhackers/translators will have a hard time trying to use these newer patch formats...

Edit: Also in response to an earlier post in this thread, most GBA games are 16 MB like the three Fire Emblem games, so IPS patches can be used on them as well. In matter in fact, the translation patch for Fire Emblem - Fuuin no Tsurugi is in IPS format and works just fine.

As you yourself hint at there is something to be said for having a broadly used/universal format and IPS (even with all the various extensions) can never be it should hacking wish to continue on more modern systems. Likewise some aspects of delta patching can work around basic headers (interleaved is a different matter) and if we are going ultra theoretical if you are shifting code around a game (rarely done I know unless you have a file system) or for a more practical/reasonable example dealing with compressed data (one is advised to decompress the entire file rather than edit in place when it comes to compression) the IPS version of the patch would just see a change and thus carry copyrighted data (the dodging of which is half the reason for using patches in the first place).

Re: Hard time to use. I am sure we have all seen some cases of what can only be described as wilful ignorance but there are a few nice GUI programs (which amount to select original file, select patch file and select output) and I have long seen very specific readme files and batch files (with appropriate command line tool) bundled with things- the Wii pretty much mandates batch file use. Now I can get behind some of the patching programs for flash carts and emulators carrying built in support being rendered slightly less useful by things like this though it not an argument I will hold to for very long.

If the fire emblem comment was directed at an earlier post of mine technically the EU version of sacred stones was 256Mbit and I did deliberately say some of the non English translations* when discussing those (several of the GBA flash carts can not fit them in fast memory and for once in life bigger filesize can mean better when it comes to games), not to mention several of the game/map and sound hacks (and Fire Emblem is set to be up there with pokemon, advance wars and golden sun in the nice premade tools stakes) rather than translations are heading that way. To that end I can get behind a call in those circles to require non IPS formats as standard, that said spinning off an IPS patch for legacy program/emulator reasons where possible couldn't hurt. Whether this format is the best candidate for this task seems like something we should be debating in this thread.

I sense I am just adding to the repetition of ideas from http://www.romhacking.net/forum/index.php/topic,14949.0.html (which I believe was already linked in this thread) so I will end for the moment.

*Whether it was a technical requirement or just a dislike for remapping data over the original data I am unsure of at this point, either way it does not change anything.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Kiyoshi Aman on November 07, 2012, 07:02:59 am
Okay.

Here's the problem with these new formats:

They suck at the same things IPS sucks at, for no good reason.

Any proper replacement needs to:

Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 07, 2012, 12:39:06 pm
Here's the problem with these new formats:

They suck at the same things IPS sucks at, for no good reason.

xdelta, UPS, BPS, and NINJA are all improvements over IPS. Only things IPS has over them is its simplicity and wide spread use.

Any proper replacement needs to:

  • Support multiple ROMs without requiring multiple patches.
Part of the BPS spec, it is blind to file type. I misunderstood, the point. You can simply just not use the file verification option and your BPS patch will work fine on multiple ROMS.
  • Support a range of game sizes, from 16k NES ROMs to multi-gigabyte PS3 titles.
Part of the BPS spec, there are no file size limits (Unlike IPS), meaning large files ARE supported
  • Require little to no effort for end-users to use.
Simplicity is part of the BPS design goal
  • Provide for soft-patching, at least on older/smaller games.
BPS was designed so this could be done.
  • Produce reasonable patch sizes for most cases.
BPS allows for extremely small sized patches (especially when compared to IPS) and has been demonstrated to be capable of beating xdelta patches
[/list]

Since you specifically are talking about formats, I guess you will support the BPS format, as it can do all those things in your list and it doesn't suck at all the things IPS does. Just look at the specification.

I recently discovered BPS can do patch-stacking just fine, only difference is its files are smaller than IPS files  ;). If you don't know how to program and want to try it for yourself, I recommend you use V03 of beat as it has a check box to ignore checksums.

People here seem to be stumbling over the difference between a format vs implementation. That is why in my previous post I brought up h.264. As a video format, its spec allowed for many things and it was featured packed with options. Its primary purpose was to allow the playback of HD content from smaller files. Its reference encoder sucked horribly and many computers could not even playback the files at full speed. Was this a problem with the spec? Not really, it was a problem of the implementations. There were people that argued that the format was unnecessary and that a ASP MPEG-4 (h.263v3) could playback HD content and at full speed just fine. In fact, some went as far to say a MPEG2 (h.262), was good enough for HD playback. Some people even said that playback and use of h.264 files would only be possible if there was hardware support, as software was not practical. The X264 team wrote their own implementation of an encoder, even though reasonable HD playback was not possible on most computers (Which is not an issue with BPS), and it has now become possibly the best video encoder on the planet. Several groups have written codecs that allowed for full speed playback of h.264 through software (Core was the first and divx and ffmpeg soon followed) on slower computers.  Keep in mind that the naysayers were people against change and not technical minded, fortunately the video encoder community is not filled with narrow minded people, but people that look to the future.

Lets compare formats at launch

H.264BPS
Reference Encoder speedSlow on small and large filesFast on common file sizes, slow on large files.
Reference Encoder quality Horrible. Loses in image quality to encoders for other formats and is not user friendly.Excellent. Beats ISP files in size and can even beat xdelta on several files. It is simple to use and has a help menu.
SpecificationComplex.(when compared to ALL its competitors)Simple. (When compared to xdelta)
licensingFee must be paid.Free.


I am amazed at the differences between communities.  Is it that the video encoding community is more progressive than this one? We have a format that is light years ahead of h.264 when it was released, yet all we can do is discuss how we should stick to older formats. Thanks to the video encoding community moving ahead and using/supporting h.264, I can now download and watch HD movies in excellent quality at fraction of the size it would have taken for one of the previous formats. A format like BPS can grow with the community. It can work for the small hacks we do now and it will work for the large patches we do in the future. BPS can work with large files, beats implementation is what is slow for creating patches of large files. In fact, you can make a patch for a large file with the current version of beat if you are simply willing to wait a loooong time for it to finish (I know people that leave their video encoder encoding a file for days). That file that took awhile to make will work just fine for the end user (patch application is not slow for large files). There are at least two individuals I know of that are working on faster encoders for BPS (One of them is byuu).

Edit: Fixed my misunderstanding of Kiyoshi Aman's first list point, and corrected a few more ISP vs IPS typos.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Lilinda on November 07, 2012, 01:33:22 pm
IPS, not ISP
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 07, 2012, 01:43:47 pm
IPS, not ISP

Thanks, I accidentally posted my post while I was still typing it up. Zero checking was done. I finished my post, so it should be slightly more legible.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: KaioShin on November 07, 2012, 02:29:42 pm
Pro salesmen tip: Calling your customers stupid and backwards will certainly help sales.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 07, 2012, 04:41:33 pm
Pro salesmen tip: Calling your customers stupid and backwards will certainly help sales.

Rebuke accepted... Although it was not my intention to sound like I was questioning intelligence.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Nec5 on November 08, 2012, 01:14:57 am
IPS, not ISP
If we add any more variations, we'll be in acronym hell.  IPS,ISP,UPS,USPS,PSP, SOS...
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: BRPXQZME on November 08, 2012, 01:46:09 am
and we shall implement those which we may in the Universal ROM Multi-Omni-Mangler
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Garoth Moulinoski on November 08, 2012, 10:17:17 am
and we shall implement those which we may in the Universal ROM Multi-Omni (http://tvtropes.org/pmwiki/pmwiki.php/Main/DepartmentOfRedundancyDepartment)-Mangler

I guess I now found out what the answer to the question "What comes after the Omniverse" is. The Multi-Omniverse.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Kiyoshi Aman on November 08, 2012, 10:33:17 am
I said nothing about file type.

Let's say I have a hack which works on the Japanese and English versions of a particular game. IPS supports this just fine (for older games). Can BPS?
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Tater Bear on November 08, 2012, 11:33:33 am
Let's say I have a hack which works on the Japanese and English versions of a particular game. IPS supports this just fine (for older games). Can BPS?

Yes, it can do it just fine. Try this (http://byuu.org/programming/bps) older version of beat and uncheck verify data.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: BRPXQZME on November 08, 2012, 05:51:23 pm
I guess I now found out what the answer to the question "What comes after the Omniverse" is. The Multi-Omniverse.
*ur momniverse
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Garoth Moulinoski on November 08, 2012, 06:00:02 pm
Ooh, I see what you did there.

Now, we should stop derailing this thread and let everyone bicker again.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Zoinkity on November 09, 2012, 09:06:52 am
Verifying data is default, in part to ensure everything is in order, and in part because often times games themselves might permit a patch to work but there's usually something else (such as internal checksums) that might confuse less informed people into thinking the thing is invalid.  Case and point, the number of people who will patch a game then worry that Good@Console@ said it was invalid. 

Incidentally, even in linear mode BPS can beat out IPS.  Not just because of a selection method or anything, but because it can use less than five bytes to declare a modification and longer runs don't require segmentation.


One little thing.  UPS wasn't just a somewhat goofy format (no offense), it also borrowed the name of a much older UPS format made during the PS1/Sat/N64 era.  It's basically an extension of IPS, but it's built into certain upload tools and some patches were never converted into another format.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Real_Character on November 20, 2012, 07:18:26 pm
I just wanted to say, if you get an error when compiling on Linux about missing symbols in libX11.so.6, simply add that to line 5 in the Makefile like:

resource := /lib64/libX11.so.6

such as fedora has it, or wherever it's found on your system. That will fix the compile.

....
Anyway, I hope it catches on, although the gui tool I think needs more clarity when creating a patch so that it marks what files you select and when.
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Ti_ on December 13, 2012, 04:29:35 pm
I prefer IPS because it have ips-exe version.  That's so boring to explain someone wtf  is .delta, or .bps  or even .ips, because many people so damn noobs.  :angel:
Title: Re: Utilities: Has the ROM hacking community finally found a patching format to call their own?
Post by: Pikachumanson on December 21, 2012, 03:44:25 am
Well if they wanna play the game they will find out. Otherwise... You can't fix stupid.