I dowloaded the 98ddk (26 Mbytes) to obtain the includes in order to test the Izcelion tuts on how to build a Vxd. But I encountered a big problem: vmm.inc and some other includes provided by microsoft are bugged ( Masm compiler has detected errors on some macro which are defined inside these buggy includes). Could someone give me an adress where I could found the correct includes without having to re-download tons of Mbytes just to obtain some includes (I need at least vmm.inc) otherwise I will not be able to learn these Izcelion tuts.
Thank for the help.
Where did you download this faulty 98DDK?
And could you please post the errors that MASM gives you?
First of all, thank you for trying to help me.
Here is the address of Microsoft site from which I downloaded the98ddk:
http://mssjus.www.conxion.com/download/win98se/install/gold/w98/en-us/98ddk.exe
Here is the code that I am trying to compile (the very first Izcelion tutorial):
.386p
include \masm32\include\vmm.inc
DECLARE_VIRTUAL_DEVICE FIRSTVXD,1,0, FIRSTVXD_Control,\
UNDEFINED_DEVICE_ID, UNDEFINED_INIT_ORDER
Begin_control_dispatch FIRSTVXD
End_control_dispatch FIRSTVXD
end
Here is the makefile used in the tutorial:
NAME=firstvxd
$(NAME).vxd:$(NAME).obj
link -vxd -def:$(NAME).def $(NAME).obj
$(NAME).obj:$(NAME).asm
ml -coff -c -Cx -DMASM6 -DBLD_COFF -DIS_32 $(NAME).asm
And finally, here is the error message generated by the Masm compiler:
\masm32\include\vmm.inc(312) : error A2008: syntax error : &
MacroLoop(16): iteration 1: Macro Called From
MakeCodeSeg(41): Macro Called From
\masm32\include\vmm.inc(312): Include File
\masm32\include\vmm.inc(312) : fatal error A1008: unmatched macro nesting
MacroLoop(21): iteration 1: Macro Called From
MakeCodeSeg(41): Macro Called From
\masm32\include\vmm.inc(312): Include File
I hope these informations would be the ones you wanted.
I had a similar or maybe the same problem when I first tried to assemble a VxD. After a few tries I have made this working batch:
@echo off
if exist *.obj del *.obj
c:\masm32\bin\ml -nologo -coff -c -Cx -DMASM6 -DBLD_COFF -DIS_32 %1.asm
if errorlevel 1 goto errasm
c:\masm32\bin\link -vxd -def:%1.def /NOLOGO %1.obj
if errorlevel 1 goto errlink
goto TheEnd
:errlink
echo.
echo ##########
echo Link error
echo ##########
goto ERR
:errasm
echo.
echo ##############
echo Assembly Error
echo ##############
:ERR
pause
:TheEnd
del *.obj
This message was edited by Milos, on 4/26/2001 3:15:24 PM
Milos
I just tried this and it doesn't work too. I am thinking that I could generate the .inc using H2INC.exe. What's your opinion?
Nevertheless, thanks for having tried to help me.
velladas,
Try this, it is only 558kb and have all .inc you need.
http://www.immortaldescendants.org/database/essays/yates/vxdkit.zip
Thank you Forge.
Valladas:
That is strange, I have got my DDk from the same place, and thic batch works on my computer.... are you sure you have specified path for the VxC includes ?
Howdy
i had horrible MASM complaints when i toyed with my first vxd.
The solution to my problem (which may not be the same as yours) was to include this after the .386 directive:
MASM = 1
So your vxd.asm would start like this:
.386p
MASM = 1
If i don't declare that, i get horrible error msgs.
Bye and hope it helps.
Latigo
With your help, I reached the goal of compiling a VxD and now I will be able to go on learning Iczelion VxD tutorials.
Thank you for all Forge, Latigo, Milos, Limpf. And Iczelion of course.