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