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
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..
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