Compiling the Source Code: -------------------------- Well, for the moment, zsnes source may be a little hard to compile. Here is a quick guide (based on my own experience and on a doc written by zsKnight) explaining how to compile zsnes. With these tools, I can build both dos and win version, I hope it will also work for you First, you need the following software: Dos port : - NASM v0.98 : http://www.kernel.org/pub/software/devel/nasm/ the version found on http://nasm.2y.net/ DOES NOT WORK with zsnes sources. When you type nasm -r, you must get 'NASM version 0.98' and not 'NASM version 0.98.08' if you have the correct version - DJGPP v2 or higher, (GCC also installed) : http://www.delorie.com/djgpp/ using the zip picker, the default choices are ok if you check C and C++ in the programming languages. You also need to get zlib which is available with the full distribution of djgpp. You can get it at : ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2tk/zlib112b.zip Then to build the executable, go to the src directory and type: make -f makefile.dos You may also want to compress zsnes.exe with upx (http://upx.sourceforge.net), it will divide its size by 10. Windows port : - GNU Make : it comes with djgpp - NASM v0.98 : http://www.kernel.org/pub/software/devel/nasm/ - MSVC++ 6.0 or higher : not freely available, you'll have to buy it You need to run VCVARS32.BAT. If you get an out of environment space error, type 'command /e:32768' (to create a new command.com entity with more environment space) - DX8.0 SDK or higher : you can get it at microsoft.com. It is quite big. Also, edit makefile.win to set the correct path to your SDK. I also had some problems with vc++ using its own (old) directx headers instead of the sdk headers. I replaced these old headers (in the include directory of vc++ dir) with the newer ones. - zlib : http://www.info-zip.org/pub/infozip/zlib/ you need the Win9x/WinNT static library (the dll version doesn't seem to work with zsnes). Rename the static version to zlib.lib and put it somewhere where vc++ will find it (for example, the lib directory in vc++ dir). Don't forget to set the correct path to the directx sdk in makefile.win! Then to build the executable, go to the src directory and type: make -f makefile.win You may also want to compress zsnesw.exe with upx (http://upx.sourceforge.net), it will divide its size by 10. Linux port: I assume the standard development tools are installed (gcc, make, ...) You'll also need : - SDL (Simple DirectMedia Layer) : check www.libsdl.org to grab SDL 1.2.0 or later. If you are using rpm packages, don't forget the -devel package. - NASM v0.98 : http://www.kernel.org/pub/software/devel/nasm/ the version found on http://nasm.2y.net/ DOES NOT WORK with zsnes sources. When you type nasm -r, you must get 'NASM version 0.98' and not 'NASM version 0.98.08' if you have the correct version - zlib : http://www.info-zip.org/pub/infozip/zlib/ it is probably already installed on your system, maybe you are just missing the development headers. Check in the packages available with your distribution or go to the page above - libpng : http://www.libpng.org/ You might also need libpng, ZSNES will compile without PNG support but I have found doing so to make ZSNES unstable for some weird reason. If you don't have libpng, either get it and install it or pass the --without-png option to the 'configure' script. Then to build the executable, go to the src directory and type: ./configure && gmake && gmake install Note: you require root to install zsnes to the the default (/usr/local/*) directory Also Note: libpng (optional) needs to be recent, or zsnes will not use it You may also want to compress the zsnes executable with upx (http://upx.sourceforge.net), it will divide its size by 10.