News:

11 March 2016 - Forum Rules

Main Menu

NES Metroid HD Pack

Started by Aclectico, August 09, 2018, 12:28:12 AM

Previous topic - Next topic

Aclectico

Quote from: DannyPlaysSomeGames on April 25, 2019, 10:15:04 PM
This is literally the same issue I have whenever I apply any ASM to my ROM hack, which, coincidentally, is also based off mOTHER.

Also, the expanded ROM patch is just for expanded ROMs, not M+S 0.3 ROMs specifically, so it doesn't actually convert 0.3 to 0.5. You can try out using this .ips if you want though.
https://drive.google.com/file/d/1HIAGwx9wzEiJ1UQ20vQs4ZR2nSOBy8mx/view?usp=sharing

Either way, that might not fix the issue. It'd be interesting to see what actually causes this reset and if there's anyway to fix it because it's the same damn reset I've been struggling with during the entire development cycle of Xerox Mission. Maybe it's the faster door transition, since messing around with the subroutines for it [20F1E1 (jsr $E1F1)] affects my ROM in interesting ways. (since I added more to increase the speed of the door transitions), so that might be a lead. I would figure it out myself if I knew for the life of me on how to use a debugger and had more time to figure that out, but it's something worth investigating a bit (if you're interested, of course).

Thanks for the suggestion. I tried the file from the download link and it seems to have the same issue... I'm not quite sure how to determine what is causing the reset glitch :(

darthvaderx

Quote from: Aclectico on April 26, 2019, 10:33:05 PM
Thanks for the suggestion. I tried the file from the download link and it seems to have the same issue... I'm not quite sure how to determine what is causing the reset glitch :(

The problem would not be with the SRAM save hack? How about a version with all the updates but without this feature?
See my hacks channel including some of my works:

https://www.youtube.com/user/MyWashington2/videos

SimplyDanny

Quote from: Aclectico on April 26, 2019, 10:33:05 PM
Thanks for the suggestion. I tried the file from the download link and it seems to have the same issue... I'm not quite sure how to determine what is causing the reset glitch :(

Okay so I decided to take a jab myself to see if I could get it to work. While I didn't, I found a few interesting things.

So the problem is not the patch itself; patching it onto regular mOTHER works just fine, so it's probably something else (like maybe both patches overlap eachother?).

I noticed that the patch bundled with Metroid HD is to be used on a vanilla ROM, instead of an expanded one, so I made one for expanded ROMs, but then I found out it would just make Samus not appear and softlock the game, so I made one for mOTHER specifically instead, in order to make it so I can patch the + Saving patch before the HD patch.

So far:
Regular patch then + Saving patch: Resets on save select. (Actually, I thought you meant that it would reset after selecting a save file and going through the whole Samus appears sequence and then it would reset, because that's my issue with Xerox Mission whenever I put ASM in that.)

mOTHER addendum patch then + Saving patch: Same issue as above.

Now for the interesting one:

+ Saving patch then mOTHER addendum patch: Actually goes past Samus bootup but then actually crashes and/or goes back to title when pressing left or right. Weirdly enough, it only happens on the ground, not when in midair or even in Morph Ball mode. So, it's theoretically possible for you to beat the game with this ROM (although you can't use Screw Attack or walljump because somersaulting requires running and you can see why that's an issue). I managed to reach Morph Ball thanks to damage boosting and short hops, then manually saved to make sure I had Morph Ball on reset. But let's be real, that wouldn't be the best way to play Metroid. Also entire HUD is invisible.

Probably the most salvageable ROM, but not by much. Even removing the additional door scroll checks did nothing, so that's out of the question. But hey, at least that's something interesting.
Hey there

Aclectico

Thanks for giving it a shot. I tried a couple of things on my end as well. I also was unable to achieve a working result. But I have some notes.

First, the same title screen loop glitch occurs when combining "M+ S V0.5 ExpandedROM" with earlier versions of Metroid: HD as well. The very first versions of the Mesen pack had an ips file that was identical to Metroid mOTHER + 99 except for sound effect changes. I don't recall any other changes to the ips file for the very first versions of Metroid: HD. As a result, it's possible the conflicts are coming from there. Kya made the programming changes necessary to accommodate custom sound. As a result, I unfortunately do not have any insight beyond this that may help to solve the issue.

Also, I was able to confirm on my end as well that Metroid mOTHER plus M+ S V0.5 ExpandedROM, without the HD pack seems to work fine. This reinforces the theory that the custom sound may a contributing factor to the apparent conflict.

As darthvaderx indicated, M+S V0.4 did not seem to have the same title screen glitch. As a result, it may be something that was added between those two versions that is conflicting with sound.

These are my thoughts any theories for now. I wish I had an idea of where to go from here...

SCO

Could you make a actual page instead of just linking to a forum? You can put the link there in the description if rhdn doesn't allow that size downloads; and pages can actually be scrappable for updater tools to figure out a game needs a update and to parse metadata.

Aclectico

#105
That was actually my preference. I made an effort to create a page. But, I received a message from the RHDN staff that said they typically don't allow for pages on texture packs or emulator specific hacks (but a forum and news post was ok).

I understand where they are coming from as they want to retain a certain amount of focus for the site. If they opened the doors completely, the site could get flooded with a bunch of things like Minecraft and Skyrim packs. I'm sure some may find that interesting. But, that's probably not the kind of thing that draws most people here.

I suppose this may fall into a grey area since it has ROM hacks plus HD textures. But, for now this thread may have to suffice. If you have are interested, it does have a Metroid Construction page here:
http://www.metroidconstruction.com/hack.php?id=381

TheGershon

Hey all, fantastic work on this hack. I haven't been able to find another hack that adds an automap instead of a fully uncovered minimap, is there a version of this hack that doesnt add any HD graphics, and thus could work on other emulators/real hardware? Or at the very least, just the automap by itself?

Aclectico

Quote from: TheGershon on May 27, 2019, 04:29:45 AM
Hey all, fantastic work on this hack. I haven't been able to find another hack that adds an automap instead of a fully uncovered minimap, is there a version of this hack that doesnt add any HD graphics, and thus could work on other emulators/real hardware? Or at the very least, just the automap by itself?

The main download for Metroid: HD does have an alternate pack included in the bundle called 8Bit-Troid. It has 8-bit style graphics, increased frame rate for running, custom backgrounds, and an automap (and a few other features). The downside is that it does not work on real hardware.

As a result, if 8Bit-Troid isn't quite what you are looking for, you may find the following link useful (not really bug tested). I stripped out most everything that prevented the .ips from working on real hardware: http://bit.ly/MetroidMotherWithAutomap

TheGershon

Quote from: Aclectico on May 27, 2019, 10:50:40 PM
As a result, if 8Bit-Troid isn't quite what you are looking for, you may find the following link useful (not really bug tested). I stripped out most everything that prevented the .ips from working on real hardware: http://bit.ly/MetroidMotherWithAutomap

Been playing for just a little bit and it seems to work great. Thank you so much!

SimplyDanny

Quote from: Aclectico on May 27, 2019, 10:50:40 PM
The main download for Metroid: HD does have an alternate pack included in the bundle called 8Bit-Troid. It has 8-bit style graphics, increased frame rate for running, custom backgrounds, and an automap (and a few other features). The downside is that it does not work on real hardware.

As a result, if 8Bit-Troid isn't quite what you are looking for, you may find the following link useful (not really bug tested). I stripped out most everything that prevented the .ips from working on real hardware: http://bit.ly/MetroidMotherWithAutomap

Interesting. I was wondering if you could share the ASM for the automap, seeing as it has the potential to make a pretty good impact on the NEStroid romhacking community. If you or KYA are uncomfortable posting it or feel it's too buggy, that's fine, it's just that I hear Grimlock is working on an advanced version of NEStroid and that would seem like a rad feature to add.
Hey there

Aclectico

#110
Quote from: DannyPlaysSomeGames on May 31, 2019, 05:53:13 PM
Interesting. I was wondering if you could share the ASM for the automap, seeing as it has the potential to make a pretty good impact on the NEStroid romhacking community. If you or KYA are uncomfortable posting it or feel it's too buggy, that's fine, it's just that I hear Grimlock is working on an advanced version of NEStroid and that would seem like a rad feature to add.

Since KYA was responsible for virtually all of the work that went into the automap component of Metroid: HD, I sent him a message asking if it was okay. He's fine with it. But, KYA did mention that there is no source. It was simply "patched into" the ROM using Mesen's assembler.

So, you could attempt extracting it straight out of the ROM that I provided in response to TheGershon's request on May 27.

As a sidenote, the ROM I provided on the 27th is simply "Metroid mOTHER" (https://www.romhacking.net/hacks/1988/), plus "Metroid mOTHER+99" (https://www.romhacking.net/hacks/3640/), plus the automap functionality by KYA. In case it is helpful, I left out the following:

-Level layout changes that I made for the latest version of Metorid: HD
-Code present to enable custom sound to work with Mesen
-Changes made to the speed of the footstep sound
-Changes made to the frame that is shown in between standing and jumping
-Various changes made to the graphics of the ROM
-Changes made to freeze the running animation

If there are more specific questions, KYA may be able to jump in and provide some additional advice.

SimplyDanny

Quote from: Aclectico on June 01, 2019, 08:31:00 AM
Since KYA was responsible for virtually all of the work that went into the automap component of Metroid: HD, I sent him a message asking if it was okay. He's fine with it. But, KYA did mention that there is no source. It was simply "patched into" the ROM using Mesen's assembler.

So, you could attempt extracting it straight out of the ROM that I provided in response to TheGershon's request on May 27.

As a sidenote, the ROM I provided on the 27th is simply "Metroid mOTHER" (https://www.romhacking.net/hacks/1988/), plus "Metroid mOTHER+99" (https://www.romhacking.net/hacks/3640/), plus the automap functionality by KYA. In case it is helpful, I left out the following:

-Level layout changes that I made for the latest version of Metorid: HD
-Code present to enable custom sound to work with Mesen
-Changes made to the speed of the footstep sound
-Changes made to the frame that is shown in between standing and jumping
-Various changes made to the graphics of the ROM
-Changes made to freeze the running animation

If there are more specific questions, KYA may be able to jump in and provide some additional advice.
Sorry for the late response, but actually, it would be helpful to know where the code itself was inserted in (like if there was a specific address he inserted the code to).

In the meantime, I recently tried to make a standalone patch for the automap by using Mother+99 as a base rom in order to make an addendum patch in order to use it on other ROMs. Unfortunately, while testing it, it seems that the same issue that occurred last time I experimented reappeared (the whole moving left/right on ground crashes the game thing). Oddly enough, though, the only instance where it seemed to actually work though was when I applied it to the 0.3 version of the + Saving patch, but not on the 0.4 or 0.5 versions.

Speaking of that glitch, I was actually curious if there were any possible explanation for it. Maybe the walljump ASM being clashed with causes a game crash of sorts? Either way, it seems interesting.
Hey there

Aclectico

#112
The following link represents my best efforts to remove everything except the automap functionality. I used LunarIPS to create a number of different combinations of patches to arrive at the final result. I suspect it may only work with hacks that already have the map by Snarfblam and the ROM probably also needs to be expanded. @DannyPlaysSomeGames, it may already be identical to what you created: https://drive.google.com/file/d/1kwFdoJbN8nH8De3Hc7aGWdei_U8QpLi0/view?usp=sharing

As far as address locations go, I can state what I know. If KYA doesn't notice the thread in the near future, you could attempt sending a PM since more information would probably be needed. Below are some instructions that he sent to me while the hack was in development.

Location of map information for editing purposes - @DannyPlaysSomeGames, I suspect you may already know this as you are working on your own hack. But, I thought I'd include this information in case someone else found it helpful.

-Open Mesen's memory viewer (Ctrl-M), choose View: PRG ROM, and Number of columns: 32 (the latter is very important!)
Then go to (Ctrl-G) address 39400.
Here's your map, edit it to your heart's content. FE means no room here. To decipher the other values open up Mesen's PPU viewer (Ctrl-P), and consult the CHR viewer tab.
Look for "Tile Index"es of room layout tiles. When you are done with editing, save your ROM via Mesen's debugger.
Note though, that the map does not get updated immediately as you edit it. You have to reset and start a new game to see your changes (the game will copy the map from ROM to RAM).
(If you want the immediate effect, you should edit the map in RAM, not in ROM. Choose CPU Memory, and go to address 7900. But these changes will be lost on reset.)


Also, as mentioned previously, KYA assisted in alleviating the glitch where the automap did not work on second playthrough. Below you will find the instructions that led to a fix. I'm not sure if portions of the map functionality are located in areas that are additional to the addresses listed below.

-Start a new game. Don't move. Open the memory viewer. Choose CPU memory. Go to address 7900. You'll see the entire map non-visited.
Select all bytes with a mouse (32 rows 32 bytes each), press Ctrl-C.
Then choose PRG ROM. Go to address 39400. Press Ctrl-V.
This way you'll copy the non-visited map from RAM to ROM.
Then save your ROM the usual way.


metalmight

I just played through Metroid HD and I loved it. It makes it look like Super Metroid! After playing I tried to load the Neill Corlett LUA script and it wouldn't work. I assume it is because the metroid.lua file was made for FCEUX and not Mesen. Does anyone know if it could be converted?

Aclectico

#114
Quote from: metalmight on June 17, 2019, 04:55:30 PM
I just played through Metroid HD and I loved it. It makes it look like Super Metroid! After playing I tried to load the Neill Corlett LUA script and it wouldn't work. I assume it is because the metroid.lua file was made for FCEUX and not Mesen. Does anyone know if it could be converted?

Thanks - Always nice to hear from someone who enjoyed the pack :) As far as compatibility with the metroid.lua script - I think it may be more than just the emulator. As you mentioned, the metroid.lua script is made for FCEUX. So, I tried to see what happens when following the procedure below:

-Patched a vanilla metroid.nes rom with the mmm.ips file bundled with Metroid: HD
-Started the patched rom in FCEUX
-Tried running the metroid.lua script
*Nothing happened
-Tried running the metroid.lua script in the same build of FCEUX with a version of MDbtroid
*The script worked just fine
-Tried running the metroid.lua script file in Mesen with a version of MDbtroid
*Nothing happened

What this tells me is that there may be compatibility issues with both the emulator and with the .ips file bundled in Metroid: HD. I'm not familiar with writing lua scripts. So, I am not sure what would be involved in creating a new version that is compatible. But, I have to admit - it would be really interesting if someone was able to find a way to make it work.

mkwong98

I think the LUA API provided by the two emulators are different so there is no easy way to convert one into the other.

metalmight

 :'(  Please God, make the LUA script work.

TheGershon

Quote from: Aclectico on May 27, 2019, 10:50:40 PM
As a result, if 8Bit-Troid isn't quite what you are looking for, you may find the following link useful (not really bug tested). I stripped out most everything that prevented the .ips from working on real hardware: http://bit.ly/MetroidMotherWithAutomap



I just finished a complete playthrough using this patch. Worked great! No issues that I noticed, though I'm not exactly a Metroid master. Samus's sprites never seemed to glitch out, and nothing was unbeatable/untraversable.

Aclectico

Quote from: TheGershon on June 19, 2019, 10:47:31 PM
I just finished a complete playthrough using this patch. Worked great! No issues that I noticed, though I'm not exactly a Metroid master. Samus's sprites never seemed to glitch out, and nothing was unbeatable/untraversable.

Good to hear the alternate patch seemed to have no issues. Happy to contribute to another way for users to enjoy a classic.

Aclectico

A new version of this pack is now available (Version 1.4). This release is mostly focused on polish and bug fixes.

New for Version 1.4:
   -Remastered artwork for the Automap.
   -Automap location icon is now animated with a glowing effect.
   -Increased frame count for Metroids and added 80% transparency to green skin.
   -Modified artwork for:
      -Armored Samus.
      -Fusion suit.
      -Missiles.
      -Rippers, Zoomers, Wavers, Skrees, Rios, and Metroids.
      -Environment tiles in Tourian.
      -Icons for the Game Over screen and Save Select screen.
   -Modified Norfair heat wave effect.
   -A minor modification was made to armored Samus in the 8Bit-troid pack.
   -Fixed Megatroid end screen glitch for completion times greater than three hours.
   -Fixed music glitch in the room above Tourian.
   -Fixed graphic glitches that occur under the following conditions:
      -During Kraid battle with the Varia suit.
      -Freezing fake Kraid with Pink Suit Samus.
      -A random Samus helmet is visible in upper left-hand corner of the screen when using the automap.
      -Selecting missiles with the Fusion suit resulted in an unintended appearance.
      -Green plants in the Kraid area would sometimes reveal 8-bit graphics.
      -Bombing Metroids would reveal 8-bit graphics.
      -Energy units in Tourian would reveal 8-bit graphics when using the Zero Suit.
      -Rio explosions would result in an unintended appearance.
   -Reduced volume of the enemy explosion sound effect.

Screenshots:

*One major focus for this version was updating the look of the map. In addition to higher resolution, the latest version has an 80% transparency. Also, there was a graphic bug that occurred in the upper left hand corner when pulling up the map. It seems to also be present in Metroid mOTHER. Version 1.4 uses the graphic replacement commands in Mesen to override this behavior.


*Graphics were also cleaned up in a number of areas. In addition, the number of animation frames used for Metroids and Rippers has been increased to four.


*Lastly, there was an odd glitch that also seemed to be present in Metroid mOTHER. When Rios exploded, the resulting sprites would reference the bottom left hand corner of the Bomb Powerup and the bottom left hand corner of the Item Statue. Version 1.4 uses the graphic replacement commands in Mesen to override this behavior.