(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
05-07-24 01:34 PM
0 users currently in ROM Hacking.
Acmlm's Board - I3 Archive - ROM Hacking - Proposal for IPS repositories New poll | |
Add to favorites | Next newer thread | Next older thread
User Post
sp

Micro-Goomba


 





Since: 11-25-05

Last post: 6631 days
Last view: 6631 days
Posted on 01-10-06 08:58 AM Link | Quote
Hi,

since my last proposal for centralized repositories for ROM/RAM maps was so well received (see Data Crystal and WikiRAM, for example) I want to suggest something else.

I believe it would benefit the ROM hacking community tremendously if we created centralized repositories of atomic IPS patches. Atomic IPS patches are IPS patches that are kept as small as possible and patch just a single functionality into a ROM. An atomic IPS patch basically contains patch data for just one function, taking anything away from such an IPS file would break the patch.

Example for these atomic IPS patches could be adding Shyguy to SMB3, making Mario jump twice as high or reducing mana costs for a spell in some RPG.

I see several potential benefits of creating such repositories. First it will save a lot of time because people won't have to re-invent the wheel anymore. I'm sure how you make Mario jump twice as high is already well-known by some people. These people could just make a small IPS patch named MakeMarioJumpTwiceAsHigh.ips and put it in the repository. Other people could then instantly benefit from this in their own hacks.

The second advantage is modularity. Organizing patch-functionality in a modular way offers all the advantages modules provide for regular software engineering. They simplify hacking projects because they provide a higher abstraction level. Furthermore they make it easier to spot bugs because people who want to make Mario jump twice as high do so in a well-documented manner. More people using the exact same patch means more people can potentially detect problems.

Think about it. Maybe Data Crystal or WikiRam or someone else could integrate such a repository into their websites.


(edited by sp on 01-10-06 08:08 AM)
NetSplit

Paratroopa


 





Since: 11-18-05

Last post: 6449 days
Last view: 6449 days
Posted on 01-10-06 10:04 AM Link | Quote
I don't understand why you would need an IPS patch for something such as your example of "MakeMarioJumpTwiceAsHigh.ips". Would it not be better to say "this is the address that controls jump height" and let the hacker make the change, himself? This would be a much more flexable solution; users would be able to SPECIFY the height, something they can't do with an IPS patch that changes the jump height to a specific value. Your proposed idea only sounds truly effective with adding new things to a ROM such as ASM hacks, and even then there would be problems with hack compatibility. They could use the same space, so certain patches wouldn't work together without being modified; the user might have also done their own hacks that these patches might not be compatible with. It seems to me like explanations of how to do hacks are much more useful than simply supplying IPS patches for those hacks, since if you have an explanation saying how the hack works and whatnot, you can use it with your hack and worry much less about compatibility issues because you would be able to change things around a bit. Your seems as though it would be better handled along with ROM maps as data and explanations rather than just a patch.
HyperHacker

Star Mario
Finally being paid to code in VB! If only I still enjoyed that. <_<
Wii #7182 6487 4198 1828


 





Since: 11-18-05
From: Canada, w00t!
My computer's specs, if anyone gives a damn.
STOP TRUNCATING THIS >8^(

Last post: 6288 days
Last view: 6288 days
Posted on 01-10-06 10:47 AM Link | Quote
Compatibility is the biggest problem. You see it in SMW all the time, where 2 hacks use the same ROM space or memory addresses and the game goes blooey.

Anyway I've thought about this before, and I think some sort of scripted patch system or generic editor (like DRDHack) could be better in that they would allow for some customization. In the case of a script system, say to change the music at some point in the game, it could pop up a box with a list of songs to choose from. It wouldn't have to be a very flexible system, just something simple. A generic editor would be basically DRDHack with the added ability to make large changes (eg insert an ASM hack) at the touch of a button. Basically IPS patching, but relocatable sections and pointers could be implemented, so say if you're putting in an ASM hack it could automatically find free space, put it there, and update the pointers.

Problem is, someone would need to actually write these... is DRDHack still in development? Is the source available?
sp

Micro-Goomba


 





Since: 11-25-05

Last post: 6631 days
Last view: 6631 days
Posted on 01-10-06 11:03 AM Link | Quote
Originally posted by NetSplit
I don't understand why you would need an IPS patch for something such as your example of "MakeMarioJumpTwiceAsHigh.ips". Would it not be better to say "this is the address that controls jump height" and let the hacker make the change, himself? This would be a much more flexable solution; users would be able to SPECIFY the height, something they can't do with an IPS patch that changes the jump height to a specific value. Your proposed idea only sounds truly effective with adding new things to a ROM such as ASM hacks, and even then there would be problems with hack compatibility. They could use the same space, so certain patches wouldn't work together without being modified; the user might have also done their own hacks that these patches might not be compatible with. It seems to me like explanations of how to do hacks are much more useful than simply supplying IPS patches for those hacks, since if you have an explanation saying how the hack works and whatnot, you can use it with your hack and worry much less about compatibility issues because you would be able to change things around a bit. Your seems as though it would be better handled along with ROM maps as data and explanations rather than just a patch.

You raise a few good points but I don't think that they're significant enough to reject my idea. Let me explain.

First, IPS archives are not supposed to replace data repositories. They're mainly meant to compliment them. Ideally each IPS patch would also come with a decent description that tells the user what it does and how the patch works.

Furthermore the atomicity of a patch is not determined by it's size. Sure, maybe making Mario jump twice as high is easy and can be done with a 1-byte patch. This is a trivial example then, and maybe a ROM map would be enough. Adding Shyguy to SMB3 is not nearly as simple. Nevertheless the two patches would have the same atomicity.

The compatibility issue of course exists but I don't think it's too hard to solve. A simple tool could easily remove the vast source of all compatibility problems. This tool could check all IPS patches in a directory and automatically test what patches use the same space and are therefore incompatible. Ideally a IPS repository would also be wiki-style and people could just mention incompatibilities on the page. Incompatibilities that come from other sources but patches using the same data can of course not be tested automatically but I think these kinds of incompatibilities are less likely to occur.
Sukasa

Birdo
Not quite as active as before.
Xkeeper supporter
Xk > ||bass
I IP Banned myself! Twice!








Since: 11-17-05
From: Somewhere over there

Last post: 6288 days
Last view: 6287 days
Posted on 01-10-06 11:37 PM Link | Quote
Originally posted by HyperHacker
some sort of scripted patch system


Well, for SMW I'm working on something along the lines of that, which (thank fucking god) was not on my home computer as of 5 days ago, so it's still around.
Smallhacker

Super Koopa
I AM A Group Of Officially Frustrated Younglings, G.O.O.F.Y. MEMBER








Since: 11-17-05
From: Söderhamn, Sweden

Last post: 6289 days
Last view: 6287 days
Skype
Posted on 01-11-06 02:01 AM Link | Quote
I've had some plans on making my own patching format, DPPS (Dynamic Positioning Patching System), but I never finished coding it.

A DPPS file contains IPS blocks, DPPS blocks and Pointers. First, it patches the ROM with the IPS blocks. Then, it patches the DPPS blocks (where there's free space in the ROM). Pointers are, as you might guess, pointers which are placed in the ROM. These pointers can be set to point to any part of a DPPS block. There would also be a few extra features, like optional RATS protection of inserted DPPS blocks.
Sukasa

Birdo
Not quite as active as before.
Xkeeper supporter
Xk > ||bass
I IP Banned myself! Twice!








Since: 11-17-05
From: Somewhere over there

Last post: 6288 days
Last view: 6287 days
Posted on 01-11-06 02:32 AM Link | Quote
Funny- my system is similar to yours. You start off with a Script header, which has filenames of the script to execute and .bin files to use. your script can have the program look for a length of free space, insert .bin's, change Hex, add in JSL's and that, as well as use If...Then logic for other tags, such as a set of tags to point where in the ROM to keep a table of PC addresses of .bin locations or whatever, for filing uses.
Omega45889

Shyguy


 





Since: 11-18-05

Last post: 6321 days
Last view: 6335 days
Posted on 01-11-06 02:04 PM Link | Quote
Ahh, yes, the limitations of IPS patching again. Not to worry folks, ive got a project in the works that will help out greatly with the whole compatibility issue. Perhaps a database of patches would then be more feasable.
biejor

Goomba
Banned


 





Since: 01-04-06

Last post: 6559 days
Last view: 6559 days
Posted on 01-12-06 09:08 AM Link | Quote
As a very casual hacker: (cheap plug http://classicgames.jordanbieber.com) I would get a lot of value out of your atomic IPS idea. IPS’s (or rough equivalents, as I see there are other ideas here) make hacking much more accessible; and since new hackers (and casual ones) wouldn’t have to relearn what has already be done, their hacking time would then be devoted entirely to new content. I really believe that this kind of knowledge sharing helps grow an online community. (I actually put together a small set of mix and match modular hacks for SMB1 on my site)

Can you imagine if DahrkDaiz made his SMB3 features modular (for example)?

I would also suggest the concept of new baselines. How many times have we seen Zelda, Final Fantasy, or SMB hacks that seem like a hodge-podge because they are trying to update the graphics in a similar manner to what others have already done while simultaneously trying to make their unique hack. A new baseline would be a hack where the rom is updated such that all of the graphics are modernized and game improving features are added (for instance, the FF Water hack), but the basic game is the same. Although some people would still probably want to start from scratch with the original game, I think a great percentage would find value in having an alternative starting point like this. I have examples for SMB, Zelda, and Final Fantasy on my site.
HyperHacker

Star Mario
Finally being paid to code in VB! If only I still enjoyed that. <_<
Wii #7182 6487 4198 1828


 





Since: 11-18-05
From: Canada, w00t!
My computer's specs, if anyone gives a damn.
STOP TRUNCATING THIS >8^(

Last post: 6288 days
Last view: 6288 days
Posted on 01-12-06 09:49 PM Link | Quote
That's called graphics-only hacks, they're made all the time. Most aren't just general improvements though.
biejor

Goomba
Banned


 





Since: 01-04-06

Last post: 6559 days
Last view: 6559 days
Posted on 01-13-06 11:53 AM Link | Quote
“Graphics only” isn’t the whole story. First, there are other changes that again do not affect the game per se, but modernize or add features that can universally be accepted as not straying from the classic gameplay. For instance, the Zelda hack has dungeon palettes hacked to improve the look, and also has the text updated to establish continuity with the modern Zelda games. Final Fantasy has a better translation from the Japanese version, as well as modular improvements such as Item shop bulk buying and moving water (if someone can get me 5 letter names and B Button dash that would be sweet).

Second: “Graphics only” can also mean “complete theme change” (i.e. turning Mario bros into Wario bros) whereas I think the baseline concept implies that the graphics makeover only spruces up the existing theme. For instance, my SMB and Zelda hacks have 100% complete graphics updates (SMB to a combo of SMB3 and SMW and Zelda to Zelda GBC), but Mario is still Mario, Goombas are still Goombas, and Bowser is still Bowser; just more modern looking.
Ice Ranger

Grizzo








Since: 11-24-05

Last post: 6297 days
Last view: 6287 days
Posted on 01-13-06 04:23 PM Link | Quote
I can see the benefit if the IPS patches are ASM related. Not only could it serve as a means to tack a ASM change to a hack, but could also be used a means to further the knowledge of those learning ASM (learning, seeing how 6502 for NES works on in-game situations). Of course with this idea, it would need an included document with the ASM code.

As said before, no need for repeat discoveries.
Add to favorites | Next newer thread | Next older thread
Acmlm's Board - I3 Archive - ROM Hacking - Proposal for IPS repositories |


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.049 seconds; used 413.95 kB (max 517.22 kB)