Nice to see new assemblers, particularly on systems where previous offerings tend to be... lacking. I would have settled for one that was reliable, if you are going to add labels and other fun things then even better.
By the way if you are going to be playing in MIPS assembler most would probably hold http://www.romhacking.net/utilities/635/ as the gold standard for these kinds of assemblers around here, it does have MIPS as well but MIPS I rather than MIPS III is what it does. Now if you wanted to harmonise usage/syntax between the two then you might gain a few friends.
I am not sure, what you're trying to imply here, FAST6191. First off, CajeASM already
allows to use labels
(or variables), LUI-To-SW/LW/SH/LH/SB/SH auto-extension (which NO other assembler so far ever did) and even does properly assemble ALL RSP ASM instructions
allowing illegal LDV instructions unlike most assemblers) since v3.50. In fact, I would say, it's the most advanced N64 assembler
out there from a technical viewpoint
(lexer, parser). Only the bass assembler is still better by miles. But words are useless here, since I know anyway that you and KC keep campaigning your assembler continously everywhere and worship it almost as a deity.
There is no dispute that CajeASM is better than LemASM (which was quite easy though, since it's very out of date and hasn't been updated for a very long time) and better than armips. You can take a look at my source code yourself. Don't get me wrong. I don't want to say that CajeASM is perfect. I do know my limits and I know CajeASM still misses a few crucial features, such like macros. But armips certainly isn't
a gold standard. (see explanation below, but I know you won't read it anyway)
That's only true for the version on RHDN, the current version on the GitHub repository has vast but incomplete support for MIPS3 platforms like PSP and PS2.
It is definitely nice to see more work on these system though. I would definitely be open to integrate more N64 support too, if that is a route you would like to go.
I'm sorry, Kingcom, but I don't understand why you (and your troll friends) keep spamming your ludicrous joke of an assembler into my topic and any board in which N64 Assembly talks occur. And yes, I know FAST6191 was just here to mention your assembler so you would have a reason to post it here again. Seriously. It's not even that good. "Reliable". Lmao. Up to this day you still did not explain why ".your .commands .have .to .be .like .this" (despite that I know exactly why. It's because you cannot write a proper lexer and parser, thus need to do this in order for your assembler not to collapse like a house of cards). Hiding all your inability behind the term "design choice" had me laugh good.
. Even though your assembler has been around for so long, I see nothing but new bloated BS being added, in every new commit, while serious bugs and even incorrect encodings (RSP ASM) continue to linger inside. Not to mention that your documentation of the assembler also leaves a lot to be desired. So it's not even really usable, because hardly anyone who downloads and wants to use the assembler for the first time even knows what commands are available without having others begging you for help. What a fucking joke. How do you define "reliable" ? I am really interested into that. Armips is not reliable at all. Not in its current state.
More specifically, your assembler still misses nested scoping
, a proper syntax and dynamic macros
. Hell, it doesn't even properly assemble RSP instructions
(and there are still many missing
) and allows illegal instructions
addr). Anyone calling this assembler of yours the "Gold Standard" is honestly grossly exaggerating
or must be one of your troll friends (the latter being more likely). Yes, perhaps your assembler being a "gold standard" was true at the time when N64 assemblers were rare and the first ones just came up back then. But that would be from a historical
one. From a technical POV, it's one of the worst
assemblers written out there and definitely not something a future programmer should take as a role example
. That's my 2 cents to this.
If you want to talk about an actual gold standard, then let's talk about byuu's creation: bass
. (formely known as xkas
Bass allows dynamic macros
, doesn't rely on miserable design decisions
(caused by shitty coding) like writing a dot before each command, is highly customizable
so you can easily add new instruction set architectures without recompiling the source code
, is fully documented
and can be used right away
by any newcomer and most of all it allows nested scoping
. Bass has come a far way. It's really the only assembler that I think is worth to call an absolute masterpiece. It's not surprising, of course, since byuu has even written his own SNES emulator (bsnes) that outshined all others, even right on its initial release. (and later with the SA1-chip emulation)
So, if we were looking for a "gold standard", then it is without doubt bass
from byuu. So, Kingcom. Take a good look
at how an assembler is actually made by peaking into the source code byuu's bass assembler, so that you might hopefully learn that an assembler does not have to rely on hacky workarounds
in order for it to work properly. Coining hardcoded BS, bugs or limitations caused by your own source code (such like the dot thing) as "features" or "design choices" is truely evidence of incapacity.
Instead of campaigning so much for this half-assed assembler of yours, you should invest your time to actually fix it
. People can wait. But you actually need to do something if you're that desperate to have it called a "gold standard".