Banner
Views: 705,661,897
Time:
11 users online: B2De, chickaDEE Magazine, dodoremi101, Far, Gamma V, Giftshaven, Hooded Edge, o RedFoxGaming, Sariel, o Shiny Ninetales, o Zekrom PKstarship - Guests: 20 - Bots: 77Users: 36,866 (1,443 active)
Latest: jeremy gamer
Tip: $5.27Not logged in.
Details for Asar v1.61
Tools - Asar v1.61
File Name: Asar v1.61
Added:
Version History: View
Authors: Alcaro, Check changelog for full list
Operating System: Windows, Mac OS X, Linux
Platforms: SNES
Games: General
Source Included: Yes
Featured: Essential
Website: Link
Description: Asar is a Super Nintendo assembler based on xkas v0.06. It's the assembler used primarily on SMW Central.

Asar's got a freespace finder, will ask for filenames if double clicked, can use parentheses and proper priority in math, can assemble SPC-700 and SuperFX codes, and has many, many other neat little features. The full list of features can be found in the manual.

Some of the highlights in Asar v1.61:
  • Support for include search paths
  • An entirely new, more complete, HTML-based manual
  • New types of macro labels
  • Many, many other new commands, functions etc.
  • Many, many bug fixes
For a full list of changes, please check the changelog.

Source code can be found on GitHub, where you can also contribute using pull requests.
Tags: assembler, patcher
Rating: 0.0 (Votes: 0)
Download: Download - 530.53 KiB
890 downloads
randomdude999
I'm approving this without a proper moderation process since both of the tool moderators (me and RPG Hacker) are important contributors to this, which means neither of us can test it "properly". But it has been used by hundreds of people by now and there haven't been any serious bugs so it's good enough.
Posted by: randomdude999 -
Vitor Vilela
yeah,.
Posted by: Vitor Vilela -
randomdude999
You already removed your usage of if !condition, but probably not everyone has. it just deserves a proper deprecation process
Posted by: randomdude999 -
Vitor Vilela
(As in, if I decide to bring it back to SA-1 Pack... it will give warnings so eehhh)
Posted by: Vitor Vilela -
Vitor Vilela
...I don't see much point in reimplementing it if it's gonna be removed later again, lol.
Posted by: Vitor Vilela -
RPG Hacker
randomdude999 updated this to v1.61, which reintroduces !condition (and throws a deprecation warning).
Posted by: o RPG Hacker -
RPG Hacker
What's SA-1? #ab{O.O}

But yeah, an alternate way of doing the same thing would be

Code
if !whatever_define_there_actually_is == 0


which is what I've been using so far. I assumed it was more common than !!.
Posted by: o RPG Hacker -
Vitor Vilela
yeah so unused that only SA-1 Pack, the largest/biggest patch ever made was using it :P

Regardless, I edited it in the 1.27 version.
Posted by: Vitor Vilela -
RPG Hacker
@TheBiob: that feature was removed because it was undocumented and, after looking at the code for a lengthy amount, I could not figure out how to make use of it and was pretty sure that it was unusable in the first place and that thus no patch could be using it. Apparently I was wrong and it was usable in the form of !!Define, causing this incompatibility (though I'm still surprised about the fact that people actually did, considering it was undocumented - I think it was only ever mentioned in one of Alcaro's old changelogs, but not in the manual, and the source code even contains a comment stating "this feature is undocumented", making it seem like that was actually on purpose).

So yeah, not quite sure what to do about it in the future. I think randomdude proposed reintroduing the feature, but marking it as "deprecated" and making it throw a warning.
Posted by: o RPG Hacker -
Mogu94
Ok, I'm glad it's known. Thanks for the speedy reply. I'll just use 1.50 for now until it's all fixed.
Posted by: Mogu94 -
TheBiob
There have been changes to how !!define should be handled for some reason. (iirc the main reason was !! being confusing? dunno)

People are aware of this and an update will probably happen soon after this one is accepted.
For now, changing the if statement on line 203 of lzx.asm to
Code
if not(!whatever_define_there_actually_is)
should fix that
Posted by: TheBiob -
Mogu94
SA-1 1.26 inserts fine with Asar 1.50 but with this version there are errors when inserting.
Code
boost/lzx.asm:154: error: <E5060>: Label 'Decompress_back' wasn't found. [LDX.w #.back]
boost/lzx.asm:156: error: <E5060>: Label 'Decompress_back2' wasn't found. [LDX.w #.back2]
boost/lzx.asm:171: error: <E5060>: Label 'Decompress_main' wasn't found. [JMP .main]
boost/lzx.asm:203: error: <E5027>: Invalid number. [if !0]
Posted by: Mogu94 -
RPG Hacker
What patches?
Posted by: o RPG Hacker -
Guscraft808Beta2
how about making the xkas patches work
Posted by: Guscraft808Beta2 -
RPG Hacker
Fair point, although changing the default behavior would mean making the syntax context-dependent. In other words,

Label:
.Label:
+
-

would mean different things, depending on if they were used inside or outside of a macro. In my opinion not an ideal solution, either. With the current implementation, the syntax is clear and means just a single thing, no matter the context (of course ?Label can't be used outside of macros, anyways, so the context doesn't matter there, but Label and #Label do the same thing, no matter where they are used).

I think one reason for this mess is that the concept of macros in xkas/Asar is kinda shaky to begin with. I personally like to think of macros as a text replacement mechanism, kinda like in C preprocessors, and that's mostly how I treat them, though in xkas and Asar, they also have traits/behaviors that are more function-like. This makes everything regarding them a bit tricky to deal with. When working with them, though, I prefer to lean more towards the "text replacement" side, which also influenced my decision here. Letting labels "leak" outside of macros by default is more "text replacement"-like, while not letting them leak outside is more "function"-like.
Posted by: o RPG Hacker -
Alcaro
Macros leaking labels should be possible, yes, but I'm not sure how much sense it makes to do that by default. And macrolabels messing with subsequent sublabels doesn't make much sense either.

But backwards compatibility says that's hard or impossible to fix.
Posted by: Alcaro -
RPG Hacker
And I'd disagree. There can be legitimate use cases for actually wanting labels in macros to be accessible from the outside and/or modify label hierarchies, so I strictly oppose removing that possibility.
Posted by: o RPG Hacker -
Alcaro
i'd say that design sucks though
Posted by: Alcaro -
RPG Hacker
You're supposed to use the correct type of label.

?Label
?.Label
?+
?-

for labels that should be local to the macro they're in.

#Label

for labels that are global, but don't modify the label hierarchy. All other types of labels are supposed to leak outside of macros, that's by design.
Posted by: o RPG Hacker -
GreenHammerBro
Is the "leaking macro label" fixed? Can't find the glitches for that in the bug fixes changelog.
Posted by: GreenHammerBro -

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

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


Total queries: 31

Menu

Follow Us On

  • Facebook
  • Twitter
  • YouTube

Affiliates

  • Talkhaus
  • SMBX Community
  • GTx0
  • Super Luigi Bros
  • ROMhacking.net
  • MFGG
  • Gaming Reinvented