I was wondering if masm386.exe is just masm.exe renamed? MASM 6.x supported .486 and .586 in (at least in DOS).
I installed MASM 6.0b to c:\masm\binp and c:\masm\binb, and copied c:\masm\binb\masm.exe to c:\masm\binp\masm386.exe and ran nmake sd386.mk in the sd386src folder. It worked!
I had to tweak a few of the assembly lines (a bug in MASM I assume, as that code is valid with an address override prefix byte):
; Did not work:
cmp byte ptr [di], 20h
; Changed to:
push edi
and edi,0ffffh
cmp byte ptr [edi], 20h
pop edi
And there were places like that in vbox.asm and putup.asm.
And it didn't recognize this in tcpip.c:
SOCECONNREFUSED
SOCEINTR
SOCENOTSOCK
I defined them all as -1 to see if it would compile and it did. I'll find out their true values and update the code.
It also didn't find ilink.exe in the path, and it's not installed anywhere in my "dir /s ilink.exe" c:\ path. I assume it's expecting a slightly newer version of icc than I have installed, and a version of MASM that includes the incremental linker.