fasm.rules add-on for VS2005:
YOU MUST EDIT fasm.rules for your enviroment. Edit one line (#10):
CommandLine="\fasm\vs2fasm.bat [IsInc] [IsDebug] $(InputPath) $(OutDir)\$(InputName).obj"
for path to vs2fasm. If this location present in PATH: write simply:
CommandLine="vs2fasm.bat [IsInc] [IsDebug] $(InputPath) $(OutDir)\$(InputName).obj"

Copy this file into "\Program Files\Microsoft Visual Studio 8\VC\VCProjectDefaults" 
(path in VS installation folder).
After them your VS2005 can use this file for asm files (at least when "add existing item" used).

vs2fasm.bat batch file automate fasm usage from VS2005 (using fasm.rules)
Usage:
vs2fasm [-d] [-noinc] [-f opt val] [-p opt] filename.asm filename.obj

-d option add debug info using pecvt utility
-noinc - NOT set INCLUDE variable to map at fasm include directory
-f - transfer followed option with value to fasm
-p - transfer followed option to pecvt

YOU MUST EDIT vs2fasm.bat for your enviroment. Edit lines:
       Path to fasm.exe:
@set FASMEXE=\fasm\fasm.exe
       Path to fasm2vs.exe:
@set FASM2VSERR=\fasm\fasm2vs.exe
       Path to fasm includes:
@set FASMINC=\fasm\include
       Path to pecvt.exe:
@set ADDDBG=\fasm\pecvt.exe

fasm2vs.exe utility transform fasm error messages into format recognized by VS2005.
Typical usage:
fasm ..parameters.. 2>&1 | fasm2vs

2>&1 - redirect STDERR to STDOUT
| - put STDOUT of fasm to STDIN of fasm2vs
fasm2vs always write into STDOUT

Note: if fasm2vs detect some error in input stream it return with errorlevel=1, 
so you can check compilation success (and VS2005 also can).
