Banner
The Overworld Design Contest ends in
1 MONTH, 2 DAYS, 6 HOURS, 47 MINUTES AND 35 SECONDS
Views: 898,310,279
Time:
17 users online: B2De, Big Brawler,  brickblock369, codfish1002,  E-man38, gibbl, Jeosberry, KlonoA13Phill, KungFuFurby, l_priest,  mckay949, Miscalc, mmBeefStew, Noob,  Sayuri, Vanessa, Vic Rattlehead - Guests: 70 - Bots: 141 Users: 50,409 (2,278 active)
Latest: aaabryan
Tip: Check this thread to find extremely useful diagrams and data.
Not logged in.
Using the Alternate Mario ExGFX patch
Forum Index - SMW Hacking - SMW Hacking Help - ASM & Related Topics - Using the Alternate Mario ExGFX patch
Pages: « 1 » Link
So, I'm currently working on a SA-1 enabled hack that has multiple playable characters, so I've decided to apply the Alternate Mario ExGFX patch.

The only issue is...I have no idea how to use it at all, given the lack of a readme and my lack of UberASM knowledge. My questions are:

-How should the fresspace and freeram be found and defined using SA-1? Slogger's output is clearly not meant for an SA-1 rom and gives a ton of incorrect addresses.

-What would I need to add to UberASM to define which GFX file gets loaded?


Well, first thing I noticed is that the patch doesn't actually appear to be SA-1 compatible? Unless some of those addresses don't get converted. If it doesn't immediately work, you should try PMing MarioFanGamer about it since he was the one who supposedly added the SA-1 support to that patch.


Anyway, regarding your other questions though, the freeram is just a single byte which can be any address you want. Preferably, it should be an unused byte, i.e. any address with type "empty" in the RAM map and which is not used by any other patches you have applied to the ROM (it's recommended you maintain a list of those to prevent issues down the line).
For SA-1 specifically, you should then modify that address according to the standard rules (addresses in $7E00xx becomes $xx, addresses in $7E0100-$7E1FFF drop the 7E and add 6000, so e.g. $7E1DEF becomes $7DEF).

As for freespace, there's a tool called slogger which will log the available freespace in your hack for you. It will output a list with three columns labeled "PC offset", "LoROM offset", and "size". Pick any row with a size of 0x8000 (= one full bank), then copy the value from the LoROM offset (minus the "0x" at the start). That address is the freespace block to use. For the Mario ExGFX patch in particular, you should then specify that address as $xx9FF8 instead of $xx8000 as slogger gives you.

Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
Hold on... Dammit, I didn't update the file! Oh well, that will be its remoderation update.

One thing to keep in mind: Slogger is build with a LoROM in mind but SA-1 implements its own mapping. That means, banks $00-$3F are identical but banks $40-$7F (I know, the last 0x10 banks are SRAM and WRAM, respectively, but just assume it's all ROM) are mapped to $80-$BF.

--------------------
Okay, my layout looks ugly.
Thank you guys for the help!

Originally posted by MarioFanGamer
Hold on... Dammit, I didn't update the file! Oh well, that will be its remoderation update.

...If possible, if you still have the updated SA-1 patch, could you send it to me? Thank you.
Originally posted by SubconYoshi
...If possible, if you still have the updated SA-1 patch, could you send it to me? Thank you.

Bad news: I unfortunatelly deleted the file which means there is no way to recover it

Good news: I submitted a proper update.

Originally posted by SubconYoshi
How should the fresspace and freeram be found and defined using SA-1? Slogger's output is clearly not meant for an SA-1 rom and gives a ton of incorrect addresses.

Assuming the ROM is 4 MiB: The idea is the following: Banks $00-$3F are identical. The difference is on other banks. Banks $40-$7F (if you ignore that SRAM and WRAM are mapped to those banks) in LoROM mapping equals to banks $80-$BF on SA-1 mapping.

--------------------
Okay, my layout looks ugly.
Originally posted by MarioFanGamer
Originally posted by SubconYoshi
...If possible, if you still have the updated SA-1 patch, could you send it to me? Thank you.

Bad news: I unfortunatelly deleted the file which means there is no way to recover it

Good news: I submitted a proper update.

Originally posted by SubconYoshi
How should the fresspace and freeram be found and defined using SA-1? Slogger's output is clearly not meant for an SA-1 rom and gives a ton of incorrect addresses.

Assuming the ROM is 4 MiB: The idea is the following: Banks $00-$3F are identical. The difference is on other banks. Banks $40-$7F (if you ignore that SRAM and WRAM are mapped to those banks) in LoROM mapping equals to banks $80-$BF on SA-1 mapping.


Thank you so much, this worked perfectly for me!

I have one more (really basic) question; what code do I add to UberASM to set the freeram (to change GFX) in each level? This is probably really easy to do, but I have absolutely no experience with using UberASM whatsoever
Pages: « 1 » Link
Forum Index - SMW Hacking - SMW Hacking Help - ASM & Related Topics - Using the Alternate Mario ExGFX patch

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

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


Menu

Follow Us On

  • YouTube
  • Twitch
  • Twitter

Affiliates

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