Banner
Views: 864,965,203
Time:
13 users online:  1UPdudes, bd90492,  brickblock369, chickaDEE Magazine, Dispace, Drakel, FYRE150, imamelia, Infinity, Lane, RollingRigatonis, Vic Rattlehead, Yoshimaster96 - Guests: 60 - Bots: 86 Users: 47,895 (2,071 active)
Latest: bebeelduro393
Tip: Press Ctrl+Del to delete original levels before making a new level.Not logged in.
Frequently Asked Questions
Please contact a staff member if you have any suggestions for the F.A.Q..
SMW Hacking YI Hacking General ROM Hacking SMW Central
Question:What is UberASM?
Answer: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.
Question:How do I make an UberASM code run during every level?
Answer:Apply the code as Game Mode 14 in list.txt.
Question:Can I make multiple UberASM codes run at the same time?
Answer: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:
Code
[fileA.asm]		[fileB.asm]

init:			init:

[code 1]		[code 3]

main:			main:

[code 2]		[code 4]

			nmi:

			[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:
Code
[GM14.asm]

macro call_library(i)
	PHB
	LDA.b #<i>>>16
	PHA
	PLB
	JSL <i>
	PLB
endmacro


init:
%call_library(fileA_init)
%call_library(fileB_init)
RTL

main:
%call_library(fileA_main)
%call_library(fileB_main)
RTL

nmi:
%call_library(fileB_nmi)
RTL
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.).
Question:Why does Mario go crazy when I enter Yoshi's Island 1?
Answer: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.

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2020 - SMW Central
Legal Information - Privacy Policy - Link To Us


Menu

Follow Us On

  • YouTube
  • Twitch
  • Twitter

Affiliates

  • Super Mario Bros. X Community
  • ROMhacking.net
  • Mario Fan Games Galaxy