But it won't compile for some reason.
Okay, here is what I did.
a) Downloaded and Installed DirectX SDK 9.0 (Summer 2004).
b) Downloaded the source from ipherswipsite. The 0907 version. The same version I used in Linux.
c) Patched the source code (I use mingw, but for just a patch program, this shouldn't matter if it was mingw, cygwin, or win32-native). Besides, it never fails on the file I changed.
d) Installed nasm (0.98.36)
Start command prompt. make -f makefile.win
I put the DirectX 9.0 Summer 2004 headers and library in C:\MSSDK. It will either read the headers or the library file if it's in the C:\Program Files\Microsoft DirectX 9.0 SDK (Summer 2004) direcory, but not both. Couldn't figure that out. Moving on...
C:\msys\1.0\home\jdratlif\zsnes\src>make -f makefile.win
cl /Ox /G6 /c /D__WIN32__ /I"C:\MSSDK"\Include /Foversion.obj version.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
version.c
cl @link.win32 win/zsnes.res /link /libpath:"C:\MSSDK"\lib
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
cl /Fezsnesw.exe chips\dsp1proc.obj chips\dsp2proc.obj dos\sw.obj dos\gppro.obj dos\vesa12.obj dos\zsipx.obj d
os\modemrtn.obj dos\joy.obj dos\debug.obj dos\vesa2.obj dos\initvid.obj cfgload.obj endmem.obj init.obj initc.
obj uic.obj patch.obj ui.obj vcache.obj effects\water.obj effects\smoke.obj effects\burn.obj version.obj video
\procvid.obj win\copyvwin.obj win\winintrf.obj win\winlink.obj win\zloaderw.obj win\ztcp.obj win\zfilew.obj wi
n\zipxw.obj video\makev16b.obj video\makev16t.obj video\makevid.obj video\mode716.obj video\mode716b.obj video
\mode716d.obj video\mode716e.obj video\mode716t.obj video\mode7.obj video\mode7ext.obj video\mv16tms.obj video
\newg162.obj video\newgfx16.obj video\newgfx2.obj video\newgfx.obj video\m716text.obj video\2xsaiw.obj video\s
w_draw.obj video\hq2x16.obj video\hq2x32.obj video\hq3x16.obj video\hq3x32.obj video\hq4x16.obj video\hq4x32.o
bj gui\gui.obj gui\menu.obj cpu\addrni.obj cpu\dma.obj cpu\dsp.obj cpu\dspproc.obj cpu\execute.obj cpu\irq.obj
cpu\memory.obj cpu\spc700.obj cpu\stable.obj cpu\table.obj cpu\tableb.obj cpu\tablec.obj chips\dsp1emu.obj ch
ips\fxemu2.obj chips\fxemu2b.obj chips\fxemu2c.obj chips\fxtable.obj chips\sa1proc.obj chips\sa1regs.obj chips
\sfxproc.obj chips\st10proc.obj chips\seta10.obj zip\unzip.obj zip\zpng.obj zlib.lib libpng.lib wsock32.lib us
er32.lib gdi32.lib shell32.lib winmm.lib ddraw.lib dsound.lib dinput8.lib d3dx.lib /link /section:.text,erw
Microsoft (R) Incremental Linker Version 6.00.8447
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
/out:zsnesw.exe
/section:.text,erw
/libpath:C:\MSSDK\lib
chips\dsp1proc.obj
chips\dsp2proc.obj
dos\sw.obj
dos\gppro.obj
dos\vesa12.obj
dos\zsipx.obj
dos\modemrtn.obj
dos\joy.obj
dos\debug.obj
dos\vesa2.obj
dos\initvid.obj
cfgload.obj
endmem.obj
init.obj
initc.obj
uic.obj
patch.obj
ui.obj
vcache.obj
effects\water.obj
effects\smoke.obj
effects\burn.obj
version.obj
video\procvid.obj
win\copyvwin.obj
win\winintrf.obj
win\winlink.obj
win\zloaderw.obj
win\ztcp.obj
win\zfilew.obj
win\zipxw.obj
video\makev16b.obj
video\makev16t.obj
video\makevid.obj
video\mode716.obj
video\mode716b.obj
video\mode716d.obj
video\mode716e.obj
video\mode716t.obj
video\mode7.obj
video\mode7ext.obj
video\mv16tms.obj
video\newg162.obj
video\newgfx16.obj
video\newgfx2.obj
video\newgfx.obj
video\m716text.obj
video\2xsaiw.obj
video\sw_draw.obj
video\hq2x16.obj
video\hq2x32.obj
video\hq3x16.obj
video\hq3x32.obj
video\hq4x16.obj
video\hq4x32.obj
gui\gui.obj
gui\menu.obj
cpu\addrni.obj
cpu\dma.obj
cpu\dsp.obj
cpu\dspproc.obj
cpu\execute.obj
cpu\irq.obj
cpu\memory.obj
cpu\spc700.obj
cpu\stable.obj
cpu\table.obj
cpu\tableb.obj
cpu\tablec.obj
chips\dsp1emu.obj
chips\fxemu2.obj
chips\fxemu2b.obj
chips\fxemu2c.obj
chips\fxtable.obj
chips\sa1proc.obj
chips\sa1regs.obj
chips\sfxproc.obj
chips\st10proc.obj
chips\seta10.obj
zip\unzip.obj
zip\zpng.obj
zlib.lib
libpng.lib
wsock32.lib
user32.lib
gdi32.lib
shell32.lib
winmm.lib
ddraw.lib
dsound.lib
dinput8.lib
d3dx.lib
win/zsnes.res
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _ftell already defined in LIBC.lib(ftell.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fprintf already defined in LIBC.lib(fprintf.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fopen already defined in LIBC.lib(fopen.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _malloc already defined in LIBC.lib(malloc.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _sprintf already defined in LIBC.lib(sprintf.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fwrite already defined in LIBC.lib(fwrite.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fread already defined in LIBC.lib(fread.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fclose already defined in LIBC.lib(fclose.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _free already defined in LIBC.lib(free.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fflush already defined in LIBC.lib(fflush.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fseek already defined in LIBC.lib(fseek.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _gmtime already defined in LIBC.lib(gmtime.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _strncpy already defined in LIBC.lib(strncpy.obj)
LINK : warning LNK4098: defaultlib "MSVCRT" conflicts with use of other libs; use /NODEFAULTLIB:library
LINK : warning LNK4098: defaultlib "MSVCRTD" conflicts with use of other libs; use /NODEFAULTLIB:library
zsnesw.exe : fatal error LNK1169: one or more multiply defined symbols found
del version.obj
-------------------------------------------
There is no combination of /NODFEAULTLIB with LIBC, MSVCRT, and MSVCRTD I haven't tried. None of them work. If you take one away, both copies of the symbol go with it.
The latest DirectX headers don't compile with it. So I had to get a DX8 copy of dsound.c. I don't think that is affecting things, but I thought I should mention it. It had compile errors if you use the (Summer 2004) version of dsound.c.
I have also tried compiling it from withing Visual Studio (nasm fails on init.asm for some weird reason ".\init.asm
I tried compiling on mingw. nasm thought it didn't specify an input file. That didn't make sense either, but I've tried everything that came to mind.
I don't know what's wrong. Is there something I'm missing?
I installed zlib, libpng, gmake, and the dx sdk. It compiles, but it won't link.
I really want to test my patch before I send it out publicly.
Thanks in advance...