Name: | UberASM Tool 2.0 |
Authors: | Fernap, Vitor Vilela |
Added: | |
Version History: | View |
Operating System: | Windows |
Platforms: | SNES |
Games: | SMW |
Source Available: | Yes |
Featured: | Essential |
Website: | Link |
Description: | This tool lets you insert level, overworld, game mode, status bar, sprite and global ASM without using a patch. See the read me for more details. Version 2.0 update: - Now supports multiple resources per level/overworld map/game mode - A special level "*" is available to make resources run on all levels - Adds a feature to let you specify extra bytes for resources - A new "end:" label allows code to run at the end of a frame - Shared routine support - And more; see the readme and changelog for a full list Version 1.6 changes: - Reworded list.txt and replaced the INC $19 example code with one that does nothing, in order to prevent confusion for beginners. No changes are made to the tool itself. (1.6 is an "unofficial" update submitted by wye - it adds some changes from the Github repo, but not all, and it doesn't correspond to any Github release. The next version will probably be an official one, based entirely on the repo.) Version 1.5 changes: - Fixed an in-game crash when using different NMI code combinations - Refactored some core parts of the program, making it easier to add improvements. - Improved the way how the LM restore point information works in a way that UberASM Tool will no longer concat its program information more than once. - Fixed incorrect extra byte 4 define used for PIXI sprites. - Added BW-RAM definition which is used on SA-1 ROMs only. - Fixed an application crash when accidentally including an empty file. |
Tags: | conditional game mode global inserter level level asm library map16 nmi overworld sa-1 sprites status bar v-blank |
Comments: | 63 (jump to comments) |
Rating: |
Download
4.76 MiB | 11,752 downloads
Comments (63)
This is a massive update with a lot of new features and as such breaks a very small number of current uberasm patches, however the README outlines the methods to fix these incompatibilities, which is ok.
So on top of libraries can use the shared routines, you can do something you can't do with pixi and gps: have one subroutine ASM file call another subroutine ASM file. This limitation is very frustrating that you have to have multiple subroutines in one ASM file.
------sx
oam bits at $0420 gets converted to the one at $0400, which makes manipulation here significantly more difficult anyway.Be careful and check RAM $13D4 if you are designing code that writes to OAM every frame on gamemode14 end that searches for free OAM slots, because it is possible that each frame, it will fill up the OAM table with duplicate tiles written on top of or underneath the previous frame's tiles, because the game does not clear OAM tiles at the start of the frame when paused. When too many OAM tiles are onscreen, this can cause sprite overdraw issues where a row of pixels for sprites fail to render.
for some reason, crashes on launch because it "could not parse list file", because it "doesn't exist", even though it does.Correction: It seems like it just doesn't like ROMs that aren't named "SMW.smc", and aren't inside the same folder as UberASMTool.
I should've been more specific and detailed on how I ran into this issue. Yes, I was using uberasm tool's library file when working on this.
Because it may end up loading data from the wrong bank depending on how many times you reinsert the tool. When you insert the ASM codes, the inserted code can sometimes be at a different bank.
Windows 10 21H2 (OS Build 19044.1826)
Lunar Magic 3.31
Pixi 1.32
GPS 1.4.3
AddmusicK 1.0.8
Tested on:
LOROM/SA-1 ROMs with multiple resources.
No conflicts or issues noticed. Works fine, also checked out changes in source code directly, nothing of remark was seen.
14 code.asm
14 code2.asm
Everytime I try to do it it gives an error saying "Number is already used."
That doesn't work, look https://www.smwcentral.net/?p=faq&page=1515827-uberasm here for a workaround.
14 code.asm
14 code2.asm
Everytime I try to do it it gives an error saying "Number is already used."
So keep that in mind when you stumble across general level entrance crashes.
By the way, a workaround is to put your (OW or level NMI code, preferably OW) codes somewhere else (like global or gamemode) and run them there, using some comparison checks depending on your case and needs.
I mean, once you know, it's not really hard. But weird.
I wish the tool could insert multiple ASMs easily.
Worked fine, and I tested for checking the glitches it should fix. Therefore, accepted.
image.
Here is my work causing it to happen.
The missing endif is in GraphicalBarDefines/StatusBarSettings.asm on line 17.
Version 1.2 (with the same files) works fine instead.
Next version will skip this one.
@LX5: It's still quite simple, actually, you were almost there. To do that, you need to not only update the Asar.dll, but also the Asar.cs file and then rebuild the application. Asar.cs is what binds to the DLL and checks for the correct version, so by updating that, it will take the newest version of Asar.
LDA !D8,x
I've tried
and...
...in the the level.asm, although, neither worked.
Is there a way for the levelASM to affect sprites as well?
When fixing the super status bar code, and entering level 105, mario gets high.