Page 8 of 8

Posted: Tue 10 Oct, 2006 10:11 am
by Timendus
Awww... that sucks... Maybe I'll implement an idea I had yesterday on the API site; Click here to download TASM compatible API, Click here to download Brass compatible API... I'd have to store the data in a more abstract way and rewrite the include generator twice though... And you'd still have Brass-only and TASM-only routines and sections... :(

Your software is starting to monopolize each other; once you decide to use Latenite, Brass or any of your libraries, you're stuck with the rest of 'em :P

Posted: Tue 10 Oct, 2006 10:21 am
by kv83
EM is still stand-alone, though it only works together with BRASS or SPASM. TASM is a pain in the ass anyway, and should be banned from mortal realms of the world

Posted: Tue 10 Oct, 2006 10:25 am
by benryves
Timendus wrote:Awww...
Z80 assembly is Z80 assembly, after all, so for the most part it will remain the same. It's on some things, such as TASM's very simplistic handling of modules, that the two views "fight" and I'll end up picking the Brass one (which will normally cover the TASM way of doing it anyway). In terms of the general TASM directives, they'll all be there of course.
Your software is starting to monopolize each other; once you decide to use Latenite, Brass or any of your libraries, you're stuck with the rest of 'em :P
Well, if you use Latenite, you'll have to use Brass. That is a given, I'm afraid, as Brass will be used to provide lots of the advanced features. Brass doesn't require you to use anything but itself; as for the libraries I write - well, it's just assembly, and should be relatively simple to convert to another assembler.

How about this - something built into Brass that converts (as best as it can) Brass code to TASM code? Obviously, you'd lose readability, but if the code works, that shouldn't be an issue... right?

Posted: Tue 10 Oct, 2006 2:54 pm
by King Harold
ah comon Tim, hardly anyone would mind being rid of TASM, so you could make a new way to force people to use Brass. But API doesn't try to put in the code that isn't defined does it, so you could just have a little thing that says "the following code is NOT TASM compitable" and no one could complain.
As for the Brass-to-TASM thing, its a great idea ofcourse but then 1 or 2 people would stick to TASM and why would we want that? Besides, there are lots of things that aren't backwards compatible and as kv pointed out: TASM is indeed a pain is the ass and should be banned from the world, the wole world in my opinion, no need to bug The Dead with it.

So Tim, 2 API's would be a good idea, it allows for more flexibility in the Brass code (Brass just rules, you can't argue with that) and it would let TASM people use it aswell.

Posted: Tue 10 Oct, 2006 2:59 pm
by benryves
The TASM output would be (I'm assuming) a list file generator (plugin) that would have access to the input code and spit it out in a TASM-friendly format. So, just an optional 3rd-party plugin. That way, people developing libraries can create code that works in TASM, whilst working in Brass.

Posted: Tue 10 Oct, 2006 6:29 pm
by Timendus
That would be a nice idea. I could even use Brass to output a version of the API for TASM on the fly from the website.

Anyway, I think there are still quite a few idiots who use TASM, even though it does suck. I don't want that to be an obstacle for people who want to use the API, because it is mainly targeted at beginners. Beginners who read beginner tutorials, who tell them to use TASM...

Edit: Oh, and putting "This doesn't work in TASM" in the comments is not a solution. The problem is not the code, it's the assembler directives, and even with a comment stating that it doesn't work TASM will not compile the library if it has the wrong directives. I could however, try to detect which assembler someone is using at compile time, and use ifdef or modules to cancel parts out... It would be a total pain in the ass though to figure out a way that TASM will accept :P

Posted: Tue 10 Oct, 2006 6:47 pm
by King Harold
How about #ifdef Brass? Surely most (I hope all) Brass users can define Brass..
It just skips the part after the #else I hope? Otherwise this wouldn't work either, and it seemed such a good idea..

Posted: Wed 11 Oct, 2006 9:45 am
by benryves
Timendus wrote:It would be a total pain in the ass though to figure out a way that TASM will accept :P
The easiest way would be for Brass to automatically declare a macro "Brass" that you could check for.

Posted: Wed 11 Oct, 2006 3:15 pm
by Timendus
I agree... If TASM does indeed just ignore anything that's between .ifdef BRASS and .endif... If it tries to parse that code anyway it will not help at all.