MS VC++ 9.0 solution and project files.

Fixed compile errors and warnings in VC++ 9.0.
- Use /FR option instead of the deprecated /Fr
- Ignore CRT deprectaion warnings
- ISO conformant names for POSIX functions
- VertexPatcher::DumpCache() visibility
- Don't include winsock2.h in EmuXOnline.h
- NTSTATUS ambiguities in EmuKrnl.cpp
- Redundant namespaces in EmuWSAStartup(...) and EmuAllocateLDT(...)
- Removed afxres.h (MFC) dependency in resource files

Bumped blob versions.
- VC++ 9.0 libjpeg.lib (imported from OgreDependencies VC9 Eihort 20080203)
- UPX version 3.03
This commit is contained in:
Daniel Stien 2008-08-23 00:49:24 +00:00
parent ec1781fd5b
commit df389d51f4
35 changed files with 3298 additions and 1541 deletions

View File

@ -1,141 +0,0 @@
# Microsoft Developer Studio Project File - Name="Cxbe" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 60000
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=Cxbe - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "Cxbe.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "Cxbe.mak" CFG="Cxbe - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "Cxbe - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "Cxbe - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName "Cxbe"
# PROP Scc_LocalPath "."
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "Cxbe - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "..\..\bin\release"
# PROP Intermediate_Dir "..\..\bin\release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\src" /I "..\..\src\Common\Win32" /I "..\..\src\Win32" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "Cxbe - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "..\..\bin\debug"
# PROP Intermediate_Dir "..\..\bin\debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\src" /I "..\..\src\Common\Win32" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# SUBTRACT CPP /Fr
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /map /debug /machine:I386 /pdbtype:sept
# SUBTRACT LINK32 /pdb:none
!ENDIF
# Begin Target
# Name "Cxbe - Win32 Release"
# Name "Cxbe - Win32 Debug"
# Begin Group "Include"
# PROP Default_Filter ""
# Begin Source File
SOURCE=..\..\src\Common\Win32\AlignPosfix1.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Win32\AlignPrefix1.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Cxbx.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Error.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Exe.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Xbe.h
# End Source File
# End Group
# Begin Group "Source"
# PROP Default_Filter ""
# Begin Source File
SOURCE=..\..\src\Common\Error.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Exe.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Cxbe\Main.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\OpenXDK.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Xbe.cpp
# End Source File
# End Group
# End Target
# End Project

347
build/win32/Cxbe.vcproj Executable file
View File

@ -0,0 +1,347 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Name="Cxbe"
ProjectGUID="{028D5D8F-072C-4308-9095-4EF1EA6B83B0}"
TargetFrameworkVersion="0"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Release|Win32"
OutputDirectory=".\..\..\bin\release"
IntermediateDirectory=".\..\..\bin\release"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TypeLibraryName=".\..\..\bin\release/Cxbe.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\src,..\..\src\Common\Win32,..\..\src\Win32"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
PrecompiledHeaderFile=".\..\..\bin\release/Cxbe.pch"
AssemblerListingLocation=".\..\..\bin\release/"
ObjectFile=".\..\..\bin\release/"
ProgramDataBaseFileName=".\..\..\bin\release/"
WarningLevel="3"
SuppressStartupBanner="true"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile=".\..\..\bin\release/Cxbe.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
ProgramDatabaseFile=".\..\..\bin\release/Cxbe.pdb"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\..\..\bin\release/Cxbe.bsc"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug|Win32"
OutputDirectory=".\..\..\bin\debug"
IntermediateDirectory=".\..\..\bin\debug"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TypeLibraryName=".\..\..\bin\debug/Cxbe.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\src,..\..\src\Common\Win32"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
PrecompiledHeaderFile=".\..\..\bin\debug/Cxbe.pch"
AssemblerListingLocation=".\..\..\bin\debug/"
ObjectFile=".\..\..\bin\debug/"
ProgramDataBaseFileName=".\..\..\bin\debug/"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile=".\..\..\bin\debug/Cxbe.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile=".\..\..\bin\debug/Cxbe.pdb"
GenerateMapFile="true"
MapFileName=".\..\..\bin\debug/Cxbe.map"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\..\..\bin\debug/Cxbe.bsc"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Include"
>
<File
RelativePath="..\..\src\Common\Win32\AlignPosfix1.h"
>
</File>
<File
RelativePath="..\..\src\Common\Win32\AlignPrefix1.h"
>
</File>
<File
RelativePath="..\..\src\Cxbx.h"
>
</File>
<File
RelativePath="..\..\src\Common\Error.h"
>
</File>
<File
RelativePath="..\..\src\Common\Exe.h"
>
</File>
<File
RelativePath="..\..\src\Common\Xbe.h"
>
</File>
</Filter>
<Filter
Name="Source"
>
<File
RelativePath="..\..\src\Common\Error.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\src\Common\Exe.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\src\Cxbe\Main.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\src\Common\OpenXDK.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\src\Common\Xbe.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -1,341 +0,0 @@
# Microsoft Developer Studio Project File - Name="Cxbx" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 60000
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Application" 0x0101
CFG=Cxbx - Win32 Release
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "Cxbx.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "Cxbx.mak" CFG="Cxbx - Win32 Release"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "Cxbx - Win32 Release" (based on "Win32 (x86) Application")
!MESSAGE "Cxbx - Win32 Debug" (based on "Win32 (x86) Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName "Cxbx"
# PROP Scc_LocalPath "."
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "Cxbx - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "..\..\bin\release"
# PROP Intermediate_Dir "..\..\bin\release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /Zi /O2 /I "..\..\src" /I "..\..\src\Common" /I "..\..\src\Common\Win32" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /Fr /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /i "Include\Win32\Cxbx" /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
# ADD LINK32 libjpeg.lib d3d8.lib dinput8.lib dxguid.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /map /debug /machine:I386 /nodefaultlib:"libc" /libpath:"..\..\import\libjpeg\win32\lib"
# SUBTRACT LINK32 /pdb:none /nodefaultlib
!ELSEIF "$(CFG)" == "Cxbx - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "..\..\bin\debug"
# PROP Intermediate_Dir "..\..\bin\debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\src\Common" /I "..\..\src" /I "..\..\src\Common\Win32" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Fr /YX /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /i "Include\Win32\Cxbx" /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
# ADD LINK32 libjpeg.lib d3d8.lib dinput8.lib dxguid.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /map /debug /machine:I386 /nodefaultlib:"libc" /pdbtype:sept /libpath:"..\..\import\libjpeg\win32\lib"
# SUBTRACT LINK32 /pdb:none
!ENDIF
# Begin Target
# Name "Cxbx - Win32 Release"
# Name "Cxbx - Win32 Debug"
# Begin Group "Include"
# PROP Default_Filter ""
# Begin Group "jpegdec (h)"
# PROP Default_Filter ""
# Begin Source File
SOURCE=..\..\src\Cxbx\jpegdec\jconfig.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Cxbx\jpegdec\jmorecfg.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Cxbx\jpegdec\jpegdec.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Cxbx\jpegdec\jpeglib.h
# End Source File
# End Group
# Begin Source File
SOURCE=..\..\src\Common\Win32\AlignPosfix1.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Win32\AlignPrefix1.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuD3D8\Convert.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Cxbx.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\CxbxKrnl.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Cxbx\DlgControllerConfig.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Cxbx\DlgVideoConfig.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\Emu.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuD3D8.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuD3D8Types.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuDInput.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuDSound.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Cxbx\EmuExe.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuShared.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuXapi.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuXG.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuXOnline.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuXTL.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Error.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Exe.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Win32\Mutex.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Cxbx\Prolog.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuD3D8\PushBuffer.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuD3D8\State.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuD3D8\VertexBuffer.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuD3D8\VertexShader.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Cxbx\Wnd.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Cxbx\WndAbout.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Cxbx\WndMain.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Win32\XBController.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Xbe.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Win32\XBVideo.h
# End Source File
# End Group
# Begin Group "Resource"
# PROP Default_Filter ""
# Begin Source File
SOURCE=..\..\resource\About.jpg
# End Source File
# Begin Source File
SOURCE=..\..\resource\Cxbx.ico
# End Source File
# Begin Source File
SOURCE=..\..\resource\Cxbx.rc
# End Source File
# Begin Source File
SOURCE=..\..\resource\Logo.bmp
# End Source File
# Begin Source File
SOURCE=..\..\resource\Splash.jpg
# End Source File
# End Group
# Begin Group "Source"
# PROP Default_Filter ""
# Begin Group "jpegdec (cpp)"
# PROP Default_Filter ""
# Begin Source File
SOURCE=..\..\src\Cxbx\jpegdec\jpegdec.cpp
# End Source File
# End Group
# Begin Source File
SOURCE=..\..\src\Cxbx\DlgControllerConfig.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Cxbx\DlgVideoConfig.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Cxbx\EmuExe.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Error.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Exe.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Win32\Mutex.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\OpenXDK.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Cxbx\Prolog.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Cxbx\WinMain.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Cxbx\Wnd.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Cxbx\WndAbout.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Cxbx\WndMain.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Win32\XBController.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Xbe.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Win32\XBVideo.cpp
# End Source File
# End Group
# End Target
# End Project

View File

@ -1,68 +0,0 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "Cxbe"=.\Cxbe.dsp - Package Owner=<4>
Package=<5>
{{{
begin source code control
Cxbe
.
end source code control
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "Cxbx"=.\Cxbx.dsp - Package Owner=<4>
Package=<5>
{{{
begin source code control
Cxbx
.
end source code control
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name CxbxKrnl
End Project Dependency
}}}
###############################################################################
Project: "CxbxKrnl"=.\CxbxKrnl.dsp - Package Owner=<4>
Package=<5>
{{{
begin source code control
CxbxKrnl
.
end source code control
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

35
build/win32/Cxbx.sln Executable file
View File

@ -0,0 +1,35 @@

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual C++ Express 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Cxbe", "Cxbe.vcproj", "{028D5D8F-072C-4308-9095-4EF1EA6B83B0}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Cxbx", "Cxbx.vcproj", "{E7A72D3D-5810-4078-A243-348B59726365}"
ProjectSection(ProjectDependencies) = postProject
{22592F16-CC5F-45CB-A40A-022FF6FCC146} = {22592F16-CC5F-45CB-A40A-022FF6FCC146}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CxbxKrnl", "CxbxKrnl.vcproj", "{22592F16-CC5F-45CB-A40A-022FF6FCC146}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{028D5D8F-072C-4308-9095-4EF1EA6B83B0}.Debug|Win32.ActiveCfg = Debug|Win32
{028D5D8F-072C-4308-9095-4EF1EA6B83B0}.Debug|Win32.Build.0 = Debug|Win32
{028D5D8F-072C-4308-9095-4EF1EA6B83B0}.Release|Win32.ActiveCfg = Release|Win32
{028D5D8F-072C-4308-9095-4EF1EA6B83B0}.Release|Win32.Build.0 = Release|Win32
{E7A72D3D-5810-4078-A243-348B59726365}.Debug|Win32.ActiveCfg = Debug|Win32
{E7A72D3D-5810-4078-A243-348B59726365}.Debug|Win32.Build.0 = Debug|Win32
{E7A72D3D-5810-4078-A243-348B59726365}.Release|Win32.ActiveCfg = Release|Win32
{E7A72D3D-5810-4078-A243-348B59726365}.Release|Win32.Build.0 = Release|Win32
{22592F16-CC5F-45CB-A40A-022FF6FCC146}.Debug|Win32.ActiveCfg = Debug|Win32
{22592F16-CC5F-45CB-A40A-022FF6FCC146}.Debug|Win32.Build.0 = Debug|Win32
{22592F16-CC5F-45CB-A40A-022FF6FCC146}.Release|Win32.ActiveCfg = Release|Win32
{22592F16-CC5F-45CB-A40A-022FF6FCC146}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

783
build/win32/Cxbx.vcproj Executable file
View File

@ -0,0 +1,783 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Name="Cxbx"
ProjectGUID="{E7A72D3D-5810-4078-A243-348B59726365}"
TargetFrameworkVersion="0"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory=".\..\..\bin\debug"
IntermediateDirectory=".\..\..\bin\debug"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\..\..\bin\debug/Cxbx.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\src\Common,..\..\src,..\..\src\Common\Win32"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
PrecompiledHeaderFile=".\..\..\bin\debug/Cxbx.pch"
AssemblerListingLocation=".\..\..\bin\debug/"
ObjectFile=".\..\..\bin\debug/"
ProgramDataBaseFileName=".\..\..\bin\debug/"
BrowseInformation="1"
BrowseInformationFile=".\..\..\bin\debug/"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1033"
AdditionalIncludeDirectories="Include\Win32\Cxbx"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libjpeg.lib d3d8.lib dinput8.lib dxguid.lib odbc32.lib odbccp32.lib"
OutputFile=".\..\..\bin\debug/Cxbx.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\import\libjpeg\win32\lib"
IgnoreDefaultLibraryNames="msvcrt"
GenerateDebugInformation="true"
ProgramDatabaseFile=".\..\..\bin\debug/Cxbx.pdb"
GenerateMapFile="true"
MapFileName=".\..\..\bin\debug/Cxbx.map"
SubSystem="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\..\..\bin\debug/Cxbx.bsc"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory=".\..\..\bin\release"
IntermediateDirectory=".\..\..\bin\release"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\..\..\bin\release/Cxbx.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\..\src,..\..\src\Common,..\..\src\Common\Win32"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS"
StringPooling="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
PrecompiledHeaderFile=".\..\..\bin\release/Cxbx.pch"
AssemblerListingLocation=".\..\..\bin\release/"
ObjectFile=".\..\..\bin\release/"
ProgramDataBaseFileName=".\..\..\bin\release/"
BrowseInformation="1"
BrowseInformationFile=".\..\..\bin\release/"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
AdditionalIncludeDirectories="Include\Win32\Cxbx"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libjpeg.lib d3d8.lib dinput8.lib dxguid.lib odbc32.lib odbccp32.lib"
OutputFile=".\..\..\bin\release/Cxbx.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\import\libjpeg\win32\lib"
IgnoreDefaultLibraryNames=""
GenerateDebugInformation="true"
ProgramDatabaseFile=".\..\..\bin\release/Cxbx.pdb"
GenerateMapFile="true"
MapFileName=".\..\..\bin\release/Cxbx.map"
SubSystem="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\..\..\bin\release/Cxbx.bsc"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Include"
>
<File
RelativePath="..\..\src\Common\Win32\AlignPosfix1.h"
>
</File>
<File
RelativePath="..\..\src\Common\Win32\AlignPrefix1.h"
>
</File>
<File
RelativePath="..\..\src\CxbxKrnl\EmuD3D8\Convert.h"
>
</File>
<File
RelativePath="..\..\src\Cxbx.h"
>
</File>
<File
RelativePath="..\..\src\CxbxKrnl\CxbxKrnl.h"
>
</File>
<File
RelativePath="..\..\src\Cxbx\DlgControllerConfig.h"
>
</File>
<File
RelativePath="..\..\src\Cxbx\DlgVideoConfig.h"
>
</File>
<File
RelativePath="..\..\src\CxbxKrnl\Emu.h"
>
</File>
<File
RelativePath="..\..\src\CxbxKrnl\EmuD3D8.h"
>
</File>
<File
RelativePath="..\..\src\CxbxKrnl\EmuD3D8Types.h"
>
</File>
<File
RelativePath="..\..\src\CxbxKrnl\EmuDInput.h"
>
</File>
<File
RelativePath="..\..\src\CxbxKrnl\EmuDSound.h"
>
</File>
<File
RelativePath="..\..\src\Cxbx\EmuExe.h"
>
</File>
<File
RelativePath="..\..\src\CxbxKrnl\EmuShared.h"
>
</File>
<File
RelativePath="..\..\src\CxbxKrnl\EmuXapi.h"
>
</File>
<File
RelativePath="..\..\src\CxbxKrnl\EmuXG.h"
>
</File>
<File
RelativePath="..\..\src\CxbxKrnl\EmuXOnline.h"
>
</File>
<File
RelativePath="..\..\src\CxbxKrnl\EmuXTL.h"
>
</File>
<File
RelativePath="..\..\src\Common\Error.h"
>
</File>
<File
RelativePath="..\..\src\Common\Exe.h"
>
</File>
<File
RelativePath="..\..\src\Common\Win32\Mutex.h"
>
</File>
<File
RelativePath="..\..\src\Cxbx\Prolog.h"
>
</File>
<File
RelativePath="..\..\src\CxbxKrnl\EmuD3D8\PushBuffer.h"
>
</File>
<File
RelativePath="..\..\src\CxbxKrnl\EmuD3D8\State.h"
>
</File>
<File
RelativePath="..\..\src\CxbxKrnl\EmuD3D8\VertexBuffer.h"
>
</File>
<File
RelativePath="..\..\src\CxbxKrnl\EmuD3D8\VertexShader.h"
>
</File>
<File
RelativePath="..\..\src\Cxbx\Wnd.h"
>
</File>
<File
RelativePath="..\..\src\Cxbx\WndAbout.h"
>
</File>
<File
RelativePath="..\..\src\Cxbx\WndMain.h"
>
</File>
<File
RelativePath="..\..\src\Common\Win32\XBController.h"
>
</File>
<File
RelativePath="..\..\src\Common\Xbe.h"
>
</File>
<File
RelativePath="..\..\src\Common\Win32\XBVideo.h"
>
</File>
<Filter
Name="jpegdec (h)"
>
<File
RelativePath="..\..\src\Cxbx\jpegdec\jconfig.h"
>
</File>
<File
RelativePath="..\..\src\Cxbx\jpegdec\jmorecfg.h"
>
</File>
<File
RelativePath="..\..\src\Cxbx\jpegdec\jpegdec.h"
>
</File>
<File
RelativePath="..\..\src\Cxbx\jpegdec\jpeglib.h"
>
</File>
</Filter>
</Filter>
<Filter
Name="Resource"
>
<File
RelativePath="..\..\resource\About.jpg"
>
</File>
<File
RelativePath="..\..\resource\Cxbx.ico"
>
</File>
<File
RelativePath="..\..\resource\Cxbx.rc"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions=""
AdditionalIncludeDirectories="\cxbx\git\cxbx-ds\resource"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions=""
AdditionalIncludeDirectories="\cxbx\git\cxbx-ds\resource"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\resource\Logo.bmp"
>
</File>
<File
RelativePath="..\..\resource\Splash.jpg"
>
</File>
</Filter>
<Filter
Name="Source"
>
<File
RelativePath="..\..\src\Cxbx\DlgControllerConfig.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\src\Cxbx\DlgVideoConfig.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\src\Cxbx\EmuExe.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\src\Common\Error.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\src\Common\Exe.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\src\Common\Win32\Mutex.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\src\Common\OpenXDK.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\src\Cxbx\Prolog.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\src\Cxbx\WinMain.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\src\Cxbx\Wnd.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\src\Cxbx\WndAbout.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\src\Cxbx\WndMain.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\src\Common\Win32\XBController.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\src\Common\Xbe.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\src\Common\Win32\XBVideo.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<Filter
Name="jpegdec (cpp)"
>
<File
RelativePath="..\..\src\Cxbx\jpegdec\jpegdec.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
</Filter>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -1,642 +0,0 @@
# Microsoft Developer Studio Project File - Name="CxbxKrnl" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
CFG=CxbxKrnl - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "CxbxKrnl.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "CxbxKrnl.mak" CFG="CxbxKrnl - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "CxbxKrnl - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "CxbxKrnl - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName "CxbxKrnl"
# PROP Scc_LocalPath "."
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "CxbxKrnl - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "CxbxKrnl___Win32_Release"
# PROP BASE Intermediate_Dir "CxbxKrnl___Win32_Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "..\..\bin\release"
# PROP Intermediate_Dir "..\..\bin\release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CXBXKRNL_EXPORTS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\import\OpenXDK" /I "..\..\src" /I "..\..\src\Common" /I "..\..\src\Common\Win32" /I "..\..\import\OpenXDK\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CXBXKRNL_EXPORTS" /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /i "Include\Win32\CxbxKrnl" /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
# ADD LINK32 ws2_32.lib dsound.lib winmm.lib ddraw.lib d3dx8.lib d3d8.lib dinput8.lib dxguid.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /pdb:none /machine:I386 /out:"..\..\bin\release\Cxbx.dll"
# SUBTRACT LINK32 /profile /map /debug
!ELSEIF "$(CFG)" == "CxbxKrnl - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "..\..\bin\debug"
# PROP Intermediate_Dir "..\..\bin\debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CXBXKRNL_EXPORTS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\src\Common" /I "..\..\import\OpenXDK\include" /I "..\..\src" /I "..\..\src\Common\Win32" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CXBXKRNL_EXPORTS" /YX /FD /GZ /c
# SUBTRACT CPP /Fr
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /i "Include\Win32\CxbxKrnl" /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 ws2_32.lib dsound.lib winmm.lib ddraw.lib d3dx8.lib d3d8.lib dinput8.lib dxguid.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /map /debug /machine:I386 /pdbtype:sept
# SUBTRACT LINK32 /pdb:none
!ENDIF
# Begin Target
# Name "CxbxKrnl - Win32 Release"
# Name "CxbxKrnl - Win32 Debug"
# Begin Group "Include"
# PROP Default_Filter ""
# Begin Group "HLEDataBase (h)"
# PROP Default_Filter ""
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.3925.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4034.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4134.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4361.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4432.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4627.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5558.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5849.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.3936.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4361.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4432.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4627.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5849.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.3911.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4034.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4134.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4361.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4432.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4627.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5558.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5849.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.4361.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.4627.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.5558.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.3911.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.4361.h
# End Source File
# End Group
# Begin Group "EmuD3D8 (h)"
# PROP Default_Filter ""
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuD3D8\Convert.h
# End Source File
# End Group
# Begin Source File
SOURCE=..\..\src\Common\Win32\AlignPosfix1.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Win32\AlignPrefix1.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Cxbx.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\CxbxKrnl.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\DbgConsole.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\Emu.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuAlloc.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuD3D8.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuD3D8Types.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuDInput.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuDSound.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuFile.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuFS.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuLDT.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuNtDll.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuShared.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuXapi.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuXG.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuXOnline.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuXTL.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Error.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Exe.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEIntercept.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Win32\Mutex.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\OOVPA.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuD3D8\PushBuffer.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\ResourceTracker.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuD3D8\State.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuD3D8\VertexBuffer.h
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuD3D8\VertexShader.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Win32\XBController.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Xbe.h
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Win32\XBVideo.h
# End Source File
# End Group
# Begin Group "Resource"
# PROP Default_Filter ""
# Begin Source File
SOURCE=..\..\resource\Cxbx.ico
# End Source File
# Begin Source File
SOURCE=..\..\resource\CxbxDll.rc
# End Source File
# End Group
# Begin Group "Source"
# PROP Default_Filter ""
# Begin Group "HLEDataBase (inl)"
# PROP Default_Filter ""
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.3925.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4034.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4134.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4361.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4432.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.4627.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5558.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\D3D8.1.0.5849.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.3936.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4361.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4432.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.4627.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5558.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\DSound.1.0.5849.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.3911.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4034.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4134.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4361.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4432.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.4627.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5558.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\Xapi.1.0.5849.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.4361.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.4627.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\XG.1.0.5558.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\XNet.1.0.3911.inl
# PROP Exclude_From_Build 1
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase\XOnline.1.0.4361.inl
# PROP Exclude_From_Build 1
# End Source File
# End Group
# Begin Group "EmuD3D8 (cpp)"
# PROP Default_Filter ""
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuD3D8\Convert.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuD3D8\PushBuffer.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuD3D8\State.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuD3D8\VertexBuffer.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuD3D8\VertexShader.cpp
# End Source File
# End Group
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\CxbxKrnl.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\DbgConsole.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\Emu.cpp
!IF "$(CFG)" == "CxbxKrnl - Win32 Release"
!ELSEIF "$(CFG)" == "CxbxKrnl - Win32 Debug"
# ADD CPP /Od
!ENDIF
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuAlloc.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuD3D8.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuDInput.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuDSound.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuFile.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuFS.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuKrnl.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuLDT.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuNtDll.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Win32\EmuShared.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuXapi.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuXG.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\EmuXOnline.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Error.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEDataBase.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\HLEIntercept.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\KernelThunk.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Win32\Mutex.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\OpenXDK.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\CxbxKrnl\ResourceTracker.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Win32\XBController.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Xbe.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\Common\Win32\XBVideo.cpp
# End Source File
# End Group
# End Target
# End Project

1738
build/win32/CxbxKrnl.vcproj Executable file

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -8,7 +8,7 @@
The Ultimate Packer for eXecutables
Copyright (c) 1996-2006 Markus Oberhumer, Laszlo Molnar & John Reiser
Copyright (c) 1996-2008 Markus Oberhumer, Laszlo Molnar & John Reiser
http://upx.sourceforge.net
@ -28,7 +28,7 @@ dos/exe
watcom/le
---------
* 16-bit selector alias fixups
* 16-bit offset relocation for objects larger than 4 kB
* 16-bit offset relocation for objects larger than 4 KiB
* 16:16 fixups
If you need any of the above (they're very rare), send us an URL of a

View File

@ -1,8 +1,8 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
@ -55,7 +55,7 @@ patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
@ -225,7 +225,7 @@ impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
@ -278,7 +278,7 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
@ -291,7 +291,7 @@ convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -303,17 +303,16 @@ the "copyright" line and a pointer to where the full notice is found.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
@ -336,5 +335,5 @@ necessary. Here is a sample; alter the names:
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

View File

@ -2,6 +2,72 @@
User visible changes for UPX
==================================================================
Changes in 3.03 (27 Apr 2008):
* implement cache flushing for PowerPC (esp. model 440)
* fix cache flushing on MIPS (>3 MiB compressed, or with holes)
* fix MIPS big-endian
* bug fixes
Changes in 3.02 (16 Dec 2007):
* fix unmapping on arm-linux.elf
* fix error checking in mmap for i386-linux.elf [triggered by -fPIE]
* bug fixes
Changes in 3.01 (31 Jul 2007):
* new options --no-mode, --no-owner and --no-time to disable preservation
of mode (file permissions), file ownership and timestamps.
* dos/exe: fixed an incorrect error message caused by a bug in
relocation handling
* new format linux/mipsel supports ELF on [32-bit] R3000
* fix argv[0] on PowerPC with --lzma
* bug fixes
Changes in 3.00 (27 Apr 2007):
* watcom/le & tmt/adam: fixed a problem when using certain filters
Changes in 2.93 beta (08 Mar 2007):
* new formats Mach/i386 and Mach/fat support Mac OS X i686 and
Universal binaries [i686 and PowerPC only]
* dos/exe: LZMA is now also supported for 16-bit dos/exe. Please note that
you have to explicitly use '--lzma' even for '--ultra-brute' here
because runtime decompression is about 30 times slower than NRV -
which is really noticeable on old machines.
* dos/exe: fixed a rarely occuring bug in relocation handling
* win32/pe & arm/pe: better icon compression handling
Changes in 2.92 beta (23 Jan 2007):
* new option '--ultra-brute' which tries even more variants
* slightly improved compression ratio for some files when
using '--brute' or '--ultra-brute'
* bug fixes
Changes in 2.91 beta (29 Nov 2006):
* assorted bug fixes
* arm/pe: fix "missing" icon & version info resource problem for wince 5
* win32/pe & arm/pe: added option --compress-icons=3 to compress all icons
Changes in 2.90 beta (08 Oct 2006):
* LZMA algorithm support for most of the 32-bit and 64-bit file formats;
use new option '--lzma' to enable
* new format: BSD/elf386 supporting FreeBSD, NetBSD and OpenBSD
via auto-detection of PT_NOTE or EI_OSABI
* arm/pe: all the NRV compression methods are now supported
(only NRV2D is missing in thumb mode)
* linux/elf386, linux/ElfAMD: remember /proc/self/exe in environment
* major source code changes: the runtime decompression stubs are now
built from internal ELF objects
==================================================================
Changes in 2.03 (07 Nov 2006):
* bvmlinuz/386: fix for kernels not at 0x100000; also allow x86_64
* linux/elf386: work around Linux kernel bug (0-length .bss needs PF_W)
Changes in 2.02 (13 Aug 2006):
* linux/386: work around Linux kernel bug (".bss" requires PF_W)
* linux/ppc32, mach/ppc32: compressed programs now work on a 405 CPU
* vmlinuz/386: fixed zlib uncompression problem on DOS
Changes in 2.01 (06 Jun 2006):
* arm/pe: better DLL support
* dos/exe: device driver support added
@ -269,8 +335,8 @@ Changes in 0.80 (03 Aug 1999)
* win32/pe: even better TLS support
* win32/pe: versioninfo works on NT
* win32/pe: import by ordinal from kernel32.dll works
* win32/pe: other import improvements: importing a nonexistant DLL
results in a usual Windows message, importing a nonexistant function
* win32/pe: other import improvements: importing a nonexistent DLL
results in a usual Windows message, importing a nonexistent function
results in program exit (instead of crash ;-)
* win32/pe: new option: '--compress-resources=0'
* win32/pe: reduced memory requirement during uncompression, some
@ -322,7 +388,7 @@ Changes in 0.60 (06 Mar 1999)
* win32/pe: fixed file corruption when the size of the export data is invalid
* win32/pe: fixed a problem with empty resource data
* win32/pe: compressed file alignment set to minimum value
* win32/pe: made all compressed sections writeable
* win32/pe: made all compressed sections writable
* fixed some other win32/pe bugs
* fixed an address optimization problem for some not Watcom LE files
* fixed a bug which could make UPX hang when an exe header contained
@ -363,3 +429,5 @@ Changes in 0.20 (05 Jul 1998)
Changes in 0.05 (26 May 1998)
* first public beta release
# vim:set syntax=off tw=0 ts=4 sw=4 et: -*- coding: utf-8 -*-

View File

@ -8,7 +8,7 @@
The Ultimate Packer for eXecutables
Copyright (c) 1996-2006 Markus Oberhumer, Laszlo Molnar & John Reiser
Copyright (c) 1996-2008 Markus Oberhumer, Laszlo Molnar & John Reiser
http://upx.sourceforge.net
@ -96,7 +96,7 @@ THE FUTURE
- We will *NOT* add any sort of protection and/or encryption.
This only gives people a false feeling of security because
by definition all protectors/compressors can be broken.
And don't trust any advertisment of authors of other executable
And don't trust any advertisement of authors of other executable
compressors about this topic - just do a websearch on "unpackers"...
- Fix all remaining bugs - keep your reports coming ;-)
@ -108,9 +108,9 @@ THE FUTURE
COPYRIGHT
=========
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2006 Laszlo Molnar
Copyright (C) 2000-2006 John F. Reiser
Copyright (C) 1996-2008 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2008 Laszlo Molnar
Copyright (C) 2000-2008 John F. Reiser
This program may be used freely, and you are welcome to
redistribute it under certain conditions.
@ -128,8 +128,8 @@ Share and enjoy,
Markus & Laszlo
Markus F.X.J. Oberhumer Laszlo Molnar
markus@oberhumer.com ml1050@users.sourceforge.net
Markus F.X.J. Oberhumer Laszlo Molnar
<markus@oberhumer.com> <ml1050@users.sourceforge.net>

View File

@ -8,26 +8,16 @@
The Ultimate Packer for eXecutables
Copyright (c) 1996-2006 Markus Oberhumer, Laszlo Molnar & John Reiser
Copyright (c) 1996-2008 Markus Oberhumer, Laszlo Molnar & John Reiser
http://upx.sourceforge.net
MAJOR NEWS IN UPX 2
MAJOR NEWS IN UPX 3
===================
The main news since 1.25 are:
The main news since UPX 2 are:
* new format: added support for arm/pe (ARM executables running on WinCE)
* new format: added support for linux elf/amd64
* new format: added support for linux elf/ppc32
* new format: added support for mach/ppc32 (Apple Mac OS X)
* new format: added support for bootable Linux kernels ("vmlinuz/386")
* new format: added support for Playstation exes ("ps1/exe")
* new format: added support for linux elf/arm
* slightly better compression using the new NRV2E algorithm
* new options for compression tuning (e.g. '--brute')
* improved win32/pe compatibility
* direct ELF-to-memory decompression
* various bug fixes
* better compression using the LZMA algorithm (option '--lzma')

View File

@ -8,7 +8,7 @@
The Ultimate Packer for eXecutables
Copyright (c) 1996-2006 Markus Oberhumer, Laszlo Molnar & John Reiser
Copyright (c) 1996-2008 Markus Oberhumer, Laszlo Molnar & John Reiser
http://upx.sourceforge.net

View File

@ -1,4 +1,4 @@
UPX TODO list. Last updated 2006-03-11.
UPX TODO list. Last updated 2006-12-08.
IMPORTANT PROBLEMS THAT SHOULD BE FIXED SOON:
@ -41,8 +41,6 @@ ALL FORMATS
- implement `--cpu=486' option to use bswap on the 32-bit formats
(if cpu >= 486)
- consider removing "or ebp,-1" when not needed
FORMAT DJGPP2/COFF
==================
@ -86,10 +84,6 @@ FORMAT WATCOM/LE
- handle holes in the file
- implement compressWithFilters()
- add a call to verifyOverlappingDecompression()
FORMAT WIN16/NE
===============

View File

@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.IX Title "UPX 1"
.TH UPX 1 "2006-06-06" "upx 2.01" " "
.TH UPX 1 "2008-04-27" "upx 3.03" " "
.SH "NAME"
upx \- compress or expand executable files
.SH "SYNOPSIS"
@ -139,7 +139,7 @@ upx \- compress or expand executable files
.IX Header "ABSTRACT"
.Vb 3
\& The Ultimate Packer for eXecutables
\& Copyright (c) 1996-2006 Markus Oberhumer, Laszlo Molnar & John Reiser
\& Copyright (c) 1996-2008 Markus Oberhumer, Laszlo Molnar & John Reiser
\& http://upx.sourceforge.net
.Ve
.PP
@ -174,8 +174,8 @@ Please report all problems or suggestions to the authors. Thanks.
.Ve
.PP
.Vb 2
\& - very fast decompression: about 10 MB/sec on an ancient Pentium 133,
\& about 200 MB/sec on an Athlon XP 2000+.
\& - very fast decompression: about 10 MiB/sec on an ancient Pentium 133,
\& about 200 MiB/sec on an Athlon XP 2000+.
.Ve
.PP
.Vb 2
@ -265,12 +265,19 @@ shows the compressed / uncompressed size and the compression ratio of
.PP
\&\fB\-\-version\fR: print the version of \fB\s-1UPX\s0\fR
.PP
\&\fB\-\-exact\fR: when compressing, require to be able to get a byte-identical file
after decompression with option \fB\-d\fR. [\s-1NOTE:\s0 this is work in progress and is
not supported for all formats yet. If you do care, as a workaround you can
compress and then decompress your program a first time \- any further
compress-decompress steps should then yield byte-identical results
as compared to the first decompressed version.]
.PP
[ ...to be written... \- type `\fBupx \-\-help\fR' for now ]
.SH "COMPRESSION LEVELS & TUNING"
.IX Header "COMPRESSION LEVELS & TUNING"
\&\fB\s-1UPX\s0\fR offers ten different compression levels from \fB\-1\fR to \fB\-9\fR,
and \fB\-\-best\fR. The default compression level is \fB\-8\fR for files
smaller than 512 kB, and \fB\-7\fR otherwise.
smaller than 512 KiB, and \fB\-7\fR otherwise.
.IP "\(bu" 4
Compression levels 1, 2 and 3 are pretty fast.
.IP "\(bu" 4
@ -284,33 +291,16 @@ Note that compression level \fB\-\-best\fR can be somewhat slow for large
files, but you definitely should use it when releasing a final version
of your program.
.PP
Quick start for achieving the best compression ratio:
.Sp
.RS 4
Try \fBupx \-\-brute myfile.exe\fR.
.RE
.PP
Details for achieving the best compression ratio:
Quick info for achieving the best compression ratio:
.IP "\(bu" 4
Use the compression level \fB\-\-best\fR.
.IP "\(bu" 4
Try one or both of the options \fB\-\-all\-methods\fR and \fB\-\-all\-filters\fR.
.IP "\(bu" 4
Try the option \fB\-\-crp\-ms=NUMBER\fR. This uses more memory during compression
to achieve a (slightly) better compression ratio.
.Sp
\&\s-1NUMBER\s0 must be a decimal value from 10000 to 999999, inclusive.
The default value is 10000 (ten thousand).
.IP "\(bu" 4
Info: the option \fB\-\-brute\fR is an abbrevation for the options
\&\fB\-\-best \-\-all\-methods \-\-all\-filters \-\-crp\-ms=999999\fR.
Try \fBupx \-\-brute myfile.exe\fR or even \fBupx \-\-ultra\-brute myfile.exe\fR.
.IP "\(bu" 4
Try if \fB\-\-overlay=strip\fR works.
.IP "\(bu" 4
For win32/pe programs there's \fB\-\-strip\-relocs=0\fR. See notes below.
.SH "OVERLAY HANDLING OPTIONS"
.IX Header "OVERLAY HANDLING OPTIONS"
Info: An \*(L"overlay\*(R" means auxillary data atached after the logical end of
Info: An \*(L"overlay\*(R" means auxiliary data attached after the logical end of
an executable, and it often contains application specific data
(this is a common practice to avoid an extra data file, though
it would be better to use resource sections).
@ -465,7 +455,7 @@ Extra options available for this executable format:
First of all, it is recommended to use \fB\s-1UPX\s0\fR *instead* of \fBstrip\fR. strip has
the very bad habit of replacing your stub with its own (outdated) version.
Additionally \fB\s-1UPX\s0\fR corrects a bug/feature in strip v2.8.x: it
will fix the 4 KByte aligment of the stub.
will fix the 4 KiB alignment of the stub.
.PP
\&\fB\s-1UPX\s0\fR includes the full functionality of stubify. This means it will
automatically stubify your \s-1COFF\s0 files. Use the option \fB\-\-coff\fR to
@ -504,7 +494,7 @@ Introduction
.PP
.Vb 4
\& Linux/386 support in UPX consists of 3 different executable formats,
\& one optimized for ELF excutables ("linux/elf386"), one optimized
\& one optimized for ELF executables ("linux/elf386"), one optimized
\& for shell scripts ("linux/sh386"), and one generic format
\& ("linux/386").
.Ve
@ -542,14 +532,14 @@ General user's overview
.PP
.Vb 15
\& Depending on the statistics of usage and access, and the relative
\& speeds of CPU, RAM, swap space, /tmp, and filesystem storage, then
\& speeds of CPU, RAM, swap space, /tmp, and file system storage, then
\& invoking and running a compressed executable can be faster than
\& directly running the corresponding uncompressed program.
\& The operating system might perfrom fewer expensive I/O operations
\& The operating system might perform fewer expensive I/O operations
\& to invoke the compressed program. Paging to or from swap space
\& or /tmp might be faster than paging from the general filesystem.
\& or /tmp might be faster than paging from the general file system.
\& ``Medium-sized'' programs which access about 1/3 to 1/2 of their
\& stored program bytes can do particulary well with compression.
\& stored program bytes can do particularly well with compression.
\& Small programs tend not to benefit as much because the absolute
\& savings is less. Big programs tend not to benefit proportionally
\& because each invocation may use only a small fraction of the program,
@ -560,7 +550,7 @@ General user's overview
.PP
.Vb 6
\& Currently, executables compressed by UPX do not share RAM at runtime
\& in the way that executables mapped from a filesystem do. As a
\& in the way that executables mapped from a file system do. As a
\& result, if the same program is run simultaneously by more than one
\& process, then using the compressed version will require more RAM and/or
\& swap space. So, shell programs (bash, csh, etc.) and ``make''
@ -675,7 +665,7 @@ The linux/elf386 format decompresses directly into \s-1RAM\s0,
uses only one exec, does not use space in /tmp,
and does not use /proc.
.PP
Linux/elf386 is automatically selected for Linux \s-1ELF\s0 exectuables.
Linux/elf386 is automatically selected for Linux \s-1ELF\s0 executables.
.PP
Packed programs will be byte-identical to the original after uncompression.
.PP
@ -774,7 +764,7 @@ Extra options available for this executable format:
Please read the general Linux description first.
.PP
The generic linux/386 format decompresses to /tmp and needs
/proc filesystem support. It starts the decompressed program
/proc file system support. It starts the decompressed program
via the \fIexecve()\fR syscall.
.PP
Linux/386 is only selected if the specialized linux/elf386
@ -787,11 +777,11 @@ How it works:
.Vb 7
\& For files which are not ELF and not a script for a known "-c" shell,
\& UPX uses kernel execve(), which first requires decompressing to a
\& temporary file in the filesystem. Interestingly -
\& temporary file in the file system. Interestingly -
\& because of the good memory management of the Linux kernel - this
\& often does not introduce a noticable delay, and in fact there
\& often does not introduce a noticeable delay, and in fact there
\& will be no disk access at all if you have enough free memory as
\& the entire process takes places within the filesystem buffers.
\& the entire process takes places within the file system buffers.
.Ve
.PP
.Vb 2
@ -829,7 +819,7 @@ Specific drawbacks:
.Ve
.PP
.Vb 4
\& - You must have /proc filesystem support as the stub wants to open
\& - You must have /proc file system support as the stub wants to open
\& /proc/<pid>/exe and needs /proc/<pid>/fd/X. This also means that you
\& cannot compress programs that are used during the boot sequence
\& before /proc is mounted.
@ -845,8 +835,8 @@ Specific drawbacks:
.Vb 4
\& - Because of temporary decompression to disk the decompression speed
\& is not as fast as with the other executable formats. Still, I can see
\& no noticable delay when starting programs like my ~3 MB emacs (which
\& is less than 1 MB when compressed :-).
\& no noticeable delay when starting programs like my ~3 MiB emacs (which
\& is less than 1 MiB when compressed :-).
.Ve
.PP
Extra options available for this executable format:
@ -866,22 +856,26 @@ nostalgic feelings of one of the authors.
Packed programs will be byte-identical to the original after uncompression,
until further notice.
.PP
Maximum uncompressed size: ~1998848 bytes.
Maximum uncompressed size: ~1.89 / ~7.60 MiB.
.PP
Notes:
.PP
.Vb 2
\& - UPX creates as default a 'CD-Rom only' PS1/PS2 compatible executable.
\& For transfer between client/target use options below.
.Vb 6
\& - UPX creates as default a suitable executable for CD-Mastering
\& and console transfer. For a CD-Master main executable you could also try
\& the special option "--boot-only" as described below.
\& It has been reported that upx packed executables are fully compatible with
\& the Sony PlayStation 2 (PS2, PStwo) and Sony PlayStation Portable (PSP) in
\& Sony PlayStation (PSone) emulation mode.
.Ve
.PP
.Vb 6
\& - Normally the packed files use the same memory areas like the uncompressed
\& versions, so they will not override other memory areas while unpacking.
\& If this isn't possible UPX will abort showing a 'packed data overlap'
\& error. With the "--force" option UPX will set a few 'bytes higher' loading
\& offset for the packed file, but this isn't a real problem if it is a
\& single or boot-only executable.
\& error. With the "--force" option UPX will relocate the loading address
\& for the packed file, but this isn't a real problem if it is a single or
\& the main executable.
.Ve
.PP
Extra options available for this executable format:
@ -893,18 +887,26 @@ Extra options available for this executable format:
\& the default method gives the best results anyway.
.Ve
.PP
.Vb 1
\& --8-bit Uses 8 bit size compression [default: 32 bit]
.Ve
.PP
.Vb 1
\& --8mib-ram PSone has 8 MiB ram available [default: 2 MiB]
.Ve
.PP
.Vb 4
\& --boot-only The format will only run from a CD and may slightly
\& improves the compression ratio. The decompression
\& routines are faster than default ones.
\& But it cannot be used for host/client transfer !
\& --boot-only This format is for main exes and CD-Mastering only !
\& It may slightly improve the compression ratio,
\& decompression routines are faster than default ones.
\& But it cannot be used for console transfer !
.Ve
.PP
.Vb 4
\& --no-align This option disables CD mode 2 data sector format
\& alignment. May slightly improves the compression ratio,
\& but the compressed executable will not boot from a CD.
\& Use it for client/target transfer only !
\& Use it for console transfer only !
.Ve
.Sh "\s-1NOTES\s0 \s-1FOR\s0 \s-1RTM32/PE\s0 and \s-1ARM/PE\s0"
.IX Subsection "NOTES FOR RTM32/PE and ARM/PE"
@ -951,7 +953,7 @@ Benefits:
\& - Better compression (but note that the kernel was already compressed,
\& so the improvement is not as large as with other formats).
\& Still, the bytes saved may be essential for special needs like
\& bootdisks.
\& boot disks.
.Ve
.PP
.Vb 4
@ -1005,13 +1007,13 @@ Extra options available for this executable format:
.Sh "\s-1NOTES\s0 \s-1FOR\s0 \s-1WIN32/PE\s0"
.IX Subsection "NOTES FOR WIN32/PE"
The \s-1PE\s0 support in \fB\s-1UPX\s0\fR is quite stable now, but probably there are
still some incompabilities with some files.
still some incompatibilities with some files.
.PP
Because of the way \fB\s-1UPX\s0\fR (and other packers for this format) works, you
can see increased memory usage of your compressed files because the whole
program is loaded into memory at startup.
If you start several instances of huge compressed programs you're
wasting memory because the common segements of the program won't
wasting memory because the common segments of the program won't
get shared across the instances.
On the other hand if you're compressing only smaller programs, or
running only one instance of larger programs, then this penalty is
@ -1029,8 +1031,8 @@ Screensavers are supported, with the restriction that the filename
must end with \*(L".scr\*(R" (as screensavers are handled slightly different
than normal exe files).
.PP
\&\s-1UPX\s0 compressed \s-1PE\s0 files has some minor memory overhead (usually in the
10 \- 30 kbytes range) which can be seen by specifying the \*(L"\-i\*(R" command
\&\s-1UPX\s0 compressed \s-1PE\s0 files have some minor memory overhead (usually in the
10 \- 30 KiB range) which can be seen by specifying the \*(L"\-i\*(R" command
line switch during compression.
.PP
Extra options available for this executable format:
@ -1047,11 +1049,12 @@ Extra options available for this executable format:
\& regardless of this option.
.Ve
.PP
.Vb 4
.Vb 5
\& --compress-icons=0 Don't compress any icons.
\& --compress-icons=1 Compress all but the first icon.
\& --compress-icons=2 Compress all icons which are not in the
\& first icon directory. [DEFAULT]
\& --compress-icons=3 Compress all icons.
.Ve
.PP
.Vb 1
@ -1140,13 +1143,13 @@ Please report all bugs immediately to the authors.
.Ve
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
Copyright (C) 1996\-2006 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996\-2008 Markus Franz Xaver Johannes Oberhumer
.PP
Copyright (C) 1996\-2006 Laszlo Molnar
Copyright (C) 1996\-2008 Laszlo Molnar
.PP
Copyright (C) 2000\-2006 John F. Reiser
Copyright (C) 2000\-2008 John F. Reiser
.PP
Copyright (C) 2002\-2006 Jens Medoch
Copyright (C) 2002\-2008 Jens Medoch
.PP
This program may be used freely, and you are welcome to
redistribute it under certain conditions.

View File

@ -6,7 +6,7 @@ SYNOPSIS
ABSTRACT
The Ultimate Packer for eXecutables
Copyright (c) 1996-2006 Markus Oberhumer, Laszlo Molnar & John Reiser
Copyright (c) 1996-2008 Markus Oberhumer, Laszlo Molnar & John Reiser
http://upx.sourceforge.net
UPX is a portable, extendable, high-performance executable packer for
@ -37,8 +37,8 @@ DESCRIPTION
- excellent compression ratio: compresses better than zip/gzip,
use UPX to decrease the size of your distribution !
- very fast decompression: about 10 MB/sec on an ancient Pentium 133,
about 200 MB/sec on an Athlon XP 2000+.
- very fast decompression: about 10 MiB/sec on an ancient Pentium 133,
about 200 MiB/sec on an Athlon XP 2000+.
- no memory overhead for your compressed executables for most of the
supported formats
@ -114,11 +114,18 @@ OPTIONS
--version: print the version of UPX
--exact: when compressing, require to be able to get a byte-identical
file after decompression with option -d. [NOTE: this is work in progress
and is not supported for all formats yet. If you do care, as a
workaround you can compress and then decompress your program a first
time - any further compress-decompress steps should then yield
byte-identical results as compared to the first decompressed version.]
[ ...to be written... - type `upx --help' for now ]
COMPRESSION LEVELS & TUNING
UPX offers ten different compression levels from -1 to -9, and --best.
The default compression level is -8 for files smaller than 512 kB, and
The default compression level is -8 for files smaller than 512 KiB, and
-7 otherwise.
* Compression levels 1, 2 and 3 are pretty fast.
@ -133,34 +140,19 @@ COMPRESSION LEVELS & TUNING
but you definitely should use it when releasing a final version of your
program.
Quick start for achieving the best compression ratio:
Quick info for achieving the best compression ratio:
Try upx --brute myfile.exe.
Details for achieving the best compression ratio:
* Use the compression level --best.
* Try one or both of the options --all-methods and --all-filters.
* Try the option --crp-ms=NUMBER. This uses more memory during
compression to achieve a (slightly) better compression ratio.
NUMBER must be a decimal value from 10000 to 999999, inclusive. The
default value is 10000 (ten thousand).
* Info: the option --brute is an abbrevation for the options --best
--all-methods --all-filters --crp-ms=999999.
* Try upx --brute myfile.exe or even upx --ultra-brute myfile.exe.
* Try if --overlay=strip works.
* For win32/pe programs there's --strip-relocs=0. See notes below.
OVERLAY HANDLING OPTIONS
Info: An "overlay" means auxillary data atached after the logical end of
an executable, and it often contains application specific data (this is
a common practice to avoid an extra data file, though it would be better
to use resource sections).
Info: An "overlay" means auxiliary data attached after the logical end
of an executable, and it often contains application specific data (this
is a common practice to avoid an extra data file, though it would be
better to use resource sections).
UPX handles overlays like many other executable packers do: it simply
copies the overlay after the compressed image. This works with some
@ -285,7 +277,7 @@ NOTES FOR THE SUPPORTED EXECUTABLE FORMATS
First of all, it is recommended to use UPX *instead* of strip. strip has
the very bad habit of replacing your stub with its own (outdated)
version. Additionally UPX corrects a bug/feature in strip v2.8.x: it
will fix the 4 KByte aligment of the stub.
will fix the 4 KiB alignment of the stub.
UPX includes the full functionality of stubify. This means it will
automatically stubify your COFF files. Use the option --coff to disable
@ -319,7 +311,7 @@ NOTES FOR THE SUPPORTED EXECUTABLE FORMATS
Introduction
Linux/386 support in UPX consists of 3 different executable formats,
one optimized for ELF excutables ("linux/elf386"), one optimized
one optimized for ELF executables ("linux/elf386"), one optimized
for shell scripts ("linux/sh386"), and one generic format
("linux/386").
@ -347,14 +339,14 @@ NOTES FOR THE SUPPORTED EXECUTABLE FORMATS
or network I/O.
Depending on the statistics of usage and access, and the relative
speeds of CPU, RAM, swap space, /tmp, and filesystem storage, then
speeds of CPU, RAM, swap space, /tmp, and file system storage, then
invoking and running a compressed executable can be faster than
directly running the corresponding uncompressed program.
The operating system might perfrom fewer expensive I/O operations
The operating system might perform fewer expensive I/O operations
to invoke the compressed program. Paging to or from swap space
or /tmp might be faster than paging from the general filesystem.
or /tmp might be faster than paging from the general file system.
``Medium-sized'' programs which access about 1/3 to 1/2 of their
stored program bytes can do particulary well with compression.
stored program bytes can do particularly well with compression.
Small programs tend not to benefit as much because the absolute
savings is less. Big programs tend not to benefit proportionally
because each invocation may use only a small fraction of the program,
@ -363,7 +355,7 @@ NOTES FOR THE SUPPORTED EXECUTABLE FORMATS
then compression may win anyway.
Currently, executables compressed by UPX do not share RAM at runtime
in the way that executables mapped from a filesystem do. As a
in the way that executables mapped from a file system do. As a
result, if the same program is run simultaneously by more than one
process, then using the compressed version will require more RAM and/or
swap space. So, shell programs (bash, csh, etc.) and ``make''
@ -448,7 +440,7 @@ NOTES FOR THE SUPPORTED EXECUTABLE FORMATS
The linux/elf386 format decompresses directly into RAM, uses only one
exec, does not use space in /tmp, and does not use /proc.
Linux/elf386 is automatically selected for Linux ELF exectuables.
Linux/elf386 is automatically selected for Linux ELF executables.
Packed programs will be byte-identical to the original after
uncompression.
@ -532,8 +524,8 @@ NOTES FOR THE SUPPORTED EXECUTABLE FORMATS
NOTES FOR LINUX/386
Please read the general Linux description first.
The generic linux/386 format decompresses to /tmp and needs /proc
filesystem support. It starts the decompressed program via the execve()
The generic linux/386 format decompresses to /tmp and needs /proc file
system support. It starts the decompressed program via the execve()
syscall.
Linux/386 is only selected if the specialized linux/elf386 and
@ -546,11 +538,11 @@ NOTES FOR THE SUPPORTED EXECUTABLE FORMATS
For files which are not ELF and not a script for a known "-c" shell,
UPX uses kernel execve(), which first requires decompressing to a
temporary file in the filesystem. Interestingly -
temporary file in the file system. Interestingly -
because of the good memory management of the Linux kernel - this
often does not introduce a noticable delay, and in fact there
often does not introduce a noticeable delay, and in fact there
will be no disk access at all if you have enough free memory as
the entire process takes places within the filesystem buffers.
the entire process takes places within the file system buffers.
A compressed executable consists of the UPX stub and an overlay
which contains the original program in a compressed form.
@ -576,7 +568,7 @@ NOTES FOR THE SUPPORTED EXECUTABLE FORMATS
decompression, but you still need it for the full execution time
of the program.
- You must have /proc filesystem support as the stub wants to open
- You must have /proc file system support as the stub wants to open
/proc/<pid>/exe and needs /proc/<pid>/fd/X. This also means that you
cannot compress programs that are used during the boot sequence
before /proc is mounted.
@ -588,8 +580,8 @@ NOTES FOR THE SUPPORTED EXECUTABLE FORMATS
- Because of temporary decompression to disk the decompression speed
is not as fast as with the other executable formats. Still, I can see
no noticable delay when starting programs like my ~3 MB emacs (which
is less than 1 MB when compressed :-).
no noticeable delay when starting programs like my ~3 MiB emacs (which
is less than 1 MiB when compressed :-).
Extra options available for this executable format:
@ -606,19 +598,23 @@ NOTES FOR THE SUPPORTED EXECUTABLE FORMATS
Packed programs will be byte-identical to the original after
uncompression, until further notice.
Maximum uncompressed size: ~1998848 bytes.
Maximum uncompressed size: ~1.89 / ~7.60 MiB.
Notes:
- UPX creates as default a 'CD-Rom only' PS1/PS2 compatible executable.
For transfer between client/target use options below.
- UPX creates as default a suitable executable for CD-Mastering
and console transfer. For a CD-Master main executable you could also try
the special option "--boot-only" as described below.
It has been reported that upx packed executables are fully compatible with
the Sony PlayStation 2 (PS2, PStwo) and Sony PlayStation Portable (PSP) in
Sony PlayStation (PSone) emulation mode.
- Normally the packed files use the same memory areas like the uncompressed
versions, so they will not override other memory areas while unpacking.
If this isn't possible UPX will abort showing a 'packed data overlap'
error. With the "--force" option UPX will set a few 'bytes higher' loading
offset for the packed file, but this isn't a real problem if it is a
single or boot-only executable.
error. With the "--force" option UPX will relocate the loading address
for the packed file, but this isn't a real problem if it is a single or
the main executable.
Extra options available for this executable format:
@ -627,15 +623,19 @@ NOTES FOR THE SUPPORTED EXECUTABLE FORMATS
the compression ratio in some cases, but usually
the default method gives the best results anyway.
--boot-only The format will only run from a CD and may slightly
improves the compression ratio. The decompression
routines are faster than default ones.
But it cannot be used for host/client transfer !
--8-bit Uses 8 bit size compression [default: 32 bit]
--8mib-ram PSone has 8 MiB ram available [default: 2 MiB]
--boot-only This format is for main exes and CD-Mastering only !
It may slightly improve the compression ratio,
decompression routines are faster than default ones.
But it cannot be used for console transfer !
--no-align This option disables CD mode 2 data sector format
alignment. May slightly improves the compression ratio,
but the compressed executable will not boot from a CD.
Use it for client/target transfer only !
Use it for console transfer only !
NOTES FOR RTM32/PE and ARM/PE
Same as win32/pe.
@ -675,7 +675,7 @@ NOTES FOR THE SUPPORTED EXECUTABLE FORMATS
- Better compression (but note that the kernel was already compressed,
so the improvement is not as large as with other formats).
Still, the bytes saved may be essential for special needs like
bootdisks.
boot disks.
For example, this is what I get for my 2.2.16 kernel:
1589708 vmlinux
@ -715,16 +715,16 @@ NOTES FOR THE SUPPORTED EXECUTABLE FORMATS
NOTES FOR WIN32/PE
The PE support in UPX is quite stable now, but probably there are still
some incompabilities with some files.
some incompatibilities with some files.
Because of the way UPX (and other packers for this format) works, you
can see increased memory usage of your compressed files because the
whole program is loaded into memory at startup. If you start several
instances of huge compressed programs you're wasting memory because the
common segements of the program won't get shared across the instances.
On the other hand if you're compressing only smaller programs, or
running only one instance of larger programs, then this penalty is
smaller, but it's still there.
common segments of the program won't get shared across the instances. On
the other hand if you're compressing only smaller programs, or running
only one instance of larger programs, then this penalty is smaller, but
it's still there.
If you're running executables from network, then compressed programs
will load faster, and require less bandwidth during execution.
@ -738,9 +738,9 @@ NOTES FOR THE SUPPORTED EXECUTABLE FORMATS
end with ".scr" (as screensavers are handled slightly different than
normal exe files).
UPX compressed PE files has some minor memory overhead (usually in the
10 - 30 kbytes range) which can be seen by specifying the "-i" command
line switch during compression.
UPX compressed PE files have some minor memory overhead (usually in the
10 - 30 KiB range) which can be seen by specifying the "-i" command line
switch during compression.
Extra options available for this executable format:
@ -758,6 +758,7 @@ NOTES FOR THE SUPPORTED EXECUTABLE FORMATS
--compress-icons=1 Compress all but the first icon.
--compress-icons=2 Compress all icons which are not in the
first icon directory. [DEFAULT]
--compress-icons=3 Compress all icons.
--compress-resources=0 Don't compress any resources at all.
@ -821,13 +822,13 @@ AUTHORS
Jens Medoch <jssg@users.sourceforge.net>
COPYRIGHT
Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2008 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 1996-2006 Laszlo Molnar
Copyright (C) 1996-2008 Laszlo Molnar
Copyright (C) 2000-2006 John F. Reiser
Copyright (C) 2000-2008 John F. Reiser
Copyright (C) 2002-2006 Jens Medoch
Copyright (C) 2002-2008 Jens Medoch
This program may be used freely, and you are welcome to redistribute it
under certain conditions.

View File

@ -15,49 +15,49 @@
<ul>
<li><a href="#name">NAME</a></li>
<li><a href="#synopsis">SYNOPSIS</a></li>
<li><a href="#abstract">ABSTRACT</a></li>
<li><a href="#disclaimer">DISCLAIMER</a></li>
<li><a href="#description">DESCRIPTION</a></li>
<li><a href="#commands">COMMANDS</a></li>
<ul>
<li><a href="#name">NAME</a></li>
<li><a href="#synopsis">SYNOPSIS</a></li>
<li><a href="#abstract">ABSTRACT</a></li>
<li><a href="#disclaimer">DISCLAIMER</a></li>
<li><a href="#description">DESCRIPTION</a></li>
<li><a href="#commands">COMMANDS</a></li>
<ul>
<li><a href="#compress">Compress</a></li>
<li><a href="#decompress">Decompress</a></li>
<li><a href="#test">Test</a></li>
<li><a href="#list">List</a></li>
</ul>
<li><a href="#compress">Compress</a></li>
<li><a href="#decompress">Decompress</a></li>
<li><a href="#test">Test</a></li>
<li><a href="#list">List</a></li>
</ul>
<li><a href="#options">OPTIONS</a></li>
<li><a href="#compression_levels___tuning">COMPRESSION LEVELS &amp; TUNING</a></li>
<li><a href="#overlay_handling_options">OVERLAY HANDLING OPTIONS</a></li>
<li><a href="#environment">ENVIRONMENT</a></li>
<li><a href="#notes_for_the_supported_executable_formats">NOTES FOR THE SUPPORTED EXECUTABLE FORMATS</a></li>
<ul>
<li><a href="#options">OPTIONS</a></li>
<li><a href="#compression_levels___tuning">COMPRESSION LEVELS &amp; TUNING</a></li>
<li><a href="#overlay_handling_options">OVERLAY HANDLING OPTIONS</a></li>
<li><a href="#environment">ENVIRONMENT</a></li>
<li><a href="#notes_for_the_supported_executable_formats">NOTES FOR THE SUPPORTED EXECUTABLE FORMATS</a></li>
<ul>
<li><a href="#notes_for_atari_tos">NOTES FOR ATARI/TOS</a></li>
<li><a href="#notes_for_bvmlinuz_i386">NOTES FOR BVMLINUZ/I386</a></li>
<li><a href="#notes_for_dos_com">NOTES FOR DOS/COM</a></li>
<li><a href="#notes_for_dos_exe">NOTES FOR DOS/EXE</a></li>
<li><a href="#notes_for_dos_sys">NOTES FOR DOS/SYS</a></li>
<li><a href="#notes_for_djgpp2_coff">NOTES FOR DJGPP2/COFF</a></li>
<li><a href="#notes_for_linux__general_">NOTES FOR LINUX [general]</a></li>
<li><a href="#notes_for_linux_elf386">NOTES FOR LINUX/ELF386</a></li>
<li><a href="#notes_for_linux_sh386">NOTES FOR LINUX/SH386</a></li>
<li><a href="#notes_for_linux_386">NOTES FOR LINUX/386</a></li>
<li><a href="#notes_for_ps1_exe">NOTES FOR PS1/EXE</a></li>
<li><a href="#notes_for_rtm32_pe_and_arm_pe">NOTES FOR RTM32/PE and ARM/PE</a></li>
<li><a href="#notes_for_tmt_adam">NOTES FOR TMT/ADAM</a></li>
<li><a href="#notes_for_vmlinuz_386">NOTES FOR VMLINUZ/386</a></li>
<li><a href="#notes_for_watcom_le">NOTES FOR WATCOM/LE</a></li>
<li><a href="#notes_for_win32_pe">NOTES FOR WIN32/PE</a></li>
</ul>
<li><a href="#notes_for_atari_tos">NOTES FOR ATARI/TOS</a></li>
<li><a href="#notes_for_bvmlinuz_i386">NOTES FOR BVMLINUZ/I386</a></li>
<li><a href="#notes_for_dos_com">NOTES FOR DOS/COM</a></li>
<li><a href="#notes_for_dos_exe">NOTES FOR DOS/EXE</a></li>
<li><a href="#notes_for_dos_sys">NOTES FOR DOS/SYS</a></li>
<li><a href="#notes_for_djgpp2_coff">NOTES FOR DJGPP2/COFF</a></li>
<li><a href="#notes_for_linux__general_">NOTES FOR LINUX [general]</a></li>
<li><a href="#notes_for_linux_elf386">NOTES FOR LINUX/ELF386</a></li>
<li><a href="#notes_for_linux_sh386">NOTES FOR LINUX/SH386</a></li>
<li><a href="#notes_for_linux_386">NOTES FOR LINUX/386</a></li>
<li><a href="#notes_for_ps1_exe">NOTES FOR PS1/EXE</a></li>
<li><a href="#notes_for_rtm32_pe_and_arm_pe">NOTES FOR RTM32/PE and ARM/PE</a></li>
<li><a href="#notes_for_tmt_adam">NOTES FOR TMT/ADAM</a></li>
<li><a href="#notes_for_vmlinuz_386">NOTES FOR VMLINUZ/386</a></li>
<li><a href="#notes_for_watcom_le">NOTES FOR WATCOM/LE</a></li>
<li><a href="#notes_for_win32_pe">NOTES FOR WIN32/PE</a></li>
</ul>
<li><a href="#diagnostics">DIAGNOSTICS</a></li>
<li><a href="#bugs">BUGS</a></li>
<li><a href="#authors">AUTHORS</a></li>
<li><a href="#copyright">COPYRIGHT</a></li>
<li><a href="#diagnostics">DIAGNOSTICS</a></li>
<li><a href="#bugs">BUGS</a></li>
<li><a href="#authors">AUTHORS</a></li>
<li><a href="#copyright">COPYRIGHT</a></li>
</ul>
-->
<!-- INDEX END -->
@ -77,7 +77,7 @@
<h1><a name="abstract">ABSTRACT</a></h1>
<pre>
The Ultimate Packer for eXecutables
Copyright (c) 1996-2006 Markus Oberhumer, Laszlo Molnar &amp; John Reiser
Copyright (c) 1996-2008 Markus Oberhumer, Laszlo Molnar &amp; John Reiser
<a href="http://upx.sourceforge.net">http://upx.sourceforge.net</a></pre>
<p><strong>UPX</strong> is a portable, extendable, high-performance executable packer for
several different executable formats. It achieves an excellent compression
@ -107,8 +107,8 @@ releases will be backward compatible with this version.</p>
- excellent compression ratio: compresses better than zip/gzip,
use UPX to decrease the size of your distribution !</pre>
<pre>
- very fast decompression: about 10 MB/sec on an ancient Pentium 133,
about 200 MB/sec on an Athlon XP 2000+.</pre>
- very fast decompression: about 10 MiB/sec on an ancient Pentium 133,
about 200 MiB/sec on an Athlon XP 2000+.</pre>
<pre>
- no memory overhead for your compressed executables for most of the
supported formats</pre>
@ -187,6 +187,12 @@ shows the compressed / uncompressed size and the compression ratio of
<p><strong>-q -q -q</strong> (or <strong>-qqq</strong>): produce no output at all</p>
<p><strong>--help</strong>: prints the help</p>
<p><strong>--version</strong>: print the version of <strong>UPX</strong></p>
<p><strong>--exact</strong>: when compressing, require to be able to get a byte-identical file
after decompression with option <strong>-d</strong>. [NOTE: this is work in progress and is
not supported for all formats yet. If you do care, as a workaround you can
compress and then decompress your program a first time - any further
compress-decompress steps should then yield byte-identical results
as compared to the first decompressed version.]</p>
<p>[ ...to be written... - type `<strong>upx --help</strong>' for now ]</p>
<p>
</p>
@ -194,7 +200,7 @@ shows the compressed / uncompressed size and the compression ratio of
<h1><a name="compression_levels___tuning">COMPRESSION LEVELS &amp; TUNING</a></h1>
<p><strong>UPX</strong> offers ten different compression levels from <strong>-1</strong> to <strong>-9</strong>,
and <strong>--best</strong>. The default compression level is <strong>-8</strong> for files
smaller than 512 kB, and <strong>-7</strong> otherwise.</p>
smaller than 512 KiB, and <strong>-7</strong> otherwise.</p>
<ul>
<li>
<p>Compression levels 1, 2 and 3 are pretty fast.</p>
@ -212,25 +218,10 @@ smaller than 512 kB, and <strong>-7</strong> otherwise.</p>
<p>Note that compression level <strong>--best</strong> can be somewhat slow for large
files, but you definitely should use it when releasing a final version
of your program.</p>
<p>Quick start for achieving the best compression ratio:</p>
<p>Try <strong>upx --brute myfile.exe</strong>.</p>
<p>Details for achieving the best compression ratio:</p>
<p>Quick info for achieving the best compression ratio:</p>
<ul>
<li>
<p>Use the compression level <strong>--best</strong>.</p>
</li>
<li>
<p>Try one or both of the options <strong>--all-methods</strong> and <strong>--all-filters</strong>.</p>
</li>
<li>
<p>Try the option <strong>--crp-ms=NUMBER</strong>. This uses more memory during compression
to achieve a (slightly) better compression ratio.</p>
<p>NUMBER must be a decimal value from 10000 to 999999, inclusive.
The default value is 10000 (ten thousand).</p>
</li>
<li>
<p>Info: the option <strong>--brute</strong> is an abbrevation for the options
<strong>--best --all-methods --all-filters --crp-ms=999999</strong>.</p>
<p>Try <strong>upx --brute myfile.exe</strong> or even <strong>upx --ultra-brute myfile.exe</strong>.</p>
</li>
<li>
<p>Try if <strong>--overlay=strip</strong> works.</p>
@ -243,7 +234,7 @@ The default value is 10000 (ten thousand).</p>
</p>
<hr />
<h1><a name="overlay_handling_options">OVERLAY HANDLING OPTIONS</a></h1>
<p>Info: An ``overlay'' means auxillary data atached after the logical end of
<p>Info: An ``overlay'' means auxiliary data attached after the logical end of
an executable, and it often contains application specific data
(this is a common practice to avoid an extra data file, though
it would be better to use resource sections).</p>
@ -364,7 +355,7 @@ themselves (like some command line utilities that ship with Win95/98/ME).</p>
<p>First of all, it is recommended to use <strong>UPX</strong> *instead* of <strong>strip</strong>. strip has
the very bad habit of replacing your stub with its own (outdated) version.
Additionally <strong>UPX</strong> corrects a bug/feature in strip v2.8.x: it
will fix the 4 KByte aligment of the stub.</p>
will fix the 4 KiB alignment of the stub.</p>
<p><strong>UPX</strong> includes the full functionality of stubify. This means it will
automatically stubify your COFF files. Use the option <strong>--coff</strong> to
disable this functionality (see below).</p>
@ -392,7 +383,7 @@ All debug information and trailing garbage will be stripped, though.</p>
<p>Introduction</p>
<pre>
Linux/386 support in UPX consists of 3 different executable formats,
one optimized for ELF excutables (&quot;linux/elf386&quot;), one optimized
one optimized for ELF executables (&quot;linux/elf386&quot;), one optimized
for shell scripts (&quot;linux/sh386&quot;), and one generic format
(&quot;linux/386&quot;).</pre>
<pre>
@ -419,14 +410,14 @@ All debug information and trailing garbage will be stripped, though.</p>
or network I/O.</pre>
<pre>
Depending on the statistics of usage and access, and the relative
speeds of CPU, RAM, swap space, /tmp, and filesystem storage, then
speeds of CPU, RAM, swap space, /tmp, and file system storage, then
invoking and running a compressed executable can be faster than
directly running the corresponding uncompressed program.
The operating system might perfrom fewer expensive I/O operations
The operating system might perform fewer expensive I/O operations
to invoke the compressed program. Paging to or from swap space
or /tmp might be faster than paging from the general filesystem.
or /tmp might be faster than paging from the general file system.
``Medium-sized'' programs which access about 1/3 to 1/2 of their
stored program bytes can do particulary well with compression.
stored program bytes can do particularly well with compression.
Small programs tend not to benefit as much because the absolute
savings is less. Big programs tend not to benefit proportionally
because each invocation may use only a small fraction of the program,
@ -435,7 +426,7 @@ All debug information and trailing garbage will be stripped, though.</p>
then compression may win anyway.</pre>
<pre>
Currently, executables compressed by UPX do not share RAM at runtime
in the way that executables mapped from a filesystem do. As a
in the way that executables mapped from a file system do. As a
result, if the same program is run simultaneously by more than one
process, then using the compressed version will require more RAM and/or
swap space. So, shell programs (bash, csh, etc.) and ``make''
@ -517,7 +508,7 @@ All debug information and trailing garbage will be stripped, though.</p>
<p>The linux/elf386 format decompresses directly into RAM,
uses only one exec, does not use space in /tmp,
and does not use /proc.</p>
<p>Linux/elf386 is automatically selected for Linux ELF exectuables.</p>
<p>Linux/elf386 is automatically selected for Linux ELF executables.</p>
<p>Packed programs will be byte-identical to the original after uncompression.</p>
<p>How it works:</p>
<pre>
@ -591,7 +582,7 @@ use a known shell.</p>
<h2><a name="notes_for_linux_386">NOTES FOR LINUX/386</a></h2>
<p>Please read the general Linux description first.</p>
<p>The generic linux/386 format decompresses to /tmp and needs
/proc filesystem support. It starts the decompressed program
/proc file system support. It starts the decompressed program
via the <code>execve()</code> syscall.</p>
<p>Linux/386 is only selected if the specialized linux/elf386
and linux/sh386 won't recognize a file.</p>
@ -600,11 +591,11 @@ and linux/sh386 won't recognize a file.</p>
<pre>
For files which are not ELF and not a script for a known &quot;-c&quot; shell,
UPX uses kernel execve(), which first requires decompressing to a
temporary file in the filesystem. Interestingly -
temporary file in the file system. Interestingly -
because of the good memory management of the Linux kernel - this
often does not introduce a noticable delay, and in fact there
often does not introduce a noticeable delay, and in fact there
will be no disk access at all if you have enough free memory as
the entire process takes places within the filesystem buffers.</pre>
the entire process takes places within the file system buffers.</pre>
<pre>
A compressed executable consists of the UPX stub and an overlay
which contains the original program in a compressed form.</pre>
@ -629,7 +620,7 @@ and linux/sh386 won't recognize a file.</p>
decompression, but you still need it for the full execution time
of the program.</pre>
<pre>
- You must have /proc filesystem support as the stub wants to open
- You must have /proc file system support as the stub wants to open
/proc/&lt;pid&gt;/exe and needs /proc/&lt;pid&gt;/fd/X. This also means that you
cannot compress programs that are used during the boot sequence
before /proc is mounted.</pre>
@ -641,8 +632,8 @@ and linux/sh386 won't recognize a file.</p>
<pre>
- Because of temporary decompression to disk the decompression speed
is not as fast as with the other executable formats. Still, I can see
no noticable delay when starting programs like my ~3 MB emacs (which
is less than 1 MB when compressed :-).</pre>
no noticeable delay when starting programs like my ~3 MiB emacs (which
is less than 1 MiB when compressed :-).</pre>
<p>Extra options available for this executable format:</p>
<pre>
--force-execve Force the use of the generic linux/386 &quot;execve&quot;
@ -657,18 +648,22 @@ Support of this format is very similar to the Atari one, because of
nostalgic feelings of one of the authors.</p>
<p>Packed programs will be byte-identical to the original after uncompression,
until further notice.</p>
<p>Maximum uncompressed size: ~1998848 bytes.</p>
<p>Maximum uncompressed size: ~1.89 / ~7.60 MiB.</p>
<p>Notes:</p>
<pre>
- UPX creates as default a 'CD-Rom only' PS1/PS2 compatible executable.
For transfer between client/target use options below.</pre>
- UPX creates as default a suitable executable for CD-Mastering
and console transfer. For a CD-Master main executable you could also try
the special option &quot;--boot-only&quot; as described below.
It has been reported that upx packed executables are fully compatible with
the Sony PlayStation 2 (PS2, PStwo) and Sony PlayStation Portable (PSP) in
Sony PlayStation (PSone) emulation mode.</pre>
<pre>
- Normally the packed files use the same memory areas like the uncompressed
versions, so they will not override other memory areas while unpacking.
If this isn't possible UPX will abort showing a 'packed data overlap'
error. With the &quot;--force&quot; option UPX will set a few 'bytes higher' loading
offset for the packed file, but this isn't a real problem if it is a
single or boot-only executable.</pre>
error. With the &quot;--force&quot; option UPX will relocate the loading address
for the packed file, but this isn't a real problem if it is a single or
the main executable.</pre>
<p>Extra options available for this executable format:</p>
<pre>
--all-methods Compress the program several times, using all
@ -676,15 +671,19 @@ until further notice.</p>
the compression ratio in some cases, but usually
the default method gives the best results anyway.</pre>
<pre>
--boot-only The format will only run from a CD and may slightly
improves the compression ratio. The decompression
routines are faster than default ones.
But it cannot be used for host/client transfer !</pre>
--8-bit Uses 8 bit size compression [default: 32 bit]</pre>
<pre>
--8mib-ram PSone has 8 MiB ram available [default: 2 MiB]</pre>
<pre>
--boot-only This format is for main exes and CD-Mastering only !
It may slightly improve the compression ratio,
decompression routines are faster than default ones.
But it cannot be used for console transfer !</pre>
<pre>
--no-align This option disables CD mode 2 data sector format
alignment. May slightly improves the compression ratio,
but the compressed executable will not boot from a CD.
Use it for client/target transfer only !</pre>
Use it for console transfer only !</pre>
<p>
</p>
<h2><a name="notes_for_rtm32_pe_and_arm_pe">NOTES FOR RTM32/PE and ARM/PE</a></h2>
@ -722,7 +721,7 @@ formats, and it does not share any of their drawbacks.</p>
- Better compression (but note that the kernel was already compressed,
so the improvement is not as large as with other formats).
Still, the bytes saved may be essential for special needs like
bootdisks.</pre>
boot disks.</pre>
<pre>
For example, this is what I get for my 2.2.16 kernel:
1589708 vmlinux
@ -761,12 +760,12 @@ formats, and it does not share any of their drawbacks.</p>
</p>
<h2><a name="notes_for_win32_pe">NOTES FOR WIN32/PE</a></h2>
<p>The PE support in <strong>UPX</strong> is quite stable now, but probably there are
still some incompabilities with some files.</p>
still some incompatibilities with some files.</p>
<p>Because of the way <strong>UPX</strong> (and other packers for this format) works, you
can see increased memory usage of your compressed files because the whole
program is loaded into memory at startup.
If you start several instances of huge compressed programs you're
wasting memory because the common segements of the program won't
wasting memory because the common segments of the program won't
get shared across the instances.
On the other hand if you're compressing only smaller programs, or
running only one instance of larger programs, then this penalty is
@ -780,8 +779,8 @@ application may be a better idea.</p>
<p>Screensavers are supported, with the restriction that the filename
must end with ``.scr'' (as screensavers are handled slightly different
than normal exe files).</p>
<p>UPX compressed PE files has some minor memory overhead (usually in the
10 - 30 kbytes range) which can be seen by specifying the ``-i'' command
<p>UPX compressed PE files have some minor memory overhead (usually in the
10 - 30 KiB range) which can be seen by specifying the ``-i'' command
line switch during compression.</p>
<p>Extra options available for this executable format:</p>
<pre>
@ -798,7 +797,8 @@ line switch during compression.</p>
--compress-icons=0 Don't compress any icons.
--compress-icons=1 Compress all but the first icon.
--compress-icons=2 Compress all icons which are not in the
first icon directory. [DEFAULT]</pre>
first icon directory. [DEFAULT]
--compress-icons=3 Compress all icons.</pre>
<pre>
--compress-resources=0 Don't compress any resources at all.</pre>
<pre>
@ -870,10 +870,10 @@ is 1. If a warning occurs, exit status is 2.</p>
</p>
<hr />
<h1><a name="copyright">COPYRIGHT</a></h1>
<p>Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer</p>
<p>Copyright (C) 1996-2006 Laszlo Molnar</p>
<p>Copyright (C) 2000-2006 John F. Reiser</p>
<p>Copyright (C) 2002-2006 Jens Medoch</p>
<p>Copyright (C) 1996-2008 Markus Franz Xaver Johannes Oberhumer</p>
<p>Copyright (C) 1996-2008 Laszlo Molnar</p>
<p>Copyright (C) 2000-2008 John F. Reiser</p>
<p>Copyright (C) 2002-2008 Jens Medoch</p>
<p>This program may be used freely, and you are welcome to
redistribute it under certain conditions.</p>
<p>This program is distributed in the hope that it will be useful,

View File

@ -7,7 +7,11 @@
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
#include "WinResrc.h"
#ifndef IDC_STATIC
#define IDC_STATIC -1
#endif // IDC_STATIC
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
@ -43,7 +47,7 @@ END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"#include ""WinResrc.h""\r\n"
"\0"
END

View File

@ -7,7 +7,11 @@
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
#include "WinResrc.h"
#ifndef IDC_STATIC
#define IDC_STATIC -1
#endif // IDC_STATIC
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
@ -34,7 +38,7 @@ END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"#include ""WinResrc.h""\r\n"
"\0"
END

View File

@ -195,7 +195,7 @@ extern "C" CXBXKRNL_API void CxbxKrnlInit
else
GetCurrentDirectory(260, szBuffer);
g_strCurDrive = strdup(szBuffer);
g_strCurDrive = _strdup(szBuffer);
g_hCurDir = CreateFile(szBuffer, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
@ -251,7 +251,7 @@ extern "C" CXBXKRNL_API void CxbxKrnlInit
CreateDirectory(szBuffer, NULL);
g_strTDrive = strdup(szBuffer);
g_strTDrive = _strdup(szBuffer);
g_hTDrive = CreateFile(szBuffer, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
@ -274,7 +274,7 @@ extern "C" CXBXKRNL_API void CxbxKrnlInit
CreateDirectory(szBuffer, NULL);
g_strUDrive = strdup(szBuffer);
g_strUDrive = _strdup(szBuffer);
g_hUDrive = CreateFile(szBuffer, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
@ -299,7 +299,7 @@ extern "C" CXBXKRNL_API void CxbxKrnlInit
CreateDirectory(szBuffer, NULL);
//*/
g_strZDrive = strdup(szBuffer);
g_strZDrive = _strdup(szBuffer);
g_hZDrive = CreateFile(szBuffer, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);

View File

@ -184,7 +184,7 @@ void DbgConsole::ParseCommand()
// TODO: as command list grows, turn into static string/ptr lookup
if(stricmp(szCmd, "h") == 0 || stricmp(szCmd, "help") == 0)
if(_stricmp(szCmd, "h") == 0 || _stricmp(szCmd, "help") == 0)
{
printf("CxbxDbg: \n");
printf("CxbxDbg: Cxbx Debug Command List:\n");
@ -217,18 +217,18 @@ void DbgConsole::ParseCommand()
printf("CxbxDbg: # denotes parameter of form [#] or [#-#]\n");
printf("CxbxDbg: \n");
}
else if(stricmp(szCmd, "q") == 0 || stricmp(szCmd, "quit") == 0 || stricmp(szCmd, "exit") == 0)
else if(_stricmp(szCmd, "q") == 0 || _stricmp(szCmd, "quit") == 0 || _stricmp(szCmd, "exit") == 0)
{
printf("CxbxDbg: Goodbye...\n");
CxbxKrnlCleanup(NULL);
}
else if(stricmp(szCmd, "t") == 0 || stricmp(szCmd, "trace") == 0)
else if(_stricmp(szCmd, "t") == 0 || _stricmp(szCmd, "trace") == 0)
{
g_bPrintfOn = !g_bPrintfOn;
printf("CxbxDbg: Trace is now %s\n", g_bPrintfOn ? "ON" : "OFF");
}
#ifdef _DEBUG_TRACK_VB
else if(stricmp(szCmd, "lvb") == 0 || stricmp(szCmd, "ListVB") == 0)
else if(_stricmp(szCmd, "lvb") == 0 || _stricmp(szCmd, "ListVB") == 0)
{
int v=0;
@ -247,7 +247,7 @@ void DbgConsole::ParseCommand()
g_VBTrackTotal.Unlock();
}
else if(stricmp(szCmd, "dvb") == 0 || stricmp(szCmd, "DisableVB") == 0)
else if(_stricmp(szCmd, "dvb") == 0 || _stricmp(szCmd, "DisableVB") == 0)
{
int n=0, m=0;
@ -266,7 +266,7 @@ void DbgConsole::ParseCommand()
printf("CxbxDbg: Syntax Incorrect (dvb #)\n");
}
}
else if(stricmp(szCmd, "evb") == 0 || stricmp(szCmd, "EnableVB") == 0)
else if(_stricmp(szCmd, "evb") == 0 || _stricmp(szCmd, "EnableVB") == 0)
{
int n=0, m=0;
@ -285,13 +285,13 @@ void DbgConsole::ParseCommand()
printf("CxbxDbg: Syntax Incorrect (dvb #)\n");
}
}
else if(stricmp(szCmd, "dsc") == 0 || stricmp(szCmd, "DumpStreamCache") == 0)
else if(_stricmp(szCmd, "dsc") == 0 || _stricmp(szCmd, "DumpStreamCache") == 0)
{
XTL::VertexPatcher::DumpCache();
}
#endif
#ifdef _DEBUG_TRACK_PB
else if(stricmp(szCmd, "lpb") == 0 || stricmp(szCmd, "ListPB") == 0)
else if(_stricmp(szCmd, "lpb") == 0 || _stricmp(szCmd, "ListPB") == 0)
{
int v=0;
@ -310,7 +310,7 @@ void DbgConsole::ParseCommand()
g_PBTrackTotal.Unlock();
}
else if(stricmp(szCmd, "spb") == 0 || stricmp(szCmd, "ShowPB") == 0)
else if(_stricmp(szCmd, "spb") == 0 || _stricmp(szCmd, "ShowPB") == 0)
{
int n=0, m=0;
@ -329,7 +329,7 @@ void DbgConsole::ParseCommand()
printf("CxbxDbg: Syntax Incorrect (spb #)\n");
}
}
else if(stricmp(szCmd, "dpb") == 0 || stricmp(szCmd, "DisablePB") == 0)
else if(_stricmp(szCmd, "dpb") == 0 || _stricmp(szCmd, "DisablePB") == 0)
{
int n=0, m=0;
@ -348,7 +348,7 @@ void DbgConsole::ParseCommand()
printf("CxbxDbg: Syntax Incorrect (dpb #)\n");
}
}
else if(stricmp(szCmd, "epb") == 0 || stricmp(szCmd, "EnablePB") == 0)
else if(_stricmp(szCmd, "epb") == 0 || _stricmp(szCmd, "EnablePB") == 0)
{
int n=0, m=0;
@ -367,7 +367,7 @@ void DbgConsole::ParseCommand()
printf("CxbxDbg: Syntax Incorrect (dpb #)\n");
}
}
else if(stricmp(szCmd, "cpb") == 0 || stricmp(szCmd, "ClearPB") == 0)
else if(_stricmp(szCmd, "cpb") == 0 || _stricmp(szCmd, "ClearPB") == 0)
{
g_PBTrackTotal.clear();
@ -375,14 +375,14 @@ void DbgConsole::ParseCommand()
}
#endif
#ifdef _DEBUG_ALLOC
else if(stricmp(szCmd, "dmem") == 0 || stricmp(szCmd, "DumpMem") == 0)
else if(_stricmp(szCmd, "dmem") == 0 || _stricmp(szCmd, "DumpMem") == 0)
{
int Full;
int c = sscanf(m_szInput, "%*s %d", &Full);
CxbxAllocDump(Full != 0);
}
#endif // _DEBUG_ALLOC
else if(stricmp(szCmd, "cls") == 0)
else if(_stricmp(szCmd, "cls") == 0)
{
// clear screen using system call
system("cls");

View File

@ -85,6 +85,9 @@ class VertexPatcher
bool Apply(VertexPatchDesc *pPatchDesc);
bool Restore();
// Dumps the cache to the console
static void DumpCache(void);
private:
UINT m_uiNbrStreams;
@ -100,9 +103,6 @@ class VertexPatcher
// Returns the number of streams of a patch
UINT GetNbrStreams(VertexPatchDesc *pPatchDesc);
// Dumps the cache to the console
static void DumpCache(void);
// Caches a patched stream
void CacheStream(VertexPatchDesc *pPatchDesc,
UINT uiStream);

View File

@ -218,7 +218,7 @@ XBSYSAPI EXPORTNUM(15) xboxkrnl::PVOID NTAPI xboxkrnl::ExAllocatePoolWithTag
// ******************************************************************
// * 0x0018 ExQueryNonVolatileSetting
// ******************************************************************
XBSYSAPI EXPORTNUM(24) NTSTATUS NTAPI xboxkrnl::ExQueryNonVolatileSetting
XBSYSAPI EXPORTNUM(24) xboxkrnl::NTSTATUS NTAPI xboxkrnl::ExQueryNonVolatileSetting
(
IN DWORD ValueIndex,
OUT DWORD *Type,
@ -380,7 +380,7 @@ XBSYSAPI EXPORTNUM(49) VOID DECLSPEC_NORETURN xboxkrnl::HalReturnToFirmware
// ******************************************************************
// * 0x0042 - IoCreateFile
// ******************************************************************
XBSYSAPI EXPORTNUM(66) NTSTATUS NTAPI xboxkrnl::IoCreateFile
XBSYSAPI EXPORTNUM(66) xboxkrnl::NTSTATUS NTAPI xboxkrnl::IoCreateFile
(
OUT PHANDLE FileHandle,
IN ACCESS_MASK DesiredAccess,
@ -425,7 +425,7 @@ XBSYSAPI EXPORTNUM(66) NTSTATUS NTAPI xboxkrnl::IoCreateFile
// ******************************************************************
// * 0x0043 IoCreateSymbolicLink
// ******************************************************************
XBSYSAPI EXPORTNUM(67) NTSTATUS NTAPI xboxkrnl::IoCreateSymbolicLink
XBSYSAPI EXPORTNUM(67) xboxkrnl::NTSTATUS NTAPI xboxkrnl::IoCreateSymbolicLink
(
IN PSTRING SymbolicLinkName,
IN PSTRING DeviceName
@ -452,7 +452,7 @@ XBSYSAPI EXPORTNUM(67) NTSTATUS NTAPI xboxkrnl::IoCreateSymbolicLink
// ******************************************************************
// * 0x0045 - IoDeleteSymbolicLink
// ******************************************************************
XBSYSAPI EXPORTNUM(69) NTSTATUS NTAPI xboxkrnl::IoDeleteSymbolicLink
XBSYSAPI EXPORTNUM(69) xboxkrnl::NTSTATUS NTAPI xboxkrnl::IoDeleteSymbolicLink
(
IN PSTRING SymbolicLinkName
)
@ -476,7 +476,7 @@ XBSYSAPI EXPORTNUM(69) NTSTATUS NTAPI xboxkrnl::IoDeleteSymbolicLink
// ******************************************************************
// * 0x0063 - KeDelayExecutionThread
// ******************************************************************
XBSYSAPI EXPORTNUM(99) NTSTATUS NTAPI xboxkrnl::KeDelayExecutionThread
XBSYSAPI EXPORTNUM(99) xboxkrnl::NTSTATUS NTAPI xboxkrnl::KeDelayExecutionThread
(
IN KPROCESSOR_MODE WaitMode,
IN BOOLEAN Alertable,
@ -921,7 +921,7 @@ XBSYSAPI EXPORTNUM(171) VOID NTAPI xboxkrnl::MmFreeContiguousMemory
// ******************************************************************
// * 0x00AC - MmFreeSystemMemory
// ******************************************************************
XBSYSAPI EXPORTNUM(172) NTSTATUS NTAPI xboxkrnl::MmFreeSystemMemory
XBSYSAPI EXPORTNUM(172) xboxkrnl::NTSTATUS NTAPI xboxkrnl::MmFreeSystemMemory
(
PVOID BaseAddress,
ULONG NumberOfBytes
@ -995,7 +995,7 @@ XBSYSAPI EXPORTNUM(180) XTL::ULONG NTAPI xboxkrnl::MmQueryAllocationSize
// ******************************************************************
// * 0x00B5 - MmQueryStatistics
// ******************************************************************
XBSYSAPI EXPORTNUM(181) NTSTATUS NTAPI xboxkrnl::MmQueryStatistics
XBSYSAPI EXPORTNUM(181) xboxkrnl::NTSTATUS NTAPI xboxkrnl::MmQueryStatistics
(
OUT PMM_STATISTICS MemoryStatistics
)
@ -1071,7 +1071,7 @@ XBSYSAPI EXPORTNUM(182) VOID NTAPI xboxkrnl::MmSetAddressProtect
// ******************************************************************
// * 0x00B8 - NtAllocateVirtualMemory
// ******************************************************************
XBSYSAPI EXPORTNUM(184) NTSTATUS NTAPI xboxkrnl::NtAllocateVirtualMemory
XBSYSAPI EXPORTNUM(184) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtAllocateVirtualMemory
(
IN OUT PVOID *BaseAddress,
IN ULONG ZeroBits,
@ -1102,7 +1102,7 @@ XBSYSAPI EXPORTNUM(184) NTSTATUS NTAPI xboxkrnl::NtAllocateVirtualMemory
// ******************************************************************
// * 0x00BA - NtClearEvent
// ******************************************************************
XBSYSAPI EXPORTNUM(186) NTSTATUS NTAPI xboxkrnl::NtClearEvent
XBSYSAPI EXPORTNUM(186) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtClearEvent
(
IN HANDLE EventHandle
)
@ -1128,7 +1128,7 @@ XBSYSAPI EXPORTNUM(186) NTSTATUS NTAPI xboxkrnl::NtClearEvent
// ******************************************************************
// * 0x00BB - NtClose
// ******************************************************************
XBSYSAPI EXPORTNUM(187) NTSTATUS NTAPI xboxkrnl::NtClose
XBSYSAPI EXPORTNUM(187) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtClose
(
IN HANDLE Handle
)
@ -1166,7 +1166,7 @@ XBSYSAPI EXPORTNUM(187) NTSTATUS NTAPI xboxkrnl::NtClose
// ******************************************************************
// * 0x00BD - NtCreateEvent
// ******************************************************************
XBSYSAPI EXPORTNUM(189) NTSTATUS NTAPI xboxkrnl::NtCreateEvent
XBSYSAPI EXPORTNUM(189) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtCreateEvent
(
OUT PHANDLE EventHandle,
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
@ -1222,7 +1222,7 @@ XBSYSAPI EXPORTNUM(189) NTSTATUS NTAPI xboxkrnl::NtCreateEvent
// ******************************************************************
// * 0x00BE - NtCreateFile
// ******************************************************************
XBSYSAPI EXPORTNUM(190) NTSTATUS NTAPI xboxkrnl::NtCreateFile
XBSYSAPI EXPORTNUM(190) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtCreateFile
(
OUT PHANDLE FileHandle,
IN ACCESS_MASK DesiredAccess,
@ -1386,7 +1386,7 @@ XBSYSAPI EXPORTNUM(190) NTSTATUS NTAPI xboxkrnl::NtCreateFile
// ******************************************************************
// * 0x00C0 - NtCreateMutant
// ******************************************************************
XBSYSAPI EXPORTNUM(192) NTSTATUS NTAPI xboxkrnl::NtCreateMutant
XBSYSAPI EXPORTNUM(192) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtCreateMutant
(
OUT PHANDLE MutantHandle,
IN POBJECT_ATTRIBUTES ObjectAttributes,
@ -1439,7 +1439,7 @@ XBSYSAPI EXPORTNUM(192) NTSTATUS NTAPI xboxkrnl::NtCreateMutant
// ******************************************************************
// * 0x00C5 - NtDuplicateObject
// ******************************************************************
XBSYSAPI EXPORTNUM(197) NTSTATUS NTAPI xboxkrnl::NtDuplicateObject
XBSYSAPI EXPORTNUM(197) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtDuplicateObject
(
HANDLE SourceHandle,
HANDLE *TargetHandle,
@ -1477,7 +1477,7 @@ XBSYSAPI EXPORTNUM(197) NTSTATUS NTAPI xboxkrnl::NtDuplicateObject
// ******************************************************************
// * NtFlushBuffersFile
// ******************************************************************
XBSYSAPI EXPORTNUM(198) NTSTATUS NTAPI xboxkrnl::NtFlushBuffersFile
XBSYSAPI EXPORTNUM(198) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtFlushBuffersFile
(
PVOID FileHandle,
OUT PIO_STATUS_BLOCK IoStatusBlock
@ -1502,7 +1502,7 @@ XBSYSAPI EXPORTNUM(198) NTSTATUS NTAPI xboxkrnl::NtFlushBuffersFile
// ******************************************************************
// * 0x00C7 - NtFreeVirtualMemory
// ******************************************************************
XBSYSAPI EXPORTNUM(199) NTSTATUS NTAPI xboxkrnl::NtFreeVirtualMemory
XBSYSAPI EXPORTNUM(199) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtFreeVirtualMemory
(
IN OUT PVOID *BaseAddress,
IN OUT PULONG FreeSize,
@ -1529,7 +1529,7 @@ XBSYSAPI EXPORTNUM(199) NTSTATUS NTAPI xboxkrnl::NtFreeVirtualMemory
// ******************************************************************
// * 0x00CA - NtOpenFile
// ******************************************************************
XBSYSAPI EXPORTNUM(202) NTSTATUS NTAPI xboxkrnl::NtOpenFile
XBSYSAPI EXPORTNUM(202) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtOpenFile
(
OUT PHANDLE FileHandle,
IN ACCESS_MASK DesiredAccess,
@ -1566,7 +1566,7 @@ XBSYSAPI EXPORTNUM(202) NTSTATUS NTAPI xboxkrnl::NtOpenFile
// ******************************************************************
// * 0x00CF - NtQueryDirectoryFile
// ******************************************************************
XBSYSAPI EXPORTNUM(207) NTSTATUS NTAPI xboxkrnl::NtQueryDirectoryFile
XBSYSAPI EXPORTNUM(207) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtQueryDirectoryFile
(
IN HANDLE FileHandle,
IN HANDLE Event OPTIONAL,
@ -1658,7 +1658,7 @@ XBSYSAPI EXPORTNUM(207) NTSTATUS NTAPI xboxkrnl::NtQueryDirectoryFile
// ******************************************************************
// * 0x00D2 - NtQueryFullAttributesFile
// ******************************************************************
XBSYSAPI EXPORTNUM(210) NTSTATUS NTAPI xboxkrnl::NtQueryFullAttributesFile
XBSYSAPI EXPORTNUM(210) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtQueryFullAttributesFile
(
IN POBJECT_ATTRIBUTES ObjectAttributes,
OUT PVOID Attributes
@ -1699,7 +1699,7 @@ XBSYSAPI EXPORTNUM(210) NTSTATUS NTAPI xboxkrnl::NtQueryFullAttributesFile
// ******************************************************************
// * 0x00D3 - NtQueryInformationFile
// ******************************************************************
XBSYSAPI EXPORTNUM(211) NTSTATUS NTAPI xboxkrnl::NtQueryInformationFile
XBSYSAPI EXPORTNUM(211) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtQueryInformationFile
(
IN HANDLE FileHandle,
OUT PIO_STATUS_BLOCK IoStatusBlock,
@ -1765,7 +1765,7 @@ XBSYSAPI EXPORTNUM(211) NTSTATUS NTAPI xboxkrnl::NtQueryInformationFile
// ******************************************************************
// * 0x00DA - NtQueryVolumeInformationFile
// ******************************************************************
XBSYSAPI EXPORTNUM(218) NTSTATUS NTAPI xboxkrnl::NtQueryVolumeInformationFile
XBSYSAPI EXPORTNUM(218) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtQueryVolumeInformationFile
(
IN HANDLE FileHandle,
OUT PIO_STATUS_BLOCK IoStatusBlock,
@ -1818,7 +1818,7 @@ XBSYSAPI EXPORTNUM(218) NTSTATUS NTAPI xboxkrnl::NtQueryVolumeInformationFile
// ******************************************************************
// * 0x00DA - NtReadFile
// ******************************************************************
XBSYSAPI EXPORTNUM(219) NTSTATUS NTAPI xboxkrnl::NtReadFile
XBSYSAPI EXPORTNUM(219) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtReadFile
(
IN HANDLE FileHandle, // TODO: correct paramters
IN HANDLE Event OPTIONAL,
@ -1863,7 +1863,7 @@ XBSYSAPI EXPORTNUM(219) NTSTATUS NTAPI xboxkrnl::NtReadFile
// ******************************************************************
// * 0x00DD - NtReleaseMutant
// ******************************************************************
XBSYSAPI EXPORTNUM(221) NTSTATUS NTAPI xboxkrnl::NtReleaseMutant
XBSYSAPI EXPORTNUM(221) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtReleaseMutant
(
IN HANDLE MutantHandle,
OUT PLONG PreviousCount
@ -1892,7 +1892,7 @@ XBSYSAPI EXPORTNUM(221) NTSTATUS NTAPI xboxkrnl::NtReleaseMutant
// ******************************************************************
// * 0x00E0 - NtResumeThread
// ******************************************************************
XBSYSAPI EXPORTNUM(224) NTSTATUS NTAPI xboxkrnl::NtResumeThread
XBSYSAPI EXPORTNUM(224) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtResumeThread
(
IN HANDLE ThreadHandle,
OUT PULONG PreviousSuspendCount
@ -1919,7 +1919,7 @@ XBSYSAPI EXPORTNUM(224) NTSTATUS NTAPI xboxkrnl::NtResumeThread
// ******************************************************************
// * 0x00E1 - NtSetEvent
// ******************************************************************
XBSYSAPI EXPORTNUM(225) NTSTATUS NTAPI xboxkrnl::NtSetEvent
XBSYSAPI EXPORTNUM(225) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtSetEvent
(
IN HANDLE EventHandle,
OUT PLONG PreviousState
@ -1947,7 +1947,7 @@ XBSYSAPI EXPORTNUM(225) NTSTATUS NTAPI xboxkrnl::NtSetEvent
// ******************************************************************
// * 0x00E2 - NtSetInformationFile
// ******************************************************************
XBSYSAPI EXPORTNUM(226) NTSTATUS NTAPI xboxkrnl::NtSetInformationFile
XBSYSAPI EXPORTNUM(226) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtSetInformationFile
(
IN HANDLE FileHandle, // TODO: correct paramters
OUT PVOID IoStatusBlock,
@ -1979,7 +1979,7 @@ XBSYSAPI EXPORTNUM(226) NTSTATUS NTAPI xboxkrnl::NtSetInformationFile
// ******************************************************************
// * 0x00E7 - NtSuspendThread
// ******************************************************************
XBSYSAPI EXPORTNUM(231) NTSTATUS NTAPI xboxkrnl::NtSuspendThread
XBSYSAPI EXPORTNUM(231) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtSuspendThread
(
IN HANDLE ThreadHandle,
OUT PULONG PreviousSuspendCount OPTIONAL
@ -2090,7 +2090,7 @@ XBSYSAPI EXPORTNUM(232) VOID NTAPI xboxkrnl::NtUserIoApcDispatcher
// ******************************************************************
// * 0x00EA - NtWaitForSingleObjectEx
// ******************************************************************
XBSYSAPI EXPORTNUM(234) NTSTATUS NTAPI xboxkrnl::NtWaitForSingleObjectEx
XBSYSAPI EXPORTNUM(234) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtWaitForSingleObjectEx
(
IN HANDLE Handle,
IN CHAR WaitMode,
@ -2121,7 +2121,7 @@ XBSYSAPI EXPORTNUM(234) NTSTATUS NTAPI xboxkrnl::NtWaitForSingleObjectEx
// ******************************************************************
// * NtWaitForMultipleObjectsEx
// ******************************************************************
XBSYSAPI EXPORTNUM(235) NTSTATUS NTAPI xboxkrnl::NtWaitForMultipleObjectsEx
XBSYSAPI EXPORTNUM(235) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtWaitForMultipleObjectsEx
(
IN ULONG Count,
IN HANDLE *Handles,
@ -2155,7 +2155,7 @@ XBSYSAPI EXPORTNUM(235) NTSTATUS NTAPI xboxkrnl::NtWaitForMultipleObjectsEx
// ******************************************************************
// * 0x00EC - NtWriteFile
// ******************************************************************
XBSYSAPI EXPORTNUM(236) NTSTATUS NTAPI xboxkrnl::NtWriteFile
XBSYSAPI EXPORTNUM(236) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtWriteFile
(
IN HANDLE FileHandle, // TODO: correct paramters
IN PVOID Event,
@ -2217,7 +2217,7 @@ XBSYSAPI EXPORTNUM(238) VOID NTAPI xboxkrnl::NtYieldExecution()
// ******************************************************************
// * 0x00FF - PsCreateSystemThreadEx
// ******************************************************************
XBSYSAPI EXPORTNUM(255) NTSTATUS NTAPI xboxkrnl::PsCreateSystemThreadEx
XBSYSAPI EXPORTNUM(255) xboxkrnl::NTSTATUS NTAPI xboxkrnl::PsCreateSystemThreadEx
(
OUT PHANDLE ThreadHandle,
IN ULONG ThreadExtraSize,
@ -2326,7 +2326,7 @@ XBSYSAPI EXPORTNUM(258) VOID NTAPI xboxkrnl::PsTerminateSystemThread(IN NTSTATUS
// ******************************************************************
// * 0x0104 - RtlAnsiStringToUnicodeString
// ******************************************************************
XBSYSAPI EXPORTNUM(260) NTSTATUS NTAPI xboxkrnl::RtlAnsiStringToUnicodeString
XBSYSAPI EXPORTNUM(260) xboxkrnl::NTSTATUS NTAPI xboxkrnl::RtlAnsiStringToUnicodeString
(
PUNICODE_STRING DestinationString,
PSTRING SourceString,

View File

@ -127,8 +127,6 @@ uint16 EmuAllocateLDT(uint32 dwBaseAddr, uint32 dwLimit)
// * Allocate selector
// ******************************************************************
{
using namespace NtDll;
if(!NT_SUCCESS(NtDll::NtSetLdtEntries((x*8)+7+8, LDTEntry, 0, LDTEntry)))
{
LeaveCriticalSection(&EmuLDTLock);

View File

@ -65,7 +65,7 @@ int WINAPI XTL::EmuWSAStartup
");\n",
GetCurrentThreadId(), wVersionRequested, lpWSAData);
int ret = XTL::WSAStartup(wVersionRequested, lpWSAData);
int ret = WSAStartup(wVersionRequested, lpWSAData);
EmuSwapFS(); // XBox FS

View File

@ -34,21 +34,6 @@
#ifndef EMUXONLINE_H
#define EMUXONLINE_H
// If you've never seen ugly code before, here is some for you
#undef FD_SET
#undef SO_DONTLINGER
#undef AF_IPX
#undef AF_MAX
#undef SOMAXCONN
#undef FD_READ
#undef FD_WRITE
#undef FD_OOB
#undef FD_ACCEPT
#undef FD_CONNECT
#undef FD_CLOSE
#include <winsock2.h>
// ******************************************************************
// * clas: EmuThis
// ******************************************************************