I've have now dicovered that the BC V4.x compiler is trash... It's calling conventions are all messed up, I use pure stack calling with returned values in the regs. It assumes when double is returned it is left on the FPU stack (Watcom does not!). So I can't use it. If you are not going to use FPU stuff (like no decimals or anything!) then you can use the following on your own risk. (just get Watcom) To use the BC v4.x compiler: Get 'bcc32.zip' from my homepage, it includes: bc2exe.bat (just like c2exe and asm2exe) bcASM.EXE (c program in convert borland ASM to MASM format) What it does differently: - the OBJ files the compiler makes is rejected by DLINK (not OMF compatible) so I use -B to output to ASM format and then use a util I made call BCASM which converts the ASM file into something MASM can handle and is then compiled thru MASM. If you don't like all this then get Watcom... I't just too old of a compiler. Maybe BC v5.0 will be able to do it... BC2exe.bat and BCASM are provided 'as is'.