Language…
20 users online:  Atari2.0, DanMario24YT, Dennsen86, deported, derv82, drkrdnk, eltiolavara9, Fozymandias, h.carrell, Isikoro, kms415, krizeth, masl, MorrieTheMagpie, Serena, sinseiga, sparksplit-smw, StarWolf3000, steelsburg, trihex - Guests: 284 - Bots: 304
Users: 64,795 (2,375 active)
Latest user: mathew

How to hex edit

  • Pages:
  • 1
  • 2
This way of hex editing is deprecated.
Use patches for hex editing from now on.




For this tutorial you will need:

A hex editor (I will be using HxD)
Time

What is hex?

Hex is short for hexadecimal. It is the number system for all computing, and consists of letters AND numbers. It works like this:


1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,10,11,12,13,14,15,16,17,18,19,1A,1B,etc.


As you can see there are letters between 9 and 10. So 10 in the normal number system (decimal) is A in hex. 11 is B and, 16 is 10 in hex because it's the 16th number in the list. If this is confusing just use windows calculator. Just type in a number then switch to hex to see what it is in hex.

HxD

First open your rom in HxD, and you should see something like this:



Don't worry about all the weird symbols on the right, we won't need them. All we need to worry about are the numbers in the middle, and on the left. The numbers on the left are called offsets. They are just there to tell you where you are in the rom. There is also a row of numbers by 'Offset (h)' at the top, that is where you are in that row of numbers. HxD also tells you which offset you are at, at the bottom of the window.

Hex Editing in SMW

Hex edits are pretty simple, all you have to do is go to SMWC's ROM Map, and look for something to change. Just hit ctrl+f and search for what you want. For example, lets say you wanted to disable the lives exchanger. Well you can hit ctrl+f, search for "Lives Exchanger", and you would find something like this:

Originally posted by Rom Map

048D $04:828D 2 bytes ASM Change to EA EA to enable "Lives Exchanger" function in 1 Player Game (by pressing L or R on map screen)

Change to 80 06 to disable "Lives Exchanger" function entirely


That is what we want. Now to change that all we need to do is look at the numbers on the left in that entry (048D or 48D in this case, the zero isn't necessary), go to HxD, hit ctrl+g, and type in:

Originally posted by what you type in
048D


It should take you to this:

Originally posted by HxD
0C 42


Thats what we change. Now if you look back here it says:

Originally posted by Rom Map
Change to 80 06 to disable "Lives Exchanger" function entirely


So go back to HxD and just type in just that (80 06). There is no need to backspace or anything, just type over it. Save it, and try it out, and you should have made a successful hex edit.

Thats pretty much it!
Very nice tutorial Wii, I think it will help out some people who want to learn hex edits.

I think, though, that you should include the fact that you don't need to backspace the characters that are already there; what you type will over-type onto what already exists.
Your layout has been removed.
Good tutorial,wiiqwertyuiop.
You have made this tutorial clear and easy to understand, and not to confusing. I already understand how to hex edit Super Mario Advance 4, but now i also know some hex editing for SMW.
Interested in prizerebel? Here's my referral link:
http://www.prizerebel.com/index.php?r=2814550
Cool, sweet and short and descriptive. =) If someone is interested in hex-editing, this tut should definitely help. Also, it's not hard to type "wiiqwertyuiop". Everything you need to type is "Wii", and then, when there is the "Tab" button on your keyboard, start pressing all keys from the left to the right and you get "qwertyuiop", which is the second part of his username. Neat! :)
...Huh?
Originally posted by wiiqwertyuiop
Originally posted by Teo17
Also, it's not hard to type "wiiqwertyuiop". Everything you need to type is "Wii", and then, when there is the "Tab" button on your keyboard, start pressing all keys from the left to the right and you get "qwertyuiop", which is the second part of his username. Neat! :)


lol

What a wonderfully informative and useful post!

(translation: read rule 2.1 again)
<blm> zsnes users are the flatearthers of emulation
Not directly related, but why do you have "hex" in all capitals so many times in your tutorial? It's not an acronym or anything. ...Other than that the tutorial is just fine.
I should get a new layout.

Probably won't, though.
It may also be worth showing how to hex edit through patches. This method is superior in many ways, and still very easy to do.
Thank you.
Your layout has been removed.
Hey wii could you make this simple for a nine year old?#w{=)}
Originally posted by saurkrauts
Hey wii could you make this simple for a nine year old?#w{=)}

?

What exactly are you having problems with?
LINKS Twitter | YouTube | SoundCloud | Fortaleza Reznor
to hear birds and see none.
Hi There,

We changed some hex code to change a mario move from long jump to back flip but N64 would not work. Then we found out there is a programme called chksum64 which I believe somehow makes the code work properly. However we don't know how to use this checksum thing. Is it needed? If not why didn't our change of code work?

Thanks for any suggestions.
SM64 questions belong in the SM64 forum, not the General SMW Hacking Help section. Nobody around here knows what a chksum64 is.
<blm> zsnes users are the flatearthers of emulation
use patches or go through a needlessly complicated process to convert the snes addresses to pc. your choice

Code
header : lorom
org $00EA82
db $80



Create an .asm file and patch this instead
Layout by LDA during C3.
well... it half works, now I can't jump out of the water with spinjumps and normal jumps push you down and right off of the water surface.

I tested it on a cleaner rom, same result
My Current Hacking Project: "Static E"
Supporting:
Mario's Kool-Aid Acid Trip (maybe?)
  • Pages:
  • 1
  • 2