14 users online: Akaginite, AppleBoy54321,  Ayami,  BeeKaay, brickblock369, dezoito18, Israelcv12cv, jaytv25, Luaxon, MoxieCat,  NopeContest, TheJavabrew, TrendzAndz, Zavok - Guests: 59 - Bots: 201
Users: 56,980 (2,277 active)
Latest user: Kiel Yam

Frequently Asked Questions

Don't worry, we all need to start somewhere—if you're a beginner and still need to find your way around, chances are the F.A.Q. will answer a lot of the questions you may have. Before asking in the forums, it's wise to check this page first!

If you have suggestions for the F.A.Q., feel free to contact a staff member.


What is UberASM?
UberASM Tool is the latest incarnation of the old LevelASM patch. It allows for the insertion of special code that runs on specific levels or with specific timing, i.e. running constantly during Level 106 only, once during any level load, while on the overworld, just before the title screen, etc.
How do I make an UberASM code run during every level?
Apply the code as Game Mode 14 in list.txt.
Can I make multiple UberASM codes run at the same time?
Yes. As an example, say you want to merge two level ASM files, fileA.asm and fileB.asm. Say the contents of these files are as follows:
[fileA.asm]		[fileB.asm]

init:			init:

[code 1]		[code 3]

main:			main:

[code 2]		[code 4]


			[code 5]
Note the presence of the "init", "main", and "nmi" labels; there may also be a "load" label in level or overworld ASM codes. Not all UberASM codes will contain all four of these (as seen here, fileB contains the "nmi" label while fileA does not), but it's important you pay attention to which of the four are actually included in each file. Now make a new .asm file - its name is unimportant, we'll name our example file GM14.asm. This new file should contain the following code:

macro call_library(i)
	LDA.b #<i>>>16
	JSL <i>



For each of those four labels mentioned earlier, we add a reference to that label preceded by the corresponding file name. Only do this for the labels that actually exist; note that there is no reference to a non-existant "fileA_nmi" label. Now, place this GM14.asm file in the gamemode folder, and place both fileA.asm and fileB.asm in the library folder. Configure list.txt to insert GM14.asm in Game Mode 14, then run UberASM Tool. All codes 1-5 will now execute as needed in Game Mode 14. This same process works for all other categories of code (Level, Overworld, etc.).
Why does Mario go crazy when I enter Yoshi's Island 1?
By default UberASM Tool includes test code that deliberately does this in Level 105. Simply remove the call to this code from list.txt. You may freely delete test.asm and test2.asm in the level folder, the tool doesn't use them for anything.