• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Assembly Guides, Resources, & Q/A

Punkline

Dr. Frankenstack
Joined
May 15, 2015
Messages
423
This thread is linked in the sticky and also the discord meleeworkshop channel as the go to resource for learning assembly to use in SSBM.

But the links aren't good anymore.



Tutorial is nearly a decade old. Uses very old version of Dolphin and also doesn't use the new dolphin memory engine.



Link is dead



Link is dead (404 error)



Link is dead (404 error)

---

Will one of the veteran modders be willing to step up and create new tutorials? I've been trying to learn memory scanning and assembly for weeks and have made very little progress because of lack of tutorials and nobody replies to my threads and I get ignored in the discord. Please show us beginners practical examples of how to scan for different things and some examples of writing and injecting instructions. The more examples I see the quicker I can experiment and figure out other things cause right now I have no starting point to learn from.



Dan has a mirror to his tutorial on youtube:
https://www.youtube.com/watch?v=IOyQhK2OCs0&list=PL6GfYYW69Pa2L8ZuT5lGrJoC8wOWvbIQv

-- he uses the Dolphin cheat search instead of an external memory editor, but this still shows exactly how you would do binary searches in a program like Dolphin Memory Engine. His advice on using breakpoints (which are extremely useful in memory searches) also shouldn’t be different in newer versions of Dolphin.


For the PPC resources, there’s a ton online if you search -- but here’s a version of the gekko instruction set that I broke into multiple files to separate by starting characters; including special instructions like the paired singles vector float instructions. It also includes the powerpc-cwg (compiler writer’s guide) for detailed advice:
https://www.mediafire.com/file/1hyu1fwl6rsotbh/gekko_instructions.zip/file

Also, here’s a couple of helpful cheat sheets:
http://www.tentech.ca/downloads/other/PPC_Quick_Ref_Card-Rev1_Oct12_2010.pdf
https://re-eject.gbadev.org/files/GasARMRef.pdf

The wiibrew tutorial link that’s still working is also a very good introduction:
http://wiibrew.org/wiki/Assembler_Tutorial


The best source of examples when starting out is probably to use known attributes listed in the data sheet and/or information gleaned from other codes as a base for experimentation. Undocumented parts of the game are usually researched with the help of breakpoints and function reversal, which you can learn about in Dan's video.
 

BrassMonkey

Smash Cadet
Joined
Sep 1, 2020
Messages
28
Location
Tulare Basin, California
The best source of examples when starting out is probably to use known attributes listed in the data sheet and/or information gleaned from other codes as a base for experimentation.
I'm trying to change the coin requirement for classic mode using debug dolphin like Dan did in his video but the game just ignores the new value. I head to 0x803b7c08 in the memory and change 0x01 to 0x05 so that Very Easy costs 5 coins to continue. But the game still takes 1 coin.
 

Punkline

Dr. Frankenstack
Joined
May 15, 2015
Messages
423
I'm trying to change the coin requirement for classic mode using debug dolphin like Dan did in his video but the game just ignores the new value. I head to 0x803b7c08 in the memory and change 0x01 to 0x05 so that Very Easy costs 5 coins to continue. But the game still takes 1 coin.
I recommend looking at RAM with something like Dolphin Memory Engine (more info) so that you can use the memory viewer window. Often times, you'll find answers to problems like this by just glancing at neighboring RAM, and finding similar patterns in the structure you're studying.

It appears that that address is for Adventure mode, not Classic. The bytes for Classic mode come after:



-- try poking the highlighted byte (offset +0x5 from the address you gave) instead.
 
Last edited:

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,178
Location
Sacramento, CA
I know rlwinm.png



Here's another resource for looking up assembly instructions; it's by IBM for PowerPC RISC processors (and it's conveniently a PDF, so you can download this one): PowerPC User Instruction Set Architecture

Also, here's some info on assembler directives (pseudo-ops such as .long or .align); these are commands to the assembler, rather than instructions for the target processor:
I think each of these is essentially the same information, but they each present the information differently, so some of them may explain usage of the operations in a better way for some people.
 
Top Bottom