flat assembler
Message board for the users of flat assembler.
Index
> Main > Are you using CALM (fasmg)? |
Author |
|
Tomasz Grysztar 21 May 2020, 12:04
Have any of you been using CALM in your projects? In my own uses I consider it very successful, as it not only allowed me to bring assembly times to acceptable even on larger projects (like HeavyThing, which I've been using as a kind of benchmark, as it is not only large, but requires many passes to assemble), but also allowed me to implement various extensions in a much cleaner way than it could ever be possible with classic macros.
However it would be helpful to know if anyone else attempts to use it and whether currently available documentation is adequate for that. It would tell me if there is something I should focus on in the area. I'm aware that CALM adds another layer of complexity on top of fasmg's language that is already a bit convoluted with many non-standard design choices (partly because of its legacy). Even though CALM actually makes many tasks easier, it probably requires first a good understanding of how it all works, and therefore I think that making a good guides might the most important here. In addition to the new chapter in the main manual I have also added some CALM-specific notes near the end of the introductory guide, but they are almost exclusively about converting existing macroinstructions. I might consider adding more CALM-specific sections there, with things like examples of applying global preprocessing with CALM interceptors and some general hints how to approach design of new instruction sets. Another option I'm considering is to make another live stream of me working with CALM - I could, for example, convert the "fastcall" macro (one of the few remaining in the compatibility header set that has not been converted but highly needs it, for performance reasons) and answer questions. If you would be interested in such CALM-focused content, please let me know. |
|||
21 May 2020, 12:04 |
|
Tomasz Grysztar 21 May 2020, 15:14
ProMiNick wrote: Could be CALM presented like x86 instructions presented in fasm manuals? ProMiNick wrote: instructions translated to x86 machine opcodes directly and CALM instructions translated to preprocessor constructions directly. A live session might be a good idea then, if you'd be able to join and ask questions live, I could perhaps explain some concepts better, having an instant feedback about what is unclear. |
|||
21 May 2020, 15:14 |
|
MaoKo 25 May 2020, 03:42
I'm trying to recreate the RGBDS assembler for assembling game boy/color game.
Maybe a good tutorial on "How to create efficient relocation table with fasmg" will be useful. I known there is something like that in the intro but imo it's don't fit well in real code. Quote:
I'm pretty agree with that (but for me it's fasmg in general) and if you play with context too much it's pretty easy to "shoot yourself in the foot". And also something useful to change, perhaps, is the fact that when the calm script don't generate any code, no empty file will be created. Nobody care when it's about one test file, but if you have many of these it's not really pratical. Most of the time, my test code is just the check that some macro/calm work well. But fasm1 have also this behavior so I don't know. regard. |
|||
25 May 2020, 03:42 |
|
Tomasz Grysztar 25 May 2020, 10:10
MaoKo wrote: Maybe a good tutorial on "How to create efficient relocation table with fasmg" will be useful. MaoKo wrote: I'm pretty agree with that (but for me it's fasmg in general) and if you play with context too much it's pretty easy to "shoot yourself in the foot". Still, as I have no idea how many people are out there that actually tried to something more complex with fasmg/CALM (and my guess is not that many - but I started this topic to find out), I would gravitate towards making more basic guides, a "gentle introduction" one might say. But even then I may be able to present some basic troubleshooting tricks that could perhaps turn out helpful even to advanced users. MaoKo wrote: And also something useful to change, perhaps, is the fact that when the calm script don't generate any code, no empty file will be created. Nobody care when it's about one test file, but if you have many of these it's not really pratical. |
|||
25 May 2020, 10:10 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.