Language…
13 users online: anonimzwx,  BeeKaay, codfish1002, DanMario24YT, HaruMKT, hhuxy, koffe190, lean4, margot, ModernKiwi, Pizzagamer9791,  Ringo, SysDataSoft - Guests: 308 - Bots: 318
Users: 64,795 (2,375 active)
Latest user: mathew

Need help with hacking *insert game here* ? Ask away!

You could use Translhextion instead. It can find relative text, for example. If you were searching up AJAR, it could come up with values like 80 89 80 91, or 56 5F 56 67.
Is there another way,translhextion still needs a table file,and that's what I need to make.


I have a big problem with Arkanoid. I'm not sure what causes it, but while playing my second version of Stage 1 the counter will start going up really fast, make what I think are "1 UP" noises, and when you win the stage or die, it locks your controls. I will get a video up later.

Though I might be the only one here that hacks Arkanoid. :P

EDIT: Level Up.
Brawl question:

Can someone tell me how to do those Character Texture hacks?
You know? What I need and such if there's a tool, just something to help me on my way, I'm just a bit bored and wanna try something new.
Anime List
Manga List
D³ Releases: RL1, [RL2], [RL3], RiS
SMWHacking? I rest my case.
SMWCentral? I leave it to rest.

Brawl texture hacking isn't exactly counted as ROM hacking.

Anyways, it can be done by using a tool called Ocarina, all you need is a SD card and a Wii. You'll need applications called Gecko OS to use them.
Does Anyone Know How I Go About Editing
Text In The "Story" Part Of SMB2 ?

The Game I'm Making Will Not Be A Mario Related
Game At All So I Need To Edit The Storyline Of It.

Thanks =D
Im editing some of racers in SMK but I cant seem to get a good/correct pallette. I seen a youtube video saying how and it went on about "dumps"?.

COuld someone link me top a site were I could get the correct pallette?

(also I tired a savestate from ZSNES and it didnt work).
Its a simple question for people who hacked Megaman III/Rockman 3. I'm asking on how to make the doors works and how to change the thing that Proto Man destroys for you, after defeat.
Please note that I'm really Happy the dog because of that I forgot my password in my old user.
i have mario 3 workshop (the smb3 editor) but don't know how to input enemies or objects. please help!
BS Zelda no denseitu (probably incorrect spelling on the last part)

I need a save state of being outside or near lava in dungeon 7.

(if we're allowed to ask for that)
I own a community of TF2 servers!

ASMT - A new revolutionary ASM system, aka 65c816 ASseMbly Thing
SMWCP - SMW Central Presents a Product- tion long name

frog

http://esolangs.org/wiki/MarioLANG
What? You're asking for a savestate? I'm not sure how that relates to help in hacking the game, but your best off checking Zophar's for save states of games.

Give Mario some love?~
Are there any hack programs for Kirby Super Star Ultra/Squeak Squad? #w{:>}
how do i add sprites in the SMB3 map editor?
How would I go about finding infomation about a ROM?
Or a better question, when people started to first hack SMW, how did they find all the infomation about it that they did?

I am trying to hack a game called Brainlord, with nothing but a hex editor. Came out rather nicely, figured out how to edit shops, I decrypted the text so I can edit it, etc.
But its still a big pain to find out more about it and how it works.
Whats the best way to go around finding stuff in the ROM data?

What I have been doing is what I will call "Brute Force Hex Editing"
I have been doing the following-

Set a savestate
Change all 00 too 0A, between address x12000 and x16000 (In the ROM)
Then loading the savestate (Because usually by editing it the way I have been, you wont be able to start up)
Try to do things in game, see if there is anything that changed that may be useful to note.
If there isnt, undo the hex edit and do it again at different hex addresses and numbers.
If there is, undo and change all 00 to 0A by x12000 and x14000 (Narrowing it down so I know what to change exactly to get the found change)


Its just annoying. Any better way to do this?
FYI, its a SNES game.
Originally posted by Frozen_Dream
FYI, its a SNES game.


If you know any assembly, bsnes has a very nice debugger to use.

If you don't then the corruption (what you just explained) techniques are all you can do I guess. Taking stabs in the dark until you find something can be really annoying but it works very well for some. If you find it too annoying then there's the option of a debugger. I can't tolerate it myself personally, so I just go straight to a debugger that will show me everything I need to know (and more) using a concrete method of tracking down whatever it is I'm trying to find. I'm usually done in a few minutes unless the game is being obtuse for no reason. Identifying the code that is responsible for whatever you are trying to find will show you in exact detail where stuff is and how said stuff is manipulated.

But do you know 65816? Assembly is needed to get any real use out of it but once you know it, it becomes much more managable to reverse engineer a game. Not knocking corruption since it has worked very well for some, but it depends if you can handle the tedium.

As far as graphics go, if they aren't compressed (unlikely but still common anyway) then opening the ROM in a tile viewer can show you where graphics are and also gives you a decent idea of what is free space with solid blocks of color. Random noise/garbage is normally code, data or compressed GFX. GFX that you can sort of make out, but are still glitchy / corruped are normally compressed.

As for earlier SMW hackers:
-there were always disassemblers available. As far back as 1992 with the included readme even having some commented disassembly of SMW. It only just got released in my region and they were already hacking it =)
-bsnes debugger, snes9x debugger and ZSNES debugger from newest to oldest were available since the 90s or early 2000s
-hex editors and the ROM corruption you have already done ofcourse
As an example, for Lufia II, where would I find the graphics data? I know for a fact it's been edited...
Let's milk Sunny Milk. Then she'll have enough money to fund Sunny Milk Real Estate.
Everypony's digging with a shovel
Originally posted by smkdan
Originally posted by Frozen_Dream
FYI, its a SNES game.


If you know any assembly, bsnes has a very nice debugger to use.

If you don't then the corruption (what you just explained) techniques are all you can do I guess. Taking stabs in the dark until you find something can be really annoying but it works very well for some. If you find it too annoying then there's the option of a debugger. I can't tolerate it myself personally, so I just go straight to a debugger that will show me everything I need to know (and more) using a concrete method of tracking down whatever it is I'm trying to find. I'm usually done in a few minutes unless the game is being obtuse for no reason. Identifying the code that is responsible for whatever you are trying to find will show you in exact detail where stuff is and how said stuff is manipulated.

But do you know 65816? Assembly is needed to get any real use out of it but once you know it, it becomes much more managable to reverse engineer a game. Not knocking corruption since it has worked very well for some, but it depends if you can handle the tedium.

As far as graphics go, if they aren't compressed (unlikely but still common anyway) then opening the ROM in a tile viewer can show you where graphics are and also gives you a decent idea of what is free space with solid blocks of color. Random noise/garbage is normally code, data or compressed GFX. GFX that you can sort of make out, but are still glitchy / corruped are normally compressed.

As for earlier SMW hackers:
-there were always disassemblers available. As far back as 1992 with the included readme even having some commented disassembly of SMW. It only just got released in my region and they were already hacking it =)
-bsnes debugger, snes9x debugger and ZSNES debugger from newest to oldest were available since the 90s or early 2000s
-hex editors and the ROM corruption you have already done ofcourse


Awesome response.
I have heard alot about Assembly. (ASM for short right?)
From the Zelda hacking community, one of the biggest hackers there used ASM to change things from how arrows worked, to making their own in game item spawner.
and here in SMWC I see some reaaaallly nice effects with ASM.
So I have wanted to look into it, but I ever truly knew where to begin.
All the tutorals kind of confused me lol.
Im sure if I could see what ASM was already in the game, and I could tear it appart that way, I could probably learn ALOT quicker. (I am a reverse engineer learner., everything I have learned tus far, may it be C++ or how to acturally hack games, its been from me taking already existing things appart)
Also when I looked up Assembly on google, I found alot of stuff that wasnt related to SNES. lol. Maybe I am just being stupid but I wasnt exactly sure what number(type?) of ASM the snes mainly used. Or what the differences in ASM types where.


Thank you for the reply. Ill look into the debugger. If i poke around im sure after a bit ill get the hang of it, thanks! <3


Wiimeiser, use YY-CHR.
I took five seconds to look into Lufia II and I can see the sprites and Graphics data easily.
To match the palette with the one acturally in game, take a zsnes savestate in the area with the sprite palette you want, then load the savestate with YY-CHR.

I have also found it ALOT easier just to use Yy-CHR, and load not the rom, but the savestate. If you are around a sprite when you make a savestate, you can see the sprite in YY-CHR when you load the savestate up.

But the later is only used for ripping sprites. You cant edit whats in the rom with a savestate.

EDIT:huh. Well, I dont know about seeing any ASM in game or anything.
But it has a memory viewer, and typing randomly into it has some interesting effects.
Maybe I can find some new stuff this way, sweet lol
Though id have better luck with random editing in the ROM. lmao. Because all I seem to be doing in the memory viewer is messing up music, and freezing the game. xDD
When I load up the Disassembler I get nothing. even if I do hit the Trace and Step buttons.
Could it be because im on Windows7 x64?
I have a windowsXP x86 duelbooted alongside this if need be.

EDIT AGAIN: nevermind. got it to work. But itlooks like I can only view the ASM kinda. Not exactly toy with it. How would I do so? If you dont mind the question.

EdiT 3.0: again nevermind. I think I figured this out.
So, lets say I make a ASM file, then import it into the desired game.
Am I right to assume that the game doesn't just load your ASM automatically and you have to point something to it?

Like for example, lets say..

STA $111111
LDA #$01


Lets say that STA is where your 'currently equiped sword' is.
LDA will put the number 01 into 111111 right? So your sword would change from whatever it was before, to 01?
Now to run the short ASM I just made, how do I point something to it to run it? Like how do I put it in the game, and have the game read it?

I acturally think I know whats been confusing me this whole time.
I Dont know the difference between ROM and RAM! xD
I do now. But finding the variables in game via RAM is different then ROM, and itll confuse me for a while.

Anyway, sorry for the wall of text, last edit xD
bored on assignment work, here's a wall of text that might answer a few questions.

Quote
So I have wanted to look into it, but I ever truly knew where to begin.
All the tutorals kind of confused me lol.


You can post a thread about where you get confused then someone can clear it up.

Quote
Also when I looked up Assembly on google, I found alot of stuff that wasnt related to SNES


it's "65816" or "65c816". That's what the SNES has at its core and what you want to google for if you want a reference for it. "A 65816 primer" is my preferred reference, it just lists all the instructions and what they do, how long they take etc.. still not a tutorial it's more of a quick reference for when you sort of know what you're doing.

Quote
Am I right to assume that the game doesn't just load your ASM automatically and you have to point something to it?


yes. Your ASM might be there in the ROM but unless you force the game to run it then it's not going to do anything. There's also the option of just overwriting the original code with anything you want but normally, you just write some new code in unused space in the ROM. Then, you overwrite original game code with a JMP (or JML) or JSL instruction. If you don't know what those do, it just makes the SNES start reading code from a new location. That new location will be where ever you put your new ASM. After your ASM is finished, you jump back to the original game code. You have to understand the part of the ASM tutorial that mentions jumps for that to make any sense though.

Debugger can help with this since if you set a breakpoint (or watchpoint) at an address you are interested in (lets just say it's your current weapon) then the game stops whenever the game writes or reads the address you just entered. Then it shows you the game ASM that made it read or write and also where it is. Now that you know where the code is, you can modify it however you want. There's a program here called "xkas" here that is very easy to use for patching ROMs. Say if you had the code in the original game looking like this:
Code
LDA #$12 ;this is the ID for some weapon type
STA $7E3140 ;this is where the weapon is stored

If I set a 'write' breakpoint at $7E3140 (the RAM weapon type is stored). Then the debugger will stop whenever the game reaches this and show you 'STA $7E3140' along with where it is. Suppose the debugger said it was at $008000. in xkas I could type:
Code
lorom ;lorom or hirom depends on what game it is
org $008000 ;start writing to $008000 in the ROM

NOP #4 ;put 4 NOP instructions here

Then if you were to run "xkas asmfile.asm yourrom.smc" then it will patch yourrom.smc with whatever ASM you had in that file. The example overwrites whatever was at $008000 (the STA according to the debugger) so that means the STA has been completely overwritten by 4 NOP instructions. STA $7E3140 takes up 4 bytes, and each NOP is just 1 byte. If you don't know yet, NOP does nothing. It has no effect on the game so now it won't set the weapon type at $7E3140 anymore because it was just erased. Normally not very useful but it's a simple example. Another example with the same idea would be to erase the instruction that decrements your health if you get hit by something. Doing that would give you infinite health since the game can't decrease it anymore.

Quote
STA $111111
LDA #$01


It's the other way around. LDA first (to load a value) and STA (to store the value). You'll be storing to SNES RAM mostly which lives at $7E0000-$7FFFFF. This 128KB will contain all the games variables.

If $111111 held the sword value and you did LDA #$01 : STA $111111 then yes the new sword value would be set to 01 when the game runs that.

Quote
I Dont know the difference between ROM and RAM! xD


ROM is the actual .SMC file (or whatever extension you have). That's where the games code/data is stored. Any ASM you write goes into that file. It's just a binary copy of the data in a game cart.

RAM is in the SNES itself (and also on the cart if you have battery backup saves). The 128KB is where the game has to keep its variables and it's also used for a bunch of other things, but for game hacking some of those are usually not important. Variables like health/level numbers/enemy positions will all be here.
Ah thanks. That clears up alot of things for me xD thank you.
So, I just wanted to mess around with pokemon (fire red, on advanced map) a bit, and I want to know:

Is it possible to change the palletes on a map base?
Anime List
Manga List
D³ Releases: RL1, [RL2], [RL3], RiS
SMWHacking? I rest my case.
SMWCentral? I leave it to rest.