Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Rom Hacking: hukka | 2 guests
Acmlm's Board - I2 Archive - Rom Hacking - I'll walk you through your first ASM hack!
  
User name:
Password:
Reply:
 

UserPost
dan
Posts: 224/782
Rockman's tutorial will only help you if:

1) You want to learn 6502 (Sure, 65816 has a lot of the same commands, but it's not completely what you want) Plus, Rockman's tutorials are not "learn assembly" tutorials. They are more like "Learn how to use FCEUd". You actually need some assembly knowledge to read them.
2) You are using FCEUd. Rockman's tutorials depend heavily on FCEUd, and the only half decent SNES debugger is Sleuth, which doesn't work like FCEUd at all.

So, read the documents on Zophar's, and possibly the very few SNES documents on NESdev.
infidelity
Posts: 61/164
ROCKMAN LAYOUT
My first ROM hacking document covers how to do your first ASM hack. How to give Infinite Lives in Super Mario Bros.

http://www.geocities.com/rockmanx054/asm.txt

Its probably better if you download it so you can use word wrap.

I might make it an html file.


Hey Rockman, this is EXACTLY what Iooking for. BUT, I can't download it. Either the link is dead, or your gone !!!! I'd love to learn ASM, and this is the closest I've come across to learning. I'm coming from the Super Mario World Hacking section. And no one wants to tell me what to do. I hope you can help me out Rockman!!!
Sokarhacd
Posts: 417/1757
ok, cool, thanks, ill look at a few roms i have to see if there is any free space in em.
dan
Posts: 189/782
A lot of games have free space in them. Typically, early NES games which have no mappers usually have no/very little free space. Games which use mappers can have a lot of free space, but usually the bank that is loaded to $C000 (the very important one) has very little free space in it.

Edit - It makes sense now
Sokarhacd
Posts: 415/1757
anyone know which games have some space already availiable to add code to?
windwaker
Posts: 87/1797
Sorry for the bump, but

like Daiz (or Daise ) said, it has really little space for adding more code, and the reset vector is at $8000, making it hard to use a mapper.
DahrkDaiz
Posts: 327/885
Originally posted by Shadic
Especially with SMB for starters, as that is what I'm working with.


I hate to say it, but SMB is the hardest game to make ASM hacks for, since there's a lack of space without rom expansion.
Rockman
Posts: 46/250
No problem. I re-uploaded the document. The reason it gets taken down because I occassionaly clean out my file manager. Good luck with ASM hacking.
Shadic
Posts: 111/304
Sorry for adding on the really old bumps, but I would also like to see this.

I know nothing about ASM, grrr.

I would really like to learn though. Especially with SMB for starters, as that is what I'm working with.
Garmichael
Posts: 33/166
I hate bumping old old old threads.. but..
The link to tehe tutorial didnt work, and id very much like to read it.

I took a couple quarters of ASM programming, but that was years ago, and I didnt understand it completely.
Keitaro
Posts: 60/1342
dosn't require ASM knowledge, just knowledge in general. ....good luck.

oh, and EXCELLENT tutorial. You have a knack for explaining this stuff
cpubasic13
Posts: 27/1346
Originally posted by Mighty Kefka
Um, Googie... wtf has happened to you?!?!


I think that is the way he normally talks...

Anyway, that was perfect! It tells you the stuff you need to know. For the next tutorial, could you make it to where we learn how to change the number of lives in SMW? I want to make it to where the player has three lives instead of five.
Kefka
Posts: 249/3392
Um, Googie... wtf has happened to you?!?!
Darth Coby
Posts: 32/1371
I always just search for the hex string, always works for me.
frantik
Posts: 11/66
my n00bness has been exposed. it's worked for me in SMB but thats the only game with which ive worked
TFG
Posts: 2/7
Originally posted by frantik
nice job!

one thing that could make it easier though is instead of searching for the hex values in the rom file, you can go directly to their location by taking the Memory address in the debugger and subtracting $7FF0 (because the rom, minus the $10 byte header, is loaded at $8000 for the NES)

$9069:A9 02 LDA #$02
$906B:8D 5A 07 STA $075A = #$00

$9069 - $7FF0 = $1079

then just go to that location in your hex editor.


That wouldn't work for every NES game. The resultant rom address would depend on what PRG bank is loaded at the moment you find your instruction/data. SMB, for instance, has two 16K PRG banks, loaded at $8000 and $C000 respectively. Older games, say Donkey Kong, have only 1 16K PRG bank loaded at $C000. Then you have bankswitching games in which the size of the bank and its base address is mapper-dependent. So I'd say that searching for the values might be a better option.
frantik
Posts: 10/66
nice job!

one thing that could make it easier though is instead of searching for the hex values in the rom file, you can go directly to their location by taking the Memory address in the debugger and subtracting $7FF0 (because the rom, minus the $10 byte header, is loaded at $8000 for the NES)

$9069:A9 02 LDA #$02
$906B:8D 5A 07 STA $075A = #$00

$9069 - $7FF0 = $1079

then just go to that location in your hex editor.
Blades
Posts: 23/151
Nice

I'm taking an ASM this semester. So far so good. Maybe I'll be able to add ASM mods in my long forgotten DW hacking ....
Rockman
Posts: 3/250
Thank you everyone! I appreciate it. I'm glad the document is helping you out. I do plan to make more. I'm still kind of an ASM rookie myself, but I have learned a lot. I'm off from work tomorrow, so I might make another one. Have fun.
Mega-Dog
Posts: 31/139
nice...I have been looking for some ASM help so I can learn it sometime...I should read it soon.
This is a long thread. Click here to view it.
Acmlm's Board - I2 Archive - Rom Hacking - I'll walk you through your first ASM hack!


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.003 seconds.