I can find the exact quote but it went something like "tniasm sucks because it introduces custom syntax and my assembler doesnt" but yours is many worse
That’s a fine suggestion and definitely I want to replace it with 0xxH on the MAP. It is a remnant of my WBASS / Compass days, but 0xxH is the most universal Z80 assembler syntax.
I’ve never said anything like that about tniasm. I might have said I do not like some of the features other assemblers offer, or the syntax they use to implement it, obviously or I would be using them instead of making my own.
Anyway let me know the feature that you are missing, or the syntax that you would like to see different, and I will consider it or explain how I want to do it and why.
maybe he's referring to this post
https://www.msx.org/forum/msx-talk/development/getting-start...
I especially don’t like it when people use an assembler with a lot of custom syntax which is not available cross-platform (like Sjasm, TNIasm)
Anyway at some point I may be getting a macbook (a friend of mine can repair broken ones so it won't be too expensive for an older model) so I am keeping an eye on Glass. Gj on your new release, looks nice!
Thanks syn.
Your quote is partial by the way;
I especially don’t like it when people use an assembler with a lot of custom syntax which is not available cross-platform (like Sjasm, TNIasm), because as a Mac user it essentially locks me out from contributing.
This is not a critique on the fact that Sjasm or tniASM use custom syntax, but on the fact that they’re not cross-platform. Because if the assembler is not cross-platform, and the custom syntax is used and then shared (in an open source project for example), being a Mac user there is no way for me to assemble it without first adapting the source. And when I do, it is also hindering me from contributing back. Myself I’d happily adopt to any other assembler’s syntax when contributing to another project, if I could use it on my system. For my own projects, I’d rather use Glass, obviously .
If you want to quote the part where I critique custom syntax you should’ve picked this one :
Other assemblers were problematic for me because they were either not cross-platform (didn’t work on Mac) or used too much custom syntax like single-line repeat shorthands or the horrible write-multiple-instructions-on-a-single-line, which in my opinion makes the code harder to read rather than easier.
Yes, I still do not like writing multiple instructions on a single line or special single-line repeat syntax. If I did not have opinions about those things, I would have no business writing an assembler. They are not consistently implemented across assemblers either (afaik), so there’s no motivation for implementing it for compatibility’s sake either, I can just follow my own design.
Unfortunately repeat syntax is not implemented consistently in assemblers either, which is a shame because it’s a very useful thing, but it is the way it is. Initially I followed Pasmo’s design, however I kept consistently mis-typing ENDM at the end of the REPT as ENDR, so I changed it recently to match that intuition (ENDM still works though).
Anyway as long as one is not specific about what you do and don’t like and what they think should be changed or added, I can not respond meaningfully to it, and posts just bashing my work, I can not interpret it positively.
That’s a fine suggestion and definitely I want to replace it with 0xxH on the MAP. It is a remnant of my WBASS / Compass days, but 0xxH is the most universal Z80 assembler syntax.
Sorry Grauw, but I disagree. 0xxH syntax it's a 16 bits cpu assembler syntax. You can read the official (old) z80 data sheets. Tell me if you see 0xxH syntax. Lowercase is 16 bits cpu assembler syntax.
0xxH and lowercase z80 syntax is relatively modern. You can read old assembler books, data sheets, etc... They never use 0xxh or lowercase. Even in old Motorola 68k books you can see uppercase and # for hexadecimal.
Also colon suffix is optional for the labels.
I think if you want code a good new assembler you should support different syntax. Personally I hate the "new" modern syntax like as LD A,[HL] -> [] ?¿?¿?¿, the "point" pseudo instructions .DB -> . ?¿?¿? etc...
Luckily sjASM support the "tradicional" (I like) syntax and new syntax. Please, don't remove the # syntax in your awesome MAP site.
Hey Ramones, hmm really, interesting. From old (non-scene) assembler documentation and books that I read I had the impression that they all used to use xxH syntax, and some assemblers (M80? can’t be bothered to look it up) didn’t support #. But I’ll take your word for it that there has never been as uniform a notation as I thought there was. I guess I won’t change the notation on the MAP anytime soon, it’s just syntax in the end, though it’d be nice to be consistent.
Glass should also support the traditional syntax fully I hope, let me know if you feel that anything in particular is missing. I try to also at least cover the commonly supported syntax, that’s why I added # and % support. I don’t really care for $ for hex though, or [] instead of ()… Especially in the case of [], I want to use it for sequence indexing in expressions once I get around to implementing that, so it would make expression parsing a lot more difficult if I would also allow it for indicating indirect addressing.
It looks out like you define cross-platform as "supports mac" because tniasm is for linux and windows. Fast and sure the author can release it on mac if there is a cross-compilation possible.
Also Glass is free and open source .
Anyway this thread is not about tniASM or Sjasm or whichever other assembler there is. Those assemblers have their own merits and surely many happy users, however I am not developing them, so there’s nothing to discuss.
I’d like to continue to discuss Glass itself and hopefully get some feedback on what things people would like to see or see different.
I would like to see it not use java