Super Metroid: ASM Help
3 posters
Page 1 of 1
Super Metroid: ASM Help
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.
*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. )
Good Luck!
ASM Help Part 1
ASM Help Part 2
ASM Help Part 3
ASM Help Part 4
*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. )
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- Game Modding Alignment : Super Metroid
More stuff
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.
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- 65c816 (SNES ASM) Person
- Job/Hobbies : Stargaze and hack
Game Modding Alignment : Super Metroid, Super Mario RPG
Weapon Acceleration
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.
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.
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- 65c816 (SNES ASM) Person
- Job/Hobbies : Stargaze and hack
Game Modding Alignment : Super Metroid, Super Mario RPG
Similar topics
» Super Metroid: Desolation
» New Super Metroid Hack
» Super Metroid: Remix
» Metroid: Super Mission
» Super Metroid Community Hack.
» New Super Metroid Hack
» Super Metroid: Remix
» Metroid: Super Mission
» Super Metroid Community Hack.
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum