Hey guys, I'm wanting to get an enhanced Metroid reproduction made based off of three Metroid ips patches stacked up. I have two of them, but I need some help finding the third.
The first ips is MDbtroid found at
http://metroid-database.com/fanapps.php. This patch changes the general sprites of Samus, Kraid, Ridley, Metroids and a few others to make them look a heck of a lot better. It's not a level hack in anyway and is just an enhancement of the original.
Then I came across this thread:
http://acmlm.kafuka.org/archive2/thread ... ge=0#67851
I am interested in the Auto-Map patch and the wall jumping patch. Problem is the Auto-Map and revised wall jumping links are both broken. I luckily have a Metroid ROM where someone has already applied the auto-map, and using that I was able to add in MDbtroid.
According to the thread, the wall jumping patch overrides the Auto-map patch, so there needed to be a second revision. No matter what I do though, that link seems broken for me.
Does anyone have the ips patch for the revised wall jumping patch in Metroid for NES? I'd be very grateful for any assistance. Thanks!
Edit: Wait... maybe not. Give me a second here.
I just tried again, still get nothing. Only the middle link (the one that interferes with the auto hack) works. Do you have the other ips files Kasumi?
Maybe ask around on the two boards that Acmlm's Board split into, or on Romhacking.net.
Board 2
JustUs League
I found the following.
This video:
http://www.youtube.com/watch?v=xhuA3gxDB-g
which led to this website:
http://snarfblam.com/
Which led to his email. I emailed him, I'll see if I get a response. It is my way of making amends, for jumping the gun on your question.
Isn't this guy the
snarfblam that registered here recently?
I feel foolish for emailing him now. I'm a better googler than that.
http://members.fortunecity.com/grond1911/metroid.html
There it is.
thanks, but there's only one walljump patch there. Can anyone confirm if the walljump patch in that link is the one that doesn't override the automap patch?
If not, then I'm stuck at ground zero again. Thanks guys.
The wall-jump patch linked to does conflict with the automap patch. The source is included, though. It would be pretty easy to modify the wall jump code to work with the automap patch. I'd be glad to help, if needed.
I'll be honest, all I did was check to make sure it was a different patch than the one that WAS available.
The zip it was contained it had the exact same filename as the one in the broken link, so I assumed that was probably it.
Anyway, thanks snarfblam for coming. If it was due to my email, I apologize for summoning you even though I found that shortly after.
Great. Can someone please please modify the wall jump ips patch so it does NOT interfere with the auto map? As noted, the source code is there for the smart people to look over. Considering it's been done (but a dead link) it shouldn't be too difficult to make again. snarfblam, do you think you could do it?
The forum post that linked that zip with both the patches said they worked together if the auto map patch was applied first. I just applied them in that order, and with a cursory check it seems to work fine. Doesn't crash when messing with the first few rooms.
When the walljump patch is applied first, it resets to the title screen each time, however. Honestly, it's black magic that this works one way at all, since they occupy some of the same bytes.
Now, the map patch starts $CA35. If it's 192 bytes like the readme says, it will indeed run into the wall jump patch, which starts at $CACF. (#$CA35+#191 = #$CAF4. #$CAF4-#$CACF = #25. Which means the last 26 bytes of the map patch are overwritten by the wall jump patch.)
But... neither patch seems to place itself in free space in the rom. And not knowing a lot about Metroid, I don't want to mess with them if that's not the case. So yes, up to you snarfblam!
Edit: And... disregard all that. The map patch puts a bunch of zeros after itself. Starting at... guess where? $CACF! So the wall jump patch simply overwrites these zeroes. That's why putting them in the wrong order breaks it. Because 0s overwrite part of the wall jump patch, rather than the wall jump patch overwriting the 0s. But they should be totally safe to use together with no additional problems if they're patched in order.
If anything, I'd say it's the map patch that needs to be updated to not also change more bytes than it needs to, not the wall jump patch.
Wow, that's very strange considering there are some free spaces in the Metroid ROM, IIRC.
wait, Kasumi can you confirm that the three patches DO work together when applied in this order:
1. MDbtroid
2. Auto Map
3. Wall Jump
If they work then I guess I don't need anything else. I haven't tried running this yet.
qbradq: yeah, I looked for free space in the manner of strings of FFs. I only found one, possibly two spots that were large enough for the wall jump patch, but they were quite possibly in an entirely different bank. I don't know a lot about mappers so... For all I know there's a giant set of unused data and functions around $1CA?? that can be safely overwritten, but Metroid looks pretty free of large repeating byte strings.
Edit: MDbtroid? I totally forgot about that one. If it's graphics only, it shouldn't affect anything, but I guess I'll check.
Edit2: Again, a cursory check reveals no problems. The area where the map patch and walljump patch reside aren't affected. MDbtroid adds bytes to the end of the rom. If it only adds to the end of the rom, you could patch with it first, second, or third. If it adds bytes someplace else, I'd save it for third because that would affect the offsets the other two patches expect.
My order:
1. Automap
2. Wall Jump
3. MDbtroid
BTW, I guess now is a good time to plug this program:
http://www.scootersoftware.com/ It makes finding the differences in similar files a total breeze. It's great for extracting hacks, and finding what areas they affect without going through the IPS file manually.
thanks for your help guys. I got it totally working, at least on my powerpak. I'm hoping that when burning the EPROM for a repro it still ends up behaving correctly.
I have one other small thing I'd like to ask if I can.
In my list of romhacks I also found a Metroid that starts Samus with 99 Energy units instead of 30 and also apparently has unused graphics.
The internet name for this hack is Metroid - Unused GFX Tiles & 99 Energy Units by Grond.
I am wondering two things - first if this hack can be used as a base to put on the other three, and the other question I have is just what unused graphics could the hacker be talking about? I wasn't aware Metroid was missing anything. Can someone take a look at the rom and see if they can pull out any sprites that are different/unused?
SatoshiMatrix, it sounds like things got sorted out. It's odd that the map patch has those extra zeros. Anyways, if you do hit a snag, the offer still stands. The 99 life hack is trivial, and as far as the unused gfx goes, there is a small handful of tiles that are unused, Japanese characters excepted. Not even worth mentioning. I played through brinstar, and looked at the rest in Editroid. I didn't see any changed gfx.
As far as free space, there's actually a lot, but it's not obvious. There's a decent chunk of leftover FDS code that you can overwrite in the fixed bank.
Once again, it seems to work with all the other hacks. The number of bytes different between the Grond hack and the original game is very low. There's one set of changes that seems to be mirrored in 5 banks, and then two bytes different somewhere else. I would doubt this is enough to make any hidden graphics visible in game, but I could be wrong. And if the actual CHR graphics were changed in the hack and not the maps, that's meaningless because it's not unused stuff Nintendo left. It's stuff Grond changed.
BTW: Satoshi, you may run into a snag when burning it to an EPROM because of the extra bytes MDbtroid adds. I don't think you could mirror it across a 256kb chip, and if you leave it as is on a 256kb chip, something odd might happen.
MDbtroid might not even use the extra bytes that edittroid seems to have added, so it may be as easy as chopping those off before burning.
Oh boy, I didn't know that. I myself won't be burning the EPROM; its a friend of mine that will be doing it.
From looking over the cartridge itself, Metroid uses a single 128KB mask rom that combines CHR and PRG and then has two 8KB SRAM chips, the MMC1 and the lockout chip.
I didn't consider the size the game would be once the various patches (99 energy, debatably unused graphics, graphic hack via MDbtroid, auto map and wall jump) are applied and what that would do to the size of the rom. What size EPROM will I need for a reproduction?
Are you saying that I'll need a 27C020 (256KB) EPROM or something even higher? I sure hope I won't have to use a 27C040. I've been unable to find those anywhere. 256KB is fine, if I need to know so I can try and secure the correct size chip.
The issue is that MDbtoid makes the game larger than 128KB. That means you can't mirror it evenly on 256KB eprom, and it won't fit on a 128KB eprom. Chopping off the extra bytes MDbtroid adds and seeing if it still works fine is what I would do. If so, you could burn it to a 128 KB eprom with no problem. Else, you burn a 256 KB eprom as is and hope the unwritten areas aren't accessed, or are accessed safely.
Do you have the rom hacking knowledge to remove the bytes in question? If so, could you do that and them email me the edited rom? The powerpak is a pretty good benchmark I've found if something will play correctly once roms are screwed with. my email is satoshimatrix[at]hotmail.com.
Thanks.
If mdbtroid is approx 129 kb (I think 132106 bytes), that's extra data added on by Editroid strictly for editor purposes and can be safely excised (and should be since a couple of emulators complain).
Kasumi provided me with a patch that removes the extra stuff to try out. So far, it seems to do the trick and is fully playable on the powerpak and on my PSP's NESTERP emulator. I'd like to confirm that there's no problems with it...so if you guys want to test it out that would be great.
all four patches in one: (copy and paste)
https://rapidshare.com/#!download|967tl ... ips|20|R~0