(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
05-03-24 07:50 AM
0 users currently in ROM Hacking.
Acmlm's Board - I3 Archive - ROM Hacking - Semi-Advanced GBA Rom Hacking New poll | |
Add to favorites | Next newer thread | Next older thread
User Post
interdpth

Mole
MZM rapist


 





Since: 11-18-05

Last post: 6283 days
Last view: 6283 days
Posted on 01-22-06 09:04 PM Link | Quote
Beginning of tutorial

Ok, the Logger, Map viewer, Tile Viewer, and Memory editor in Visual Boy Advacne are some of the most powerful tools to GBA romhacking. For this tutorial you will need 3 things, Visual Boy Advance the development edition, Metroid Zero Mission, and Hex Workshop, and Unlz-GBA and Tile Layer Pro.

The ROM we are working with is Metroid Zero Mission. Ok, now open the Rom up in VBA and then in Hex Workshop. This tutorial is going to teach you, how to find the data you want. And how it gets to the destination and where the source comes from in the
ROM. Ok, after the ship lands just go to the Right when you get to the door go through(yes you're skipping the morphball) now then Go to tools then open the logger, memory editor, map, and tile viewer. Ok the room Tileset is located at 0x6005800 in memory and the general is at 0x6004000.

So what we're going to do is find out is the offset of where the source destinations is in the ROM. Ok, now let's find the room tileset. Shoot open up the door to your left go through it. Then shoot the door you just came through, now open the logger click SWI and go through when the room is done loading click on the logger go to the little section with all the LZ77UnCmps now in these look for 0x06005800. Now what you should find is
LZ77UnCompVram: 0x085e2974,0x06005800 (VCOUNT=11)
So your tileset is located at offset 0x532974 . Now switch to the rom in Hex Workshop search for 0x74295308(pointer for the offset) This lands you smack dab in the tile pointer table congrats. You used the Logger to your satisfaction now for the general tileset this is kind of more tricky as many there are many different SWI's involved.

Ok so we know the general is at 0x6004000 for every room. Clear the VBA logger then uncheck SWI now shoot the door go back to the logger click DMA3 ok after the room is reloaded open up a notepad doc select all the data in the logger and copy it to a notepad. Search for 0x6004000 Ok so we have a hit for a dma transfer
DMA3: s=0201b000 d=06004000 c=8000 count=00000080

Ah crud it's from RAM ok we can hopefully get a real address so lets search the notepad doc for d=0201b000
Success! We have a hit

DMA3: s=08753fb4 d=0201b000 c=8000 count=00000080
Let's open the rom in TLP get rid of the 08 in the beginning of the source and go there graphics.
I will edit this with more advanced details as I go on. And will reword this, as such. And it will have better formatting
P.S. I'll have a beta of my editor out by April.


(edited by interdpth on 01-22-06 08:32 PM)
QBRADQ

Goomba


 





Since: 01-18-06
From: Eastern Oklahoma

Last post: 6634 days
Last view: 6634 days
Posted on 01-22-06 09:09 PM Link | Quote
Umm, I'm sure we all apreciate your efforts, but for the above to be useful to anyone, the gramar needs to be worked on a lot.

I'm not trying to flame you or anything, I'm just saying you might want to slow down and read over your work, and try to make it a bit more comprehensable.

If that's not possible for some reason, someone here may be willing to do a post-edit if you'd like.

QBRADQ
interdpth

Mole
MZM rapist


 





Since: 11-18-05

Last post: 6283 days
Last view: 6283 days
Posted on 01-22-06 09:35 PM Link | Quote
That should be more readable
QBRADQ

Goomba


 





Since: 01-18-06
From: Eastern Oklahoma

Last post: 6634 days
Last view: 6634 days
Posted on 01-22-06 09:38 PM Link | Quote
Yea, that's a lot more readable. Thanks for the info, I'll have to mess around with that sometime.
DJ Bouche

Koopa


 





Since: 11-22-05
From: Bligh Park, NSW, Australia

Last post: 6446 days
Last view: 6446 days
Posted on 01-23-06 01:30 PM Link | Quote
It might be helpful to mention VBA SDL version, which has a nice and decent debugger, with breakpoints, and the lot. (Press F11 to access it)
QBRADQ

Goomba


 





Since: 01-18-06
From: Eastern Oklahoma

Last post: 6634 days
Last view: 6634 days
Posted on 01-23-06 04:12 PM Link | Quote
LINK -> VBA Homepage
firemaker

Cheep-cheep


 





Since: 12-13-05
From: Somewhere in a place called Berkshire

Last post: 6361 days
Last view: 6361 days
Posted on 01-23-06 04:30 PM Link | Quote
Your making a zero mission editor. If you are leave metroid fusion to me. I plan to start hacking it because nightmare in dreamland is taking ages. One more thing. That isn't semi advanced. That is advanced hacking if you ask me. Your average n00b would not understand one word of that tutorial.


(edited by firemaker on 01-23-06 03:39 PM)
interdpth

Mole
MZM rapist


 





Since: 11-18-05

Last post: 6283 days
Last view: 6283 days
Posted on 01-23-06 09:30 PM Link | Quote
Well if I said advanced i'd probably get flamed,well yes I am working on an MZM editor which will be working as soon as I find this damn TSA data.


(edited by interdpth on 01-23-06 09:46 PM)
Xenesis

Blipper








Since: 11-19-05
From: Australia

Last post: 6284 days
Last view: 6283 days
Posted on 01-23-06 10:36 PM Link | Quote
Well, If I can learn how to use this stuff properly it would be great...

This is a decent start though.
QBRADQ

Goomba


 





Since: 01-18-06
From: Eastern Oklahoma

Last post: 6634 days
Last view: 6634 days
Posted on 01-24-06 09:46 AM Link | Quote
Xenesis, if you're needing general infromation on how to use cheat searchers and debugers, you might want to have a look at the following link.

Also, interdpth, you might also want to take a look to see how these tutorials are orgonized.

Link to romhacking.net << Very long URL

Anyhoo, these tutorials cover using FCEUd to implement a few hacks on NES titles. They cover modifiying the jump height in Metroid, implementing a password generator for The Adam's Family: Puglie's Scavanger Hunt, and finaly reverse-engineering the graphics compression in The Goonies II.

I know they don't directly cover hacking techniques for the GBA, but they do give very good info about how to properly abuse a good debuger.

QBRADQ
Xenesis

Blipper








Since: 11-19-05
From: Australia

Last post: 6284 days
Last view: 6283 days
Posted on 01-24-06 09:58 AM Link | Quote
Yeah, it looks a little beyond my ability at the moment. I really need to buckle down and really learn ARM Assembly before I can really do what I want in GBA hacking..

Still, starting with some NES Assembly might be the way to go, except there's nothing really that I'd want to hack too much on the NES....except maybe Balloon Fight...
Add to favorites | Next newer thread | Next older thread
Acmlm's Board - I3 Archive - ROM Hacking - Semi-Advanced GBA Rom Hacking |


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.017 seconds; used 396.99 kB (max 489.31 kB)