Hi Biterider!
I mainly tested the code with UASM. It may be possible that ML has some incompatibilities and performance issues, but we can work them out.
Yes. ML64 have differences but for sure is posible to improve compatibility. I think there is not enough critical mass for 5 totally differents SDK.
> Point 1: does not seem to be a problem for UASM
No.
>Point 2: the WIN header files define it that way. There are cases where the underscore prepended name are referenced.
Yes. Headers are readed by compilers.
>Point 3: it is not a repetition. First it is defined and then it referenced. Maybe there are better ways to do it, but keep in mind that the translation is a single pass process

Sorry, I was thinking in a repetition, ML64 tell me that.
>Point 4: known problem. C macros are not translated since there is not simple way to do it without a full-featured C compiler. The macro is left in its original form as reference
Only one showed a problem in test. But remain more C macros with conditionals.
>Point 5: I don't know
It's a mistery
>Point 6: as you probably know, it is designed the other way around, but if you want to use the include files in this way, it should be fine.
Yes. A lot of posible ways.
h2incX is a complex program that deserves more attention.
I'll look at it in the coming days.
Until now, some few manual modifications look enough to begin the analysis.
Attached reference Hutch' example and modified includes.
HSE