Views: 1,004,356,224
14 users online: alviiiN, ASMagician Maks, crocodileman94, Dr. Gaspacho, GrenCarret, hoangng, LaserShark360, Maw, Saela, SimFan96, Souldbminer, StackDino, Steffi4689, VinylHeart - Guests: 72 - Bots: 148 Users: 54,877 (2,024 active)
Latest: Felsmann
Tip: You can use your My Files section to upload screenshots, videos, etc. of your hack.
Not logged in.
Power System Change by bigboi29
Forum Index - Valley of Bowser - Moderation Questions - Patches - Power System Change by bigboi29
Pages: « 1 » Link
File Name: Power System Change
Submitted: by bigboi29
Authors: bigboi29
Tool: Asar
Requires Free Space: Yes
Bug Fix: No
Featured: No
Description: Instead of when getting hurt with any powerup and becoming small mario the powerups go down in order.

Small <- Big <- Fire

Big <- Cape

There's 2 main reasons why this patch is being rejected. The first reason is that this patch already exists, and is included in these two patches.

The second reason is that there's a lot of issues with this patch from a technical standpoint:

- You're using long addressing on a direct page address; $7E0019 can be shortened to just $19, and the long addressing wastes both bytes and cycles.
- When checking if an address is 0 or not, CMP #$00 is not necessary. You can simply load the address and the flag to indicate if it's 0 or not is set automatically, so you can immediately go to BEQ/BNE Label.
- There's a typo when setting the flashing invincibility, and you're writing to $149 instead of $1497. $149 is interpreted as $0149, and this address lies within the stack, which shouldn't be modified in such a manner. As far as I can tell this doesn't break the game, but I don't trust that there's no situation where this could happen. You also don't need to set $1497 in your code at all, as this gets set by the game code shortly after the patch returns.
- After your JSL to freespace, you NOP out a byte. Why? This byte is part of a CMP #$02 instruction, so when you NOP out only one byte of that, the code gets misaligned and gets interpreted differently. In this case, it has the effect of doubling the Y speed of whatever sprite is in slot 3. You got lucky that this is the only bad consequence, since misaligned code usually results in a total game crash, but it still makes no sense to have a single byte NOP'd out after the JSL. If you want to remove the entire "CMP #$02 : BNE PowerDown", you'll need to NOP out 4 bytes (NOP #4).

If you're new to ASM, I recommend these two ASM tutorials by Ersanio, and this patch creation tutorial by MarioFanGamer.

Please also try to add relevant tags when you submit a resource, as this helps users search for it. Screenshots are also recommended to help demonstrate your resource to others before they use it.

Tested with:

• Lunar Magic 3.20
• Asar v1.71
• Snes9x v1.60
Pages: « 1 » Link
Forum Index - Valley of Bowser - Moderation Questions - Patches - Power System Change by bigboi29

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2022 - SMW Central
Legal Information - Privacy Policy - Link To Us


Follow Us On

  • YouTube
  • Twitch
  • Twitter


  • Super Mario Bros. X Community
  • Mario Fan Games Galaxy
  • sm64romhacks