Metroid Construction Forums
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Super Metroid: ASM Help

3 posters

Go down

Super Metroid: ASM Help Empty Super Metroid: ASM Help

Post by Shadow34370 Fri Mar 13, 2009 3:37 pm

I've made up a few videos, explaining exactly how my airtube.asm file works, and how you can start creating your own ASM hacks! I tried to keep it as short as I could, but it still ended up being four videos long. Big Eyes

*Note* I'd also like to point out that my knowledge of ASM is very basic and simple, and most of what I learned was through experimentation. I posted this videos just to try and get other people started in the ASM hacking world.

Files Needed
Xkas
RAMmap
Airtube_doc
Airtube.asm


These are probably viewed best in full screen. (I will just post the link so my post isn't a whole page long. Very Happy)
Good Luck!

ASM Help Part 1

ASM Help Part 2

ASM Help Part 3

ASM Help Part 4


Last edited by Shadow34370 on Wed Mar 18, 2009 9:02 am; edited 3 times in total (Reason for editing : Fix a link)
Shadow34370
Shadow34370

Game Modding Alignment : Super Metroid

Back to top Go down

Super Metroid: ASM Help Empty More stuff

Post by DSO Mon Mar 16, 2009 10:59 pm

Thought I'd post links to some useful docs and tools no ASM learner should be without:

Docs:

65816 Primer
A primer on the SNES processor, containing all the opcodes and what they do.

Anomie's register doc
Detailed information on the SNES registers and how they work.

Kejardon's Super Metroid documentation.
RAM map was already linked, but the rest of the documents here contain a lot of helpful information as well.

Tools:

Geiger's SNES9x debugger
It's getting a little on in years, but is still the best SNES debugger I've used.

VSNES
A savestate viewer that gives you very in-depth detail. However, if you don't already know what you're going to be doing with it, it'll be interesting to look at but you probably won't get much use out of it. I usually use it to find palettes, making a savestate when I know the palette is loaded and converting the RGB values it shows into hex so I can find the palette location in the ROM.


Last edited by DSO on Mon Mar 16, 2009 11:17 pm; edited 1 time in total (Reason for editing : grr...)
DSO
DSO
65c816 (SNES ASM) Person

Job/Hobbies : Stargaze and hack
Game Modding Alignment : Super Metroid, Super Mario RPG

Back to top Go down

Super Metroid: ASM Help Empty Re: Super Metroid: ASM Help

Post by GF_Kennon Wed Mar 18, 2009 6:03 am

Is it me or has the document gone ō_ô
GF_Kennon
GF_Kennon
Admin

Location : England
Job/Hobbies : College
Game Modding Alignment : Super Metroid, Metroid Zero Mission, Metroid Fusion, Metroid
Other : Don’t tell, but I am actually Sylux.

http://metroidconstruction.sitesled.com/

Back to top Go down

Super Metroid: ASM Help Empty Weapon Acceleration

Post by DSO Thu Mar 19, 2009 6:03 pm

I remember talk a while back about changing how quickly weapons move, so I've started to work on that myself. I've got acceleration code on Super Missiles, and am working on other weapons right now.

Alright, Super Missiles. $90 is the bank, V is the location for vertical, and H for horizontal acceleration. Note that even though there's values for vertical speed when shooting horizontally and vice versa, if you shoot a Super Missile horizontally, it will not go up or down. Both only come into play when shooting at an angle. Also "Up Right" or "Down Left" are not diagonals unless mentioned. They are aiming straight up/down when Samus is facing to the left or right.

----------$90--------------------V---------------------H----------
Up Right
C32B
C32D
Diagonal Up Right
C32F
C331
Right
C333
C335
Diagonal Down Right
C337
C339
Down Right
C33B
C33D
Down Left
C33F
C341
Diagonal Down Left
C343
C345
Left
C347
C349
Diagonal Up Left
C34B
C34D
Up Left
C34F
C351

How it works is the values stored at the ROM location is added to itself each frame performing subtraction. For example, the value for horizontal acceleration for shooting right is FF00. Adding FF00 and FF00 would get you 1FE00, but since the SNES is 16 bit and this code doesn't add the carry, you end up with FE00. Next frame, it's FE00 + FF00 and you get FD00... The lower it gets the faster it gets, to a certain point.



DSO
DSO
65c816 (SNES ASM) Person

Job/Hobbies : Stargaze and hack
Game Modding Alignment : Super Metroid, Super Mario RPG

Back to top Go down

Super Metroid: ASM Help Empty Re: Super Metroid: ASM Help

Post by Sponsored content


Sponsored content


Back to top Go down

Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum