For the current release: PyMAME was compiled using MinGW Python, PyNES and PyVBA were compiled using Visual Studio 2008 wxPython was not recompiled (release binaries were used) 1. Get the code: svn checkout http://www.necrofamicon.com/Necrofamicon 2. Install Python 2.5 (www.python.org) python-2.5.2.msi 3. Install wxPython (google "wxpython download") wxPython2.8-win32-ansi-2.8.7.1-py25.exe 4. Build PyVBA. 4a. From the Necrofamicon directory: c:\Python-2.5.2\PCbuild8\win32release\python BuildPyVBA.py build 4b. Test the build: c:\Python-2.5.2\PCbuild8\win32release\python TestPyVBA.py 5. Build PyMAME. 5a. Install mingw (mingw-mame-20070810.exe) 5b. Extract dx80_mgw.zip, and copy the files into c:\mingw\include: * d3d8.h * d3d8caps.h * d3d8types.h * ddraw.h * dinput.h * dsound.h 5c. If necessary, update the PyMAME build flags: Run BuildBuildPyMAME.py 5d. From the Necrofamicon directory, run: set PATH=%PATH%;c:\mingw\bin c:\Python-2.5.2\PCbuild8\win32release\python BuildPyMAME.py build --compiler=mingw32 5a. Install the DirectX SDK from Microsoft (google "DirectX SDK"), *or* install dx80_mgw.zip 6. Tweak DIRECTX_INCLUDE_DIR in BuildPyMAME.py to point to the correct include directory. 7. Build PyMAME. From the Necrofamicon directory: set PATH=%PATH%;c:\mingw\bin c:\python-2.5.2\PCbuild8\Win32release\python BuildPyMAME.py build --compiler=mingw32 Building base MAME: set PATH=%PATH%;c:\mingw\bin mingw32-make 8. Build PyNES. 8a. From the necrofamicon directory: c:\Python-2.5.2\PCbuild8\win32release\python BuildPyNES.py build *** Note: Currently, PyNES built on Vista works on Vista only, and PyNES built on XP works on XP only. 8b. Test PyNES: c:\Python-2.5.2\PCbuild8\win32release\python TestPyNES.py *** Check NESCPU->ram.mem[0xbd] 9. run it: c:\Python-2.5.2\PCbuild8\win32release\python Necrofamicon.py 10. Fix Sxs: "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall" mt /manifest ..\build\lib.win32-2.5\PyNES.pyd.manifest /outputresource:Retromancer.exe;#2 mt /manifest ..\build\lib.win32-2.5\PyNES.pyd.manifest /outputresource:PyNES.pyd;#2 mt /manifest ..\build\lib.win32-2.5\PyNES.pyd.manifest /outputresource:PyVBA.pyd;#2 mt /manifest ..\build\lib.win32-2.5\PyNES.pyd.manifest /outputresource:Python25.dll;#2 Don't do this: rem mt /manifest ..\build\lib.win32-2.5\PyNES.pyd.manifest /outputresource:PyMAME.pyd;#2 ------------------------------------------------------------------------------------------------------------------------------------------ Notes and scratch area: Note from the internet on building MAME: > Can Someone smarter than I have a look at this build log to see what I need to do to > get this to compile? I would appreciate it. Also is there another way to compile > 64bit Mame other than Visual Studio? I can only run 64bit Mame on one computer anyway > but any help would be greatly appreciated. Don't waste your time on 2008 right now it doesn't compile the 64-bit DRC correctly. In addition MAME's cheat system also crashes on 2008 builds. Visual Studio 2005 or the platform SDK are the only options right now. PyMAME/src/emu/cpu/cop400/cop410.c(164) : error C2065: 'Fatal' : undeclared identifier ---------------------------------------------------------------------------------------------------------------------------------------- New info: - Building PyMAME, PyFCEU, or PyVBA with the released version of Python gives the following error message: error: Python was built with Visual Studio version 7.1, and extensions need to be built with the same version of the compiler, but it isn't installed. This is fixed by tweaking msvccompiler.py to find Visual Studio 2008. - We need to build Python, PyMAME, PyFCEU, PyVBA. Ideally, all four should use the same compiler, to ensure compatibility and keep things simple. return Py_BuildValue(""); c:/python-2.5.2/PCbuild8/Win32Release/python BuildPyFCEU.py build set PATH=%PATH%;c:\mingw\bin c:\python-2.5.2\PCbuild8\Win32Release\python BuildPyMAME.py build --compiler=mingw32 python BuildPyFCEU.py build --compiler=mingw32 c:\python-2.5.2\PCbuild8\Win32Release\python BuildPyMAME.py build --compiler=mingw32 c:/python-2.5.2/pcbuild8/win32release/python.exe setup.py build --compiler=mingw32 c:\python-2.5.2\PCbuild8\Win32Release\python.exe c:\python-2.5.2\PC\VC6\python.exe c:\python-2.5.2\PCbuild8\Win32Release\python.exe buildpyvba.py build error: Python was built with Visual Studio version 9.0, and extensions need to be built with the same version of the compiler, but it isn't installed. c:\python-2.5.2\PC\VC6\python.exe buildpyvba.py build c:\python-2.5.2\PCbuild8\Win32Release\python TestPyMAME.py c:\python-2.5.2\PCbuild8\Win32Debug\python_d TestPyMAME.py c:\python-2.5.2\PCbuild8\Win32Debug\python_d TestPyFCEU.py gdb target exec python r TestPyFCEU.py c:\python-2.5.2\PCbuild8\Win32release\python c:\Python-2.5.2\PCbuild\python ReleaseGPStats.py build c:\Python-2.5.2\PCbuild8\win32release\python ReleaseGPStats.py build c:\Python-2.5.2\PCbuild8\win32release\python BuildPyNES.py build c:\Python-2.5.2\PCbuild8\win32release\python BuildPyVBA.py build c:\Python-2.5.2\PCbuild8\win32release\python BuildPyVBA.py clean c:\Python-2.5.2\PCbuild8\win32release\python TestPyVBA.py c:\Python-2.5.2\PCbuild8\win32release\python Release.py Use _MSC_VER define: #if _MSC_VER >= 1400 // this is Visual C++ 2005 #elif _MSC_VER >= 1310 // this is Visual c++ .NET 2003 #elif _MSC_VER > 1300 // this is Visual C++ .NET 2002 #endif http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=en mame.c:mame_execute_driver mame.c:init_machine romload.c:rom_init display_rom_load_results --------------------------------------------- Releasing: - Bump version in Global.py - SxS fix: "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall" mt /manifest ..\build\lib.win32-2.5\PyNES.pyd.manifest /outputresource:Retromancer.exe;#2 mt /manifest ..\build\lib.win32-2.5\PyNES.pyd.manifest /outputresource:PyNES.pyd;#2 mt /manifest ..\build\lib.win32-2.5\PyNES.pyd.manifest /outputresource:PyVBA.pyd;#2 mt /manifest ..\build\lib.win32-2.5\PyNES.pyd.manifest /outputresource:Python25.dll;#2 ---------------------------------------------- VBA rollback to 1.7.1: admame.cpp arm-new.h GBA.cpp gfx.h pixel.cpp scanline.cpp cd C:\Retromancer\PyVBA\src copy C:\Users\swt\VisualBoyAdvance-src-1.7.1\VisualBoyAdvance-1.7.1\src\admame.cpp PyVBA preprocessors were: WIN32;_DEBUG;_CONSOLE;FINAL_VERSION;NDEBUG;BKPT_SUPPORT;MMX;SDL;_DLL;_AFXDLL 1.7.1 macros are: _DEBUG;DEV_VERSION;WIN32;_CONSOLE;BKPT_SUPPORT;MMX;SDL;PROFILING Differences: DEV_VERSION versus FINAL_VERSION NDEBUG _DLL _AFXDLL PROFILING OLD: /O2 /Ob1 /I "include\zlib" /I "include\png" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "OEMRESOURCE" /D "MMX" /D "FINAL_VERSION" /D "BKPT_SUPPORT" /D "DEV_VERSION" /D "_VC80_UPGRADE=0x0600" /D "_AFXDLL" /GF /FD /EHsc /MD /Gy /Fo".\Release/" /Fd".\Release/" /W3 /nologo /c /Zi /TP /errorReport:prompt NEW: /O2 /Ob1 /I "include\zlib" /I "include\png" /I "include\cxImage" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "OEMRESOURCE" /D "MMX" /D "FINAL_VERSION" /D "BKPT_SUPPORT" /D "DEV_VERSION" /D "_VC80_UPGRADE=0x0600" /D "_AFXDLL" /GF /FD /EHsc /MD /Gy /Fo".\Release/" /Fd".\Release/" /W3 /nologo /c /Zi /TP /errorReport:prompt OLD: /OUT:"Release/VisualBoyAdvance.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"C:\DXSDK8\lib" /LIBPATH:"C:\Users\swt\VisualBoyAdvance-src-1.7.1\VisualBoyAdvance-1.7.1\win32\lib\win32" /MANIFEST /MANIFESTFILE:".\Release\VisualBoyAdvance.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /NODEFAULTLIB:"libc" /NODEFAULTLIB:"libm" /NODEFAULTLIB:"libmmd" /DEBUG /PDB:".\Release/VisualBoyAdvance.pdb" /MAP:".\Release/VisualBoyAdvance.map" /SUBSYSTEM:WINDOWS /OPT:REF /DYNAMICBASE:NO /MACHINE:X86 /ERRORREPORT:PROMPT d3dx8.lib wsock32.lib ddraw.lib dxguid.lib winmm.lib dinput.lib vfw32.lib opengl32.lib NEW: /OUT:"Release/VisualBoyAdvance.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"C:\DXSDK8\lib" /LIBPATH:"C:\Users\swt\VisualBoyAdvance-src-1.7.2\VisualBoyAdvance-1.7.2\win32\lib\win32" /MANIFEST /MANIFESTFILE:".\Release\VisualBoyAdvance.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /NODEFAULTLIB:"libc" /NODEFAULTLIB:"libm" /NODEFAULTLIB:"libmmd" /DEBUG /PDB:".\Release/VisualBoyAdvance.pdb" /MAP:".\Release/VisualBoyAdvance.map" /SUBSYSTEM:WINDOWS /OPT:REF /DYNAMICBASE /NXCOMPAT /MACHINE:X86 /ERRORREPORT:PROMPT libpngMD.lib zlibMD.lib CxImage.lib jpeg.lib d3dx8.lib wsock32.lib ddraw.lib dxguid.lib winmm.lib dinput.lib vfw32.lib opengl32.lib