I was just wondering, would it be useful to create some kind of pre-assembler that extends masm's functionality, like COM support for directx and shell? My aim is not to create a high-level language from asm, but supply an alternative for complicated macros. What's your opinion on this? Would it be useful or just a waste of time?
For directX I'd find it a complete waste of time. I've used most aspects of directx fine with a only a couple of macros. But maybe others would find it useful... - Ben
MASM doesn't need any sort of pre-assembler to handle COM, just the proper include files. The main problem with these things is there just ain't no standard on how they are done, so everyone generates them as they see fit. What would be nice is a h2inc that handled COM definitions properly. I hacked something together for this, then changed my personal COM standard several times to obsolete it; it's just as easy to hand-translate them anyway with a few well chosed copy and pastes from C.h files anyway. I have some thoughts on the subject on my page: http://here.is/COMinASM Check the "Proposed Standard for COM Information in Assembly Include Files" article. Finally, in passing, if you DO choose to do your own COM standard, please don't just make ANOTHER invocation macro for every single interface that comes along. One macro, properly handled, will do them all. I've seen this done in some people's work, it is not the way to go.
Maybe a better idea would be to create a h2inc for COM files that you can fully customize to support the include format you use.