This commit is contained in:
ramapcsx2 2014-07-05 20:48:52 +02:00
commit a48369dc41
26 changed files with 486 additions and 393 deletions

View File

@ -43,45 +43,6 @@ endif()
# Variable to check that people use the good file # Variable to check that people use the good file
set(TOP_CMAKE_WAS_SOURCED TRUE) set(TOP_CMAKE_WAS_SOURCED TRUE)
# Print a clear message that 64bits is not supported
# It would avoid compilation failure later.
# Note: disable the failure in package mode
if(NOT PACKAGE_MODE)
if(CMAKE_SIZEOF_VOID_P MATCHES "8")
message(WARNING "
PCSX2 does not support a 64-bits environment and has no plan to support a 64-bits architecture in the future.
It would need a complete rewrite of the core emulator and a lot of time.
You can still run a 32-bits binary if you install all 32-bits libraries (runtime and dev).")
endif(CMAKE_SIZEOF_VOID_P MATCHES "8")
endif(NOT PACKAGE_MODE)
# 64 bits specific configuration
if(CMAKE_SIZEOF_VOID_P MATCHES "8")
# Do not search library in /usr/lib64
SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS OFF)
# Probably useless but it will not harm
SET_PROPERTY(GLOBAL PROPERTY COMPILE_DEFINITIONS "-m32")
# Force the search on 32-bits path.
if(EXISTS "/usr/lib32")
set(CMAKE_LIBRARY_ARCHITECTURE "../lib32")
endif()
endif(CMAKE_SIZEOF_VOID_P MATCHES "8")
# Debian/ubuntu drop /usr/lib32 and move /usr/lib to /usr/lib/i386-linux-gnu
if(EXISTS "/usr/lib/i386-linux-gnu")
set(CMAKE_LIBRARY_ARCHITECTURE "i386-linux-gnu")
endif()
# * -fPIC option was removed for multiple reasons.
# - Code only supports the x86 architecture.
# - code uses the ebx register so it's not compliant with PIC.
# - Impacts the performance too much.
# - Only plugins. No package will link to them.
set(CMAKE_POSITION_INDEPENDENT_CODE OFF)
# set module path # set module path
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
@ -103,19 +64,6 @@ include(SelectPcsx2Plugins)
# Must be done after SearchForStuff # Must be done after SearchForStuff
write_svnrev_h() write_svnrev_h()
# add additional project-wide include directories
include_directories(${CMAKE_SOURCE_DIR}/common/include
${CMAKE_SOURCE_DIR}/common/include/Utilities
${CMAKE_SOURCE_DIR}/common/include/x86emitter
# File generated by Cmake
${CMAKE_BINARY_DIR}/common/include
# WORKAROUND Some issue with multiarch on Debian/Ubuntu
/usr/include/i386-linux-gnu
# WORKAROUND Clang integration issue with multiarch on Debian
#/usr/include/i386-linux-gnu/c++
#/usr/include/i386-linux-gnu/c++/4.8
)
# make the translation # make the translation
if(EXISTS "${CMAKE_SOURCE_DIR}/locales") if(EXISTS "${CMAKE_SOURCE_DIR}/locales")
add_subdirectory(locales) add_subdirectory(locales)

71
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,71 @@
# Contribution requirement
* be patient
Your contribution will gladly be reviewed but
* discuss with us your future contribution before coding it
Let's avoid duplicate work! Besides specification could be clarified this way.
# Window contribution possibility
* check linux chapter ;) Various improvements are actually cross platform!
# Linux contribution possibility
You're welcome to the [linux contribution thread](http://forums.pcsx2.net/Thread-Areas-of-interest-for-new-linux-developers) to have full details. Here an handy list of feature that you could implement. Feel free to propse new enhancement.
## House keeping and general compilation
* clean gcc flags
* clean gcc warning
* support clang (template mess)
* speed comparison clang/gcc
* support avx (gsdx)
* add missing/update copyright header
* LTO support
* PGO support
## Core
* support XZ compressed iso
## GSdx
* Fix OpenGL
* implement DX features on OGL (Amsodean's fxaa/video recording ....)
* Fix GLES3
* add tooltip on gsdx gui
* finish shader subroutine usage (+find a way to clean shader and avoid duplication)
* finish buffer storage
* OSD
## CDVD
* port CDVDgiga to linux ?
## zzogl
* reduce gl requirement to 3.3 + gl4 extension
* use multibind
* fix EGL
* port GLSL to window
* Drop old GLSL backend (and much later Nivida CG)
* support wx3.0
## Portability
* port GSThread to std::thread
* port core thread to std::thread
* C11 aligned_alloc
* C++11 alignof/alignas syntax
* replace volatile/lock-free queue with real C++ atomic
## Debian package
* need a refresh to the latest standard
* Clean debian/copyright => debmake -k
## QA
* [C++11 auto port](http://clang.llvm.org/extra/clang-modernize.html). Initial requirement: drop XP and support clang/llvm
* [Clean header include](https://code.google.com/p/include-what-you-use/)
* address sanitizer (gcc or clang)
* valgrind (not sure it can run PCSX2, maybe limit the scope to plugin)
* reformat the core/plugin to a constant style with tool like astyle
# Very very long term feature
Those features will require a lots of work! It would require months if not years. There are listed here for completeness ;)
* PS2 ROM reimplementation (wrongly named HLE bios)
* Android X86 port
* Win/Linux ARM port

View File

@ -15,7 +15,8 @@
# If not, see <http://www.gnu.org/licenses/>. # If not, see <http://www.gnu.org/licenses/>.
flags="-DCMAKE_BUILD_PO=FALSE" flags="-DCMAKE_BUILD_PO=FALSE"
clean_build=false clean_build=0
use_clang=0;
for f in $* for f in $*
do do
@ -28,7 +29,8 @@ do
--gles ) flags="$flags -DGLES_API=TRUE" ;; --gles ) flags="$flags -DGLES_API=TRUE" ;;
--sdl2 ) flags="$flags -DSDL2_API=TRUE" ;; --sdl2 ) flags="$flags -DSDL2_API=TRUE" ;;
--extra ) flags="$flags -DEXTRA_PLUGINS=TRUE" ;; --extra ) flags="$flags -DEXTRA_PLUGINS=TRUE" ;;
--clean ) clean_build=true ;; --clang ) use_clang=1; flags="$flags -DUSE_CLANG=TRUE" ;;
--clean ) clean_build=1 ;;
*) *)
# unknown option # unknown option
@ -47,24 +49,19 @@ do
esac esac
done done
rm -f install_log.txt [ $clean_build -eq 1 ] && (echo "Doing a clean build."; rm -fr build )
if [ "$flags" != "" ]; then
echo "Building pcsx2 with $flags"
echo "Building pcsx2 with $flags" > install_log.txt
fi
if [ "$clean_build" = true ]; then
echo "Doing a clean build."
rm -fr build
# make clean 2>&1 | tee -a ../install_log.txt
fi
echo "Building pcsx2 with $flags\n" | tee install_log.txt
mkdir -p build mkdir -p build
cd build cd build
cmake $flags .. 2>&1 | tee -a ../install_log.txt if [ $use_clang -eq 1 ]
then
CC=clang CXX=clang++ cmake $flags .. 2>&1 | tee -a ../install_log.txt
else
cmake $flags .. 2>&1 | tee -a ../install_log.txt
fi
CORE=`grep -w -c processor /proc/cpuinfo` CORE=`grep -w -c processor /proc/cpuinfo`
make -j $CORE 2>&1 | tee -a ../install_log.txt make -j $CORE 2>&1 | tee -a ../install_log.txt

View File

@ -5,12 +5,6 @@
# Use Release/Devel/Debug : -DCMAKE_BUILD_TYPE=Release|Devel|Debug # Use Release/Devel/Debug : -DCMAKE_BUILD_TYPE=Release|Devel|Debug
# Enable/disable the stripping : -DCMAKE_BUILD_STRIP=TRUE|FALSE # Enable/disable the stripping : -DCMAKE_BUILD_STRIP=TRUE|FALSE
# generation .po based on src : -DCMAKE_BUILD_PO=TRUE|FALSE # generation .po based on src : -DCMAKE_BUILD_PO=TRUE|FALSE
# Rebuild the ps2hw.dat file : -DREBUILD_SHADER=TRUE
# Build the Replay Loaders : -DBUILD_REPLAY_LOADERS=TRUE|FALSE
# Use GLSL API(else NVIDIA_CG): -DGLSL_API=TRUE|FALSE
# Use EGL (vs GLX) : -DEGL_API=TRUE|FALSE
# Use SDL2 : -DSDL2_API=TRUE|FALSE
# Build all plugins : -DEXTRA_PLUGINS=TRUE|FALSE
### GCC optimization options ### GCC optimization options
# control C flags : -DUSER_CMAKE_C_FLAGS="cflags" # control C flags : -DUSER_CMAKE_C_FLAGS="cflags"
@ -18,13 +12,108 @@
# control link flags : -DUSER_CMAKE_LD_FLAGS="ldflags" # control link flags : -DUSER_CMAKE_LD_FLAGS="ldflags"
### Packaging options ### Packaging options
# Installation path : -DPACKAGE_MODE=TRUE(follow FHS)|FALSE(local bin/)
# Plugin installation path : -DPLUGIN_DIR="/usr/lib/pcsx2" # Plugin installation path : -DPLUGIN_DIR="/usr/lib/pcsx2"
# GL Shader installation path : -DGLSL_SHADER_DIR="/usr/share/games/pcsx2" # GL Shader installation path : -DGLSL_SHADER_DIR="/usr/share/games/pcsx2"
# Game DB installation path : -DGAMEINDEX_DIR="/usr/share/games/pcsx2" # Game DB installation path : -DGAMEINDEX_DIR="/usr/share/games/pcsx2"
# Follow XDG standard : -DXDG_STD=TRUE|FALSE
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# Graphical option
#-------------------------------------------------------------------------------
option(GLSL_API "Replace zzogl CG backend by GLSL (experimental option)")
option(EGL_API "Use EGL on zzogl (experimental/developer option)")
option(GLES_API "Use GLES on GSdx (experimental/developer option)")
option(REBUILD_SHADER "Rebuild glsl/cg shader (developer option)")
option(BUILD_REPLAY_LOADERS "Build GS replayer to ease testing (developer option)")
#-------------------------------------------------------------------------------
# Path and lib option
#-------------------------------------------------------------------------------
option(PACKAGE_MODE "Use this option to ease packaging of PCSX2 (developer/distribution option)")
option(XDG_STD "Use XDG standard path instead of the standard PCSX2 path")
option(EXTRA_PLUGINS "Build various 'extra' plugins")
# FIXME do a proper detection
set(SDL2_LIBRARY "-lSDL2")
option(SDL2_LIBRARY "Use SDL2 on spu2x and onepad")
if(PACKAGE_MODE)
if(NOT DEFINED PLUGIN_DIR)
set(PLUGIN_DIR "${CMAKE_INSTALL_PREFIX}/lib/games/pcsx2")
endif(NOT DEFINED PLUGIN_DIR)
if(NOT DEFINED GAMEINDEX_DIR)
set(GAMEINDEX_DIR "${CMAKE_INSTALL_PREFIX}/share/games/pcsx2")
endif(NOT DEFINED GAMEINDEX_DIR)
# Compile all source codes with these 2 defines
add_definitions(-DPLUGIN_DIR_COMPILATION=${PLUGIN_DIR} -DGAMEINDEX_DIR_COMPILATION=${GAMEINDEX_DIR})
endif(PACKAGE_MODE)
#-------------------------------------------------------------------------------
# Select the architecture
#-------------------------------------------------------------------------------
option(64BIT_BUILD "Enable a x86_64 build instead of cross compiling (developer option)" OFF)
# Architecture bitness detection
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(_ARCH_64 1)
else()
set(_ARCH_32 1)
endif()
# Print a clear message that 64bits is not supported
if(_ARCH_64)
message(WARNING "
PCSX2 does not support a 64-bits environment and has no plan to support a 64-bits architecture in the future.
It would need a complete rewrite of the core emulator and a lot of time.
You can still run a 32-bits binary if you install all 32-bits libraries (runtime and dev).")
endif()
# 64 bits cross-compile specific configuration
if(_ARCH_64 AND 64BIT_BUILD)
message("Compiling 64bit build on 64bit architecture")
# Search library in /usr/lib64
SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS ON)
# Probably useless but it will not harm
SET_PROPERTY(GLOBAL PROPERTY COMPILE_DEFINITIONS "-m64")
# Note: /usr/lib64 is already taken care above
# For Debian/ubuntu multiarch
if(EXISTS "/usr/lib/x86_64-linux-gnu")
set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
endif()
set(ARCH_FLAG "-m64 -msse -msse2 -march=pentium4")
add_definitions(-D_ARCH_64=1)
else()
message("Compiling 32bit build on 32/64bit architecture")
# Do not search library in /usr/lib64
SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS OFF)
# Probably useless but it will not harm
SET_PROPERTY(GLOBAL PROPERTY COMPILE_DEFINITIONS "-m32")
# Force the search on 32-bits path.
if(EXISTS "/usr/lib32")
set(CMAKE_LIBRARY_ARCHITECTURE "../lib32")
endif()
# Debian/ubuntu drop /usr/lib32 and move /usr/lib to /usr/lib/i386-linux-gnu
if(EXISTS "/usr/lib/i386-linux-gnu")
set(CMAKE_LIBRARY_ARCHITECTURE "i386-linux-gnu")
endif()
set(ARCH_FLAG "-m32 -msse -msse2 -march=i686")
add_definitions(-D_ARCH_32=1)
endif()
# * -fPIC option was removed for multiple reasons.
# - Code only supports the x86 architecture.
# - code uses the ebx register so it's not compliant with PIC.
# - Impacts the performance too much.
# - Only plugins. No package will link to them.
set(CMAKE_POSITION_INDEPENDENT_CODE OFF)
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# if no build type is set, use Devel as default # if no build type is set, use Devel as default
# Note without the CMAKE_BUILD_TYPE options the value is still defined to "" # Note without the CMAKE_BUILD_TYPE options the value is still defined to ""
@ -35,21 +124,20 @@ if(NOT CMAKE_BUILD_TYPE MATCHES "Debug|Devel|Release")
message(STATUS "BuildType set to ${CMAKE_BUILD_TYPE} by default") message(STATUS "BuildType set to ${CMAKE_BUILD_TYPE} by default")
endif(NOT CMAKE_BUILD_TYPE MATCHES "Debug|Devel|Release") endif(NOT CMAKE_BUILD_TYPE MATCHES "Debug|Devel|Release")
# Initially stip was disabled on release build but it is not stackstrace friendly! # Initially strip was disabled on release build but it is not stackstrace friendly!
# It only cost several MB so disbable it by default # It only cost several MB so disbable it by default
if(NOT DEFINED CMAKE_BUILD_STRIP) option(CMAKE_BUILD_STRIP "Srip binaries to save a couple of MB (developer option)")
set(CMAKE_BUILD_STRIP FALSE)
endif(NOT DEFINED CMAKE_BUILD_STRIP)
if(NOT DEFINED CMAKE_BUILD_PO) if(NOT DEFINED CMAKE_BUILD_PO)
if(CMAKE_BUILD_TYPE STREQUAL "Release") if(CMAKE_BUILD_TYPE STREQUAL "Release")
set(CMAKE_BUILD_PO TRUE) set(CMAKE_BUILD_PO TRUE)
message(STATUS "Enable the building of po files by default in ${CMAKE_BUILD_TYPE} build !!!") message(STATUS "Enable the building of po files by default in ${CMAKE_BUILD_TYPE} build !!!")
else(CMAKE_BUILD_TYPE STREQUAL "Release") else()
set(CMAKE_BUILD_PO FALSE) set(CMAKE_BUILD_PO FALSE)
message(STATUS "Disable the building of po files by default in ${CMAKE_BUILD_TYPE} build !!!") message(STATUS "Disable the building of po files by default in ${CMAKE_BUILD_TYPE} build !!!")
endif(CMAKE_BUILD_TYPE STREQUAL "Release") endif()
endif(NOT DEFINED CMAKE_BUILD_PO) endif()
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# Control GCC flags # Control GCC flags
@ -91,17 +179,17 @@ set(CMAKE_SHARED_LIBRARY_CXX_FLAGS "")
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# Set some default compiler flags # Set some default compiler flags
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
#set(DEFAULT_WARNINGS "-Wno-write-strings -Wno-format -Wno-unused-parameter -Wno-unused-function -Wno-unused-result -Wno-unused-local-typedefs -Wno-parentheses")
# -Wno-attributes: "always_inline function might not be inlinable" <= real spam (thousand of warnings!!!) # -Wno-attributes: "always_inline function might not be inlinable" <= real spam (thousand of warnings!!!)
# -Wstrict-aliasing: to fix one day aliasing issue # -Wstrict-aliasing: to fix one day aliasing issue
# -Wno-missing-field-initializers: standard allow to init only the begin of struct/array in static init. Just a silly warning. # -Wno-missing-field-initializers: standard allow to init only the begin of struct/array in static init. Just a silly warning.
# -Wno-unused-function: warn for function not used in release build # -Wno-unused-function: warn for function not used in release build
set(DEFAULT_WARNINGS "-Wno-attributes -Wstrict-aliasing -Wno-missing-field-initializers -Wno-unused-function") set(DEFAULT_WARNINGS "-Wno-attributes -Wstrict-aliasing -Wno-missing-field-initializers -Wno-unused-function")
set(HARDEING_OPT "-D_FORTIFY_SOURCE=2 -Wformat -Wformat-security") set(HARDEING_OPT "-D_FORTIFY_SOURCE=2 -Wformat -Wformat-security")
set(DEFAULT_GCC_FLAG "-m32 -msse -msse2 -march=i686 -pthread ${DEFAULT_WARNINGS} ${HARDEING_OPT}") set(DEFAULT_GCC_FLAG "${ARCH_FLAG} -pthread ${DEFAULT_WARNINGS} ${HARDEING_OPT}")
if(CMAKE_BUILD_TYPE MATCHES "Debug|Devel") if(CMAKE_BUILD_TYPE MATCHES "Debug|Devel")
set(DEFAULT_GCC_FLAG "-g ${DEFAULT_GCC_FLAG}") set(DEFAULT_GCC_FLAG "-g ${DEFAULT_GCC_FLAG}")
endif() endif()
# c++ only flags
set(DEFAULT_CPP_FLAG "${DEFAULT_GCC_FLAG} -Wno-invalid-offsetof") set(DEFAULT_CPP_FLAG "${DEFAULT_GCC_FLAG} -Wno-invalid-offsetof")
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
@ -109,18 +197,19 @@ set(DEFAULT_CPP_FLAG "${DEFAULT_GCC_FLAG} -Wno-invalid-offsetof")
# Note: string STRIP must be used to remove trailing and leading spaces. # Note: string STRIP must be used to remove trailing and leading spaces.
# See policy CMP0004 # See policy CMP0004
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# TODO: once we completely clean all flags management, this mess could be cleaned ;)
### linker flags ### linker flags
if(DEFINED USER_CMAKE_LD_FLAGS) if(DEFINED USER_CMAKE_LD_FLAGS)
message(STATUS "Pcsx2 is very sensible with gcc flags, so use USER_CMAKE_LD_FLAGS at your own risk !!!") message(STATUS "Pcsx2 is very sensible with gcc flags, so use USER_CMAKE_LD_FLAGS at your own risk !!!")
string(STRIP "${USER_CMAKE_LD_FLAGS}" USER_CMAKE_LD_FLAGS) string(STRIP "${USER_CMAKE_LD_FLAGS}" USER_CMAKE_LD_FLAGS)
else(DEFINED USER_CMAKE_LD_FLAGS) else()
set(USER_CMAKE_LD_FLAGS "") set(USER_CMAKE_LD_FLAGS "")
endif(DEFINED USER_CMAKE_LD_FLAGS) endif()
# ask the linker to strip the binary # ask the linker to strip the binary
if(CMAKE_BUILD_STRIP) if(CMAKE_BUILD_STRIP)
string(STRIP "${USER_CMAKE_LD_FLAGS} -s" USER_CMAKE_LD_FLAGS) string(STRIP "${USER_CMAKE_LD_FLAGS} -s" USER_CMAKE_LD_FLAGS)
endif(CMAKE_BUILD_STRIP) endif()
### c flags ### c flags
@ -129,7 +218,7 @@ endif(CMAKE_BUILD_STRIP)
if(DEFINED USER_CMAKE_C_FLAGS) if(DEFINED USER_CMAKE_C_FLAGS)
message(STATUS "Pcsx2 is very sensible with gcc flags, so use USER_CMAKE_C_FLAGS at your own risk !!!") message(STATUS "Pcsx2 is very sensible with gcc flags, so use USER_CMAKE_C_FLAGS at your own risk !!!")
string(STRIP "${USER_CMAKE_C_FLAGS}" CMAKE_C_FLAGS) string(STRIP "${USER_CMAKE_C_FLAGS}" CMAKE_C_FLAGS)
endif(DEFINED USER_CMAKE_C_FLAGS) endif()
# Use some default machine flags # Use some default machine flags
string(STRIP "${CMAKE_C_FLAGS} ${DEFAULT_GCC_FLAG}" CMAKE_C_FLAGS) string(STRIP "${CMAKE_C_FLAGS} ${DEFAULT_GCC_FLAG}" CMAKE_C_FLAGS)
@ -140,86 +229,6 @@ string(STRIP "${CMAKE_C_FLAGS} ${DEFAULT_GCC_FLAG}" CMAKE_C_FLAGS)
if(DEFINED USER_CMAKE_CXX_FLAGS) if(DEFINED USER_CMAKE_CXX_FLAGS)
message(STATUS "Pcsx2 is very sensible with gcc flags, so use USER_CMAKE_CXX_FLAGS at your own risk !!!") message(STATUS "Pcsx2 is very sensible with gcc flags, so use USER_CMAKE_CXX_FLAGS at your own risk !!!")
string(STRIP "${USER_CMAKE_CXX_FLAGS}" CMAKE_CXX_FLAGS) string(STRIP "${USER_CMAKE_CXX_FLAGS}" CMAKE_CXX_FLAGS)
endif(DEFINED USER_CMAKE_CXX_FLAGS) endif()
# Use some default machine flags # Use some default machine flags
string(STRIP "${CMAKE_CXX_FLAGS} ${DEFAULT_CPP_FLAG}" CMAKE_CXX_FLAGS) string(STRIP "${CMAKE_CXX_FLAGS} ${DEFAULT_CPP_FLAG}" CMAKE_CXX_FLAGS)
#-------------------------------------------------------------------------------
# Default package option
#-------------------------------------------------------------------------------
if(NOT DEFINED PACKAGE_MODE)
set(PACKAGE_MODE FALSE)
endif(NOT DEFINED PACKAGE_MODE)
if(PACKAGE_MODE)
if(NOT DEFINED PLUGIN_DIR)
set(PLUGIN_DIR "${CMAKE_INSTALL_PREFIX}/lib/games/pcsx2")
endif(NOT DEFINED PLUGIN_DIR)
if(NOT DEFINED GAMEINDEX_DIR)
set(GAMEINDEX_DIR "${CMAKE_INSTALL_PREFIX}/share/games/pcsx2")
endif(NOT DEFINED GAMEINDEX_DIR)
# Compile all source codes with these 3 defines
add_definitions(-DPLUGIN_DIR_COMPILATION=${PLUGIN_DIR} -DGAMEINDEX_DIR_COMPILATION=${GAMEINDEX_DIR})
endif(PACKAGE_MODE)
#-------------------------------------------------------------------------------
# Select nvidia cg shader api by default (zzogl only)
#-------------------------------------------------------------------------------
if(NOT DEFINED GLSL_API)
set(GLSL_API FALSE)
endif(NOT DEFINED GLSL_API)
#-------------------------------------------------------------------------------
# Select GLX API by default (zzogl only)
#-------------------------------------------------------------------------------
if(NOT DEFINED EGL_API)
set(EGL_API FALSE)
else()
message(STATUS "EGL is experimental and not expected to work yet!!!")
endif()
#-------------------------------------------------------------------------------
# Select opengl api by default (gsdx)
#-------------------------------------------------------------------------------
if(NOT DEFINED GLES_API)
set(GLES_API FALSE)
endif()
#-------------------------------------------------------------------------------
# Select SDL1 by default (spu2x and onepad)
#-------------------------------------------------------------------------------
# FIXME do a proper detection
set(SDL2_LIBRARY "-lSDL2")
if(NOT DEFINED SDL2_API)
set(SDL2_API FALSE)
endif()
#-------------------------------------------------------------------------------
# Use the precompiled shader file by default (both zzogl&gsdx)
#-------------------------------------------------------------------------------
if(NOT DEFINED REBUILD_SHADER)
set(REBUILD_SHADER FALSE)
endif(NOT DEFINED REBUILD_SHADER)
#-------------------------------------------------------------------------------
# Build the replay loaders by default
#-------------------------------------------------------------------------------
if(NOT DEFINED BUILD_REPLAY_LOADERS)
set(BUILD_REPLAY_LOADERS TRUE)
endif(NOT DEFINED BUILD_REPLAY_LOADERS)
#-------------------------------------------------------------------------------
# Use PCSX2 default path (not XDG)
#-------------------------------------------------------------------------------
if (NOT DEFINED XDG_STD)
set(XDG_STD FALSE)
endif (NOT DEFINED XDG_STD)
#-------------------------------------------------------------------------------
# Use only main plugin (faster compilation time)
#-------------------------------------------------------------------------------
if (NOT DEFINED EXTRA_PLUGINS)
set(EXTRA_PLUGINS FALSE)
endif()

View File

@ -143,7 +143,7 @@ if(wxWidgets_FOUND)
if(Linux) if(Linux)
# Force the use of 32 bit library configuration on # Force the use of 32 bit library configuration on
# 64 bits machine with 32 bits library in /usr/lib32 # 64 bits machine with 32 bits library in /usr/lib32
if(CMAKE_SIZEOF_VOID_P MATCHES "8") if(_ARCH_64 AND !64BIT_BUILD)
## There is no guarantee that wx-config is a link to a 32 bits library. So you need to force the destinity ## There is no guarantee that wx-config is a link to a 32 bits library. So you need to force the destinity
# Library can go into 3 path major paths (+ multiarch but you will see that later when implementation is done) # Library can go into 3 path major paths (+ multiarch but you will see that later when implementation is done)
# 1/ /usr/lib32 (32 bits only) # 1/ /usr/lib32 (32 bits only)
@ -181,3 +181,18 @@ endif()
if(ZLIB_FOUND) if(ZLIB_FOUND)
include_directories(${ZLIB_INCLUDE_DIRS}) include_directories(${ZLIB_INCLUDE_DIRS})
endif() endif()
#----------------------------------------
# Use project-wide include directories
#----------------------------------------
include_directories(${CMAKE_SOURCE_DIR}/common/include
${CMAKE_SOURCE_DIR}/common/include/Utilities
${CMAKE_SOURCE_DIR}/common/include/x86emitter
# File generated by Cmake
${CMAKE_BINARY_DIR}/common/include
# WORKAROUND Some issue with multiarch on Debian/Ubuntu
/usr/include/i386-linux-gnu
# WORKAROUND Clang integration issue with multiarch on Debian
#/usr/include/i386-linux-gnu/c++
#/usr/include/i386-linux-gnu/c++/4.8
)

View File

@ -129,32 +129,32 @@ struct IConsoleWriter
// //
struct NullConsoleWriter struct NullConsoleWriter
{ {
void WriteRaw( const wxString& fmt ) {} void WriteRaw( const wxString& ) {}
void DoWriteLn( const wxString& fmt ) {} void DoWriteLn( const wxString& ) {}
void DoSetColor( ConsoleColors color ) {} void DoSetColor( ConsoleColors ) {}
void DoWriteFromStdout( const wxString& fmt ) {} void DoWriteFromStdout( const wxString& ) {}
void Newline() {} void Newline() {}
void SetTitle( const wxString& title ) {} void SetTitle( const wxString& ) {}
ConsoleColors GetColor() const { return Color_Current; } ConsoleColors GetColor() const { return Color_Current; }
const NullConsoleWriter& SetColor( ConsoleColors color ) const { return *this; } const NullConsoleWriter& SetColor( ConsoleColors ) const { return *this; }
const NullConsoleWriter& ClearColor() const { return *this; } const NullConsoleWriter& ClearColor() const { return *this; }
const NullConsoleWriter& SetIndent( int tabcount=1 ) const { return *this; } const NullConsoleWriter& SetIndent( int =1 ) const { return *this; }
NullConsoleWriter Indent( int tabcount=1 ) const { return NullConsoleWriter(); } NullConsoleWriter Indent( int =1 ) const { return NullConsoleWriter(); }
bool FormatV( const char* fmt, va_list args ) const { return false; } bool FormatV( const char* , va_list ) const { return false; }
bool WriteLn( ConsoleColors color, const char* fmt, ... ) const { return false; } bool WriteLn( ConsoleColors , const char* , ... ) const { return false; }
bool WriteLn( const char* fmt, ... ) const { return false; } bool WriteLn( const char* , ... ) const { return false; }
bool Error( const char* fmt, ... ) const { return false; } bool Error( const char* , ... ) const { return false; }
bool Warning( const char* fmt, ... ) const { return false; } bool Warning( const char* , ... ) const { return false; }
bool FormatV( const wxChar* fmt, va_list args ) const { return false; } bool FormatV( const wxChar* , va_list ) const { return false; }
bool WriteLn( ConsoleColors color, const wxChar* fmt, ... ) const { return false; } bool WriteLn( ConsoleColors , const wxChar* , ... ) const { return false; }
bool WriteLn( const wxChar* fmt, ... ) const { return false; } bool WriteLn( const wxChar* , ... ) const { return false; }
bool Error( const wxChar* fmt, ... ) const { return false; } bool Error( const wxChar* , ... ) const { return false; }
bool Warning( const wxChar* fmt, ... ) const { return false; } bool Warning( const wxChar* , ... ) const { return false; }
}; };
// -------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------

View File

@ -52,12 +52,12 @@ public:
OnPageFaultEvent( evtinfo, handled ); OnPageFaultEvent( evtinfo, handled );
} }
virtual void DispatchEvent( const PageFaultInfo& evtinfo ) virtual void DispatchEvent( const PageFaultInfo& )
{ {
pxFailRel( "Don't call me, damnit. Use DispatchException instead." ); pxFailRel( "Don't call me, damnit. Use DispatchException instead." );
} }
virtual void OnPageFaultEvent( const PageFaultInfo& evtinfo, bool& handled ) {} virtual void OnPageFaultEvent( const PageFaultInfo& , bool& ) {}
}; };
// -------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------

View File

@ -44,7 +44,7 @@ namespace Threading
void SetThread( pxThread& thr ) { m_thread = &thr; } void SetThread( pxThread& thr ) { m_thread = &thr; }
void SetThread( pxThread* thr ) { m_thread = thr; } void SetThread( pxThread* thr ) { m_thread = thr; }
void DispatchEvent( const int& params ) void DispatchEvent( const int& )
{ {
OnThreadCleanup(); OnThreadCleanup();
} }

View File

@ -92,8 +92,8 @@ public:
// Gets a pointer to the element directly after the last element in the array. // Gets a pointer to the element directly after the last element in the array.
// This is equivalent to doing GetPtr(GetLength()), except that this call *avoids* // This is equivalent to doing GetPtr(GetLength()), except that this call *avoids*
// the out-of-bounds assertion check that typically occurs when you do that. :) // the out-of-bounds assertion check that typically occurs when you do that. :)
T* GetPtrEnd( uint idx=0 ) { return &m_ptr[m_size]; } T* GetPtrEnd() { return &m_ptr[m_size]; }
const T* GetPtrEnd( uint idx=0 ) const { return &m_ptr[m_size]; } const T* GetPtrEnd() const { return &m_ptr[m_size]; }
// Gets an element of this memory allocation much as if it were an array. // Gets an element of this memory allocation much as if it were an array.
// DevBuilds : Generates assertion if the index is invalid. // DevBuilds : Generates assertion if the index is invalid.

View File

@ -143,7 +143,7 @@ public:
return false; return false;
} }
virtual void ApplyPrefix( FastFormatAscii& ascii ) const {} virtual void ApplyPrefix( FastFormatAscii& ) const {}
virtual void DoWrite( const char* fmt ) const=0; virtual void DoWrite( const char* fmt ) const=0;
}; };

View File

@ -91,7 +91,7 @@ struct pxAlignmentType
return Apply().Border( dir, padding ); return Apply().Border( dir, padding );
} }
wxSizerFlags Proportion( int prop ) const wxSizerFlags Proportion() const
{ {
return Apply().Proportion( intval ); return Apply().Proportion( intval );
} }
@ -127,7 +127,7 @@ struct pxStretchType
return Apply().Border( dir, padding ); return Apply().Border( dir, padding );
} }
wxSizerFlags Proportion( int prop ) const wxSizerFlags Proportion() const
{ {
return Apply().Proportion( intval ); return Apply().Proportion( intval );
} }
@ -438,7 +438,7 @@ public:
// NOTE: Enabling system menu on dialogs usually doesn't work, and might cause // NOTE: Enabling system menu on dialogs usually doesn't work, and might cause
// other unwanted behavior, such as a missing close button. // other unwanted behavior, such as a missing close button.
pxDialogCreationFlags SystemMenu( bool enable=true ) const pxDialogCreationFlags SystemMenu( bool =true ) const
{ {
return pxDialogCreationFlags(*this).SetSystemMenu( false ); return pxDialogCreationFlags(*this).SetSystemMenu( false );
} }
@ -648,7 +648,7 @@ public:
protected: protected:
// line may be empty // line may be empty
virtual void OnOutputLine(const wxString& line) { } virtual void OnOutputLine(const wxString&) { }
// called at the start of every new line (except the very first one) // called at the start of every new line (except the very first one)
virtual void OnNewLine() { } virtual void OnNewLine() { }

View File

@ -366,13 +366,15 @@ template< typename T > void xWrite( T val );
xRegisterSSE& operator++() xRegisterSSE& operator++()
{ {
++Id &= (iREGCNT_XMM-1); ++Id;
Id &= (iREGCNT_XMM - 1);
return *this; return *this;
} }
xRegisterSSE& operator--() xRegisterSSE& operator--()
{ {
--Id &= (iREGCNT_XMM-1); --Id;
Id &= (iREGCNT_XMM - 1);
return *this; return *this;
} }

View File

@ -1,11 +1,11 @@
# Copyright (C) 2013 PCSX2 Team # Copyright (C) 2014 PCSX2 Team
# This file is distributed under the same license as the PCSX2 package. # This file is distributed under the same license as the PCSX2 package.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PCSX2 1.2.0\n" "Project-Id-Version: PCSX2 1.3.0\n"
"Report-Msgid-Bugs-To: https://github.com/PCSX2/pcsx2/issues\n" "Report-Msgid-Bugs-To: https://github.com/PCSX2/pcsx2/issues\n"
"POT-Creation-Date: 2014-04-06 11:47+0200\n" "POT-Creation-Date: 2014-06-23 21:24+0100\n"
"PO-Revision-Date: 2013-12-31 16:22+0100\n" "PO-Revision-Date: 2014-06-27 09:57+0100\n"
"Last-Translator: Leucos\n" "Last-Translator: Leucos\n"
"Language-Team: Leucos <http://forums.pcsx2.net/User-Leucos>\n" "Language-Team: Leucos <http://forums.pcsx2.net/User-Leucos>\n"
"Language: it_IT\n" "Language: it_IT\n"
@ -14,8 +14,8 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: pxE;pxEt\n" "X-Poedit-KeywordsList: pxE;pxEt\n"
"X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-Basepath: ..\\..\\..\\PCSX2 Checkout\n" "X-Poedit-Basepath: ..\\..\n"
"X-Generator: Poedit 1.5.5\n" "X-Generator: Poedit 1.6.5\n"
"X-Poedit-SearchPath-0: pcsx2\n" "X-Poedit-SearchPath-0: pcsx2\n"
"X-Poedit-SearchPath-1: common\n" "X-Poedit-SearchPath-1: common\n"
@ -444,7 +444,7 @@ msgstr ""
"automaticamente \n" "automaticamente \n"
"quando si preme ESC o si mette in pausa l'emulazione." "quando si preme ESC o si mette in pausa l'emulazione."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:67 #: pcsx2/gui/Panels/GameFixesPanel.cpp:69
msgid "" msgid ""
"Known to affect following games:\n" "Known to affect following games:\n"
" * Digital Devil Saga (Fixes FMV and crashes)\n" " * Digital Devil Saga (Fixes FMV and crashes)\n"
@ -456,7 +456,7 @@ msgstr ""
" * SSX (corregge errori nella grafica e crash)\n" " * SSX (corregge errori nella grafica e crash)\n"
" * Resident Evil: Dead Aim (causa texture alterate)" " * Resident Evil: Dead Aim (causa texture alterate)"
#: pcsx2/gui/Panels/GameFixesPanel.cpp:76 #: pcsx2/gui/Panels/GameFixesPanel.cpp:78
msgid "" msgid ""
"Known to affect following games:\n" "Known to affect following games:\n"
" * Bleach Blade Battler\n" " * Bleach Blade Battler\n"
@ -468,7 +468,7 @@ msgstr ""
" * Growlanser II e III\n" " * Growlanser II e III\n"
" * Wizardry" " * Wizardry"
#: pcsx2/gui/Panels/GameFixesPanel.cpp:81 #: pcsx2/gui/Panels/GameFixesPanel.cpp:83
msgid "" msgid ""
"Known to affect following games:\n" "Known to affect following games:\n"
" * Mana Khemia 1 (Going \"off campus\")\n" " * Mana Khemia 1 (Going \"off campus\")\n"
@ -476,7 +476,7 @@ msgstr ""
"Ha effetto in questi giochi:\n" "Ha effetto in questi giochi:\n"
" * Mana Khemia 1 (Going \"off campus\")\n" " * Mana Khemia 1 (Going \"off campus\")\n"
#: pcsx2/gui/Panels/GameFixesPanel.cpp:86 #: pcsx2/gui/Panels/GameFixesPanel.cpp:88
msgid "" msgid ""
"Known to affect following games:\n" "Known to affect following games:\n"
" * Test Drive Unlimited\n" " * Test Drive Unlimited\n"
@ -486,23 +486,29 @@ msgstr ""
" * Test Drive Unlimited\n" " * Test Drive Unlimited\n"
" * Transformers" " * Transformers"
#: pcsx2/gui/Panels/GameFixesPanel.cpp:110 #: pcsx2/gui/Panels/GameFixesPanel.cpp:116
msgid ""
"It's better to enable 'Automatic game fixes' at the main menu instead, and "
"leave this page empty. ('Automatic' means: selectively use specific tested "
"fixes for specific games)"
msgstr ""
"È preferibile attivare l'opzione 'GameFix automatici' nel menu principale, e "
"lasciare quindi le opzioni di questa pagina non selezionate.\n"
"('automatici' significa un'attivazione selettiva di GameFix specifici e "
"testati per specifici giochi)"
#: pcsx2/gui/Panels/GameFixesPanel.cpp:120
msgid "" msgid ""
"Gamefixes can work around wrong emulation in some titles. \n" "Gamefixes can work around wrong emulation in some titles. \n"
"They may also cause compatibility or performance issues. \n" "They may also cause compatibility or performance issues.\n"
"\n" "\n"
"It's better to enable 'Automatic game fixes' at the main menu instead, and " "The safest way to make sure that all game fixes are completely disabled."
"leave this page empty. \n"
"('Automatic' means: selectively use specific tested fixes for specific games)"
msgstr "" msgstr ""
"I GameFix possono correggere i problemi di emulazione in alcuni giochi.\n" "I GameFix possono aggirare problemi nell'emulazione di alcuni titoli.\n"
"Possono tuttavia causare problemi di compatibilità e di prestazioni in altri " "Possono tuttavia causare problemi di compatibilità o prestazioni.\n"
"giochi.\n"
"\n" "\n"
"È consigliato attivare l'opzione 'GameFix automatici' nel menu 'Sistema', " "Il modo più sicuro per accertarsi che tutti i GameFix siano completamente "
"lasciando quindi le opzioni di questo pannello non selezionate.\n" "disabilitati."
"('automatici' significa: uso selettivo di GameFix specifici per specifici "
"giochi)"
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:735 #: pcsx2/gui/Panels/MemoryCardListPanel.cpp:735
#, c-format #, c-format
@ -801,7 +807,7 @@ msgstr ""
"disattivata (la schermata visualizzata sarà in pratica spazzatura " "disattivata (la schermata visualizzata sarà in pratica spazzatura "
"poligonale)." "poligonale)."
#: pcsx2/vtlb.cpp:731 #: pcsx2/vtlb.cpp:800
msgid "" msgid ""
"Your system is too low on virtual resources for PCSX2 to run. This can be " "Your system is too low on virtual resources for PCSX2 to run. This can be "
"caused by having a small or disabled swapfile, or by other programs that are " "caused by having a small or disabled swapfile, or by other programs that are "

View File

@ -1,11 +1,11 @@
# Copyright (C) 2013 PCSX2 Team # Copyright (C) 2014 PCSX2 Team
# This file is distributed under the same license as the PCSX2 package. # This file is distributed under the same license as the PCSX2 package.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PCSX2 1.2.0\n" "Project-Id-Version: PCSX2 1.3.0\n"
"Report-Msgid-Bugs-To: https://github.com/PCSX2/pcsx2/issues\n" "Report-Msgid-Bugs-To: https://github.com/PCSX2/pcsx2/issues\n"
"POT-Creation-Date: 2014-04-06 11:47+0200\n" "POT-Creation-Date: 2014-06-23 21:22+0100\n"
"PO-Revision-Date: 2013-12-31 16:21+0100\n" "PO-Revision-Date: 2014-06-23 21:23+0100\n"
"Last-Translator: Leucos\n" "Last-Translator: Leucos\n"
"Language-Team: Leucos <http://forums.pcsx2.net/User-Leucos>\n" "Language-Team: Leucos <http://forums.pcsx2.net/User-Leucos>\n"
"Language: it_IT\n" "Language: it_IT\n"
@ -14,24 +14,11 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: _;pxL;_d;pxDt;_t;pxLt\n" "X-Poedit-KeywordsList: _;pxL;_d;pxDt;_t;pxLt\n"
"X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-Basepath: ..\\..\\..\\PCSX2 Checkout\n" "X-Poedit-Basepath: ..\\..\n"
"X-Generator: Poedit 1.5.5\n" "X-Generator: Poedit 1.6.5\n"
"X-Poedit-SearchPath-0: pcsx2\n" "X-Poedit-SearchPath-0: pcsx2\n"
"X-Poedit-SearchPath-1: common\n" "X-Poedit-SearchPath-1: common\n"
#: common/include/Utilities/Exceptions.h:187
msgid "No reason given."
msgstr "Nessuna spiegazione fornita."
#: common/include/Utilities/Exceptions.h:226
msgid "Parse error"
msgstr "Errore d'interpretazione"
#: common/include/Utilities/Exceptions.h:250
msgid "Your machine's hardware is incapable of running PCSX2. Sorry dood."
msgstr ""
"L'hardware del tuo sistema non è in grado di eseguire PCSX2. Ci dispiace."
#: common/src/Utilities/Exceptions.cpp:219 #: common/src/Utilities/Exceptions.cpp:219
msgid "Oh noes! Out of memory!" msgid "Oh noes! Out of memory!"
msgstr "O no! Memoria esaurita!" msgstr "O no! Memoria esaurita!"
@ -97,7 +84,7 @@ msgstr ""
"Include la processazione degli eventi d'inattività ed alcuni altri utilizzi " "Include la processazione degli eventi d'inattività ed alcuni altri utilizzi "
"non comuni di eventi." "non comuni di eventi."
#: pcsx2/CDVD/InputIsoFile.cpp:231 #: pcsx2/CDVD/InputIsoFile.cpp:235
msgid "Unrecognized ISO image file format" msgid "Unrecognized ISO image file format"
msgstr "Formato file immagine ISO non riconosciuto" msgstr "Formato file immagine ISO non riconosciuto"
@ -116,7 +103,7 @@ msgstr ""
"causato da un tipo di immagine ISO non supportato o da un bug nel supporto " "causato da un tipo di immagine ISO non supportato o da un bug nel supporto "
"immagini ISO di PCSX2." "immagini ISO di PCSX2."
#: pcsx2/MTGS.cpp:867 #: pcsx2/MTGS.cpp:871
msgid "" msgid ""
"The MTGS thread has become unresponsive while waiting for the GS plugin to " "The MTGS thread has become unresponsive while waiting for the GS plugin to "
"open." "open."
@ -124,14 +111,14 @@ msgstr ""
"Durante l'attesa per l'apertura del plugin GS il thread MTGS ha smesso di " "Durante l'attesa per l'apertura del plugin GS il thread MTGS ha smesso di "
"rispondere." "rispondere."
#: pcsx2/PluginManager.cpp:712 #: pcsx2/PluginManager.cpp:716
msgid "" msgid ""
"The savestate cannot be loaded, as it appears to be corrupt or incomplete." "The savestate cannot be loaded, as it appears to be corrupt or incomplete."
msgstr "" msgstr ""
"Il salvataggio di stato non può essere caricato, in quanto pare essere " "Il salvataggio di stato non può essere caricato, in quanto pare essere "
"corrotto o incompleto." "corrotto o incompleto."
#: pcsx2/PluginManager.cpp:722 #: pcsx2/PluginManager.cpp:726
#, c-format #, c-format
msgid "" msgid ""
"%s plugin failed to open. Your computer may have insufficient resources, or " "%s plugin failed to open. Your computer may have insufficient resources, or "
@ -140,7 +127,7 @@ msgstr ""
"Non è stato possibile avviare il plugin %s. Il computer potrebbe non " "Non è stato possibile avviare il plugin %s. Il computer potrebbe non "
"possedere risorse sufficienti o avere driver/hardware incompatibili." "possedere risorse sufficienti o avere driver/hardware incompatibili."
#: pcsx2/PluginManager.cpp:729 #: pcsx2/PluginManager.cpp:733
#, c-format #, c-format
msgid "" msgid ""
"%s plugin failed to initialize. Your system may have insufficient memory or " "%s plugin failed to initialize. Your system may have insufficient memory or "
@ -149,18 +136,18 @@ msgstr ""
"Non è stato possibile inizializzare il plugin %s. Il sistema potrebbe non " "Non è stato possibile inizializzare il plugin %s. Il sistema potrebbe non "
"disporre della memoria sufficiente o delle risorse richieste." "disporre della memoria sufficiente o delle risorse richieste."
#: pcsx2/PluginManager.cpp:835 #: pcsx2/PluginManager.cpp:839
#, c-format #, c-format
msgid "The configured %s plugin file was not found" msgid "The configured %s plugin file was not found"
msgstr "Non è stato possibile trovare il file del plugin %s configurato" msgstr "Non è stato possibile trovare il file del plugin %s configurato"
#: pcsx2/PluginManager.cpp:839 #: pcsx2/PluginManager.cpp:843
#, c-format #, c-format
msgid "The configured %s plugin file is not a valid dynamic library" msgid "The configured %s plugin file is not a valid dynamic library"
msgstr "" msgstr ""
"Il plugin %s configurato non è una libreria di collegamento dinamico valida" "Il plugin %s configurato non è una libreria di collegamento dinamico valida"
#: pcsx2/PluginManager.cpp:857 #: pcsx2/PluginManager.cpp:861
#, c-format #, c-format
msgid "" msgid ""
"The configured %s plugin is not a PCSX2 plugin, or is for an older " "The configured %s plugin is not a PCSX2 plugin, or is for an older "
@ -169,13 +156,13 @@ msgstr ""
"Il plugin %s configurato non è un plugin di PCSX2 o è realizzato per una " "Il plugin %s configurato non è un plugin di PCSX2 o è realizzato per una "
"versione precedente di PCSX2 e non più supportata." "versione precedente di PCSX2 e non più supportata."
#: pcsx2/PluginManager.cpp:882 #: pcsx2/PluginManager.cpp:886
msgid "" msgid ""
"The plugin reports that your hardware or software/drivers are not supported." "The plugin reports that your hardware or software/drivers are not supported."
msgstr "" msgstr ""
"Il plugin riporta che l'hardware, il software o i driver non sono supportati." "Il plugin riporta che l'hardware, il software o i driver non sono supportati."
#: pcsx2/PluginManager.cpp:903 #: pcsx2/PluginManager.cpp:907
msgid "" msgid ""
"Configured plugin is not a PCSX2 plugin, or is for an older unsupported " "Configured plugin is not a PCSX2 plugin, or is for an older unsupported "
"version of PCSX2." "version of PCSX2."
@ -183,7 +170,7 @@ msgstr ""
"Il plugin configurato non è un plugin di PCSX2 o è realizzato per una " "Il plugin configurato non è un plugin di PCSX2 o è realizzato per una "
"versione di PCSX2 precedente e non più supportata." "versione di PCSX2 precedente e non più supportata."
#: pcsx2/PluginManager.cpp:929 #: pcsx2/PluginManager.cpp:933
#, c-format #, c-format
msgid "" msgid ""
"Configured %s plugin is not a valid PCSX2 plugin, or is for an older " "Configured %s plugin is not a valid PCSX2 plugin, or is for an older "
@ -192,15 +179,15 @@ msgstr ""
"Il plugin %s configurato non è un plugin di PCSX2 valido o è realizzato per " "Il plugin %s configurato non è un plugin di PCSX2 valido o è realizzato per "
"una versione di PCSX2 precedente e non più supportata." "una versione di PCSX2 precedente e non più supportata."
#: pcsx2/PluginManager.cpp:1358 #: pcsx2/PluginManager.cpp:1362
msgid "Internal Memorycard Plugin failed to initialize." msgid "Internal Memorycard Plugin failed to initialize."
msgstr "Non è stato possibile inizializzare il plugin interno Memory Card." msgstr "Non è stato possibile inizializzare il plugin interno Memory Card."
#: pcsx2/PluginManager.cpp:1755 #: pcsx2/PluginManager.cpp:1759
msgid "Unloaded Plugin" msgid "Unloaded Plugin"
msgstr "Plugin Scaricato" msgstr "Plugin Scaricato"
#: pcsx2/SaveState.cpp:342 #: pcsx2/SaveState.cpp:343
msgid "Cannot load savestate. It is of an unknown or unsupported version." msgid "Cannot load savestate. It is of an unknown or unsupported version."
msgstr "" msgstr ""
"Impossibile caricare il salvataggio di stato. La sua versione è sconosciuta " "Impossibile caricare il salvataggio di stato. La sua versione è sconosciuta "
@ -367,10 +354,6 @@ msgstr ""
msgid "Detailed logging of CDVD hardware." msgid "Detailed logging of CDVD hardware."
msgstr "Log dettagliato dell'hardware CDVD." msgstr "Log dettagliato dell'hardware CDVD."
#: pcsx2/System.h:221 pcsx2/System.h:222 pcsx2/System.h:223
msgid "PCSX2 Message"
msgstr "PCSX2 - Messaggio"
#: pcsx2/ZipTools/thread_gzip.cpp:82 #: pcsx2/ZipTools/thread_gzip.cpp:82
msgid "" msgid ""
"The savestate was not properly saved. The temporary file was created " "The savestate was not properly saved. The temporary file was created "
@ -529,15 +512,15 @@ msgstr ""
"Premi OK per usare il plugin configurato predefinito, o Annulla per chiudere " "Premi OK per usare il plugin configurato predefinito, o Annulla per chiudere "
"%s." "%s."
#: pcsx2/gui/AppInit.cpp:509
msgid "PCSX2 Error: Hardware Deficiency"
msgstr "Errore di PCSX2: Hardware non compatibile"
#: pcsx2/gui/AppInit.cpp:509 pcsx2/gui/AppInit.cpp:521 #: pcsx2/gui/AppInit.cpp:509 pcsx2/gui/AppInit.cpp:521
#, c-format #, c-format
msgid "Press OK to close %s." msgid "Press OK to close %s."
msgstr "Premi OK per chiudere %s." msgstr "Premi OK per chiudere %s."
#: pcsx2/gui/AppInit.cpp:509
msgid "PCSX2 Error: Hardware Deficiency"
msgstr "Errore di PCSX2: Hardware non compatibile"
#: pcsx2/gui/AppInit.cpp:522 #: pcsx2/gui/AppInit.cpp:522
#, c-format #, c-format
msgid "%s Critical Error" msgid "%s Critical Error"
@ -653,14 +636,14 @@ msgstr "Termina"
msgid "Executing PS2 Virtual Machine..." msgid "Executing PS2 Virtual Machine..."
msgstr "Avvio esecuzione Macchina virtuale PS2..." msgstr "Avvio esecuzione Macchina virtuale PS2..."
#: pcsx2/gui/AppRes.cpp:72
msgid "Browse for an Iso that is not in your recent history."
msgstr "Sfoglia le cartelle per una ISO non presente tra quelle recenti."
#: pcsx2/gui/AppRes.cpp:72 #: pcsx2/gui/AppRes.cpp:72
msgid "Browse..." msgid "Browse..."
msgstr "Sfoglia..." msgstr "Sfoglia..."
#: pcsx2/gui/AppRes.cpp:72
msgid "Browse for an Iso that is not in your recent history."
msgstr "Sfoglia le cartelle per una ISO non presente tra quelle recenti."
#: pcsx2/gui/AppUserMode.cpp:95 #: pcsx2/gui/AppUserMode.cpp:95
msgid "The following folders exist, but are not writable:" msgid "The following folders exist, but are not writable:"
msgstr "" msgstr ""
@ -700,40 +683,34 @@ msgstr ""
"Prova ad eliminare manualmente il file chiamato \"portable.ini\" dalla tua " "Prova ad eliminare manualmente il file chiamato \"portable.ini\" dalla tua "
"cartella d'installazione." "cartella d'installazione."
#: pcsx2/gui/ApplyState.h:55
msgid "Cannot apply new settings, one of the settings is invalid."
msgstr ""
"Impossibile applicare le nuove impostazioni, una delle impostazioni non è "
"valida."
#: pcsx2/gui/ConsoleLogger.cpp:120 #: pcsx2/gui/ConsoleLogger.cpp:120
msgid "Save log question" msgid "Save log question"
msgstr "Conferma salvataggio log" msgstr "Conferma salvataggio log"
#: pcsx2/gui/ConsoleLogger.cpp:417
msgid "Fits a lot of log in a microcosmically small area."
msgstr "Infila un mucchio di log in un'area microcosmicamente piccola."
#: pcsx2/gui/ConsoleLogger.cpp:417 #: pcsx2/gui/ConsoleLogger.cpp:417
msgid "Small" msgid "Small"
msgstr "Piccolo" msgstr "Piccolo"
#: pcsx2/gui/ConsoleLogger.cpp:419 #: pcsx2/gui/ConsoleLogger.cpp:417
msgid "It's what I use (the programmer guy)." msgid "Fits a lot of log in a microcosmically small area."
msgstr "È quello che uso io (il programmatore)." msgstr "Infila un mucchio di log in un'area microcosmicamente piccola."
#: pcsx2/gui/ConsoleLogger.cpp:419 pcsx2/gui/Panels/CpuPanel.cpp:38 #: pcsx2/gui/ConsoleLogger.cpp:419 pcsx2/gui/Panels/CpuPanel.cpp:38
msgid "Normal" msgid "Normal"
msgstr "Normale" msgstr "Normale"
#: pcsx2/gui/ConsoleLogger.cpp:421 #: pcsx2/gui/ConsoleLogger.cpp:419
msgid "Its nice and readable." msgid "It's what I use (the programmer guy)."
msgstr "È bello e leggibile." msgstr "È quello che uso io (il programmatore)."
#: pcsx2/gui/ConsoleLogger.cpp:421 #: pcsx2/gui/ConsoleLogger.cpp:421
msgid "Large" msgid "Large"
msgstr "Grande" msgstr "Grande"
#: pcsx2/gui/ConsoleLogger.cpp:421
msgid "Its nice and readable."
msgstr "È bello e leggibile."
#: pcsx2/gui/ConsoleLogger.cpp:423 #: pcsx2/gui/ConsoleLogger.cpp:423
msgid "Huge" msgid "Huge"
msgstr "Enorme" msgstr "Enorme"
@ -742,13 +719,17 @@ msgstr "Enorme"
msgid "In case you have a really high res display." msgid "In case you have a really high res display."
msgstr "Nel caso tu possieda uno schermo veramente ad alta risoluzione." msgstr "Nel caso tu possieda uno schermo veramente ad alta risoluzione."
#: pcsx2/gui/ConsoleLogger.cpp:427
msgid "Light theme"
msgstr "Tema chiaro"
#: pcsx2/gui/ConsoleLogger.cpp:427 #: pcsx2/gui/ConsoleLogger.cpp:427
msgid "Default soft-tone color scheme." msgid "Default soft-tone color scheme."
msgstr "Schema predefinito a colori tenui." msgstr "Schema predefinito a colori tenui."
#: pcsx2/gui/ConsoleLogger.cpp:427 #: pcsx2/gui/ConsoleLogger.cpp:428
msgid "Light theme" msgid "Dark theme"
msgstr "Tema chiaro" msgstr "Tema scuro"
#: pcsx2/gui/ConsoleLogger.cpp:428 #: pcsx2/gui/ConsoleLogger.cpp:428
msgid "" msgid ""
@ -758,10 +739,6 @@ msgstr ""
"Schema classico a colore nero, per la gente che si diverte ad avere il testo " "Schema classico a colore nero, per la gente che si diverte ad avere il testo "
"marchiato a fuoco nei propri nervi ottici." "marchiato a fuoco nei propri nervi ottici."
#: pcsx2/gui/ConsoleLogger.cpp:428
msgid "Dark theme"
msgstr "Tema scuro"
#: pcsx2/gui/ConsoleLogger.cpp:431 #: pcsx2/gui/ConsoleLogger.cpp:431
msgid "Always on Top" msgid "Always on Top"
msgstr "Sempre in primo piano" msgstr "Sempre in primo piano"
@ -841,23 +818,23 @@ msgstr "&Log"
msgid "&Sources" msgid "&Sources"
msgstr "&Fonti" msgstr "&Fonti"
#: pcsx2/gui/Debugger/DisassemblyDialog.cpp:112 #: pcsx2/gui/Debugger/DisassemblyDialog.cpp:127
msgid "panel" msgid "panel"
msgstr "" msgstr "pannello"
#: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:35 #: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:35
#, c-format #, c-format
msgid "About %s" msgid "About %s"
msgstr "Informazioni su %s" msgstr "Informazioni su %s"
#: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:55
msgid "Betatesting"
msgstr "Betatesting"
#: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:55 #: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:55
msgid "Previous versions" msgid "Previous versions"
msgstr "Versioni precedenti" msgstr "Versioni precedenti"
#: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:55
msgid "Betatesting"
msgstr "Betatesting"
#: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:55 #: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:55
msgid "Webmasters" msgid "Webmasters"
msgstr "Webmaster" msgstr "Webmaster"
@ -887,9 +864,8 @@ msgid "PCSX2 Official Website and Forums"
msgstr "Sito Web e Forum ufficiali di PCSX2" msgstr "Sito Web e Forum ufficiali di PCSX2"
#: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:106 #: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:106
#, fuzzy
msgid "PCSX2 Official Git Repository at GitHub" msgid "PCSX2 Official Git Repository at GitHub"
msgstr "Repository Svn ufficiale di PCSX2 presso GitHub" msgstr "Repository Git ufficiale di PCSX2 presso GitHub"
#: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:110 #: pcsx2/gui/Dialogs/AboutBoxDialog.cpp:110
msgid "I've seen enough" msgid "I've seen enough"
@ -1045,15 +1021,15 @@ msgstr ""
"comporti \n" "comporti \n"
"in modo imprevedibile (anche se non è un'eventualità così probabile)." "in modo imprevedibile (anche se non è un'eventualità così probabile)."
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:47
msgid "Settings"
msgstr "Impostazioni"
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:47 #: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:47
#, c-format #, c-format
msgid "Select a folder for %s settings" msgid "Select a folder for %s settings"
msgstr "Seleziona una cartella per le impostazioni di %s" msgstr "Seleziona una cartella per le impostazioni di %s"
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:47
msgid "Settings"
msgstr "Impostazioni"
#: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:76 #: pcsx2/gui/Dialogs/FirstTimeWizard.cpp:76
msgid "Language selector" msgid "Language selector"
msgstr "Selettore Lingua" msgstr "Selettore Lingua"
@ -1283,7 +1259,7 @@ msgstr ""
"È un errore rilasciare più file su di una finestra di %s. Per favore uno " "È un errore rilasciare più file su di una finestra di %s. Per favore uno "
"alla volta, grazie." "alla volta, grazie."
#: pcsx2/gui/IsoDropTarget.cpp:87 pcsx2/gui/MainMenuClicks.cpp:339 #: pcsx2/gui/IsoDropTarget.cpp:87 pcsx2/gui/MainMenuClicks.cpp:342
msgid "Confirm PS2 Reset" msgid "Confirm PS2 Reset"
msgstr "Conferma reset della PS2" msgstr "Conferma reset della PS2"
@ -1339,14 +1315,14 @@ msgid "&Debug"
msgstr "&Debug" msgstr "&Debug"
#: pcsx2/gui/MainFrame.cpp:360 #: pcsx2/gui/MainFrame.cpp:360
#, fuzzy, c-format #, c-format
msgid "%s %d.%d.%d" msgid "%s %d.%d.%d"
msgstr "%s %d.%d.%d %s" msgstr "%s %d.%d.%d"
#: pcsx2/gui/MainFrame.cpp:365 #: pcsx2/gui/MainFrame.cpp:365
#, fuzzy, c-format #, c-format
msgid "%s %d.%d.%d-%lld%s (git) %s" msgid "%s %d.%d.%d-%lld%s (git) %s"
msgstr "%s %d.%d.%d.%d%s (svn) %s" msgstr "%s %d.%d.%d-%lld%s (git) %s"
#: pcsx2/gui/MainFrame.cpp:402 pcsx2/gui/MainFrame.cpp:404 #: pcsx2/gui/MainFrame.cpp:402 pcsx2/gui/MainFrame.cpp:404
#: pcsx2/gui/MainFrame.cpp:410 #: pcsx2/gui/MainFrame.cpp:410
@ -1379,7 +1355,6 @@ msgid "Enable Cheats"
msgstr "Abilita Cheat" msgstr "Abilita Cheat"
#: pcsx2/gui/MainFrame.cpp:430 #: pcsx2/gui/MainFrame.cpp:430
#, fuzzy
msgid "Enable Widescreen Patches" msgid "Enable Widescreen Patches"
msgstr "Abilita le Patch Widescreen" msgstr "Abilita le Patch Widescreen"
@ -1503,7 +1478,7 @@ msgstr "Informazioni su..."
#: pcsx2/gui/MainFrame.cpp:519 #: pcsx2/gui/MainFrame.cpp:519
msgid "Open Debug Window..." msgid "Open Debug Window..."
msgstr "" msgstr "Apri Finestra di Debug..."
#: pcsx2/gui/MainFrame.cpp:521 #: pcsx2/gui/MainFrame.cpp:521
msgid "Logging..." msgid "Logging..."
@ -1660,27 +1635,32 @@ msgstr "Immagini disco (%s)"
msgid "Blockdumps (%s)" msgid "Blockdumps (%s)"
msgstr "Blockdump (%s)" msgstr "Blockdump (%s)"
#: pcsx2/gui/MainMenuClicks.cpp:267 pcsx2/gui/MainMenuClicks.cpp:288 #: pcsx2/gui/MainMenuClicks.cpp:267
#, c-format
msgid "Compressed (%s)"
msgstr "File compressi (%s)"
#: pcsx2/gui/MainMenuClicks.cpp:270 pcsx2/gui/MainMenuClicks.cpp:291
msgid "All Files (*.*)" msgid "All Files (*.*)"
msgstr "Tutti i file (*.*)" msgstr "Tutti i file (*.*)"
#: pcsx2/gui/MainMenuClicks.cpp:270 #: pcsx2/gui/MainMenuClicks.cpp:273
msgid "Select CDVD source iso..." msgid "Select CDVD source iso..."
msgstr "Seleziona origine ISO del CDVD..." msgstr "Seleziona origine ISO del CDVD..."
#: pcsx2/gui/MainMenuClicks.cpp:287 #: pcsx2/gui/MainMenuClicks.cpp:290
msgid "Select ELF file..." msgid "Select ELF file..."
msgstr "Seleziona un file ELF..." msgstr "Seleziona un file ELF..."
#: pcsx2/gui/MainMenuClicks.cpp:313 #: pcsx2/gui/MainMenuClicks.cpp:316
msgid "ISO file not found!" msgid "ISO file not found!"
msgstr "File ISO non trovato!" msgstr "File ISO non trovato!"
#: pcsx2/gui/MainMenuClicks.cpp:315 #: pcsx2/gui/MainMenuClicks.cpp:318
msgid "An error occurred while trying to open the file:" msgid "An error occurred while trying to open the file:"
msgstr "Un errore si è verificato provando ad aprire il file:" msgstr "Un errore si è verificato provando ad aprire il file:"
#: pcsx2/gui/MainMenuClicks.cpp:316 #: pcsx2/gui/MainMenuClicks.cpp:319
msgid "" msgid ""
"Error: The configured ISO file does not exist. Click OK to select a new ISO " "Error: The configured ISO file does not exist. Click OK to select a new ISO "
"source for CDVD." "source for CDVD."
@ -1688,7 +1668,7 @@ msgstr ""
"Errore: Il file ISO configurato non esiste. Fai clic su OK per selezionare " "Errore: Il file ISO configurato non esiste. Fai clic su OK per selezionare "
"una nuova origine ISO per il CDVD." "una nuova origine ISO per il CDVD."
#: pcsx2/gui/MainMenuClicks.cpp:387 #: pcsx2/gui/MainMenuClicks.cpp:390
msgid "" msgid ""
"You have selected the following ISO image into PCSX2:\n" "You have selected the following ISO image into PCSX2:\n"
"\n" "\n"
@ -1987,11 +1967,11 @@ msgstr "Cerca"
msgid "Gamefixes" msgid "Gamefixes"
msgstr "GameFix" msgstr "GameFix"
#: pcsx2/gui/Panels/GameFixesPanel.cpp:38 #: pcsx2/gui/Panels/GameFixesPanel.cpp:40
msgid "VU Add Hack - Fixes Tri-Ace games boot crash." msgid "VU Add Hack - Fixes Tri-Ace games boot crash."
msgstr "VU Add Hack - Corregge il crash all'avvio dei giochi Tri-Ace." msgstr "VU Add Hack - Corregge il crash all'avvio dei giochi Tri-Ace."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:39 #: pcsx2/gui/Panels/GameFixesPanel.cpp:41
msgid "" msgid ""
"Games that need this hack to boot:\n" "Games that need this hack to boot:\n"
" * Star Ocean 3\n" " * Star Ocean 3\n"
@ -2003,84 +1983,84 @@ msgstr ""
" * Radiata Stories\n" " * Radiata Stories\n"
" * Valkyrie Profile 2" " * Valkyrie Profile 2"
#: pcsx2/gui/Panels/GameFixesPanel.cpp:42 #: pcsx2/gui/Panels/GameFixesPanel.cpp:44
msgid "VU Clip Flag Hack - For Persona games (SuperVU recompiler only!)" msgid "VU Clip Flag Hack - For Persona games (SuperVU recompiler only!)"
msgstr "" msgstr ""
"VU Clip Flag Hack - Per i giochi della serie Persona (solo per il " "VU Clip Flag Hack - Per i giochi della serie Persona (solo per il "
"ricompilatore superVU!)" "ricompilatore superVU!)"
#: pcsx2/gui/Panels/GameFixesPanel.cpp:46 #: pcsx2/gui/Panels/GameFixesPanel.cpp:48
msgid "FPU Compare Hack - For Digimon Rumble Arena 2." msgid "FPU Compare Hack - For Digimon Rumble Arena 2."
msgstr "FPU Compare Hack - Per Digimon Rumble Arena 2." msgstr "FPU Compare Hack - Per Digimon Rumble Arena 2."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:50 #: pcsx2/gui/Panels/GameFixesPanel.cpp:52
msgid "FPU Multiply Hack - For Tales of Destiny." msgid "FPU Multiply Hack - For Tales of Destiny."
msgstr "FPU Multiply Hack - Per Tales of Destiny." msgstr "FPU Multiply Hack - Per Tales of Destiny."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:54 #: pcsx2/gui/Panels/GameFixesPanel.cpp:56
msgid "FPU Negative Div Hack - For Gundam games." msgid "FPU Negative Div Hack - For Gundam games."
msgstr "FPU Negative Div Hack - Per i giochi della serie Gundam." msgstr "FPU Negative Div Hack - Per i giochi della serie Gundam."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:58 #: pcsx2/gui/Panels/GameFixesPanel.cpp:60
msgid "VU XGkick Hack - For Erementar Gerad." msgid "VU XGkick Hack - For Erementar Gerad."
msgstr "VU XGkick Hack - Per Erementar Gerad." msgstr "VU XGkick Hack - Per Erementar Gerad."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:62 #: pcsx2/gui/Panels/GameFixesPanel.cpp:64
msgid "FFX videos fix - Fixes bad graphics overlay in FFX videos." msgid "FFX videos fix - Fixes bad graphics overlay in FFX videos."
msgstr "" msgstr ""
"FFX video fix - Corregge i problemi grafici negli overlay dei video in FFX." "FFX video fix - Corregge i problemi grafici negli overlay dei video in FFX."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:66 #: pcsx2/gui/Panels/GameFixesPanel.cpp:68
msgid "EE timing hack - Multi purpose hack. Try if all else fails." msgid "EE timing hack - Multi purpose hack. Try if all else fails."
msgstr "" msgstr ""
"EE timing hack - Hack multiscopo. Provalo se tutto il resto non funziona." "EE timing hack - Hack multiscopo. Provalo se tutto il resto non funziona."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:71 #: pcsx2/gui/Panels/GameFixesPanel.cpp:73
msgid "" msgid ""
"Skip MPEG hack - Skips videos/FMVs in games to avoid game hanging/freezes." "Skip MPEG hack - Skips videos/FMVs in games to avoid game hanging/freezes."
msgstr "" msgstr ""
"Skip MPEG hack - Salta i video/FMV presenti nei giochi per evitare stalli/" "Skip MPEG hack - Salta i video/FMV presenti nei giochi per evitare stalli/"
"blocchi." "blocchi."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:75 #: pcsx2/gui/Panels/GameFixesPanel.cpp:77
msgid "OPH Flag hack - Try if your game freezes showing the same frame." msgid "OPH Flag hack - Try if your game freezes showing the same frame."
msgstr "" msgstr ""
"OPH Flag hack - Provalo se il tuo gioco si blocca mostrando lo stesso " "OPH Flag hack - Provalo se il tuo gioco si blocca mostrando lo stesso "
"fotogramma." "fotogramma."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:80 #: pcsx2/gui/Panels/GameFixesPanel.cpp:82
msgid "Ignore DMAC writes when it is busy." msgid "Ignore DMAC writes when it is busy."
msgstr "Ignora le scritture DMAC quando è occupata." msgstr "Ignora le scritture DMAC quando è occupata."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:85 #: pcsx2/gui/Panels/GameFixesPanel.cpp:87
msgid "Simulate VIF1 FIFO read ahead. Fixes slow loading games." msgid "Simulate VIF1 FIFO read ahead. Fixes slow loading games."
msgstr "Simula read ahead FIFO VIF. Corregge i giochi con caricamenti lenti." msgstr "Simula read ahead FIFO VIF. Corregge i giochi con caricamenti lenti."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:90 #: pcsx2/gui/Panels/GameFixesPanel.cpp:92
msgid "Delay VIF1 Stalls (VIF1 FIFO) - For SOCOM 2 HUD." msgid ""
msgstr "Ritarda le pause di VIF1 (VIF1 FIFO) - Per l'HUD di SOCOM 2." "Delay VIF1 Stalls (VIF1 FIFO) - For SOCOM 2 HUD & Spy Hunter loading hang."
msgstr ""
"Ritarda le pause di VIF1 (VIF1 FIFO) - Per l'HUD di SOCOM 2 e il bloco del "
"caricamento di Spy Hunter."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:94 #: pcsx2/gui/Panels/GameFixesPanel.cpp:96
msgid "Ignore Bus Direction on Path3 Transfer - Used for Hotwheels" msgid "Ignore Bus Direction on Path3 Transfer - Used for Hotwheels"
msgstr "" msgstr ""
"Ignora la Direzione del Bus nel Trasferimento Path3 - Utilizzato per " "Ignora la Direzione del Bus nel Trasferimento Path3 - Utilizzato per "
"Hotwheels." "Hotwheels."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:98 #: pcsx2/gui/Panels/GameFixesPanel.cpp:100
msgid "Switch to GSdx software rendering when a FMV plays" msgid "Switch to GSdx software rendering when a FMV plays"
msgstr "Passa al rendering software di GSdx quando viene riprodotto un FMV." msgstr "Passa al rendering software di GSdx quando viene riprodotto un FMV."
#: pcsx2/gui/Panels/GameFixesPanel.cpp:109 #: pcsx2/gui/Panels/GameFixesPanel.cpp:104
msgid "Preload TLB hack to avoid tlb miss on Goemon"
msgstr "Hack di precaricamento TLB per evitare TLB miss in Goemon"
#: pcsx2/gui/Panels/GameFixesPanel.cpp:115
msgid "Enable manual game fixes [Not recommended]" msgid "Enable manual game fixes [Not recommended]"
msgstr "Abilita GameFix manuali [non consigliato]" msgstr "Abilita GameFix manuali [non consigliato]"
#: pcsx2/gui/Panels/GameFixesPanel.cpp:114
msgid ""
"The safest way to make sure that all game fixes are completely disabled."
msgstr ""
"Il modo più sicuro per accertarsi che tutti i GameFix siano completamente "
"disattivati."
#: pcsx2/gui/Panels/LogOptionsPanels.cpp:249 #: pcsx2/gui/Panels/LogOptionsPanels.cpp:249
msgid "Enable Trace Logging" msgid "Enable Trace Logging"
msgstr "Abilita i Trace Log" msgstr "Abilita i Trace Log"
@ -2172,6 +2152,10 @@ msgstr "Crea una memory card assegnata alla Porta selezionata."
msgid "Delete memory file?" msgid "Delete memory file?"
msgstr "Eliminare il file della memory card?" msgstr "Eliminare il file della memory card?"
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:763
msgid "Failed: Can only duplicate an existing card."
msgstr "Fallita: Si possono copiare solo memory card esistenti."
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:763 #: pcsx2/gui/Panels/MemoryCardListPanel.cpp:763
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:774 #: pcsx2/gui/Panels/MemoryCardListPanel.cpp:774
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:781 #: pcsx2/gui/Panels/MemoryCardListPanel.cpp:781
@ -2179,10 +2163,6 @@ msgstr "Eliminare il file della memory card?"
msgid "Duplicate memory card" msgid "Duplicate memory card"
msgstr "Copia memory card" msgstr "Copia memory card"
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:763
msgid "Failed: Can only duplicate an existing card."
msgstr "Fallita: Si possono copiare solo memory card esistenti."
#: pcsx2/gui/Panels/MemoryCardListPanel.cpp:781 #: pcsx2/gui/Panels/MemoryCardListPanel.cpp:781
msgid "" msgid ""
"Select a name for the duplicate\n" "Select a name for the duplicate\n"
@ -2310,22 +2290,22 @@ msgstr "Ultima modifica"
msgid "Created on" msgid "Created on"
msgstr "Creata il" msgstr "Creata il"
#: pcsx2/gui/Panels/MemoryCardListView.cpp:158
msgid "No"
msgstr "No"
#: pcsx2/gui/Panels/MemoryCardListView.cpp:158 #: pcsx2/gui/Panels/MemoryCardListView.cpp:158
msgid "Yes" msgid "Yes"
msgstr "Sì" msgstr "Sì"
#: pcsx2/gui/Panels/MemoryCardListView.cpp:159 #: pcsx2/gui/Panels/MemoryCardListView.cpp:158
msgid "PS2" msgid "No"
msgstr "PS2" msgstr "No"
#: pcsx2/gui/Panels/MemoryCardListView.cpp:159 #: pcsx2/gui/Panels/MemoryCardListView.cpp:159
msgid "PSX" msgid "PSX"
msgstr "PSX" msgstr "PSX"
#: pcsx2/gui/Panels/MemoryCardListView.cpp:159
msgid "PS2"
msgstr "PS2"
#: pcsx2/gui/Panels/MemoryCardListView.cpp:172 #: pcsx2/gui/Panels/MemoryCardListView.cpp:172
msgid "[-- Unused cards --]" msgid "[-- Unused cards --]"
msgstr "[-- Card inutilizzate --]" msgstr "[-- Card inutilizzate --]"
@ -2743,6 +2723,47 @@ msgstr ""
"Estensioni %s non trovate. microVU richiede una CPU del sistema host con " "Estensioni %s non trovate. microVU richiede una CPU del sistema host con "
"estensioni MMX, SSE ed SSE2." "estensioni MMX, SSE ed SSE2."
#: common/include/Utilities/Exceptions.h:187
msgid "No reason given."
msgstr "Nessuna spiegazione fornita."
#: common/include/Utilities/Exceptions.h:226
msgid "Parse error"
msgstr "Errore d'interpretazione"
#: common/include/Utilities/Exceptions.h:250
msgid "Your machine's hardware is incapable of running PCSX2. Sorry dood."
msgstr ""
"L'hardware del tuo sistema non è in grado di eseguire PCSX2. Ci dispiace."
#: pcsx2/System.h:221 pcsx2/System.h:222 pcsx2/System.h:223
msgid "PCSX2 Message"
msgstr "PCSX2 - Messaggio"
#: pcsx2/gui/ApplyState.h:55
msgid "Cannot apply new settings, one of the settings is invalid."
msgstr ""
"Impossibile applicare le nuove impostazioni, una delle impostazioni non è "
"valida."
#~ msgid ""
#~ "Gamefixes can work around wrong emulation in some titles. \n"
#~ "They may also cause compatibility or performance issues.\n"
#~ "\n"
#~ "The safest way to make sure that all game fixes are completely disabled."
#~ msgstr ""
#~ "I GameFix possono aggirare i problemi di emulazione di alcuni titoli. \n"
#~ "Possono inoltre causare problemi di compatibilità e di prestazioni.\n"
#~ "\n"
#~ "Il modo più sicuro per accertarsi che tutti i GameFix siano completamente "
#~ "disabilitati."
#~ msgid ""
#~ "The safest way to make sure that all game fixes are completely disabled."
#~ msgstr ""
#~ "Il modo più sicuro per accertarsi che tutti i GameFix siano completamente "
#~ "disattivati."
#~ msgid "(modded)" #~ msgid "(modded)"
#~ msgstr "(modificato)" #~ msgstr "(modificato)"

View File

@ -179,25 +179,24 @@ void writeCache128(u32 mem, const mem128_t* value){
} }
u8 readCache8(u32 mem) { u8 readCache8(u32 mem) {
int i, number; int number;
i = getFreeCache(mem,0,&number); int i = getFreeCache(mem,0,&number);
CACHE_LOG("readCache %8.8x from %d, way %d QW %x u8 part %x Really Reading %x", mem, i,number, (mem >> 4) & 0x3, (mem&0xf)>>2, (u32)pCache[i].data[number][(mem >> 4) & 0x3].b8._u8[(mem&0xf)]);
if(i == -1) if(i == -1)
{ {
u32 vmv=vtlbdata.vmap[mem>>VTLB_PAGE_BITS]; u32 vmv=vtlbdata.vmap[mem>>VTLB_PAGE_BITS];
s32 ppf=mem+vmv; s32 ppf=mem+vmv;
return *(u8*)ppf; return *(u8*)ppf;
} }
CACHE_LOG("readCache %8.8x from %d, way %d QW %x u8 part %x Really Reading %x", mem, i, number, (mem >> 4) & 0x3, (mem & 0xf) >> 2, (u32)pCache[i].data[number][(mem >> 4) & 0x3].b8._u8[(mem & 0xf)]);
return pCache[i].data[number][(mem >> 4) & 0x3].b8._u8[(mem&0xf)]; return pCache[i].data[number][(mem >> 4) & 0x3].b8._u8[(mem&0xf)];
} }
u16 readCache16(u32 mem) { u16 readCache16(u32 mem) {
int i, number; int number;
i = getFreeCache(mem,0,&number);
CACHE_LOG("readCache %8.8x from %d, way %d QW %x u16 part %x Really Reading %x", mem, i,number, (mem >> 4) & 0x3, (mem&0xf)>>2, (u32)pCache[i].data[number][(mem >> 4) & 0x3].b8._u16[(mem&0xf)>>1]);
int i = getFreeCache(mem,0,&number);
if(i == -1) if(i == -1)
{ {
u32 vmv=vtlbdata.vmap[mem>>VTLB_PAGE_BITS]; u32 vmv=vtlbdata.vmap[mem>>VTLB_PAGE_BITS];
@ -205,34 +204,37 @@ u16 readCache16(u32 mem) {
return *(u16*)ppf; return *(u16*)ppf;
} }
CACHE_LOG("readCache %8.8x from %d, way %d QW %x u16 part %x Really Reading %x", mem, i, number, (mem >> 4) & 0x3, (mem & 0xf) >> 2, (u32)pCache[i].data[number][(mem >> 4) & 0x3].b8._u16[(mem & 0xf) >> 1]);
return pCache[i].data[number][(mem >> 4) & 0x3].b8._u16[(mem&0xf)>>1]; return pCache[i].data[number][(mem >> 4) & 0x3].b8._u16[(mem&0xf)>>1];
} }
u32 readCache32(u32 mem) { u32 readCache32(u32 mem) {
int i, number; int number;
i = getFreeCache(mem,0,&number); int i = getFreeCache(mem,0,&number);
CACHE_LOG("readCache %8.8x from %d, way %d QW %x u32 part %x Really Reading %x", mem, i,number, (mem >> 4) & 0x3, (mem&0xf)>>2, (u32)pCache[i].data[number][(mem >> 4) & 0x3].b8._u32[(mem&0xf)>>2]);
if(i == -1) if(i == -1)
{ {
u32 vmv=vtlbdata.vmap[mem>>VTLB_PAGE_BITS]; u32 vmv=vtlbdata.vmap[mem>>VTLB_PAGE_BITS];
s32 ppf=mem+vmv; s32 ppf=mem+vmv;
return *(u32*)ppf; return *(u32*)ppf;
} }
CACHE_LOG("readCache %8.8x from %d, way %d QW %x u32 part %x Really Reading %x", mem, i, number, (mem >> 4) & 0x3, (mem & 0xf) >> 2, (u32)pCache[i].data[number][(mem >> 4) & 0x3].b8._u32[(mem & 0xf) >> 2]);
return pCache[i].data[number][(mem >> 4) & 0x3].b8._u32[(mem&0xf)>>2]; return pCache[i].data[number][(mem >> 4) & 0x3].b8._u32[(mem&0xf)>>2];
} }
u64 readCache64(u32 mem) { u64 readCache64(u32 mem) {
int i, number; int number;
i = getFreeCache(mem,0,&number); int i = getFreeCache(mem,0,&number);
CACHE_LOG("readCache %8.8x from %d, way %d QW %x u64 part %x Really Reading %x_%x", mem, i,number, (mem >> 4) & 0x3, (mem&0xf)>>2, pCache[i].data[number][(mem >> 4) & 0x3].b8._u64[(mem&0xf)>>3]);
if(i == -1) if(i == -1)
{ {
u32 vmv=vtlbdata.vmap[mem>>VTLB_PAGE_BITS]; u32 vmv=vtlbdata.vmap[mem>>VTLB_PAGE_BITS];
s32 ppf=mem+vmv; s32 ppf=mem+vmv;
return *(u64*)ppf; return *(u64*)ppf;
} }
CACHE_LOG("readCache %8.8x from %d, way %d QW %x u64 part %x Really Reading %x_%x", mem, i, number, (mem >> 4) & 0x3, (mem & 0xf) >> 2, pCache[i].data[number][(mem >> 4) & 0x3].b8._u64[(mem & 0xf) >> 3]);
return pCache[i].data[number][(mem >> 4) & 0x3].b8._u64[(mem&0xf)>>3]; return pCache[i].data[number][(mem >> 4) & 0x3].b8._u64[(mem&0xf)>>3];
} }

View File

@ -68,17 +68,17 @@ typedef char* (*TdisR3000AF)(u32 code, u32 pc);
#define _Branch_ (pc + 4 + ((short)_Im_ * 4)) #define _Branch_ (pc + 4 + ((short)_Im_ * 4))
#define _OfB_ _Im_, _nRs_ #define _OfB_ _Im_, _nRs_
#define dName(i) sprintf(ostr, "%s %-7s,", ostr, i) #define dName(i) sprintf(ostr + strlen(ostr), " %-7s,", i)
#define dGPR(i) sprintf(ostr, "%s %8.8x (%s),", ostr, psxRegs.GPR.r[i], disRNameGPR[i]) #define dGPR(i) sprintf(ostr + strlen(ostr), " %8.8x (%s),", psxRegs.GPR.r[i], disRNameGPR[i])
#define dCP0(i) sprintf(ostr, "%s %8.8x (%s),", ostr, psxRegs.CP0.r[i], disRNameCP0[i]) #define dCP0(i) sprintf(ostr + strlen(ostr), " %8.8x (%s),", psxRegs.CP0.r[i], disRNameCP0[i])
#define dHI() sprintf(ostr, "%s %8.8x (%s),", ostr, psxRegs.GPR.n.hi, "hi") #define dHI() sprintf(ostr + strlen(ostr), " %8.8x (%s),", psxRegs.GPR.n.hi, "hi")
#define dLO() sprintf(ostr, "%s %8.8x (%s),", ostr, psxRegs.GPR.n.lo, "lo") #define dLO() sprintf(ostr + strlen(ostr), " %8.8x (%s),", psxRegs.GPR.n.lo, "lo")
#define dImm() sprintf(ostr, "%s %4.4x (%d),", ostr, _Im_, _Im_) #define dImm() sprintf(ostr + strlen(ostr), " %4.4x (%d),", _Im_, _Im_)
#define dTarget() sprintf(ostr, "%s %8.8x,", ostr, _Target_) #define dTarget() sprintf(ostr + strlen(ostr), " %8.8x,", _Target_)
#define dSa() sprintf(ostr, "%s %2.2x (%d),", ostr, _Sa_, _Sa_) #define dSa() sprintf(ostr + strlen(ostr), " %2.2x (%d),", _Sa_, _Sa_)
#define dOfB() sprintf(ostr, "%s %4.4x (%8.8x (%s)),", ostr, _Im_, psxRegs.GPR.r[_Rs_], disRNameGPR[_Rs_]) #define dOfB() sprintf(ostr + strlen(ostr), " %4.4x (%8.8x (%s)),", _Im_, psxRegs.GPR.r[_Rs_], disRNameGPR[_Rs_])
#define dOffset() sprintf(ostr, "%s %8.8x,", ostr, _Branch_) #define dOffset() sprintf(ostr + strlen(ostr), " %8.8x,", _Branch_)
#define dCode() sprintf(ostr, "%s %8.8x,", ostr, (code >> 6) & 0xffffff) #define dCode() sprintf(ostr + strlen(ostr), " %8.8x,", (code >> 6) & 0xffffff)
/********************************************************* /*********************************************************
* Arithmetic with immediate operand * * Arithmetic with immediate operand *

View File

@ -648,6 +648,7 @@ struct Gif_Unit {
} }
void PrintPathInfo(GIF_PATH path) { void PrintPathInfo(GIF_PATH path) {
(void)path; // avoid silly warning
GUNIT_LOG("Gif Path %d - [hasData = %d][state = %d]", path, GUNIT_LOG("Gif Path %d - [hasData = %d][state = %d]", path,
gifPath[path].hasDataRemaining(), gifPath[path].state); gifPath[path].hasDataRemaining(), gifPath[path].state);
} }

View File

@ -177,6 +177,7 @@ mem32_t __fastcall _hwRead32(u32 mem)
} }
} }
break; break;
default: break;
} }
//Hack for Transformers and Test Drive Unlimited to simulate filling the VIF FIFO //Hack for Transformers and Test Drive Unlimited to simulate filling the VIF FIFO
//It actually stalls VIF a few QW before the end of the transfer, so we need to pretend its all gone //It actually stalls VIF a few QW before the end of the transfer, so we need to pretend its all gone
@ -302,6 +303,7 @@ static void _hwRead64(u32 mem, mem64_t* result )
} }
} }
return; return;
default: break;
} }
*result = _hwRead32<page,false>( mem ); *result = _hwRead32<page,false>( mem );

View File

@ -425,6 +425,8 @@ void __fastcall _hwWrite128(u32 mem, const mem128_t* srcval)
} }
return; return;
default: break;
} }
// All upper bits of all non-FIFO 128-bit HW writes are almost certainly disregarded. --air // All upper bits of all non-FIFO 128-bit HW writes are almost certainly disregarded. --air

View File

@ -42,9 +42,9 @@ public:
virtual void close() = 0; virtual void close() = 0;
virtual int lseek(s32 offset, s32 whence) { return -IOP_EIO; } virtual int lseek(s32 , s32 ) { return -IOP_EIO; }
virtual int read(void *buf, u32 count) { return -IOP_EIO; } virtual int read(void *, u32 ) { return -IOP_EIO; }
virtual int write(void *buf, u32 count) { return -IOP_EIO; } virtual int write(void *, u32 ) { return -IOP_EIO; }
}; };
class IOManDir { class IOManDir {

View File

@ -262,6 +262,7 @@ static mem8_t __fastcall _ext_memRead8 (u32 mem)
Console.WriteLn("DEV9 read8 %8.8lx: %2.2lx", mem & ~0xa4000000, retval); Console.WriteLn("DEV9 read8 %8.8lx: %2.2lx", mem & ~0xa4000000, retval);
return retval; return retval;
} }
default: break;
} }
MEM_LOG("Unknown Memory Read8 from address %8.8x", mem); MEM_LOG("Unknown Memory Read8 from address %8.8x", mem);
@ -291,6 +292,8 @@ static mem16_t __fastcall _ext_memRead16(u32 mem)
case 8: // spu2 case 8: // spu2
return SPU2read(mem); return SPU2read(mem);
default: break;
} }
MEM_LOG("Unknown Memory read16 from address %8.8x", mem); MEM_LOG("Unknown Memory read16 from address %8.8x", mem);
cpuTlbMissR(mem, cpuRegs.branch); cpuTlbMissR(mem, cpuRegs.branch);
@ -310,6 +313,7 @@ static mem32_t __fastcall _ext_memRead32(u32 mem)
Console.WriteLn("DEV9 read32 %8.8lx: %8.8lx", mem & ~0xa4000000, retval); Console.WriteLn("DEV9 read32 %8.8lx: %8.8lx", mem & ~0xa4000000, retval);
return retval; return retval;
} }
default: break;
} }
MEM_LOG("Unknown Memory read32 from address %8.8x (Status=%8.8x)", mem, cpuRegs.CP0.n.Status.val); MEM_LOG("Unknown Memory read32 from address %8.8x (Status=%8.8x)", mem, cpuRegs.CP0.n.Status.val);
@ -324,6 +328,7 @@ static void __fastcall _ext_memRead64(u32 mem, mem64_t *out)
{ {
case 6: // gsm case 6: // gsm
*out = gsRead64(mem); return; *out = gsRead64(mem); return;
default: break;
} }
MEM_LOG("Unknown Memory read64 from address %8.8x", mem); MEM_LOG("Unknown Memory read64 from address %8.8x", mem);
@ -340,6 +345,7 @@ static void __fastcall _ext_memRead128(u32 mem, mem128_t *out)
case 6: // gsm case 6: // gsm
CopyQWC(out,PS2GS_BASE(mem)); CopyQWC(out,PS2GS_BASE(mem));
return; return;
default: break;
} }
MEM_LOG("Unknown Memory read128 from address %8.8x", mem); MEM_LOG("Unknown Memory read128 from address %8.8x", mem);
@ -358,6 +364,7 @@ static void __fastcall _ext_memWrite8 (u32 mem, mem8_t value)
DEV9write8(mem & ~0xa4000000, value); DEV9write8(mem & ~0xa4000000, value);
Console.WriteLn("DEV9 write8 %8.8lx: %2.2lx", mem & ~0xa4000000, value); Console.WriteLn("DEV9 write8 %8.8lx: %2.2lx", mem & ~0xa4000000, value);
return; return;
default: break;
} }
MEM_LOG("Unknown Memory write8 to address %x with data %2.2x", mem, value); MEM_LOG("Unknown Memory write8 to address %x with data %2.2x", mem, value);
@ -379,6 +386,7 @@ static void __fastcall _ext_memWrite16(u32 mem, mem16_t value)
return; return;
case 8: // spu2 case 8: // spu2
SPU2write(mem, value); return; SPU2write(mem, value); return;
default: break;
} }
MEM_LOG("Unknown Memory write16 to address %x with data %4.4x", mem, value); MEM_LOG("Unknown Memory write16 to address %x with data %4.4x", mem, value);
cpuTlbMissW(mem, cpuRegs.branch); cpuTlbMissW(mem, cpuRegs.branch);
@ -394,6 +402,7 @@ static void __fastcall _ext_memWrite32(u32 mem, mem32_t value)
DEV9write32(mem & ~0xa4000000, value); DEV9write32(mem & ~0xa4000000, value);
Console.WriteLn("DEV9 write32 %8.8lx: %8.8lx", mem & ~0xa4000000, value); Console.WriteLn("DEV9 write32 %8.8lx: %8.8lx", mem & ~0xa4000000, value);
return; return;
default: break;
} }
MEM_LOG("Unknown Memory write32 to address %x with data %8.8x", mem, value); MEM_LOG("Unknown Memory write32 to address %x with data %8.8x", mem, value);
cpuTlbMissW(mem, cpuRegs.branch); cpuTlbMissW(mem, cpuRegs.branch);

View File

@ -236,7 +236,7 @@ public:
IEventListener_SysState() {} IEventListener_SysState() {}
virtual ~IEventListener_SysState() throw() {} virtual ~IEventListener_SysState() throw() {}
virtual void DispatchEvent( const SysStateUnlockedParams& status ) virtual void DispatchEvent( const SysStateUnlockedParams& )
{ {
SysStateAction_OnUnlocked(); SysStateAction_OnUnlocked();
} }

View File

@ -177,10 +177,10 @@ public:
void Step(); void Step();
void Execute(u32 cycles); void Execute(u32 cycles);
void Clear(u32 addr, u32 size) {} void Clear(u32 , u32 ) {}
uint GetCacheReserve() const { return 0; } uint GetCacheReserve() const { return 0; }
void SetCacheReserve( uint reserveInMegs ) const {} void SetCacheReserve( uint ) const {}
}; };
class InterpVU1 : public BaseVUmicroCPU class InterpVU1 : public BaseVUmicroCPU
@ -198,11 +198,11 @@ public:
void Step(); void Step();
void Execute(u32 cycles); void Execute(u32 cycles);
void Clear(u32 addr, u32 size) {} void Clear(u32 , u32 ) {}
void ResumeXGkick() {} void ResumeXGkick() {}
uint GetCacheReserve() const { return 0; } uint GetCacheReserve() const { return 0; }
void SetCacheReserve( uint reserveInMegs ) const {} void SetCacheReserve( uint ) const {}
}; };
// -------------------------------------------------------------------------------------- // --------------------------------------------------------------------------------------

View File

@ -443,7 +443,12 @@ vifOp(vifCode_Nop) {
GetVifX.cmd = 0; GetVifX.cmd = 0;
GetVifX.pass = 0; GetVifX.pass = 0;
vifExecQueue(idx); vifExecQueue(idx);
if(GetVifX.vifpacketsize > 1)
//If the top bit was set to interrupt, we don't want it to take commands from a bad code if it's interpreted as a nop by us.
//Onimusha - Blade Warriors
if ((vifXRegs.code & 0x80000000) && (vifXRegs.code & 0xFFFFF) != 0) GetVifX.irq = 0;
if (GetVifX.vifpacketsize > 1)
{ {
if(((data[1] >> 24) & 0x7f) == 0x6) //is mskpath3 next if(((data[1] >> 24) & 0x7f) == 0x6) //is mskpath3 next
{ {
@ -470,6 +475,9 @@ vifOp(vifCode_Null) {
} }
vifX.cmd = 0; vifX.cmd = 0;
vifX.pass = 0; vifX.pass = 0;
//If the top bit was set to interrupt, we don't want it to take commands from a bad code
if (vifXRegs.code & 0x80000000) vifX.irq = 0;
} }
pass2 { Console.Error("Vif%d bad vifcode! [CMD = %x]", idx, vifX.cmd); } pass2 { Console.Error("Vif%d bad vifcode! [CMD = %x]", idx, vifX.cmd); }
pass3 { VifCodeLog("Null"); } pass3 { VifCodeLog("Null"); }

View File

@ -463,7 +463,7 @@ __ri int mVUbranchCheck(mV) {
if(mVUlow.branch == 2 || mVUlow.branch == 10) //Needs linking, we can only guess this if the next is not conditional if(mVUlow.branch == 2 || mVUlow.branch == 10) //Needs linking, we can only guess this if the next is not conditional
{ {
if(branchType <= 2 && branchType >= 9) //First branch is not conditional so we know what the link will be if(branchType <= 2 || branchType >= 9) //First branch is not conditional so we know what the link will be
{ //So we can let the existing evil block do its thing! We know where to get the addr :) { //So we can let the existing evil block do its thing! We know where to get the addr :)
DevCon.Warning("yo"); DevCon.Warning("yo");
DevCon.Warning("yo"); DevCon.Warning("yo");

View File

@ -417,8 +417,8 @@ s32 CALLBACK GSopen(void *pDsp, char *Title, int multithread) {
} }
if( conf.aa ) { if( conf.aa ) {
char strtitle[64]; char strtitle[64];
sprintf(strtitle, "anti-aliasing - %s", s_aa[conf.aa], 1000); sprintf(strtitle, "anti-aliasing - %s", s_aa[conf.aa]);
ZeroGS::AddMessage(strtitle); ZeroGS::AddMessage(strtitle, 1000);
} }
if( conf.options & GSOPTION_WIDESCREEN ) { if( conf.options & GSOPTION_WIDESCREEN ) {
ZeroGS::AddMessage("16:9 widescreen - on", 1000); ZeroGS::AddMessage("16:9 widescreen - on", 1000);