From 153db8643786e87859258579059e03e8b3d32f3c Mon Sep 17 00:00:00 2001 From: OV2 Date: Sun, 20 Mar 2011 23:21:12 +0100 Subject: [PATCH 01/25] Win32: dynamically load the cg runtime; gracefully disable its functionality The cg runtime is no longer required to run snes9x. If unavailable, no error message will be displayed unless the user tries to load a cg shader. --- win32/CDirect3D.cpp | 27 +++++--- win32/CDirect3D.h | 4 +- win32/COpenGL.cpp | 32 +++++---- win32/COpenGL.h | 4 +- win32/cgFunctions.cpp | 152 ++++++++++++++++++++++++++++++++++++++++++ win32/cgFunctions.h | 72 ++++++++++++++++++++ win32/snes9xw.vcproj | 8 +++ 7 files changed, 275 insertions(+), 24 deletions(-) create mode 100644 win32/cgFunctions.cpp create mode 100644 win32/cgFunctions.h diff --git a/win32/CDirect3D.cpp b/win32/CDirect3D.cpp index 204b30c3..a68d391c 100644 --- a/win32/CDirect3D.cpp +++ b/win32/CDirect3D.cpp @@ -178,9 +178,6 @@ #pragma comment( lib, "d3dx9" ) #pragma comment( lib, "DxErr" ) -#pragma comment( lib, "cg.lib" ) -#pragma comment( lib, "cgd3d9.lib" ) - #include "cdirect3d.h" #include "win32_display.h" #include "../snes9x.h" @@ -225,6 +222,7 @@ CDirect3D::CDirect3D() shaderTimeElapsed = 0; cgContext = NULL; cgVertexProgram = cgFragmentProgram = NULL; + cgAvailable = false; } /* CDirect3D::~CDirect3D() @@ -278,10 +276,14 @@ bool CDirect3D::Initialize(HWND hWnd) return false; } - cgContext = cgCreateContext(); - hr = cgD3D9SetDevice(pDevice); - if(FAILED(hr)) { - DXTRACE_ERR_MSGBOX(TEXT("Error setting cg device"), hr); + cgAvailable = loadCgFunctions(); + + if(cgAvailable) { + cgContext = cgCreateContext(); + hr = cgD3D9SetDevice(pDevice); + if(FAILED(hr)) { + DXTRACE_ERR_MSGBOX(TEXT("Error setting cg device"), hr); + } } pDevice->SetRenderState(D3DRS_LIGHTING, FALSE); @@ -323,7 +325,8 @@ void CDirect3D::DeInitialize() cgContext = NULL; } - cgD3D9SetDevice(NULL); + if(cgAvailable) + cgD3D9SetDevice(NULL); init_done = false; afterRenderWidth = 0; @@ -331,6 +334,8 @@ void CDirect3D::DeInitialize() quadTextureSize = 0; fullscreen = false; filterScale = 0; + unloadCgLibrary(); + cgAvailable = false; } bool CDirect3D::SetShader(const TCHAR *file) @@ -382,6 +387,12 @@ bool CDirect3D::SetShaderCG(const TCHAR *file) if (file == NULL || *file==TEXT('\0')) return true; + if(!cgAvailable) { + MessageBox(NULL, TEXT("The CG runtime is unavailable, CG shaders will not run.\nConsult the snes9x readme for information on how to obtain the runtime."), TEXT("CG Error"), + MB_OK|MB_ICONEXCLAMATION); + return false; + } + CGprofile vertexProfile = cgD3D9GetLatestVertexProfile(); CGprofile pixelProfile = cgD3D9GetLatestPixelProfile(); diff --git a/win32/CDirect3D.h b/win32/CDirect3D.h index 813b4078..49795dfd 100644 --- a/win32/CDirect3D.h +++ b/win32/CDirect3D.h @@ -183,8 +183,7 @@ #include #include -#include -#include +#include "cgFunctions.h" #include "render.h" #include "wsnes9x.h" @@ -225,6 +224,7 @@ private: CGcontext cgContext; CGprogram cgVertexProgram, cgFragmentProgram; current_d3d_shader_type shader_type; + bool cgAvailable; float shaderTimer; int shaderTimeStart; diff --git a/win32/COpenGL.cpp b/win32/COpenGL.cpp index 0b14c952..0828831c 100644 --- a/win32/COpenGL.cpp +++ b/win32/COpenGL.cpp @@ -9,9 +9,6 @@ #include "../filter/hq2x.h" #include "../filter/2xsai.h" -#pragma comment( lib, "cg.lib" ) -#pragma comment( lib, "cggl.lib" ) - COpenGL::COpenGL(void) { @@ -33,6 +30,7 @@ COpenGL::COpenGL(void) fragmentShader = 0; cgContext = NULL; cgVertexProgram = cgFragmentProgram = NULL; + cgAvailable = false; } COpenGL::~COpenGL(void) @@ -104,7 +102,10 @@ bool COpenGL::Initialize(HWND hWnd) glVertexPointer(2, GL_FLOAT, 0, vertices); glTexCoordPointer(2, GL_FLOAT, 0, texcoords); - cgContext = cgCreateContext(); + cgAvailable = loadCgFunctions(); + if(cgAvailable) { + cgContext = cgCreateContext(); + } GetClientRect(hWnd,&windowRect); ChangeRenderSize(windowRect.right,windowRect.bottom); @@ -139,6 +140,8 @@ void COpenGL::DeInitialize() afterRenderHeight = 0; shaderFunctionsLoaded = false; shader_type = OGL_SHADER_NONE; + unloadCgLibrary(); + cgAvailable = false; } void COpenGL::CreateDrawSurface() @@ -284,10 +287,6 @@ void COpenGL::Render(SSurface Src) cgGLSetStateMatrixParameter(cgpModelViewProj, CG_GL_MODELVIEW_PROJECTION_MATRIX, CG_GL_MATRIX_IDENTITY); - CGparameter cgpVideoSize = cgGetNamedParameter(cgFragmentProgram, "IN.video_size"); - CGparameter cgpTextureSize = cgGetNamedParameter(cgFragmentProgram, "IN.texture_size"); - CGparameter cgpOutputSize = cgGetNamedParameter(cgFragmentProgram, "IN.output_size"); - #define setProgram2fv(program,varname,floats)\ {\ CGparameter cgp = cgGetNamedParameter(program, varname);\ @@ -521,6 +520,7 @@ bool COpenGL::SetShadersCG(const TCHAR *file) { TCHAR errorMsg[MAX_PATH + 50]; HRESULT hr; + CGprofile vertexProfile, fragmentProfile; if(cgFragmentProgram) { cgDestroyProgram(cgFragmentProgram); @@ -531,15 +531,23 @@ bool COpenGL::SetShadersCG(const TCHAR *file) cgVertexProgram = NULL; } - CGprofile vertexProfile = cgGLGetLatestProfile(CG_GL_VERTEX); - CGprofile fragmentProfile = cgGLGetLatestProfile(CG_GL_FRAGMENT); + if(cgAvailable) { + vertexProfile = cgGLGetLatestProfile(CG_GL_VERTEX); + fragmentProfile = cgGLGetLatestProfile(CG_GL_FRAGMENT); - cgGLDisableProfile(vertexProfile); - cgGLDisableProfile(fragmentProfile); + cgGLDisableProfile(vertexProfile); + cgGLDisableProfile(fragmentProfile); + } if (file == NULL || *file==TEXT('\0')) return true; + if(!cgAvailable) { + MessageBox(NULL, TEXT("The CG runtime is unavailable, CG shaders will not run.\nConsult the snes9x readme for information on how to obtain the runtime."), TEXT("CG Error"), + MB_OK|MB_ICONEXCLAMATION); + return false; + } + cgGLSetOptimalOptions(vertexProfile); cgGLSetOptimalOptions(fragmentProfile); diff --git a/win32/COpenGL.h b/win32/COpenGL.h index 8adb1518..adb8949a 100644 --- a/win32/COpenGL.h +++ b/win32/COpenGL.h @@ -181,8 +181,7 @@ #include #include -#include -#include +#include "cgFunctions.h" #include "glext.h" #include "wglext.h" @@ -215,6 +214,7 @@ private: CGcontext cgContext; CGprogram cgVertexProgram, cgFragmentProgram; current_ogl_shader_type shader_type; + bool cgAvailable; GLuint shaderProgram; GLuint vertexShader; diff --git a/win32/cgFunctions.cpp b/win32/cgFunctions.cpp new file mode 100644 index 00000000..a1cfa39c --- /dev/null +++ b/win32/cgFunctions.cpp @@ -0,0 +1,152 @@ +#include "cgFunctions.h" + +HMODULE hCgDll = NULL; +HMODULE hCgD3D9Dll = NULL; +HMODULE hCgGLDll = NULL; + +//cg.dll +CGCC cgCreateContext = NULL; +CGDC cgDestroyContext = NULL; +CGGNP cgGetNamedParameter = NULL; +CGGE cgGetError = NULL; +CGGES cgGetErrorString = NULL; +CGGLL cgGetLastListing = NULL; +CGCP cgCreateProgram = NULL; +CGDP cgDestroyProgram = NULL; +//cgD3D9.dll +CGD3DSD cgD3D9SetDevice = NULL; +CGD3DBP cgD3D9BindProgram = NULL; +CGD3DGLVP cgD3D9GetLatestVertexProfile = NULL; +CGD3DGLPP cgD3D9GetLatestPixelProfile = NULL; +CGD3DGOO cgD3D9GetOptimalOptions = NULL; +CGD3DLP cgD3D9LoadProgram = NULL; +CGD3DSUM cgD3D9SetUniformMatrix = NULL; +CGD3DSU cgD3D9SetUniform = NULL; +//cggl.dll +CGGLSSMP cgGLSetStateMatrixParameter = NULL; +CGGLSP2FV cgGLSetParameter2fv = NULL; +CGGLGLP cgGLGetLatestProfile = NULL; +CGGLEP cgGLEnableProfile = NULL; +CGGLDP cgGLDisableProfile = NULL; +CGGLSOO cgGLSetOptimalOptions = NULL; +CGGLLP cgGLLoadProgram = NULL; +CGGLBP cgGLBindProgram = NULL; + +bool loadCgFunctions() +{ + if(hCgDll && hCgD3D9Dll && hCgGLDll) + return true; + + hCgDll = LoadLibrary(TEXT("cg.dll")); + if(hCgDll) { + hCgD3D9Dll = LoadLibrary(TEXT("cgD3D9.dll")); + hCgGLDll = LoadLibrary(TEXT("cgGL.dll")); + } + + if(!hCgDll || !hCgD3D9Dll || !hCgGLDll) { + unloadCgLibrary(); + return false; + } + + //cg.dll + cgCreateContext = (CGCC)GetProcAddress(hCgDll,"cgCreateContext"); + cgDestroyContext = (CGDC)GetProcAddress(hCgDll,"cgDestroyContext"); + cgGetNamedParameter = (CGGNP)GetProcAddress(hCgDll,"cgGetNamedParameter"); + cgGetError = (CGGE)GetProcAddress(hCgDll,"cgGetError"); + cgGetErrorString = (CGGES)GetProcAddress(hCgDll,"cgGetErrorString"); + cgGetLastListing = (CGGLL)GetProcAddress(hCgDll,"cgGetLastListing"); + cgCreateProgram = (CGCP)GetProcAddress(hCgDll,"cgCreateProgram"); + cgDestroyProgram = (CGDP)GetProcAddress(hCgDll,"cgDestroyProgram"); + //cgD3D9.dll + cgD3D9SetDevice = (CGD3DSD)GetProcAddress(hCgD3D9Dll,"cgD3D9SetDevice"); + cgD3D9BindProgram = (CGD3DBP)GetProcAddress(hCgD3D9Dll,"cgD3D9BindProgram"); + cgD3D9GetLatestVertexProfile = (CGD3DGLVP)GetProcAddress(hCgD3D9Dll,"cgD3D9GetLatestVertexProfile"); + cgD3D9GetLatestPixelProfile = (CGD3DGLPP)GetProcAddress(hCgD3D9Dll,"cgD3D9GetLatestPixelProfile"); + cgD3D9GetOptimalOptions = (CGD3DGOO)GetProcAddress(hCgD3D9Dll,"cgD3D9GetOptimalOptions"); + cgD3D9LoadProgram = (CGD3DLP)GetProcAddress(hCgD3D9Dll,"cgD3D9LoadProgram"); + cgD3D9SetUniformMatrix = (CGD3DSUM)GetProcAddress(hCgD3D9Dll,"cgD3D9SetUniformMatrix"); + cgD3D9SetUniform = (CGD3DSU)GetProcAddress(hCgD3D9Dll,"cgD3D9SetUniform"); + //cggl.dll + cgGLSetStateMatrixParameter = (CGGLSSMP)GetProcAddress(hCgGLDll,"cgGLSetStateMatrixParameter"); + cgGLSetParameter2fv = (CGGLSP2FV)GetProcAddress(hCgGLDll,"cgGLSetParameter2fv"); + cgGLGetLatestProfile = (CGGLGLP)GetProcAddress(hCgGLDll,"cgGLGetLatestProfile"); + cgGLEnableProfile = (CGGLEP)GetProcAddress(hCgGLDll,"cgGLEnableProfile"); + cgGLDisableProfile = (CGGLDP)GetProcAddress(hCgGLDll,"cgGLDisableProfile"); + cgGLSetOptimalOptions = (CGGLSOO)GetProcAddress(hCgGLDll,"cgGLSetOptimalOptions"); + cgGLLoadProgram = (CGGLLP)GetProcAddress(hCgGLDll,"cgGLLoadProgram"); + cgGLBindProgram = (CGGLBP)GetProcAddress(hCgGLDll,"cgGLBindProgram"); + + if( + //cg.dll + !cgCreateContext || + !cgDestroyContext || + !cgGetNamedParameter || + !cgGetError || + !cgGetErrorString || + !cgGetLastListing || + !cgCreateProgram || + !cgDestroyProgram || + //cgD3D9.dll + !cgD3D9SetDevice || + !cgD3D9BindProgram || + !cgD3D9GetLatestVertexProfile || + !cgD3D9GetLatestPixelProfile || + !cgD3D9GetOptimalOptions || + !cgD3D9LoadProgram || + !cgD3D9SetUniformMatrix || + !cgD3D9SetUniform || + //cggl.dll + !cgGLSetStateMatrixParameter || + !cgGLSetParameter2fv || + !cgGLGetLatestProfile || + !cgGLEnableProfile || + !cgGLDisableProfile || + !cgGLSetOptimalOptions || + !cgGLLoadProgram || + !cgGLBindProgram) { + unloadCgLibrary(); + return false; + } + + return true; +} + +void unloadCgLibrary() +{ + if(hCgDll) + FreeLibrary(hCgDll); + if(hCgD3D9Dll) + FreeLibrary(hCgD3D9Dll); + if(hCgGLDll) + FreeLibrary(hCgGLDll); + + hCgDll = hCgD3D9Dll = hCgGLDll = NULL; + + //cg.dll + cgCreateContext = NULL; + cgDestroyContext = NULL; + cgGetNamedParameter = NULL; + cgGetError = NULL; + cgGetErrorString = NULL; + cgGetLastListing = NULL; + cgCreateProgram = NULL; + cgDestroyProgram = NULL; + //cgD3D9.dll + cgD3D9SetDevice = NULL; + cgD3D9BindProgram = NULL; + cgD3D9GetLatestVertexProfile = NULL; + cgD3D9GetLatestPixelProfile = NULL; + cgD3D9GetOptimalOptions = NULL; + cgD3D9LoadProgram = NULL; + cgD3D9SetUniformMatrix = NULL; + cgD3D9SetUniform = NULL; + //cggl.dll + cgGLSetStateMatrixParameter = NULL; + cgGLSetParameter2fv = NULL; + cgGLGetLatestProfile = NULL; + cgGLEnableProfile = NULL; + cgGLDisableProfile = NULL; + cgGLSetOptimalOptions = NULL; + cgGLLoadProgram = NULL; + cgGLBindProgram = NULL; +} diff --git a/win32/cgFunctions.h b/win32/cgFunctions.h new file mode 100644 index 00000000..27b47cdd --- /dev/null +++ b/win32/cgFunctions.h @@ -0,0 +1,72 @@ +#ifndef CGFUNCTIONS_H +#define CGFUNCTIONS_H + +#define CG_EXPLICIT +#define CGD3D9_EXPLICIT +#define CGGL_EXPLICIT + +#include +#include +#include + +//cg.dll +typedef CG_API CGcontext (CGENTRY *CGCC)(void); +extern CGCC cgCreateContext; +typedef CG_API void (CGENTRY *CGDC)(CGcontext context); +extern CGDC cgDestroyContext; +typedef CG_API CGparameter (CGENTRY *CGGNP)(CGprogram program, const char *name); +extern CGGNP cgGetNamedParameter; +typedef CG_API CGerror (CGENTRY *CGGE)(void); +extern CGGE cgGetError; +typedef CG_API const char * (CGENTRY *CGGES)(CGerror error); +extern CGGES cgGetErrorString; +typedef CG_API const char * (CGENTRY *CGGLL)(CGcontext context); +extern CGGLL cgGetLastListing; +typedef CG_API CGprogram (CGENTRY *CGCP)(CGcontext context, CGenum program_type, const char *program, CGprofile profile, const char *entry, const char **args); +extern CGCP cgCreateProgram; +typedef CG_API void (CGENTRY *CGDP)(CGprogram program); +extern CGDP cgDestroyProgram; + +//cgD3D9.dll +typedef CGD3D9DLL_API HRESULT (CGD3D9ENTRY *CGD3DSD)(IDirect3DDevice9 *pDevice); +extern CGD3DSD cgD3D9SetDevice; +typedef CGD3D9DLL_API HRESULT (CGD3D9ENTRY *CGD3DBP)(CGprogram prog); +extern CGD3DBP cgD3D9BindProgram; +typedef CGD3D9DLL_API CGprofile (CGD3D9ENTRY *CGD3DGLVP)(void); +extern CGD3DGLVP cgD3D9GetLatestVertexProfile; +typedef CGD3D9DLL_API CGprofile (CGD3D9ENTRY *CGD3DGLPP)(void); +extern CGD3DGLPP cgD3D9GetLatestPixelProfile; +typedef CGD3D9DLL_API const char ** (CGD3D9ENTRY *CGD3DGOO)(CGprofile profile); +extern CGD3DGOO cgD3D9GetOptimalOptions; +typedef CGD3D9DLL_API HRESULT (CGD3D9ENTRY *CGD3DLP)(CGprogram prog, CGbool paramShadowing, DWORD assemFlags); +extern CGD3DLP cgD3D9LoadProgram; +typedef CGD3D9DLL_API HRESULT (CGD3D9ENTRY *CGD3DSUM)(CGparameter param, const D3DMATRIX *matrix); +extern CGD3DSUM cgD3D9SetUniformMatrix; +typedef CGD3D9DLL_API HRESULT (CGD3D9ENTRY *CGD3DSU)(CGparameter param, const void *floats); +extern CGD3DSU cgD3D9SetUniform; + +//cggl.dll +typedef CGGL_API void (CGGLENTRY *CGGLSSMP)(CGparameter param, CGGLenum matrix, CGGLenum transform); +extern CGGLSSMP cgGLSetStateMatrixParameter; +typedef CGGL_API void (CGGLENTRY *CGGLSP2FV)(CGparameter param, const float *v); +extern CGGLSP2FV cgGLSetParameter2fv; +typedef CGGL_API CGprofile (CGGLENTRY *CGGLGLP)(CGGLenum profile_type); +extern CGGLGLP cgGLGetLatestProfile; +typedef CGGL_API void (CGGLENTRY *CGGLEP)(CGprofile profile); +extern CGGLEP cgGLEnableProfile; +typedef CGGL_API void (CGGLENTRY *CGGLDP)(CGprofile profile); +extern CGGLDP cgGLDisableProfile; +typedef CGGL_API void (CGGLENTRY *CGGLSOO)(CGprofile profile); +extern CGGLSOO cgGLSetOptimalOptions; +typedef CGGL_API void (CGGLENTRY *CGGLLP)(CGprogram program); +extern CGGLLP cgGLLoadProgram; +typedef CGGL_API void (CGGLENTRY *CGGLBP)(CGprogram program); +extern CGGLBP cgGLBindProgram; + + + +//cgfunctions.cpp +bool loadCgFunctions(); +void unloadCgLibrary(); + +#endif diff --git a/win32/snes9xw.vcproj b/win32/snes9xw.vcproj index 0fd8c850..0ba5f785 100644 --- a/win32/snes9xw.vcproj +++ b/win32/snes9xw.vcproj @@ -3201,6 +3201,14 @@ RelativePath=".\CDirectDraw.h" > + + + + From 1640d1e3957a988c4cc9128652d7ecd147d84ed6 Mon Sep 17 00:00:00 2001 From: OV2 Date: Sun, 20 Mar 2011 23:53:39 +0100 Subject: [PATCH 02/25] Win32: add missing copyright, update readme/howtocompile, match preprocessor defines --- win32/COpenGL.cpp | 178 +++++++++++++++++++++++++++++++++ win32/_tfwopen.cpp | 180 +++++++++++++++++++++++++++++++++- win32/_tfwopen.h | 178 +++++++++++++++++++++++++++++++++ win32/cgFunctions.cpp | 178 +++++++++++++++++++++++++++++++++ win32/cgFunctions.h | 180 +++++++++++++++++++++++++++++++++- win32/docs/how2compile.txt | 4 + win32/docs/readme-windows.txt | 10 ++ win32/snes9xw.vcproj | 10 +- 8 files changed, 911 insertions(+), 7 deletions(-) diff --git a/win32/COpenGL.cpp b/win32/COpenGL.cpp index 0828831c..5700c2bb 100644 --- a/win32/COpenGL.cpp +++ b/win32/COpenGL.cpp @@ -1,3 +1,181 @@ +/*********************************************************************************** + Snes9x - Portable Super Nintendo Entertainment System (TM) emulator. + + (c) Copyright 1996 - 2002 Gary Henderson (gary.henderson@ntlworld.com), + Jerremy Koot (jkoot@snes9x.com) + + (c) Copyright 2002 - 2004 Matthew Kendora + + (c) Copyright 2002 - 2005 Peter Bortas (peter@bortas.org) + + (c) Copyright 2004 - 2005 Joel Yliluoma (http://iki.fi/bisqwit/) + + (c) Copyright 2001 - 2006 John Weidman (jweidman@slip.net) + + (c) Copyright 2002 - 2006 funkyass (funkyass@spam.shaw.ca), + Kris Bleakley (codeviolation@hotmail.com) + + (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), + Nach (n-a-c-h@users.sourceforge.net), + zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2006 - 2007 nitsuja + + (c) Copyright 2009 - 2010 BearOso, + OV2 + + + BS-X C emulator code + (c) Copyright 2005 - 2006 Dreamer Nom, + zones + + C4 x86 assembler and some C emulation code + (c) Copyright 2000 - 2003 _Demo_ (_demo_@zsnes.com), + Nach, + zsKnight (zsknight@zsnes.com) + + C4 C++ code + (c) Copyright 2003 - 2006 Brad Jorsch, + Nach + + DSP-1 emulator code + (c) Copyright 1998 - 2006 _Demo_, + Andreas Naive (andreasnaive@gmail.com), + Gary Henderson, + Ivar (ivar@snes9x.com), + John Weidman, + Kris Bleakley, + Matthew Kendora, + Nach, + neviksti (neviksti@hotmail.com) + + DSP-2 emulator code + (c) Copyright 2003 John Weidman, + Kris Bleakley, + Lord Nightmare (lord_nightmare@users.sourceforge.net), + Matthew Kendora, + neviksti + + DSP-3 emulator code + (c) Copyright 2003 - 2006 John Weidman, + Kris Bleakley, + Lancer, + z80 gaiden + + DSP-4 emulator code + (c) Copyright 2004 - 2006 Dreamer Nom, + John Weidman, + Kris Bleakley, + Nach, + z80 gaiden + + OBC1 emulator code + (c) Copyright 2001 - 2004 zsKnight, + pagefault (pagefault@zsnes.com), + Kris Bleakley + Ported from x86 assembler to C by sanmaiwashi + + SPC7110 and RTC C++ emulator code used in 1.39-1.51 + (c) Copyright 2002 Matthew Kendora with research by + zsKnight, + John Weidman, + Dark Force + + SPC7110 and RTC C++ emulator code used in 1.52+ + (c) Copyright 2009 byuu, + neviksti + + S-DD1 C emulator code + (c) Copyright 2003 Brad Jorsch with research by + Andreas Naive, + John Weidman + + S-RTC C emulator code + (c) Copyright 2001 - 2006 byuu, + John Weidman + + ST010 C++ emulator code + (c) Copyright 2003 Feather, + John Weidman, + Kris Bleakley, + Matthew Kendora + + Super FX x86 assembler emulator code + (c) Copyright 1998 - 2003 _Demo_, + pagefault, + zsKnight + + Super FX C emulator code + (c) Copyright 1997 - 1999 Ivar, + Gary Henderson, + John Weidman + + Sound emulator code used in 1.5-1.51 + (c) Copyright 1998 - 2003 Brad Martin + (c) Copyright 1998 - 2006 Charles Bilyue' + + Sound emulator code used in 1.52+ + (c) Copyright 2004 - 2007 Shay Green (gblargg@gmail.com) + + SH assembler code partly based on x86 assembler code + (c) Copyright 2002 - 2004 Marcus Comstedt (marcus@mc.pp.se) + + 2xSaI filter + (c) Copyright 1999 - 2001 Derek Liauw Kie Fa + + HQ2x, HQ3x, HQ4x filters + (c) Copyright 2003 Maxim Stepin (maxim@hiend3d.com) + + NTSC filter + (c) Copyright 2006 - 2007 Shay Green + + GTK+ GUI code + (c) Copyright 2004 - 2010 BearOso + + Win32 GUI code + (c) Copyright 2003 - 2006 blip, + funkyass, + Matthew Kendora, + Nach, + nitsuja + (c) Copyright 2009 - 2010 OV2 + + Mac OS GUI code + (c) Copyright 1998 - 2001 John Stiles + (c) Copyright 2001 - 2010 zones + + + Specific ports contains the works of other authors. See headers in + individual files. + + + Snes9x homepage: http://www.snes9x.com/ + + Permission to use, copy, modify and/or distribute Snes9x in both binary + and source form, for non-commercial purposes, is hereby granted without + fee, providing that this license information and copyright notice appear + with all copies and any derived work. + + This software is provided 'as-is', without any express or implied + warranty. In no event shall the authors be held liable for any damages + arising from the use of this software or it's derivatives. + + Snes9x is freeware for PERSONAL USE only. Commercial users should + seek permission of the copyright holders first. Commercial use includes, + but is not limited to, charging money for Snes9x or software derived from + Snes9x, including Snes9x or derivatives in commercial game bundles, and/or + using Snes9x as a promotion for your commercial product. + + The copyright holders request that bug fixes and improvements to the code + should be forwarded to them so everyone can benefit from the modifications + in future versions. + + Super NES and Super Nintendo Entertainment System are trademarks of + Nintendo Co., Limited and its subsidiary companies. + ***********************************************************************************/ + + + #include "COpenGL.h" #include "win32_display.h" #include "../snes9x.h" diff --git a/win32/_tfwopen.cpp b/win32/_tfwopen.cpp index 15d848ef..6cb86a2b 100644 --- a/win32/_tfwopen.cpp +++ b/win32/_tfwopen.cpp @@ -1,3 +1,181 @@ +/*********************************************************************************** + Snes9x - Portable Super Nintendo Entertainment System (TM) emulator. + + (c) Copyright 1996 - 2002 Gary Henderson (gary.henderson@ntlworld.com), + Jerremy Koot (jkoot@snes9x.com) + + (c) Copyright 2002 - 2004 Matthew Kendora + + (c) Copyright 2002 - 2005 Peter Bortas (peter@bortas.org) + + (c) Copyright 2004 - 2005 Joel Yliluoma (http://iki.fi/bisqwit/) + + (c) Copyright 2001 - 2006 John Weidman (jweidman@slip.net) + + (c) Copyright 2002 - 2006 funkyass (funkyass@spam.shaw.ca), + Kris Bleakley (codeviolation@hotmail.com) + + (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), + Nach (n-a-c-h@users.sourceforge.net), + zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2006 - 2007 nitsuja + + (c) Copyright 2009 - 2010 BearOso, + OV2 + + + BS-X C emulator code + (c) Copyright 2005 - 2006 Dreamer Nom, + zones + + C4 x86 assembler and some C emulation code + (c) Copyright 2000 - 2003 _Demo_ (_demo_@zsnes.com), + Nach, + zsKnight (zsknight@zsnes.com) + + C4 C++ code + (c) Copyright 2003 - 2006 Brad Jorsch, + Nach + + DSP-1 emulator code + (c) Copyright 1998 - 2006 _Demo_, + Andreas Naive (andreasnaive@gmail.com), + Gary Henderson, + Ivar (ivar@snes9x.com), + John Weidman, + Kris Bleakley, + Matthew Kendora, + Nach, + neviksti (neviksti@hotmail.com) + + DSP-2 emulator code + (c) Copyright 2003 John Weidman, + Kris Bleakley, + Lord Nightmare (lord_nightmare@users.sourceforge.net), + Matthew Kendora, + neviksti + + DSP-3 emulator code + (c) Copyright 2003 - 2006 John Weidman, + Kris Bleakley, + Lancer, + z80 gaiden + + DSP-4 emulator code + (c) Copyright 2004 - 2006 Dreamer Nom, + John Weidman, + Kris Bleakley, + Nach, + z80 gaiden + + OBC1 emulator code + (c) Copyright 2001 - 2004 zsKnight, + pagefault (pagefault@zsnes.com), + Kris Bleakley + Ported from x86 assembler to C by sanmaiwashi + + SPC7110 and RTC C++ emulator code used in 1.39-1.51 + (c) Copyright 2002 Matthew Kendora with research by + zsKnight, + John Weidman, + Dark Force + + SPC7110 and RTC C++ emulator code used in 1.52+ + (c) Copyright 2009 byuu, + neviksti + + S-DD1 C emulator code + (c) Copyright 2003 Brad Jorsch with research by + Andreas Naive, + John Weidman + + S-RTC C emulator code + (c) Copyright 2001 - 2006 byuu, + John Weidman + + ST010 C++ emulator code + (c) Copyright 2003 Feather, + John Weidman, + Kris Bleakley, + Matthew Kendora + + Super FX x86 assembler emulator code + (c) Copyright 1998 - 2003 _Demo_, + pagefault, + zsKnight + + Super FX C emulator code + (c) Copyright 1997 - 1999 Ivar, + Gary Henderson, + John Weidman + + Sound emulator code used in 1.5-1.51 + (c) Copyright 1998 - 2003 Brad Martin + (c) Copyright 1998 - 2006 Charles Bilyue' + + Sound emulator code used in 1.52+ + (c) Copyright 2004 - 2007 Shay Green (gblargg@gmail.com) + + SH assembler code partly based on x86 assembler code + (c) Copyright 2002 - 2004 Marcus Comstedt (marcus@mc.pp.se) + + 2xSaI filter + (c) Copyright 1999 - 2001 Derek Liauw Kie Fa + + HQ2x, HQ3x, HQ4x filters + (c) Copyright 2003 Maxim Stepin (maxim@hiend3d.com) + + NTSC filter + (c) Copyright 2006 - 2007 Shay Green + + GTK+ GUI code + (c) Copyright 2004 - 2010 BearOso + + Win32 GUI code + (c) Copyright 2003 - 2006 blip, + funkyass, + Matthew Kendora, + Nach, + nitsuja + (c) Copyright 2009 - 2010 OV2 + + Mac OS GUI code + (c) Copyright 1998 - 2001 John Stiles + (c) Copyright 2001 - 2010 zones + + + Specific ports contains the works of other authors. See headers in + individual files. + + + Snes9x homepage: http://www.snes9x.com/ + + Permission to use, copy, modify and/or distribute Snes9x in both binary + and source form, for non-commercial purposes, is hereby granted without + fee, providing that this license information and copyright notice appear + with all copies and any derived work. + + This software is provided 'as-is', without any express or implied + warranty. In no event shall the authors be held liable for any damages + arising from the use of this software or it's derivatives. + + Snes9x is freeware for PERSONAL USE only. Commercial users should + seek permission of the copyright holders first. Commercial use includes, + but is not limited to, charging money for Snes9x or software derived from + Snes9x, including Snes9x or derivatives in commercial game bundles, and/or + using Snes9x as a promotion for your commercial product. + + The copyright holders request that bug fixes and improvements to the code + should be forwarded to them so everyone can benefit from the modifications + in future versions. + + Super NES and Super Nintendo Entertainment System are trademarks of + Nintendo Co., Limited and its subsidiary companies. + ***********************************************************************************/ + + + #ifdef UNICODE #include #include "_tfwopen.h" @@ -25,4 +203,4 @@ extern "C" int _twremove(const char *filename ) { return _wremove(Utf8ToWide(filename)); } -#endif // UNICODE \ No newline at end of file +#endif // UNICODE diff --git a/win32/_tfwopen.h b/win32/_tfwopen.h index 0dd94e28..23dce67d 100644 --- a/win32/_tfwopen.h +++ b/win32/_tfwopen.h @@ -1,3 +1,181 @@ +/*********************************************************************************** + Snes9x - Portable Super Nintendo Entertainment System (TM) emulator. + + (c) Copyright 1996 - 2002 Gary Henderson (gary.henderson@ntlworld.com), + Jerremy Koot (jkoot@snes9x.com) + + (c) Copyright 2002 - 2004 Matthew Kendora + + (c) Copyright 2002 - 2005 Peter Bortas (peter@bortas.org) + + (c) Copyright 2004 - 2005 Joel Yliluoma (http://iki.fi/bisqwit/) + + (c) Copyright 2001 - 2006 John Weidman (jweidman@slip.net) + + (c) Copyright 2002 - 2006 funkyass (funkyass@spam.shaw.ca), + Kris Bleakley (codeviolation@hotmail.com) + + (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), + Nach (n-a-c-h@users.sourceforge.net), + zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2006 - 2007 nitsuja + + (c) Copyright 2009 - 2010 BearOso, + OV2 + + + BS-X C emulator code + (c) Copyright 2005 - 2006 Dreamer Nom, + zones + + C4 x86 assembler and some C emulation code + (c) Copyright 2000 - 2003 _Demo_ (_demo_@zsnes.com), + Nach, + zsKnight (zsknight@zsnes.com) + + C4 C++ code + (c) Copyright 2003 - 2006 Brad Jorsch, + Nach + + DSP-1 emulator code + (c) Copyright 1998 - 2006 _Demo_, + Andreas Naive (andreasnaive@gmail.com), + Gary Henderson, + Ivar (ivar@snes9x.com), + John Weidman, + Kris Bleakley, + Matthew Kendora, + Nach, + neviksti (neviksti@hotmail.com) + + DSP-2 emulator code + (c) Copyright 2003 John Weidman, + Kris Bleakley, + Lord Nightmare (lord_nightmare@users.sourceforge.net), + Matthew Kendora, + neviksti + + DSP-3 emulator code + (c) Copyright 2003 - 2006 John Weidman, + Kris Bleakley, + Lancer, + z80 gaiden + + DSP-4 emulator code + (c) Copyright 2004 - 2006 Dreamer Nom, + John Weidman, + Kris Bleakley, + Nach, + z80 gaiden + + OBC1 emulator code + (c) Copyright 2001 - 2004 zsKnight, + pagefault (pagefault@zsnes.com), + Kris Bleakley + Ported from x86 assembler to C by sanmaiwashi + + SPC7110 and RTC C++ emulator code used in 1.39-1.51 + (c) Copyright 2002 Matthew Kendora with research by + zsKnight, + John Weidman, + Dark Force + + SPC7110 and RTC C++ emulator code used in 1.52+ + (c) Copyright 2009 byuu, + neviksti + + S-DD1 C emulator code + (c) Copyright 2003 Brad Jorsch with research by + Andreas Naive, + John Weidman + + S-RTC C emulator code + (c) Copyright 2001 - 2006 byuu, + John Weidman + + ST010 C++ emulator code + (c) Copyright 2003 Feather, + John Weidman, + Kris Bleakley, + Matthew Kendora + + Super FX x86 assembler emulator code + (c) Copyright 1998 - 2003 _Demo_, + pagefault, + zsKnight + + Super FX C emulator code + (c) Copyright 1997 - 1999 Ivar, + Gary Henderson, + John Weidman + + Sound emulator code used in 1.5-1.51 + (c) Copyright 1998 - 2003 Brad Martin + (c) Copyright 1998 - 2006 Charles Bilyue' + + Sound emulator code used in 1.52+ + (c) Copyright 2004 - 2007 Shay Green (gblargg@gmail.com) + + SH assembler code partly based on x86 assembler code + (c) Copyright 2002 - 2004 Marcus Comstedt (marcus@mc.pp.se) + + 2xSaI filter + (c) Copyright 1999 - 2001 Derek Liauw Kie Fa + + HQ2x, HQ3x, HQ4x filters + (c) Copyright 2003 Maxim Stepin (maxim@hiend3d.com) + + NTSC filter + (c) Copyright 2006 - 2007 Shay Green + + GTK+ GUI code + (c) Copyright 2004 - 2010 BearOso + + Win32 GUI code + (c) Copyright 2003 - 2006 blip, + funkyass, + Matthew Kendora, + Nach, + nitsuja + (c) Copyright 2009 - 2010 OV2 + + Mac OS GUI code + (c) Copyright 1998 - 2001 John Stiles + (c) Copyright 2001 - 2010 zones + + + Specific ports contains the works of other authors. See headers in + individual files. + + + Snes9x homepage: http://www.snes9x.com/ + + Permission to use, copy, modify and/or distribute Snes9x in both binary + and source form, for non-commercial purposes, is hereby granted without + fee, providing that this license information and copyright notice appear + with all copies and any derived work. + + This software is provided 'as-is', without any express or implied + warranty. In no event shall the authors be held liable for any damages + arising from the use of this software or it's derivatives. + + Snes9x is freeware for PERSONAL USE only. Commercial users should + seek permission of the copyright holders first. Commercial use includes, + but is not limited to, charging money for Snes9x or software derived from + Snes9x, including Snes9x or derivatives in commercial game bundles, and/or + using Snes9x as a promotion for your commercial product. + + The copyright holders request that bug fixes and improvements to the code + should be forwarded to them so everyone can benefit from the modifications + in future versions. + + Super NES and Super Nintendo Entertainment System are trademarks of + Nintendo Co., Limited and its subsidiary companies. + ***********************************************************************************/ + + + #ifdef UNICODE #ifndef _TFWOPEN_H #define _TFWOPEN_H diff --git a/win32/cgFunctions.cpp b/win32/cgFunctions.cpp index a1cfa39c..93bbb438 100644 --- a/win32/cgFunctions.cpp +++ b/win32/cgFunctions.cpp @@ -1,3 +1,181 @@ +/*********************************************************************************** + Snes9x - Portable Super Nintendo Entertainment System (TM) emulator. + + (c) Copyright 1996 - 2002 Gary Henderson (gary.henderson@ntlworld.com), + Jerremy Koot (jkoot@snes9x.com) + + (c) Copyright 2002 - 2004 Matthew Kendora + + (c) Copyright 2002 - 2005 Peter Bortas (peter@bortas.org) + + (c) Copyright 2004 - 2005 Joel Yliluoma (http://iki.fi/bisqwit/) + + (c) Copyright 2001 - 2006 John Weidman (jweidman@slip.net) + + (c) Copyright 2002 - 2006 funkyass (funkyass@spam.shaw.ca), + Kris Bleakley (codeviolation@hotmail.com) + + (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), + Nach (n-a-c-h@users.sourceforge.net), + zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2006 - 2007 nitsuja + + (c) Copyright 2009 - 2010 BearOso, + OV2 + + + BS-X C emulator code + (c) Copyright 2005 - 2006 Dreamer Nom, + zones + + C4 x86 assembler and some C emulation code + (c) Copyright 2000 - 2003 _Demo_ (_demo_@zsnes.com), + Nach, + zsKnight (zsknight@zsnes.com) + + C4 C++ code + (c) Copyright 2003 - 2006 Brad Jorsch, + Nach + + DSP-1 emulator code + (c) Copyright 1998 - 2006 _Demo_, + Andreas Naive (andreasnaive@gmail.com), + Gary Henderson, + Ivar (ivar@snes9x.com), + John Weidman, + Kris Bleakley, + Matthew Kendora, + Nach, + neviksti (neviksti@hotmail.com) + + DSP-2 emulator code + (c) Copyright 2003 John Weidman, + Kris Bleakley, + Lord Nightmare (lord_nightmare@users.sourceforge.net), + Matthew Kendora, + neviksti + + DSP-3 emulator code + (c) Copyright 2003 - 2006 John Weidman, + Kris Bleakley, + Lancer, + z80 gaiden + + DSP-4 emulator code + (c) Copyright 2004 - 2006 Dreamer Nom, + John Weidman, + Kris Bleakley, + Nach, + z80 gaiden + + OBC1 emulator code + (c) Copyright 2001 - 2004 zsKnight, + pagefault (pagefault@zsnes.com), + Kris Bleakley + Ported from x86 assembler to C by sanmaiwashi + + SPC7110 and RTC C++ emulator code used in 1.39-1.51 + (c) Copyright 2002 Matthew Kendora with research by + zsKnight, + John Weidman, + Dark Force + + SPC7110 and RTC C++ emulator code used in 1.52+ + (c) Copyright 2009 byuu, + neviksti + + S-DD1 C emulator code + (c) Copyright 2003 Brad Jorsch with research by + Andreas Naive, + John Weidman + + S-RTC C emulator code + (c) Copyright 2001 - 2006 byuu, + John Weidman + + ST010 C++ emulator code + (c) Copyright 2003 Feather, + John Weidman, + Kris Bleakley, + Matthew Kendora + + Super FX x86 assembler emulator code + (c) Copyright 1998 - 2003 _Demo_, + pagefault, + zsKnight + + Super FX C emulator code + (c) Copyright 1997 - 1999 Ivar, + Gary Henderson, + John Weidman + + Sound emulator code used in 1.5-1.51 + (c) Copyright 1998 - 2003 Brad Martin + (c) Copyright 1998 - 2006 Charles Bilyue' + + Sound emulator code used in 1.52+ + (c) Copyright 2004 - 2007 Shay Green (gblargg@gmail.com) + + SH assembler code partly based on x86 assembler code + (c) Copyright 2002 - 2004 Marcus Comstedt (marcus@mc.pp.se) + + 2xSaI filter + (c) Copyright 1999 - 2001 Derek Liauw Kie Fa + + HQ2x, HQ3x, HQ4x filters + (c) Copyright 2003 Maxim Stepin (maxim@hiend3d.com) + + NTSC filter + (c) Copyright 2006 - 2007 Shay Green + + GTK+ GUI code + (c) Copyright 2004 - 2010 BearOso + + Win32 GUI code + (c) Copyright 2003 - 2006 blip, + funkyass, + Matthew Kendora, + Nach, + nitsuja + (c) Copyright 2009 - 2010 OV2 + + Mac OS GUI code + (c) Copyright 1998 - 2001 John Stiles + (c) Copyright 2001 - 2010 zones + + + Specific ports contains the works of other authors. See headers in + individual files. + + + Snes9x homepage: http://www.snes9x.com/ + + Permission to use, copy, modify and/or distribute Snes9x in both binary + and source form, for non-commercial purposes, is hereby granted without + fee, providing that this license information and copyright notice appear + with all copies and any derived work. + + This software is provided 'as-is', without any express or implied + warranty. In no event shall the authors be held liable for any damages + arising from the use of this software or it's derivatives. + + Snes9x is freeware for PERSONAL USE only. Commercial users should + seek permission of the copyright holders first. Commercial use includes, + but is not limited to, charging money for Snes9x or software derived from + Snes9x, including Snes9x or derivatives in commercial game bundles, and/or + using Snes9x as a promotion for your commercial product. + + The copyright holders request that bug fixes and improvements to the code + should be forwarded to them so everyone can benefit from the modifications + in future versions. + + Super NES and Super Nintendo Entertainment System are trademarks of + Nintendo Co., Limited and its subsidiary companies. + ***********************************************************************************/ + + + #include "cgFunctions.h" HMODULE hCgDll = NULL; diff --git a/win32/cgFunctions.h b/win32/cgFunctions.h index 27b47cdd..684e06cf 100644 --- a/win32/cgFunctions.h +++ b/win32/cgFunctions.h @@ -1,3 +1,181 @@ +/*********************************************************************************** + Snes9x - Portable Super Nintendo Entertainment System (TM) emulator. + + (c) Copyright 1996 - 2002 Gary Henderson (gary.henderson@ntlworld.com), + Jerremy Koot (jkoot@snes9x.com) + + (c) Copyright 2002 - 2004 Matthew Kendora + + (c) Copyright 2002 - 2005 Peter Bortas (peter@bortas.org) + + (c) Copyright 2004 - 2005 Joel Yliluoma (http://iki.fi/bisqwit/) + + (c) Copyright 2001 - 2006 John Weidman (jweidman@slip.net) + + (c) Copyright 2002 - 2006 funkyass (funkyass@spam.shaw.ca), + Kris Bleakley (codeviolation@hotmail.com) + + (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), + Nach (n-a-c-h@users.sourceforge.net), + zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2006 - 2007 nitsuja + + (c) Copyright 2009 - 2010 BearOso, + OV2 + + + BS-X C emulator code + (c) Copyright 2005 - 2006 Dreamer Nom, + zones + + C4 x86 assembler and some C emulation code + (c) Copyright 2000 - 2003 _Demo_ (_demo_@zsnes.com), + Nach, + zsKnight (zsknight@zsnes.com) + + C4 C++ code + (c) Copyright 2003 - 2006 Brad Jorsch, + Nach + + DSP-1 emulator code + (c) Copyright 1998 - 2006 _Demo_, + Andreas Naive (andreasnaive@gmail.com), + Gary Henderson, + Ivar (ivar@snes9x.com), + John Weidman, + Kris Bleakley, + Matthew Kendora, + Nach, + neviksti (neviksti@hotmail.com) + + DSP-2 emulator code + (c) Copyright 2003 John Weidman, + Kris Bleakley, + Lord Nightmare (lord_nightmare@users.sourceforge.net), + Matthew Kendora, + neviksti + + DSP-3 emulator code + (c) Copyright 2003 - 2006 John Weidman, + Kris Bleakley, + Lancer, + z80 gaiden + + DSP-4 emulator code + (c) Copyright 2004 - 2006 Dreamer Nom, + John Weidman, + Kris Bleakley, + Nach, + z80 gaiden + + OBC1 emulator code + (c) Copyright 2001 - 2004 zsKnight, + pagefault (pagefault@zsnes.com), + Kris Bleakley + Ported from x86 assembler to C by sanmaiwashi + + SPC7110 and RTC C++ emulator code used in 1.39-1.51 + (c) Copyright 2002 Matthew Kendora with research by + zsKnight, + John Weidman, + Dark Force + + SPC7110 and RTC C++ emulator code used in 1.52+ + (c) Copyright 2009 byuu, + neviksti + + S-DD1 C emulator code + (c) Copyright 2003 Brad Jorsch with research by + Andreas Naive, + John Weidman + + S-RTC C emulator code + (c) Copyright 2001 - 2006 byuu, + John Weidman + + ST010 C++ emulator code + (c) Copyright 2003 Feather, + John Weidman, + Kris Bleakley, + Matthew Kendora + + Super FX x86 assembler emulator code + (c) Copyright 1998 - 2003 _Demo_, + pagefault, + zsKnight + + Super FX C emulator code + (c) Copyright 1997 - 1999 Ivar, + Gary Henderson, + John Weidman + + Sound emulator code used in 1.5-1.51 + (c) Copyright 1998 - 2003 Brad Martin + (c) Copyright 1998 - 2006 Charles Bilyue' + + Sound emulator code used in 1.52+ + (c) Copyright 2004 - 2007 Shay Green (gblargg@gmail.com) + + SH assembler code partly based on x86 assembler code + (c) Copyright 2002 - 2004 Marcus Comstedt (marcus@mc.pp.se) + + 2xSaI filter + (c) Copyright 1999 - 2001 Derek Liauw Kie Fa + + HQ2x, HQ3x, HQ4x filters + (c) Copyright 2003 Maxim Stepin (maxim@hiend3d.com) + + NTSC filter + (c) Copyright 2006 - 2007 Shay Green + + GTK+ GUI code + (c) Copyright 2004 - 2010 BearOso + + Win32 GUI code + (c) Copyright 2003 - 2006 blip, + funkyass, + Matthew Kendora, + Nach, + nitsuja + (c) Copyright 2009 - 2010 OV2 + + Mac OS GUI code + (c) Copyright 1998 - 2001 John Stiles + (c) Copyright 2001 - 2010 zones + + + Specific ports contains the works of other authors. See headers in + individual files. + + + Snes9x homepage: http://www.snes9x.com/ + + Permission to use, copy, modify and/or distribute Snes9x in both binary + and source form, for non-commercial purposes, is hereby granted without + fee, providing that this license information and copyright notice appear + with all copies and any derived work. + + This software is provided 'as-is', without any express or implied + warranty. In no event shall the authors be held liable for any damages + arising from the use of this software or it's derivatives. + + Snes9x is freeware for PERSONAL USE only. Commercial users should + seek permission of the copyright holders first. Commercial use includes, + but is not limited to, charging money for Snes9x or software derived from + Snes9x, including Snes9x or derivatives in commercial game bundles, and/or + using Snes9x as a promotion for your commercial product. + + The copyright holders request that bug fixes and improvements to the code + should be forwarded to them so everyone can benefit from the modifications + in future versions. + + Super NES and Super Nintendo Entertainment System are trademarks of + Nintendo Co., Limited and its subsidiary companies. + ***********************************************************************************/ + + + #ifndef CGFUNCTIONS_H #define CGFUNCTIONS_H @@ -69,4 +247,4 @@ extern CGGLBP cgGLBindProgram; bool loadCgFunctions(); void unloadCgLibrary(); -#endif +#endif //CGFUNCTIONS_H diff --git a/win32/docs/how2compile.txt b/win32/docs/how2compile.txt index b6785026..0e50be36 100644 --- a/win32/docs/how2compile.txt +++ b/win32/docs/how2compile.txt @@ -37,6 +37,10 @@ NOTE: Unicode support requires a special zlib build - see the end of the zlib en normal FMOD support. Disable fmod support by removing the FMODEX_SUPPORT from the Preprocessor Definitions text box. +- CG Toolkit - Enables CG Shader support. This can be downloaded from nvidia's CG toolkit page: + http://developer.nvidia.com/object/cg_download.html + Only the header files are required to compile. + - To compile Snes9x: Start up Visual C++. Load the Snes9x project file. diff --git a/win32/docs/readme-windows.txt b/win32/docs/readme-windows.txt index 04133126..0127370b 100644 --- a/win32/docs/readme-windows.txt +++ b/win32/docs/readme-windows.txt @@ -163,6 +163,16 @@ without also owning the actual SNES ROM cartridges, and even then you may be liable under various EULAs. +CG Shaders +-------- +If you want to use CG Shaders in Snex9x for windows you need to install the +CG Toolkit from nvidia's developer zone: +http://developer.nvidia.com/object/cg_download.html + +CG shaders work in both D3D and OpenGL. Various shaders can be found in +Themaister's Emulator Shader Pack: +https://github.com/Themaister/Emulator-Shader-Pack + Controllers Support =================== diff --git a/win32/snes9xw.vcproj b/win32/snes9xw.vcproj index 0ba5f785..4b5bda35 100644 --- a/win32/snes9xw.vcproj +++ b/win32/snes9xw.vcproj @@ -256,7 +256,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="$(ProjectDir),$(ProjectDir)..\,$(ProjectDir)..\..\,$(ProjectDir)..\..\zLib,$(ProjectDir)..\unzip,$(ProjectDir)..\..\FMOD\api\inc,$(ProjectDir)..\..\libPNG\src,$(ProjectDir)..\snes9x" - PreprocessorDefinitions="_DEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;ZLIB;UNZIP_SUPPORT;__WIN32__;NETPLAY_SUPPORT;FMODEX_SUPPORT;D3D_DEBUG_INFO" + PreprocessorDefinitions="_DEBUG;HAVE_LIBPNG;JMA_SUPPORT;ZLIB;UNZIP_SUPPORT;__WIN32__;FMODEX_SUPPORT;NETPLAY_SUPPORT;D3D_DEBUG_INFO" RuntimeLibrary="1" StructMemberAlignment="0" UsePrecompiledHeader="0" @@ -355,7 +355,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="$(ProjectDir),$(ProjectDir)..\,$(ProjectDir)..\..\,$(ProjectDir)..\..\zLib,$(ProjectDir)..\unzip,$(ProjectDir)..\..\FMOD\api\inc,$(ProjectDir)..\..\libPNG\src,$(ProjectDir)..\snes9x" - PreprocessorDefinitions="_DEBUG;HAVE_LIBPNG;JMA_SUPPORT;ZLIB;UNZIP_SUPPORT;__WIN32__;NETPLAY_SUPPORT;FMODEX_SUPPORT;D3D_DEBUG_INFO" + PreprocessorDefinitions="_DEBUG;HAVE_LIBPNG;JMA_SUPPORT;ZLIB;UNZIP_SUPPORT;__WIN32__;FMODEX_SUPPORT;NETPLAY_SUPPORT;D3D_DEBUG_INFO" RuntimeLibrary="1" StructMemberAlignment="0" UsePrecompiledHeader="0" @@ -454,7 +454,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories=""$(ProjectDir)";"$(ProjectDir)..\";"$(ProjectDir)..\..\";"$(ProjectDir)..\..\zLib";"$(ProjectDir)..\unzip";"$(ProjectDir)..\..\FMOD\api\inc";"$(ProjectDir)..\..\libPNG\src";"$(ProjectDir)..\snes9x"" - PreprocessorDefinitions="_DEBUG;HAVE_LIBPNG;JMA_SUPPORT;ZLIB;UNZIP_SUPPORT;__WIN32__;NETPLAY_SUPPORT;FMODEX_SUPPORT;D3D_DEBUG_INFO" + PreprocessorDefinitions="_DEBUG;HAVE_LIBPNG;JMA_SUPPORT;ZLIB;UNZIP_SUPPORT;__WIN32__;FMODEX_SUPPORT;NETPLAY_SUPPORT;D3D_DEBUG_INFO" RuntimeLibrary="1" StructMemberAlignment="0" UsePrecompiledHeader="0" @@ -554,7 +554,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories=""$(ProjectDir)";"$(ProjectDir)..\";"$(ProjectDir)..\..\";"$(ProjectDir)..\..\zLib";"$(ProjectDir)..\unzip";"$(ProjectDir)..\..\FMOD\api\inc";"$(ProjectDir)..\..\libPNG\src";"$(ProjectDir)..\snes9x"" - PreprocessorDefinitions="_DEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;ZLIB;UNZIP_SUPPORT;__WIN32__;NETPLAY_SUPPORT;FMODEX_SUPPORT;D3D_DEBUG_INFO;DEBUGGER" + PreprocessorDefinitions="_DEBUG;HAVE_LIBPNG;JMA_SUPPORT;ZLIB;UNZIP_SUPPORT;__WIN32__;FMODEX_SUPPORT;NETPLAY_SUPPORT;D3D_DEBUG_INFO" RuntimeLibrary="1" StructMemberAlignment="0" UsePrecompiledHeader="0" @@ -766,7 +766,7 @@ OmitFramePointers="true" WholeProgramOptimization="true" AdditionalIncludeDirectories="$(ProjectDir),$(ProjectDir)..\,$(ProjectDir)..\..\,$(ProjectDir)..\..\zLib,$(ProjectDir)..\unzip,$(ProjectDir)..\..\FMOD\api\inc,$(ProjectDir)..\..\libPNG\src,$(ProjectDir)..\snes9x" - PreprocessorDefinitions="NDEBUG;HAVE_LIBPNG;JMA_SUPPORT;CORRECT_VRAM_READS;ZLIB;UNZIP_SUPPORT;__WIN32__;FMODEX_SUPPORT;NETPLAY_SUPPORT" + PreprocessorDefinitions="NDEBUG;HAVE_LIBPNG;JMA_SUPPORT;ZLIB;UNZIP_SUPPORT;__WIN32__;FMODEX_SUPPORT;NETPLAY_SUPPORT" StringPooling="true" RuntimeLibrary="0" StructMemberAlignment="0" From 58a58c110e1e317d5b6d7601124ff64a7c160d50 Mon Sep 17 00:00:00 2001 From: zones Date: Mon, 21 Mar 2011 19:43:33 +0900 Subject: [PATCH 03/25] Mac: 10.3.x support, replace nib with xib --- macosx/English.lproj/Snes9x.xib | 42113 ++++++++++++++++++++++ macosx/mac-os.mm | 41 +- macosx/snes9x.xcodeproj/project.pbxproj | 40 +- 3 files changed, 42162 insertions(+), 32 deletions(-) create mode 100644 macosx/English.lproj/Snes9x.xib diff --git a/macosx/English.lproj/Snes9x.xib b/macosx/English.lproj/Snes9x.xib new file mode 100644 index 00000000..7e58c378 --- /dev/null +++ b/macosx/English.lproj/Snes9x.xib @@ -0,0 +1,42113 @@ + + + + 1060 + 10J567 + 851 + 1038.35 + 462.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Automatic Fire + + + 256 + + + + 256 + + + + 256 + + + + 256 + + + + 256 + + + + 256 + {{16, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{46, 76}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{46, 16}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{76, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{266, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{206, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{236, 16}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{123, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{159, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{236, 76}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{102, 90}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{180, 90}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{0, 14}, {310, 134}} + + + + {{20, 6}, {310, 148}} + + + + + + + + + + Set whether automatic fire is enabled for each controller button. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Enable Automatic Fire + + + + + + + + + + + + 256 + + + + 256 + + + + 256 + {{16, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{46, 76}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{46, 16}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{76, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{266, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{206, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{236, 16}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{123, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{159, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{236, 76}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{102, 90}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{180, 90}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{0, 14}, {310, 134}} + + + + {{350, 6}, {310, 148}} + + + + + + + + + + Set whether pressing 'Alt' in conjunction with a controller button in-game toggles its automatic fire on/off. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Allow 'Alt' to Toggle Enable/Disable Automatic Fire + + + + + + + + + + + + 256 + + + + 256 + + + + 256 + {{16, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{46, 76}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{46, 16}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{76, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{266, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{206, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{236, 16}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{123, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{159, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{236, 76}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{102, 90}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{180, 90}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{0, 14}, {310, 134}} + + + + {{20, 164}, {310, 148}} + + + + + + + + + + Set whether, when automatic fire is enabled, 'TC' must also be held down to activate automatic fire. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Automatic Fire is Active Only While 'TC' is Pressed + + + + + + + + + + + + 256 + + + + 256 + + + + 256 + {{16, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{46, 76}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{46, 16}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{76, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{266, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{206, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{236, 16}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{123, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{159, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{236, 76}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{102, 90}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{180, 90}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{0, 14}, {310, 134}} + + + + {{350, 164}, {310, 148}} + + + + + + + + + + Set whether a button's input is inverted - that is, Snes9x acts as though the button is pressed if and only if it is not pressed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Button Input is Inverted + + + + + + + + + + + + 256 + + + + 256 + + + + 256 + {{13, 11}, {221, 31}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{242, 22}, {19, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10 + + + + + + + + 256 + {{265, 22}, {29, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / sec + + + + + + + {{0, 14}, {310, 56}} + + + + {{20, 322}, {310, 70}} + + + + + + + + + + Set the number of presses per second that an automatic fire button receives. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Automatic Fire Speed + + + + + + + + + + + + 256 + {{573, 368}, {93, 32}} + + + + + + + + + + Restores the default settings. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Defaults + + + {{8, 36}, {680, 412}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{13, 6}, {697, 456}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + YES + + + Player 1 + + + + + 0 + YES + + + 256 + + + + 256 + + + + 256 + + + + 256 + {{16, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{46, 76}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{46, 16}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{76, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{266, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{206, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{236, 16}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{123, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{159, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{236, 76}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{102, 90}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{180, 90}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{0, 14}, {310, 134}} + + + + {{350, 6}, {310, 148}} + + + + + + + + + + Set whether pressing 'Alt' in conjunction with a controller button in-game toggles its automatic fire on/off. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Allow 'Alt' to Toggle Enable/Disable Automatic Fire + + + + + + + + + + + + 256 + + + + 256 + + + + 256 + {{16, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{46, 76}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{46, 16}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{76, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{266, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{206, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{236, 16}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{123, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{159, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{236, 76}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{102, 90}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{180, 90}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{0, 14}, {310, 134}} + + + + {{20, 6}, {310, 148}} + + + + + + + + + + Set whether automatic fire is enabled for each controller button. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Enable Automatic Fire + + + + + + + + + + + + 256 + + + + 256 + + + + 256 + {{16, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{46, 76}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{46, 16}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{76, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{266, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{206, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{236, 16}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{123, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{159, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{236, 76}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{102, 90}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{180, 90}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{0, 14}, {310, 134}} + + + + {{20, 164}, {310, 148}} + + + + + + + + + + Set whether, when automatic fire is enabled, 'TC' must also be held down to activate automatic fire. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Automatic Fire is Active Only While 'TC' is Pressed + + + + + + + + + + + + 256 + + + + 256 + + + + 256 + {{16, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{46, 76}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{46, 16}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{76, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{266, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{206, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{236, 16}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{123, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{159, 46}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{236, 76}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{102, 90}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{180, 90}, {28, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{0, 14}, {310, 134}} + + + + {{350, 164}, {310, 148}} + + + + + + + + + + Set whether a button's input is inverted - that is, Snes9x acts as though the button is pressed if and only if it is not pressed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Button Input is Inverted + + + + + + + + + + + + 256 + + + + 256 + + + + 256 + {{13, 11}, {221, 31}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{242, 22}, {19, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10 + + + + + + + + 256 + {{265, 22}, {29, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / sec + + + + + + + {{0, 14}, {310, 56}} + + + + {{20, 322}, {310, 70}} + + + + + + + + + + Set the number of presses per second that an automatic fire button receives. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Automatic Fire Speed + + + + + + + + + + + + 256 + {{573, 368}, {93, 32}} + + + + + + + + + + Restores the default settings. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Defaults + + + {{8, 36}, {680, 412}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Player 2 + + + + + + + + {723, 472} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{40, 80}, {723, 472}} + {{0, 0}, {1024, 768}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Configure Controllers + + + 256 + + + + 256 + + + + 256 + + + + 256 + {{10, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{40, 69}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{40, 9}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{70, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{260, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{200, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{230, 9}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{117, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{153, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{230, 69}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{96, 83}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{174, 83}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{0, 14}, {302, 126}} + + + + {{20, 6}, {302, 140}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Player 1 + + + + + + + + + + + + 256 + + + + 256 + + + + 256 + {{10, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{40, 69}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{40, 9}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{70, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{260, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{200, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{230, 9}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{117, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{153, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{230, 69}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{96, 83}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{174, 83}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{0, 14}, {302, 126}} + + + + {{342, 6}, {302, 140}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Player 2 + + + + + + + + + + + + 256 + + + + 256 + + + + 256 + {{10, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{40, 69}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{40, 9}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{70, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{260, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{200, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{230, 9}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{117, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{153, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{230, 69}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{96, 83}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{174, 83}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{0, 14}, {302, 126}} + + + + {{664, 6}, {302, 140}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Player 3 + + + + + + + + + + + + 256 + + + + 256 + + + + 256 + {{10, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{40, 69}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{40, 9}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{70, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{260, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{200, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{230, 9}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{117, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{153, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{230, 69}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{96, 83}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{174, 83}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{0, 14}, {302, 126}} + + + + {{20, 152}, {302, 140}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Player 4 + + + + + + + + + + + + 256 + + + + 256 + + + + 256 + {{10, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{40, 69}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{40, 9}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{70, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{260, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{200, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{230, 9}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{117, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{153, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{230, 69}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{96, 83}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{174, 83}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{0, 14}, {302, 126}} + + + + {{342, 152}, {302, 140}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Player 5 + + + + + + + + + + + + 256 + + + + 256 + + + + 256 + {{46, 46}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{188, 9}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{188, 83}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{46, 9}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{260, 9}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{188, 46}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{224, 9}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{224, 46}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{260, 46}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{10, 9}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{10, 46}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{152, 9}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{10, 83}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{46, 83}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{82, 83}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{260, 83}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{224, 83}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{0, 14}, {302, 126}} + + + + {{664, 298}, {302, 140}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Common + + + + + + + + + + + + 256 + {{15, 450}, {97, 30}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Clear All + + + + 256 + {{130, 456}, {95, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Preset #n + + + + + + + + 256 + + + + 256 + + + + 256 + {{10, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{40, 69}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{40, 9}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{70, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{260, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{200, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{230, 9}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{117, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{153, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{230, 69}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{96, 83}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{174, 83}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{0, 14}, {302, 126}} + + + + {{664, 152}, {302, 140}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Player 6 + + + + + + + + + + + + 256 + + + + 256 + + + + 256 + {{10, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{40, 69}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{40, 9}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{70, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{260, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{200, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{230, 9}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{117, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{153, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{230, 69}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{96, 83}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{174, 83}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{0, 14}, {302, 126}} + + + + {{20, 298}, {302, 140}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Player 7 + + + + + + + + + + + + 256 + + + + 256 + + + + 256 + {{10, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{40, 69}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{40, 9}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{70, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{260, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{200, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{230, 9}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{117, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{153, 39}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{230, 69}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{96, 83}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{174, 83}, {32, 33}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{0, 14}, {302, 126}} + + + + {{342, 298}, {302, 140}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Player 8 + + + + + + + + + + + {986, 491} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{40, 80}, {986, 491}} + {{0, 0}, {1024, 768}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Connect to Server + + + 256 + + + + 256 + {{90, 16}, {186, 30}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{104, 88}, {82, 32}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cancel + + + + 256 + {{186, 88}, {92, 32}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Connect + + + + 256 + {{90, 46}, {186, 30}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{20, 23}, {63, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Server IP : + + + + + + + + 256 + {{20, 53}, {63, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name : + + + + + + + + 256 + {{18, 98}, {16, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {292, 132} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{40, 80}, {292, 132}} + {{0, 0}, {1024, 768}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CFDrawer + + + 256 + {276, 260} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{40, 80}, {276, 260}} + {{0, 0}, {1024, 768}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + RecordSMVControl + + + 256 + + + + 256 + + + + 256 + {{7, 8}, {103, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Players to Record : + + + + + + + + 256 + {{7, 33}, {60, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Comment : + + + + + + + + 256 + {{70, 26}, {359, 27}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{114, 7}, {26, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + 256 + {{152, 7}, {26, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + 256 + {{190, 7}, {26, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + 256 + {{228, 7}, {26, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + 256 + {{266, 7}, {26, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + 256 + {{358, 7}, {48, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reset + + + {433, 57} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {433, 55} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{40, 80}, {433, 55}} + {{0, 0}, {1024, 768}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Game Window + + + 256 + + + + 256 + {512, 478} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {512, 478} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{40, 80}, {512, 478}} + {{0, 0}, {1024, 768}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Core Image Filter Setting + + + 256 + + + + 256 + {{20, 22}, {44, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Filter : + + + + + + + + 256 + {{12, 60}, {349, 1}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {373, 81} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{40, 80}, {373, 81}} + {{0, 0}, {1024, 768}} + + + + + S9xMenu + + + + Snes9x + + 1048576 + 2147483647 + + NSMenuCheckmark + 1623195648 + + + NSMenuMixedState + 1623195648 + + submenuAction: + + Snes9x + + + + About Snes9x + + 2147483647 + + + About Snes9x + + + + + + + + + + + + + + + + + + + + + + _NSAppleMenu + Snes9x + + + + + + + + Snes9x + + + + + + + + + + + + + + + + + + + + + + + File + + 1048576 + 2147483647 + + + submenuAction: + + File + + + + Open ROM Image... + o + 1048576 + 2147483647 + + + Open ROM Image... + o + + + + + + + + + + + + + + + + + + + + + + Open Multiple ROM Images... + O + 1179648 + 2147483647 + + + Open Multiple ROM Images... + O + + + + + + + + + + + + + + + + + + + + + + Open Recent + + 1048576 + 2147483647 + + + Open Recent + + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + Close + w + 1048576 + 2147483647 + + + Close + w + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + ROM Information + i + 1048576 + 2147483647 + + + ROM Information + i + + + + + + + + + + + + + + + + + + + + + File + + + + + + + + File + + + + + + + + + + + + + + + + + + + + + + + Edit + + 1048576 + 2147483647 + + + submenuAction: + + Edit + + + + Undo + z + 1048576 + 2147483647 + + + Undo + z + + + + + + + + + + + + + + + + + + + + + + Redo + Z + 1048576 + 2147483647 + + + Redo + Z + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + Cut + x + 1048576 + 2147483647 + + + Cut + x + + + + + + + + + + + + + + + + + + + + + + Copy + c + 1048576 + 2147483647 + + + Copy + c + + + + + + + + + + + + + + + + + + + + + + Paste + v + 1048576 + 2147483647 + + + Paste + v + + + + + + + + + + + + + + + + + + + + + + Delete + + 1048576 + 2147483647 + + + Delete + + + + + + + + + + + + + + + + + + + + + + + Select All + a + 1048576 + 2147483647 + + + Select All + a + + + + + + + + + + + + + + + + + + + + + Edit + + + + + + + + Edit + + + + + + + + + + + + + + + + + + + + + + + Emulation + + 1048576 + 2147483647 + + + submenuAction: + + Emulation + + + + Run + r + 1048576 + 2147483647 + + + Run + r + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + Software Reset + + 1048576 + 2147483647 + + + Software Reset + + + + + + + + + + + + + + + + + + + + + + + Hardware Reset + + 1048576 + 2147483647 + + + Hardware Reset + + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + Input Device + + 1048576 + 2147483647 + + + submenuAction: + + Input Device + + + + Pad + + 1048576 + 2147483647 + + + Pad + + + + + + + + + + + + + + + + + + + + + + + Mouse (Port 1) + + 1048576 + 2147483647 + + + Mouse (Port 1) + + + + + + + + + + + + + + + + + + + + + + + Mouse (Port 2) + + 1048576 + 2147483647 + + + Mouse (Port 2) + + + + + + + + + + + + + + + + + + + + + + + Super Scope + + 1048576 + 2147483647 + + + Super Scope + + + + + + + + + + + + + + + + + + + + + + + Multi Tap + + 1048576 + 2147483647 + + + Multi Tap + + + + + + + + + + + + + + + + + + + + + + + Multi Taps (Both Ports) + + 1048576 + 2147483647 + + + Multi Taps (Both Ports) + + + + + + + + + + + + + + + + + + + + + + + Justifier + + 1048576 + 2147483647 + + + Justifier + + + + + + + + + + + + + + + + + + + + + + + Justifiers (Two Players) + + 1048576 + 2147483647 + + + Justifiers (Two Players) + + + + + + + + + + + + + + + + + + + + + + Input Device + + + + + + + + Input Device + + + + + + + + + + + + + + + + + + + + + + Emulation + + + + + + + + Emulation + + + + + + + + + + + + + + + + + + + + + + + Config + + 1048576 + 2147483647 + + + submenuAction: + + Config + + + + Configure Keyboard... + + 1048576 + 2147483647 + + + Configure Keyboard... + + + + + + + + + + + + + + + + + + + + + + + Configure Controllers... + + 1048576 + 2147483647 + + + Configure Controllers... + + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + Automatic Fire... + + 1048576 + 2147483647 + + + Automatic Fire... + + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + Controllers Preset + + 1048576 + 2147483647 + + + submenuAction: + + Controllers Preset + + + + #1 + + 1048576 + 2147483647 + + + #1 + + + + + + + + + + + + + + + + + + + + + + + #2 + + 1048576 + 2147483647 + + + #2 + + + + + + + + + + + + + + + + + + + + + + + #3 + + 1048576 + 2147483647 + + + #3 + + + + + + + + + + + + + + + + + + + + + + + #4 + + 1048576 + 2147483647 + + + #4 + + + + + + + + + + + + + + + + + + + + + + + #5 + + 1048576 + 2147483647 + + + #5 + + + + + + + + + + + + + + + + + + + + + + Controllers Preset + + + + + + + + Controllers Preset + + + + + + + + + + + + + + + + + + + + + + Config + + + + + + + + Config + + + + + + + + + + + + + + + + + + + + + + + Netplay + + 1048576 + 2147483647 + + + submenuAction: + + Netplay + + + + Server... + + 1048576 + 2147483647 + + + Server... + + + + + + + + + + + + + + + + + + + + + + + Client... + + 1048576 + 2147483647 + + + Client... + + + + + + + + + + + + + + + + + + + + + + Netplay + + + + + + + + Netplay + + + + + + + + + + + + + + + + + + + + + + + Cheat + + 1048576 + 2147483647 + + + submenuAction: + + Cheat + + + + Apply Cheats + + 1048576 + 2147483647 + + + Apply Cheats + + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + Cheat Entry... + + 1048576 + 2147483647 + + + Cheat Entry... + + + + + + + + + + + + + + + + + + + + + + + Cheat Finder... + + 1048576 + 2147483647 + + + Cheat Finder... + + + + + + + + + + + + + + + + + + + + + + Cheat + + + + + + + + Cheat + + + + + + + + + + + + + + + + + + + + + + + Option + + 1048576 + 2147483647 + + + submenuAction: + + Option + + + + Freeze State + f + 1048576 + 2147483647 + + + Freeze State + f + + + + + + + + + + + + + + + + + + + + + + Defrost State + d + 1048576 + 2147483647 + + + Defrost State + d + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + Freeze State to... + F + 1179648 + 2147483647 + + + Freeze State to... + F + + + + + + + + + + + + + + + + + + + + + + Defrost State from... + D + 1179648 + 2147483647 + + + Defrost State from... + D + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + Record Movie... + + 1048576 + 2147483647 + + + Record Movie... + + + + + + + + + + + + + + + + + + + + + + + Play Movie... + + 1048576 + 2147483647 + + + Play Movie... + + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + Export to QuickTime Movie... + + 1048576 + 2147483647 + + + Export to QuickTime Movie... + + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + Save SPC File at Next Note-on + + 1048576 + 2147483647 + + + Save SPC File at Next Note-on + + + + + + + + + + + + + + + + + + + + + + + Save SRAM File Now + + 1048576 + 2147483647 + + + Save SRAM File Now + + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + Core Image Filter... + + 1048576 + 2147483647 + + + Core Image Filter... + + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + Music Box + + 1048576 + 2147483647 + + + Music Box + + + + + + + + + + + + + + + + + + + + + + Option + + + + + + + + Option + + + + + + + + + + + + + + + + + + + + + + + Window + + 1048576 + 2147483647 + + + submenuAction: + + Window + + + + Minimize + m + 1048576 + 2147483647 + + + Minimize + m + + + + + + + + + + + + + + + + + + + + + + Minimize All + m + 1572864 + 2147483647 + + + Minimize All + m + + + + + + + + + + + + + + + + + + + + + + Zoom + + 1048576 + 2147483647 + + + Zoom + + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + Bring All to Front + + + + + + + + + + + + + + + + + + + + + + + Arrange in Front + + 1572864 + 2147483647 + + + Arrange in Front + + + + + + + + + + + + + + + + + + + + + + _NSWindowsMenu + Window + + + + + + + + Window + + + + + + + + + + + + + + + + + + + + + + _NSMainMenu + S9xMenu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ROM Information + + + 256 + + + + 256 + {{20, 20}, {128, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cart Name : + + + + + + + + 256 + {{20, 314}, {128, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Licensee : + + + + + + + + 256 + {{20, 62}, {128, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Contents : + + + + + + + + 256 + {{20, 167}, {128, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Size (header) : + + + + + + + + 256 + {{20, 146}, {128, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Size (calculated) : + + + + + + + + 256 + {{20, 104}, {128, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Speed : + + + + + + + + 256 + {{20, 41}, {128, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Game Code : + + + + + + + + 256 + {{20, 188}, {128, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SRAM Size : + + + + + + + + 256 + {{20, 209}, {128, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Checksum (calculated) : + + + + + + + + 256 + {{20, 230}, {128, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Checksum (header) : + + + + + + + + 256 + {{20, 251}, {128, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Complement (header) : + + + + + + + + 256 + {{20, 272}, {128, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Video Output : + + + + + + + + 256 + {{20, 293}, {128, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Revision : + + + + + + + + 256 + {{20, 335}, {128, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Region : + + + + + + + + 256 + {{20, 83}, {128, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Map : + + + + + + + + 256 + {{156, 20}, {186, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + name + + + + + + + + 256 + {{156, 41}, {186, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + code + + + + + + + + 256 + {{156, 314}, {186, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + licensee + + + + + + + + 256 + {{156, 335}, {186, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + region + + + + + + + + 256 + {{156, 272}, {186, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + output + + + + + + + + 256 + {{156, 293}, {186, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + revision + + + + + + + + 256 + {{156, 62}, {186, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + contents + + + + + + + + 256 + {{156, 83}, {186, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + map + + + + + + + + 256 + {{156, 104}, {186, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + speed + + + + + + + + 256 + {{156, 167}, {186, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + rom size written in header + + + + + + + + 256 + {{156, 146}, {186, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + calculated rom size + + + + + + + + 256 + {{156, 188}, {186, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sram size + + + + + + + + 256 + {{156, 230}, {186, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + checksum written in header + + + + + + + + 256 + {{156, 251}, {186, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + complement written in header + + + + + + + + 256 + {{156, 209}, {186, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + calculated checksum + + + + + + + + 256 + {{20, 125}, {128, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Type : + + + + + + + + 256 + {{156, 125}, {186, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + type + + + + + + + + 256 + {{20, 356}, {128, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CRC32 : + + + + + + + + 256 + {{156, 356}, {186, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + crc32 + + + + + + + + 256 + {{198, 381}, {149, 30}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Copy to Clipboard + + + {362, 422} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{40, 80}, {362, 422}} + {{0, 0}, {1024, 768}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cheat Finder + + + 256 + + + + 256 + {{20, 20}, {213, 401}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + + + + 256 + {{127, 300}, {60, 18}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Screen + + + + + 256 + {{127, 268}, {60, 18}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Watch + + + + + 256 + {{103, 201}, {89, 30}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Search + + + + 256 + {{11, 45}, {117, 62}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Hexadecimal + + + Signed Decimal + + + Unsigned Decimal + + + + + + 256 + {{105, 114}, {85, 22}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + = + + 1048576 + 2147483647 + + + = + + + + + + + + + + + + + + + + + + + + + + + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + > + + 1048576 + 2147483647 + + + > + + + + + + + + + + + + + + + + + + + + + + + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + < + + 1048576 + 2147483647 + + + < + + + + + + + + + + + + + + + + + + + + + + + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + + + + + + + + + + 256 + {{11, 270}, {53, 14}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Address : + + + + + + + + 256 + {{104, 170}, {87, 27}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{28, 226}, {164, 30}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Store Current Values + + + + 256 + {{64, 270}, {48, 14}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 000000 + + + + + + + + 256 + {{11, 117}, {87, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Comparison : + + + + + + + + 256 + {{11, 140}, {86, 15}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Stored Value + + + + 256 + {{11, 176}, {81, 15}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This Value : + + + + 256 + {{11, 158}, {73, 15}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Last Value + + + + 256 + {{11, 22}, {68, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Value Size : + + + + + + + + 256 + {{105, 19}, {85, 22}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + 1 Byte + + 1048576 + 2147483647 + + + 1 Byte + + + + + + + + + + + + + + + + + + + + + + + 2 Bytes + + 1048576 + 2147483647 + + + 2 Bytes + + + + + + + + + + + + + + + + + + + + + + + 3 Bytes + + 1048576 + 2147483647 + + + 3 Bytes + + + + + + + + + + + + + + + + + + + + + + + 4 Bytes + + 1048576 + 2147483647 + + + 4 Bytes + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + + + + + + + + + {{242, 0}, {207, 329}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + + + + 256 + {{28, 4}, {164, 30}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Add to Cheat Entry... + + + + 256 + {{28, 29}, {164, 30}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Remove from List + + + + 256 + {{28, 54}, {164, 30}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Restore List + + + {{242, 346}, {207, 95}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {449, 441} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{40, 80}, {449, 441}} + {{0, 0}, {1024, 768}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Add to Entry + + + 256 + + + + 256 + {{16, 20}, {83, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Address : + + + + + + + + 256 + {{107, 20}, {96, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + address + + + + + + + + 256 + {{103, 67}, {104, 27}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{16, 47}, {83, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Current Value : + + + + + + + + 256 + {{16, 74}, {83, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cheat Value : + + + + + + + + 256 + {{107, 47}, {96, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + current value + + + + + + + + 256 + {{231, 127}, {82, 30}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Add + + + + 256 + {{151, 127}, {82, 30}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cancel + + + + 256 + {{16, 101}, {83, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Description : + + + + + + + + 256 + {{103, 94}, {209, 27}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {328, 168} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{40, 80}, {328, 168}} + {{0, 0}, {1024, 768}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Open Multiple ROM Images + + + 256 + + + + 256 + {{20, 22}, {42, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Slot A + + + + + + + + 256 + {{20, 62}, {42, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Slot B + + + + + + + + 256 + {{70, 22}, {7, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + : + + + + + + + + 256 + {{70, 62}, {7, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + : + + + + + + + + 256 + {{401, 16}, {100, 32}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Choose... + + + + 256 + {{401, 56}, {100, 32}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Choose... + + + + 256 + {{501, 16}, {82, 32}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Clear + + + + 256 + {{501, 56}, {82, 32}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Clear + + + + 256 + {{501, 106}, {82, 32}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OK + + + + 256 + {{419, 106}, {82, 32}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cancel + + + + 256 + + + + 256 + {{8, 3}, {290, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cart A name + + + + + + + {{85, 19}, {309, 22}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + + + + 256 + {{8, 3}, {290, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cart B name + + + + + + + {{85, 59}, {309, 22}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{14, 106}, {82, 32}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Swap + + + {597, 150} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{40, 80}, {597, 150}} + {{0, 0}, {1024, 768}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Keyboard Layout + + + 256 + + + + 256 + {{14, 207}, {105, 32}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Defaults + + + + 256 + {{169, 215}, {48, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Player 1 + + + + + + + + 256 + {{251, 215}, {48, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Player 2 + + + + + + + + 256 + {{145, 214}, {16, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{227, 214}, {16, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {593, 251} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{40, 80}, {593, 251}} + {{0, 0}, {1024, 768}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PlaySMVControl + + + 256 + + + + 256 + + + + 256 + {{7, 7}, {73, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Read Only + + + + 256 + {{102, 7}, {217, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Export to QuickTime Movie at a Time + + + {327, 32} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {327, 30} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{40, 80}, {327, 30}} + {{0, 0}, {1024, 768}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Extra Options + + + 256 + + + + 256 + {{18, 20}, {133, 18}} + + + + + + + + + + All frames are drawn without adjusting times. Make sure 'Synchronize' in 'Sound' tab in 'Preferences' dialog is turned off. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Benchmark Test + + + + 256 + {{34, 104}, {203, 18}} + + + + + + + + + + GL_TEXTURE_2D is used even if GL_TEXTURE_RECTANGLE_EXT is available. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Don't Use Rectangle Texture + + + + 256 + {{34, 148}, {203, 18}} + + + + + + + + + + Sets GL_TEXTURE_PRIORITY to 0.0. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AGP Texturing + + + + 256 + {{36, 178}, {90, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Storage Hint : + + + + + + + + 256 + {{34, 126}, {203, 18}} + + + + + + + + + + Sets GL_STORAGE_SHARED_APPLE to 1. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Client Stroage + + + + 256 + {{132, 174}, {108, 26}} + + + + + + + + + + Sets GL_TEXTURE_STORAGE_HINT_APPLE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + Private + + 1048576 + 2147483647 + + + Private + + + + + + + + + + + + + + + + + + + + + + + Cached + + 1048576 + 2147483647 + + + Cached + + + + + + + + + + + + + + + + + + + + + + + Shared + + 1048576 + 2147483647 + + + Shared + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + + + + + + + + + + 256 + {{20, 80}, {131, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OpenGL Settings : + + + + + + + + 256 + {{12, 58}, {233, 1}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {257, 216} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{40, 80}, {257, 216}} + {{0, 0}, {1024, 768}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Music Box + + + 256 + + + + 256 + {{20, 22}, {61, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Playing : + + + + + + + + 256 + {{252, 16}, {86, 32}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Done + + + + 256 + {{18, 39}, {13, 14}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{83, 22}, {167, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ROMName + + + + + + + + 256 + {{36, 70}, {250, 130}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + + + + 256 + {{2, 3}, {30, 20}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{2, 29}, {30, 20}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{2, 67}, {30, 20}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{300, 70}, {34, 92}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + + + + 256 + {{62, 6}, {12, 12}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + 256 + {{192, 6}, {12, 12}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + 256 + {{150, 6}, {12, 12}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + 256 + {{48, 6}, {12, 12}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + 256 + {{178, 6}, {12, 12}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + 256 + {{118, 6}, {12, 12}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8 + + + + + 256 + {{220, 6}, {12, 12}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + + + + + 256 + {{104, 6}, {12, 12}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 7 + + + + + 256 + {{234, 6}, {12, 12}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 7 + + + + + 256 + {{90, 6}, {12, 12}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + + + + + 256 + {{34, 6}, {12, 12}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + 256 + {{248, 6}, {12, 12}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8 + + + + + 256 + {{76, 6}, {12, 12}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + 256 + {{20, 6}, {12, 12}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + 256 + {{206, 6}, {12, 12}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + 256 + {{164, 6}, {12, 12}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + 256 + {{132, 4}, {16, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{21, 208}, {280, 25}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {352, 246} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{40, 80}, {352, 246}} + {{0, 0}, {1024, 768}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Preferences + + + 256 + + + + 256 + + + + 256 + + + + 256 + {{18, 42}, {192, 18}} + + + + + + + + + + Toggles between scaling full screen graphics to the current screen resolution or changing the screen resolution to fit Snes9x's needs. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Switch Monitor Resolution + + + + 256 + {{18, 20}, {192, 18}} + + + + + + + + + + Toggles full screen/windowed mode. Press esc key to hide full screen window and pause the game. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Full Screen Mode + + + + 256 + {{18, 64}, {192, 18}} + + + + + + + + + + Toggles display of the frame rate on/off. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Show Frame Rate + + + + 256 + {{18, 86}, {192, 18}} + + + + + + + + + + Toggles transparency effects on/off. Transparency effect is used in almost all games so this option is just for hack. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Transparency Effects + + + + 256 + {{326, 183}, {193, 18}} + + + + + + + + + + Uses 16,777,216 colors. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Use 32 Bit Color + + + + 256 + {{18, 205}, {241, 18}} + + + + + + + + + + Stretches the image to fill the screen in full screen mode. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Stretch Image in Full Screen Mode + + + + 256 + {{20, 155}, {111, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OpenGL Option : + + + + + + + + 256 + {{325, 17}, {220, 26}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + Blocky + + 1048576 + 2147483647 + + + Blocky + + + + + + + + + + + + + + + + + + + + + + + TV + + 1048576 + 2147483647 + + + TV + + + + + + + + + + + + + + + + + + + + + + + Smooth + + 1048576 + 2147483647 + + + Smooth + + + + + + + + + + + + + + + + + + + + + + + Blend + + 1048576 + 2147483647 + + + Blend + + + + + + + + + + + + + + + + + + + + + + + Super Eagle + + 1048576 + 2147483647 + + + Super Eagle + + + + + + + + + + + + + + + + + + + + + + + 2xSaI + + 1048576 + 2147483647 + + + 2xSaI + + + + + + + + + + + + + + + + + + + + + + + Super 2xSaI + + 1048576 + 2147483647 + + + Super 2xSaI + + + + + + + + + + + + + + + + + + + + + + + EPX + + 1048576 + 2147483647 + + + EPX + + + + + + + + + + + + + + + + + + + + + + + hq2x + + 1048576 + 2147483647 + + + hq2x + + + + + + + + + + + + + + + + + + + + + + + hq3x + + 1048576 + 2147483647 + + + hq3x + + + + + + + + + + + + + + + + + + + + + + + hq4x + + 1048576 + 2147483647 + + + hq4x + + + + + + + + + + + + + + + + + + + + + + + NTSC Composite + + 1048576 + 2147483647 + + + NTSC Composite + + + + + + + + + + + + + + + + + + + + + + + NTSC S-Video + + 1048576 + 2147483647 + + + NTSC S-Video + + + + + + + + + + + + + + + + + + + + + + + NTSC RGB + + 1048576 + 2147483647 + + + NTSC RGB + + + + + + + + + + + + + + + + + + + + + + + NTSC Monochrome + + 1048576 + 2147483647 + + + NTSC Monochrome + + + + + + + + + + + + + + + + + + + + + + + NTSC+TV Composite + + 1048576 + 2147483647 + + + NTSC+TV Composite + + + + + + + + + + + + + + + + + + + + + + + NTSC+TV S-Video + + 1048576 + 2147483647 + + + NTSC+TV S-Video + + + + + + + + + + + + + + + + + + + + + + + NTSC+TV RGB + + 1048576 + 2147483647 + + + NTSC+TV RGB + + + + + + + + + + + + + + + + + + + + + + + NTSC+TV Monochrome + + 1048576 + 2147483647 + + + NTSC+TV Monochrome + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + + + + + + + + + + 256 + {{228, 21}, {89, 16}} + + + + + + + + + + Choose the image scaling filter which is applied to the raw SNES image. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Video Mode : + + + + + + + + 256 + {{18, 183}, {241, 18}} + + + + + + + + + + Synchronizes the render timing to the monitor's vertical refresh rate. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sync to Vertical Blank + + + + 256 + {{326, 64}, {193, 18}} + + + + + + + + + + When this option is on, the rendering process is separated from the emulation thread (except blocky and smooth modes). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Multitask + + + + 256 + {{326, 86}, {193, 18}} + + + + + + + + + + Keeps the screen height always 239/478, for some games that change screen height frequently. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Keep Overscanned Height + + + + 256 + {{326, 205}, {193, 18}} + + + + + + + + + + Adds a warp effect like a CRT-based television. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Use Screen Curvature + + + + 256 + {{394, 226}, {150, 22}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{345, 228}, {45, 16}} + + + + + + + + + + The degree of curvature. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Warp : + + + + + + + + 256 + {{12, 131}, {538, 4}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{132, 226}, {150, 22}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{38, 228}, {88, 16}} + + + + + + + + + + The aspect ratio of above option: the left is proportional and the right is full width of the monitor. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Aspect Ratio : + + + + + + + + 256 + {{454, 156}, {94, 32}} + + + + + + + + + + Choose the Core Image filter. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Filter... + + + + 256 + {{326, 161}, {120, 18}} + + + + + + + + + + Applies additional Core Image effect after the image filter is applied. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Use Core Image + + + {{8, 36}, {562, 309}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{13, 6}, {579, 353}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + YES + + + Graphics + + + + + 0 + YES + + + 256 + + + + 256 + {{18, 80}, {152, 18}} + + + + + + + + + + Enables stereo sound instead of mono. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Stereo + + + + 256 + {{34, 102}, {136, 18}} + + + + + + + + + + Swaps the left and right stereo channels. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reverse Stereo + + + + 256 + {{18, 58}, {152, 18}} + + + + + + + + + + Enables 16-bit playback instead of 8-bit. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 16 Bit Playback + + + + 256 + {{18, 20}, {152, 18}} + + + + + + + + + + Tries and ensures all available samples are buffered so there are no overruns. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Synchronize + + + + 256 + {{414, 109}, {85, 18}} + + + + + + + + + + Safer from crackling noise, but time-lag becomes more noticeable. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Allow Lag + + + + 256 + {{413, 17}, {132, 26}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + 48000 Hz + + 1048576 + 2147483647 + + + 48000 Hz + + + + + + + + + + + + + + + + + + + + + + + 44100 Hz + + 1048576 + 2147483647 + + + 44100 Hz + + + + + + + + + + + + + + + + + + + + + + + 35000 Hz + + 1048576 + 2147483647 + + + 35000 Hz + + + + + + + + + + + + + + + + + + + + + + + 32000 Hz + + 1048576 + 2147483647 + + + 32000 Hz + + + + + + + + + + + + + + + + + + + + + + + 30000 Hz + + 1048576 + 2147483647 + + + 30000 Hz + + + + + + + + + + + + + + + + + + + + + + + 22050 Hz + + 1048576 + 2147483647 + + + 22050 Hz + + + + + + + + + + + + + + + + + + + + + + + 16000 Hz + + 1048576 + 2147483647 + + + 16000 Hz + + + + + + + + + + + + + + + + + + + + + + + 11025 Hz + + 1048576 + 2147483647 + + + 11025 Hz + + + + + + + + + + + + + + + + + + + + + + + 8000 Hz + + 1048576 + 2147483647 + + + 8000 Hz + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + + + + + + + + + + 256 + {{413, 77}, {132, 26}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + 20 ms + + 1048576 + 2147483647 + + + 20 ms + + + + + + + + + + + + + + + + + + + + + + + 40 ms + + 1048576 + 2147483647 + + + 40 ms + + + + + + + + + + + + + + + + + + + + + + + 60 ms + + 1048576 + 2147483647 + + + 60 ms + + + + + + + + + + + + + + + + + + + + + + + 80 ms + + 1048576 + 2147483647 + + + 80 ms + + + + + + + + + + + + + + + + + + + + + + + 100 ms + + 1048576 + 2147483647 + + + 100 ms + + + + + + + + + + + + + + + + + + + + + + + 120 ms + + 1048576 + 2147483647 + + + 120 ms + + + + + + + + + + + + + + + + + + + + + + + 140 ms + + 1048576 + 2147483647 + + + 140 ms + + + + + + + + + + + + + + + + + + + + + + + 160 ms + + 1048576 + 2147483647 + + + 160 ms + + + + + + + + + + + + + + + + + + + + + + + 180 ms + + 1048576 + 2147483647 + + + 180 ms + + + + + + + + + + + + + + + + + + + + + + + 200 ms + + 1048576 + 2147483647 + + + 200 ms + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + + + + + + + + + + 256 + {{413, 47}, {132, 26}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + 8 ms + + 1048576 + 2147483647 + + + 8 ms + + + + + + + + + + + + + + + + + + + + + + + 16 ms + + 1048576 + 2147483647 + + + 16 ms + + + + + + + + + + + + + + + + + + + + + + + 32 ms + + 1048576 + 2147483647 + + + 32 ms + + + + + + + + + + + + + + + + + + + + + + + 64 ms + + 1048576 + 2147483647 + + + 64 ms + + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + System + + 1048576 + 2147483647 + + + System + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + + + + + + + + + + 256 + {{275, 21}, {130, 16}} + + + + + + + + + + The real SNES is 32000 Hz. Any values other than 32000 Hz will cause resampling. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Playback Rate : + + + + + + + + 256 + {{275, 51}, {130, 16}} + + + + + + + + + + Make sure this value is smaller than the mix buffer length. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Output Interval : + + + + + + + + 256 + {{275, 81}, {130, 16}} + + + + + + + + + + Too short length will cause crackling noise. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mix Buffer Length : + + + + + + + + 256 + {{319, 140}, {225, 22}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{319, 170}, {225, 22}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{226, 142}, {85, 16}} + + + + + + + + + + Volume of the whole Snes9x sounds. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Volume : + + + + + + + + 256 + {{526, 192}, {16, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Hz + + + + + + + + 256 + {{226, 172}, {85, 16}} + + + + + + + + + + Adjusts the sound rate through resampling. For every Input Rate samples generated by the SNES, Playback Rate samples will be produced. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Input Rate : + + + + + + + + 256 + {{465, 192}, {59, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 32000 + + + + + + + + 256 + {{14, 136}, {112, 32}} + + + + + + + + + + Opens 'Sound Effect' dialog. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Effect... + + + {{8, 36}, {562, 309}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sound + + + + + 0 + YES + + + 256 + + + + 256 + {{199, 17}, {227, 26}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + Snes9x Folder + + 1048576 + 2147483647 + + + Snes9x Folder + + + + + + + + + + + + + + + + + + + + + + + ROM Folder + + 1048576 + 2147483647 + + + ROM Folder + + + + + + + + + + + + + + + + + + + + + + + Application Support Folder + + 1048576 + 2147483647 + + + Application Support Folder + + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + YES + None Selected + + 1048576 + 2147483647 + + + None Selected + + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + Other... + + 1048576 + 2147483647 + + + Other... + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + + + + + + + + + + 256 + {{198, 55}, {87, 30}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{79, 21}, {112, 16}} + + + + + + + + + + Choose the folder where Snes9x will look for files. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Save Data in : + + + + + + + + 256 + {{289, 62}, {116, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sec after Modified + + + + + + + + 256 + {{79, 62}, {112, 16}} + + + + + + + + + + Updates SRAM file when SRAM contents are modified. This may cause frequent disk access. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Auto Save SRAM : + + + + + + + + 256 + {{414, 64}, {69, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (0 : Disable) + + + + + + + {{8, 36}, {562, 309}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + File + + + + + 0 + YES + + + 256 + + + + 256 + {{20, 59}, {133, 16}} + + + + + + + + + + Changes HDMA timing and will 'fix' some games' glitches, but breaks many other games. The default value is 100. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HDMA Timing Hack : + + + + + + + + 256 + {{157, 52}, {88, 30}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{20, 21}, {456, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Note : These Hacks Need to Reopen ROM Image to Achieve Effects. + + + + + + + + 256 + {{198, 216}, {19, 28}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{20, 221}, {145, 16}} + + + + + + + + + + The speed when turbo mode is on. Modify in-game with Fn+T, Fn+Y. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Speed in Turbo Mode : + + + + + + + + 256 + {{173, 221}, {20, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10 + + + + + + + + 256 + {{12, 158}, {538, 1}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{105, 183}, {112, 26}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Popup + + + + Auto + + 1048576 + 2147483647 + + + Auto + + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + 1048576 + 2147483647 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + 1 + + 1048576 + 2147483647 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + 2 + + 1048576 + 2147483647 + + + 2 + + + + + + + + + + + + + + + + + + + + + + + 3 + + 1048576 + 2147483647 + + + 3 + + + + + + + + + + + + + + + + + + + + + + + 4 + + 1048576 + 2147483647 + + + 4 + + + + + + + + + + + + + + + + + + + + + + Popup + + + + + + + + + + + + + 256 + {{20, 187}, {79, 16}} + + + + + + + + + + Adjust this value if your Mac is slow. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Frame Skip : + + + + + + + + 256 + {{18, 89}, {223, 18}} + + + + + + + + + + Allows to write to VRAM outside blank periods. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Allow Invalid VRAM Access + + + + 256 + {{18, 111}, {223, 18}} + + + + + + + + + + Applies special hacks for games that can't be emulated correctly. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Apply Specific Game Hacks + + + {{8, 36}, {562, 309}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Accuracy + + + + + 0 + YES + + + 256 + + + + 256 + {{18, 64}, {302, 18}} + + + + + + + + + + Choose whether open dialog should be shown when Snes9x is launched. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Open Choose ROM Image Dialog at Startup + + + + 256 + {{18, 86}, {374, 18}} + + + + + + + + + + Shows time stamps on thumbnails in freeze/defrost screen. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Show Dates and Times in Freese State Selection Screen + + + + 256 + {{328, 134}, {76, 16}} + + + + + + + + + + Choose the behavior of Music Box: 'Sound Emulation Only' to only emulate the music system, and 'Whole Emulation' to also emulate the CPU. Music that depends on the CPU running will not sound right without 'Whole Emulation.' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Music Box : + + + + + + + + 256 + {{326, 158}, {177, 39}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sound Emulation Only + + + Whole Emulation + + + + + + 256 + {{18, 20}, {207, 18}} + + + + + + + + + + Sets 'Turbo' button as a toggle switch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Toggle Turbo Button + + + + 256 + {{326, 42}, {221, 18}} + + + + + + + + + + When this option is on, Snes9x automatically loads the .ips or .ups file and patch the ROM image. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Use IPS / UPS Patch + + + + 256 + {{18, 42}, {207, 18}} + + + + + + + + + + Shows messages from Snes9x on the game screen. When off, messages are put in the standard console. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Show Onscreen Information + + + + 256 + {{18, 158}, {266, 59}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Keep on Emulation, Receive All Inputs + + + Keep on Emulation, Reject Any Inputs + + + Pause and Exit from Emulation Loop + + + + + + 256 + {{20, 134}, {146, 16}} + + + + + + + + + + Choose the behavior of Snes9x when it is in back of other applications. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + When in Background : + + + + + + + + 256 + {{326, 20}, {221, 18}} + + + + + + + + + + Saves the sizes and positions of the game window and dialogs so they come back to the same place. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Save Window Size and Position + + + + 256 + {{326, 64}, {221, 18}} + + + + + + + + + + When this option is on, BS-X ROM is loaded first, then you launch BS games from the menu in BS-X. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Boot Up BS Games from BS-X + + + {{8, 36}, {562, 309}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Others + + + + + + + + {605, 371} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{39, 80}, {605, 371}} + {{0, 0}, {1024, 768}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SoundEffectUI + + + 256 + + + + 256 + + + + 256 + {{18, 73}, {136, 18}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Enable this Effect + + + + 256 + {{232, 18}, {218, 26}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + Apple's Matrix Reverb + + 1048576 + 2147483647 + + + Apple's Matrix Reverb + + + + + + + + + + + + + + + + + + + + + + + Apple's Graphic Equalizer + + 1048576 + 2147483647 + + + Apple's Graphic Equalizer + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + + + + + + + + + + 256 + {{20, 22}, {204, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Choose the Effect to Configure : + + + + + + + + 256 + {{12, 60}, {443, 1}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {467, 99} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {467, 99} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{40, 80}, {467, 99}} + {{0, 0}, {1024, 768}} + + + + + {555, 272} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cheat Entry + + + 256 + + + + 256 + {{20, 20}, {396, 232}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Address + + + + + + + + + + + + Value + + + + + + + + + + + + Description + + + + + + + + + + + + 256 + {{426, 16}, {115, 32}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + New + + + + 256 + {{426, 48}, {115, 32}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Delete + + + + 256 + {{426, 88}, {115, 32}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Enable All + + + {555, 272} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{40, 80}, {555, 272}} + {{0, 0}, {1024, 768}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + + + + 256 + {{20, 134}, {268, 88}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + wqkgQ29weXJpZ2h0IDE5OTYtMjAxMSBTbmVzOXggZGV2ZWxvcGVycwoKU25lczl4IGlzIGEgU3VwZXIg +TmludGVuZG8gRW50ZXJ0YWlubWVudCBTeXN0ZW0gZW11bGF0b3IKdGhhdCBhbGxvd3MgeW91IHRvIHBs +YXkgbW9zdCBnYW1lcwpkZXNpZ25lZCBmb3IgdGhlIFNORVMgb24geW91ciBQQy4KUGxlYXNlIHZpc2l0 +IGh0dHA6Ly93d3cuc25lczl4LmNvbS8KZm9yIHVwLXRvLXRoZS1taW51dGUgaW5mb3JtYXRpb24gYW5k +IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA + + + + + + + + 256 + {{122, 12}, {64, 64}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{51, 110}, {206, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + versionstr + + + + + + + + 256 + {{62, 85}, {184, 18}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Snes9x + + + + + + + {308, 242} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{40, 80}, {308, 242}} + {{0, 0}, {1024, 768}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + QTMovControl + + + 256 + + + + 256 + + + + 256 + {{7, 9}, {83, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Double Size + + + + 256 + {{99, 9}, {69, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Overscan + + + + 256 + {{313, 4}, {117, 30}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Compression... + + + + 256 + {{255, 7}, {50, 22}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + 0 + + 1048576 + 2147483647 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + 1 + + 1048576 + 2147483647 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + 2 + + 1048576 + 2147483647 + + + 2 + + + + + + + + + + + + + + + + + + + + + + + 3 + + 1048576 + 2147483647 + + + 3 + + + + + + + + + + + + + + + + + + + + + + + 4 + + 1048576 + 2147483647 + + + 4 + + + + + + + + + + + + + + + + + + + + + + + 5 + + 1048576 + 2147483647 + + + 5 + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + + + + + + + + + + 256 + {{184, 10}, {69, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Frame Skip : + + + + + + + {433, 35} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {433, 33} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{40, 80}, {433, 33}} + {{0, 0}, {1024, 768}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OpenROMControl + + + 256 + + + + 256 + + + + 256 + {{6, 8}, {81, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Memory Type : + + + + + + + + 256 + {{214, 8}, {94, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Interleave Mode : + + + + + + + + 256 + {{91, 30}, {116, 22}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + Auto Detect + + 1048576 + 2147483647 + + + Auto Detect + + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + Force PAL + + 1048576 + 2147483647 + + + Force PAL + + + + + + + + + + + + + + + + + + + + + + + Force NTSC + + 1048576 + 2147483647 + + + Force NTSC + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + + + + + + + + + + 256 + {{6, 33}, {81, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Video System : + + + + + + + + 256 + {{91, 5}, {116, 22}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + Auto Detect + + 1048576 + 2147483647 + + + Auto Detect + + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + Force LoROM + + 1048576 + 2147483647 + + + Force LoROM + + + + + + + + + + + + + + + + + + + + + + + Force HiROM + + 1048576 + 2147483647 + + + Force HiROM + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + + + + + + + + + + 256 + {{312, 5}, {116, 22}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + Auto Detect + + 1048576 + 2147483647 + + + Auto Detect + + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + Force not Interleaved + + 1048576 + 2147483647 + + + Force not Interleaved + + + + + + + + + + + + + + + + + + + + + + + Force Mode 1 + + 1048576 + 2147483647 + + + Force Mode 1 + + + + + + + + + + + + + + + + + + + + + + + Force Mode 2 + + 1048576 + 2147483647 + + + Force Mode 2 + + + + + + + + + + + + + + + + + + + + + + + Force GD24 + + 1048576 + 2147483647 + + + Force GD24 + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + + + + + + + + + + 256 + {{214, 33}, {94, 13}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Header : + + + + + + + + 256 + {{312, 30}, {116, 22}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + Auto Detect + + 1048576 + 2147483647 + + + Auto Detect + + + + + + + + + + + + + + + + + + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + + + + + + + + + + + + + + + + + + + + + Force no Header + + 1048576 + 2147483647 + + + Force no Header + + + + + + + + + + + + + + + + + + + + + + + Force Header + + 1048576 + 2147483647 + + + Force Header + + + + + + + + + + + + + + + + + + + + + + Popup: + + + + + + + + + + + + {433, 56} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {433, 54} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{40, 80}, {433, 54}} + {{0, 0}, {1024, 768}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Clients List + + + 256 + + + + 256 + {{86, 20}, {118, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{20, 20}, {19, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 : + + + + + + + + 256 + {{20, 44}, {19, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 : + + + + + + + + 256 + {{20, 68}, {19, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 : + + + + + + + + 256 + {{20, 92}, {19, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 : + + + + + + + + 256 + {{20, 116}, {19, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 : + + + + + + + + 256 + {{86, 44}, {118, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{86, 68}, {118, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{86, 92}, {118, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{86, 116}, {118, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{345, 20}, {72, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{345, 44}, {72, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{345, 68}, {72, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{345, 92}, {72, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{345, 116}, {72, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{219, 20}, {118, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{219, 44}, {118, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{219, 68}, {118, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{219, 92}, {118, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{219, 116}, {118, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{341, 148}, {82, 32}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Play + + + + 256 + {{259, 148}, {82, 32}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cancel + + + + 256 + {{52, 20}, {26, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{52, 44}, {26, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{52, 68}, {26, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{52, 92}, {26, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{52, 116}, {26, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{18, 158}, {16, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {437, 192} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{40, 80}, {437, 192}} + {{0, 0}, {1024, 768}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Players List + + + 256 + + + + 256 + {{20, 20}, {28, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1P : + + + + + + + + 256 + {{20, 44}, {28, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2P : + + + + + + + + 256 + {{20, 68}, {28, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3P : + + + + + + + + 256 + {{20, 92}, {28, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4P : + + + + + + + + 256 + {{20, 116}, {28, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5P : + + + + + + + + 256 + {{56, 20}, {122, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{56, 44}, {122, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{56, 68}, {122, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{56, 92}, {122, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{56, 116}, {122, 16}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 256 + {{102, 148}, {82, 32}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OK + + + {198, 192} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{40, 80}, {198, 192}} + {{0, 0}, {1024, 768}} + + + + + + + + + + 0 + + + + + + 1695 + + + + + + AutoFire + + + 166 + + + + + + Controllers + + + 1338 + + + + + + Connect + + + 1285 + + + + + + CFDrawer + + + 1452 + + + + + + RecordSMV + + + 1595 + + + + + + GameWindow + + + 1677 + + + + + + CIFilter + + + 573 + + + + + + + + + + + + + + MenuBar + + + 845 + + + + + + RomInfo + + + 884 + + + + + + CheatFinder + + + 950 + + + + + + CFAddEntry + + + 1904 + + + + + + MultiCart + + + 934 + + + + + + Keyboard + + + 1529 + + + + + + PlaySMV + + + 1599 + + + + + + ExtraOptions + + + 1401 + + + + + + MusicBox + + + 264 + + + + + + Preferences + + + 1815 + + + + + + SoundEffect + + + 1837 + + + + + + CheatEntry + + + 697 + + + + + + About + + + 1495 + + + + + + QTMovie + + + 1105 + + + + + + OpenROM + + + 1335 + + + + + + ClientList + + + 1329 + + + + + + PlayerList + + + 1696 + + + + + + + + 167 + + + + + + + + + + + + + + + + + + 1328 + + + + + + + + + + + + + + 1284 + + + + + 1466 + + + + + + + + 1596 + + + + + + + + 1678 + + + + + + + + + 631 + + + + + + + + 593 + + + + + + + + 685 + + + + + + + + 599 + + + + + + + + 1895 + + + + + + + + 644 + + + + + + + + 581 + + + + + + + + 586 + + + + + + + + 1365 + + + + + + + + 846 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 885 + + + + + + + + + + 951 + + + + + + + + + + + + + + + + + 1905 + + + + + + + + + + + + + + + + + + + + 933 + + + + + + + + + + + + 1519 + + + + + + + + 1598 + + + + + + + + + + + + + + + 1407 + + + + + + + + + + + + + + 265 + + + + + + + + 1816 + + + + + + + + 1838 + + + + + + + + + + + 698 + + + + + + + + + + + 1498 + + + + + + + + 1106 + + + + + + + + 1341 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1333 + + + + + + + + + + + + + + + + + + 1697 + + + + + + + + + 962 + + + + + 1851 + + + + + + + + + + + + + + + + + + + 961 + + + + + 544 + + + + + + + + + + + + + + + + + + + + + + + + 504 + + + + + + + + + + + + + + + + + + + 1864 + + + + + + + + + + + + + + + + + + + 251 + + + + + + + + + + + + + + + + + + + 515 + + + + + + + + + + + + + + + + + + + 1877 + + + + + + + + + + + + + + + + + + + 539 + + + + + + + + + + + + + + + + + + + 495 + + + + + + + + + + + + + + + + + + + 1316 + + + + + 1356 + + + + + 1362 + + + + + 1321 + + + + + 1357 + + + + + 1342 + + + + + 1314 + + + + + 1636 + + + + + + + + + + + + + + + + 1597 + + + + + 1679 + + + + + 1684 + + + + + 627 + + + + + + + + + + + 575 + + + + + + + + 678 + + + + + + + + + + + + + 600 + + + + + + + + + + + + + 1896 + + + + + + + + + + + + + 638 + + + + + + + + + + + + + + + + + + + + + + + + 567 + + + + + + + + + + + + + + + 568 + + + + + + + + + + + + + + 1366 + + + + + + + + + 850 + + + + + 847 + + + + + 860 + + + + + 866 + + + + + 855 + + + + + 875 + + + + + 877 + + + + + 864 + + + + + 848 + + + + + 858 + + + + + 1044 + + + + + 872 + + + + + 1047 + + + + + 853 + + + + + 870 + + + + + 862 + + + + + 852 + + + + + 878 + + + + + 856 + + + + + 868 + + + + + 851 + + + + + 876 + + + + + 859 + + + + + 849 + + + + + 865 + + + + + 873 + + + + + 854 + + + + + 2021 + + + + + 871 + + + + + 857 + + + + + 1043 + + + + + 867 + + + + + 869 + + + + + 2020 + + + + + 874 + + + + + 1587 + + + + + + + + + + + + + + + + + + + + + + 1588 + + + + + + + + + + 1558 + + + + + 954 + + + + + 956 + + + + + 958 + + + + + 957 + + + + + 952 + + + + + 1283 + + + + + 959 + + + + + 953 + + + + + 955 + + + + + 1282 + + + + + 1906 + + + + + 1944 + + + + + 1948 + + + + + + + + 1910 + + + + + 1943 + + + + + 1952 + + + + + 1945 + + + + + 1950 + + + + + + + + 1938 + + + + + 1936 + + + + + 1907 + + + + + 1909 + + + + + 1946 + + + + + 943 + + + + + 1980 + + + + + 946 + + + + + 1981 + + + + + 947 + + + + + 1637 + + + + + + + + + 1624 + + + + + 1629 + + + + + + + + 1631 + + + + + 1627 + + + + + 1621 + + + + + 1630 + + + + + 1600 + + + + + 1622 + + + + + 1428 + + + + + 1537 + + + + + 1826 + + + + + + + + + + + + + + + + + + + + + + + + 1424 + + + + + 1591 + + + + + 1411 + + + + + 1825 + + + + + + + + + + 266 + + + + + + + + + + + + 1824 + + + + + + + + + + + 1841 + + + + + 1840 + + + + + 1995 + + + + + + + + + + + 1842 + + + + + 702 + + + + + 1019 + + + + + 1281 + + + + + 705 + + + + + 1638 + + + + + + + + + + + + 1635 + + + + + + + + + + + + + + + 1344 + + + + + 1313 + + + + + 1331 + + + + + 1340 + + + + + 1317 + + + + + 1354 + + + + + 1320 + + + + + 1358 + + + + + 1325 + + + + + 1363 + + + + + 1326 + + + + + 1361 + + + + + 1322 + + + + + 1348 + + + + + 1330 + + + + + 1360 + + + + + 1336 + + + + + 1343 + + + + + 1349 + + + + + 1324 + + + + + 1337 + + + + + 1323 + + + + + 1355 + + + + + 1315 + + + + + 1351 + + + + + 1346 + + + + + 1339 + + + + + 1352 + + + + + 1345 + + + + + 1359 + + + + + 1332 + + + + + 1312 + + + + + 1350 + + + + + 1327 + + + + + 1318 + + + + + 1347 + + + + + 1334 + + + + + 1319 + + + + + 1353 + + + + + 1859 + + + + + 1856 + + + + + 1863 + + + + + 1857 + + + + + 1862 + + + + + 1860 + + + + + 1853 + + + + + 1852 + + + + + 1858 + + + + + 1854 + + + + + 1855 + + + + + 1861 + + + + + 562 + + + + + 557 + + + + + 560 + + + + + 558 + + + + + 561 + + + + + 555 + + + + + 1018 + + + + + 556 + + + + + 1694 + + + + + 563 + + + + + 1692 + + + + + 1674 + + + + + 564 + + + + + 1673 + + + + + 554 + + + + + 1693 + + + + + 559 + + + + + 505 + + + + + 506 + + + + + 509 + + + + + 513 + + + + + 503 + + + + + 514 + + + + + 502 + + + + + 507 + + + + + 512 + + + + + 508 + + + + + 511 + + + + + 510 + + + + + 1869 + + + + + 1874 + + + + + 1873 + + + + + 1871 + + + + + 1875 + + + + + 1865 + + + + + 1868 + + + + + 1866 + + + + + 1872 + + + + + 1870 + + + + + 1867 + + + + + 1876 + + + + + 192 + + + + + 231 + + + + + 209 + + + + + 208 + + + + + 204 + + + + + 194 + + + + + 191 + + + + + 203 + + + + + 193 + + + + + 230 + + + + + 205 + + + + + 202 + + + + + 522 + + + + + 520 + + + + + 521 + + + + + 519 + + + + + 524 + + + + + 526 + + + + + 517 + + + + + 518 + + + + + 525 + + + + + 523 + + + + + 516 + + + + + 527 + + + + + 1882 + + + + + 1881 + + + + + 1883 + + + + + 1887 + + + + + 1878 + + + + + 1888 + + + + + 1884 + + + + + 1889 + + + + + 1886 + + + + + 1885 + + + + + 1880 + + + + + 1879 + + + + + 533 + + + + + 538 + + + + + 530 + + + + + 528 + + + + + 536 + + + + + 535 + + + + + 531 + + + + + 534 + + + + + 529 + + + + + 532 + + + + + 540 + + + + + 537 + + + + + 499 + + + + + 493 + + + + + 490 + + + + + 492 + + + + + 500 + + + + + 497 + + + + + 494 + + + + + 496 + + + + + 489 + + + + + 491 + + + + + 498 + + + + + 501 + + + + + 1489 + + + + + 1487 + + + + + 1454 + + + + + 1488 + + + + + 1479 + + + + + 1477 + + + + + 1490 + + + + + 1486 + + + + + 1469 + + + + + 837 + + + + + 633 + + + + + 635 + + + + + 637 + + + + + 570 + + + + + 676 + + + + + 687 + + + + + + + + 748 + + + + + 749 + + + + + 679 + + + + + 684 + + + + + 1017 + + + + + 611 + + + + + + + + 607 + + + + + 609 + + + + + 1042 + + + + + 604 + + + + + 1902 + + + + + 1901 + + + + + 1900 + + + + + 1898 + + + + + 1899 + + + + + 1897 + + + + + 1278 + + + + + 1280 + + + + + 1845 + + + + + 1279 + + + + + 1444 + + + + + 788 + + + + + 1844 + + + + + 839 + + + + + 789 + + + + + 657 + + + + + 655 + + + + + 1440 + + + + + 1493 + + + + + 840 + + + + + 1494 + + + + + 1442 + + + + + 652 + + + + + 576 + + + + + 587 + + + + + 574 + + + + + 590 + + + + + 596 + + + + + 595 + + + + + 582 + + + + + 584 + + + + + 1893 + + + + + 880 + + + + + 571 + + + + + 1947 + + + + + 879 + + + + + 799 + + + + + 1894 + + + + + 1364 + + + + + 1368 + + + + + 1584 + + + + + 1579 + + + + + 1568 + + + + + 1564 + + + + + 1574 + + + + + 1575 + + + + + 1570 + + + + + 1580 + + + + + 1586 + + + + + + + + 1569 + + + + + + + + 1566 + + + + + 1576 + + + + + 1573 + + + + + 1582 + + + + + 1560 + + + + + 914 + + + + + 912 + + + + + 913 + + + + + 1949 + + + + + 1951 + + + + + 1520 + + + + + 1517 + + + + + 1626 + + + + + + + + + + 1426 + + + + + 1412 + + + + + 1429 + + + + + 1402 + + + + + 1413 + + + + + 1425 + + + + + 1422 + + + + + 1427 + + + + + 1410 + + + + + 1409 + + + + + 1417 + + + + + 1437 + + + + + 1416 + + + + + 1420 + + + + + 1408 + + + + + 1419 + + + + + 1415 + + + + + 1406 + + + + + 1430 + + + + + 1423 + + + + + 1819 + + + + + 1820 + + + + + + + + 1818 + + + + + 1817 + + + + + 1506 + + + + + 1504 + + + + + 1501 + + + + + 1509 + + + + + + + + 1515 + + + + + 1156 + + + + + + + + 1149 + + + + + + + + 1151 + + + + + 1139 + + + + + 1165 + + + + + + + + 1158 + + + + + 1152 + + + + + + + + 1147 + + + + + 688 + + + + + + + + + + + + 612 + + + + + + + + + + + + + + + 1578 + + + + + + + + + + + 1572 + + + + + + + + + + + + + 1623 + + + + + 1625 + + + + + 1628 + + + + + 1821 + + + + + + + + + 1510 + + + + + + + + + + + + + 1143 + + + + + + + + + + + + + 1167 + + + + + + + + + + + 1153 + + + + + + + + + + + 1161 + + + + + + + + + + + 693 + + + + + 690 + + + + + 692 + + + + + 689 + + + + + 691 + + + + + 1015 + + + + + 1890 + + + + + 615 + + + + + 617 + + + + + 614 + + + + + 616 + + + + + 613 + + + + + 1016 + + + + + 1562 + + + + + 1565 + + + + + 1583 + + + + + 1567 + + + + + 1561 + + + + + 1563 + + + + + 1571 + + + + + 1577 + + + + + 1585 + + + + + 1581 + + + + + 1823 + + + + + 1822 + + + + + 1514 + + + + + 1512 + + + + + 1508 + + + + + 1513 + + + + + 1511 + + + + + 1507 + + + + + 1150 + + + + + 1290 + + + + + 1166 + + + + + 1164 + + + + + 1159 + + + + + 1148 + + + + + 1154 + + + + + 1141 + + + + + 1145 + + + + + 1146 + + + + + 1157 + + + + + 1163 + + + + + 1162 + + + + + 1160 + + + + + 1142 + + + + + 1144 + + + + + 1155 + + + + + 1140 + + + + + 2297 + + + + + 2298 + + + + + 2299 + + + + + 2300 + + + + + 2301 + + + + + + + + 1756 + + + + + + + + + + + + + 1770 + + + + + + + + + + 1757 + + + + + + + + + + + + + + + + + + + 1774 + + + + + 1801 + + + + + + + + + + + + + + + + + + + 1788 + + + + + + + + + + + + + + + + + + + 1775 + + + + + + + + + + + + + + + + + + + 1781 + + + + + 1787 + + + + + 1784 + + + + + 1778 + + + + + 1779 + + + + + 1785 + + + + + 1783 + + + + + 1782 + + + + + 1780 + + + + + 1777 + + + + + 1776 + + + + + 1786 + + + + + 1796 + + + + + 1791 + + + + + 1797 + + + + + 1794 + + + + + 1800 + + + + + 1798 + + + + + 1790 + + + + + 1792 + + + + + 1793 + + + + + 1799 + + + + + 1789 + + + + + 1795 + + + + + 1812 + + + + + 1802 + + + + + 1811 + + + + + 1809 + + + + + 1810 + + + + + 1808 + + + + + 1805 + + + + + 1813 + + + + + 1807 + + + + + 1806 + + + + + 1804 + + + + + 1803 + + + + + 1766 + + + + + 1768 + + + + + 1761 + + + + + 1767 + + + + + 1760 + + + + + 1762 + + + + + 1758 + + + + + 1759 + + + + + 1763 + + + + + 1765 + + + + + 1764 + + + + + 1769 + + + + + 1773 + + + + + 1772 + + + + + 1771 + + + + + 2302 + + + + + + + + 1698 + + + + + + + + + + + + + 1712 + + + + + + + + + + + + + + + + + + + 1751 + + + + + + + + + + 1699 + + + + + + + + + + + + + + + + + + + 1738 + + + + + + + + + + + + + + + + + + + 1725 + + + + + + + + + + + + + + + + + + + 1755 + + + + + 1737 + + + + + 1731 + + + + + 1730 + + + + + 1733 + + + + + 1727 + + + + + 1736 + + + + + 1735 + + + + + 1729 + + + + + 1726 + + + + + 1732 + + + + + 1734 + + + + + 1728 + + + + + 1743 + + + + + 1745 + + + + + 1749 + + + + + 1741 + + + + + 1740 + + + + + 1746 + + + + + 1747 + + + + + 1744 + + + + + 1748 + + + + + 1750 + + + + + 1742 + + + + + 1739 + + + + + 1709 + + + + + 1708 + + + + + 1711 + + + + + 1701 + + + + + 1706 + + + + + 1707 + + + + + 1700 + + + + + 1710 + + + + + 1703 + + + + + 1705 + + + + + 1702 + + + + + 1704 + + + + + 1754 + + + + + 1753 + + + + + 1752 + + + + + 1724 + + + + + 1717 + + + + + 1721 + + + + + 1714 + + + + + 1723 + + + + + 1716 + + + + + 1713 + + + + + 1719 + + + + + 1718 + + + + + 1722 + + + + + 1720 + + + + + 1715 + + + + + 2303 + + + + + + + + 267 + + + + + + + + + + + + + + + + + + + + + + + + + + + 1685 + + + + + 1304 + + + + + 278 + + + + + 1276 + + + + + 272 + + + + + 362 + + + + + 1308 + + + + + 674 + + + + + 276 + + + + + 1309 + + + + + 1307 + + + + + 1305 + + + + + 274 + + + + + 270 + + + + + 1843 + + + + + 273 + + + + + 279 + + + + + + + + 275 + + + + + 672 + + + + + 1306 + + + + + 280 + + + + + + + + + + + + + + + + + + + + + + + + + + 710 + + + + + 2226 + + + + + 2227 + + + + + 714 + + + + + 1847 + + + + + 2225 + + + + + 2186 + + + + + 1892 + + + + + 1891 + + + + + 2228 + + + + + 1259 + + + + + 360 + + + + + 2283 + + + + + 2230 + + + + + 709 + + + + + 2229 + + + + + 2187 + + + + + 1849 + + + + + 361 + + + + + 2304 + + + + + + + + 268 + + + + + + + + + + + + + + + + + + + + + + + + + 288 + + + + + 2092 + + + + + 2147 + + + + + + + + 2088 + + + + + 343 + + + + + 2122 + + + + + 303 + + + + + + + + 1208 + + + + + 285 + + + + + 2087 + + + + + 2159 + + + + + 797 + + + + + 286 + + + + + 798 + + + + + 2086 + + + + + 2090 + + + + + 2071 + + + + + + + + 2085 + + + + + 2072 + + + + + + + + + + + + + + + + + 2119 + + + + + 2078 + + + + + 2120 + + + + + 2079 + + + + + 2074 + + + + + 2076 + + + + + 2117 + + + + + 2121 + + + + + 2080 + + + + + 2118 + + + + + 299 + + + + + + + + + + + + + + + + 300 + + + + + 793 + + + + + 794 + + + + + 792 + + + + + 334 + + + + + 301 + + + + + 795 + + + + + 796 + + + + + 791 + + + + + 2148 + + + + + + + + + + + + + 2153 + + + + + 2160 + + + + + 2161 + + + + + 2149 + + + + + 2150 + + + + + 2158 + + + + + 2305 + + + + + + + + 269 + + + + + + + + + + + + + 346 + + + + + 366 + + + + + 365 + + + + + 351 + + + + + 314 + + + + + + + + 330 + + + + + 315 + + + + + + + + + + + + + + 2255 + + + + + 2258 + + + + + 2256 + + + + + 671 + + + + + 2257 + + + + + 318 + + + + + 316 + + + + + 2306 + + + + + + + + 397 + + + + + + + + + + + + + + + + + + 2046 + + + + + 1827 + + + + + + + + 408 + + + + + 1556 + + + + + 1554 + + + + + 1903 + + + + + 402 + + + + + 1557 + + + + + 1555 + + + + + 400 + + + + + 1832 + + + + + 1828 + + + + + + + + + + + + + + 1831 + + + + + 1830 + + + + + 1833 + + + + + 1834 + + + + + 1829 + + + + + 1836 + + + + + 1835 + + + + + 2307 + + + + + + + + 881 + + + + + + + + + + + + + + + + + + 882 + + + + + 1291 + + + + + 1552 + + + + + 1040 + + + + + 1850 + + + + + 1041 + + + + + 1045 + + + + + 1292 + + + + + 963 + + + + + 1553 + + + + + 1050 + + + + + + + + {555, 272} + + + + + + 2307 + + + 0 + IBCarbonFramework + + com.apple.InterfaceBuilder.CarbonPlugin.macosx + + + YES + ../snes9x.xcodeproj + 3 + + diff --git a/macosx/mac-os.mm b/macosx/mac-os.mm index b35f27a1..809adcef 100644 --- a/macosx/mac-os.mm +++ b/macosx/mac-os.mm @@ -530,19 +530,25 @@ static pascal OSStatus GameWindowUserPaneEventHandler (EventHandlerCallRef, Even int main (int argc, char **argv) { - OSStatus err; - EventHandlerRef eref; - EventHandlerUPP eUPP; - EventTypeSpec mEvents[] = { { kEventClassCommand, kEventCommandProcess }, - { kEventClassCommand, kEventCommandUpdateStatus } }, - sEvents[] = { { kEventClassCommand, kEventCommandProcess }, - { kEventClassCommand, kEventCommandUpdateStatus }, - { kEventClassMouse, kEventMouseUp }, - { kEventClassMouse, kEventMouseMoved }, - { kEventClassMouse, kEventMouseDragged } }; +#ifdef MAC_PANTHER_SUPPORT + NSAutoreleasePool *pool; +#endif + OSStatus err; + EventHandlerRef eref; + EventHandlerUPP eUPP; + EventTypeSpec mEvents[] = { { kEventClassCommand, kEventCommandProcess }, + { kEventClassCommand, kEventCommandUpdateStatus } }, + sEvents[] = { { kEventClassCommand, kEventCommandProcess }, + { kEventClassCommand, kEventCommandUpdateStatus }, + { kEventClassMouse, kEventMouseUp }, + { kEventClassMouse, kEventMouseMoved }, + { kEventClassMouse, kEventMouseDragged } }; +#ifdef MAC_PANTHER_SUPPORT + pool = [[NSAutoreleasePool alloc] init]; +#endif eUPP = NewEventHandlerUPP(MainEventHandler); - err = InstallApplicationEventHandler(eUPP, GetEventTypeCount(mEvents), mEvents, NULL, &eref); + err = InstallApplicationEventHandler(eUPP, GetEventTypeCount(mEvents), mEvents, NULL, &eref); Initialize(); @@ -566,7 +572,11 @@ int main (int argc, char **argv) err = RemoveEventHandler(eref); DisposeEventHandlerUPP(eUPP); + #ifdef MAC_PANTHER_SUPPORT + [pool release]; + pool = [[NSAutoreleasePool alloc] init]; + #endif eUPP = NewEventHandlerUPP(SubEventHandler); err = InstallApplicationEventHandler(eUPP, GetEventTypeCount(sEvents), sEvents, NULL, &eref); @@ -627,7 +637,11 @@ int main (int argc, char **argv) err = RemoveEventHandler(eref); DisposeEventHandlerUPP(eUPP); + #ifdef MAC_PANTHER_SUPPORT + [pool release]; + pool = [[NSAutoreleasePool alloc] init]; + #endif eUPP = NewEventHandlerUPP(MainEventHandler); err = InstallApplicationEventHandler(eUPP, GetEventTypeCount(mEvents), mEvents, NULL, &eref); } @@ -642,7 +656,10 @@ int main (int argc, char **argv) Deinitialize(); err = RemoveEventHandler(eref); - DisposeEventHandlerUPP(eUPP); + DisposeEventHandlerUPP(eUPP); +#ifdef MAC_PANTHER_SUPPORT + [pool release]; +#endif return (0); } diff --git a/macosx/snes9x.xcodeproj/project.pbxproj b/macosx/snes9x.xcodeproj/project.pbxproj index 09e4016a..d8588653 100755 --- a/macosx/snes9x.xcodeproj/project.pbxproj +++ b/macosx/snes9x.xcodeproj/project.pbxproj @@ -116,7 +116,6 @@ CF047DA7109D0E0600FD0754 /* freeze_defrost.aiff in Resources */ = {isa = PBXBuildFile; fileRef = EA85C3560B4ECBD900F5F9C9 /* freeze_defrost.aiff */; }; CF047DA8109D0E0600FD0754 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = EA3BEA9E0A28384E00A8FAE5 /* InfoPlist.strings */; }; CF047DA9109D0E0600FD0754 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = EA3BEA980A28384E00A8FAE5 /* Localizable.strings */; }; - CF047DAA109D0E0600FD0754 /* Snes9x.nib in Resources */ = {isa = PBXBuildFile; fileRef = EA3BEA9C0A28384E00A8FAE5 /* Snes9x.nib */; }; CF047DAB109D0E0600FD0754 /* Snes9x Help in Resources */ = {isa = PBXBuildFile; fileRef = EA3BEAA80A28386500A8FAE5 /* Snes9x Help */; }; CF047DAF109D0E0600FD0754 /* bsx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EA2F380F09B17E070078DCA7 /* bsx.cpp */; }; CF047DB0109D0E0600FD0754 /* c4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAE0615F0526CCB900A80003 /* c4.cpp */; }; @@ -312,7 +311,6 @@ CF0566FC0CF98E7E00C7877C /* freeze_defrost.aiff in Resources */ = {isa = PBXBuildFile; fileRef = EA85C3560B4ECBD900F5F9C9 /* freeze_defrost.aiff */; }; CF0566FD0CF98E7E00C7877C /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = EA3BEA9E0A28384E00A8FAE5 /* InfoPlist.strings */; }; CF0566FE0CF98E7E00C7877C /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = EA3BEA980A28384E00A8FAE5 /* Localizable.strings */; }; - CF0566FF0CF98E7E00C7877C /* Snes9x.nib in Resources */ = {isa = PBXBuildFile; fileRef = EA3BEA9C0A28384E00A8FAE5 /* Snes9x.nib */; }; CF0567000CF98E7E00C7877C /* Snes9x Help in Resources */ = {isa = PBXBuildFile; fileRef = EA3BEAA80A28386500A8FAE5 /* Snes9x Help */; }; CF0567030CF98E7E00C7877C /* bsx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EA2F380F09B17E070078DCA7 /* bsx.cpp */; }; CF0567040CF98E7E00C7877C /* c4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAE0615F0526CCB900A80003 /* c4.cpp */; }; @@ -396,6 +394,9 @@ CF0567600CF98E7E00C7877C /* libHIDUtilities_u.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EA3D2F580A26085800BDACCC /* libHIDUtilities_u.a */; }; CF0567810CF9971000C7877C /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CF05677E0CF9971000C7877C /* QuartzCore.framework */; }; CF10B8F20F63BF8A009C81CD /* libz_u.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CF10B8EF0F63BF8A009C81CD /* libz_u.a */; }; + CF14733E132DA4E1000D0F91 /* Snes9x.xib in Resources */ = {isa = PBXBuildFile; fileRef = CF14733C132DA4E1000D0F91 /* Snes9x.xib */; }; + CF14733F132DA4E1000D0F91 /* Snes9x.xib in Resources */ = {isa = PBXBuildFile; fileRef = CF14733C132DA4E1000D0F91 /* Snes9x.xib */; }; + CF147340132DA4E1000D0F91 /* Snes9x.xib in Resources */ = {isa = PBXBuildFile; fileRef = CF14733C132DA4E1000D0F91 /* Snes9x.xib */; }; CF2F46121095EE72007D33FA /* 65c816.h in Headers */ = {isa = PBXBuildFile; fileRef = EAE0615A0526CCB900A80003 /* 65c816.h */; }; CF2F46151095EE72007D33FA /* bsx.h in Headers */ = {isa = PBXBuildFile; fileRef = EA2F381A09B17E9E0078DCA7 /* bsx.h */; }; CF2F46161095EE72007D33FA /* c4.h in Headers */ = {isa = PBXBuildFile; fileRef = EAE061600526CCB900A80003 /* c4.h */; }; @@ -505,7 +506,6 @@ CF2F46811095EE72007D33FA /* freeze_defrost.aiff in Resources */ = {isa = PBXBuildFile; fileRef = EA85C3560B4ECBD900F5F9C9 /* freeze_defrost.aiff */; }; CF2F46821095EE72007D33FA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = EA3BEA9E0A28384E00A8FAE5 /* InfoPlist.strings */; }; CF2F46831095EE72007D33FA /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = EA3BEA980A28384E00A8FAE5 /* Localizable.strings */; }; - CF2F46841095EE72007D33FA /* Snes9x.nib in Resources */ = {isa = PBXBuildFile; fileRef = EA3BEA9C0A28384E00A8FAE5 /* Snes9x.nib */; }; CF2F46851095EE72007D33FA /* Snes9x Help in Resources */ = {isa = PBXBuildFile; fileRef = EA3BEAA80A28386500A8FAE5 /* Snes9x Help */; }; CF2F46891095EE72007D33FA /* bsx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EA2F380F09B17E070078DCA7 /* bsx.cpp */; }; CF2F468A1095EE72007D33FA /* c4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = EAE0615F0526CCB900A80003 /* c4.cpp */; }; @@ -699,6 +699,7 @@ CF0567660CF98E7E00C7877C /* Snes9x.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Snes9x.app; sourceTree = BUILT_PRODUCTS_DIR; }; CF05677E0CF9971000C7877C /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = /System/Library/Frameworks/QuartzCore.framework; sourceTree = ""; }; CF10B8EF0F63BF8A009C81CD /* libz_u.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libz_u.a; sourceTree = ""; }; + CF14733D132DA4E1000D0F91 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/Snes9x.xib; sourceTree = ""; }; CF2CFFD30F10F2C000B8B35E /* spc7110emu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spc7110emu.cpp; sourceTree = ""; }; CF2CFFD40F10F2C000B8B35E /* spc7110dec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = spc7110dec.cpp; sourceTree = ""; }; CF2CFFDB0F10F2DD00B8B35E /* spc7110emu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spc7110emu.h; sourceTree = ""; }; @@ -774,7 +775,6 @@ EA31FE2D05F7743E00E13748 /* gfx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = gfx.cpp; sourceTree = ""; }; EA362C3E086119D100FBE476 /* HID_Utilities_External.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = HID_Utilities_External.h; sourceTree = ""; }; EA3BEA990A28384E00A8FAE5 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = ""; }; - EA3BEA9D0A28384E00A8FAE5 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/Snes9x.nib; sourceTree = ""; }; EA3BEA9F0A28384E00A8FAE5 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; EA3BEAA90A28386500A8FAE5 /* English */ = {isa = PBXFileReference; lastKnownFileType = folder; name = English; path = "English.lproj/Snes9x Help"; sourceTree = ""; }; EA3D2F360A26083B00BDACCC /* SRAM.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = SRAM.icns; sourceTree = ""; }; @@ -1307,7 +1307,7 @@ EA85C3560B4ECBD900F5F9C9 /* freeze_defrost.aiff */, EA3BEA9E0A28384E00A8FAE5 /* InfoPlist.strings */, EA3BEA980A28384E00A8FAE5 /* Localizable.strings */, - EA3BEA9C0A28384E00A8FAE5 /* Snes9x.nib */, + CF14733C132DA4E1000D0F91 /* Snes9x.xib */, EA3BEAA80A28386500A8FAE5 /* Snes9x Help */, EA3D2F580A26085800BDACCC /* libHIDUtilities_u.a */, CF10B8EF0F63BF8A009C81CD /* libz_u.a */, @@ -1737,7 +1737,7 @@ /* Begin PBXProject section */ 20286C28FDCF999611CA2CEA /* Project object */ = { isa = PBXProject; - buildConfigurationList = EA6A1100085808D200A1CF18 /* Build configuration list for PBXProject "macpdate" */; + buildConfigurationList = EA6A1100085808D200A1CF18 /* Build configuration list for PBXProject "snes9x" */; compatibilityVersion = "Xcode 2.4"; developmentRegion = English; hasScannedForEncodings = 1; @@ -1778,7 +1778,7 @@ CF047DA7109D0E0600FD0754 /* freeze_defrost.aiff in Resources */, CF047DA8109D0E0600FD0754 /* InfoPlist.strings in Resources */, CF047DA9109D0E0600FD0754 /* Localizable.strings in Resources */, - CF047DAA109D0E0600FD0754 /* Snes9x.nib in Resources */, + CF14733F132DA4E1000D0F91 /* Snes9x.xib in Resources */, CF047DAB109D0E0600FD0754 /* Snes9x Help in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1802,7 +1802,7 @@ CF0566FC0CF98E7E00C7877C /* freeze_defrost.aiff in Resources */, CF0566FD0CF98E7E00C7877C /* InfoPlist.strings in Resources */, CF0566FE0CF98E7E00C7877C /* Localizable.strings in Resources */, - CF0566FF0CF98E7E00C7877C /* Snes9x.nib in Resources */, + CF147340132DA4E1000D0F91 /* Snes9x.xib in Resources */, CF0567000CF98E7E00C7877C /* Snes9x Help in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1826,7 +1826,7 @@ CF2F46811095EE72007D33FA /* freeze_defrost.aiff in Resources */, CF2F46821095EE72007D33FA /* InfoPlist.strings in Resources */, CF2F46831095EE72007D33FA /* Localizable.strings in Resources */, - CF2F46841095EE72007D33FA /* Snes9x.nib in Resources */, + CF14733E132DA4E1000D0F91 /* Snes9x.xib in Resources */, CF2F46851095EE72007D33FA /* Snes9x Help in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -2146,6 +2146,14 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXVariantGroup section */ + CF14733C132DA4E1000D0F91 /* Snes9x.xib */ = { + isa = PBXVariantGroup; + children = ( + CF14733D132DA4E1000D0F91 /* English */, + ); + name = Snes9x.xib; + sourceTree = ""; + }; EA3BEA980A28384E00A8FAE5 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( @@ -2154,14 +2162,6 @@ name = Localizable.strings; sourceTree = ""; }; - EA3BEA9C0A28384E00A8FAE5 /* Snes9x.nib */ = { - isa = PBXVariantGroup; - children = ( - EA3BEA9D0A28384E00A8FAE5 /* English */, - ); - name = Snes9x.nib; - sourceTree = ""; - }; EA3BEA9E0A28384E00A8FAE5 /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( @@ -2414,7 +2414,7 @@ GCC_ENABLE_CPP_EXCEPTIONS = NO; GCC_ENABLE_CPP_RTTI = NO; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_MODEL_TUNING = G4; + GCC_MODEL_TUNING = G3; GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 3; GCC_PREFIX_HEADER = "mac-global_prefix.h"; @@ -2448,7 +2448,7 @@ LIBRARY_SEARCH_PATHS = .; MACOSX_DEPLOYMENT_TARGET = 10.3; OTHER_CFLAGS = ( - "-mcpu=G4", + "-mcpu=G3", "-fomit-frame-pointer", "-fast", ); @@ -2498,7 +2498,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - EA6A1100085808D200A1CF18 /* Build configuration list for PBXProject "macpdate" */ = { + EA6A1100085808D200A1CF18 /* Build configuration list for PBXProject "snes9x" */ = { isa = XCConfigurationList; buildConfigurations = ( EA6A1102085808D200A1CF18 /* Release */, From 2f2d92a9daf56b246df9d1fc7a0b57be390e9dd0 Mon Sep 17 00:00:00 2001 From: zones Date: Sun, 10 Apr 2011 22:44:28 +0900 Subject: [PATCH 04/25] Update changelog / update minizip to 1.01h / update docs / Mac: changed MusicBox to Cocoa interface --- docs/changes.txt | 56 + .../Snes9x Help/Snes9x Help.helpindex | Bin 39308 -> 35212 bytes macosx/English.lproj/Snes9x Help/pgs/02.html | 2 +- macosx/English.lproj/Snes9x Help/pgs/03.html | 2 +- macosx/English.lproj/Snes9x Help/pgs/04.html | 8 + macosx/English.lproj/Snes9x Help/pgs/06.html | 2 +- macosx/English.lproj/Snes9x Help/pgs/08.html | 3 +- macosx/English.lproj/Snes9x Help/pgs/09.html | 4 +- macosx/English.lproj/Snes9x Help/pgs/10.html | 4 +- macosx/English.lproj/Snes9x Help/pgs/13.html | 2 +- macosx/English.lproj/Snes9x Help/pgs/15.html | 2 +- macosx/English.lproj/Snes9x.nib/classes.nib | 8 - macosx/English.lproj/Snes9x.nib/info.nib | 18 - macosx/English.lproj/Snes9x.nib/objects.xib | 7694 ----------------- macosx/English.lproj/Snes9x.xib | 7430 ++++++++-------- macosx/English.lproj/musicbox.xib | 2171 +++++ macosx/docs/FAQ.rtf | 7 +- macosx/icons.png | Bin 6598 -> 5074 bytes macosx/libz_u.a | Bin 213680 -> 241192 bytes macosx/logo_defrost.png | Bin 33020 -> 29426 bytes macosx/logo_freeze.png | Bin 23570 -> 20720 bytes macosx/mac-appleevent.cpp | 2 +- macosx/mac-appleevent.h | 2 +- macosx/mac-audio.h | 2 +- macosx/{mac-audio.cpp => mac-audio.mm} | 3 +- macosx/mac-cart.h | 2 +- macosx/mac-cart.mm | 2 +- macosx/mac-cheat.cpp | 2 +- macosx/mac-cheat.h | 2 +- macosx/mac-cheatfinder.cpp | 2 +- macosx/mac-cheatfinder.h | 2 +- macosx/mac-client.cpp | 2 +- macosx/mac-client.h | 2 +- macosx/mac-cocoatools.h | 2 +- macosx/mac-cocoatools.mm | 2 +- macosx/mac-controls.cpp | 2 +- macosx/mac-controls.h | 2 +- macosx/mac-coreimage.h | 2 +- macosx/mac-coreimage.mm | 2 +- macosx/mac-dialog.cpp | 2 +- macosx/mac-dialog.h | 2 +- macosx/mac-file.cpp | 2 +- macosx/mac-file.h | 2 +- macosx/mac-global_prefix.h | 2 +- macosx/mac-gworld.cpp | 2 +- macosx/mac-gworld.h | 2 +- macosx/mac-joypad.cpp | 2 +- macosx/mac-joypad.h | 2 +- macosx/mac-keyboard.cpp | 2 +- macosx/mac-keyboard.h | 2 +- macosx/mac-multicart.cpp | 2 +- macosx/mac-multicart.h | 2 +- macosx/mac-musicbox.cpp | 867 -- macosx/mac-musicbox.h | 61 +- macosx/mac-musicbox.mm | 646 ++ macosx/mac-netplay.cpp | 2 +- macosx/mac-netplay.h | 2 +- macosx/mac-os.h | 3 +- macosx/mac-os.mm | 2 +- macosx/mac-prefix.h | 4 +- macosx/mac-prefs.cpp | 8 +- macosx/mac-prefs.h | 2 +- macosx/mac-quicktime.cpp | 2 +- macosx/mac-quicktime.h | 2 +- macosx/mac-render.cpp | 2 +- macosx/mac-render.h | 2 +- macosx/mac-screenshot.cpp | 2 +- macosx/mac-screenshot.h | 2 +- macosx/mac-server.cpp | 2 +- macosx/mac-server.h | 2 +- macosx/mac-snes9x.cpp | 2 +- macosx/mac-snes9x.h | 2 +- macosx/mac-stringtools.cpp | 2 +- macosx/mac-stringtools.h | 2 +- macosx/musicbox_effect.png | Bin 0 -> 133 bytes macosx/musicbox_indicator.png | Bin 1146 -> 729 bytes macosx/musicbox_pause.png | Bin 0 -> 108 bytes macosx/musicbox_rewind.png | Bin 0 -> 136 bytes macosx/snes9x.xcodeproj/project.pbxproj | 92 +- unix/configure | 131 +- unix/docs/readme_unix.html | 8 +- unzip/crypt.h | 4 +- unzip/ioapi.c | 7 +- unzip/ioapi.h | 4 +- unzip/iowin32.c | 4 +- unzip/iowin32.h | 4 +- unzip/miniunz.c | 26 +- unzip/minizip.c | 63 +- unzip/unzip.c | 108 +- unzip/unzip.h | 10 +- unzip/zip.c | 169 +- unzip/zip.h | 30 +- win32/docs/readme-windows.txt | 16 +- 93 files changed, 7420 insertions(+), 12353 deletions(-) mode change 100644 => 100755 macosx/English.lproj/Snes9x Help/pgs/02.html mode change 100644 => 100755 macosx/English.lproj/Snes9x Help/pgs/03.html mode change 100644 => 100755 macosx/English.lproj/Snes9x Help/pgs/04.html mode change 100644 => 100755 macosx/English.lproj/Snes9x Help/pgs/06.html mode change 100644 => 100755 macosx/English.lproj/Snes9x Help/pgs/08.html mode change 100644 => 100755 macosx/English.lproj/Snes9x Help/pgs/09.html mode change 100644 => 100755 macosx/English.lproj/Snes9x Help/pgs/10.html mode change 100644 => 100755 macosx/English.lproj/Snes9x Help/pgs/13.html mode change 100644 => 100755 macosx/English.lproj/Snes9x Help/pgs/15.html delete mode 100644 macosx/English.lproj/Snes9x.nib/classes.nib delete mode 100644 macosx/English.lproj/Snes9x.nib/info.nib delete mode 100644 macosx/English.lproj/Snes9x.nib/objects.xib create mode 100644 macosx/English.lproj/musicbox.xib mode change 100644 => 100755 macosx/mac-appleevent.cpp mode change 100644 => 100755 macosx/mac-appleevent.h rename macosx/{mac-audio.cpp => mac-audio.mm} (99%) mode change 100644 => 100755 macosx/mac-cheat.cpp mode change 100644 => 100755 macosx/mac-cheat.h mode change 100644 => 100755 macosx/mac-cheatfinder.h mode change 100644 => 100755 macosx/mac-dialog.cpp mode change 100644 => 100755 macosx/mac-gworld.cpp mode change 100644 => 100755 macosx/mac-gworld.h mode change 100644 => 100755 macosx/mac-joypad.cpp mode change 100644 => 100755 macosx/mac-joypad.h mode change 100644 => 100755 macosx/mac-keyboard.cpp mode change 100644 => 100755 macosx/mac-keyboard.h delete mode 100755 macosx/mac-musicbox.cpp mode change 100644 => 100755 macosx/mac-musicbox.h create mode 100755 macosx/mac-musicbox.mm mode change 100644 => 100755 macosx/mac-prefs.h mode change 100644 => 100755 macosx/mac-stringtools.cpp mode change 100644 => 100755 macosx/mac-stringtools.h create mode 100644 macosx/musicbox_effect.png create mode 100644 macosx/musicbox_pause.png create mode 100644 macosx/musicbox_rewind.png mode change 100644 => 100755 unix/configure diff --git a/docs/changes.txt b/docs/changes.txt index 3810e2b7..d42e680a 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -1,3 +1,59 @@ +Snes9x 1.53 + +- Rebuilt IRQ handling. (zones) +- Improved overall timings, now Snes9x can handle events in + a opcode a little. (zones) +- Improved screen interlace and sprite interlace supports. (OV2, zones) +- Fixed Hi-Res pixel plotter. (BearOso, zones, OV2) +- Fixed C4 for Mega Man X2's "weapon get" screen. (Jonas Quinn) +- Fixed Super Buster Bros. graphics after reset. (Jonas Quinn) +- Improved SA-1 support. (zones) +- Added SA-1 CC2 support. (Jonas Quinn, byuu) +- Fixed SA-1 NMI override mode. (zones) +- Fixed Dual Orb 2 sound glitch. (byuu) +- New APU timing hack, fixes various games that exhibit + problems with Blargg's SNES_SPC library. (OV2) +- Fixed movie snapshot unfreeze inconsistency. (gocha) +- Faster config file saving. (OV2) +- Fixed BlockInvalidVRAMAccess config file option. + (windows port, unix port and gtk legacy config) (Jonas Quinn) +- Remove POSIX dup and access calls, and rename qword to + fix compilation with Cell SDK. (BearOso) +- Fixed PS3 version save state crash by using heap + allocation for soundsnapshot. (danieldematteis) +- Fixed crash relating to double-closed descriptor. (BearOso) +- Removed CPUShutdown speedhack, DisableHDMA and + DisableIRQ options. (zones) +- Removed remaining outdated asm code. (zones) +- JMA 64 bit support. (kode54, Nach, friedrich.goepel) +- GTK+, Win32, Mac: Added optional Hi-Res blending. (BearOso, OV2, zones) +- GTK+, Win32: Support for bSNES-style XML shaders. (BearOso, OV2) +- Win32: Full unicode support. (OV2) +- Win32: Restored OpenGL mode. (OV2) +- Win32: x64 version. (OV2) +- Win32: HLSL shader support. (mudlord) +- Win32: Win7 jumplist synchronizes with recent roms list. (OV2) +- Win32: Updated menu structure. (OV2) +- Win32: Drag&Drop support for ROMs. (gocha, OV2) +- Win32: Reworked movie-recording with size selection. (gocha, OV2) +- Win32: Restored SPC save option. (OV2) +- Win32: Fixed vsync in DirectDraw. (OV2) +- Win32: Improved window position saving. (OV2) +- Win32: Restored compile with DEBUGGER. (gocha) +- Win32: Fixed various edge-case errors and/or possible + leaks. (Brian Friesen) +- Win32: Config file option to always center image. (OV2) +- Win32: Fixed "Turbo Down mode" hotkey assignment. (gocha) +- Win32: Added and fixed Autofire for D-pad. (gocha) +- Win32: Fixed aggressive soundsync wait. (OV2) +- Win32: Added window size presets. (OV2) +- Mac : Added pause and frame advance functions. (zones) +- Mac : Now you can choose any folder for saving files. (zones) +- Mac : Updated Music Box (mostly internally). (zones) +- Mac : Fixed gliches in open/save dialogs on 10.6. (zones) +- Mac : Fixed display configuration in windowed mode. (zones) +- Unix : Fixed segfault and hang-up with -DNOSOUND. (zones) + Snes9x 1.52 - IMPORTANT NOTICE: The structure of savestates (also known as snapshots / freeze files) is incompatible with older diff --git a/macosx/English.lproj/Snes9x Help/Snes9x Help.helpindex b/macosx/English.lproj/Snes9x Help/Snes9x Help.helpindex index 181ce7a4e849885a9bf914c6f0a11a7c40ff8d9a..e6d6e1d06be377d9ce3429c8c949953ba9cb7f8b 100644 GIT binary patch literal 35212 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 |Y^z_v!qVMizl`xE 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 Hz54$H@4Mvm literal 39308 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 diff --git a/macosx/English.lproj/Snes9x Help/pgs/02.html b/macosx/English.lproj/Snes9x Help/pgs/02.html old mode 100644 new mode 100755 index c66d0731..24cbcc6c --- a/macosx/English.lproj/Snes9x Help/pgs/02.html +++ b/macosx/English.lproj/Snes9x Help/pgs/02.html @@ -20,7 +20,7 @@ Choose 'Open ROM Image...' in 'File' menu, select the game and start it. You can also drag and drop the ROM image onto the Snes9x icon. You may open a ROM image by double clicking on its icon in the Finder as well.

- SNES ROM images come in lots of different formats. Snes9x supports zipped ROMs as long as there is only 1 per zip file. Also Snes9x can open gzip/jma compressed file. + SNES ROM images come in lots of different formats. Snes9x supports zipped ROMs as long as there is only 1 per zip file. Also Snes9x can open gzip and jma compressed files.

Game Color System

diff --git a/macosx/English.lproj/Snes9x Help/pgs/03.html b/macosx/English.lproj/Snes9x Help/pgs/03.html old mode 100644 new mode 100755 index 519ad0b0..ed476e06 --- a/macosx/English.lproj/Snes9x Help/pgs/03.html +++ b/macosx/English.lproj/Snes9x Help/pgs/03.html @@ -21,7 +21,7 @@

Software

- You will need access to SNES ROM images in .smc, .sfc, .fig, etc., format otherwise you will have nothing to run! Some home-brewed ROM images can be downloaded from http://www.zophar.com/.
+ You will need access to SNES ROM images otherwise you will have nothing to run! Some home-brewed ROM images can be downloaded from http://www.zophar.com/.
Please note, it is illegal in most countries to have commercial ROM images without also owning the actual SNES ROM cartridges, and even then you may be liable under various EULAs.

diff --git a/macosx/English.lproj/Snes9x Help/pgs/04.html b/macosx/English.lproj/Snes9x Help/pgs/04.html old mode 100644 new mode 100755 index 31f05bfe..55056a6f --- a/macosx/English.lproj/Snes9x Help/pgs/04.html +++ b/macosx/English.lproj/Snes9x Help/pgs/04.html @@ -186,6 +186,14 @@ W decreases emulated frame time - speeding up the game. + + O + just pauses and resumes - doesn't exit from the emulation loop. + + + P + advances a frame when paused. + diff --git a/macosx/English.lproj/Snes9x Help/pgs/06.html b/macosx/English.lproj/Snes9x Help/pgs/06.html old mode 100644 new mode 100755 index 861e423c..fc2e9c52 --- a/macosx/English.lproj/Snes9x Help/pgs/06.html +++ b/macosx/English.lproj/Snes9x Help/pgs/06.html @@ -17,7 +17,7 @@

Using the SRAM File

- It's easy enough, just save the game as you do with the real SNES. Snes9x outputs the contents of the emulated SRAM into a file (.srm) when you load a new game or quit Snes9x. This file is automatically loaded the next time you play the game. + It's easy enough, just save the game as you do with the real SNES. Snes9x outputs the contents of the emulated SRAM into a file (.srm) when you load a new game, pause the emulation loop or quit Snes9x. This file is automatically loaded the next time you play the game.

To avoid losing your progress if Snes9x or your system crashes before the .srm file is saved, Snes9x provides auto-saving .srm option - the .srm file is always updated when the SRAM contents are modified. See into 'File' tab in 'Preferences' dialog to turn on this option. You can also update .srm file manually by choosing 'Save SRAM File Now' in 'Option' menu. diff --git a/macosx/English.lproj/Snes9x Help/pgs/08.html b/macosx/English.lproj/Snes9x Help/pgs/08.html old mode 100644 new mode 100755 index fd0f2d4b..b9d43a95 --- a/macosx/English.lproj/Snes9x Help/pgs/08.html +++ b/macosx/English.lproj/Snes9x Help/pgs/08.html @@ -29,7 +29,8 @@

QuickTime Movie Export

- Note that during the QuickTime recording there is no sound, but the exported QuickTime movie has sound. Choose 'Export to QuickTime Movie...' in 'Option' menu and choose the location where the QuickTime movie file will be saved. Press 'Compression...' button and set the compression settings by the general QuickTime dialog. 'Double Size' check box makes the movie size from 256x224/239 to 512x448/478. 'Overscan' check box is for games that use 239 or 478 lines. 'Frame Skip' menu decides frame rate of the movie, for example when the value is 1, NTSC games which have 60 fps are exported as 30 fps movie.
+ Note that during the QuickTime recording there is no sound, but the exported QuickTime movie has sound.
+ Choose 'Export to QuickTime Movie...' in 'Option' menu and choose the location where the QuickTime movie file will be saved. Press 'Compression...' button and set the compression settings by the general QuickTime dialog. 'Double Size' check box makes the movie size from 256x224/239 to 512x448/478. 'Overscan' check box is for games that use 239 or 478 lines. 'Frame Skip' menu decides frame rate of the movie, for example when the value is 1, NTSC games which have 60 fps are exported as 30 fps movie.
To make a QuickTime movie from .smv, choose 'Play Movie...' in 'Option' menu and turn on 'Export to QuickTime movie at a Time' check box.

diff --git a/macosx/English.lproj/Snes9x Help/pgs/09.html b/macosx/English.lproj/Snes9x Help/pgs/09.html old mode 100644 new mode 100755 index 3e07abca..04c2e2ef --- a/macosx/English.lproj/Snes9x Help/pgs/09.html +++ b/macosx/English.lproj/Snes9x Help/pgs/09.html @@ -32,7 +32,7 @@ Server - Open the ROM image. Pause the game. + Open the ROM image. Pause the game and exit from the emulation loop. Server @@ -84,7 +84,7 @@ Server - Netplay stops when server pauses the game. + Netplay stops when server pauses the game and exits from the emulation loop. Server diff --git a/macosx/English.lproj/Snes9x Help/pgs/10.html b/macosx/English.lproj/Snes9x Help/pgs/10.html old mode 100644 new mode 100755 index 3b1b8303..124a2390 --- a/macosx/English.lproj/Snes9x Help/pgs/10.html +++ b/macosx/English.lproj/Snes9x Help/pgs/10.html @@ -22,7 +22,9 @@

ROM Folder
the files will all be in the same folder as the ROM image being used.
Application Support Folder (default)
-
the subdirectories will be created in /Users/yourname/Library/Application Support/Snes9x and searched.
+
the subdirectories will be created and searched in /Users/yourname/Library/Application Support/Snes9x.
+
Other...
+
the subdirectories will be created and searched in any folder you choose.

Which Display is Used in Full Screen Mode

diff --git a/macosx/English.lproj/Snes9x Help/pgs/13.html b/macosx/English.lproj/Snes9x Help/pgs/13.html old mode 100644 new mode 100755 index b3c98b31..ff136aff --- a/macosx/English.lproj/Snes9x Help/pgs/13.html +++ b/macosx/English.lproj/Snes9x Help/pgs/13.html @@ -19,7 +19,7 @@

  • Sound DSP, with eight 16-bit, stereo channels, compressed samples, hardware envelope processing, echo, pitch modulation and digital FIR sound filter.
  • SRAM, a battery-backed RAM.
  • All background modes, 0 to 7.
  • -
  • All screen resolutions, 256x224, 256x239, 512x224, 512x239, 512x448 and 512x478.
  • +
  • All screen resolutions including interlace mode.
  • Pseudo hi-res mode.
  • 8x8, 16x8 and 16x16 tile sizes, flipped in either direction.
  • 32x32, 32x64, 64x32 and 64x64 screen tile sizes.
  • diff --git a/macosx/English.lproj/Snes9x Help/pgs/15.html b/macosx/English.lproj/Snes9x Help/pgs/15.html old mode 100644 new mode 100755 index e8b5e491..5eb0de91 --- a/macosx/English.lproj/Snes9x Help/pgs/15.html +++ b/macosx/English.lproj/Snes9x Help/pgs/15.html @@ -60,7 +60,7 @@

    Edited for Mac port by: zones (kasumitokoduck@yahoo.com)
    - Updated most recently by: 2009/12/20 zones + Updated most recently by: 2011/3/31 zones

    <Prev  Top  Next> diff --git a/macosx/English.lproj/Snes9x.nib/classes.nib b/macosx/English.lproj/Snes9x.nib/classes.nib deleted file mode 100644 index c4b887e7..00000000 --- a/macosx/English.lproj/Snes9x.nib/classes.nib +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IBVersion - 1 - - diff --git a/macosx/English.lproj/Snes9x.nib/info.nib b/macosx/English.lproj/Snes9x.nib/info.nib deleted file mode 100644 index 0e0eb7bd..00000000 --- a/macosx/English.lproj/Snes9x.nib/info.nib +++ /dev/null @@ -1,18 +0,0 @@ - - - - - IBFramework Version - 823 - IBLastKnownRelativeProjectPath - ../snes9x.xcodeproj - IBOldestOS - 6 - IBOpenObjects - - IBSystem Version - 10J567 - targetFramework - IBCarbonFramework - - diff --git a/macosx/English.lproj/Snes9x.nib/objects.xib b/macosx/English.lproj/Snes9x.nib/objects.xib deleted file mode 100644 index d4e9880e..00000000 --- a/macosx/English.lproj/Snes9x.nib/objects.xib +++ /dev/null @@ -1,7694 +0,0 @@ - - - - - - - osx_ - 806 - Saves the sizes and positions of the game window and dialogs so they come back to the same place. - Save Window Size and Position - 326 20 221 18 - 62 347 80 568 - - - PRES - 1 - Preset #n - 130 456 95 13 - 456 130 469 225 - - - AEtx - 1 - TRUE - TRUE - 110 74 90 13 - 74 110 87 200 - - - Star - 2 - 0 - 822 - 4 - 33024 - 159 74 28 28 - 122 200 150 228 - - - #3 - TRUE - CPr3 - - - TRUE - TRUE - - - 1 - Cheat Value : - -1 - 16 74 83 13 - 74 16 87 99 - - - 8__R - 8__R - 0 - 1409 - 4 - TRUE - 32768 - 176 26 28 28 - 324 518 352 546 - - - RChk - 1 - 0 - 809 - 4 - 33024 - 180 30 28 28 - 78 221 106 249 - - - SHTa - 1 - SHTa - 1 - Add - 237 130 70 20 - 130 237 150 307 - - - 7__R - 7__R - 0 - 1309 - 4 - TRUE - 32768 - 176 26 28 28 - 324 196 352 224 - - - Slot A - 20 22 42 16 - 22 20 38 62 - - - 1 - Size (header) : - -1 - 20 167 128 13 - 167 20 180 148 - - - = - TRUE - - - 8Sel - 8Sel - 0 - 1411 - 4 - TRUE - 32768 - 119 70 28 28 - 368 461 396 489 - - - Slid - 1 - TRUE - 16 - 10 - 1 - 16 - 16 28 215 26 - 392 57 418 272 - - - barc - 3 - barc - 0 - 4 - 256 - 192 6 12 12 - 214 213 226 225 - - - 2__A - 2__A - 0 - 819 - 4 - TRUE - 32768 - 262 70 28 28 - 76 604 104 632 - - - 4 - TRUE - - - Justifier - TRUE - EIp7 - - - PANE - 1000 - 2 - - - RCTL - 108 - 1 - Players to Record : - 8 7 21 110 - - - RCTL - 109 - 1 - Comment : - 33 7 46 67 - - - RCTL - 107 - 1 - TRUE - TRUE - 33 77 46 422 - - - RCTL - 101 - 1 - 1 - 7 114 23 140 - - - RCTL - 102 - 1 - 2 - 7 152 23 178 - - - RCTL - 103 - 1 - 3 - 7 190 23 216 - - - RCTL - 104 - 1 - 4 - 7 228 23 254 - - - RCTL - 105 - 1 - 5 - 7 266 23 292 - - - RCTL - 106 - 1 - Reset - 7 358 23 406 - - - 0 0 57 433 - - - CCTL - 102 - 1 - - Popup: - - - Auto Detect - TRUE - - - TRUE - TRUE - - - Force not Interleaved - TRUE - - - Force Mode 1 - TRUE - - - Force Mode 2 - TRUE - - - Force GD24 - TRUE - - - - 6 315 23 425 - - - Up - 2 - 0 - 812 - 4 - 33024 - 46 44 28 28 - 92 87 120 115 - - - Cheat - - Cheat - 132 - - - Apply Cheats - TRUE - Hapl - - - TRUE - TRUE - - - Cheat Entry... - TRUE - Hent - - - Cheat Finder... - TRUE - Hfnd - - - - - - 0 0 257 216 - - - BMrk - All frames are drawn without adjusting times. Make sure 'Synchronize' in 'Sound' tab in 'Preferences' dialog is turned off. - Benchmark Test - 18 20 133 18 - 20 18 38 151 - - - NoTR - GL_TEXTURE_2D is used even if GL_TEXTURE_RECTANGLE_EXT is available. - Don't Use Rectangle Texture - 34 104 203 18 - 104 34 122 237 - - - AGPT - Sets GL_TEXTURE_PRIORITY to 0.0. - AGP Texturing - 34 148 203 18 - 148 34 166 237 - - - Storage Hint : - 36 178 90 16 - 178 36 194 126 - - - CSAp - Sets GL_STORAGE_SHARED_APPLE to 1. - Client Stroage - 34 126 203 18 - 126 34 144 237 - - - Hint - Sets GL_TEXTURE_STORAGE_HINT_APPLE. - 2 - - Popup: - - - Private - TRUE - - - Cached - TRUE - - - Shared - TRUE - - - - 134 176 103 20 - 176 134 196 237 - - - OpenGL Settings : - 20 80 131 16 - 80 20 96 151 - - - 12 58 233 1 - 58 12 59 245 - - - 0 0 216 257 - - - The degree of curvature. - Warp : - -2 - 345 228 45 16 - 270 366 286 411 - - - Defrost State - d - TRUE - Odfr - - - 1 - Set whether automatic fire is enabled for each controller button. - Enable Automatic Fire - FALSE - 20 6 310 148 - - - Left - 1 - 0 - 802 - 4 - 33024 - 16 74 28 28 - 122 57 150 85 - - - Up - 1 - 0 - 800 - 4 - 33024 - 46 44 28 28 - 92 87 120 115 - - - Down - 1 - 0 - 801 - 4 - 33024 - 46 104 28 28 - 152 87 180 115 - - - Righ - 1 - 0 - 803 - 4 - 33024 - 76 74 28 28 - 122 117 150 145 - - - AChk - 1 - 0 - 807 - 4 - 33024 - 266 74 28 28 - 122 307 150 335 - - - YChk - 1 - 0 - 804 - 4 - 33024 - 206 74 28 28 - 122 247 150 275 - - - BChk - 1 - 0 - 805 - 4 - 33024 - 236 104 28 28 - 152 277 180 305 - - - Sele - 1 - 0 - 811 - 4 - 33024 - 123 74 28 28 - 122 164 150 192 - - - Star - 1 - 0 - 810 - 4 - 33024 - 159 74 28 28 - 122 200 150 228 - - - XChk - 1 - 0 - 806 - 4 - 33024 - 236 44 28 28 - 92 277 120 305 - - - LChk - 1 - 0 - 808 - 4 - 33024 - 102 30 28 28 - 78 143 106 171 - - - - 48 41 196 351 - - - 140 ms - TRUE - - - Up - 111 - 0 - 800 - 4 - 33024 - 46 44 28 28 - 250 87 278 115 - - - - Choose the behavior of Snes9x when it is in back of other applications. - When in Background : - 20 134 146 16 - 176 41 192 187 - - - 0 0 555 272 - - - BRSR - - 1 - 1 - 2 - 2 - - 40 - - - CHK_ - chbx - 327681 - 1 - 30 - 30 - - - ADDR - 327681 - 1 - 84 - 84 - Address - - - VALU - 327681 - 1 - 65 - 65 - Value - - - DESC - 327681 - 1 - 196 - 196 - -2 - Description - - - 1 - FALSE - FALSE - 17 - 20 20 396 232 - 20 20 252 416 - - - NEW_ - NEW_ - - 1 - 2 - - New - 432 20 103 20 - 20 432 40 535 - - - DEL_ - DEL_ - - 1 - 2 - - Delete - 432 52 103 20 - 52 432 72 535 - - - ALL_ - ALL_ - - 1 - 2 - - Enable All - 432 92 103 20 - 92 432 112 535 - - - 0 0 272 555 - - - LChk - 22 - 0 - 820 - 4 - 33024 - 102 30 28 28 - 78 473 106 501 - - - _Esc - _Esc - 0 - 837 - 4 - TRUE - 32768 - 262 63 28 28 - 361 926 389 954 - - - 1P : - 20 20 28 16 - 20 20 36 48 - - - 7_Rt - 7_Rt - 0 - 1303 - 4 - TRUE - 32768 - 72 70 28 28 - 368 92 396 120 - - - 1 - Cart Name : - -1 - 20 20 128 13 - 20 20 33 148 - - - TRUE - TRUE - - - - QCTL - 103 - 1 - Compression... - 7 319 27 424 - - - 0 0 292 132 - - - SVIP - TRUE - TRUE - 97 23 172 16 - 23 97 39 269 - - - NOT_ - NOT_ - 2 - Cancel - 110 92 70 20 - 92 110 112 180 - - - OK__ - OK__ - 1 - Connect - 192 92 80 20 - 92 192 112 272 - - - CLNM - TRUE - TRUE - 97 53 172 16 - 53 97 69 269 - - - Server IP : - -1 - 20 23 63 16 - 23 20 39 83 - - - Name : - -1 - 20 53 63 16 - 53 20 69 83 - - - CHAS - 18 98 16 16 - 98 18 114 34 - - - 0 0 132 292 - - - - Multi Taps (Both Ports) - TRUE - EIp6 - - - Smooth - TRUE - - - - - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - Automatic Fire - - 0 0 723 472 - - - Ftab - 256 - 21 5 680 449 - - - Ftab - 257 - 2 - 0 37 680 412 - - - - 1 - Set whether pressing 'Alt' in conjunction with a controller button in-game toggles its automatic fire on/off. - Allow 'Alt' to Toggle Enable/Disable Automatic Fire - FALSE - 350 6 310 148 - - - Left - 11 - 0 - 802 - 4 - 33024 - 16 74 28 28 - 122 387 150 415 - - - Up - 11 - 0 - 800 - 4 - 33024 - 46 44 28 28 - 92 417 120 445 - - - Down - 11 - 0 - 801 - 4 - 33024 - 46 104 28 28 - 152 417 180 445 - - - Righ - 11 - 0 - 803 - 4 - 33024 - 76 74 28 28 - 122 447 150 475 - - - AChk - 11 - 0 - 807 - 4 - 33024 - 266 74 28 28 - 122 637 150 665 - - - YChk - 11 - 0 - 804 - 4 - 33024 - 206 74 28 28 - 122 577 150 605 - - - BChk - 11 - 0 - 805 - 4 - 33024 - 236 104 28 28 - 152 607 180 635 - - - Sele - 11 - 0 - 811 - 4 - 33024 - 123 74 28 28 - 122 494 150 522 - - - Star - 11 - 0 - 810 - 4 - 33024 - 159 74 28 28 - 122 530 150 558 - - - XChk - 11 - 0 - 806 - 4 - 33024 - 236 44 28 28 - 92 607 120 635 - - - LChk - 11 - 0 - 808 - 4 - 33024 - 102 30 28 28 - 78 473 106 501 - - - RChk - 11 - 0 - 809 - 4 - 33024 - 180 30 28 28 - 78 551 106 579 - - - 48 371 196 681 - - - 1 - Set whether, when automatic fire is enabled, 'TC' must also be held down to activate automatic fire. - Automatic Fire is Active Only While 'TC' is Pressed - FALSE - 20 164 310 148 - - - Left - 111 - 0 - 802 - 4 - 33024 - 16 74 28 28 - 280 57 308 85 - - - - Down - 111 - 0 - 801 - 4 - 33024 - 46 104 28 28 - 310 87 338 115 - - - Righ - 111 - 0 - 803 - 4 - 33024 - 76 74 28 28 - 280 117 308 145 - - - AChk - 111 - 0 - 807 - 4 - 33024 - 266 74 28 28 - 280 307 308 335 - - - YChk - 111 - 0 - 804 - 4 - 33024 - 206 74 28 28 - 280 247 308 275 - - - BChk - 111 - 0 - 805 - 4 - 33024 - 236 104 28 28 - 310 277 338 305 - - - Sele - 111 - 0 - 811 - 4 - 33024 - 123 74 28 28 - 280 164 308 192 - - - Star - 111 - 0 - 810 - 4 - 33024 - 159 74 28 28 - 280 200 308 228 - - - XChk - 111 - 0 - 806 - 4 - 33024 - 236 44 28 28 - 250 277 278 305 - - - LChk - 111 - 0 - 808 - 4 - 33024 - 102 30 28 28 - 236 143 264 171 - - - RChk - 111 - 0 - 809 - 4 - 33024 - 180 30 28 28 - 236 221 264 249 - - - 206 41 354 351 - - - 1 - Set whether a button's input is inverted - that is, Snes9x acts as though the button is pressed if and only if it is not pressed. - Button Input is Inverted - FALSE - 350 164 310 148 - - - Left - 1111 - 0 - 802 - 4 - 33024 - 16 74 28 28 - 280 387 308 415 - - - Up - 1111 - 0 - 800 - 4 - 33024 - 46 44 28 28 - 250 417 278 445 - - - Down - 1111 - 0 - 801 - 4 - 33024 - 46 104 28 28 - 310 417 338 445 - - - Righ - 1111 - 0 - 803 - 4 - 33024 - 76 74 28 28 - 280 447 308 475 - - - AChk - 1111 - 0 - 807 - 4 - 33024 - 266 74 28 28 - 280 637 308 665 - - - YChk - 1111 - 0 - 804 - 4 - 33024 - 206 74 28 28 - 280 577 308 605 - - - BChk - 1111 - 0 - 805 - 4 - 33024 - 236 104 28 28 - 310 607 338 635 - - - Sele - 1111 - 0 - 811 - 4 - 33024 - 123 74 28 28 - 280 494 308 522 - - - Star - 1111 - 0 - 810 - 4 - 33024 - 159 74 28 28 - 280 530 308 558 - - - XChk - 1111 - 0 - 806 - 4 - 33024 - 236 44 28 28 - 250 607 278 635 - - - LChk - 1111 - 0 - 808 - 4 - 33024 - 102 30 28 28 - 236 473 264 501 - - - RChk - 1111 - 0 - 809 - 4 - 33024 - 180 30 28 28 - 236 551 264 579 - - - 206 371 354 681 - - - 1 - Set the number of presses per second that an automatic fire button receives. - Automatic Fire Speed - FALSE - 20 322 310 70 - - - - Num_ - 1 - 1 - 10 - -1 - 242 35 19 13 - 399 283 412 302 - - - 1 - / sec - 265 35 29 13 - 399 306 412 335 - - - 364 41 434 351 - - - DEF1 - DEF1 - Restores the default settings. - Defaults - 579 372 81 20 - 414 600 434 681 - - - 42 21 454 701 - - - Ftab - 258 - 2 - 0 37 680 412 - - - 1 - Set whether pressing 'Alt' in conjunction with a controller button in-game toggles its automatic fire on/off. - Allow 'Alt' to Toggle Enable/Disable Automatic Fire - FALSE - 350 6 310 148 - - - Left - 22 - 0 - 814 - 4 - 33024 - 16 74 28 28 - 122 387 150 415 - - - Up - 22 - 0 - 812 - 4 - 33024 - 46 44 28 28 - 92 417 120 445 - - - Down - 22 - 0 - 813 - 4 - 33024 - 46 104 28 28 - 152 417 180 445 - - - Righ - 22 - 0 - 815 - 4 - 33024 - 76 74 28 28 - 122 447 150 475 - - - AChk - 22 - 0 - 819 - 4 - 33024 - 266 74 28 28 - 122 637 150 665 - - - YChk - 22 - 0 - 816 - 4 - 33024 - 206 74 28 28 - 122 577 150 605 - - - BChk - 22 - 0 - 817 - 4 - 33024 - 236 104 28 28 - 152 607 180 635 - - - Sele - 22 - 0 - 823 - 4 - 33024 - 123 74 28 28 - 122 494 150 522 - - - Star - 22 - 0 - 822 - 4 - 33024 - 159 74 28 28 - 122 530 150 558 - - - XChk - 22 - 0 - 818 - 4 - 33024 - 236 44 28 28 - 92 607 120 635 - - - - RChk - 22 - 0 - 821 - 4 - 33024 - 180 30 28 28 - 78 551 106 579 - - - 48 371 196 681 - - - 1 - Set whether automatic fire is enabled for each controller button. - Enable Automatic Fire - FALSE - 20 6 310 148 - - - Left - 2 - 0 - 814 - 4 - 33024 - 16 74 28 28 - 122 57 150 85 - - - - Down - 2 - 0 - 813 - 4 - 33024 - 46 104 28 28 - 152 87 180 115 - - - Righ - 2 - 0 - 815 - 4 - 33024 - 76 74 28 28 - 122 117 150 145 - - - AChk - 2 - 0 - 819 - 4 - 33024 - 266 74 28 28 - 122 307 150 335 - - - YChk - 2 - 0 - 816 - 4 - 33024 - 206 74 28 28 - 122 247 150 275 - - - BChk - 2 - 0 - 817 - 4 - 33024 - 236 104 28 28 - 152 277 180 305 - - - Sele - 2 - 0 - 823 - 4 - 33024 - 123 74 28 28 - 122 164 150 192 - - - - XChk - 2 - 0 - 818 - 4 - 33024 - 236 44 28 28 - 92 277 120 305 - - - LChk - 2 - 0 - 820 - 4 - 33024 - 102 30 28 28 - 78 143 106 171 - - - RChk - 2 - 0 - 821 - 4 - 33024 - 180 30 28 28 - 78 221 106 249 - - - 48 41 196 351 - - - 1 - Set whether, when automatic fire is enabled, 'TC' must also be held down to activate automatic fire. - Automatic Fire is Active Only While 'TC' is Pressed - FALSE - 20 164 310 148 - - - Left - 222 - 0 - 814 - 4 - 33024 - 16 74 28 28 - 280 57 308 85 - - - Up - 222 - 0 - 812 - 4 - 33024 - 46 44 28 28 - 250 87 278 115 - - - Down - 222 - 0 - 813 - 4 - 33024 - 46 104 28 28 - 310 87 338 115 - - - Righ - 222 - 0 - 815 - 4 - 33024 - 76 74 28 28 - 280 117 308 145 - - - AChk - 222 - 0 - 819 - 4 - 33024 - 266 74 28 28 - 280 307 308 335 - - - YChk - 222 - 0 - 816 - 4 - 33024 - 206 74 28 28 - 280 247 308 275 - - - BChk - 222 - 0 - 817 - 4 - 33024 - 236 104 28 28 - 310 277 338 305 - - - Sele - 222 - 0 - 823 - 4 - 33024 - 123 74 28 28 - 280 164 308 192 - - - Star - 222 - 0 - 822 - 4 - 33024 - 159 74 28 28 - 280 200 308 228 - - - XChk - 222 - 0 - 818 - 4 - 33024 - 236 44 28 28 - 250 277 278 305 - - - LChk - 222 - 0 - 820 - 4 - 33024 - 102 30 28 28 - 236 143 264 171 - - - RChk - 222 - 0 - 821 - 4 - 33024 - 180 30 28 28 - 236 221 264 249 - - - 206 41 354 351 - - - 1 - Set whether a button's input is inverted - that is, Snes9x acts as though the button is pressed if and only if it is not pressed. - Button Input is Inverted - FALSE - 350 164 310 148 - - - Left - 2222 - 0 - 814 - 4 - 33024 - 16 74 28 28 - 280 387 308 415 - - - Up - 2222 - 0 - 812 - 4 - 33024 - 46 44 28 28 - 250 417 278 445 - - - Down - 2222 - 0 - 813 - 4 - 33024 - 46 104 28 28 - 310 417 338 445 - - - Righ - 2222 - 0 - 815 - 4 - 33024 - 76 74 28 28 - 280 447 308 475 - - - AChk - 2222 - 0 - 819 - 4 - 33024 - 266 74 28 28 - 280 637 308 665 - - - YChk - 2222 - 0 - 816 - 4 - 33024 - 206 74 28 28 - 280 577 308 605 - - - BChk - 2222 - 0 - 817 - 4 - 33024 - 236 104 28 28 - 310 607 338 635 - - - Sele - 2222 - 0 - 823 - 4 - 33024 - 123 74 28 28 - 280 494 308 522 - - - Star - 2222 - 0 - 822 - 4 - 33024 - 159 74 28 28 - 280 530 308 558 - - - XChk - 2222 - 0 - 818 - 4 - 33024 - 236 44 28 28 - 250 607 278 635 - - - LChk - 2222 - 0 - 820 - 4 - 33024 - 102 30 28 28 - 236 473 264 501 - - - RChk - 2222 - 0 - 821 - 4 - 33024 - 180 30 28 28 - 236 551 264 579 - - - 206 371 354 681 - - - 1 - Set the number of presses per second that an automatic fire button receives. - Automatic Fire Speed - FALSE - 20 322 310 70 - - - Slid - 2 - TRUE - 16 - 10 - 1 - 16 - 16 28 215 26 - 392 57 418 272 - - - Num_ - 2 - 1 - 10 - -1 - 242 35 19 13 - 399 283 412 302 - - - 1 - / sec - 265 35 29 13 - 399 306 412 335 - - - 364 41 434 351 - - - DEF2 - DEF2 - Restores the default settings. - Defaults - 579 372 81 20 - 414 600 434 681 - - - 42 21 454 701 - - - 5 21 454 701 - - - contentResID - 0 - tabEnabled - 1 - tabName - Player 1 - userPane - - - - contentResID - 0 - tabEnabled - 1 - tabName - Player 2 - userPane - - - - - - 0 0 472 723 - - 80 40 552 763 - 0 0 768 1024 - - - Enab - Enab - Enable this Effect - 73 18 91 154 - - - Too short length will cause crackling noise. - Mix Buffer Length : - -1 - 275 81 130 16 - 123 296 139 426 - - - - AEcv - 1 - current value - 107 47 96 13 - 47 107 60 203 - - - - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - Configure Controllers - - 0 0 986 491 - - - 1 - Player 1 - FALSE - 20 6 302 140 - - - 1_Lf - 1_Lf - 0 - 802 - 4 - TRUE - 32768 - 12 70 28 28 - 76 32 104 60 - - - 1_Up - 1_Up - 0 - 800 - 4 - TRUE - 32768 - 42 40 28 28 - 46 62 74 90 - - - 1_Dn - 1_Dn - 0 - 801 - 4 - TRUE - 32768 - 42 100 28 28 - 106 62 134 90 - - - 1_Rt - 1_Rt - 0 - 803 - 4 - TRUE - 32768 - 72 70 28 28 - 76 92 104 120 - - - 1__A - 1__A - 0 - 807 - 4 - TRUE - 32768 - 262 70 28 28 - 76 282 104 310 - - - 1__Y - 1__Y - 0 - 804 - 4 - TRUE - 32768 - 202 70 28 28 - 76 222 104 250 - - - 1__B - 1__B - 0 - 805 - 4 - TRUE - 32768 - 232 100 28 28 - 106 252 134 280 - - - 1Sel - 1Sel - 0 - 811 - 4 - TRUE - 32768 - 119 70 28 28 - 76 139 104 167 - - - 1Srt - 1Srt - 0 - 810 - 4 - TRUE - 32768 - 155 70 28 28 - 76 175 104 203 - - - 1__X - 1__X - 0 - 806 - 4 - TRUE - 32768 - 232 40 28 28 - 46 252 74 280 - - - 1__L - 1__L - 0 - 808 - 4 - TRUE - 32768 - 98 26 28 28 - 32 118 60 146 - - - 1__R - 1__R - 0 - 809 - 4 - TRUE - 32768 - 176 26 28 28 - 32 196 60 224 - - - 6 20 146 322 - - - 1 - Player 2 - FALSE - 342 6 302 140 - - - 2_Lf - 2_Lf - 0 - 814 - 4 - TRUE - 32768 - 12 70 28 28 - 76 354 104 382 - - - 2_Up - 2_Up - 0 - 812 - 4 - TRUE - 32768 - 42 40 28 28 - 46 384 74 412 - - - 2_Dn - 2_Dn - 0 - 813 - 4 - TRUE - 32768 - 42 100 28 28 - 106 384 134 412 - - - 2_Rt - 2_Rt - 0 - 815 - 4 - TRUE - 32768 - 72 70 28 28 - 76 414 104 442 - - - - 2__Y - 2__Y - 0 - 816 - 4 - TRUE - 32768 - 202 70 28 28 - 76 544 104 572 - - - 2__B - 2__B - 0 - 817 - 4 - TRUE - 32768 - 232 100 28 28 - 106 574 134 602 - - - 2Sel - 2Sel - 0 - 823 - 4 - TRUE - 32768 - 119 70 28 28 - 76 461 104 489 - - - 2Srt - 2Srt - 0 - 822 - 4 - TRUE - 32768 - 155 70 28 28 - 76 497 104 525 - - - 2__X - 2__X - 0 - 818 - 4 - TRUE - 32768 - 232 40 28 28 - 46 574 74 602 - - - 2__L - 2__L - 0 - 820 - 4 - TRUE - 32768 - 98 26 28 28 - 32 440 60 468 - - - 2__R - 2__R - 0 - 821 - 4 - TRUE - 32768 - 176 26 28 28 - 32 518 60 546 - - - 6 342 146 644 - - - 1 - Player 3 - FALSE - 664 6 302 140 - - - 3_Lf - 3_Lf - 0 - 902 - 4 - TRUE - 32768 - 12 70 28 28 - 76 676 104 704 - - - 3_Up - 3_Up - 0 - 900 - 4 - TRUE - 32768 - 42 40 28 28 - 46 706 74 734 - - - 3_Dn - 3_Dn - 0 - 901 - 4 - TRUE - 32768 - 42 100 28 28 - 106 706 134 734 - - - 3_Rt - 3_Rt - 0 - 903 - 4 - TRUE - 32768 - 72 70 28 28 - 76 736 104 764 - - - 3__A - 3__A - 0 - 907 - 4 - TRUE - 32768 - 262 70 28 28 - 76 926 104 954 - - - 3__Y - 3__Y - 0 - 904 - 4 - TRUE - 32768 - 202 70 28 28 - 76 866 104 894 - - - 3__B - 3__B - 0 - 905 - 4 - TRUE - 32768 - 232 100 28 28 - 106 896 134 924 - - - 3Sel - 3Sel - 0 - 911 - 4 - TRUE - 32768 - 119 70 28 28 - 76 783 104 811 - - - 3Srt - 3Srt - 0 - 910 - 4 - TRUE - 32768 - 155 70 28 28 - 76 819 104 847 - - - 3__X - 3__X - 0 - 906 - 4 - TRUE - 32768 - 232 40 28 28 - 46 896 74 924 - - - 3__L - 3__L - 0 - 908 - 4 - TRUE - 32768 - 98 26 28 28 - 32 762 60 790 - - - 3__R - 3__R - 0 - 909 - 4 - TRUE - 32768 - 176 26 28 28 - 32 840 60 868 - - - 6 664 146 966 - - - 1 - Player 4 - FALSE - 20 152 302 140 - - - 4_Lf - 4_Lf - 0 - 1002 - 4 - TRUE - 32768 - 12 70 28 28 - 222 32 250 60 - - - 4_Up - 4_Up - 0 - 1000 - 4 - TRUE - 32768 - 42 40 28 28 - 192 62 220 90 - - - 4_Dn - 4_Dn - 0 - 1001 - 4 - TRUE - 32768 - 42 100 28 28 - 252 62 280 90 - - - 4_Rt - 4_Rt - 0 - 1003 - 4 - TRUE - 32768 - 72 70 28 28 - 222 92 250 120 - - - 4__A - 4__A - 0 - 1007 - 4 - TRUE - 32768 - 262 70 28 28 - 222 282 250 310 - - - 4__Y - 4__Y - 0 - 1004 - 4 - TRUE - 32768 - 202 70 28 28 - 222 222 250 250 - - - 4__B - 4__B - 0 - 1005 - 4 - TRUE - 32768 - 232 100 28 28 - 252 252 280 280 - - - 4Sel - 4Sel - 0 - 1011 - 4 - TRUE - 32768 - 119 70 28 28 - 222 139 250 167 - - - 4Srt - 4Srt - 0 - 1010 - 4 - TRUE - 32768 - 155 70 28 28 - 222 175 250 203 - - - 4__X - 4__X - 0 - 1006 - 4 - TRUE - 32768 - 232 40 28 28 - 192 252 220 280 - - - 4__L - 4__L - 0 - 1008 - 4 - TRUE - 32768 - 98 26 28 28 - 178 118 206 146 - - - 4__R - 4__R - 0 - 1009 - 4 - TRUE - 32768 - 176 26 28 28 - 178 196 206 224 - - - 152 20 292 322 - - - 1 - Player 5 - FALSE - 342 152 302 140 - - - 5_Lf - 5_Lf - 0 - 1102 - 4 - TRUE - 32768 - 12 70 28 28 - 222 354 250 382 - - - 5_Up - 5_Up - 0 - 1100 - 4 - TRUE - 32768 - 42 40 28 28 - 192 384 220 412 - - - 5_Dn - 5_Dn - 0 - 1101 - 4 - TRUE - 32768 - 42 100 28 28 - 252 384 280 412 - - - 5_Rt - 5_Rt - 0 - 1103 - 4 - TRUE - 32768 - 72 70 28 28 - 222 414 250 442 - - - 5__A - 5__A - 0 - 1107 - 4 - TRUE - 32768 - 262 70 28 28 - 222 604 250 632 - - - 5__Y - 5__Y - 0 - 1104 - 4 - TRUE - 32768 - 202 70 28 28 - 222 544 250 572 - - - 5__B - 5__B - 0 - 1105 - 4 - TRUE - 32768 - 232 100 28 28 - 252 574 280 602 - - - 5Sel - 5Sel - 0 - 1111 - 4 - TRUE - 32768 - 119 70 28 28 - 222 461 250 489 - - - 5Srt - 5Srt - 0 - 1110 - 4 - TRUE - 32768 - 155 70 28 28 - 222 497 250 525 - - - 5__X - 5__X - 0 - 1106 - 4 - TRUE - 32768 - 232 40 28 28 - 192 574 220 602 - - - 5__L - 5__L - 0 - 1108 - 4 - TRUE - 32768 - 98 26 28 28 - 178 440 206 468 - - - 5__R - 5__R - 0 - 1109 - 4 - TRUE - 32768 - 176 26 28 28 - 178 518 206 546 - - - 152 342 292 644 - - - 1 - Common - FALSE - 664 298 302 140 - - - _DeF - _DeF - 0 - 826 - 4 - TRUE - 32768 - 48 63 28 28 - 361 712 389 740 - - - ScoT - ScoT - 0 - 829 - 4 - TRUE - 32768 - 190 100 28 28 - 398 854 426 882 - - - __FF - __FF - 0 - 824 - 4 - TRUE - 32768 - 190 26 28 28 - 324 854 352 882 - - - MouR - MouR - 0 - 851 - 4 - TRUE - 32768 - 48 100 28 28 - 398 712 426 740 - - - ScoC - ScoC - 0 - 831 - 4 - TRUE - 32768 - 262 100 28 28 - 398 926 426 954 - - - _SPC - _SPC - 0 - 828 - 4 - TRUE - 32768 - 190 63 28 28 - 361 854 389 882 - - - ScoP - ScoP - 0 - 830 - 4 - TRUE - 32768 - 226 100 28 28 - 398 890 426 918 - - - _Snp - _Snp - 0 - 827 - 4 - TRUE - 32768 - 226 63 28 28 - 361 890 389 918 - - - - MouL - MouL - 0 - 850 - 4 - TRUE - 32768 - 12 100 28 28 - 398 676 426 704 - - - _Frz - _Frz - 0 - 825 - 4 - TRUE - 32768 - 12 63 28 28 - 361 676 389 704 - - - Ofsc - Ofsc - 0 - 832 - 4 - TRUE - 32768 - 154 100 28 28 - 398 818 426 846 - - - __Fn - __Fn - 0 - 833 - 4 - TRUE - 32768 - 12 26 28 28 - 324 676 352 704 - - - _Alt - _Alt - 0 - 834 - 4 - TRUE - 32768 - 48 26 28 28 - 324 712 352 740 - - - __TC - __TC - 0 - 838 - 4 - TRUE - 32768 - 84 26 28 28 - 324 748 352 776 - - - FFUp - FFUp - 0 - 836 - 4 - TRUE - 32768 - 262 26 28 28 - 324 926 352 954 - - - FFDn - FFDn - 0 - 835 - 4 - TRUE - 32768 - 226 26 28 28 - 324 890 352 918 - - - 298 664 438 966 - - - CLRa - 1 - CLRa - Clear All - 21 453 85 20 - 453 21 473 106 - - - - 1 - Player 6 - FALSE - 664 152 302 140 - - - 6_Lf - 6_Lf - 0 - 1202 - 4 - TRUE - 32768 - 12 70 28 28 - 222 676 250 704 - - - 6_Up - 6_Up - 0 - 1200 - 4 - TRUE - 32768 - 42 40 28 28 - 192 706 220 734 - - - 6_Dn - 6_Dn - 0 - 1201 - 4 - TRUE - 32768 - 42 100 28 28 - 252 706 280 734 - - - 6_Rt - 6_Rt - 0 - 1203 - 4 - TRUE - 32768 - 72 70 28 28 - 222 736 250 764 - - - 6__A - 6__A - 0 - 1207 - 4 - TRUE - 32768 - 262 70 28 28 - 222 926 250 954 - - - 6__Y - 6__Y - 0 - 1204 - 4 - TRUE - 32768 - 202 70 28 28 - 222 866 250 894 - - - 6__B - 6__B - 0 - 1205 - 4 - TRUE - 32768 - 232 100 28 28 - 252 896 280 924 - - - 6Sel - 6Sel - 0 - 1211 - 4 - TRUE - 32768 - 119 70 28 28 - 222 783 250 811 - - - 6Srt - 6Srt - 0 - 1210 - 4 - TRUE - 32768 - 155 70 28 28 - 222 819 250 847 - - - 6__X - 6__X - 0 - 1206 - 4 - TRUE - 32768 - 232 40 28 28 - 192 896 220 924 - - - 6__L - 6__L - 0 - 1208 - 4 - TRUE - 32768 - 98 26 28 28 - 178 762 206 790 - - - 6__R - 6__R - 0 - 1209 - 4 - TRUE - 32768 - 176 26 28 28 - 178 840 206 868 - - - 152 664 292 966 - - - 1 - Player 7 - FALSE - 20 298 302 140 - - - 7_Lf - 7_Lf - 0 - 1302 - 4 - TRUE - 32768 - 12 70 28 28 - 368 32 396 60 - - - 7_Up - 7_Up - 0 - 1300 - 4 - TRUE - 32768 - 42 40 28 28 - 338 62 366 90 - - - 7_Dn - 7_Dn - 0 - 1301 - 4 - TRUE - 32768 - 42 100 28 28 - 398 62 426 90 - - - - 7__A - 7__A - 0 - 1307 - 4 - TRUE - 32768 - 262 70 28 28 - 368 282 396 310 - - - 7__Y - 7__Y - 0 - 1304 - 4 - TRUE - 32768 - 202 70 28 28 - 368 222 396 250 - - - 7__B - 7__B - 0 - 1305 - 4 - TRUE - 32768 - 232 100 28 28 - 398 252 426 280 - - - 7Sel - 7Sel - 0 - 1311 - 4 - TRUE - 32768 - 119 70 28 28 - 368 139 396 167 - - - 7Srt - 7Srt - 0 - 1310 - 4 - TRUE - 32768 - 155 70 28 28 - 368 175 396 203 - - - 7__X - 7__X - 0 - 1306 - 4 - TRUE - 32768 - 232 40 28 28 - 338 252 366 280 - - - 7__L - 7__L - 0 - 1308 - 4 - TRUE - 32768 - 98 26 28 28 - 324 118 352 146 - - - - 298 20 438 322 - - - 1 - Player 8 - FALSE - 342 298 302 140 - - - 8_Lf - 8_Lf - 0 - 1402 - 4 - TRUE - 32768 - 12 70 28 28 - 368 354 396 382 - - - 8_Up - 8_Up - 0 - 1400 - 4 - TRUE - 32768 - 42 40 28 28 - 338 384 366 412 - - - 8_Dn - 8_Dn - 0 - 1401 - 4 - TRUE - 32768 - 42 100 28 28 - 398 384 426 412 - - - 8_Rt - 8_Rt - 0 - 1403 - 4 - TRUE - 32768 - 72 70 28 28 - 368 414 396 442 - - - 8__A - 8__A - 0 - 1407 - 4 - TRUE - 32768 - 262 70 28 28 - 368 604 396 632 - - - 8__Y - 8__Y - 0 - 1404 - 4 - TRUE - 32768 - 202 70 28 28 - 368 544 396 572 - - - 8__B - 8__B - 0 - 1405 - 4 - TRUE - 32768 - 232 100 28 28 - 398 574 426 602 - - - - 8Srt - 8Srt - 0 - 1410 - 4 - TRUE - 32768 - 155 70 28 28 - 368 497 396 525 - - - 8__X - 8__X - 0 - 1406 - 4 - TRUE - 32768 - 232 40 28 28 - 338 574 366 602 - - - 8__L - 8__L - 0 - 1408 - 4 - TRUE - 32768 - 98 26 28 28 - 324 440 352 468 - - - - 298 342 438 644 - - - 0 0 491 986 - - 80 40 571 1026 - 0 0 768 1024 - - - - - 0 0 352 246 - - - Playing : - 20 22 61 16 - 22 20 38 81 - - - DONE - 2 - Done - 258 20 74 20 - 20 258 40 332 - - - Tr_i - Tr_i - 18 39 13 14 - 39 18 53 31 - - - Kart - ROMName - 83 22 167 16 - 22 83 38 250 - - - Pane - 36 70 250 130 - 70 36 200 286 - - - rCTL - 2 - 300 70 34 92 - - - Paus - Paus - 2 - 0 - 200 - -1 - 33024 - 2 3 30 20 - 73 302 93 332 - - - HEAD - FALSE - HEAD - 2 - 0 - 201 - -1 - 32768 - 2 29 30 20 - 99 302 119 332 - - - S_EF - S_EF - 2 - 0 - 202 - -1 - 32768 - 2 67 30 20 - 137 302 157 332 - - - 70 300 162 334 - - - bCTL - 2 - 21 208 280 25 - - - bar4 - 3 - bar4 - 0 - 4 - 256 - 62 6 12 12 - 214 83 226 95 - - - - bar9 - 3 - bar9 - 0 - 1 - 256 - 150 6 12 12 - 214 171 226 183 - - - bar3 - 3 - bar3 - 0 - 3 - 256 - 48 6 12 12 - 214 69 226 81 - - - barb - 3 - barb - 0 - 3 - 256 - 178 6 12 12 - 214 199 226 211 - - - bar8 - 3 - bar8 - 0 - 8 - 256 - 118 6 12 12 - 214 139 226 151 - - - bare - 3 - bare - 0 - 6 - 256 - 220 6 12 12 - 214 241 226 253 - - - bar7 - 3 - bar7 - 0 - 7 - 256 - 104 6 12 12 - 214 125 226 137 - - - barf - 3 - barf - 0 - 7 - 256 - 234 6 12 12 - 214 255 226 267 - - - bar6 - 3 - bar6 - 0 - 6 - 256 - 90 6 12 12 - 214 111 226 123 - - - bar2 - 3 - bar2 - 0 - 2 - 256 - 34 6 12 12 - 214 55 226 67 - - - bar0 - 3 - bar0 - 0 - 8 - 256 - 248 6 12 12 - 214 269 226 281 - - - bar5 - 3 - bar5 - 0 - 5 - 256 - 76 6 12 12 - 214 97 226 109 - - - bar1 - 3 - bar1 - 0 - 1 - 256 - 20 6 12 12 - 214 41 226 53 - - - bard - 3 - bard - 0 - 5 - 256 - 206 6 12 12 - 214 227 226 239 - - - bara - 3 - bara - 0 - 2 - 256 - 164 6 12 12 - 214 185 226 197 - - - PILT - 132 - 1835623278 - 2117687422 - 132 4 16 16 - 212 153 228 169 - - - 208 21 233 301 - - - 0 0 246 352 - - - PCTL - 101 - 1 - Read Only - 7 7 23 80 - - - - - - - snd_ - 206 - 5 - - Popup: - - - 20 ms - TRUE - - - 40 ms - TRUE - - - 60 ms - TRUE - - - 80 ms - TRUE - - - 100 ms - TRUE - - - 120 ms - TRUE - - - - 160 ms - TRUE - - - 180 ms - TRUE - - - 200 ms - TRUE - - - - 415 79 127 20 - 121 436 141 563 - - - 5 : - 20 116 19 16 - 116 20 132 39 - - - - 0 0 605 371 - - - tabs - 128 - 21 5 562 346 - - - tabs - 129 - 2 - 0 37 562 309 - - - grap - 2 - Toggles between scaling full screen graphics to the current screen resolution or changing the screen resolution to fit Snes9x's needs. - Switch Monitor Resolution - 18 42 192 18 - 84 39 102 231 - - - grap - 1 - Toggles full screen/windowed mode. Press esc key to hide full screen window and pause the game. - Full Screen Mode - 18 20 192 18 - 62 39 80 231 - - - grap - 3 - Toggles display of the frame rate on/off. - Show Frame Rate - 18 64 192 18 - 106 39 124 231 - - - grap - 5 - Toggles transparency effects on/off. Transparency effect is used in almost all games so this option is just for hack. - Transparency Effects - 18 86 192 18 - 128 39 146 231 - - - grap - 6 - Uses 16,777,216 colors. - Use 32 Bit Color - 326 183 193 18 - 225 347 243 540 - - - grap - 7 - G__7 - Stretches the image to fill the screen in full screen mode. - Stretch Image in Full Screen Mode - 18 205 241 18 - 247 39 265 280 - - - OpenGL Option : - 20 155 111 16 - 197 41 213 152 - - - grap - 9 - 3 - - Popup: - - - Blocky - TRUE - - - TV - TRUE - - - - Blend - TRUE - - - Super Eagle - TRUE - - - 2xSaI - TRUE - - - Super 2xSaI - TRUE - - - EPX - TRUE - - - hq2x - TRUE - - - hq3x - TRUE - - - hq4x - TRUE - - - NTSC Composite - TRUE - - - NTSC S-Video - TRUE - - - NTSC RGB - TRUE - - - NTSC Monochrome - TRUE - - - NTSC+TV Composite - TRUE - - - NTSC+TV S-Video - TRUE - - - NTSC+TV RGB - TRUE - - - NTSC+TV Monochrome - TRUE - - - - 327 19 215 20 - 61 348 81 563 - - - Choose the image scaling filter which is applied to the raw SNES image. - Video Mode : - -1 - 228 21 89 16 - 63 249 79 338 - - - grap - 11 - Synchronizes the render timing to the monitor's vertical refresh rate. - Sync to Vertical Blank - 18 183 241 18 - 225 39 243 280 - - - grap - 10 - When this option is on, the rendering process is separated from the emulation thread (except blocky and smooth modes). - Multitask - 326 64 193 18 - 106 347 124 540 - - - grap - 12 - Keeps the screen height always 239/478, for some games that change screen height frequently. - Keep Overscanned Height - 326 86 193 18 - 128 347 146 540 - - - grap - 13 - G_13 - Adds a warp effect like a CRT-based television. - Use Screen Curvature - 326 205 193 18 - 247 347 265 540 - - - grap - 14 - 2 - 10 - 397 226 144 22 - 268 418 290 562 - - - - 12 131 538 4 - 173 33 177 571 - - - grap - 15 - 2 - 10 - 10000 - 135 226 144 22 - 268 156 290 300 - - - grap - 16 - The aspect ratio of above option: the left is proportional and the right is full width of the monitor. - Aspect Ratio : - 38 228 88 16 - 270 59 286 147 - - - grap - 8 - G_FL - Choose the Core Image filter. - Filter... - 460 160 82 20 - 202 481 222 563 - - - grap - 4 - Applies additional Core Image effect after the image filter is applied. - Use Core Image - 326 161 120 18 - 203 347 221 467 - - - 42 21 351 583 - - - tabs - 130 - 2 - 0 37 562 309 - - - snd_ - 203 - S__3 - Enables stereo sound instead of mono. - Stereo - 18 80 152 18 - 122 39 140 191 - - - snd_ - 204 - Swaps the left and right stereo channels. - Reverse Stereo - 34 102 136 18 - 144 55 162 191 - - - snd_ - 202 - Enables 16-bit playback instead of 8-bit. - 16 Bit Playback - 18 58 152 18 - 100 39 118 191 - - - snd_ - 201 - Tries and ensures all available samples are buffered so there are no overruns. - Synchronize - 18 20 152 18 - 62 39 80 191 - - - snd_ - 210 - Safer from crackling noise, but time-lag becomes more noticeable. - Allow Lag - 414 109 85 18 - 151 435 169 520 - - - snd_ - 205 - 4 - - Popup: - - - 48000 Hz - TRUE - - - 44100 Hz - TRUE - - - 35000 Hz - TRUE - - - 32000 Hz - TRUE - - - 30000 Hz - TRUE - - - 22050 Hz - TRUE - - - 16000 Hz - TRUE - - - 11025 Hz - TRUE - - - 8000 Hz - TRUE - - - - 415 19 127 20 - 61 436 81 563 - - - - snd_ - 211 - 6 - - Popup: - - - 8 ms - TRUE - - - 16 ms - TRUE - - - 32 ms - TRUE - - - 64 ms - TRUE - - - TRUE - TRUE - - - System - TRUE - - - - 415 49 127 20 - 91 436 111 563 - - - The real SNES is 32000 Hz. Any values other than 32000 Hz will cause resampling. - Playback Rate : - -1 - 275 21 130 16 - 63 296 79 426 - - - Make sure this value is smaller than the mix buffer length. - Output Interval : - -1 - 275 51 130 16 - 93 296 109 426 - - - - snd_ - 207 - 2 - 80 - 322 140 219 22 - 182 343 204 562 - - - snd_ - 208 - TRUE - 10 - 2 - 32000 - 31000 - 33000 - 322 170 219 22 - 212 343 234 562 - - - Volume of the whole Snes9x sounds. - Volume : - -1 - 226 142 85 16 - 184 247 200 332 - - - 1 - Hz - -1 - 526 192 16 16 - 234 547 250 563 - - - Adjusts the sound rate through resampling. For every Input Rate samples generated by the SNES, Playback Rate samples will be produced. - Input Rate : - -1 - 226 172 85 16 - 214 247 230 332 - - - snd_ - 209 - 1 - 32000 - -1 - 465 192 59 16 - 234 486 250 545 - - - S_EF - S_EF - Opens 'Sound Effect' dialog. - Effect... - 20 140 100 20 - 182 41 202 141 - - - 42 21 351 583 - - - tabs - 131 - 2 - 0 37 562 309 - - - othe - 401 - 3 - - Popup: - - - Snes9x Folder - TRUE - - - ROM Folder - TRUE - - - Application Support Folder - TRUE - - - TRUE - TRUE - - - None Selected - TRUE - TRUE - - - TRUE - TRUE - - - Other... - TRUE - F_FL - - - - 201 19 222 20 - 61 222 81 444 - - - othe - 402 - TRUE - TRUE - 205 62 73 16 - 104 226 120 299 - - - Choose the folder where Snes9x will look for files. - Save Data in : - -1 - 79 21 112 16 - 63 100 79 212 - - - sec after Modified - -1 - 289 62 116 16 - 104 310 120 426 - - - Updates SRAM file when SRAM contents are modified. This may cause frequent disk access. - Auto Save SRAM : - -1 - 79 62 112 16 - 104 100 120 212 - - - 1 - (0 : Disable) - -1 - 414 64 69 16 - 106 435 122 504 - - - 42 21 351 583 - - - tabs - 132 - 2 - 0 37 562 309 - - - Changes HDMA timing and will 'fix' some games' glitches, but breaks many other games. The default value is 100. - HDMA Timing Hack : - 20 59 133 16 - 101 41 117 174 - - - msc2 - 601 - TRUE - TRUE - 164 59 74 16 - 101 185 117 259 - - - Note : These Hacks Need to Reopen ROM Image to Achieve Effects. - 20 21 456 16 - 63 41 79 497 - - - msc2 - 603 - Turb - 3 - 1 - 15 - 201 219 13 22 - 261 222 283 235 - - - The speed when turbo mode is on. Modify in-game with Fn+T, Fn+Y. - Speed in Turbo Mode : - 20 221 145 16 - 263 41 279 186 - - - msc2 - 604 - 10 - -1 - 173 221 20 16 - 263 194 279 214 - - - 12 158 538 1 - 200 33 201 571 - - - msc2 - 605 - - Popup - - - Auto - TRUE - - - TRUE - TRUE - - - 0 - TRUE - - - 1 - TRUE - - - 2 - TRUE - - - 3 - TRUE - - - 4 - TRUE - - - - 107 185 107 20 - 227 128 247 235 - - - Adjust this value if your Mac is slow. - Frame Skip : - 20 187 79 16 - 229 41 245 120 - - - msc2 - 606 - Allows to write to VRAM outside blank periods. - Allow Invalid VRAM Access - 18 89 223 18 - 131 39 149 262 - - - msc2 - 607 - Applies special hacks for games that can't be emulated correctly. - Apply Specific Game Hacks - 18 111 223 18 - 153 39 171 262 - - - 42 21 351 583 - - - tabs - 133 - 2 - 0 37 562 309 - - - osx_ - 801 - Choose whether open dialog should be shown when Snes9x is launched. - Open Choose ROM Image Dialog at Startup - 18 64 302 18 - 106 39 124 341 - - - osx_ - 802 - Shows time stamps on thumbnails in freeze/defrost screen. - Show Dates and Times in Freese State Selection Screen - 18 86 374 18 - 128 39 146 413 - - - Choose the behavior of Music Box: 'Sound Emulation Only' to only emulate the music system, and 'Whole Emulation' to also emulate the CPU. Music that depends on the CPU running will not sound right without 'Whole Emulation.' - Music Box : - 328 134 76 16 - 176 349 192 425 - - - osx_ - 803 - - - Sound Emulation Only - - - Whole Emulation - - - 326 158 177 39 - 200 347 239 524 - - - osx_ - 804 - Sets 'Turbo' button as a toggle switch. - Toggle Turbo Button - 18 20 207 18 - 62 39 80 246 - - - osx_ - 807 - When this option is on, Snes9x automatically loads the .ips or .ups file and patch the ROM image. - Use IPS / UPS Patch - 326 42 221 18 - 84 347 102 568 - - - osx_ - 808 - Shows messages from Snes9x on the game screen. When off, messages are put in the standard console. - Show Onscreen Information - 18 42 207 18 - 84 39 102 246 - - - osx_ - 809 - 3 - - - Keep on Emulation, Receive All Inputs - - - Keep on Emulation, Reject Any Inputs - - - Pause and Exit from Emulation Loop - - - 18 158 266 59 - 200 39 259 305 - - - - - osx_ - 805 - When this option is on, BS-X ROM is loaded first, then you launch BS games from the menu in BS-X. - Boot Up BS Games from BS-X - 326 64 221 18 - 106 347 124 568 - - - 42 21 351 583 - - - 5 21 351 583 - - - contentResID - 0 - tabEnabled - 1 - tabName - Graphics - userPane - - - - contentResID - 0 - tabEnabled - 1 - tabName - Sound - userPane - - - - contentResID - 0 - tabEnabled - 1 - tabName - File - userPane - - - - contentResID - 0 - tabEnabled - 1 - tabName - Accuracy - userPane - - - - contentResID - 0 - tabEnabled - 1 - tabName - Others - userPane - - - - - - 0 0 371 605 - - - - - - 1 - Value Size : - 11 22 68 16 - 22 253 38 321 - - - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - Connect to Server - - 80 40 212 332 - 0 0 768 1024 - - - - - BRes - 1 - BRes - Restore List - 34 57 152 20 - 403 276 423 428 - - - - TRUE - TRUE - - - 0 0 593 251 - - - DFLT - DFLT - Defaults - 20 211 93 20 - 211 20 231 113 - - - 1 - Player 1 - 169 215 48 13 - 215 169 228 217 - - - 1 - Player 2 - 251 215 48 13 - 215 251 228 299 - - - Lgnd - 0.000000 - TRUE - 145 214 16 16 - 214 145 230 161 - - - Lgnd - 1 - 0.000000 - TRUE - 227 214 16 16 - 214 227 230 243 - - - 0 0 251 593 - - - - 1 - Map : - -1 - 20 83 128 13 - 83 20 96 148 - - - - RSto - 1 - RSto - Stored Value - 11 140 86 15 - 140 253 155 339 - - - - - Outp - 1 - output - -2 - 156 272 186 13 - 272 156 285 342 - - - - - Auto Detect - TRUE - - - - - Cle1 - Cle1 - Clear - 507 60 70 20 - 60 507 80 577 - - - - CCTL - 103 - 1 - - Popup: - - - Auto Detect - TRUE - - - - Force PAL - TRUE - - - Force NTSC - TRUE - - - - 31 94 48 204 - - - - - - - 1 - Checksum (header) : - -1 - 20 230 128 13 - 230 20 243 148 - - - CCTL - 107 - 1 - Video System : - -1 - 33 6 46 87 - - - - - Edit - 130 - - - Undo - z - TRUE - undo - - - Redo - Z - TRUE - redo - - - TRUE - TRUE - - - Cut - x - TRUE - cut - - - Copy - c - TRUE - copy - - - Paste - v - TRUE - past - - - Delete - TRUE - clea - - - Select All - a - TRUE - sall - - - - - - - Mode - 1 - Mode - 3 - 3 - - - Hexadecimal - - - Signed Decimal - - - Unsigned Decimal - - - 11 45 117 62 - 45 253 107 370 - - - - - - BAdd - 1 - BAdd - Add to Cheat Entry... - 34 7 152 20 - 353 276 373 428 - - - Multi Tap - TRUE - EIp5 - - - - - - - Configure Controllers... - TRUE - Cpad - - - Snes9x - - _NSAppleMenu - Snes9x - 128 - - - About Snes9x - TRUE - 0 - abou - - - - - - - - - Client... - TRUE - Ncli - - - - - - UI_T - - 1 - 2 - - 2 - 242 0 207 329 - - - Drwr - Drwr - 0 - 3 - Screen - 256 - 127 300 60 18 - 300 369 318 429 - - - BWat - BWat - 0 - 3 - Watch - 512 - 127 268 60 18 - 268 369 286 429 - - - BSea - 1 - BSea - 1 - Search - 109 204 77 20 - 204 351 224 428 - - - - Math - 1 - Math - - Popup: - - - - - TRUE - - - > - TRUE - - - - TRUE - - - < - TRUE - - - - TRUE - - - - 108 115 79 17 - 115 350 132 429 - - - 1 - Address : - 11 270 53 14 - 270 253 284 306 - - - CTxt - 1 - TRUE - TRUE - 111 177 73 13 - 177 353 190 426 - - - BSto - 1 - BSto - Store Current Values - 34 229 152 20 - 229 276 249 428 - - - WTxt - 1 - 000000 - 64 270 48 14 - 270 306 284 354 - - - 1 - Comparison : - 11 117 87 16 - 117 253 133 340 - - - - RThs - 1 - RThs - This Value : - 11 176 81 15 - 176 253 191 334 - - - RLst - 1 - RLst - Last Value - 11 158 73 15 - 158 253 173 326 - - - - Size - 1 - Size - - Popup: - - - 1 Byte - TRUE - - - 2 Bytes - TRUE - - - 3 Bytes - TRUE - - - 4 Bytes - TRUE - - - - 108 20 79 17 - 20 350 37 429 - - - 0 242 329 449 - - - - - Pict - - 1 - 1 - 2 - 2 - - 0 0 512 478 - 0 0 478 512 - - - - - - - - - 0 0 328 168 - - - 1 - Address : - -1 - 16 20 83 13 - 20 16 33 99 - - - AEad - 1 - address - 107 20 96 13 - 20 107 33 203 - - - - 1 - Current Value : - -1 - 16 47 83 13 - 47 16 60 99 - - - - - - SHTc - 1 - SHTc - 2 - Cancel - 157 130 70 20 - 130 157 150 227 - - - 1 - Description : - -1 - 16 101 83 13 - 101 16 114 99 - - - AEde - 1 - TRUE - TRUE - 110 101 195 13 - 101 110 114 305 - - - 0 0 168 328 - - - - ComH - 1 - complement written in header - -2 - 156 251 186 13 - 251 156 264 342 - - - Freeze State - f - TRUE - Ofrz - - - - - PLNM - 3 - 56 92 122 16 - 92 56 108 178 - - - - QCTL - 101 - 1 - Double Size - 9 7 25 90 - - - - - - - - - - - FALSE - FALSE - TRUE - FALSE - TRUE - FALSE - 20 - 51 - 7 - CFDrawer - - 0 0 276 260 - 0 0 260 276 - - 80 40 340 316 - 0 0 768 1024 - - - - - - - Arrange in Front - TRUE - TRUE - 1572864 - frnt - - - - - - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - 1 - 7 - RecordSMVControl - - - - - 0 0 55 433 - - 80 40 135 473 - 0 0 768 1024 - - - - - - 5P : - 20 116 28 16 - 116 20 132 48 - - - - TRUE - TRUE - - - FALSE - FALSE - TRUE - TRUE - TRUE - FALSE - -1 - 1 - Game Window - - 0 0 512 478 - - - - 0 0 478 512 - - 80 40 558 552 - 0 0 768 1024 - - - - 1 - Type : - -1 - 20 125 128 13 - 125 20 138 148 - - - - - - - Chse - 18 158 16 16 - 158 18 174 34 - - - - Super Scope - TRUE - EIp4 - - - - - - - Pnum - 2 - 52 68 26 16 - 68 52 84 78 - - - Record Movie... - TRUE - MVrc - - - - - - - QCTL - 102 - 1 - Overscan - 9 99 25 168 - - - - Config - - Config - 134 - - - Configure Keyboard... - TRUE - Ckey - - - - TRUE - TRUE - - - Automatic Fire... - TRUE - Caut - - - TRUE - TRUE - - - Controllers Preset - TRUE - - Controllers Preset - 201 - - - #1 - TRUE - CPr1 - - - #2 - TRUE - CPr2 - - - - #4 - TRUE - CPr4 - - - #5 - TRUE - CPr5 - - - - - - - - - Emulation - - Emulation - 131 - - - Run - r - TRUE - Erun - - - TRUE - TRUE - - - Software Reset - TRUE - Esrs - - - Hardware Reset - TRUE - Erst - - - TRUE - TRUE - - - Input Device - TRUE - - Input Device - 202 - - - Pad - TRUE - EIp1 - - - Mouse (Port 1) - TRUE - EIp2 - - - Mouse (Port 2) - TRUE - EIp3 - - - - - - - Justifiers (Two Players) - TRUE - EIp8 - - - - - - - - - Name - 3 - 219 92 118 16 - 92 219 108 337 - - - - - Lice - 1 - licensee - -2 - 156 314 186 13 - 314 156 327 342 - - - - Stat - 2 - 345 68 72 16 - 68 345 84 417 - - - - - 1 - Licensee : - -1 - 20 314 128 13 - 314 20 327 148 - - - Freeze State to... - F - TRUE - 1179648 - Ofrd - - - - - - - - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - Core Image Filter Setting - - 0 0 373 81 - - - Filter : - 20 22 44 16 - 22 20 38 64 - - - 12 60 349 1 - 60 12 61 361 - - - 0 0 81 373 - - 80 40 161 413 - 0 0 768 1024 - - - - 1 - Revision : - -1 - 20 293 128 13 - 293 20 306 148 - - - - CRC - 1 - crc32 - -2 - 156 356 186 13 - 356 156 369 342 - - - 0 0 437 192 - - - IP__ - 86 20 118 16 - 20 86 36 204 - - - 1 : - 20 20 19 16 - 20 20 36 39 - - - 2 : - 20 44 19 16 - 44 20 60 39 - - - 3 : - 20 68 19 16 - 68 20 84 39 - - - 4 : - 20 92 19 16 - 92 20 108 39 - - - - IP__ - 1 - 86 44 118 16 - 44 86 60 204 - - - IP__ - 2 - 86 68 118 16 - 68 86 84 204 - - - IP__ - 3 - 86 92 118 16 - 92 86 108 204 - - - IP__ - 4 - 86 116 118 16 - 116 86 132 204 - - - Stat - 345 20 72 16 - 20 345 36 417 - - - Stat - 1 - 345 44 72 16 - 44 345 60 417 - - - - Stat - 3 - 345 92 72 16 - 92 345 108 417 - - - Stat - 4 - 345 116 72 16 - 116 345 132 417 - - - Name - 219 20 118 16 - 20 219 36 337 - - - Name - 1 - 219 44 118 16 - 44 219 60 337 - - - Name - 2 - 219 68 118 16 - 68 219 84 337 - - - - Name - 4 - 219 116 118 16 - 116 219 132 337 - - - OKAY - OKAY - 1 - Play - 347 152 70 20 - 152 347 172 417 - - - CNSL - CNSL - 2 - Cancel - 265 152 70 20 - 152 265 172 335 - - - Pnum - 52 20 26 16 - 20 52 36 78 - - - Pnum - 1 - 52 44 26 16 - 44 52 60 78 - - - - Pnum - 3 - 52 92 26 16 - 92 52 108 78 - - - Pnum - 4 - 52 116 26 16 - 116 52 132 78 - - - - 0 0 192 437 - - - Core Image Filter... - TRUE - Ocif - - - - Epop - - Popup: - - - Apple's Matrix Reverb - TRUE - Revb - - - Apple's Graphic Equalizer - TRUE - GrEQ - - - - 20 234 40 447 - - - LINE - 60 12 61 455 - - - - - - - - - 3 - TRUE - - - - SizC - 1 - calculated rom size - -2 - 156 146 186 13 - 146 156 159 342 - - - - - 0 0 308 242 - - - 3 - COPY - © Copyright 1996-2011 Snes9x developers Snes9x is a Super Nintendo Entertainment System emulator that allows you to play most games designed for the SNES on your PC. Please visit http://www.snes9x.com/ for up-to-the-minute information and help on Snes9x. Nintendo is a trade mark. - 1 - 20 134 268 88 - 134 20 222 288 - - - 132 - 1095782476 - 2117687422 - 122 12 64 64 - 12 122 76 186 - - - VERS - 1 - versionstr - 1 - 51 110 206 16 - 110 51 126 257 - - - NAME - Snes9x - 1 - 62 85 184 18 - 85 62 103 246 - - - 0 0 242 308 - - - - TRUE - TRUE - - - - - Window - - _NSWindowsMenu - Window - - - Minimize - m - TRUE - TRUE - mini - - - Minimize All - m - TRUE - TRUE - 1572864 - mina - - - Zoom - TRUE - zoom - - - - Bring All to Front - TRUE - TRUE - bfrt - - - - - - - - UI_B - - 2 - 2 - - 2 - 242 346 207 95 - - - - BRem - 1 - BRem - Remove from List - 34 32 152 20 - 378 276 398 428 - - - - 346 242 441 449 - - - - - - - - - - - - Clip - 1 - Clip - Copy to Clipboard - 204 384 137 20 - 384 204 404 341 - - - - - - 2P : - 20 44 28 16 - 44 20 60 48 - - - - - - CCTL - 105 - 1 - Memory Type : - -1 - 8 6 21 87 - - - - - - - MPan - 4098 - 85 19 309 22 - - - MNAM - Cart A name - 8 3 290 16 - 22 93 38 383 - - - 19 85 41 394 - - - - TRUE - TRUE - - - Defrost State from... - D - TRUE - 1179648 - Odfd - - - - - - - - - : - 70 62 7 16 - 62 70 78 77 - - - QCTL - 104 - 1 - - Popup: - - - 0 - TRUE - - - 1 - TRUE - - - 2 - TRUE - - - - - 5 - TRUE - - - - 8 258 25 302 - - - - - - Cle0 - Cle0 - Clear - 507 20 70 20 - 20 507 40 577 - - - - - - - - - 1 - SRAM Size : - -1 - 20 188 128 13 - 188 20 201 148 - - - - - - - - - - - - - - - - - PCTL - 102 - 1 - Export to QuickTime Movie at a Time - 7 102 23 319 - - - - - - - - - - - - SWAP - SWAP - Swap - 20 110 70 20 - 110 20 130 90 - - - - - - - - - - - - - - - - - - - - - _NSMainMenu - S9xMenu - - - - File - - File - 129 - - - Open ROM Image... - o - TRUE - open - - - Open Multiple ROM Images... - O - TRUE - 1179648 - Mult - - - Open Recent - TRUE - Frec - - - TRUE - TRUE - - - Close - w - TRUE - clos - - - - ROM Information - i - TRUE - Finf - - - - - - Edit - - - - - - Netplay - - Netplay - 135 - - - Server... - TRUE - Nser - - - - - - - - Option - - Option - 133 - - - - - - - - TRUE - TRUE - - - - Play Movie... - TRUE - MVpl - - - TRUE - TRUE - - - Export to QuickTime Movie... - TRUE - QTmv - - - TRUE - TRUE - - - Save SPC File at Next Note-on - TRUE - Ospc - - - Save SRAM File Now - TRUE - Osrm - - - - - - Music Box - TRUE - Ombx - - - - - - - - - - - - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - ROM Information - - 0 0 362 422 - - - - - 1 - Contents : - -1 - 20 62 128 13 - 62 20 75 148 - - - - 1 - Size (calculated) : - -1 - 20 146 128 13 - 146 20 159 148 - - - 1 - Speed : - -1 - 20 104 128 13 - 104 20 117 148 - - - 1 - Game Code : - -1 - 20 41 128 13 - 41 20 54 148 - - - - 1 - Checksum (calculated) : - -1 - 20 209 128 13 - 209 20 222 148 - - - - 1 - Complement (header) : - -1 - 20 251 128 13 - 251 20 264 148 - - - 1 - Video Output : - -1 - 20 272 128 13 - 272 20 285 148 - - - - 1 - Region : - -1 - 20 335 128 13 - 335 20 348 148 - - - - Name - 1 - name - -2 - 156 20 186 13 - 20 156 33 342 - - - Code - 1 - code - -2 - 156 41 186 13 - 41 156 54 342 - - - - Regi - 1 - region - -2 - 156 335 186 13 - 335 156 348 342 - - - - Vers - 1 - revision - -2 - 156 293 186 13 - 293 156 306 342 - - - Cont - 1 - contents - -2 - 156 62 186 13 - 62 156 75 342 - - - Map - 1 - map - -2 - 156 83 186 13 - 83 156 96 342 - - - Spee - 1 - speed - -2 - 156 104 186 13 - 104 156 117 342 - - - SizH - 1 - rom size written in header - -2 - 156 167 186 13 - 167 156 180 342 - - - - SRAM - 1 - sram size - -2 - 156 188 186 13 - 188 156 201 342 - - - SumH - 1 - checksum written in header - -2 - 156 230 186 13 - 230 156 243 342 - - - - SumC - 1 - calculated checksum - -2 - 156 209 186 13 - 209 156 222 342 - - - - Type - 1 - type - -2 - 156 125 186 13 - 125 156 138 342 - - - 1 - CRC32 : - -1 - 20 356 128 13 - 356 20 369 148 - - - - - 0 0 422 362 - - 80 40 502 402 - 0 0 768 1024 - - - - - - - - - - - - - - - - FALSE - TRUE - TRUE - FALSE - 1 - 7 - Cheat Finder - - 0 0 449 441 - - - Pane - - 1 - 1 - 2 - 2 - - 2 - 20 20 213 401 - 20 20 421 233 - - - - - 0 0 441 449 - - 80 40 521 489 - 0 0 768 1024 - - - - Popup: - - - Auto Detect - TRUE - - - TRUE - TRUE - - - Force no Header - TRUE - - - Force Header - TRUE - - - - - - - - - - - - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - TRUE - FALSE - 11 - 53 - 7 - Add to Entry - - 80 40 248 368 - 0 0 768 1024 - - - CCTL - 104 - 1 - - 31 315 48 425 - - - - - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - Open Multiple ROM Images - - 0 0 597 150 - - - - Slot B - 20 62 42 16 - 62 20 78 62 - - - : - 70 22 7 16 - 22 70 38 77 - - - - Cho0 - Cho0 - Choose... - 407 20 88 20 - 20 407 40 495 - - - Cho1 - Cho1 - Choose... - 407 60 88 20 - 60 407 80 495 - - - - - ok - 1 - OK - 507 110 70 20 - 110 507 130 577 - - - not! - 2 - Cancel - 425 110 70 20 - 110 425 130 495 - - - - MPan - 1 - 4098 - 85 59 309 22 - - - MNAM - 1 - Cart B name - 8 3 290 16 - 62 93 78 383 - - - 59 85 81 394 - - - - 0 0 150 597 - - 80 40 230 637 - 0 0 768 1024 - - - - - - - - - - - - - - - - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - Keyboard Layout - - 80 40 331 633 - 0 0 768 1024 - - - - - - - - Popup: - - - - TRUE - TRUE - - - Force LoROM - TRUE - - - Force HiROM - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - CCTL - 108 - 1 - Header : - -1 - 33 214 46 308 - - - PLNM - 4 - 56 116 122 16 - 116 56 132 178 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - PLNM - 1 - 56 44 122 16 - 44 56 60 178 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SfUI - 2 - - - - - Choose the Effect to Configure : - 22 20 38 224 - - - - 0 0 99 467 - - - - - - - - - - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - 1 - 7 - PlaySMVControl - - - - PANE - 1000 - 2 - - - - - 0 0 32 327 - - - 0 0 30 327 - - 80 40 110 367 - 0 0 768 1024 - - - - - - - - - - - - - - - - - - - - - - - 3P : - 20 68 28 16 - 68 20 84 48 - - - - - - - - - - - - - - - - - - - CCTL - 101 - 1 - - 6 94 23 204 - - - - - PLNM - 56 20 122 16 - 20 56 36 178 - - - - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - Extra Options - - 80 40 296 297 - 0 0 768 1024 - - - - - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - Music Box - - 80 40 326 392 - 0 0 768 1024 - - - - - - - - - - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - Preferences - - 80 39 451 644 - 0 0 768 1024 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - 1 - 7 - SoundEffectUI - - - - - 0 0 99 467 - - 80 40 179 507 - 0 0 768 1024 - - - - - - - - - - - - - - - - - - - - - FALSE - TRUE - TRUE - FALSE - 1 - 7 - Cheat Entry - - 80 40 352 595 - 0 0 768 1024 - 555 - 272 - - - - - - - - - - - - - QCTL - 105 - 1 - Frame Skip : - -1 - 10 184 23 253 - - - - - - - - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - - - 80 40 322 348 - 0 0 768 1024 - - - - - - - - - - - - - - - - - - - PANE - 1000 - 2 - - - - - - - - 0 0 35 433 - - - 0 0 33 433 - - - - - - - - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - 1 - 7 - QTMovControl - - 80 40 113 473 - 0 0 768 1024 - - - - - - - - - - - - - - - - - - - PANE - 1000 - 2 - - - - CCTL - 106 - 1 - Interleave Mode : - -1 - 8 214 21 308 - - - - - - - - - 0 0 56 433 - - - 0 0 54 433 - - - - - - - - - - - - - - - - - - - - - - - - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - 1 - 7 - OpenROMControl - - 80 40 134 473 - 0 0 768 1024 - - - ok - 1 - OK - 108 152 70 20 - 152 108 172 178 - - - - - - - - - - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - 1 - 7 - Clients List - - 80 40 272 477 - 0 0 768 1024 - - - PLNM - 2 - 56 68 122 16 - 68 56 84 178 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4P : - 20 92 28 16 - 92 20 108 48 - - - - - - - - - - - - - - - 0 0 198 192 - - - - - - - - - - - - - - 0 0 192 198 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - TRUE - FALSE - 11 - 53 - 7 - Players List - - 80 40 272 238 - 0 0 768 1024 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - About - - AutoFire - - CFAddEntry - - CFDrawer - - CIFilter - - CheatEntry - - CheatFinder - - ClientList - - Connect - - Controllers - - ExtraOptions - - File's Owner - - GameWindow - - Keyboard - - MenuBar - - MultiCart - - MusicBox - - OpenROM - - PlaySMV - - PlayerList - - Preferences - - QTMovie - - RecordSMV - - RomInfo - - SoundEffect - - - IBCarbonFramework - 2296 - diff --git a/macosx/English.lproj/Snes9x.xib b/macosx/English.lproj/Snes9x.xib index 7e58c378..ddadc9d3 100644 --- a/macosx/English.lproj/Snes9x.xib +++ b/macosx/English.lproj/Snes9x.xib @@ -1,16 +1,33 @@ - + - 1060 - 10J567 + 1040 + 10J869 851 1038.35 - 462.00 - - - - - + 461.00 + + YES + + YES + + + YES + + + + YES + + + + YES + + + YES + + + + YES @@ -51,23 +68,28 @@ 256 - + + YES 256 - + + YES 256 - + + YES 256 - + + YES 256 - + + YES 256 @@ -83,7 +105,9 @@ - + + YES + @@ -111,7 +135,9 @@ - + + YES + @@ -145,7 +171,9 @@ - + + YES + @@ -173,7 +201,9 @@ - + + YES + @@ -207,7 +237,9 @@ - + + YES + @@ -235,7 +267,9 @@ - + + YES + @@ -269,7 +303,9 @@ - + + YES + @@ -297,7 +333,9 @@ - + + YES + @@ -331,7 +369,9 @@ - + + YES + @@ -359,7 +399,9 @@ - + + YES + @@ -393,7 +435,9 @@ - + + YES + @@ -421,7 +465,9 @@ - + + YES + @@ -455,7 +501,9 @@ - + + YES + @@ -483,7 +531,9 @@ - + + YES + @@ -517,7 +567,9 @@ - + + YES + @@ -545,7 +597,9 @@ - + + YES + @@ -579,7 +633,9 @@ - + + YES + @@ -607,7 +663,9 @@ - + + YES + @@ -641,7 +699,9 @@ - + + YES + @@ -669,7 +729,9 @@ - + + YES + @@ -703,7 +765,9 @@ - + + YES + @@ -731,7 +795,9 @@ - + + YES + @@ -765,7 +831,9 @@ - + + YES + @@ -793,7 +861,9 @@ - + + YES + @@ -812,11 +882,11 @@ - + {{0, 14}, {310, 134}} - + {{20, 6}, {310, 148}} @@ -829,7 +899,9 @@ Set whether automatic fire is enabled for each controller button. - + + YES + @@ -857,7 +929,9 @@ - + + YES + Enable Automatic Fire @@ -872,11 +946,13 @@ 256 - + + YES 256 - + + YES 256 @@ -892,7 +968,9 @@ - + + YES + @@ -920,7 +998,9 @@ - + + YES + @@ -954,7 +1034,9 @@ - + + YES + @@ -982,7 +1064,9 @@ - + + YES + @@ -1016,7 +1100,9 @@ - + + YES + @@ -1044,7 +1130,9 @@ - + + YES + @@ -1078,7 +1166,9 @@ - + + YES + @@ -1106,7 +1196,9 @@ - + + YES + @@ -1140,7 +1232,9 @@ - + + YES + @@ -1168,7 +1262,9 @@ - + + YES + @@ -1202,7 +1298,9 @@ - + + YES + @@ -1230,7 +1328,9 @@ - + + YES + @@ -1264,7 +1364,9 @@ - + + YES + @@ -1292,7 +1394,9 @@ - + + YES + @@ -1326,7 +1430,9 @@ - + + YES + @@ -1354,7 +1460,9 @@ - + + YES + @@ -1388,7 +1496,9 @@ - + + YES + @@ -1416,7 +1526,9 @@ - + + YES + @@ -1450,7 +1562,9 @@ - + + YES + @@ -1478,7 +1592,9 @@ - + + YES + @@ -1512,7 +1628,9 @@ - + + YES + @@ -1540,7 +1658,9 @@ - + + YES + @@ -1574,7 +1694,9 @@ - + + YES + @@ -1602,7 +1724,9 @@ - + + YES + @@ -1621,11 +1745,11 @@ - + {{0, 14}, {310, 134}} - + {{350, 6}, {310, 148}} @@ -1638,7 +1762,9 @@ Set whether pressing 'Alt' in conjunction with a controller button in-game toggles its automatic fire on/off. - + + YES + @@ -1666,7 +1792,9 @@ - + + YES + Allow 'Alt' to Toggle Enable/Disable Automatic Fire @@ -1681,11 +1809,13 @@ 256 - + + YES 256 - + + YES 256 @@ -1701,7 +1831,9 @@ - + + YES + @@ -1729,7 +1861,9 @@ - + + YES + @@ -1763,7 +1897,9 @@ - + + YES + @@ -1791,7 +1927,9 @@ - + + YES + @@ -1825,7 +1963,9 @@ - + + YES + @@ -1853,7 +1993,9 @@ - + + YES + @@ -1887,7 +2029,9 @@ - + + YES + @@ -1915,7 +2059,9 @@ - + + YES + @@ -1949,7 +2095,9 @@ - + + YES + @@ -1977,7 +2125,9 @@ - + + YES + @@ -2011,7 +2161,9 @@ - + + YES + @@ -2039,7 +2191,9 @@ - + + YES + @@ -2073,7 +2227,9 @@ - + + YES + @@ -2101,7 +2257,9 @@ - + + YES + @@ -2135,7 +2293,9 @@ - + + YES + @@ -2163,7 +2323,9 @@ - + + YES + @@ -2197,7 +2359,9 @@ - + + YES + @@ -2225,7 +2389,9 @@ - + + YES + @@ -2259,7 +2425,9 @@ - + + YES + @@ -2287,7 +2455,9 @@ - + + YES + @@ -2321,7 +2491,9 @@ - + + YES + @@ -2349,7 +2521,9 @@ - + + YES + @@ -2383,7 +2557,9 @@ - + + YES + @@ -2411,7 +2587,9 @@ - + + YES + @@ -2430,11 +2608,11 @@ - + {{0, 14}, {310, 134}} - + {{20, 164}, {310, 148}} @@ -2447,7 +2625,9 @@ Set whether, when automatic fire is enabled, 'TC' must also be held down to activate automatic fire. - + + YES + @@ -2475,7 +2655,9 @@ - + + YES + Automatic Fire is Active Only While 'TC' is Pressed @@ -2490,11 +2672,13 @@ 256 - + + YES 256 - + + YES 256 @@ -2510,7 +2694,9 @@ - + + YES + @@ -2538,7 +2724,9 @@ - + + YES + @@ -2572,7 +2760,9 @@ - + + YES + @@ -2600,7 +2790,9 @@ - + + YES + @@ -2634,7 +2826,9 @@ - + + YES + @@ -2662,7 +2856,9 @@ - + + YES + @@ -2696,7 +2892,9 @@ - + + YES + @@ -2724,7 +2922,9 @@ - + + YES + @@ -2758,7 +2958,9 @@ - + + YES + @@ -2786,7 +2988,9 @@ - + + YES + @@ -2820,7 +3024,9 @@ - + + YES + @@ -2848,7 +3054,9 @@ - + + YES + @@ -2882,7 +3090,9 @@ - + + YES + @@ -2910,7 +3120,9 @@ - + + YES + @@ -2944,7 +3156,9 @@ - + + YES + @@ -2972,7 +3186,9 @@ - + + YES + @@ -3006,7 +3222,9 @@ - + + YES + @@ -3034,7 +3252,9 @@ - + + YES + @@ -3068,7 +3288,9 @@ - + + YES + @@ -3096,7 +3318,9 @@ - + + YES + @@ -3130,7 +3354,9 @@ - + + YES + @@ -3158,7 +3384,9 @@ - + + YES + @@ -3192,7 +3420,9 @@ - + + YES + @@ -3220,7 +3450,9 @@ - + + YES + @@ -3239,11 +3471,11 @@ - + {{0, 14}, {310, 134}} - + {{350, 164}, {310, 148}} @@ -3256,7 +3488,9 @@ Set whether a button's input is inverted - that is, Snes9x acts as though the button is pressed if and only if it is not pressed. - + + YES + @@ -3284,7 +3518,9 @@ - + + YES + Button Input is Inverted @@ -3299,11 +3535,13 @@ 256 - + + YES 256 - + + YES 256 @@ -3319,7 +3557,9 @@ - + + YES + @@ -3347,7 +3587,9 @@ - + + YES + @@ -3371,7 +3613,9 @@ - + + YES + @@ -3399,7 +3643,9 @@ - + + YES + 10 @@ -3422,7 +3668,9 @@ - + + YES + @@ -3450,7 +3698,9 @@ - + + YES + / sec @@ -3458,11 +3708,11 @@ - + {{0, 14}, {310, 56}} - + {{20, 322}, {310, 70}} @@ -3475,7 +3725,9 @@ Set the number of presses per second that an automatic fire button receives. - + + YES + @@ -3503,7 +3755,9 @@ - + + YES + Automatic Fire Speed @@ -3530,7 +3784,9 @@ Restores the default settings. - + + YES + @@ -3558,7 +3814,9 @@ - + + YES + @@ -3566,7 +3824,7 @@ Defaults - + {{8, 36}, {680, 412}} @@ -3579,7 +3837,9 @@ - + + YES + @@ -3607,11 +3867,13 @@ - + + YES + - + {{13, 6}, {697, 456}} @@ -3623,7 +3885,9 @@ - + + YES + @@ -3651,12 +3915,15 @@ - + + YES + - + + YES 0 YES @@ -3672,15 +3939,18 @@ 256 - + + YES 256 - + + YES 256 - + + YES 256 @@ -3696,7 +3966,9 @@ - + + YES + @@ -3724,7 +3996,9 @@ - + + YES + @@ -3758,7 +4032,9 @@ - + + YES + @@ -3786,7 +4062,9 @@ - + + YES + @@ -3820,7 +4098,9 @@ - + + YES + @@ -3848,7 +4128,9 @@ - + + YES + @@ -3882,7 +4164,9 @@ - + + YES + @@ -3910,7 +4194,9 @@ - + + YES + @@ -3944,7 +4230,9 @@ - + + YES + @@ -3972,7 +4260,9 @@ - + + YES + @@ -4006,7 +4296,9 @@ - + + YES + @@ -4034,7 +4326,9 @@ - + + YES + @@ -4068,7 +4362,9 @@ - + + YES + @@ -4096,7 +4392,9 @@ - + + YES + @@ -4130,7 +4428,9 @@ - + + YES + @@ -4158,7 +4458,9 @@ - + + YES + @@ -4192,7 +4494,9 @@ - + + YES + @@ -4220,7 +4524,9 @@ - + + YES + @@ -4254,7 +4560,9 @@ - + + YES + @@ -4282,7 +4590,9 @@ - + + YES + @@ -4316,7 +4626,9 @@ - + + YES + @@ -4344,7 +4656,9 @@ - + + YES + @@ -4378,7 +4692,9 @@ - + + YES + @@ -4406,7 +4722,9 @@ - + + YES + @@ -4425,11 +4743,11 @@ - + {{0, 14}, {310, 134}} - + {{350, 6}, {310, 148}} @@ -4442,7 +4760,9 @@ Set whether pressing 'Alt' in conjunction with a controller button in-game toggles its automatic fire on/off. - + + YES + @@ -4470,7 +4790,9 @@ - + + YES + Allow 'Alt' to Toggle Enable/Disable Automatic Fire @@ -4485,11 +4807,13 @@ 256 - + + YES 256 - + + YES 256 @@ -4505,7 +4829,9 @@ - + + YES + @@ -4533,7 +4859,9 @@ - + + YES + @@ -4567,7 +4895,9 @@ - + + YES + @@ -4595,7 +4925,9 @@ - + + YES + @@ -4629,7 +4961,9 @@ - + + YES + @@ -4657,7 +4991,9 @@ - + + YES + @@ -4691,7 +5027,9 @@ - + + YES + @@ -4719,7 +5057,9 @@ - + + YES + @@ -4753,7 +5093,9 @@ - + + YES + @@ -4781,7 +5123,9 @@ - + + YES + @@ -4815,7 +5159,9 @@ - + + YES + @@ -4843,7 +5189,9 @@ - + + YES + @@ -4877,7 +5225,9 @@ - + + YES + @@ -4905,7 +5255,9 @@ - + + YES + @@ -4939,7 +5291,9 @@ - + + YES + @@ -4967,7 +5321,9 @@ - + + YES + @@ -5001,7 +5357,9 @@ - + + YES + @@ -5029,7 +5387,9 @@ - + + YES + @@ -5063,7 +5423,9 @@ - + + YES + @@ -5091,7 +5453,9 @@ - + + YES + @@ -5125,7 +5489,9 @@ - + + YES + @@ -5153,7 +5519,9 @@ - + + YES + @@ -5187,7 +5555,9 @@ - + + YES + @@ -5215,7 +5585,9 @@ - + + YES + @@ -5234,11 +5606,11 @@ - + {{0, 14}, {310, 134}} - + {{20, 6}, {310, 148}} @@ -5251,7 +5623,9 @@ Set whether automatic fire is enabled for each controller button. - + + YES + @@ -5279,7 +5653,9 @@ - + + YES + Enable Automatic Fire @@ -5294,11 +5670,13 @@ 256 - + + YES 256 - + + YES 256 @@ -5314,7 +5692,9 @@ - + + YES + @@ -5342,7 +5722,9 @@ - + + YES + @@ -5376,7 +5758,9 @@ - + + YES + @@ -5404,7 +5788,9 @@ - + + YES + @@ -5438,7 +5824,9 @@ - + + YES + @@ -5466,7 +5854,9 @@ - + + YES + @@ -5500,7 +5890,9 @@ - + + YES + @@ -5528,7 +5920,9 @@ - + + YES + @@ -5562,7 +5956,9 @@ - + + YES + @@ -5590,7 +5986,9 @@ - + + YES + @@ -5624,7 +6022,9 @@ - + + YES + @@ -5652,7 +6052,9 @@ - + + YES + @@ -5686,7 +6088,9 @@ - + + YES + @@ -5714,7 +6118,9 @@ - + + YES + @@ -5748,7 +6154,9 @@ - + + YES + @@ -5776,7 +6184,9 @@ - + + YES + @@ -5810,7 +6220,9 @@ - + + YES + @@ -5838,7 +6250,9 @@ - + + YES + @@ -5872,7 +6286,9 @@ - + + YES + @@ -5900,7 +6316,9 @@ - + + YES + @@ -5934,7 +6352,9 @@ - + + YES + @@ -5962,7 +6382,9 @@ - + + YES + @@ -5996,7 +6418,9 @@ - + + YES + @@ -6024,7 +6448,9 @@ - + + YES + @@ -6043,11 +6469,11 @@ - + {{0, 14}, {310, 134}} - + {{20, 164}, {310, 148}} @@ -6060,7 +6486,9 @@ Set whether, when automatic fire is enabled, 'TC' must also be held down to activate automatic fire. - + + YES + @@ -6088,7 +6516,9 @@ - + + YES + Automatic Fire is Active Only While 'TC' is Pressed @@ -6103,11 +6533,13 @@ 256 - + + YES 256 - + + YES 256 @@ -6123,7 +6555,9 @@ - + + YES + @@ -6151,7 +6585,9 @@ - + + YES + @@ -6185,7 +6621,9 @@ - + + YES + @@ -6213,7 +6651,9 @@ - + + YES + @@ -6247,7 +6687,9 @@ - + + YES + @@ -6275,7 +6717,9 @@ - + + YES + @@ -6309,7 +6753,9 @@ - + + YES + @@ -6337,7 +6783,9 @@ - + + YES + @@ -6371,7 +6819,9 @@ - + + YES + @@ -6399,7 +6849,9 @@ - + + YES + @@ -6433,7 +6885,9 @@ - + + YES + @@ -6461,7 +6915,9 @@ - + + YES + @@ -6495,7 +6951,9 @@ - + + YES + @@ -6523,7 +6981,9 @@ - + + YES + @@ -6557,7 +7017,9 @@ - + + YES + @@ -6585,7 +7047,9 @@ - + + YES + @@ -6619,7 +7083,9 @@ - + + YES + @@ -6647,7 +7113,9 @@ - + + YES + @@ -6681,7 +7149,9 @@ - + + YES + @@ -6709,7 +7179,9 @@ - + + YES + @@ -6743,7 +7215,9 @@ - + + YES + @@ -6771,7 +7245,9 @@ - + + YES + @@ -6805,7 +7281,9 @@ - + + YES + @@ -6833,7 +7311,9 @@ - + + YES + @@ -6852,11 +7332,11 @@ - + {{0, 14}, {310, 134}} - + {{350, 164}, {310, 148}} @@ -6869,7 +7349,9 @@ Set whether a button's input is inverted - that is, Snes9x acts as though the button is pressed if and only if it is not pressed. - + + YES + @@ -6897,7 +7379,9 @@ - + + YES + Button Input is Inverted @@ -6912,11 +7396,13 @@ 256 - + + YES 256 - + + YES 256 @@ -6932,7 +7418,9 @@ - + + YES + @@ -6960,7 +7448,9 @@ - + + YES + @@ -6984,7 +7474,9 @@ - + + YES + @@ -7012,7 +7504,9 @@ - + + YES + 10 @@ -7035,7 +7529,9 @@ - + + YES + @@ -7063,7 +7559,9 @@ - + + YES + / sec @@ -7071,11 +7569,11 @@ - + {{0, 14}, {310, 56}} - + {{20, 322}, {310, 70}} @@ -7088,7 +7586,9 @@ Set the number of presses per second that an automatic fire button receives. - + + YES + @@ -7116,7 +7616,9 @@ - + + YES + Automatic Fire Speed @@ -7143,7 +7645,9 @@ Restores the default settings. - + + YES + @@ -7171,7 +7675,9 @@ - + + YES + @@ -7179,7 +7685,7 @@ Defaults - + {{8, 36}, {680, 412}} @@ -7191,7 +7697,9 @@ - + + YES + @@ -7219,7 +7727,9 @@ - + + YES + @@ -7228,10 +7738,10 @@ - + - + {723, 472} @@ -7243,7 +7753,9 @@ - + + YES + @@ -7271,14 +7783,18 @@ - + + YES + {{40, 80}, {723, 472}} {{0, 0}, {1024, 768}} - + + YES + @@ -7320,15 +7836,18 @@ 256 - + + YES 256 - + + YES 256 - + + YES 256 @@ -7344,7 +7863,9 @@ - + + YES + @@ -7372,7 +7893,9 @@ - + + YES + @@ -7406,7 +7929,9 @@ - + + YES + @@ -7434,7 +7959,9 @@ - + + YES + @@ -7468,7 +7995,9 @@ - + + YES + @@ -7496,7 +8025,9 @@ - + + YES + @@ -7530,7 +8061,9 @@ - + + YES + @@ -7558,7 +8091,9 @@ - + + YES + @@ -7592,7 +8127,9 @@ - + + YES + @@ -7620,7 +8157,9 @@ - + + YES + @@ -7654,7 +8193,9 @@ - + + YES + @@ -7682,7 +8223,9 @@ - + + YES + @@ -7716,7 +8259,9 @@ - + + YES + @@ -7744,7 +8289,9 @@ - + + YES + @@ -7778,7 +8325,9 @@ - + + YES + @@ -7806,7 +8355,9 @@ - + + YES + @@ -7840,7 +8391,9 @@ - + + YES + @@ -7868,7 +8421,9 @@ - + + YES + @@ -7902,7 +8457,9 @@ - + + YES + @@ -7930,7 +8487,9 @@ - + + YES + @@ -7964,7 +8523,9 @@ - + + YES + @@ -7992,7 +8553,9 @@ - + + YES + @@ -8026,7 +8589,9 @@ - + + YES + @@ -8054,7 +8619,9 @@ - + + YES + @@ -8073,11 +8640,11 @@ - + {{0, 14}, {302, 126}} - + {{20, 6}, {302, 140}} @@ -8090,7 +8657,9 @@ - + + YES + @@ -8118,7 +8687,9 @@ - + + YES + Player 1 @@ -8133,11 +8704,13 @@ 256 - + + YES 256 - + + YES 256 @@ -8153,7 +8726,9 @@ - + + YES + @@ -8181,7 +8756,9 @@ - + + YES + @@ -8215,7 +8792,9 @@ - + + YES + @@ -8243,7 +8822,9 @@ - + + YES + @@ -8277,7 +8858,9 @@ - + + YES + @@ -8305,7 +8888,9 @@ - + + YES + @@ -8339,7 +8924,9 @@ - + + YES + @@ -8367,7 +8954,9 @@ - + + YES + @@ -8401,7 +8990,9 @@ - + + YES + @@ -8429,7 +9020,9 @@ - + + YES + @@ -8463,7 +9056,9 @@ - + + YES + @@ -8491,7 +9086,9 @@ - + + YES + @@ -8525,7 +9122,9 @@ - + + YES + @@ -8553,7 +9152,9 @@ - + + YES + @@ -8587,7 +9188,9 @@ - + + YES + @@ -8615,7 +9218,9 @@ - + + YES + @@ -8649,7 +9254,9 @@ - + + YES + @@ -8677,7 +9284,9 @@ - + + YES + @@ -8711,7 +9320,9 @@ - + + YES + @@ -8739,7 +9350,9 @@ - + + YES + @@ -8773,7 +9386,9 @@ - + + YES + @@ -8801,7 +9416,9 @@ - + + YES + @@ -8835,7 +9452,9 @@ - + + YES + @@ -8863,7 +9482,9 @@ - + + YES + @@ -8882,11 +9503,11 @@ - + {{0, 14}, {302, 126}} - + {{342, 6}, {302, 140}} @@ -8899,7 +9520,9 @@ - + + YES + @@ -8927,7 +9550,9 @@ - + + YES + Player 2 @@ -8942,11 +9567,13 @@ 256 - + + YES 256 - + + YES 256 @@ -8962,7 +9589,9 @@ - + + YES + @@ -8990,7 +9619,9 @@ - + + YES + @@ -9024,7 +9655,9 @@ - + + YES + @@ -9052,7 +9685,9 @@ - + + YES + @@ -9086,7 +9721,9 @@ - + + YES + @@ -9114,7 +9751,9 @@ - + + YES + @@ -9148,7 +9787,9 @@ - + + YES + @@ -9176,7 +9817,9 @@ - + + YES + @@ -9210,7 +9853,9 @@ - + + YES + @@ -9238,7 +9883,9 @@ - + + YES + @@ -9272,7 +9919,9 @@ - + + YES + @@ -9300,7 +9949,9 @@ - + + YES + @@ -9334,7 +9985,9 @@ - + + YES + @@ -9362,7 +10015,9 @@ - + + YES + @@ -9396,7 +10051,9 @@ - + + YES + @@ -9424,7 +10081,9 @@ - + + YES + @@ -9458,7 +10117,9 @@ - + + YES + @@ -9486,7 +10147,9 @@ - + + YES + @@ -9520,7 +10183,9 @@ - + + YES + @@ -9548,7 +10213,9 @@ - + + YES + @@ -9582,7 +10249,9 @@ - + + YES + @@ -9610,7 +10279,9 @@ - + + YES + @@ -9644,7 +10315,9 @@ - + + YES + @@ -9672,7 +10345,9 @@ - + + YES + @@ -9691,11 +10366,11 @@ - + {{0, 14}, {302, 126}} - + {{664, 6}, {302, 140}} @@ -9708,7 +10383,9 @@ - + + YES + @@ -9736,7 +10413,9 @@ - + + YES + Player 3 @@ -9751,11 +10430,13 @@ 256 - + + YES 256 - + + YES 256 @@ -9771,7 +10452,9 @@ - + + YES + @@ -9799,7 +10482,9 @@ - + + YES + @@ -9833,7 +10518,9 @@ - + + YES + @@ -9861,7 +10548,9 @@ - + + YES + @@ -9895,7 +10584,9 @@ - + + YES + @@ -9923,7 +10614,9 @@ - + + YES + @@ -9957,7 +10650,9 @@ - + + YES + @@ -9985,7 +10680,9 @@ - + + YES + @@ -10019,7 +10716,9 @@ - + + YES + @@ -10047,7 +10746,9 @@ - + + YES + @@ -10081,7 +10782,9 @@ - + + YES + @@ -10109,7 +10812,9 @@ - + + YES + @@ -10143,7 +10848,9 @@ - + + YES + @@ -10171,7 +10878,9 @@ - + + YES + @@ -10205,7 +10914,9 @@ - + + YES + @@ -10233,7 +10944,9 @@ - + + YES + @@ -10267,7 +10980,9 @@ - + + YES + @@ -10295,7 +11010,9 @@ - + + YES + @@ -10329,7 +11046,9 @@ - + + YES + @@ -10357,7 +11076,9 @@ - + + YES + @@ -10391,7 +11112,9 @@ - + + YES + @@ -10419,7 +11142,9 @@ - + + YES + @@ -10453,7 +11178,9 @@ - + + YES + @@ -10481,7 +11208,9 @@ - + + YES + @@ -10500,11 +11229,11 @@ - + {{0, 14}, {302, 126}} - + {{20, 152}, {302, 140}} @@ -10517,7 +11246,9 @@ - + + YES + @@ -10545,7 +11276,9 @@ - + + YES + Player 4 @@ -10560,11 +11293,13 @@ 256 - + + YES 256 - + + YES 256 @@ -10580,7 +11315,9 @@ - + + YES + @@ -10608,7 +11345,9 @@ - + + YES + @@ -10642,7 +11381,9 @@ - + + YES + @@ -10670,7 +11411,9 @@ - + + YES + @@ -10704,7 +11447,9 @@ - + + YES + @@ -10732,7 +11477,9 @@ - + + YES + @@ -10766,7 +11513,9 @@ - + + YES + @@ -10794,7 +11543,9 @@ - + + YES + @@ -10828,7 +11579,9 @@ - + + YES + @@ -10856,7 +11609,9 @@ - + + YES + @@ -10890,7 +11645,9 @@ - + + YES + @@ -10918,7 +11675,9 @@ - + + YES + @@ -10952,7 +11711,9 @@ - + + YES + @@ -10980,7 +11741,9 @@ - + + YES + @@ -11014,7 +11777,9 @@ - + + YES + @@ -11042,7 +11807,9 @@ - + + YES + @@ -11076,7 +11843,9 @@ - + + YES + @@ -11104,7 +11873,9 @@ - + + YES + @@ -11138,7 +11909,9 @@ - + + YES + @@ -11166,7 +11939,9 @@ - + + YES + @@ -11200,7 +11975,9 @@ - + + YES + @@ -11228,7 +12005,9 @@ - + + YES + @@ -11262,7 +12041,9 @@ - + + YES + @@ -11290,7 +12071,9 @@ - + + YES + @@ -11309,11 +12092,11 @@ - + {{0, 14}, {302, 126}} - + {{342, 152}, {302, 140}} @@ -11326,7 +12109,9 @@ - + + YES + @@ -11354,7 +12139,9 @@ - + + YES + Player 5 @@ -11369,11 +12156,13 @@ 256 - + + YES 256 - + + YES 256 @@ -11389,7 +12178,9 @@ - + + YES + @@ -11417,7 +12208,9 @@ - + + YES + @@ -11451,7 +12244,9 @@ - + + YES + @@ -11479,7 +12274,9 @@ - + + YES + @@ -11513,7 +12310,9 @@ - + + YES + @@ -11541,7 +12340,9 @@ - + + YES + @@ -11575,7 +12376,9 @@ - + + YES + @@ -11603,7 +12406,9 @@ - + + YES + @@ -11637,7 +12442,9 @@ - + + YES + @@ -11665,7 +12472,9 @@ - + + YES + @@ -11699,7 +12508,9 @@ - + + YES + @@ -11727,7 +12538,9 @@ - + + YES + @@ -11761,7 +12574,9 @@ - + + YES + @@ -11789,7 +12604,9 @@ - + + YES + @@ -11823,7 +12640,9 @@ - + + YES + @@ -11851,7 +12670,9 @@ - + + YES + @@ -11885,7 +12706,9 @@ - + + YES + @@ -11913,7 +12736,9 @@ - + + YES + @@ -11947,7 +12772,9 @@ - + + YES + @@ -11975,7 +12802,9 @@ - + + YES + @@ -12009,7 +12838,9 @@ - + + YES + @@ -12037,7 +12868,9 @@ - + + YES + @@ -12071,7 +12904,9 @@ - + + YES + @@ -12099,7 +12934,9 @@ - + + YES + @@ -12133,7 +12970,9 @@ - + + YES + @@ -12161,7 +13000,9 @@ - + + YES + @@ -12195,7 +13036,9 @@ - + + YES + @@ -12223,7 +13066,9 @@ - + + YES + @@ -12257,7 +13102,9 @@ - + + YES + @@ -12285,7 +13132,9 @@ - + + YES + @@ -12319,7 +13168,9 @@ - + + YES + @@ -12347,7 +13198,9 @@ - + + YES + @@ -12381,7 +13234,9 @@ - + + YES + @@ -12409,7 +13264,9 @@ - + + YES + @@ -12428,11 +13285,11 @@ - + {{0, 14}, {302, 126}} - + {{664, 298}, {302, 140}} @@ -12445,7 +13302,9 @@ - + + YES + @@ -12473,7 +13332,9 @@ - + + YES + Common @@ -12500,7 +13361,9 @@ - + + YES + @@ -12528,7 +13391,9 @@ - + + YES + @@ -12551,7 +13416,9 @@ - + + YES + @@ -12579,7 +13446,9 @@ - + + YES + Preset #n @@ -12590,11 +13459,13 @@ 256 - + + YES 256 - + + YES 256 @@ -12610,7 +13481,9 @@ - + + YES + @@ -12638,7 +13511,9 @@ - + + YES + @@ -12672,7 +13547,9 @@ - + + YES + @@ -12700,7 +13577,9 @@ - + + YES + @@ -12734,7 +13613,9 @@ - + + YES + @@ -12762,7 +13643,9 @@ - + + YES + @@ -12796,7 +13679,9 @@ - + + YES + @@ -12824,7 +13709,9 @@ - + + YES + @@ -12858,7 +13745,9 @@ - + + YES + @@ -12886,7 +13775,9 @@ - + + YES + @@ -12920,7 +13811,9 @@ - + + YES + @@ -12948,7 +13841,9 @@ - + + YES + @@ -12982,7 +13877,9 @@ - + + YES + @@ -13010,7 +13907,9 @@ - + + YES + @@ -13044,7 +13943,9 @@ - + + YES + @@ -13072,7 +13973,9 @@ - + + YES + @@ -13106,7 +14009,9 @@ - + + YES + @@ -13134,7 +14039,9 @@ - + + YES + @@ -13168,7 +14075,9 @@ - + + YES + @@ -13196,7 +14105,9 @@ - + + YES + @@ -13230,7 +14141,9 @@ - + + YES + @@ -13258,7 +14171,9 @@ - + + YES + @@ -13292,7 +14207,9 @@ - + + YES + @@ -13320,7 +14237,9 @@ - + + YES + @@ -13339,11 +14258,11 @@ - + {{0, 14}, {302, 126}} - + {{664, 152}, {302, 140}} @@ -13356,7 +14275,9 @@ - + + YES + @@ -13384,7 +14305,9 @@ - + + YES + Player 6 @@ -13399,11 +14322,13 @@ 256 - + + YES 256 - + + YES 256 @@ -13419,7 +14344,9 @@ - + + YES + @@ -13447,7 +14374,9 @@ - + + YES + @@ -13481,7 +14410,9 @@ - + + YES + @@ -13509,7 +14440,9 @@ - + + YES + @@ -13543,7 +14476,9 @@ - + + YES + @@ -13571,7 +14506,9 @@ - + + YES + @@ -13605,7 +14542,9 @@ - + + YES + @@ -13633,7 +14572,9 @@ - + + YES + @@ -13667,7 +14608,9 @@ - + + YES + @@ -13695,7 +14638,9 @@ - + + YES + @@ -13729,7 +14674,9 @@ - + + YES + @@ -13757,7 +14704,9 @@ - + + YES + @@ -13791,7 +14740,9 @@ - + + YES + @@ -13819,7 +14770,9 @@ - + + YES + @@ -13853,7 +14806,9 @@ - + + YES + @@ -13881,7 +14836,9 @@ - + + YES + @@ -13915,7 +14872,9 @@ - + + YES + @@ -13943,7 +14902,9 @@ - + + YES + @@ -13977,7 +14938,9 @@ - + + YES + @@ -14005,7 +14968,9 @@ - + + YES + @@ -14039,7 +15004,9 @@ - + + YES + @@ -14067,7 +15034,9 @@ - + + YES + @@ -14101,7 +15070,9 @@ - + + YES + @@ -14129,7 +15100,9 @@ - + + YES + @@ -14148,11 +15121,11 @@ - + {{0, 14}, {302, 126}} - + {{20, 298}, {302, 140}} @@ -14165,7 +15138,9 @@ - + + YES + @@ -14193,7 +15168,9 @@ - + + YES + Player 7 @@ -14208,11 +15185,13 @@ 256 - + + YES 256 - + + YES 256 @@ -14228,7 +15207,9 @@ - + + YES + @@ -14256,7 +15237,9 @@ - + + YES + @@ -14290,7 +15273,9 @@ - + + YES + @@ -14318,7 +15303,9 @@ - + + YES + @@ -14352,7 +15339,9 @@ - + + YES + @@ -14380,7 +15369,9 @@ - + + YES + @@ -14414,7 +15405,9 @@ - + + YES + @@ -14442,7 +15435,9 @@ - + + YES + @@ -14476,7 +15471,9 @@ - + + YES + @@ -14504,7 +15501,9 @@ - + + YES + @@ -14538,7 +15537,9 @@ - + + YES + @@ -14566,7 +15567,9 @@ - + + YES + @@ -14600,7 +15603,9 @@ - + + YES + @@ -14628,7 +15633,9 @@ - + + YES + @@ -14662,7 +15669,9 @@ - + + YES + @@ -14690,7 +15699,9 @@ - + + YES + @@ -14724,7 +15735,9 @@ - + + YES + @@ -14752,7 +15765,9 @@ - + + YES + @@ -14786,7 +15801,9 @@ - + + YES + @@ -14814,7 +15831,9 @@ - + + YES + @@ -14848,7 +15867,9 @@ - + + YES + @@ -14876,7 +15897,9 @@ - + + YES + @@ -14910,7 +15933,9 @@ - + + YES + @@ -14938,7 +15963,9 @@ - + + YES + @@ -14957,11 +15984,11 @@ - + {{0, 14}, {302, 126}} - + {{342, 298}, {302, 140}} @@ -14974,7 +16001,9 @@ - + + YES + @@ -15002,7 +16031,9 @@ - + + YES + Player 8 @@ -15014,7 +16045,7 @@ - + {986, 491} @@ -15026,7 +16057,9 @@ - + + YES + @@ -15054,14 +16087,18 @@ - + + YES + {{40, 80}, {986, 491}} {{0, 0}, {1024, 768}} - + + YES + @@ -15103,7 +16140,8 @@ 256 - + + YES 256 @@ -15119,7 +16157,9 @@ - + + YES + @@ -15147,7 +16187,9 @@ - + + YES + @@ -15173,7 +16215,9 @@ - + + YES + @@ -15201,7 +16245,9 @@ - + + YES + @@ -15224,7 +16270,9 @@ - + + YES + @@ -15252,7 +16300,9 @@ - + + YES + @@ -15275,7 +16325,9 @@ - + + YES + @@ -15303,7 +16355,9 @@ - + + YES + @@ -15329,7 +16383,9 @@ - + + YES + @@ -15357,7 +16413,9 @@ - + + YES + Server IP : @@ -15380,7 +16438,9 @@ - + + YES + @@ -15408,7 +16468,9 @@ - + + YES + Name : @@ -15431,7 +16493,9 @@ - + + YES + @@ -15459,10 +16523,12 @@ - + + YES + - + {292, 132} @@ -15474,7 +16540,9 @@ - + + YES + @@ -15502,14 +16570,18 @@ - + + YES + {{40, 80}, {292, 132}} {{0, 0}, {1024, 768}} - + + YES + @@ -15562,7 +16634,9 @@ - + + YES + @@ -15590,14 +16664,18 @@ - + + YES + {{40, 80}, {276, 260}} {{0, 0}, {1024, 768}} - + + YES + @@ -15639,11 +16717,13 @@ 256 - + + YES 256 - + + YES 256 @@ -15659,7 +16739,9 @@ - + + YES + @@ -15687,7 +16769,9 @@ - + + YES + Players to Record : @@ -15710,7 +16794,9 @@ - + + YES + @@ -15738,7 +16824,9 @@ - + + YES + Comment : @@ -15761,7 +16849,9 @@ - + + YES + @@ -15789,7 +16879,9 @@ - + + YES + @@ -15815,7 +16907,9 @@ - + + YES + @@ -15843,7 +16937,9 @@ - + + YES + @@ -15864,7 +16960,9 @@ - + + YES + @@ -15892,7 +16990,9 @@ - + + YES + @@ -15913,7 +17013,9 @@ - + + YES + @@ -15941,7 +17043,9 @@ - + + YES + @@ -15962,7 +17066,9 @@ - + + YES + @@ -15990,7 +17096,9 @@ - + + YES + @@ -16011,7 +17119,9 @@ - + + YES + @@ -16039,7 +17149,9 @@ - + + YES + @@ -16060,7 +17172,9 @@ - + + YES + @@ -16088,13 +17202,15 @@ - + + YES + Reset - + {433, 57} @@ -16107,7 +17223,9 @@ - + + YES + @@ -16135,11 +17253,13 @@ - + + YES + - + {433, 55} @@ -16151,7 +17271,9 @@ - + + YES + @@ -16179,14 +17301,18 @@ - + + YES + {{40, 80}, {433, 55}} {{0, 0}, {1024, 768}} - + + YES + @@ -16228,7 +17354,8 @@ 256 - + + YES 256 @@ -16244,7 +17371,9 @@ - + + YES + @@ -16272,11 +17401,13 @@ - + + YES + - + {512, 478} @@ -16288,7 +17419,9 @@ - + + YES + @@ -16316,14 +17449,18 @@ - + + YES + {{40, 80}, {512, 478}} {{0, 0}, {1024, 768}} - + + YES + @@ -16365,7 +17502,8 @@ 256 - + + YES 256 @@ -16381,7 +17519,9 @@ - + + YES + @@ -16409,7 +17549,9 @@ - + + YES + Filter : @@ -16432,7 +17574,9 @@ - + + YES + @@ -16460,10 +17604,12 @@ - + + YES + - + {373, 81} @@ -16475,7 +17621,9 @@ - + + YES + @@ -16503,18 +17651,23 @@ - + + YES + {{40, 80}, {373, 81}} {{0, 0}, {1024, 768}} - + + YES + S9xMenu - + + YES Snes9x @@ -16532,7 +17685,8 @@ submenuAction: Snes9x - + + YES About Snes9x @@ -16561,7 +17715,7 @@ - + _NSAppleMenu Snes9x @@ -16603,7 +17757,8 @@ submenuAction: File - + + YES Open ROM Image... @@ -16811,7 +17966,7 @@ - + File @@ -16852,7 +18007,8 @@ submenuAction: Edit - + + YES Undo @@ -17087,7 +18243,7 @@ - + Edit @@ -17128,7 +18284,8 @@ submenuAction: Emulation - + + YES Run @@ -17289,7 +18446,8 @@ submenuAction: Input Device - + + YES Pad @@ -17522,7 +18680,7 @@ - + Input Device @@ -17552,7 +18710,7 @@ - + Emulation @@ -17593,7 +18751,8 @@ submenuAction: Config - + + YES Configure Keyboard... @@ -17754,7 +18913,8 @@ submenuAction: Controllers Preset - + + YES #1 @@ -17900,7 +19060,7 @@ - + Controllers Preset @@ -17930,7 +19090,7 @@ - + Config @@ -17971,7 +19131,8 @@ submenuAction: Netplay - + + YES Server... @@ -18030,7 +19191,7 @@ - + Netplay @@ -18071,7 +19232,8 @@ submenuAction: Cheat - + + YES Apply Cheats @@ -18190,7 +19352,7 @@ - + Cheat @@ -18231,7 +19393,8 @@ submenuAction: Option - + + YES Freeze State @@ -18737,7 +19900,7 @@ - + Option @@ -18778,7 +19941,8 @@ submenuAction: Window - + + YES Minimize @@ -18955,7 +20119,7 @@ - + _NSWindowsMenu Window @@ -18986,7 +20150,7 @@ - + _NSMainMenu S9xMenu @@ -19036,7 +20200,8 @@ 256 - + + YES 256 @@ -19052,7 +20217,9 @@ - + + YES + @@ -19080,7 +20247,9 @@ - + + YES + Cart Name : @@ -19103,7 +20272,9 @@ - + + YES + @@ -19131,7 +20302,9 @@ - + + YES + Licensee : @@ -19154,7 +20327,9 @@ - + + YES + @@ -19182,7 +20357,9 @@ - + + YES + Contents : @@ -19205,7 +20382,9 @@ - + + YES + @@ -19233,7 +20412,9 @@ - + + YES + Size (header) : @@ -19256,7 +20437,9 @@ - + + YES + @@ -19284,7 +20467,9 @@ - + + YES + Size (calculated) : @@ -19307,7 +20492,9 @@ - + + YES + @@ -19335,7 +20522,9 @@ - + + YES + Speed : @@ -19358,7 +20547,9 @@ - + + YES + @@ -19386,7 +20577,9 @@ - + + YES + Game Code : @@ -19409,7 +20602,9 @@ - + + YES + @@ -19437,7 +20632,9 @@ - + + YES + SRAM Size : @@ -19460,7 +20657,9 @@ - + + YES + @@ -19488,7 +20687,9 @@ - + + YES + Checksum (calculated) : @@ -19511,7 +20712,9 @@ - + + YES + @@ -19539,7 +20742,9 @@ - + + YES + Checksum (header) : @@ -19562,7 +20767,9 @@ - + + YES + @@ -19590,7 +20797,9 @@ - + + YES + Complement (header) : @@ -19613,7 +20822,9 @@ - + + YES + @@ -19641,7 +20852,9 @@ - + + YES + Video Output : @@ -19664,7 +20877,9 @@ - + + YES + @@ -19692,7 +20907,9 @@ - + + YES + Revision : @@ -19715,7 +20932,9 @@ - + + YES + @@ -19743,7 +20962,9 @@ - + + YES + Region : @@ -19766,7 +20987,9 @@ - + + YES + @@ -19794,7 +21017,9 @@ - + + YES + Map : @@ -19817,7 +21042,9 @@ - + + YES + @@ -19845,7 +21072,9 @@ - + + YES + name @@ -19868,7 +21097,9 @@ - + + YES + @@ -19896,7 +21127,9 @@ - + + YES + code @@ -19919,7 +21152,9 @@ - + + YES + @@ -19947,7 +21182,9 @@ - + + YES + licensee @@ -19970,7 +21207,9 @@ - + + YES + @@ -19998,7 +21237,9 @@ - + + YES + region @@ -20021,7 +21262,9 @@ - + + YES + @@ -20049,7 +21292,9 @@ - + + YES + output @@ -20072,7 +21317,9 @@ - + + YES + @@ -20100,7 +21347,9 @@ - + + YES + revision @@ -20123,7 +21372,9 @@ - + + YES + @@ -20151,7 +21402,9 @@ - + + YES + contents @@ -20174,7 +21427,9 @@ - + + YES + @@ -20202,7 +21457,9 @@ - + + YES + map @@ -20225,7 +21482,9 @@ - + + YES + @@ -20253,7 +21512,9 @@ - + + YES + speed @@ -20276,7 +21537,9 @@ - + + YES + @@ -20304,7 +21567,9 @@ - + + YES + rom size written in header @@ -20327,7 +21592,9 @@ - + + YES + @@ -20355,7 +21622,9 @@ - + + YES + calculated rom size @@ -20378,7 +21647,9 @@ - + + YES + @@ -20406,7 +21677,9 @@ - + + YES + sram size @@ -20429,7 +21702,9 @@ - + + YES + @@ -20457,7 +21732,9 @@ - + + YES + checksum written in header @@ -20480,7 +21757,9 @@ - + + YES + @@ -20508,7 +21787,9 @@ - + + YES + complement written in header @@ -20531,7 +21812,9 @@ - + + YES + @@ -20559,7 +21842,9 @@ - + + YES + calculated checksum @@ -20582,7 +21867,9 @@ - + + YES + @@ -20610,7 +21897,9 @@ - + + YES + Type : @@ -20633,7 +21922,9 @@ - + + YES + @@ -20661,7 +21952,9 @@ - + + YES + type @@ -20684,7 +21977,9 @@ - + + YES + @@ -20712,7 +22007,9 @@ - + + YES + CRC32 : @@ -20735,7 +22032,9 @@ - + + YES + @@ -20763,7 +22062,9 @@ - + + YES + crc32 @@ -20786,7 +22087,9 @@ - + + YES + @@ -20814,7 +22117,9 @@ - + + YES + @@ -20822,7 +22127,7 @@ Copy to Clipboard - + {362, 422} @@ -20834,7 +22139,9 @@ - + + YES + @@ -20862,14 +22169,18 @@ - + + YES + {{40, 80}, {362, 422}} {{0, 0}, {1024, 768}} - + + YES + @@ -20911,7 +22222,8 @@ 256 - + + YES 256 @@ -20927,7 +22239,9 @@ - + + YES + @@ -20955,14 +22269,17 @@ - + + YES + 256 - + + YES 256 @@ -20978,7 +22295,9 @@ - + + YES + @@ -21006,7 +22325,9 @@ - + + YES + @@ -21040,7 +22361,9 @@ - + + YES + @@ -21068,7 +22391,9 @@ - + + YES + @@ -21102,7 +22427,9 @@ - + + YES + @@ -21130,7 +22457,9 @@ - + + YES + @@ -21153,7 +22482,9 @@ - + + YES + @@ -21181,14 +22512,17 @@ - + + YES + - + + YES Hexadecimal @@ -21198,7 +22532,7 @@ Unsigned Decimal - + @@ -21215,7 +22549,9 @@ - + + YES + @@ -21243,13 +22579,16 @@ - + + YES + Popup: - + + YES = @@ -21424,7 +22763,7 @@ - + Popup: @@ -21451,7 +22790,9 @@ - + + YES + @@ -21479,7 +22820,9 @@ - + + YES + Address : @@ -21502,7 +22845,9 @@ - + + YES + @@ -21530,7 +22875,9 @@ - + + YES + @@ -21556,7 +22903,9 @@ - + + YES + @@ -21584,7 +22933,9 @@ - + + YES + @@ -21607,7 +22958,9 @@ - + + YES + @@ -21635,7 +22988,9 @@ - + + YES + 000000 @@ -21658,7 +23013,9 @@ - + + YES + @@ -21686,7 +23043,9 @@ - + + YES + Comparison : @@ -21709,7 +23068,9 @@ - + + YES + @@ -21737,7 +23098,9 @@ - + + YES + @@ -21758,7 +23121,9 @@ - + + YES + @@ -21786,7 +23151,9 @@ - + + YES + @@ -21807,7 +23174,9 @@ - + + YES + @@ -21835,7 +23204,9 @@ - + + YES + @@ -21856,7 +23227,9 @@ - + + YES + @@ -21884,7 +23257,9 @@ - + + YES + Value Size : @@ -21907,7 +23282,9 @@ - + + YES + @@ -21935,13 +23312,16 @@ - + + YES + Popup: - + + YES 1 Byte @@ -22058,7 +23438,7 @@ - + Popup: @@ -22070,7 +23450,7 @@ - + {{242, 0}, {207, 329}} @@ -22083,7 +23463,9 @@ - + + YES + @@ -22111,14 +23493,17 @@ - + + YES + 256 - + + YES 256 @@ -22134,7 +23519,9 @@ - + + YES + @@ -22162,7 +23549,9 @@ - + + YES + @@ -22185,7 +23574,9 @@ - + + YES + @@ -22213,7 +23604,9 @@ - + + YES + @@ -22236,7 +23629,9 @@ - + + YES + @@ -22264,7 +23659,9 @@ - + + YES + @@ -22272,7 +23669,7 @@ Restore List - + {{242, 346}, {207, 95}} @@ -22285,7 +23682,9 @@ - + + YES + @@ -22313,11 +23712,13 @@ - + + YES + - + {449, 441} @@ -22329,7 +23730,9 @@ - + + YES + @@ -22357,14 +23760,18 @@ - + + YES + {{40, 80}, {449, 441}} {{0, 0}, {1024, 768}} - + + YES + @@ -22406,7 +23813,8 @@ 256 - + + YES 256 @@ -22422,7 +23830,9 @@ - + + YES + @@ -22450,7 +23860,9 @@ - + + YES + Address : @@ -22473,7 +23885,9 @@ - + + YES + @@ -22501,7 +23915,9 @@ - + + YES + address @@ -22524,7 +23940,9 @@ - + + YES + @@ -22552,7 +23970,9 @@ - + + YES + @@ -22578,7 +23998,9 @@ - + + YES + @@ -22606,7 +24028,9 @@ - + + YES + Current Value : @@ -22629,7 +24053,9 @@ - + + YES + @@ -22657,7 +24083,9 @@ - + + YES + Cheat Value : @@ -22680,7 +24108,9 @@ - + + YES + @@ -22708,7 +24138,9 @@ - + + YES + current value @@ -22731,7 +24163,9 @@ - + + YES + @@ -22759,7 +24193,9 @@ - + + YES + @@ -22782,7 +24218,9 @@ - + + YES + @@ -22810,7 +24248,9 @@ - + + YES + @@ -22833,7 +24273,9 @@ - + + YES + @@ -22861,7 +24303,9 @@ - + + YES + Description : @@ -22884,7 +24328,9 @@ - + + YES + @@ -22912,7 +24358,9 @@ - + + YES + @@ -22923,7 +24371,7 @@ - + {328, 168} @@ -22935,7 +24383,9 @@ - + + YES + @@ -22963,14 +24413,18 @@ - + + YES + {{40, 80}, {328, 168}} {{0, 0}, {1024, 768}} - + + YES + @@ -23012,7 +24466,8 @@ 256 - + + YES 256 @@ -23028,7 +24483,9 @@ - + + YES + @@ -23056,7 +24513,9 @@ - + + YES + Slot A @@ -23079,7 +24538,9 @@ - + + YES + @@ -23107,7 +24568,9 @@ - + + YES + Slot B @@ -23130,7 +24593,9 @@ - + + YES + @@ -23158,7 +24623,9 @@ - + + YES + : @@ -23181,7 +24648,9 @@ - + + YES + @@ -23209,7 +24678,9 @@ - + + YES + : @@ -23232,7 +24703,9 @@ - + + YES + @@ -23260,7 +24733,9 @@ - + + YES + @@ -23283,7 +24758,9 @@ - + + YES + @@ -23311,7 +24788,9 @@ - + + YES + @@ -23334,7 +24813,9 @@ - + + YES + @@ -23362,7 +24843,9 @@ - + + YES + @@ -23385,7 +24868,9 @@ - + + YES + @@ -23413,7 +24898,9 @@ - + + YES + @@ -23436,7 +24923,9 @@ - + + YES + @@ -23464,7 +24953,9 @@ - + + YES + @@ -23487,7 +24978,9 @@ - + + YES + @@ -23515,7 +25008,9 @@ - + + YES + @@ -23526,7 +25021,8 @@ 256 - + + YES 256 @@ -23542,7 +25038,9 @@ - + + YES + @@ -23570,7 +25068,9 @@ - + + YES + Cart A name @@ -23578,7 +25078,7 @@ - + {{85, 19}, {309, 22}} @@ -23591,7 +25091,9 @@ - + + YES + @@ -23619,14 +25121,17 @@ - + + YES + 256 - + + YES 256 @@ -23642,7 +25147,9 @@ - + + YES + @@ -23670,7 +25177,9 @@ - + + YES + Cart B name @@ -23678,7 +25187,7 @@ - + {{85, 59}, {309, 22}} @@ -23691,7 +25200,9 @@ - + + YES + @@ -23719,7 +25230,9 @@ - + + YES + @@ -23738,7 +25251,9 @@ - + + YES + @@ -23766,7 +25281,9 @@ - + + YES + @@ -23774,7 +25291,7 @@ Swap - + {597, 150} @@ -23786,7 +25303,9 @@ - + + YES + @@ -23814,14 +25333,18 @@ - + + YES + {{40, 80}, {597, 150}} {{0, 0}, {1024, 768}} - + + YES + @@ -23863,7 +25386,8 @@ 256 - + + YES 256 @@ -23879,7 +25403,9 @@ - + + YES + @@ -23907,7 +25433,9 @@ - + + YES + @@ -23930,7 +25458,9 @@ - + + YES + @@ -23958,7 +25488,9 @@ - + + YES + Player 1 @@ -23981,7 +25513,9 @@ - + + YES + @@ -24009,7 +25543,9 @@ - + + YES + Player 2 @@ -24032,7 +25568,9 @@ - + + YES + @@ -24060,7 +25598,9 @@ - + + YES + @@ -24081,7 +25621,9 @@ - + + YES + @@ -24109,13 +25651,15 @@ - + + YES + - + {593, 251} @@ -24127,7 +25671,9 @@ - + + YES + @@ -24155,14 +25701,18 @@ - + + YES + {{40, 80}, {593, 251}} {{0, 0}, {1024, 768}} - + + YES + @@ -24204,11 +25754,13 @@ 256 - + + YES 256 - + + YES 256 @@ -24224,7 +25776,9 @@ - + + YES + @@ -24252,7 +25806,9 @@ - + + YES + @@ -24273,7 +25829,9 @@ - + + YES + @@ -24301,13 +25859,15 @@ - + + YES + Export to QuickTime Movie at a Time - + {327, 32} @@ -24320,7 +25880,9 @@ - + + YES + @@ -24348,11 +25910,13 @@ - + + YES + - + {327, 30} @@ -24364,7 +25928,9 @@ - + + YES + @@ -24392,14 +25958,18 @@ - + + YES + {{40, 80}, {327, 30}} {{0, 0}, {1024, 768}} - + + YES + @@ -24441,7 +26011,8 @@ 256 - + + YES 256 @@ -24457,7 +26028,9 @@ All frames are drawn without adjusting times. Make sure 'Synchronize' in 'Sound' tab in 'Preferences' dialog is turned off. - + + YES + @@ -24485,7 +26058,9 @@ - + + YES + @@ -24506,7 +26081,9 @@ GL_TEXTURE_2D is used even if GL_TEXTURE_RECTANGLE_EXT is available. - + + YES + @@ -24534,7 +26111,9 @@ - + + YES + @@ -24555,7 +26134,9 @@ Sets GL_TEXTURE_PRIORITY to 0.0. - + + YES + @@ -24583,7 +26164,9 @@ - + + YES + @@ -24604,7 +26187,9 @@ - + + YES + @@ -24632,7 +26217,9 @@ - + + YES + Storage Hint : @@ -24655,7 +26242,9 @@ Sets GL_STORAGE_SHARED_APPLE to 1. - + + YES + @@ -24683,7 +26272,9 @@ - + + YES + @@ -24704,7 +26295,9 @@ Sets GL_TEXTURE_STORAGE_HINT_APPLE. - + + YES + @@ -24732,13 +26325,16 @@ - + + YES + Popup: - + + YES Private @@ -24826,7 +26422,7 @@ - + Popup: @@ -24853,7 +26449,9 @@ - + + YES + @@ -24881,7 +26479,9 @@ - + + YES + OpenGL Settings : @@ -24904,7 +26504,9 @@ - + + YES + @@ -24932,10 +26534,12 @@ - + + YES + - + {257, 216} @@ -24947,7 +26551,9 @@ - + + YES + @@ -24975,1682 +26581,18 @@ - + + YES + {{40, 80}, {257, 216}} {{0, 0}, {1024, 768}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Music Box - - - 256 - - - - 256 - {{20, 22}, {61, 16}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Playing : - - - - - - - - 256 - {{252, 16}, {86, 32}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Done - - - - 256 - {{18, 39}, {13, 14}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 256 - {{83, 22}, {167, 16}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ROMName - - - - - - - - 256 - {{36, 70}, {250, 130}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 256 - - - - 256 - {{2, 3}, {30, 20}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 256 - {{2, 29}, {30, 20}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 256 - {{2, 67}, {30, 20}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {{300, 70}, {34, 92}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 256 - - - - 256 - {{62, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4 - - - - - 256 - {{192, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4 - - - - - 256 - {{150, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - 256 - {{48, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3 - - - - - 256 - {{178, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3 - - - - - 256 - {{118, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8 - - - - - 256 - {{220, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6 - - - - - 256 - {{104, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7 - - - - - 256 - {{234, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7 - - - - - 256 - {{90, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6 - - - - - 256 - {{34, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - 256 - {{248, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8 - - - - - 256 - {{76, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - - - - - 256 - {{20, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - 256 - {{206, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - - - - - 256 - {{164, 6}, {12, 12}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - - - - - 256 - {{132, 4}, {16, 16}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {{21, 208}, {280, 25}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {352, 246} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + YES - - {{40, 80}, {352, 246}} - {{0, 0}, {1024, 768}} - - @@ -26692,15 +26634,18 @@ 256 - + + YES 256 - + + YES 256 - + + YES 256 @@ -26716,7 +26661,9 @@ Toggles between scaling full screen graphics to the current screen resolution or changing the screen resolution to fit Snes9x's needs. - + + YES + @@ -26744,7 +26691,9 @@ - + + YES + @@ -26765,7 +26714,9 @@ Toggles full screen/windowed mode. Press esc key to hide full screen window and pause the game. - + + YES + @@ -26793,7 +26744,9 @@ - + + YES + @@ -26814,7 +26767,9 @@ Toggles display of the frame rate on/off. - + + YES + @@ -26842,7 +26797,9 @@ - + + YES + @@ -26863,7 +26820,9 @@ Toggles transparency effects on/off. Transparency effect is used in almost all games so this option is just for hack. - + + YES + @@ -26891,7 +26850,9 @@ - + + YES + @@ -26912,7 +26873,9 @@ Uses 16,777,216 colors. - + + YES + @@ -26940,7 +26903,9 @@ - + + YES + @@ -26961,7 +26926,9 @@ Stretches the image to fill the screen in full screen mode. - + + YES + @@ -26989,7 +26956,9 @@ - + + YES + @@ -27010,7 +26979,9 @@ - + + YES + @@ -27038,7 +27009,9 @@ - + + YES + OpenGL Option : @@ -27061,7 +27034,9 @@ - + + YES + @@ -27089,13 +27064,16 @@ - + + YES + Popup: - + + YES Blocky @@ -27647,7 +27625,7 @@ - + Popup: @@ -27674,7 +27652,9 @@ Choose the image scaling filter which is applied to the raw SNES image. - + + YES + @@ -27702,7 +27682,9 @@ - + + YES + Video Mode : @@ -27725,7 +27707,9 @@ Synchronizes the render timing to the monitor's vertical refresh rate. - + + YES + @@ -27753,7 +27737,9 @@ - + + YES + @@ -27774,7 +27760,9 @@ When this option is on, the rendering process is separated from the emulation thread (except blocky and smooth modes). - + + YES + @@ -27802,7 +27790,9 @@ - + + YES + @@ -27823,7 +27813,9 @@ Keeps the screen height always 239/478, for some games that change screen height frequently. - + + YES + @@ -27851,7 +27843,9 @@ - + + YES + @@ -27872,7 +27866,9 @@ Adds a warp effect like a CRT-based television. - + + YES + @@ -27900,7 +27896,9 @@ - + + YES + @@ -27921,7 +27919,9 @@ - + + YES + @@ -27949,7 +27949,9 @@ - + + YES + @@ -27973,7 +27975,9 @@ The degree of curvature. - + + YES + @@ -28001,7 +28005,9 @@ - + + YES + Warp : @@ -28024,7 +28030,9 @@ - + + YES + @@ -28052,7 +28060,9 @@ - + + YES + @@ -28070,7 +28080,9 @@ - + + YES + @@ -28098,7 +28110,9 @@ - + + YES + @@ -28122,7 +28136,9 @@ The aspect ratio of above option: the left is proportional and the right is full width of the monitor. - + + YES + @@ -28150,7 +28166,9 @@ - + + YES + Aspect Ratio : @@ -28173,7 +28191,9 @@ Choose the Core Image filter. - + + YES + @@ -28201,7 +28221,9 @@ - + + YES + @@ -28224,7 +28246,9 @@ Applies additional Core Image effect after the image filter is applied. - + + YES + @@ -28252,13 +28276,15 @@ - + + YES + Use Core Image - + {{8, 36}, {562, 309}} @@ -28271,7 +28297,9 @@ - + + YES + @@ -28299,11 +28327,13 @@ - + + YES + - + {{13, 6}, {579, 353}} @@ -28315,7 +28345,9 @@ - + + YES + @@ -28343,12 +28375,15 @@ - + + YES + - + + YES 0 YES @@ -28364,7 +28399,8 @@ 256 - + + YES 256 @@ -28380,7 +28416,9 @@ Enables stereo sound instead of mono. - + + YES + @@ -28408,7 +28446,9 @@ - + + YES + @@ -28429,7 +28469,9 @@ Swaps the left and right stereo channels. - + + YES + @@ -28457,7 +28499,9 @@ - + + YES + @@ -28478,7 +28522,9 @@ Enables 16-bit playback instead of 8-bit. - + + YES + @@ -28506,7 +28552,9 @@ - + + YES + @@ -28527,7 +28575,9 @@ Tries and ensures all available samples are buffered so there are no overruns. - + + YES + @@ -28555,7 +28605,9 @@ - + + YES + @@ -28576,7 +28628,9 @@ Safer from crackling noise, but time-lag becomes more noticeable. - + + YES + @@ -28604,7 +28658,9 @@ - + + YES + @@ -28625,7 +28681,9 @@ - + + YES + @@ -28653,13 +28711,16 @@ - + + YES + Popup: - + + YES 48000 Hz @@ -28921,7 +28982,7 @@ - + Popup: @@ -28948,7 +29009,9 @@ - + + YES + @@ -28976,13 +29039,16 @@ - + + YES + Popup: - + + YES 20 ms @@ -29273,7 +29339,7 @@ - + Popup: @@ -29300,7 +29366,9 @@ - + + YES + @@ -29328,13 +29396,16 @@ - + + YES + Popup: - + + YES 8 ms @@ -29511,7 +29582,7 @@ - + Popup: @@ -29538,7 +29609,9 @@ The real SNES is 32000 Hz. Any values other than 32000 Hz will cause resampling. - + + YES + @@ -29566,7 +29639,9 @@ - + + YES + Playback Rate : @@ -29589,7 +29664,9 @@ Make sure this value is smaller than the mix buffer length. - + + YES + @@ -29617,7 +29694,9 @@ - + + YES + Output Interval : @@ -29640,7 +29719,9 @@ Too short length will cause crackling noise. - + + YES + @@ -29668,7 +29749,9 @@ - + + YES + Mix Buffer Length : @@ -29691,7 +29774,9 @@ - + + YES + @@ -29719,7 +29804,9 @@ - + + YES + @@ -29743,7 +29830,9 @@ - + + YES + @@ -29771,7 +29860,9 @@ - + + YES + @@ -29795,7 +29886,9 @@ Volume of the whole Snes9x sounds. - + + YES + @@ -29823,7 +29916,9 @@ - + + YES + Volume : @@ -29846,7 +29941,9 @@ - + + YES + @@ -29874,7 +29971,9 @@ - + + YES + Hz @@ -29897,7 +29996,9 @@ Adjusts the sound rate through resampling. For every Input Rate samples generated by the SNES, Playback Rate samples will be produced. - + + YES + @@ -29925,7 +30026,9 @@ - + + YES + Input Rate : @@ -29948,7 +30051,9 @@ - + + YES + @@ -29976,7 +30081,9 @@ - + + YES + 32000 @@ -29999,7 +30106,9 @@ Opens 'Sound Effect' dialog. - + + YES + @@ -30027,7 +30136,9 @@ - + + YES + @@ -30035,7 +30146,7 @@ Effect... - + {{8, 36}, {562, 309}} @@ -30047,7 +30158,9 @@ - + + YES + @@ -30075,7 +30188,9 @@ - + + YES + @@ -30090,7 +30205,8 @@ 256 - + + YES 256 @@ -30106,7 +30222,9 @@ - + + YES + @@ -30134,13 +30252,16 @@ - + + YES + Popup: - + + YES Snes9x Folder @@ -30349,7 +30470,7 @@ - + Popup: @@ -30376,7 +30497,9 @@ - + + YES + @@ -30404,7 +30527,9 @@ - + + YES + @@ -30430,7 +30555,9 @@ Choose the folder where Snes9x will look for files. - + + YES + @@ -30458,7 +30585,9 @@ - + + YES + Save Data in : @@ -30481,7 +30610,9 @@ - + + YES + @@ -30509,7 +30640,9 @@ - + + YES + sec after Modified @@ -30532,7 +30665,9 @@ Updates SRAM file when SRAM contents are modified. This may cause frequent disk access. - + + YES + @@ -30560,7 +30695,9 @@ - + + YES + Auto Save SRAM : @@ -30583,7 +30720,9 @@ - + + YES + @@ -30611,7 +30750,9 @@ - + + YES + (0 : Disable) @@ -30619,7 +30760,7 @@ - + {{8, 36}, {562, 309}} @@ -30631,7 +30772,9 @@ - + + YES + @@ -30659,7 +30802,9 @@ - + + YES + @@ -30674,7 +30819,8 @@ 256 - + + YES 256 @@ -30690,7 +30836,9 @@ Changes HDMA timing and will 'fix' some games' glitches, but breaks many other games. The default value is 100. - + + YES + @@ -30718,7 +30866,9 @@ - + + YES + HDMA Timing Hack : @@ -30741,7 +30891,9 @@ - + + YES + @@ -30769,7 +30921,9 @@ - + + YES + @@ -30795,7 +30949,9 @@ - + + YES + @@ -30823,7 +30979,9 @@ - + + YES + Note : These Hacks Need to Reopen ROM Image to Achieve Effects. @@ -30846,7 +31004,9 @@ - + + YES + @@ -30874,7 +31034,9 @@ - + + YES + @@ -30896,7 +31058,9 @@ The speed when turbo mode is on. Modify in-game with Fn+T, Fn+Y. - + + YES + @@ -30924,7 +31088,9 @@ - + + YES + Speed in Turbo Mode : @@ -30947,7 +31113,9 @@ - + + YES + @@ -30975,7 +31143,9 @@ - + + YES + 10 @@ -30998,7 +31168,9 @@ - + + YES + @@ -31026,7 +31198,9 @@ - + + YES + @@ -31044,7 +31218,9 @@ - + + YES + @@ -31072,13 +31248,16 @@ - + + YES + Popup - + + YES Auto @@ -31284,7 +31463,7 @@ - + Popup @@ -31311,7 +31490,9 @@ Adjust this value if your Mac is slow. - + + YES + @@ -31339,7 +31520,9 @@ - + + YES + Frame Skip : @@ -31362,7 +31545,9 @@ Allows to write to VRAM outside blank periods. - + + YES + @@ -31390,7 +31575,9 @@ - + + YES + @@ -31411,7 +31598,9 @@ Applies special hacks for games that can't be emulated correctly. - + + YES + @@ -31439,13 +31628,15 @@ - + + YES + Apply Specific Game Hacks - + {{8, 36}, {562, 309}} @@ -31457,7 +31648,9 @@ - + + YES + @@ -31485,7 +31678,9 @@ - + + YES + @@ -31500,7 +31695,8 @@ 256 - + + YES 256 @@ -31516,7 +31712,9 @@ Choose whether open dialog should be shown when Snes9x is launched. - + + YES + @@ -31544,7 +31742,9 @@ - + + YES + @@ -31565,7 +31765,9 @@ Shows time stamps on thumbnails in freeze/defrost screen. - + + YES + @@ -31593,7 +31795,9 @@ - + + YES + @@ -31614,7 +31818,9 @@ Choose the behavior of Music Box: 'Sound Emulation Only' to only emulate the music system, and 'Whole Emulation' to also emulate the CPU. Music that depends on the CPU running will not sound right without 'Whole Emulation.' - + + YES + @@ -31642,7 +31848,9 @@ - + + YES + Music Box : @@ -31665,7 +31873,9 @@ - + + YES + @@ -31693,21 +31903,24 @@ - + + YES + - + + YES Sound Emulation Only Whole Emulation - + @@ -31724,7 +31937,9 @@ Sets 'Turbo' button as a toggle switch. - + + YES + @@ -31752,7 +31967,9 @@ - + + YES + @@ -31773,7 +31990,9 @@ When this option is on, Snes9x automatically loads the .ips or .ups file and patch the ROM image. - + + YES + @@ -31801,7 +32020,9 @@ - + + YES + @@ -31822,7 +32043,9 @@ Shows messages from Snes9x on the game screen. When off, messages are put in the standard console. - + + YES + @@ -31850,7 +32073,9 @@ - + + YES + @@ -31871,7 +32096,9 @@ - + + YES + @@ -31899,14 +32126,17 @@ - + + YES + - + + YES Keep on Emulation, Receive All Inputs @@ -31916,7 +32146,7 @@ Pause and Exit from Emulation Loop - + @@ -31933,7 +32163,9 @@ Choose the behavior of Snes9x when it is in back of other applications. - + + YES + @@ -31961,7 +32193,9 @@ - + + YES + When in Background : @@ -31984,7 +32218,9 @@ Saves the sizes and positions of the game window and dialogs so they come back to the same place. - + + YES + @@ -32012,7 +32248,9 @@ - + + YES + @@ -32033,7 +32271,9 @@ When this option is on, BS-X ROM is loaded first, then you launch BS games from the menu in BS-X. - + + YES + @@ -32061,13 +32301,15 @@ - + + YES + Boot Up BS Games from BS-X - + {{8, 36}, {562, 309}} @@ -32079,7 +32321,9 @@ - + + YES + @@ -32107,7 +32351,9 @@ - + + YES + @@ -32116,10 +32362,10 @@ - + - + {605, 371} @@ -32131,7 +32377,9 @@ - + + YES + @@ -32159,14 +32407,18 @@ - + + YES + {{39, 80}, {605, 371}} {{0, 0}, {1024, 768}} - + + YES + @@ -32208,11 +32460,13 @@ 256 - + + YES 256 - + + YES 256 @@ -32228,7 +32482,9 @@ - + + YES + @@ -32256,7 +32512,9 @@ - + + YES + @@ -32277,7 +32535,9 @@ - + + YES + @@ -32305,13 +32565,16 @@ - + + YES + Popup: - + + YES Apple's Matrix Reverb @@ -32370,7 +32633,7 @@ - + Popup: @@ -32397,7 +32660,9 @@ - + + YES + @@ -32425,7 +32690,9 @@ - + + YES + Choose the Effect to Configure : @@ -32448,7 +32715,9 @@ - + + YES + @@ -32476,10 +32745,12 @@ - + + YES + - + {467, 99} @@ -32492,7 +32763,9 @@ - + + YES + @@ -32520,11 +32793,13 @@ - + + YES + - + {467, 99} @@ -32536,7 +32811,9 @@ - + + YES + @@ -32564,14 +32841,18 @@ - + + YES + {{40, 80}, {467, 99}} {{0, 0}, {1024, 768}} - + + YES + {555, 272} @@ -32614,7 +32895,8 @@ 256 - + + YES 256 @@ -32630,7 +32912,9 @@ - + + YES + @@ -32658,14 +32942,17 @@ - + + YES + - + + YES @@ -32714,7 +33001,7 @@ Description - + @@ -32737,7 +33024,9 @@ - + + YES + @@ -32765,7 +33054,9 @@ - + + YES + @@ -32788,7 +33079,9 @@ - + + YES + @@ -32816,7 +33109,9 @@ - + + YES + @@ -32839,7 +33134,9 @@ - + + YES + @@ -32867,7 +33164,9 @@ - + + YES + @@ -32875,7 +33174,7 @@ Enable All - + {555, 272} @@ -32887,7 +33186,9 @@ - + + YES + @@ -32915,14 +33216,18 @@ - + + YES + {{40, 80}, {555, 272}} {{0, 0}, {1024, 768}} - + + YES + @@ -32964,7 +33269,8 @@ 256 - + + YES 256 @@ -32980,7 +33286,9 @@ - + + YES + @@ -33008,7 +33316,9 @@ - + + YES + wqkgQ29weXJpZ2h0IDE5OTYtMjAxMSBTbmVzOXggZGV2ZWxvcGVycwoKU25lczl4IGlzIGEgU3VwZXIg TmludGVuZG8gRW50ZXJ0YWlubWVudCBTeXN0ZW0gZW11bGF0b3IKdGhhdCBhbGxvd3MgeW91IHRvIHBs @@ -33035,7 +33345,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33063,7 +33375,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33086,7 +33400,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33114,7 +33430,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + versionstr @@ -33137,7 +33455,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33165,7 +33485,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + Snes9x @@ -33173,7 +33495,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + {308, 242} @@ -33185,7 +33507,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33213,14 +33537,18 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + {{40, 80}, {308, 242}} {{0, 0}, {1024, 768}} - + + YES + @@ -33262,11 +33590,13 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 256 - + + YES 256 - + + YES 256 @@ -33282,7 +33612,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33310,7 +33642,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33331,7 +33665,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33359,7 +33695,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33380,7 +33718,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33408,7 +33748,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33431,7 +33773,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33459,13 +33803,16 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + Popup: - + + YES 0 @@ -33640,7 +33987,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + Popup: @@ -33667,7 +34014,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33695,7 +34044,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + Frame Skip : @@ -33703,7 +34054,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + {433, 35} @@ -33716,7 +34067,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33744,11 +34097,13 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + - + {433, 33} @@ -33760,7 +34115,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33788,14 +34145,18 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + {{40, 80}, {433, 33}} {{0, 0}, {1024, 768}} - + + YES + @@ -33837,11 +34198,13 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 256 - + + YES 256 - + + YES 256 @@ -33857,7 +34220,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33885,7 +34250,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + Memory Type : @@ -33908,7 +34275,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33936,7 +34305,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + Interleave Mode : @@ -33959,7 +34330,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -33987,13 +34360,16 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + Popup: - + + YES Auto Detect @@ -34112,7 +34488,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + Popup: @@ -34139,7 +34515,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -34167,7 +34545,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + Video System : @@ -34190,7 +34570,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -34218,13 +34600,16 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + Popup: - + + YES Auto Detect @@ -34343,7 +34728,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + Popup: @@ -34370,7 +34755,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -34398,13 +34785,16 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + Popup: - + + YES Auto Detect @@ -34581,7 +34971,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + Popup: @@ -34608,7 +34998,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -34636,7 +35028,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + Header : @@ -34659,7 +35053,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -34687,13 +35083,16 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + Popup: - + + YES Auto Detect @@ -34812,7 +35211,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + Popup: @@ -34824,7 +35223,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + {433, 56} @@ -34837,7 +35236,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -34865,11 +35266,13 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + - + {433, 54} @@ -34881,7 +35284,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -34909,14 +35314,18 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + {{40, 80}, {433, 54}} {{0, 0}, {1024, 768}} - + + YES + @@ -34958,7 +35367,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 256 - + + YES 256 @@ -34974,7 +35384,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35002,7 +35414,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35025,7 +35439,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35053,7 +35469,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + 1 : @@ -35076,7 +35494,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35104,7 +35524,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + 2 : @@ -35127,7 +35549,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35155,7 +35579,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + 3 : @@ -35178,7 +35604,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35206,7 +35634,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + 4 : @@ -35229,7 +35659,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35257,7 +35689,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + 5 : @@ -35280,7 +35714,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35308,7 +35744,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35331,7 +35769,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35359,7 +35799,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35382,7 +35824,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35410,7 +35854,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35433,7 +35879,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35461,7 +35909,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35484,7 +35934,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35512,7 +35964,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35535,7 +35989,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35563,7 +36019,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35586,7 +36044,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35614,7 +36074,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35637,7 +36099,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35665,7 +36129,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35688,7 +36154,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35716,7 +36184,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35739,7 +36209,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35767,7 +36239,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35790,7 +36264,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35818,7 +36294,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35841,7 +36319,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35869,7 +36349,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35892,7 +36374,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35920,7 +36404,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35943,7 +36429,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35971,7 +36459,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -35994,7 +36484,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36022,7 +36514,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36045,7 +36539,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36073,7 +36569,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36096,7 +36594,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36124,7 +36624,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36147,7 +36649,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36175,7 +36679,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36198,7 +36704,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36226,7 +36734,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36249,7 +36759,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36277,7 +36789,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36300,7 +36814,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36328,7 +36844,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36351,7 +36869,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36379,10 +36899,12 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + - + {437, 192} @@ -36394,7 +36916,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36422,14 +36946,18 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + {{40, 80}, {437, 192}} {{0, 0}, {1024, 768}} - + + YES + @@ -36471,7 +36999,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 256 - + + YES 256 @@ -36487,7 +37016,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36515,7 +37046,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + 1P : @@ -36538,7 +37071,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36566,7 +37101,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + 2P : @@ -36589,7 +37126,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36617,7 +37156,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + 3P : @@ -36640,7 +37181,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36668,7 +37211,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + 4P : @@ -36691,7 +37236,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36719,7 +37266,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + 5P : @@ -36742,7 +37291,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36770,7 +37321,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36793,7 +37346,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36821,7 +37376,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36844,7 +37401,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36872,7 +37431,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36895,7 +37456,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36923,7 +37486,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36946,7 +37511,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36974,7 +37541,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -36997,7 +37566,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -37025,7 +37596,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -37033,7 +37606,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA OK - + {198, 192} @@ -37045,7 +37618,9 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + @@ -37073,20 +37648,27 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + YES + {{40, 80}, {198, 192}} {{0, 0}, {1024, 768}} - + + YES + - + - + + YES + - + + YES 0 @@ -37096,70 +37678,78 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1695 - + + YES - + AutoFire 166 - + + YES - + Controllers 1338 - + + YES - + Connect 1285 - + + YES - + CFDrawer 1452 - + + YES - + RecordSMV 1595 - + + YES - + GameWindow 1677 - + + YES - + CIFilter 573 - + + YES @@ -37169,166 +37759,174 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + MenuBar 845 - + + YES - + RomInfo 884 - + + YES - + CheatFinder 950 - + + YES - + CFAddEntry 1904 - + + YES - + MultiCart 934 - + + YES - + Keyboard 1529 - + + YES - + PlaySMV 1599 - + + YES - + ExtraOptions - - 1401 - - - - - - MusicBox - 264 - + + YES - + Preferences 1815 - + + YES - + SoundEffect 1837 - + + YES - + CheatEntry 697 - + + YES - + About 1495 - + + YES - + QTMovie 1105 - + + YES - + OpenROM 1335 - + + YES - + ClientList 1329 - + + YES - + PlayerList 1696 - + + YES - + 167 - + + YES @@ -37340,13 +37938,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1328 - + + YES @@ -37354,7 +37953,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -37365,104 +37964,117 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1466 - + + YES - + 1596 - + + YES - + 1678 - + + YES - + 631 - + + YES - + 593 - + + YES - + 685 - + + YES - + 599 - + + YES - + 1895 - + + YES - + 644 - + + YES - + 581 - + + YES - + 586 - + + YES - + 1365 - + + YES - + 846 - + + YES @@ -37498,23 +38110,25 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 885 - + + YES - + 951 - + + YES @@ -37525,13 +38139,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1905 - + + YES @@ -37545,33 +38160,36 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 933 - + + YES - + 1519 - + + YES - + 1598 - + + YES @@ -37580,81 +38198,74 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + - - 1407 - - - - - - - - - - - - 265 - + + YES - + 1816 - + + YES - + 1838 - + + YES - + 698 - + + YES - + 1498 - + + YES - + 1106 - + + YES - + 1341 - + + YES @@ -37683,13 +38294,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1333 - + + YES @@ -37701,16 +38313,17 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1697 - + + YES - + @@ -37721,7 +38334,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1851 - + + YES @@ -37734,7 +38348,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -37745,7 +38359,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 544 - + + YES @@ -37763,13 +38378,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 504 - + + YES @@ -37782,13 +38398,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1864 - + + YES @@ -37801,13 +38418,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 251 - + + YES @@ -37820,13 +38438,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 515 - + + YES @@ -37839,13 +38458,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1877 - + + YES @@ -37858,13 +38478,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 539 - + + YES @@ -37877,13 +38498,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 495 - + + YES @@ -37896,7 +38518,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -37937,7 +38559,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1636 - + + YES @@ -37947,7 +38570,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -37968,65 +38591,71 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 627 - + + YES - + 575 - + + YES - + 678 - + + YES - + 600 - + + YES - + 1896 - + + YES - + 638 - + + YES @@ -38044,13 +38673,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 567 - + + YES @@ -38059,13 +38689,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 568 - + + YES @@ -38073,16 +38704,17 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1366 - + + YES - + @@ -38263,7 +38895,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1587 - + + YES @@ -38279,17 +38912,18 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1588 - + + YES - + @@ -38360,9 +38994,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1948 - + + YES - + @@ -38388,9 +39023,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1950 - + + YES - + @@ -38446,10 +39082,11 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1637 - + + YES - + @@ -38460,9 +39097,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1629 - + + YES - + @@ -38495,86 +39133,29 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - - 1428 - - - - - 1537 - - - - - 1826 - - - - - - - - - - - - - - - - - - - - - - - - 1424 - - - - - 1591 - - - - - 1411 - - - - - 1825 - - - - - - - - 266 - + + YES - + 1824 - + + YES - + @@ -38590,12 +39171,13 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1995 - + + YES - + @@ -38626,19 +39208,21 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1638 - + + YES - + 1635 - + + YES @@ -38647,7 +39231,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -39488,9 +40072,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 687 - + + YES - + @@ -39521,9 +40106,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 611 - + + YES - + @@ -39789,17 +40375,19 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1586 - + + YES - + 1569 - + + YES - + @@ -39865,113 +40453,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1626 - + + YES - + - - 1426 - - - - - 1412 - - - - - 1429 - - - - - 1402 - - - - - 1413 - - - - - 1425 - - - - - 1422 - - - - - 1427 - - - - - 1410 - - - - - 1409 - - - - - 1417 - - - - - 1437 - - - - - 1416 - - - - - 1420 - - - - - 1408 - - - - - 1419 - - - - - 1415 - - - - - 1406 - - - - - 1430 - - - - - 1423 - - - 1819 @@ -39980,9 +40469,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1820 - + + YES - + @@ -40013,9 +40503,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1509 - + + YES - + @@ -40026,17 +40517,19 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1156 - + + YES - + 1149 - + + YES - + @@ -40052,9 +40545,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1165 - + + YES - + @@ -40065,9 +40559,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1152 - + + YES - + @@ -40078,19 +40573,21 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 688 - + + YES - + 612 - + + YES @@ -40099,31 +40596,33 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1578 - + + YES - + 1572 - + + YES - + @@ -40144,69 +40643,75 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1821 - + + YES - + 1510 - + + YES - + 1143 - + + YES - + 1167 - + + YES - + 1153 - + + YES - + 1161 - + + YES - + @@ -40477,38 +40982,42 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 2301 - + + YES - + 1756 - + + YES - + 1770 - + + YES - + 1757 - + + YES @@ -40521,7 +41030,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -40532,7 +41041,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1801 - + + YES @@ -40545,13 +41055,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1788 - + + YES @@ -40564,13 +41075,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1775 - + + YES @@ -40583,7 +41095,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -40844,28 +41356,31 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 2302 - + + YES - + 1698 - + + YES - + 1712 - + + YES @@ -40878,23 +41393,25 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1751 - + + YES - + 1699 - + + YES @@ -40907,13 +41424,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1738 - + + YES @@ -40926,13 +41444,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + 1725 - + + YES @@ -40945,7 +41464,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -41211,15 +41730,17 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 2303 - + + YES - + 267 - + + YES @@ -41240,7 +41761,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -41326,9 +41847,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 279 - + + YES - + @@ -41349,7 +41871,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 280 - + + YES @@ -41369,7 +41892,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -41470,15 +41993,17 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 2304 - + + YES - + 268 - + + YES @@ -41497,7 +42022,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -41513,9 +42038,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 2147 - + + YES - + @@ -41536,9 +42062,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 303 - + + YES - + @@ -41589,9 +42116,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 2071 - + + YES - + @@ -41602,7 +42130,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 2072 - + + YES @@ -41613,7 +42142,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -41669,7 +42198,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 299 - + + YES @@ -41679,7 +42209,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -41730,14 +42260,15 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 2148 - + + YES - + @@ -41773,22 +42304,24 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 2305 - + + YES - + 269 - + + YES - + @@ -41814,9 +42347,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 314 - + + YES - + @@ -41827,7 +42361,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 315 - + + YES @@ -41835,7 +42370,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -41876,15 +42411,17 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 2306 - + + YES - + 397 - + + YES @@ -41896,7 +42433,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -41907,9 +42444,10 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1827 - + + YES - + @@ -41960,7 +42498,8 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 1828 - + + YES @@ -41968,7 +42507,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -42009,15 +42548,17 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA 2307 - + + YES - + 881 - + + YES @@ -42029,7 +42570,7 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + @@ -42087,15 +42628,36 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA - + + + + YES + + YES + 1837.windowTemplate.hasMinSize + 1837.windowTemplate.minSize + + + YES + + {555, 272} + + + + YES + + + YES + - - - {555, 272} - - - + + YES + + + YES + + 2307 @@ -42104,10 +42666,14 @@ IGhlbHAgb24gU25lczl4LgpOaW50ZW5kbyBpcyBhIHRyYWRlIG1hcmsuA IBCarbonFramework com.apple.InterfaceBuilder.CarbonPlugin.macosx - + + + + com.apple.InterfaceBuilder.CarbonPlugin.InterfaceBuilder3 + YES - ../snes9x.xcodeproj + ../cocoatest.xcodeproj 3 diff --git a/macosx/English.lproj/musicbox.xib b/macosx/English.lproj/musicbox.xib new file mode 100644 index 00000000..f955ffcb --- /dev/null +++ b/macosx/English.lproj/musicbox.xib @@ -0,0 +1,2171 @@ + + + + 1040 + 10J869 + 851 + 1038.35 + 461.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 851 + + + YES + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + YES + + YES + + + YES + + + + YES + + MusicBoxController + + + FirstResponder + + + NSApplication + + + 7 + 2 + {{100, 100}, {352, 242}} + 1685586944 + Music Box + NSWindow + + {352, 242} + {352, 61} + + + 256 + + YES + + + 268 + + YES + + YES + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple PNG pasteboard type + NSFilenamesPboardType + NeXT Encapsulated PostScript v1.2 pasteboard type + NeXT TIFF v4.0 pasteboard type + + + {{30, 37}, {262, 142}} + + + YES + + 130560 + 33554432 + + NSImage + musicbox_indicator + + 0 + 2 + 0 + NO + + YES + + + + 268 + {{302, 158}, {30, 22}} + + + YES + + 67239424 + 134217728 + + + LucidaGrande + 13 + 1044 + + + 918831359 + 34 + + NSImage + musicbox_pause + + + + 400 + 75 + + + + + 268 + {{302, 134}, {30, 22}} + + + YES + + 67239424 + 134217728 + + + + -2033958657 + 34 + + NSImage + musicbox_rewind + + + + 400 + 75 + + + + + 268 + {{302, 110}, {30, 22}} + + + YES + + 67239424 + 134217728 + + + + -2033958657 + 34 + + NSImage + musicbox_effect + + + + 400 + 75 + + + + + 268 + {{36, 43}, {250, 130}} + + + MusicBoxIndicatorView + + + + 268 + {{41, 19}, {12, 14}} + + + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{111, 19}, {12, 14}} + + + 5 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{55, 19}, {12, 14}} + + + 1 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{69, 19}, {12, 14}} + + + 2 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{83, 19}, {12, 14}} + + + 3 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{97, 19}, {12, 14}} + + + 4 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{139, 19}, {12, 14}} + + + 7 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{125, 19}, {12, 14}} + + + 6 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{171, 19}, {12, 14}} + + + 8 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{241, 19}, {12, 14}} + + + 13 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{185, 19}, {12, 14}} + + + 9 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{199, 19}, {12, 14}} + + + 10 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{213, 19}, {12, 14}} + + + 11 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{227, 19}, {12, 14}} + + + 12 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{269, 19}, {12, 14}} + + + 15 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{255, 19}, {12, 14}} + + + 14 + YES + + 67239424 + 134217728 + + + + 918831359 + 34 + + + 400 + 75 + + + + + 268 + {{307, 198}, {29, 26}} + + + YES + + -2080244224 + 134217728 + + + + 918831359 + 38 + + + 400 + 75 + + + + + 268 + + YES + + YES + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple PNG pasteboard type + NSFilenamesPboardType + NeXT Encapsulated PostScript v1.2 pasteboard type + NeXT TIFF v4.0 pasteboard type + + + {{153, 18}, {16, 16}} + + + YES + + 130560 + 33554432 + + NSImage + musicbox_ledoff + + 0 + 0 + 0 + NO + + YES + + + + 268 + {{17, 203}, {58, 17}} + + + YES + + 67239488 + 272635904 + Playing : + + + YES + 1 + + 6 + System + controlColor + + 3 + MC42NjY2NjY2ODY1AA + + + + 6 + System + controlTextColor + + 3 + MAA + + + + + + + 268 + {{77, 203}, {218, 17}} + + + YES + + 67239488 + 272635904 + Game Title + + + YES + 1 + + + + + + {352, 242} + + + + {{0, 0}, {1440, 878}} + {352, 83} + {352, 264} + + + + + + YES + + + disclosure + + + + 93 + + + + rewind + + + + 95 + + + + gametitle + + + + 113 + + + + indicator + + + + 114 + + + + led + + + + 115 + + + + window + + + + 116 + + + + handlePauseButton: + + + + 123 + + + + handleRewindButton: + + + + 124 + + + + handleEffectButton: + + + + 125 + + + + handleDisclosureButton: + + + + 126 + + + + handleChannelButton: + + + + 127 + + + + handleChannelButton: + + + + 129 + + + + handleChannelButton: + + + + 130 + + + + handleChannelButton: + + + + 131 + + + + handleChannelButton: + + + + 132 + + + + handleChannelButton: + + + + 133 + + + + handleChannelButton: + + + + 134 + + + + handleChannelButton: + + + + 135 + + + + handleChannelButton: + + + + 136 + + + + handleChannelButton: + + + + 137 + + + + handleChannelButton: + + + + 138 + + + + handleChannelButton: + + + + 139 + + + + handleChannelButton: + + + + 140 + + + + handleChannelButton: + + + + 141 + + + + handleChannelButton: + + + + 142 + + + + handleChannelButton: + + + + 143 + + + + delegate + + + + 146 + + + + + YES + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 2 + + + YES + + + + + + 3 + + + YES + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + YES + + + + + 14 + + + YES + + + + + + 15 + + + + + 26 + + + YES + + + + + + 27 + + + + + 28 + + + YES + + + + + + 29 + + + + + 30 + + + YES + + + + + + 31 + + + + + 32 + + + YES + + + + + + 33 + + + + + 34 + + + YES + + + + + + 35 + + + + + 36 + + + YES + + + + + + 37 + + + + + 38 + + + YES + + + + + + 39 + + + + + 40 + + + YES + + + + + + 41 + + + YES + + + + + + 42 + + + YES + + + + + + 43 + + + YES + + + + + + 44 + + + YES + + + + + + 45 + + + YES + + + + + + 46 + + + YES + + + + + + 47 + + + YES + + + + + + 48 + + + + + 49 + + + + + 50 + + + + + 51 + + + + + 52 + + + + + 53 + + + + + 54 + + + + + 55 + + + + + 62 + + + YES + + + + + + 63 + + + + + 64 + + + YES + + + + + + 65 + + + + + 66 + + + YES + + + + + + 67 + + + + + 68 + + + YES + + + + + + 69 + + + + + 70 + + + YES + + + + + + 71 + + + + + 72 + + + YES + + + + + + 73 + + + + + 6 + + + YES + + + + + + 7 + + + + + 120 + + + YES + + + + + + 121 + + + + + + + YES + + YES + -1.IBPluginDependency + -2.IBPluginDependency + -3.IBPluginDependency + 1.IBEditorWindowLastContentRect + 1.IBPluginDependency + 1.IBViewBoundsToFrameTransform + 1.WindowOrigin + 1.editorWindowContentRectSynchronizationRect + 120.IBPluginDependency + 120.IBViewBoundsToFrameTransform + 120.IBViewIntegration.shadowColor + 121.IBPluginDependency + 14.IBPluginDependency + 14.IBViewBoundsToFrameTransform + 15.IBPluginDependency + 2.IBEditorWindowLastContentRect + 2.IBPluginDependency + 2.IBWindowTemplateEditedContentRect + 2.NSWindowTemplate.visibleAtLaunch + 2.windowTemplate.hasMaxSize + 2.windowTemplate.hasMinSize + 2.windowTemplate.maxSize + 2.windowTemplate.minSize + 26.IBPluginDependency + 26.IBViewBoundsToFrameTransform + 27.IBPluginDependency + 28.IBPluginDependency + 28.IBViewBoundsToFrameTransform + 29.IBPluginDependency + 3.IBPluginDependency + 30.IBPluginDependency + 30.IBViewBoundsToFrameTransform + 31.IBPluginDependency + 32.IBPluginDependency + 32.IBViewBoundsToFrameTransform + 33.IBPluginDependency + 34.IBPluginDependency + 34.IBViewBoundsToFrameTransform + 35.IBPluginDependency + 36.IBPluginDependency + 36.IBViewBoundsToFrameTransform + 37.IBPluginDependency + 38.IBPluginDependency + 38.IBViewBoundsToFrameTransform + 39.IBPluginDependency + 40.IBPluginDependency + 40.IBViewBoundsToFrameTransform + 41.IBPluginDependency + 41.IBViewBoundsToFrameTransform + 42.IBPluginDependency + 42.IBViewBoundsToFrameTransform + 43.IBPluginDependency + 43.IBViewBoundsToFrameTransform + 44.IBPluginDependency + 44.IBViewBoundsToFrameTransform + 45.IBPluginDependency + 45.IBViewBoundsToFrameTransform + 46.IBPluginDependency + 46.IBViewBoundsToFrameTransform + 47.IBPluginDependency + 47.IBViewBoundsToFrameTransform + 48.IBPluginDependency + 49.IBPluginDependency + 50.IBPluginDependency + 51.IBPluginDependency + 52.IBPluginDependency + 53.IBPluginDependency + 54.IBPluginDependency + 55.IBPluginDependency + 6.IBPluginDependency + 6.IBViewBoundsToFrameTransform + 62.IBPluginDependency + 62.IBViewBoundsToFrameTransform + 63.IBPluginDependency + 64.IBPluginDependency + 64.IBViewBoundsToFrameTransform + 65.IBPluginDependency + 66.IBPluginDependency + 66.IBViewBoundsToFrameTransform + 67.IBPluginDependency + 68.IBPluginDependency + 68.IBViewBoundsToFrameTransform + 69.IBPluginDependency + 7.IBPluginDependency + 70.IBPluginDependency + 70.IBViewBoundsToFrameTransform + 71.IBPluginDependency + 72.IBPluginDependency + 72.IBViewBoundsToFrameTransform + 73.IBPluginDependency + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{0, 573}, {480, 272}} + com.apple.InterfaceBuilder.CocoaPlugin + + AUIQAABCMAAAA + + {628, 654} + {{357, 416}, {480, 272}} + com.apple.InterfaceBuilder.CocoaPlugin + + AUOaAAAAAAAAA + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCCAAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + {{8, 606}, {352, 242}} + com.apple.InterfaceBuilder.CocoaPlugin + {{8, 606}, {352, 242}} + + + + {352, 242} + {352, 61} + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABC0AAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCQAAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCeAAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCmAAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCtAAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDBAAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABC7AAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDJQAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDawAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDMwAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDQQAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDTwAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDXQAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDg4AAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDeQAAwbgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDlwAAwy0AAA + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDlwAAw1QAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + AUMZAABBkAAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBiAAAw1oAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDlwAAwx4AAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDlwAAwwAAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABCmgAAw1oAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + + + YES + + + YES + + + + + YES + + + YES + + + + 150 + + + + YES + + MusicBoxController + NSObject + + YES + + YES + handleChannelButton: + handleDisclosureButton: + handleEffectButton: + handlePauseButton: + handleRewindButton: + + + YES + id + id + id + id + id + + + + YES + + YES + handleChannelButton: + handleDisclosureButton: + handleEffectButton: + handlePauseButton: + handleRewindButton: + + + YES + + handleChannelButton: + id + + + handleDisclosureButton: + id + + + handleEffectButton: + id + + + handlePauseButton: + id + + + handleRewindButton: + id + + + + + YES + + YES + disclosure + gametitle + indicator + led + rewind + window + + + YES + id + id + id + id + id + id + + + + YES + + YES + disclosure + gametitle + indicator + led + rewind + window + + + YES + + disclosure + id + + + gametitle + id + + + indicator + id + + + led + id + + + rewind + id + + + window + id + + + + + IBProjectSource + mac-musicbox.h + + + + MusicBoxController + NSObject + + IBUserSource + + + + + MusicBoxIndicatorView + NSView + + + + + YES + + NSActionCell + NSCell + + IBFrameworkSource + AppKit.framework/Headers/NSActionCell.h + + + + NSApplication + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSApplication.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSApplicationScripting.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSColorPanel.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSHelpManager.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSPageLayout.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSUserInterfaceItemSearching.h + + + + NSButton + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSButton.h + + + + NSButtonCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSButtonCell.h + + + + NSCell + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSCell.h + + + + NSControl + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSControl.h + + + + NSFormatter + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFormatter.h + + + + NSImageCell + NSCell + + IBFrameworkSource + AppKit.framework/Headers/NSImageCell.h + + + + NSImageView + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSImageView.h + + + + NSMenu + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSMenu.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSAccessibility.h + + + + NSObject + + + + NSObject + + + + NSObject + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSDictionaryController.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSDragging.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSFontManager.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSFontPanel.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSKeyValueBinding.h + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSNibLoading.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSOutlineView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSPasteboard.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSSavePanel.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTableView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSToolbarItem.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSView.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSClassDescription.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSError.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFileManager.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueObserving.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyedArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObject.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObjectScripting.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSPortCoder.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSRunLoop.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptClassDescription.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptObjectSpecifiers.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptWhoseTests.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSThread.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURL.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLConnection.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLDownload.h + + + + NSObject + + IBFrameworkSource + QuartzCore.framework/Headers/CAAnimation.h + + + + NSObject + + IBFrameworkSource + QuartzCore.framework/Headers/CALayer.h + + + + NSObject + + IBFrameworkSource + QuartzCore.framework/Headers/CIImageProvider.h + + + + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSInterfaceStyle.h + + + + NSResponder + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSResponder.h + + + + NSTextField + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSTextField.h + + + + NSTextFieldCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSTextFieldCell.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSClipView.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSMenuItem.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSRulerView.h + + + + NSView + NSResponder + + + + NSWindow + + IBFrameworkSource + AppKit.framework/Headers/NSDrawer.h + + + + NSWindow + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSWindow.h + + + + NSWindow + + IBFrameworkSource + AppKit.framework/Headers/NSWindowScripting.h + + + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + ../cocoatest.xcodeproj + 3 + + YES + + YES + musicbox_effect + musicbox_indicator + musicbox_ledoff + musicbox_pause + musicbox_rewind + + + YES + {16, 16} + {262, 142} + {16, 16} + {16, 16} + {16, 16} + + + + diff --git a/macosx/docs/FAQ.rtf b/macosx/docs/FAQ.rtf index bc475465..b8154b44 100644 --- a/macosx/docs/FAQ.rtf +++ b/macosx/docs/FAQ.rtf @@ -1,7 +1,7 @@ -{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf250 +{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf350 {\fonttbl\f0\fnil\fcharset0 LucidaGrande;} {\colortbl;\red255\green255\blue255;\red153\green102\blue51;\red0\green0\blue255;} -\paperw11900\paperh16840\margl1440\margr1440\vieww11500\viewh12780\viewkind0 +\paperw11900\paperh16840\margl1440\margr1440\vieww11500\viewh12340\viewkind0 \pard\tx285\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural \f0\fs24 \cf0 \ @@ -16,9 +16,6 @@ \b0\fs24 \cf0 \ \ \pard\tx285\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural -\cf3 Files created by Snes9x\cf0 \ - These files are compatible, except for the extension of the snapshot file. The only one difference is that the Mac port puts the thumbnail screenshot into the resource fork of .frz and .smv files, but the resource fork is usually deleted or separated when you send these files to your friends who don't use Mac.\ -\ \cf3 Key mapping\cf0 \ The default settings of key mapping are different. For example, the A-button is the command key on Mac, while it's the D key in Windows.\ \ diff --git a/macosx/icons.png b/macosx/icons.png index 0fb973bcdcc1a88277ad2550de59698aacbf35d1..11beac8a876615308c7ce617b4c11966942f6f43 100644 GIT binary patch literal 5074 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 literal 6598 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 A>;M1& diff --git a/macosx/libz_u.a b/macosx/libz_u.a index 82761c5fce7eddd209432a8cf38778dd45451967..6bd032ef625232e472ee1cdd07abee6ee6ddbc25 100644 GIT binary patch literal 241192 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

    {cXu7m9D*kCqIH@1pd1-l+80 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

    wlWm#0xYAH@BCu852E z3*;RM+=_h{CKxUzA44i!V<YYdsMY#penUrsfi;fo$T-sz7dskUNOlUGYCJ5sst z#b3@Da(Euip0W4(e}zXYufH&jN5`a{k&VfiT;MdURYK9xwJJNxq0l~cBJ}WDmHdV% zgl-@=>%R068%QIO0c!bZ&LI$ODAl=d8q zkNBI=-5(N|zqfHbIGLoxSgxIvPft16(<2Bfat_FzYb&{04)B_hwjRzNsYe@&$xTdi8>v-I z$w9GY(O-@jMqWTta`}hQoL&RFYK~9|;{-fBbKg@XOtbgLTnQhB18MeN*FU4vEHt8x zC1-9{T46Yx*;V6lzN>}_iLySXBr<}h^F&8cQ)&=#XHae@wr|)%PNE(EBLl@br4oSN8^Tx`W?kP ziuJcd?sq$pH~dafH&SGnJ~Bd_d@o1}`LhEhp zY5HXlfmyfk4Gi8+7ZpzAC!!0|(@$O?X?L|F8o(s@M!Abdx#^*g2p=5fE*#}980F5#eL1vw z`LV}nM0&ZS+#GN0S(-*4>*gcETe!c$f|Zxv+rE+C58{3&E&e{-_@%;s$+CJToUYxn zE^ssM6VlwUopWe0yMaxOsR88+`C%Wm%-J&?&k+0UN`1ig2{;7siwo58!c zZ+~vu`|Py$3iZw(o>D;KtH;}eU(Jp&*(*Q1IbM8HThqi*E4%aG-)8yY?eOK5Y1`q; z`AJT*9lqj1AxrkddmG%YSLA zOJoR@Za6AAM;H?4M2}~V%eXZ+m%(6+TqA_aC5EBg5+;{1<{TmSOM~9;dY-2g=J%W5 z`^Wovn>p5g_OteS)?RzY1$XAn+h1GFOpPb~s%eYA4&Hi110p^gq7flOof>{)jy8vkG{g z)YgQ16S!Dm7tW^PK$QTTG|SBj3hiE*hxa^a9zg%=8fuDqu6ouq(rKscX*85HUpE?F?W zMLH~J9CJj_r;6Wd1)feHc|ZRo;JW9zk$g3Gpc(ZKekoF@2(ySkK87&|&t#oAW#*u8 zk(OFuL@@%~x)mv6xR?A1JvC`q124srQB=2aiK$BNgxilOVYnBjnQZmirx=*XbjuOtFVp=lwbfRRH>@&@q|g9C##PQ7H;53@2bh~u>}rsP zDi>lYfI5yav5*D%F)TqmO$Cv}5ELJeD>Copa9m*`0)G;Gff9d7NXkJh<$~-I+4I|F}}5@;^fQY{qn^gEbToqs_r!X`mI3lU7D1`SOPHP?qr>&*IP>`7D7UcJkUSieX zK$(s%mU4C*G|DAC?EMG)!FdZh6#(s<%gFkNWK zjHmdI1=Q?`5zK_~4&p(cKOb`J=o<5540{j%z4n)yGFbZB^Tyt5Q+&D7*4(UDs%?1A z`G1A-{hW#eH#b4bwI!_i45d50wsawBIZBqqXc&pby>(0145h0MWD{*sakp}%T9N(V zwt`ZjH$nb z@sDBs6HKu;&;MPUXeT#pMPCooR>UOZ=f(QPxcEsJzZljp!3Dc4{SsI|G>tM{6hw$^ zK3M1ng~lD$T*G*~ZrWhxA(9$RfGA`U_6QHvOkqWl(4LU}$2oXpaG)^VLCPuPd1ipT zt)?kgK6t^MiAQFXJ0FqygMXqt+A@7%b|}+0fD$dvH0T#LI{f!8f)7~aWTR34t1iMS zjQajl7lF!vlRZg+?;ezMNrE}XaAN~<2h5LX;pJNV7=PPr|0@l*O|`fH}UPs|JGmXf^YD`i2YZ>SVBwY{zHF>Y#Y}m z@`AX?p$9WB(MvM+u9N%H8v7}<|4b3J_ekl)CQGz$#j<%?Dp?$d*;Z|j=|`@d-)mL5 z{H9M6vzl_+T4%v3eY8mu6VlCJk@yfkhbdqmY9%fbu_Q^xecX43t^sRN9f}hOZG9OF zR2O^gTPe;V2TGCB3oB%*E0({TuZFRVFl=jzTtC9RbPX_;=I&V-LJdH@Rct~u+A{gaI|Z7Z^fE*gTLIRfee za09gJid0VI%k;6b9;Wz6lgq*#lJ z6^54oGP%>cJ5c)4EjCn`lP%Q-wl}p2aNx}Xd zg^jfo8h;?cjvSgyx4Di4e?Yi?k%$GX;yPGIKft=mb#`Prwhq?p53q6sERqLTIyJ?+ zns&_8t0W5qR5zd=qJpeJ9SYPr_wtZ0>>#9-xL9Aaoxml2NQst!4$;PD!(56z#(6Zb zt#CIzVS~21y+=OFr^KosN{LNu^b)%YDaD+lMEeMqxu^jRlhMb6Mii+}7Wq0L0>dmh z51e>_PJ4}R75N77an?LQ76@O$1799^@xX@%F+51%0q+j@2QNS(I4M#N;xLsX2%!JK zD1!}-c)_(P$831*4Z|(3sE^b{E6CvNMZ7*hKIphIf_k&QoH((gpQ90g-Q75Apu)Az zcu#hyKx=SEv@eTQ$?0Aqb%H|AuSceH3DhI?ifX(KPEV^&QR4=Pkm~eTsStbmt0+#~ zY6(7-s`o4Qv7EXq{Z*Vy_ZPmE{whJHqm_B-uZGBUl?Z@(P$qXIaZtr_BuS~*CEKHn zpzE-DBLn1eqedNNA@W68{0ZMb__rnz0!py(vzmJ4)KuuTKSB&(N@{opH0lq$q%SA~ zsH`A}VYAmeM?B|MO;-1rk7Y8j@J!UKS3FJ#MB z3KTqBbJ^q1Hu1$Xoq;I~LL`RIC=8kus8|VT^0Y z&X6#noHQ!zM{f(cou23n>41WP`aL@9c&0oEu8=|S2>BW)mb^jmolfhh*P0-aUM+9T z^)%@-a2^ap92{3+%qv_#P(=m<2{CdA0FfZ=(ct&|Q=FF*_)_B;;MVtV@#7KB0fH~k z(4#x`O3@9hJ$1jHYlrjS;W`E{?W;FX^BO;?EaMZDtw(-;^%*Y5Y1Xh53R^WijVkTS zYPEZ&1xCM0R*_t-u&!1l48&`?^B~by@cgM;a_fyTS|EkNmegP{5{!WYjhVrby*ipD zr=Kk2ngp4rA&|y`4MCR=o@&nJDNama6fr1Cyoa12ru!&`4?FKPl80Bc<_-sV*+57E z?N=|QfWQ4uWDwH9iK^9kb(=&nJFj|g>0!RaQ|PvU~| zfntZdgX`3N4Lp(wI(7YtgdzZ0W6X{HprRl9?gHSm!+lst@*I6QgH9IUM_9Th)E_mk z4nd#Z$rpZP;$D_fjt>e5+ff(-0=lMzfIh4EB4JSl7O)1rBU6iI%VW(UEE-zLbcXu0 zv{lvW(FM0!=mVOHdXqqY1}cgTb*tLA6%yf`52PEuoB_l=J&5GSw#IGL3_?nZ+74hg z<|-lirot$ZZwYx~72k4C6%YB&%NWq-L!A*ih+nnQ6#vwxH-@7p)BS*N3N(!!5U#Cn z5Ge{Amo-3v_`-x3t9cRDM$bi-J`%mPUbHNOJCY`m8)b>=ixOjjb|@~?PHWoP5aLC9 z~L$=9M;fYaL&UhN(~j57KNR)hY1nG!Hd@|#OBTliSscg z#2Q8wj>*r-4m%sfiWspXfhvC2DykA(%`)M8|IW(Cr5^rj_3HtyGNB)2q z?yv=)2cfaGsCPcdqo07Uvt#kudh*(X&(`Tb)}8Mm ze~wycU+I1uoM7T*!uJxJA0pP7hiHGvH|PNW7&jxrD&hLCR^QaVe51Z5+Y=s;m>Yg&e`?&0@47_nZj>|Mgv&tZ1Rg8Dq*{W)FOIDd2 zQmsrVQgXd)Xc`T`feuP(UFN*4?k9M;Wg)Z+8%y1T7|!D>G5m(!9%wBb2yTh^>=JBe zGX~&^)D3O2sY_}MW>PX;DT?oLKHylCExb*JOc^let;km-I!OP>f*+8IbM8LsRH`M; z$15&?l0B0oAqN*{q|>={4leFb@8RWnz%d zI5mrZw<7tRizPwxJxRhYw9+j*QsowCK; zLY)N#OeI%KL!k1Gb-zd*Kw|62?Wlwg9hVCRvPl1Lm0NeW3uq7vN+8el9?{0AFKlNB9o~m@B|I0Xhp% zEWp1oQ%U%T1-L5&?cCz*U%yp!6vMj0GgT!B{&Qgfhb4S_R_lh4{B{#MAp9 zv6i%(@ScTlaXI3NPP*_uMSz~bbE|{*8e?Qi{|J!q&kN661-MXv8Fuy4k-wYLt%f(4 z;Cun536SnLr1-1gh2T&DItkE3fY;!kqxX9RxJZEU0vss7_5!pL;2-c#QM!`?Tq{7e z0Q(D&<~9lM1w04@&kC@!0BPGJ#b1Y$i6A+l2>u{ItpG;}FhGFz0_+A)2H`)(@SaOA zz_%EJ((_pXt`=Z#0Y1Y}k=_>ykcOJ{T#3OD!CeBJD!}^~FHrm(0n(Y@^lUD`PUs$U z&wx~p&(Sxe=hFh*C_t?Modj3{J3#nBW}@}9CXe(BXO@dTeec;;uovb6ybBznUo605 z0^BOVwE|ozz^??Dg0l|merE`tX-#6ycUPe^093Oj0vs#AOD25$Y5^t*a2c212mCtX2NNdhiXUaOJ$|nEb;1v(LIiUqYKI@SFHZPTSK}3U zqqV=Z-qRG2R+wx@Jk~99VF&0Kxo#*v8TBX-?`R!xGRkJK5Z;b3eUsuJLWZ-1Fr6nt z{8RjP#QO+g2MA%L5Ke~*3^Wd>m*n1 zTfj$hE=&XO6++mSZx8r*#H|wIeSvHvgx839xf30%#TGRJtXb0>QYU=2PWU=dYjEh8 z*_tq0Cp@A~_->srUGH0if2&S-U7hgdI`jkU#BZq+POB59o_!6?$92N-b;5`0gg>bh z-dQKyxlY)$PB^~~KPT#hsb184msU#Egbj6YitB_Q)(I!p!FQ|^-oxSGANm^`KLdxi zCr713O`1Xvn#A~6HO@(opOKn^%R?xT5=$qaQz$kmjzG+Kx>bdXNJ&Xbp};s*Y*b2Y ziV#kk!X=DTX{IF5+vF6S;m##Z*6_puxzEKUCC4TbN)1fG3GnnhB{mi-)Z=HUV^u1G z;EGGYb2nowzBOq|JWg;I&ULRj$$g4Cg*(wbjwcus%bid!8cXrG7=<8`CZ))Sh4dfM z)!iK@xYs|$ek_ruOw}G>KXpoCO$LOxnuF)#1oq=<-oF!r@Zmv%VB`3F;OjUqo;!D* zJ2D@K(^Gc&GwOvTHN>aX5RDV$7{?1w;DKAQAIB9^oxBJK)(fO~93ek(<5XO^#MOuv zvWp*&qK=6LTS+)pe;nP9GnT*ChGagLli~k-j=e{B4|go-$6sUvfsvY}`<%-C->%>H zh5@&Q{U8Vv_dl=S?*@ZU>0v5G!DuANUg9C00R8>9wfEhTzBlj!(8z#H?O)w6XuNmk zZGc~xUoEOA9WgU3$+eb9)Wh8;n(P`iG=rW_g~j(8%Q|4)A^(D~SVe*Iv* z`=K#*wBuJKVaDR!0907d5@L@jh->V09E#tG7LHd3;vQSv+SyE7-Jg3N#XZY17JwDp zkL*XDJzH+PDBLhCXG82+zkrWN`+htcj)@P6&}j!X*A~mMSh;#~5q}Xjf3hKTR$T!pNBJW)7;mp3)aI1K_OU zW}Ue8rfD>O599A|#{4s_p+CneTi|Fu^{-gP$}et)OCsYH=r<3zb zfJ0Y3cZY8SC$@)%LDcqiRJR9UJNQw-o;{G=xkGM!LD5+&_yNhetbO@<=H2rggnb5N$}N@%zY)}cGaDBO*=fgV9b?>$j%?lf7a_N$t_5a8p}5dG zN4^#!niQI}S<78BoK8rBKZxb-Yrn*XIG|ddWw~QCP9PGu&XNhC8)-R!ZYJ`glolz- zs=$}V#nUz3$`;VhOe;u8JG%uI1Zi(5wfUV8HsMxel@K;LvUo`Lo11`!|oq4)B?O1J3(__TxOIlj1@qwojxWGsk~@cNEk|;PEHwt8EhZa z4>{rz4D_C6vdMZxlJ!85MZoC@a{-eNgk{A?*g%IO{>*Fg+LA1A$2rYlDiMUGkyqzZt0W5qe^_*ne`T4i=~cB1 z`KPnLL}^yqN?Up$L1JZx_NA0=bDk-8kit&Flr7U%b7zlN3n!23kZF0r-L^#Dk`5y; zmSs$Wybx{AM`PI`A5G`lXse~Umc&EAOMFF|k7@_Vuj&nSVsOmMFb6P3_N(TqdMp^> z?S&IAFQHS%0_~YWbOD4D<5c8JLp~8R&0VO_jK3>ZN_W?XSky!e7{nCx$A$2@TYmoe zXJ$Z{ez+xM?)2hT$z5jf2x5Y=%KEwDv$%^|;DICW?^XNS|Gn3s!1(#rzV-|LAhkZk zobeB+;bQLhd`{7#gWY;xQX{u3=rvQoD5QGHaxO;-Oq+Ag_iW;hc9+R?>$o7=NtrGS zK`L3!_<#Z(2K$z-yPvlnl=PAz$bh~01lc+VW*+uXlU9KTGepkJBjqJ!gDwtw zPvMNyF{M*$PhVU|F45qi9^8YM8h5KZfz?2{aSQjf8&5@n_=h4LjI`zpUqZo1s3~Q& z+wlq;TyP*VgB8xJF?+&YL~m@udAtLt{sZf0{&0RzoBHD`JJ>{f>`u7Nnq%Sx zd&87ylcbDNN^298C=JY-VAdRW-`KH=7BB{^0*#?{-Nz$&ovNX`y-V#1wRg)5HE zruIzf&MMFfcSm08X*z>*zDt(@ZSOuAhpQ7jat1&f}D>?pto2o+J)MlA#s^J*o%3X!tI zIC0l`kwz~9aXY-!B~U6pfh9Ep--T!gw71?Oic@d>yk%g>ly1hE*8+WF{k%-r8D^fG z3(rKao|)&4FxDEapekZ~3k9U6$r=ZP@+wK{9k-a<4@K+UtXbcgkQLWD;?WjbXUztw zSYPV@Nc65^E@Ij=Hk~RV;^-zMYc|u2{C$&d)nc-a@9OnWbvfYP@qrYFnA^IlhA@iQXC) z-~`BBdP%%B$0*dPSAci5WMB~PP#FuSD;w4S+6nCk2k@7l{457E7pf_v7-?- z(TAAy3N+CSM%YvzV%jUvR1=7>L?0sQ6)4eoBW$J*G3ym*rg1~q9EP%2pt+_U!WOXG zy#g&XO|{1`@1&68lll;;#vE&p5J}c9=p{536?;Q*o3`(Bm z0G=CGGiOPVgpczJrEgIhcy=+;J}&0$d+m2`Y+#TnX%_?iUTTlJW7Aum^<%@BW3)q# zt`K7i#pfVsQfMdRQb>&J@52nB{dU2R87_gT6YJ z2Tt4$VskNUOaU9HhV2GE6R4irmeqK%!&L0R5wbm!W=tTC%nWNLK7Yfb*fB5+k8@_J z%|KK(eNdAg zpa~@$=!HJIJ@`Nm#a>(lHF1z>+d;Sw z0v{}OZqE!; z0o_&KJqZ1C*H55_<|?)Q)TTwS zq}6z;mw)XnH8#7@HCt>TiYkIi$TU!06v%aM#UEodo2qp=M+s3=#1Bva>{_H=*_{ChtLbvK>}IC?8_n@Fij}ULMDP zk@U^gxx|edYZl1nPM~7W=g1eE2GSUio8_-d{tdkD|4crDO|?Zkmci*uzV@gC)u5X7 zooqOFS04>ug|gm4#KP^JQ*Fhm*5Xt<=M+2E-%gxD3ml?YeN1@t0U&QnZl4wSHnkf9=tGT*#0Bf zL>2m`Y+4X=7uMFv$+$@jZ_tUTQN{Vy^oHxC>iyr6A)Qx76$ST-VI^VoO9%kprb8(ek*r@N z8Q6K(fWVw(9tn_#(KJUc)gtfEH|@Vy*yJ0{xq zv~~t&dJtZ@g8*c1=ZECf%tIEgX;?=)C{mNnf*S66BT~=@6hts}LM5bL$SjtM_(!lq zRL)clGRuj7Dyjn05HE(@6cV&!wWa}v(Qp&9b!?J~<2osV_2LcCJ9U?3d_hFQv00N} z0;)ZVn#5fUsjV{A$ok84Ujd=Eej;B&+0K^}Pkvs^S-x;_U80jvxQEdvo?oq0QE3^aoLS)OKRaG!9LEhtgl8(1WAxQCrsGvbevzOi zV#Y)4K29Xt{%Dp1oW!K`PSX-p+}-e=I;StCy8=~@f?py*RX-OYpE}7!)N9rPzep4eu#uCG~HCU~|GsOCH z_7eJ6&tCT6?PW88I!Hr>NP);~9)Y1$OL#+>u@+(x-W~Z+FkR_G@7YSB;gRW%QfVLy zY~PB-TrbyOEX!yLMZsb6`pMMO{gs@k`T^oz3bAG+U6`mJVA4xrq6tCRR6oG9m%>!z zkFZ2PK+;Pg(Rdk3rZ$wC z6kJWpmC-2dLuz>ac0mT44H>wiT^K+s%+sh{ARn6(-!?F3 zwJ*(5J81W1f*_pka%#t3n#y#R2=FyWs6V*VmJOeVo9}v^YSkX>s5y1P(WTWwXhQu?jVNh`vc#9EirihfSP@taf)c zXz!c&GI*^}L6A7d1gusx;WH+bCxqn0Jo0DGpifV&0^Ne_#0*xY3}DVMrBtNDu}6gl z8C+SWab<~u43kGXD#9EGbY~PnICy|7QuM|7G9~vH$`thl*JM~L^?_Iu%N%1A(=>}w zu3iwFPmypY4PW9)Zxxy`DxEYH)RO1P8$V%TjUT>mU;IQTs_N3dnw% zP!T~QoQlpL%@OdWIvmOAR(}-~4jKma0=t6dk(8ip8B2l9yr?br`BJK8gA&NW(F){o zVgd#cG}JFeyX#)fa_v3)HI;YV|JL^KN1A|5Fcryysh-3R^9ti{&dXWdUyah>&%26a zP8esBDIFfcy!1HfTrBkY(e%>z3KF9RxVH6$?To>S6_NobFb_1_Em@fkYOA#^~C6LqHH1FFrOW+-Lfm`&NLGF6jrH`4eT%=FhhC8BtCLRq@9 zfnIt$DOxi$Wqd={%S5KTO@e{0)oIGO<^I@mfRiuCAs~!dUO+&Yxp7Xj6{lH?)9jpQ zaATGkG-e4Sa|<5vWolY6SVavpa_gNxptJ2GbW-fZpz~Z!rw2uXkZ~|c4`Sq=-7#F7 zq(Y^4GM*&akrv^5J;}T~5h6t>6BryaCd(jWS7)FS^U;9{k*?eRIuK7(;kr`$3o)bp zttaAHyms>KFGmv^RJZ+&scC7!%+a{)fVlWt=7vpeRU49welG)Y&7q6*cHG(v$y}4f@&C_ZoD4O(CkFlu9*| zl#B+wJ=dT|@(p!gIyfpy_rx{H8w7%Bj=cYQt_iZ z*k>|*D)}@GzrO(9eidp$G89G)&6=h?I+L64OoG>&_G0A8i6A#wQ>gh3=eN*fM*g%y zR*AigIA*|t+`cKOF}0}61LU90nZ>#KL|}s~z76su;L$2DHiP)X zhHwIms~nDI>Z(>R(-vT11yi8+<%g#2@FAE~+5;+VVoBgSs+@( zU2BjQ+_2UjU~jT8e@@=9Xue$J$>Vke$HC`!j4Y=6U$yR#Bj2 zGO(O4l{~;*TN=B9yAr0P;HH@~Jd#pvL0jeoF)Qf`UiHIGGK0;3=0ftcl`Xa+j z0o|m@Iaj5%nWn7`_L*VkxD_uHB9ZcR0-9kqQ3@(%dWAU?X!m}}&=wK=8FtXrgc6QY zvJ1;e<#2k8Y#~`bZIu}(df7rbo*pU7D!2@kI6Ke|gO%PI z>!~9@kg@IzBt&LJ9@rBS+PN*Zt~070OL8;Kds zKj!fqX(%s!%4#2?G0>jH_0jNYPz_v8C9APx9#!;5>*Rwq9xOi(EZbv;Yx1aH8;sfQ zOf;+{?O6a6SEPjsPrfH`pWfw(gE5jBk+=-@&iou5Fvm}nbEqChAMXqYGqkp4cZD;hi5 zUOzkUKnHv#NH+HylqOnMA9jE%7Gv~)+49CvZi=f5{^fdf1Ep}g2f-=_k%bW$S`URL zhA_`fvY_;V4!!;DWEr%huPD#~R7sru0gUGn#bt7kEwE7KFvKv)lz2dXn3Q2P_RK&# ze`c5i+~9WjhL3l#Y~FY<&zvFo9D64p7c4spn$q5d=Y?kC#9?3!?A4K#rNG(;)mK7R znU@s^;2c4c2A=^Vog2o zdH^i;M~m8;%>F>T-UF?fGin>6%NKJrSVzSjgx8cEuA-?wrE)BQGM%6@tglQ4C^CHk zX`mDtbk!N2LXFd?zL9)vA1&65)HpPx+ zOiq#|7E)>~Nn#stU5^p8+;O_AaKe*`xL7;gR^0O3i*wpr5^*6kc7%4iy}0Gc7bV)8 zQZd&iPLm7Rw&D}81YuZ zs9jiJJA6#wYPeMmx*gY!H$pYmW9>#D-KE1@8unE=fNXd(1c1v%OXa!eavPllAz(p0Z#K>ZJ)Qf6UO zCZtOuG)9uWI2R;aG@m+_v#1sa24ihT-Nkv}8EQ!-BVusC%NvxFF%Qx}y4fo$7B8mt zJ2c;b!)y(N#Gm7P5@QlM4O%sA4}mOg?55Lh)tF+%3k*Mm<8FOL>~wpa_IgDNch{Kf&*g%Pk?qAS3Nt?)F$n74EgI}3sa+u0i53VF3k-Mesj(;D z8t@03Sj!D_;HhGcS7eDCgoX7E+i6CXAgIp9A&EJ3`ji0(6x0&?*} zI9-%3#5*7)5)%%E;K!HnVG}XJwiN!@-~Y7P76fLZ+Q258xwz5Z7?Ih}uA=p{#vXrb zec@zoiyyt8F0Oz*npC8G2 z7$(3+j{I}70ME7KpXam_t>-qTf!`v`@!R9MhJSkYcc}k<9cJArKaX4UaEt((32-6i z5$XNs_M-LD&b%CqkaadT!cqJjVSnq?mi6C<;`y~8H^SeE86A@6Rk$B19qnf&SlE<@ zUt=F?Eq&;UAL0q$154@%PlCHo>b}3-xDI{be+w@n;cr8j@B;<-1fC&^{}GVlqXpPh zfP0{$6fYOxRE+%TSt-EShWztG3^9n#B0zdSRe+-e=qtblmi+r&QXYS_07Iqk?~cMu@N&pm@34z>eC(Qx|{9RTS)ik92cNL8?A-($^QMieu* zXL2-{umPW>i{yYIhXvV(xk8xiz~Y)P2(6+p@-iOy+k|-9C_;PUD6K8ZWix1VdkLY} zf&Ii-PAGc2saJCS3hhP>8;bh?KtcgeFgM@HCzCBq8r-P=05T?6TJcaOL z;0zbSBH-YaNQOAt*K-$PdZxdV_|=3zL!f5Q9j#%j2|wp>c&wIn;=9!ehtvuC)Cm*u z8agg@!liY-d$UfspiY=}YjHc;u+K;^`L$8pZZF~W&{%cA_;Kp-Nr_P@*xB_iHV7Ne zVzIkTh#8bJeiHWT2~S~~#CH$=NgCSqC%hUG%WYT_o@(}})p^9_GQtxzMzs&MftsCg zHJ8kc#YVVzbprAcgKxgu&^Ke8u%mA*T`VKK9;;5le!TJ6zgM%*k7Breabvmbt+06u z5mVGjDX}p%F+k;bj*3ymrgZCy{cS1Z2oPqJYJ5EQ;f+h0l$;VfWr~nj?A?kRAFoM? zBEgMSM@6gNi9;Y>o1d|9QB%N=kms>eR7t7eZu;1%u_;rKx^q`A@9ww`Ckgv0k&Q`F z>T%c#8Ha{=EbXQQ^8bDxj(bn9ntgR#R)k%3AKOpo1icbD@Oqq&;K%-MpbZNE9zhEr z&=1vt`-6~Tr;#xd{>F|C3mg$v^TfjPKT)CH{(C2hQH`1Nf6VdrK=%bQ#5y2T`E0SgWj3}H{exl&6bj~eNwMYbSow%6! zRd~QzaK!~Taf^h$yY$5+wd_R^v5RRzB3T1oFu)2BZcZmw_+IG_|B%3MQ^DDkf4-i&2-3r>5-c5<&VzF$`X?EEP z4%=YcZJB^gen)yB>}B&f>~QP{{wB@VN;)P?R|&;$a;(aiM+kG$l?7j{0H)^ zoxGccY|lfI&F-Bwve~_Wmt-+(Ehq8pUc!lI_Z$)r70&!rj4QNnOs5XfYq=6CWF+zm z3$Bz<@(;E5CEb(~Z4nCTe^E`=Xuje3HdBa%6Q$J{PH^~Z!;a&L= zCa-!NW{v6*rro@5;ZV{V)%Y(op`bM?_g`q*zE4w7w~w+4-Taqip_KoMRnjjduah;3 zATSIa<9Mi}V+Fz!&syAg6$o!`*Xv9aNh=FEG`V zGiQxGF?%E=tYVBvhXop_A?CEE7OIR-_OJKNQY0-j)%?NyW}FKbAg^iszgROm=N_3? zOqx+!MlSoW0mL(xiGG=UG2U>K7k73%ewc}+wM(zDtQ@mYF&vjCHQ>s=x zW5OIr{q%g=KCd;$4-;R=ufF?1?wk2+SPx3wnlXMPy}0K4VRDI5TiuQc==xf76c=MS zfXs6pmvb?EY*IB=QXuQl9Z=8s7XJ!zDXD_1$y%n{gDBzK=?Kz%v_#;64e)r4wcPn? z+QEh!9Ju$JDEkc{wGxBo3HRyX9*;ld{S}y_eq0uE<7#DIIkU^rD~GDX=2QbSJ7|oos3-&8X>kT zQ<;w&*GE?Mtf5qY!XdHu7~Ao|xBVh7rc93ivE;U?kMe@#^EVj{&rQr}u%T*GP7hVq zPX9|M4_x(qmG{dZs>@w95!VCHHoSE0i#{b=esM4B&`VT4IDK&GiDps7hjX6pZs&M( z*YIza?>{Tsa4>gOu8EU0(`@X{GV9}Vqt%Z2Gn2YB3QicYrFB$6AGf$Yi~X)mHJ^M{ zoab;ZtCQ`;N+x5+S-cD!tR>>%Ub#&>fM zu`@IGy}sW1_vrp^SDHSVdH$=|;0u3`h}t>u%;20}YEj<0TkZ!g_-(j8pmh1=K9i1? ztpEGzrSlVv<3D>{me^g98NanSH}c99H%Y*stxda)4Q}xB$(ap*_nB-q=x0BZj<&W| zhvqq0pKPC#5WXuT$-(kM+`iSfqt4j8Dj$<|vdsC@tm5svHm}Pw@Olr7k z!FY050u1*=l%4%c}~C2J$D9OacOutxK)E~&j*-#M$VA<9jT1GKJ0q@rpkqh9@7tv zSA4ZA>eMINxV$yzlG=OTN*J;{)%vul((1szW+tC@>0mbOQ1AW6oU9J+{CebW7s-TO z5gV&Z3q8&j=di2FTw7xPFe{<*jE+RS#>uUcI=cYdD#tqYG{?)p6;QG2EB zZ_N(P8P#Fm^P8#LlTwv?Tih8b%}kyktNyjOd0d2*xKZ`0*hS;BqhFq{o){H)R@H3U ztp;lzoNHJbrj>*g?lSd`>JY#2MYG7_fy(jyucjvU9WbFJ``XA$WpP&5eINF|+;eDl z-sWSg4wTP6yHjbb&T+SYeDL6c!u`LxFWoitr**sKW}e0SmztOU<{Vxgb~wJwvGa_$ zUAY6Ij+(Se7`@CTsZ-BGR=d|Ov_8`6y4gs5r3ps(@KJfRYB@LBv+I$eZZ48zs+hp1 zsk7#7967vbg*TFq^-S@hl2D!1+5p7Pv0dUWa?dzGsC zdOyDlt87O8_M=?4{Ew!qzj9FQ+!&R*`Or@{4UhgReqxYo%a6qFJa*;h?9rnuRx1LW zPESl4|0a2A_Cycw%8{KMTrDlECVAO6e&VUPzSCm#@yTJy_uXSBK7H||(}6vO9zSZ9 z*fZVNSS^B5tX9YTd^(knFbkdjFd!}3INvR_ z@VI^0Rq=wR%X|;m=(PsNp9;&o4mUiu#w+;gfp&{Fu4r&(g}#ZU=yXJoM`<7%U6uIj z(3`1YqYvzFs#>$|Qa^p>N}Cl+24$6&H`;u<=v>v!drMDMJ&P!fPHBB-`o!{_FyGa> z&@V$L5reCvbae!JbYjaRF7TF%=d4?20b>Cj?lMcUs9sj;`7Pw&@dZ;;$m-O93ck4}vx zkMo9pzDpl8B)L3xx<_SNF!RR!sOsh5?d zo-57oxGg-EBif+TwaWWsf#2j&2Sz4j8B#whD^rbZ6YADWcM&En{6wq$6|*UgSS{XP6?<TTD`kRqEzv*kadgp8}-Incgd)G%zEqZiSbZRpt)x%=<&E%kG z#S;g6Y85k5ca9zxQd)INcIW1~(>bSK>2;+y1~gu=&B{@~=S1?F9~i#_I>l&5Qwx>X zCrA4=^~kWXaq`a!jW^vKmX=>Neb}5+(ZOwxdCeK~)G_OajW)Zkt!VmlD^b{=BRxW2 ze-j;DdU@#dGtEP9_8*>BHE6k8>6aJmPe(Udpm!T`U`6*Oh68Pj%hs6Rdy+P0YhkQ1 zaY>M>%bKAYgJB^Xy(1Z*164yP!kb&L#c!$%~U;Ha#`Ix8jcfjMO)yawf)Jdpa`hSWnBL z52ktrz1Wd$nfq{c7qRE|FczSlRGq>!gqBbtx#Oq%t5PtPM)dWbi- z=&m~)?y>9Qa`(Fv&v*S@+^E~)KPSpJF52Awtw&|YlcU@^1P_dM{IcVkPe1+UjziNY z@^((Ur*&#uzTZU=`PzAMgT78r?I*h(nYzpM+Y`?^Z~d`nmwf%V$uIsIF**B-HdDUo zb}hxe{nAvI(7{tv9yM17es@tb?HZF7y65xR&7=)ywTnJGbG>meXV)mPU8mAwBBi`XuX;AaEP5Xzm9s2on&5{AH$CZbkva}ERdhf{K4Zmj% z%=-4IV%tM=aulg zdaE8c_fCFswkss%tFIaA9l)q`)z*DP_Eka41Jn^WJ)k(EQ z!0FE>&HL?>^Z94p_L-dVU9oLR>g!31JNvtQ-4a`gzwi6giY;L=D<9webosIL8_Ql6 z<*h!uHEq?3CSKpKonG~WJSiuuiCOA50}gn6H>>2yx9&X{y~WtizZ!G1;llCk*+ut$ zNMCUEg+DvDzl6zgJf4{u^R4!<&4{^owzo+yxpHkz*y*LZaX$^t=+&b6{DvtP=dCHe zwRz=!hfQZBaX-IGT)$=Jw2JJ{8#`}n{7cf-_Q$vW(qhh|ja@3b{WNu$X1!m(y&H}? zzg+X=vtDa|elv634=WG-SUlxu&R;FfcOTm5yNCI0?q2JwzwPY3L$)hg)_=#aSay5D zr=iV#}=e4mD+wb!#{h`un_pt?`(pfP#4kn4`i%WA4UmEcH2Pil#%-nctFUZ(ZKBMI*Pr_pa}^s<_4cj)t?J z_%E9B<1Y@!x1UtbkoMiyb~`78hIQ!;;E z?Cu-AejgdS=xjfyZmIKZZ{PhRb;OW{m+$)~93K2~?Ms)3M^~>5>g4|E$k6arx1J~U zpS@K2tZ3Fo--|8sUr!1tUfsiGucQ80ixsQa%T|tmaK>MS zB{$O3#@lo`_2tB%)FVI28lEaj*fGVqND>viCb#TaR#L#?>hrJD2E{#S)$_{mfgShR zIQg3GIbOMa{klwR`%kuCoin>M-h0Wkb1qNYCN4F7(V=(T;%~K?{kkl>|>zo~wpD%uMZbO{k1p6^7UQGAy6uNT7>d}uMIsR$Za^k?q zw9;n_OQQd(*i$}s$U@7)p2nORWeQP3Uc0>FyB^mw7Y!fh9`)+dr;=3@zCHNUL5s@; z;=`VaySEOtls5e~B&Bt=^O+5e=6$(WeX~gRTbb?Gn-2ZbNztgKm*dn8>6*CXmu+rhV zu&VLo(O;!DyV?CrXV1-B`Y&h{c&DGK!yN5_sY`DB(d2o=s5f62`)BnX_NbltTvb3+ z-wQvVVUM5P+%wI~Z}z3p9gZaKVy4c#^x)T{NtarG(O}2go44E8J()9o)90n*Pc_+T zle#5hZQ(xe<7wjbx0}EJ^P8q}E6+8aiG%GIZfq7euW<5}zOLm-uKo9&U-od0#B%wa z+#O%`Z@8{a=N+wr`kwpD?Tf^}k37F>{Ao%2;I^B$pPq5XTD>f4U)&>eGdfsAlxpF= z;(<++>o=Bz_ghRl+A?{<(?!N{8+xpYS-#HZYG&8z*K*h2xM*y%@?2S_<(^=dv>h`K z{*~)yvG{Q7C9U_`#!T4m@c7BT$w9h9e&wHBxiD+e@3$+SUdS1&J)cq3M3pr>X5yy& zH_@+VEQmdM&rTc>I?h~GRwe5*PA_fvtaqZriQw_JV=hMe-TpCta*B`X?UK(W7nJ83 zX1v+ZAZKEaoK02!JF`?*51hR8OWrHru9sDR1YVEOT)Wip?3R)~UvwyQ|7CEwsMm?o z!Rd#Kqnfqb{WNFzuA`1;_b>k@_uvMZlS%HXv1XalU67AJ9o)vN9+EH^E@ zX_M7r_JoE9q?7u%Es0UByfZFBJaOXSr}nC-=!{tR%a5Z)Au99b_gjfKd^uP8wBVWS zXn5@Qvg3{S8V9k5a__$0mpL=~_tw{&UUBRH)%lrE{=N_#J8);zh+a8^&#cQ6sV^LG zzct|c2ERU+mzSEem@_wvb8;F?JzGqA*a1VQpT=*aThGlMBQFJru>zSbJ@wP?ZsK27L{(= z{l%_6%{%XIIA`y{h~D}8Ra@`pY8}2kylao?o?F)H9p}Eidr|5A!@1OLlB*q>PPx`h z`^Pw|#>--Q>l#j)(09g!k(+MYoV8kNS^Yx;QFg~!7OQqVlr0UIFI{)8jreiGc=N)y zFQUUor^m*hYN_&^oH)_^ueTRkO=Zrz+_1eeV`TjA15Ur%cRgw0p~_dy_a6Eza{I!I zmoBX{tSwoZ=5@L7Xz2CFLrMtGqbvC+(BYtr?PV%k#8#>hc3tO4CnGn(Z5A)}hO> z{k;$EJZR+R;9 zKX>8LgS=1RMPg;n=SS#Q!}L_?^MesB*&Te{OW zs_K`~+2f-oR-bRCIvcpA!L4bf4bMFYk!ZubO?MS;jPDRt9NFwe|MAL!eG^l!W|vGD zPraz`h$GU=4$vTV22p`J&q7p@&?cDx=J1n_Fym ztGc?`^VGL@Qb&)jR;lbS`1QN~+en*L%XRV}zgpe&kBvJO4u>|UMm;jz{K@d7_^%`7 zTKSb@J7Y(W&i*+-vAQB@;%TR;$#2GcdrZuB=rpp@%EHpMvAx%%>k7{&$46W2yq_F4 z`RT-1_XC}ty!g?ha1Ud@M6=jpP50)j^ZvHc>G!waTt3}rXQkJaC)2AZ7=jM@9cwjf zM0qElhtosNjL~TUg`sZquZGzlU)FSiSZ{N{_a{e#_OMr3q1T#Y4ci@f8r)#T#zjr^ zE6zlm7Fh6qhwDt|lDgPo=x4M~4;}No^jxFV0$yfR~`h6GsX5z+~Z~%m#vTPqx>=h$k zlD)3Qg4MUWZ9LtsQ{J1%t@4}OcK0iOu)49paK06rn$V@+ z^yi-PpuMdvTd5_DJN5W{Xx`%?LHb?OW6P5x(<(jwy7T1i+c$-WFBUJEdHU3vKH3GI zRo^bLIItrxY}%%cvEIG4S)YHJwYh<1PSr`<>{FRzD@TVao~mpnmG%2gU1;;wlaY-- zyX)s@QlLsMxSZ;jzS6T)xzO#7`36zWvAk9~-DJN7pCpVtFzT~ZL)J)DSy@xJ&^Fed zX=6LKa{Ioo$o}_zS)#^kv>rp*?C8Z`=L{|R{pqo0M=PI(R~Bwu_PlJx#cYc_<6e9H zrtdw{qk~jtE8KXPMzb*J#WrFX0Zmt|8WDK#C~eB^U0sBHW#jU z*DZ;6UcIKn?PJ-wZ^~D{y7c69ud{|XU#4%KnD@=jk#Bacw(Pq_=QZ2aUcSADMbk%Z zIw`tZc%)7VO1`;!@WkS0GZb3Saie#po~kMhId}7p>=hgUH%fK-Z7UiN*rRu}`e9A- z3Ecrd#?*1N;u9~Gg-6qVN1beJGU7wC{L{iVn+}^^l^+~^YR(+5V{Nk>pN`pOv+;+Y zo36O_XPBtf>rju8rP0yfoS8oKa{rs5%?DMb4ga##ZF%%*`wMRR1x>oII54E`0mBmW zHD$$P(w^K?#ujc>1uaR`3|-TuS7T3uqou`WsXS~#qkge2D>hEQy(lke!}=wy;tnq8 z)ba7Dyc-q8`nCCQ%A?EfR65$_-8|TEWAW<_3$*?EE!mltTrA%={#4VK{&y6;N4-g% zaV>UY&at$SPah1m?D-6-be!U~Cg=1#NFW*Ih32ItC3dM|3YGUJlDYoY8#7?SWnc6*s&Wxt8`m`SrqHRxkJU3wYqucb?A5C%@N_J|=@=J;yX3 z(ewLRNj{ z6kml(Wd=CpBP*}rty|tgQZsv5Sy@?G;iJT~o2B`d^Z%@U&S3_`=e^(mZ*aNKKKs4) z+H0@9_S*aSu6^A2%X6{4`yT1s-}QRjfVY0^)$fdRR9te{gMWK4=IFrJ9(gzZuMd_c z-0;Fb3YIR|_+Zxlqlqv>*8zgFG`*Lfceyq(@vEinEJ0-`S(3~=+4Q5 z{;rvF#C%=us~-Kt`#TSxFyNJYoCh}DI%(B6JM!{2?7b&e`_{b;Qx>Fs^RaPE=bEnR zxAnSt?81j1yXD7;XKs!O{dnB?Hy7Qs z>9#Sy^dB*Aeh^d!8iA;`|Lk^r?33>m!#LS z_cwhz_2>2X4&FDTUC{5>j5YsfpE2^#3)Q#(<~%x~F=5ZX1HYAhdGM9%=l(h+d&AjI z>kps#{EPRSp3Se8GJ;<^)h%k^>76sWpRC?uJCVKi;Unxo+MkX`_4DM`rAK?x96_VeeU~o$d|tq-1kM_Zg;(RcT?1s%8F~Ze%HU~ z{b=i$&6&4vd-v(2)0@65d0}IR#-~5N>DARAJ@wwQ4?cW+>xbbT{@9ipQuxWN`$v4X z@yl+XYX1GVg|9wiEx-TFql*UE;ujx?yXu)$$(7IMIbL}>_SZiv8ocid-vf z@$cv8#*~z8?enjhOY_P~vf97n?OFRv@viSaFI~LN@x-mGCeH2}J#5xj54C$~&vxHx z<6FJQ4LO*w;^B-(R=znr#do6L zmYQKBjw~0?zWhS{vsM4vGJX5&!B_2n!}?sC6sZ&wQ47N2V9{lO?jUU|m{)_*3_#yp>Pda5@4x;zn{7|9o2NW`C@12HI}Y!; z@#kk}PntFR^B;yay#Co!w~T*uNZjyW_eIV6d)A|St-tMTcjDG}CLbPfq9*OxWn0F_ zn)>gl&b-Al=7D4H|D|92mGwpU{bx2tU$<=g%?tXxIbhi{(eGW`-{X7h?C7gBDMm5s z=u?YUr!^jb-jH=;pVh;&2K6X^V@}QSFAa};cHf$hR!7!*LUsqg>ny$7SMbFzFGRF|pO{kQZFv0Sg!b<~nl|<0c9AbkUpM*v3A*?DeY@T_F7<&Wf1UYK zD*w+t_M+RryPcm{moTDW*xucL|A9M{fV zT7J*MgyCiV7H9qTdaBbAaUx_;&zn~NwCaz~-fCL()1guE>*qM0?|Sc{YYQ|F9!`7v z!*K~eet*(ynmBTQ#?;}y$}eZWe{$3Hle<1PH}aucI`*M-SI|Z#?PPMJ=$JWD;>J(tK7ui z`QObR75c&81N#e}e6l3&x9T0`x1L;AvhVhsVOfKQz4%n<%w9vL{nBpMCjGyLt-61M zb@z&(GqW~z9n&x2)xT~YJ2>`{BXg@eJhNm#z03IQw>?}(KTO}4wl@BYv%<#vQtnxK z{F%FBZs~7%?5<_cJo|H>KmNRF>QzC1eN*JzpZocfIX}K}aC7LBf1mNM12;@&qrTk^ z1wh$PgMKwly#1-zuTM@`dSA6J1PXw6giSmD@%psuJL^Ml>+#UdOILo{PkQt5SsfzZ z-(9#U>f2BHuc=>czN*70@5)E|?A&_K!_FB()I*=GZTe{XhtFrO_#^iB=x0Ws{fFhH zksa>d_Q*~D3I6ntITLrKUb7(YL`vhygvV}8S=@8zZP%>(?%>j|-+Ari)&t=qYvx~d zxP5NTxG5n?&)-^KdhPY!KeOn$>*C{^?AJK{{akh9k7wrJ^*toZ0;UjluAL}&cz#V7*$Vgt2UlQDVNAiT!t@A#8x#)(MKKt5}VxIQy zHFt@R%z16gNB{Zyjvik>u)Ahm*bzg|ed((oEAI61ly6>nwEaK-y}2e^DB5bNe5uLX zxASv9U+=p<{K=SGr_H*j%Zth1J-B(`13wO|`10RlLUqN5*RB8M>E-RlJl=g>e9sYI zB&VI8cE{fie1GiSTkl=CYFq6~y$T~fopH~*Pt!fM^O6BFjO@kX~s|qjwQ8p?lug-Cz zkiJ!MJkHERboH4FXPqX)9<>nXpt2h&;7*)hqMM4vIk=Dpr=ju|;JS8L4VftrVRWl; z0sKkihifGl@B89PPk8x<&0!mcH*pJQoBu+aQ=R&Dp-GF=ByEv+39N3sR%P=`#LQ)mHZZ57)QRr# zmGSf~H57PioQ(&L9An$a@!zizh@a6&buNDB#KMK}(}l`9_V6<@ex8!QY1r!M6zCBI z3Hk}z18kDJO>v)5+yw$#L1P2I8Z+MQ!2`wHthj3w_c6tt1RkcwC!1`dP3mW&eH<_1 zyoy_XDbH{ija7c01NmQ#XZ73z9i>s9hXp+QP4dZJzqNI~Y^>jGbl?0Cc=CacCgiX% z{Lah&Ea&5YCU8OeIm47Q1A*+1wZ;GTq3+Bm^FNWE+xX=ZqR@VFRsIJr|6L0IQ_~Z! zn|}dz_SA*cANhzt&!uo-vfL)$p>TpL`SE*abr{C?g|Ob$*n~~OXO^!YK3aV857_F>`D8(HB(Cdy z>p^dbH*!SdoD;|QZ2C2F$`=&a@0(5gqe9Ql+@hP)NM?n_$n#YkWs0123T4b0+P65r zZ%i#-Y`7DJ(!G+AZv^8`+Zr ziW{!D5sKSRaoa0ymw`J=ObVVL=_bn(Vinx)m5;^lgd{M=2Af9hyw~b-jmVMg6|vF^Rh(T_=qc{F+oOQYN8KbL}N|}n=3;r7)i8|k_0QrssLccJ3?6nCxSZcyBh z757`k{ato(-xAMH+g@>RkjoR+Fv0Kv81;I^-K4n4hri#UxZf-8KE?e_asN`>v$CrR zQrt+z?W(xF6!%)i9i+Gx#RYz-Jk8CDn}OV(t!9++m7qSKPZ~m%W0n&O$j4F!m|ZGT2a%pV=_8EP;z(a2)>A zD=v?)FjK>tt73mNR3d{AIm14*RL60%zn;$sK`de@gzOQTY?@#V7yh&F%7; zI+pYBG*u>mlplCLu*G4*fCGMQ9ut&L5}tctklqyH^dU|!Dj(Uy;A%c)slHN<1uEX= zsPd^tc}x%vRacLI#aqW~`DQ3+R%JiyENFY037f~g%Sbs;wzVT3E3 zw$-hNn-6G9H9@Ki0`%qiemd$m;H~8^$;p^`qM*Ck%ZzwrW+%%~pUH2W$TUe-ytfGv zj)_sj#EDVyf#G6azpvAJZggUaF;5uko}*oLvsY(S{ASfZZPKJX zW1j!iJALYP!u`fcIK|F?ID9?HD6=W1hVcmrp?MPuC#YdlrcHnNo_nTDoHA)zp%I73 zAHWIvT)dg|kQxK`9Po(<=frVD+^8J+rb6VUI4{nN|A{s#0Y1PQKpo%%z%IZc0EMYP z=$bU|!h?R~ZX8fNk^&(cr@-k8|0tpv#Si>z1H%zTOW~xSp!f!?%mc$QUV`&h! z97%ZiP=9$^D_$CrFS#*_3p(O{mu*v9@!w$Oy%o=i$}{B?tvsWA7Op(wk>v?UNDugB2RzeN4)QPXwt+zDq7C6g zl~~kE2^2Xc@3H(m&R%k$cg=(95ns*CFQ9uB)bA1VPx@joUx^-K(DluF2u0v&p@%pR z->qfLNbRF0W7xFy6F_6aHUQjazRNLvDS8N`1Fk7O=b1*hdT#(5xH#XX^vneMCi*A( zaKep19-tZiy9B-~SP>I+qb1r<`5Pr}e!c{rN%%o}EohkY-HmXy0HQ^5>8J2a?O{9z zp}GU%jsvvCGl{eaI4s!)#)O_HI#2+gLIbirTovAH|38w<9L00^0G!!T1rP{wv|@l>1irYSN!8z`R%GdfZw9D z=HDT7AMw%(#q}yKnx^vB7QEAlZYSPo_4B?Kycgk|_uBouwM97Snum|`^VSyOs0t6K zFASx?qle#4FBO*_$xk#y^hdPU;yHl7U4sA$qu-4I&j|s~?bHY@mQ3g8TFQE$d10W4 zz{+cqmGQf5xzTLC;d(A)I>Rs(Pnv#Vxv`cpBNao z^Vzl_Gzp?YIb7s1Iv*~0REwX&zeZD?p?pk3Tmf@<3;xv}egfiqh;#YB#VJyw_|^c| z;tA5B#l_O$#Wm7V;%CImmhS@(Sq7d_9aLzxvbo@E+5~7TQYy6-i7QyJ#VASOSuD}X z82)iEmoj1b54iiO#K^2wEW)$wFiWWxQaxTHOQ{kZlwV4GcH ziMDPAvn{N^w}-VihOj748RAt1HTX0v!adq%@QvuQe&GnjV^)(G(#d5mm82SNSiKP! z*m>rnj#a@!YbJ)(758BV?+B)MJMAWsCAutQXtLBL*J``07d2znTKX}K56=|G!8Rw0 znp@W{~&rDo4d%LN(e_t%>j)IPD_bs(4R)oC%2=n9j3wC-AQ^ zcz!zKN|%~s{7vjqmk4|i4l|z!X|j|6kB1aI&Lcc(m@k4wi2KKLJeKbzJZ1quom^C3 zl)=oKncyikv6OnroA3nn5lix|K_0k5&@-Foafb4seh``2B>p_iK0Zxr2upC=bxXikf^m55l9{X*Lz3A1EJ=zfc8#VQuwOiri0H)P0o3 zV1#m#`iO8y_@h3ca;ZG=7n?z*ALdl+EVmi7qqNy(ZCawnSL>IuLCRC(Q+~XiN_;i0 znzwa>w7O+mtp8P8s2%1#GR;w4ZA{8bm(Ctl#!mzFze*EC1L(65j7J^OgthYQ(U};> zGckr|Vhqp37*^+Wk`-#k1>oG8Wh$Q72F}ATg7eWb&fQ~`dV&t9o~YxNgi;n}trD_* zd&9OCkH9#h@yo}gW*5ff7NQxszwMWgBg&7)<>)rYWvI1ElZ|ot*Z*)_9uFLs>C%~k zmiPnBUJ3q2o)3R#K2ZA=eHu(W7G)aL{!N!ol>@JvTjEt%54>*tKg4T0^r!iM%E1V23$O?dY0rSOw0koGU64QV57Hqvf!hy0!MQ#pMnq(57rl&5VYO&ro} zJU2~Kh06QMMfpCOgT)P)la+Nv0>;v!P14RqyQN)=1*u_iZ)qRR+s$(}=IWGcU0IS9 z0;Lf$`%KISv6hO&IpzxWo$uW)>l1Try2Q|wa`j!JEhT!`hgM%=1Lo@+J|A0hqOtKbXUgN)2tGPQ=Gm7x=TW=(I9BFYbBQv)-gBp`9QE}q zvsU4fSAlLDV=YP-=(UBYVb4ToqhYWx@QBz3eiQ_iL6Mu8(n(e@iPsWLz%L9ZX6*nZW z5Uo)iE=%?ZD4X(dGS)0#S)P!j0rQyzS!$^U}GWJVLw z1Jzk9i#3SBT0UkekCe)@4QgC+%}qL16T$*$RWQ{Q>6pLmmq`cOE_EdsYb6+KVw%je zXJX9p`5FC!FC6b9x*%Sn&bdC6-+JCH*LHdRX3V`r_f&7R(Ma_bLw=1H%M_kN?NizY zS#C9jXOw){B--9Gl-UG^cYUe<;YLsxfls5;xzm6X;E3a=IsMse3a9eiPNNBFHjm$x19som6P)MjccZ)Y1ahT2vtk9ZI98k9eo z{20eR$Op{v0_1#*Z7%0;!It`nE=$aNSh+YEx(mpC8L|4L0l`cXOYV#pUmmj-dHSr? zY^ZNE)0u6M3*mYvcd7L1yZFrbMz5&t<}!`|K69@!5T2D@@4R>pH3t&PQHeO#EAAt!0J*Yv@fXrtW(-ft+L zNc=xto*O|Ypm7cLpBUa@t>a@|vJcPTP4e0^^wzcIduhGerOpy79ijO#VGgZbgH6b{ zg60y?Yn=s_20RaqWvzLC>-8(f3i6sGdWc1sbY+i|PN})Vaa|gZG(zDx^vKDD|{5kfHwF}XwSj*SBhxa#_ zp=&Jb1$v#r1fK4lG`puXi&@HOu1i_#@P!mDoXO+QC%q%qliT2uesTp|4ct<=TDW;| zb#PPR2EpwMH`rP&WS8mC@6ad6^_s92^eIrD|9`%xHi;U4*{ENgV`XEL_>y)Nug5qh zU~G}xp||9szqc{1B^>S{$nt9-JBChJTRsB)gK)$b#Ly0FEdyE5!iln;0`D{&=lSSs zE!M>Oce<#(c&`;TgVruYTE(yP>neD75XlrW{cwM<2>K{r-W)#!xI=&TTT5kOygG=E ziH6Z{LR)wR&n~z0XIffU5IqwudiOHE&QIBJwh(@1-EejZ)raUZfF=d12j(~tytfYV zXk4tWK|U5I(;z<9`e`P@0mG5fkWHp-5=hbNRUJ>IQW_(2rmkJ^p)pxyp8FRhm^SXz@g5ARb0E zU>QJT9ee@pl;2VNHYX#G6V$hq7Cb4WT#<#G418xlba@)c9Kb8#l z6>|gR9QcVIs4W;*8jBTaWm*x`Fs{F&cgUA$obqVhFV?E2d?&(H;Pu(trB1CA^%dS} zETI^0EX^ba^L3n0jjy&>t&2IG#_%0{Orxwistai41g{I)M0LP8*r%pf^QSeUWh}}d z-KEl>Y9FR-XtHvgKu#mP6W;im5`C!PrIheeGf~Eg1#2@4#*ceShqW@^{klxT1)s;L zUcf!^6v|I+FZQJLgiABi+(_%mMK#h6@##LUl07Vf)|kUKN)pX)3C}Xt=2}zH50`5V zj)fx(_F~9(Gxv~wFha+5yY(zBjYZa~?Z-G^4jberYc~VQTO|KkjF5RW;n}F4Acjwj zf3CkF3%FcejQl`566#B1Nl54dJ~bA=D1R1Hj_{P{FjwQf7_N1RU9?zpODh(A#dO|x z4R-Oz_643Fg{Q5>LUiWls9|O=Xa?ma?g{6zu@m`-D-PRd=Ace5>ytdQ?9ipM?U~l7 zVV-W?44#1+1J=Msil>5mB=oz9;n^vr!9$5=J#$Sg@nz_geNn?Q>yXZgcBP?R+1(7* zN|x%L+|A%cdBs!1vmMZFXE@RJ*xYz=oF?8gC(7yxjUxSdwm7<*!9AdxA!VsHNiB<9 zcU(6^4Gi`(Mq>@!FFaeEWo8+%$Ro6yLDb~Nd*(5#Cmi^wWYN~8QeK(fkX4pt$numh zYf6>mAihqrcA_Mm@su9s?O$vQ&xVYn7c;vVZf}ShR@C&iD^X*}66b3S=2ep90IrHh zggXgWkPU?LRg^2(yDDV0L0S&#nE2PbE4)FnR`jlGg4%zL3sljwvC zxoq*f;ZCC6gjq}gp0`-Qi$H@h)K=c!?ju|alR$q@2w7qy=&#Jg%&UQ4(3N8Y=+6uK z3qxJ+Qt0o#OQAo8c}~SIt5nP4<@E>s<$?Y}6#ULM$@m>}9{Qv9X3>6+On=ml%v{i4 zG{z|K2YS>kMt`Gi>pe}UNk>**2HGnd0~~pQqYX`_!16sW9z+}WB3@H;%XrdciYKlf z;PSkDkj8yh%kVQFP&kFj>CdbuzgZ*WANhI7PxOj9oS|m|s;?V3rutI7slHTisx!uu zy||CTLHvhkV&+%0j+CTYZFmxm$%P1`xbP=0%mrP5zj-qtH&6YO-dO>*nJ=)YVjFm5 zF4KWe>hUfWFba?c7z-E&xEWvv{2kx`+z!YBjQ2i`HBUInP^iZXqzBU^rBrFRfj?rO zNZ8_dDQZ}sk(wm)Mygx5Ju^F`$=zqHp?D07FdtwM85pI#8l*(e|gICKmGt zYqp);=}nO$Q{sN^!dy?8We<5KdZ{h$_k zh9>vrMFpyf-9|ON}c4&$i>{S%+7hI*%odB zz9P780B%ZE$O*BR-R@w(<((|vrw2`?cO+SLwa7YrEwZuT6J1t=K25}nY5q`oG4W+i zTQ=gyCqaj&3h13NNOL3gABBmb+Es}q;Eyq&U9=~$5_>#W;2h<7bXF!V12kd(uRr>9 z^ac7*v{Cin3$A+7z{w><|1Z+Xjo|Dt zGQ?`%RamQZ(|{)mU%UH_H!SSaWewI9Sr|iD-(kPtE=kI)(LP?wH$LSmS|yVdIj+nsr-F2DuNr-ZaL*kDDk?O0{&DbVG#yp<5;B z#=!6T>654p#G7dk0d#M&OqHZ{c&?cO|5T<~2NyISL43UyZc4FKmQclMxSZx{&#Hr5 zcVUSQPpTQi*uXG^l`yB;N0!|1EUJ$;occkMkU!>A5UK`!*woR0`PYQDXs*K*=pL_$ zxtYn1wPB3dvm^B6pas1ETIk4Wq4s^Iv6e{dNsn#bioE(sO`c_qXunjpyia(Nc|>?p z!ZVC5$2w>^_(Y~9B58RE3-;Xcg<<&%OrJSEBFUG_!aOs+Gx$naMCRl0zrfmip5J5e zZDvuKmGJLj9X)ki4{XTX5Rp`4V_ify$4|6lBEmJSn>aI;#(s>WG$QG>-qOqBivEVz zQlvGGmGDoH){5^9HoR6W)jGDqUnBif{AHM-c7pV}V}C?aZL#!*JH%$Ft&!Ge=;7Za zy+wM(+TBuJ#@L9Yb%IpyzHhu?U5d0ZV`@Z_7_Kp_n;>m=u!tnLajcg=EB3aZsD+#-%&)lyb_ZB%rqoM~<^!OG6lpc3b%%D0hYa?Z z<6uY;&8uQ)r}&J}6Ga)C$U4Y;NeT0K|89XR>lx;O?yFfD{G?~dhf8_}J6zH;422sE zH#){YCht!Mrba#>bPiqS5Yk53tA~2`g-H+Vq zTC&`bMdMnTOYJnaX&$v;jb)h({a!HUkY^#IR}0${U_XGqDu7FUn+liu*673dq+&1G(6!jjdfcR0#uU3VMm zj`C5iPHro!ZBF+Q(!Gdu(7Cmh4*QHc%q42N3Q8w_J;b%-6`n@ZI!*az$gCeR4bth6 zPA}ttxq!EbT3R1stqI+o)@EfD&3LGnlBliJ2DP5l4xYAN%Bs~P4E0p&LUmQb3MtRP z@(`xsZLF8d)w)udyuPRdmEBgIL2re$&P$j6*ijq7G?2>-7n*OO-$`~LD-+Pk_e_uRzws=^@%y+_LYC!k2hYLP2j^uz$$X#YeHdEsb;7xNOe`!JE!LY3w zH{Az3U~Vv5F;}C%&1k>1B+O*F4`X{D))-GfZYJBdGBbEm_w@w`NNF2i%B@?3ytpYoiA=M~Dc70;`cXV@{YHOg}oo@?dj$P;*eU3qTs z>^V)mzr9bxwn0}V^O)+$*L`8|PbJ+I?CQMKrbr*&ZKrpNzZ_|HVtvB-3&Oqd?}A^e zgcrcy0Kb~26aIbh2Pxrp_#5F5R{YSdu|x2O09SpLcLU)koEjm6IYnG;;$TvfN<-zq zS-N!STR$Bg`lK}-rPQCTYlDtLKu0>FBWvB+I*TW?473;Lr@au8c{r`LPAk(M+cq6* zymM(UWL(>{7n&;5p3Ze)+S6IjPkSt@ZQ9e8%Cr~kkZBKVLQZ?(OU|XeV0%m2(>fH~ zVITV7LSL`2w`9Dx%g1wxxq)?%{p=|GZ@?d=`1ip-3;syOzXSe%!rxx;Z-IX<{OuI~ z>+r9IKSJ@Zfd5JO!xeu8{4c{Frua+YUj%=s;xB}M75wV_nFs$f@P{bj4)|YyU!f(I z3jb306=yeFd*G!?hal7-5>bV7P1k= zn!L`l<%r8O>3eR6?-}(ac;DVhX6!F}&Vv6jtmCk@Hs1v~#f|y+F6^W9fUJEM`=mc$ zpL7HEWUH|M>z4O_YkRN?*b)u|9aca;RRKAnqBabm2ZR8E0YLyA0DJ`V_-g9oL?3t% z$^t!K`u^{RE8PEGhOyP_|7QP}?3#f)YKu_Y3wyvh*aObN9x(a=PzzaeoVOSDw!BPl ztOFQT~wF2;AAGOv&gU8<5FYnk8aIypbB_ww>P zUEuA7H5uRYMcR33sEgKxaZv|8gMCBY2ZU4ec<6)nL)IXBRl=uDmkfMkFH+uHuLYhV zy9#0$_N%8d4dK0bxVoOZz|PmI*s@rA*5d=`Y&1M0>)iOtn0e zF*FhDf8=c-8u4r-8*Jo{wr9dNpxK6;%1~|9@!W!*cv|d<*-(ZCWz2;>h4uv}!|u_8 zJ+vxqqvc-d43$B02kk#ndf8Szpe&(b)B`1X`auVd3l=_qF zJ@be@gBp}MMWNrb?851egFo_gOIoHov(G;UPRytMjhd-AyI{pSvMMN><~Z2)>&}@! z)jG{XopAoa10^@kE9?u*n~zCVhO0XnMe-Z<1J((SmgVU7$>r$83zwriqm(o5{N)^9 z<1gp00?-)bL7jo-WM#~5LHY80xZ!je(E(^$PvgUkJ{MurhK1*AMAKS?BIUeg8Tbc=Tw{{_LDcWGC2s~n46Giwmcf;J9 zPW#GPobM11;yg{?$rZ?ZQqWJ3?}E&s65~9B!Cq58!iD!ckUofb290yhFZla2MjG4Z z5a|ro{{Cj{xhF`ZI=v=V=@;D{T4N;XFxU*490piA&(oZT4%dzYVNx-;j>_EV5|1lWhQXVeF^wOaGBG^4eFJFU#=4nU>@2bg2?vse~VD8Gef5 z2ju^Usipsvm-v>o`gDvuo=)3k|EU$S|I|)}pDE+(xVm0Y{e6{izBU4HifZXUwd7*- z(iW{?TynX<&!;Rc`P4ahJj?s}LjC1-()eiESC?PTnbn>WnyW5Z2HSU;@yCI8bxfCz zR48~<@O-irU7VcXvL83J6Es>~P;iJ|9~v4K79JjfUpxHT z;}?lvl=ADK{5mSXPRh^F>eso|uS=_6*H*vii~O#-$gkT)e%&wpi{b6p1qB7;7lNN& z`GqP!x|1OA7vAbe_`1-KaCxC0;rYM$Q6K#`KOF7r(6M8uPSlOmb!vC1-PF2!T6f1q z(BJLC=;fbK>Hs3( z3_t^bEhMu6HUnY-F931@djK5)ivWKId;u5?_$S~Yz@LCH0DWM6EZ`$Rf56Lt`vAWJ zx&f8~#sj_s3 z5^yu%Q$RdmEnphpKY*TqYQWuq9|6gLdO#7N34k>{D+Z(hHUWAAY5)@ey8#^l3jwzR zJ_if}tOGm<_yZ6MfXyu%1Naco5AYIT3g7_XD!_AqI{@DTEP#Il9s`^N5XE30pN#~( z2e=xr5-~6E1*#4;R1^;R4v(Z~^RbxBzw?ybab_-kp`wT9CCBOx+SK$KK18@QCcenu73od{yg9~6eZ~^Qm zxBxaBE`YrQ7r;Dl0Zf7m0N)8=R)7)U1VjPs02819pa>|H<~z;eJuz+R>Y*Jt{W(BQD3a9xD9ou)mIq5K56 zuna*CkR<@vrA8Y0dg3U!(EuX=_cEXb47F#>3)l#;0*-*^%T11CEq^>CyrPWM%+&f& zoq`mgx)FpZK=mXb{1U*@ghM!70_>V|Xa|>oey!U}d8>I+UX%x=qq`rd{RRNx09HdB z4{>k_7Z9sBKJ0LvfC7LQ-~(&~GypE;r?y>nRUD`;;UN$RAAz9aMs+Wx%!|cQ`+)F_ zpUow^;6fbtiMTf-g>XW@o&XS25^!ciy#%yFP~HtWimH#KNb=n-L-w`u?}C36&^TWX zAB=K@cX6#%Vas@ff!n}*22YmLB~~cu@??LKa{repU(Uyrt+?Z4cfdAsSF!;PDpRf3 zDmDOpNPg>6a(?}ta{PXM6&G!#dR>G1a(BDzc5YSAPAgj0v*Y?!{?}X9vmN|_cj2_F zg&+8^;S?X;h11U0Dtw6&zEcS=YZdNQ!Vf9opxHpYwL?1y-xdXL5rk_bh6VSANl;D!C!9wSTnot2+M zkf+d2e(nrhvdBnYPYcykke|);Y?JRu>S)LFP4e?KUOZnTKesEuvq^rAG~v0s{0#F! zTo^WK+P#I7ad%H1KBCd$Vp;!{uyi}@6kIM(cT_%v%ikV&Xi{EIZvF!kai1!^nUFu_ z-f8k9zXDYan_h@(0w?C=(G^Gx>9{Xn_T}d1Jn&E+-5ZxXVfrLqFw2?bDtu@{PG0Vm zLR^2#-^#sb~nL~ir^$SLg7?yrlemDAJQ z61f_AM0xo%L$zY)x{KW#O6lp>UX)$=f3G}0ljjoduj6?nD0$Evr2d+pFMfwqL<16? zK^|-1`bUhKlk8G{80%3O_cZrM5&b&=Bs16n^dsC6P+Y{h{9giQWHXY{eG+76yl8^7 z&E08)i=PYnE73(~g2ZR~xah2q_$ba5<1D!NEo^n@Zi@N=F4%RJ0wx3Q1LOmy0SW*Q z0SW<+04UxJfCwl8cmX8~VLQ4=kTx#rEp1tpB7Lx^SlZ6d90lG*g|kSoQJrO7DwJhf zb;&dTQtkb;c|MeF@iyBAY=^%De$_T$Bm7?YRoj4C_>16IZ3BGpi|~gfcrmM1vvT-n zz^~c{c;R=!ui6F_!2byRs%?N1{zCXw+WPkLxERT~ex&Gp=lw_0Fu$!>E8T(aA&g-bTM^WlBBa0gKZXfqOajIQMqr2B?>nLv9$pxb>!xA3cUy954d z@T+va1^xo~Rl0v2{)gaK$HfZx3*lGCO$Gdqz^{(0Qutl)tK+T^{u%JA<1!C^5q@>t zI^ZvYUme$}@O$A`$Nfn48&L9S8R|%=6ja;a2E~J7cE=vGIp2S znNk_-@=cKPdB17dttsB%$;)e`Y24p~`?Gwzr2_5`;r=w=Cg~yW59WTeuSP25{vhs; z^A$^vaKDcGqiZHeI2(= zl>0weUM!Vxe+>7pe<4LGCI9U<*fnVQyA@;uPVM(tqbSdcl;R-oK%D)|d|a1I^MW|> zJF?xM>zJrZer7HEuC4^B~zG~rH#k5d+6(KXx6o>@MM<04x!q|wvaJh7flzp~V5Kyz-qAU!7VmhuX!pg-Ju~026=x$p#GFRu z#Gzl~(z!h^;mwVD^E!-0-8JYZv<0?=MtAP>{Jb1&8U*tzI3Ey-KKKapiWfMfbh%2p z^ni5XNM}R3P`ND^iYIR7@%X&M>G`+x6op)OT}LEMv8mBHp53Qnm6<&_Glw}en~xW}Cf|{c^bS#^AZ^|mnUAXHcrT&y?c9LDyu~dHVDrD5mU%-nzvRyjJ%ZhzofyOZClIS4L zV=Xg#ygugHc*I40z)6iVNAro+={z~=&K5&1=jYw7qVo}dRS-`udf<6iQNi=BVOG`& zHVH1dt*1)mw*FO+WL5dKz|6LG)s}wkoR&Rjn}&s+Z9@FCVO;(=QOL(!sCE_b+1IFC zX>8;dM;qyrAP-HscXFX|ki~M{-v*mZ*BNh`@X%CaN?ty$`$vPLl)nzxed&n5PWUt6 zuQUF-;IAwGqVabX{<`6>JN{zu*8_i6{0U6Mv{+-&E?Fq_vmFqxH+F7Pu&YzdHVJ}I ztP!+=P6!tCLWB?{L<>g2Bv=KfyslHrS6!-yS{JoGYMs=2QQe}j1GGgcIT&Tr?ob%k ze(j*g?0`0OMLl~#gFXPeDv8jj-v%xEbZFO?L$khD(4gh`MPTI+sJn|OYvuRC4_#S1 zP#Nj+BC!16{%YADysKsW;GM1f+m-l6B|g^nls=+C_Om{+ZYZJwm5G<1+ZpjZOnG+V zd8G0TDpvJDe2s08^*ea0e(omlQ!5G`sGn2KgZ3nT@O73!_;w7bTZ&a}#d z@QD=|T6fWJvfN&aXa?YtkchH#C{IeO?&;u>*AKXM(sNhFCLlg7!Q0f&gyTJJW}#l^ z`{is$NJQ(u+13>9iI(mO9B`N5JKWWw3m9TqFr z{~B(8E-b{kU)<9ZU9M#&xH!8F-2(Dkn9If?ED68>IzR-#2#5m=1egG3#LEZRTbIx4 zXH@FfC;i;|O=K|%I;^c`(i|c+;Qp3fUM))^8B?^uUJ&xD=*4}8wm9>EQf99)8{zbr6=o z9xRT_%VS^@Sj~Li7`lh(u$}Isz`Ad}*TYPnccb7xZ1vPLJI-Jn^5UKZapHIb**A+` zBfhaPb_$*0f$V(L+l!Hnb)1NM7LW&(F|eH8^XA#SAhM$a#u6A z|A#(Jy`Kw7{QaAQGa4W)*w+pOm_$vK3HG~jfpt!)l$|93q2!rU!-d!-R7e6 z-Kk6W9HFjs_7LCc(1DH$Fb4AyLF;H|xu?&^E^1rx1g0as8nrD@x8^P=HeQK-ZDu{j zi;U+b-Xh3>G;Zo4YhiZ8S_$~?d8jy<>535tGGaLV+e?yh$NJE8mpHwGI&_{~sE)6VfA5gr6u?|^`2~l`11e?reEZT^7dH9sr4t$0H5IrB$hz~4s zGPYi0;2veH8=!kMwx}!c&VX`sfCz67Sx=NwZG1h`8$$Zo=*&vU&yVX&3(-chZ5>d_ zdReRbn>{&Sx{6M`?aIvE5})ZDm7F=n){|t;%-oIb6TKvVjx|_}EG*F}%c2W!1kLvV z&+Cb?*hAI_rBqwS5q*Nz=xhwk8AfeFnc<#Or(NZ4tev~Q>nbk-&qLV>PqQF8AGiqk zUDU*Mi_jm7@5XrQ!QvJJ&x?UyTDyP;#NZtp;ALH*ALxs|it;QnqOVvC-H}<8x)?U( zr|+P?v{v`fQ8@LXXJ5J9+mq?NcQb=$j?Z3vBW$2!u;$Ley%Bg{j`yTHK;AK8FYpey z$a5&aXR8`xtB0(!0`3kW&j`=Yr(IsOL0m>-a^y*B548pP>gfI!#An5BmNaM#c<$IS zQ4X7lHmSpV8-cG-fuBWl(B1xYZ$(cw5bcUk%8CFkbk_Q_`h@4G4QCm~!D-0jC)_h| zmNygU;;k6BkeEGl8gPz3P3G&io#@ALCVqd&U0ADtSkMNlM;4FoW{3-Z@dDNrQ{v2Y zW=;%^j(6y1B|E}LB|E}M?_(O7ruP=_vRovAJf3u$~c8BwQH@z!!X z-D6~}?7IYbGGTn!J#(_4hwpb7;c@N(X?E{j;CZ3U?zVO`;2G_WvWix2TdsGOB=y9+g#wb^VetygUv38u+#FYZ0!4Uk85>{6X*s!ygQP2jpezV$D2*bT*ukADF*^|1x>*i(3y~V^ru_zZm;|7$;E$ z8VyT%feqzzVeV$kho#9&QkcbDjPH&4nC`jWY}gWkB|bj^(;eo5G&cNaniIeSwMF~i zc6rjibP*4vxs&Ehxi3!|s4pF%=)+il9}YVX{rGtQ`0@9l5GUeZAdh!D#^H&b=ky`Q zo;ccOptPQn?Tqqi(TDXXR?zsoNE|Qk!`Rk+I5>&Ys&y+mh&I{2^p7j*!@1OltTdpG zLn)2>TGR=&;F*Iu9aQQxSLwt06Hy4`V+vtS6o=Ot_my(Gtv`Mk;e1RX{A@sYb04Nl z$F~8cjPPWwO4tV8W#qgI{5mri_W?RLCzpq^i1IOzA@5>Q4_bL&#?gD~FX}_|odx}< zk^3&WAH`GpPe=Vl{YL%wpjC(aDXz*3q>*wuw}~~Y8ji8J0(Gz!Nx;#w%DM94(Ah5I zJW>ouYxU-;>oqpii}fSP6~(!bD=_bgIgn2#0W!XKcU%JxRjdujJBbw?= z?NlnyJ!3exWxC<2p?|GcKO>AY8hBVEAiVd1NX7=GQd|-774Ha5ArDZ zALKDmZmZBYLw~s54LvI5X~_Xj&^~t#?qa*5_OTt!b^8@M=qt;kJRlEs?_*%`W#Jj; z^3}fj6?@QERu9M?O@~yTYAxx-X_RQy`p=`f0NM;uX%mYfBfWQ z2Po;VM5f&%8#&I;PrH2sXg3aVt+E{YKc(Hi0knH=8J9-8my^f&X!mmRxE$KOjC{{a zyO)#4`DpiY@;D#uUQQmZXgAtP{8gsiKhlU6!B_R5TdZ{h=9-fBiVPPyP^Qs8Vp_;> zdd&YC|NL*c;e0Y&`+d#wYW?vvjK2%Z&#h&+`r`&J!v)IN=fpX7n9u*3*7JY=G)hZ% z1ai6hKr6YL=6}f4Hfwvoj9-6j1*K^rQ(vph|Ef$~f6NQ{PL`>!Z9}H6KjuWZEK^_G zrc50m!~MQR)mz{`DiQKPJ6fZpRCUdl@&5Y?;JqEm&aGvx)@v3@E6dGY2XdK|=DYf% zv>rSc=c-IRFY4SiOa0L(j`It~IdUjK=IU&QtR&0Lab`+u!QF*~b9dPJmT?G7jVFK!fbPFr0>80r<#ePA+K+gcX!hkV=`*3OP9JsDjWMHJl zy0SUk-yh>|<9bNkrL~cCd!*L`zI%~wFQv+`O~&~lqW@lmZ$1VtzIH@++l6Ac4`Qy<3LK|4qQ8`I4@Jz z9e>g{MEp2c*M?>4y5o<=<}pAx_lNs&PWm{$c04$a#z09A=A7As<;^_HCX3~p4W4C2 z$i#gdkaZl8wFRv2$8jATbW-Ahor(_56z>Ry4vsI>Z$;liEXYV6J2>pFkkLw3+Ov;-mjeMo;v z?G5oEjes;wNCR6XjLDfYeO#cNe5BDJ%~_<;Drq>)Tp$g|UFyquYS$6aMKqovxs>E< zF^Bfeq9%Ku<@;rNzNTDO#@B;I!{^Cs%KFA_MH8QQ`PYC67Ipncdly_r8D3^DntsY4 z_QKteSevCw`?DddbR=12z_ZZ3i#0?J_U6LZs=~t7Hz;?P8V)R zM>`(}KO>I;m(%`^(MTtle+DfNP-wYSrsWHl*P#LFG)Q+A>128?g}#C0y$kkbht;5I zgL@eE%8n<3rhkc(_5Z(+{@-eWzIoUnNg{pxu<6)y1)Zi#`?iDb72SM?zBGTORCQ5k z>*vNRo4dM*{(0dLee>n~@>`qp(m`rJ6IJ=G?KpL9&0W?FupI~ACs~g2xVZka^LBq- z4_;jVS%1*4k8Vrb6*+Zp6~rMzOCpfdgP(6xUF_db&o8$KSFlNV|`y1 z^+#(tTGbD#G%d>@BtwL(;CjKOBuDRyIj0{m*EQ=UmqxXryWHDIyyYTswgkx00Ww6) z8cM6y?fkmS5PUPzX7KPj?sZX`X5Hn|v^I2?dmSxwmx#mL-K@LZJG6!F(jVR|L*O3C zD3Tor5{+b+xR(_xdoQ?Wc0T$fRo!brUknsGVt(#`y)x3bZP@2i_ugpk!2Vkn?GO6* z;C6e#<6~%lf%ts7)X-x89%E41W7s{A_DE%&#ctSAHk2izLZtIVU7B^N8Mb$tke>iu zstLMOZg1h=+l~7R`Gu42k(ZCX&~#}xL;Yo4di~)>=t;@Gg0GKp_e`Td>_1Tmi%FOM zqgVCuz8<(+^Le5b$)&c@Y|9wuZ(G9(b-u)21N6Q@lM`^RAf>wVP`DjZs-v@T-(ZO6 zi3WVDr}Jcwa~!^5&|vqBz}im}T;%BfVN>E9>7+%&!Yx+NmHw0g-yFdHXN*q1Yf&hJ zE713GGg4tIZ~N6?nGAg>zAKR73@NHDVFecS7v`yKlt+5a58x7SSpk>ksWQ0oUHCBW zg5M6md>6i#?!}&6`vXl|lQ9YT2k`dB#+npP8avWf=~+ zCkJ-Jy>PD@<|?yiHgyRHfVd$(3ou{EQF?43eu@ZjRPE&sFet@Zfu>k$A z20FhWZUwBA+ljLEwR2cO?L5F-Kp9{*U>4vBR)D#~yO`wY8Qn2=9DN;p1Zzj3T;@GL z?E>%7T*e-lvUU{Gn&ry+Uud2=cP_Y~Zsg}3d@i_foZ5i7AYknn?Yy)(fUWS?@#j2B zYK3_Uu4@LCy4`%@SPowvcIaS)Y}c(^{XlJ-1zHK=2n-eFuj>Ain! z@7jp|#-68chuq&k972El_dMIu70mF>sJ?7hMT`E1&5Oso z6TGZ*p4vZ{Q_B7Q^1X@1KJieMKamXzw>!Z&t<|ss8ngJ`fX=PxBXCAe@TJ1a6g-pk zLgmm8Wj@~6ME#BX3-O&KnO{)al&aqv20Xz!Vhvnq?h#}%TXCN*DhS#dhx?NY%s$o$ zdsPnHshp3yl^uAWZ|R{qoW^4B5FhLQSV~E#(O>V3_5ON)r|g}7&-Xv+yBX$FSf9+n z`eat0mhyLQoPT}N$~MMYx9hM>PiA?2BJXE?fO(VnhzM6+pTKgJzCFY5pA1-MdM=!I zMcI|5%f7;Nef@1=XVmX+@VsVWZE-Ee6L90c7V>*w8KOTe3yk z3#Y3EdJHh%|{^~o}IeR9F_vXM@MbZ3!H%gbA)u1_wQt}m@mRJ*2h>Dw||E0YaO zy0p^@*~IF$F0qrnQM&Z~60(6wsSL_fWiiku*5edSPJBIupuF33)`-WL11y`Co73hVZAF&y8=HbNha?_Ih3 z!KP~t*5|oKvuH~-iDNtRJ3ig9(eW9vvyw9gj7rYv5BWvk(cr0Mvi($LScKYcPZ^Eh zRLE-I4J7%E#tiNbPHX1z&fsL!m(~D!kMn!zA|kT`#u)RDv2P5N2K((znNxmj%AEQp zzD+7{J1OX{bpuL-o*28%%*PkkFT4@9ot4s`3!yJgA-%&K*3()Qxn9ke+ql^>D*SnW zz20A+(&WrsUGijxHuL?*$R%nz%p-*XX-efeB&B{DJG^FT8&IK@5-?n(b!z`jKG_VIP_11$F&s#{F-BHZJ9> zHfyLapssOzE(z3u#R(|UcF*cCD~ zcy9onWgYW|ua@w-a~p{^^!mNzH8_`9mqoEe+!&+g!RLC?>t8&Mtk;)qTLRXHk?Z;Q zwOz7&?{?kkqHk&h<}cf}>^SPLBlP+x&pqrdeDf5t*|Id27_QVwwQYf3A7Na_j4<3Y z&}w~%?{6cV?`jb0Nm<;c+c_M)wIa z&uH*vObMYg#+?^pJxOsf2GcN4SE~9M&^5z)b0g_gJ&$MO9BPAoA@nqOR|>w+Rptv{ zn(*9CmE)9m1{#0JI}~9Z&9-qHk-vlDV7!l0!h-PLN^?HKvhdz6r~P6l+5{WVEN@)$Kt06eO$3 z{jlFb{X~0pxN8D^=-5c{dQXB)Xsjk)g#E2~lDzIUL#F57hr{~rwF8jZss%6R23r6A zf9$<~eALyQ=zV4~`2|r%95G6O0iq2MVN|pe5^(~t8-(qXwn0;iGDxDKMvV}!W1TQV zg4-bU-bCnLS_4L;y=Zw{+Op5X?!`1+X^Xpbm%U4G*)6uI(k)i@S*qBk5HipEbI$o@ zevkz0_Id98qm$P+=l8GA`JB)BoL`^MNlf8`L~n!eLEV_b_eU{h{VVHaS^rjG%3a!` zo<+>tyg^Ro1Hb*YY8HO+f0aM?#wSXBq(DSU~MeH=ulC!gRP(og$@i~(ztC%BxknGbefF4h$Iy(QqX&fsXVPA0|I49k z%yE|X{@APcz4X1pqw$Nz4Etci`)(uND?GX^ZEtSmI3*+R&E;)R+neLO{-S$@o8^4( ze>NrS_zx%2_U7bXA!AXuYqN8{_YVh#_vU_;a<6c+bH4Wv+lTk&e#JO)?j3G6yd!TB zn$W4x5?0Ce@JROs9a=1Ow_08E>kaU7hUWhGjKj0=?!XuA>a3ABB~cG=3vfgCilSBA z{l^5iO5i2!K5OynMzd0TMJ4#`j67D$}fgFmsloRoj0w;6IDTgEGK3pIb# z`@16!e$#Nu!5@aTKGEK@gTnWh|10y~pRhMHkUJFnZN~iP@Ry5bkIY}X**EPr z{AK9ihkK(r3+z4BzYomYuIWQvYCk(TD0BBP?|ON8*Cg});jw!Yyq$g*{sp-qvlB zcXIBt4jw??PYK;O?==2yMQ{mwX>GDk>h6%Wz3h+6T~%jok1mcTS@++&CRg@v&_DSApiQHq-Xr zqq2V_^NH*q$$X;u*Q zW-J#c`|-_f%^`J0__xrm--M#>Pn$JjHg|?(jrgXl5d*9dYtfODvPPW48gT||#1hts z<9Kt)80H?Yy)X5*E$bOudT!D8jzPGPC*HwpGC6-`P8#Op%~-Sfr;g*){KtP<=TG|% z%DXu^7Zf}fUNiPgZJ_n@f=3^2GjuC<)KQ zRq1rtn=Nt`kavdE@qc${V?@_I+Hnns9R)@8;xwZBa6>H0Qh7e{h#Tf7}i)Q66VbV4y&cNc-D8@QoAF zdH)|2275H`@0B&X#Oq{#kG%w04_ql}B@gY-ehPcX0jJ&R=P}4Lo6MfzCeE1MoH>M~ zynk(W>ajHO_s7UjuY<`u&RfjMmA&8ZwtIy63*J)Al(DRw{lM}I?la7(wd=FnBkUc@ zJFuqphrS(&<-8G*J;T^3xg&q&EVEyzN>X5bCfWDjuP*bmzcNeYVEncom^D#;j^q*F zp~8{}dArHGjy&~xCjPpruiXgW_UAKv)#{2jb^g14+LO%x9(~qk`tp0H9N3WW_2rZ$ zFrt6t&75uLJ2grBy9bEl-a1uz1PAonNcwc^5VAn%-=&E|CxDqt7 z9Fjb!E00p3cgh=({-P|Y<8AB0ZoO`E_zT|L<`I8eY=mvE< zo`lbtD(4(h+KLMDHH1wIh7y~lKK6}{n>QXor(N=P$JY6dvN-T3o|FSDmzgss&YyUb z9F3W`&B%rslK08-#vM2n4!kzZo?toi90gly0I(h>Nw`) zZqA4_OY->FxqH{naihjB}sbi}`dc!j{@LQLk2-l5Z^ zt)L!7_zhAIaA4@Tz**!i2;8Kd zOS(>vys20I%g(P?=O^!TL|)Ssz}YK#I(48dSwmCz#A(MbOnK3a_xKurUj!#oWPGN) zvG1W>$hOpYp>-t6`}%g`YS{r+UP3#v66AgTNb(ZQ8~H?E`)=UC*a7eN$E%$AC9x;& zF*;!J?~d0av!LgO0R7@}WDN-JBTM3G>M#i0qRd0{c@Qsi;AzH$9~ioVJ?yi~J8u~q zj*J42U&|<%OaDZlnH;HnUUkP#LX&%V%g!5c)O44{xC^Lt37OJxM8O9 zm-kTTmsO#;|Dn!^JP6jT#RkWeS7>p3(LH;ZyNad%q#sjhRJ4A$51WKubkcs{+l_r* z?Cl$y;k8_yRVoiS=iQrt=1)ruaAzYIcemhBnV<4cs^YFa=$Y?yJ+Uh?we?~(S$*MoDZeJ1q+ZkvUj( z?9QR8XyfFk8B-dzGTt{-GcKOf^z%#{o%1p`@Xp^CABRkqaN@kcV42|FIP!fCxvX(D zg>_ny4iBj*8)j4QyV;i;uY$EIcm15rD!0{7dp@r!I>#BAE!^9jU$!c73Q!?e09~20 z7%z9L3i1dd?`43q_}p5>`$zmFP34Zn3F&7IW6H#@v5ds*<8`BxGZFl5;*|79^PjMH z$2-OjSK^f5LFG-_0DrIBaDtbS*x{R%33W*7<^1X^aUr-nHY+F zQS!(-Ge#ao8EJ}bnq#A^O^$j^$|22slg52|lr-F5v2aPIF?%#S-A6}CLmjh1 zI})W`^^8A@Kk-xC$(pSi>8}Hvn^AYyK9TDq{n31v?z4UPyP~;uuLb+0UhcCo-jst^ zaxY0upJn^cPydl#-j$F?y~r5W{r9Zxzw|u%Y#w^Aca%K*8Rc%XY3fHWm%H7m{pXY! z%IrVap3FRge@7et?$*d6=|c?%`cS6_=X8I#PMH2c58p`be#rJ=vP@v*>a%H@M@eJ) zFg;DTO;bBc8tKCldGF4fumb5P>L;{{dshp5op^32K`u!ix+ULZ?~Zu~o#-CMa3l0W z#+nyeaiQ~+$`hI*^khS$5?KfZ-9J!e0lg+bj?=F zuoq(Y@D=d+`AYao`2u{wuGz?)nyq=V@j?^3CMD^e~&RQG+F;s*8dmLH| ziGM-v-eL~bTesuir0nmGuu{)%zGq+SCL@!_y7yMk4uFZD2u0|u+ zk{xmpo>iFbcKNc^^rCFPYa&|1uFuYMP0CgqLd?~KyGg%+ z^w&+!E|m1S*JbBO`c+f1!;;=pn4Kl*Z!XFXNctSA@<*9WO za}``WdT8>{Pm{0uyt!%|_As9xcMqn-kMo6a_Y{`IgnPR$7fFkGEL%nUS-v_>d#=SU8q!K}AHXc&+rqaD_WKw(_XZw<*T!#&&GZa-=q+*rTkm5i^j9t2|q&l6Rl?S0Zqe=g^{#+&DI+x~wN_icp#t?mB?+&AEU6;t5#EZ<$Ye?@xfe@?m86x?66 z{ojiF4&47@`(HGq-GuwEF$JH##P_GT&yimGUvTDX+W&^_|8=-;CH(ug{{^Nqaep0C z;hx7u^m3-5%?X>+L!+j_2pW6O^9QQojy_kYe z|Ap`Wz&&L9f3)%cUGkUycgFuq*i*;<&k2|QcgBC0?SE(d|D)~yM&ii$|0bsVb@0jf z|265Q|3@4DZ`%H^CytE&S1=|1Mm`z;?~-2fbH@KyZ2vps|DSFDJLCVah?_e8e@A-h z&rkD>H2%M5``;P=Un5@X`2Pjzr3TLU|FZ3WXZ-)j_W$RJBjf)sF$JE_@yYoAko403 zqmBO`+WvotI5PhKPfUULpYh4~|2NW0|2yMd}6E}7IU$Ff@+W3Ei z{H4Cm_iB<$aH)?o{5 zO8j;{8UMc|z0|-N|NqtYzcc=SZ2R9C|Nl2}Q^)^rNiXdgZT$a(?f-{~Bjf)sFr~aN z^2zxBchU#o?SE(d|IGHkGycCr+|==(P+sQeiF!;+PC4|p=pFSiO0s~I8*Fir zLaljh_2X;THmq*(H#V$7p^|@fW5eo4lzQ^9M;?3psmJ_|mZLR~Kjwe5p{4P0)*ovg z`%ma>s`o#&=CS(6pYpF;^M!`t_%@e^npQo$&cCjqg&HU)=e4W-kFHtw=&F|0jl+3p zJy8CZr<)s+`5F~beiLL=IIWX>S{{Gg|LCg6p7t9*|Kn@@^=nYj^w{bKzY$HlZa81j zNM+*<*TbndYM`7f);2UZtddGPVNGjV8rH6AnrDmEO>n}T!ki2p|MWC~3}skOn3Kl% zCd(Q2mqtCbYOVjlRRVU>IsH+;s%4ea8>#-b@wT4?E~EcGQNcFJ8w!$wNTRzWo{

  • F(U7(&S^`DRL{R&+=oYygO}q3s0ML3sd9X5Wz#IFD@Qg51(R^Rdg8?VU3Td*%Ze8Clvrd#h8+AX^GYWqz5n^&ZV-weDY zd|AkbS7n3;ZMaPzIBLqf2{@(J>!t&yUdvldJ~v6frQp>~aT{)R0NxbH2rseW77t6i zO*ylUq{o|e$i_Qh%9%yE(*9Y#jCchm-aS?a;Kw5A;U8n}#>@?+ z*C#h<%d!2HgInTfQ=W|H?6A21LU~RgQ9bgKlAosu_i^0KDehymA)exSsZU8+a8Bq`3ES#2HF)??r@nsvG!R zb2KGI3^s!2DH`71cQ`}9sZ#43Fx%jTB*4~GGj1sD*4WRd*ngN}e<#KMlN9?Q?9T6C ziv8tbyQ90|(+$FfIj)+uYaT^+rB&iEY`N>P`eFNL8d|E>tZsqfTebG-Vc$P#XsOl= z;;_$Wo_=g~&EsnxOJ=?pr69w>OVIdv%gQuo(j{qC{nO~nT-WmCgDW3|kzDiG!z&vb znwmwY=NDE#q*ZKwVfCse^n?y)vhtx->nQHghDTSYl;o(QSS6}QZoLJ~oNHH$@nkbB zRD)qs(M|!U_|Tfj+*>{#xK;F1JZ2q4)S5&IxQ)^A`{?bw_4fJm{rac%Q%EH*LqCO! zvG12Yq|033|46?AKVgh@F?@@DWmww{T+7R+umZ0M;9;v4~vA-Jf((|MmNTpm9)BycR7$$cets-~8!7+njHr~Z{t zs5Km}39=^&eJlrig5?$Pf+vURT?OMV4 zMU;DPz;^@vx#16_gL4PLTmZb2(X+V+Z+}-KfW#Wx$Wz`Si|4W|>E;x8Vzqi=_UnX^vZ>0WjozXK_zatFO=W%4k zlFxE~G9S?yNM0q}^Ef2^-FiPVD0H8XKP`RE8BBrXE#LA-au-UwxNBS}@mf1pN2JW? zRfRRJn?q@BlDo~ZP2lGacS!Cw$Nq~K_~)KPKE4Vb<-)|ytOKzZkO}W@u8DqKWQ=$Y z&v`+)ImfH$xJ$Vz)T^(Sl_xHQ)vMp&Y|t%mm3z|L7eiq0;_Y$%z zl&Q8XpM|_w?u1D`WjAmxyP6N(q-9yiT=<2`55A%D$>Xdp+omUO7VfN$CCGwbN}afW zv>jPJv@M5nazu93cE(f3-S}7IpRMwVpWne9|Lvc^KNtTTU5^6lQNW$`jiPrHneSdq ziSG&mD=D*bXLgg^HR2ratn{PvIrOLudeo6ZlY|xtO)~W8GH`L%g;Si_wUn`=EA=ja zm2tN@6cW4_oadhJ36ZNMxI&m)(-9CV!}PHSe3jJHbDZc@gYLBw~%nYiiqa z*E1F@J|b_WP3|>loek0-qO(E9=`u`tcUFNZ=jWxE^6pITX3D#>f-Skq)eVk)R8#6g z`kLB}r-q`O88d!d+sOxby0tN`M zefc;v&0Qq=p`zcrmGO0+_D@W% z`3yL4CxUu8dO25E`G(6d4IVsa;qaV=!*eNcfIezG_y}f7Yzesv51^=J=aKI$y~#{h}+Cf zj04;r+}Y5AY{H$nDHnI{7RCW{PabnmU-Xqi?&l4Jgol7$pigG}5uq7|hxqXDMf>X) z?W3DBis5~By(^#Ge;;Yj9|bO>)5EixZTM*uE^D>a^scxG zFYws?kK`VKvj#V7+A-Iiw*~zE+XA<+!n_5W-+yx;pjVtX&%brP_Aq)8$$itN1 zW#~n`v4>^q*U957@kd-QURp2WylRq8QtIYz^2l7T;wA97lwQO@m}u1dmi?Hic?dkS z_%1^)VxW;|?3vvHeo7v<$1x?X>nNVqE`1G?;|3z#!k7PjJ~*(`^okmxxQ1*`go*!y+$kG@|Xkv)d! zk8X{~IzM`V_ZqU-z?(SPA4uDeV4pzt2A)sVp~s%U@ST2pSKPus%sQ-I?kICVyeH1- zzOx<{`2V5S#O-gvOTi~{S9?46;00c)%nyI}fGU-~;Qf`pH_KgWd1LCKZb9aXy!IW+ z)3#pCFZY`}?``nV=sEsyP8_*?+@}>d%DzQ#k$Yq7Mf&nw;5YZYlnWZ6O`#XK^(SM+ zv5#aPCww5xKly-5P+){kIgh+Ofs3W8?$`QL*pDcP`usKIQ5t*sy-2m1c}E**1U_w~m$tW)zMV81 z1TNG;-!t#!t<1AMvK|hYda?JDtXGAt>xC3QDc>Ww&HZHFVxim2udcuM8QwmWp~sKB zY0qBq7eCgV)5M=U*k|tbBRl5?D?3Mzr`$S$Iq8{e=dF;m(s!h9BHb0-3qC5k?EI72 z$eZ@>y_Gu)JkoC7P$uN9qrTUVJF1Qc%DE*WX<}uv4tH(W?}m1|{FsI}e^CiGSotIYp1dIn2)Sz(J%PI0Baq!U-k>xyEz?u57{|MoDt8SXlX^&N=u449SucK!3%3~;lj<*le{PL8J6xq^T%h}C#BnjH zW2}564>K+%`7bkG;aKscEv8=7M~_S7%~oD=Y*eM;{>5YCSX%hSW8-+n*l=f#4d(Zj zd*>iq(vNJ(2azo)^iJ=&<;()QaW`@arXiQ$1!zLI+9~7z1`RZFEmp>laz?2Uy*l61^By&#n`WIi0EQr&08&pus>PJ^w?8Sa9lfPO` zp3a;el6ppw&o6Vk)k_l#1;BvXIPOf+OnSoaYpBJquO@r)CE_*YoDAm-l!sgi!8YO&r2wgPnr4Yx@{zXV=g~+#p&a97qesbjAvQtAww$=N- zefg@H{$8f({p*QCmY%q!?uMp##vJ3rwDt8w+|rcdk!gzOw1b~ACNp`eBuyzeb(!%_ zjup?T7c^xXeBMbweHrw`bqRjR6(5_PxH9>ni)eo3>qB*yM^AopW;EQc-1VDd(spQq zXN)-eOq}2N$B3inLF9KllM^l=;eRdW8;hgj}N0Z&ZzJRwSB<(&4>CNd9<=Z zZ3D>O`7j`3k#V0-TaY#PF~5v`X_Jg;8-~2V8+&AY5>|(QjcMzzkBy%92hilR#{{3p zh_jzK`$i8RC?>pfjBw-(oNXQ>oHyTRYeow|h*U+)-kLN-ppXmLVq=b1M@ zD0Ipc`rr0b6>b|+^+Io>lm6O=tOn+~38$dtwZhj!*I94W=(`F@9=^`3Hxz4)7dcni z;Vx!x0o?%Z66REN19*Ix=myB`UoZ{b0G-F>Y&j@&Cl)?F5LIoy+G}Ns`B+Z5!8F{#0_kD{xKniyeBs%Q>gsOSm+@ z`0Fun>C9Q_cfo=5^_{_kk=A$7MThNLv~KS3`p)79XUZq-oC94*Y+()2=f{w<#Y z&#*@Bq`dDFT-=A8a?YunWB$QF9Cz!ToXfek2XG;P>8gDYeF^oVTjG6R+2`47SpA37Eg^YBU$q=d$zOC!Xg}7!QqKQZ zezLxna-@vdbD~?ql+Bn(>Xw+vxfS;wINLM2CEh`|#2YGyGvizhlQDHmypL`PzDM}( z=F58@-4cA?=lhx|i?T1NTSEF0K4A}Zz-{ON@5C>n0|k2izSMYw4%ApW;2)U|T+u(~ zxE)^C7aYC3cvpDGjF+SXvfs7;(&K-8@Dk(yY+CrmbXPCv=PnZbeQS84&p%F0taZcZ zb6&w61uMh$ec!i4hHdW$P3$Acno90?2pvCY_7_-lnY#p0Ou0+20@KK_HFpV$dX}QU zKk!5ROYh>AC*RpIett{JbAnkIo}};6cWuzI!xAoIK(jWlU$;xqZ*YV|rZ6<%}JuQ!#uK^O6QDSOM~&E7J5AsZRsRNwzv(Gp-wQsmR_||f=k|oqDCT7LC;}z2 zo-unAzfkGC1hNpXLl)v1WFanMjs!sLDeWJv{7~Dw9mxDUA#ilQG2$K}?!Ga?kBNSX zF~aK!A9ajY?)qh|;2CSY{jnFSWp7INBmEH&f6;X~>Uepf&hXUTO3%a06Gum@N9C@6 zJq;gN4ZQaP&k5=4;de%DAL;a5DC^WQ^6s>4@XA_A@GthraqzF&-itoWIoparbP=+_ zz)^U?6@tGayL1?bO9Y2KEnVwXRr~?=);7HyA+J)+1F~O7osre#tyv#?ArgCzbLEnx16J-1!!saU_MN8eFGXQYdJfNJ|R%IZyQ zVg3{|fGP8=xMjW6f+=^kWPX)-R_@%&JS%tiaxg`2xz;5j=Ro8oZP#Zx0uS-~L%XFN zp`AmFt)b(sYX)l8x4q0>b3(Nbu|LXQY4k4I{Q!HU_UtWMdv!!)&^ddhq27~mfh+0v z5AS&+?=>oW-hTt_^zSo!-s4mDyzjPq-b-cA`_s;zciiEHT33FCI-K7-I_|zB=U+8~ zzcS7?%}CPu^!;vIw)*Sjes^lw?Hfm%Vh7D#4g%p_JY|5j`ylCcqjYE`IxozMH74L z)zvCX%b`Tx)oG``)b)6>ovuDPLqt6`JXBoAx*e~0& zH1W2c|3=Fv)b{VEi8Jc{3*l$c6Vxy8TAKJNci}b7Z4|mQOmp)Wk3n-o4$XDu>oI8V z&m-WLrn$^@RhlkxC)c5ivIi3@s|vI(`m~R^y9zwb8@*j0AV2TtB@RBM^wYs)KfQHo z^z^@BT=t)G(vKeR{S(CN8$JBD^9dhouZ{Nh$45{98_rt#!=s14UqE~2fq5f(?^km`y%&)Hp<+RI4SZk=f#=tkfR9QKc?kivi1-< zNuBli5HeT6hr|J#`gccIA(t!A=*ZQw?xqZPv*Z4w+$|+?S4NY&^GCT`f0Vl=a&jEG zJFj9-mAmstxm)RScm61MD_!p1ALVYP%ia5<+^s*#-TFP{ZkhKff0TcfF8|81eHq3L zr+5Z(mw1|YG&l6){sb$-v(|l#=MQfvRos{!PnJ|V-a!*@MqhgP4ERhPe%yxdHTlf& zWyH&~@v2R{Y1}tYtl&1`U%nW@+U}rrThYuzTjwj`hr6yy;FVxa7b-m0rk^xvgH?S zH*gvcdWVm-{xO;G)PAR`TBV6E+n%_3+dp0G0XGZuI!uO|y zcVvWbB)roJCyahel?UW*#7#fCHyXIPN_qa1f=4btZt3TG6Rv<~YPjmN;b9wIOy8xX zSELttJ%MH$?#l@G+VCbD?#T#OHoVb>=kffg22bK?6RS3Jun?x-FCkSL356s~@rxN* zJva8?_a$Thm>>IBjeVZjuQsxDTp{d!W4{rrO1`l}-i`~mc=Bsbu{WmJKjlOq&XN>+ zVA$@w)my|1JCSRX6l5bl!{TYgA(C|d(1LA-Mc3SZTZ-tK+iy#XuDSi=3?Mc0=6N^E zD?#UX^DVap%RU|qjQW1?_F!PXjvOBM@E6uR?mQkG`nPj`Pj(aeq;CWaS>Rj{Fk=!?^R{@n!Kk#~b){yy&pXUljdz2M6{DdWd+vD)9I<<-pYBR#Qi0&gYZ?TjxKClA3j z`CZ1l!O}kB5r3ZKA(>tDyY#!k(!(SQkVg?_Y97P(l`ET8tu#U_S2nk-0@ zQKbX8;^eW+Z}a1d09{$y2{SL?=?U znmx!KRCWAkD%2TM1=VWKj(P1NNnfCKEl%Uz2w-AQ%FCYAzA)`@zO?p`Z+RbY$jIAi z2Qpi_$-BnfSx|YD^>gZ}^=6QN5&EK6L{)AJ^?eHWAa;}c zp`EI^{bwqu-`dGN@80)Bk4#lc{u`t%Defn5*QU5v2|TFBX9d2Z8)qySSF2fFaYjA$ zn!;XPM>#V;Fo@ec8ltU}<}FoySsqW>iE$vE;-JoHyqA|dSz?M$3T zF3_pC2i<~kWViGtPGAqltI$DGubLVmFw^~VF6NRudYn(A_tJx2H^PAteWMg^`bL`- zl7Cu%NFVP&SB~ITFL&>gxFz~>wC=01+8!of=^x4#{5snCB6ax&`FuxtBuqZJ)9&CL zb=tV$PV{tgZcRUxNIxWTYSxl6KX?gV5f%l{yc=T511{7H%*aEb->5OF?n7qN-9B)w zp0}xu)#_vaC~+iA`cTqH8Ke(JMIX@;Z;ca|z10@VTqZh>V&4;;M5$andV~0Iw z88=N^!CAfvJ`e3eIC#kt>Q*OpllDvh0>6NiN1R5H#Rd?29 z<+m7lVJUjR(%=dH3GO-Y&`iX?tT z2v{t-DdN`z*}EY2H)<~MNTDe=ehGIi@K`S6&gi?kaY^j;>wUpil~t{7_*20hU|mC5 zoxqd0H+)v|sGu&vjipC$KP_&dlh_~C{f_%m<3r-<`q5Xx2TKo+M60EI-e1$_H{1|K ze-(XJ7*?jwhSSqNr>yvc=vL!xvZmAEob+32eDG>W$`lw1TvF0`Gt&t^{Aru+cY(W{ zFB`f+ziYYyK2Wz%wJJU(Wkf^j#Gt_XeJXla5+^!74-paV1C z6n{x8a&g2j^t>vV*Pb{}9gc7&F8vz>XO7a>F3BJNLvyh6cCK6er0s$SjL(|(@2F7w zi-uO*+n$5q?J@+bX9GgmP8Ow;|)=j4|rV*=VCV^hYVz-rs{fA0xadgJ9Up~vhc zZ@lxn-i=yE`X{(|!F&5)+^e>`yycxg_jYu-yj!}adpo--z1!p-dbOIqDF`1TcO2)$ zCk%0S#oIw#q0PWWw=p=~8+K@m&>}siEjJn(gojXSVi&H;+t?aG%(7 z5r42Sg+JiFQv9dzoa=?>oIWd!KUfccK>GMp#u_}D<_{i7;SccV{1&<}?VA#Z^IpRr zkcP8=FL@^U0~=TK2i%p{`~hzbtCjzIr1cON{$L=0i(G4bT~6 z`w6eW_%bk(I9BJW(|2MHuQzc7ou&q_fSnWP@?kjj%@i1Z1paf%r#>nSHGXOSb83SFL(6{- zucu_pNEHBn>#R0=1B{7{l<)#LXgo zPe`vTgg!*SHWY})CUQTc=*uz=;cc5_+)8|rb0}~@@3TkhQ@La46!tpiFMTgsV6|bU z((m)Pv%AK-;_qHYIX6i;ybJD*ua|kC$leP{Y|-eK z?tk!XBY9UzpUQXuUssev^SR#|WRCNY{>kC=FQ=xz?%#y(2Btmf=?D8rQ#qU_t<3BG z%HX!EThf^F1`o>E*0?cznb)H+Vzw$y~O&lf<@5p($&whkF+~nbtdeC1%YZizpkG@W$1hO)Kl<`cPs~;J|jOfeuTE9j34@gF?#L0Bg3_Dm4@rCp#$lCap9TgTX`OC_yVF4YaC<_^%JgPs71$ zZ!}V{7FBu@jFuD7ZLxaQR08i#-E=OzoJ@Q zb77SDPn!5Hx&LR|dye{F^TSc%-(~YJa^hQ@J4TwXjFRRmTZYO=gG`HS8b(fY&09{r z(sA(I9@5-AoF=U=u6f1MgA-0U;JMVxH5@;!FRppowk4Dj|8TYP{o^R{m)JUOk z!7ib1$#HRwp8r^zceiUC`d!HgalT^4j%!fj$at`0;mpP3=9))s+!g6@e-{}c-%5!~ z+10k};t}FZv2hwroPm88$MI>o7|@?HHXqLjarF2n&S{%Z=Lm7WY3r`Xb+Vo34vi4^ zSsk}`P)UB8MnDG)Tn0@1p;S2gmYZ_ViR`tEKJb;9yw2}&@(PBA^BVRudH=S<*1yDw zYs>VeyMKE;!`*XnxmSPJz!tgvy6?{gGSb*__PawiT(_0|p62v;zZ(#qQ{*Cw952oH zq9-8w-;whtYo`~DPIqTd0iIW6@Ux%5yfIz%>2)aa)Ap9^enKiwYwy?|Asuw+s^#$2 zPgm|r94znA^G`z7k-(xUC~oow&;5MGd?kEUeBxKlSHS1x^YDfEWX`YPtLJ0gIdKza zova;W?e9de*HGS%mlD(Sm%A0gmLN%20 zwH7ap$eKppNy00)#GVT`=hnir%Xvu^<|@pJ)(3N2%4Q^vF8Ajw z?Ed~7l`?3F_F8h%I?J5&E1m2wAc$bJA zb?{5`_m$l)Pi*y1M8;b+VfR~jg-Fxs>?L5|CV4MSy#E$+B6GaAfxJD@aA6JQhE3Ro zlfYASEFZx{KJd^X%q+} zI(s3EQD;4G_CYSO_O$yU=8S~BF8F)l31uHi&eaZTe!mx)rg8R4s1SRgdqj2=XHNyu zgZk_VnH8-6I8(7_2jT7PgO^tkUqKJ?k3H~D5zdL4H{6MC6ZS&cGj5bICGYUdpGzdV z@E86O*`!`MVC=D$+%t}x}h{Om)^ zS!`qcJLn0Kvt2pk>Mel=UGZzeD%c}h#+gci*;99KBiyb*-8GbF)}XSMpT>GX)^sar z>txn+v^BKTU7U>XijNwfHJ!wlbzLm{FFxwHEG1purPIZy#-2fD2>bWc*<;|G?bYdu z?EXPY{iMI6lu3Ve$ET@fwTt?$jD8M%7;OT3_g?z{g7n|TFe!LT&J6@6u^nFN%Pr9d zPqE*3VOg~r|4rGa4T5i5R|A)xknG{I1}vB*GzmGl5z_Jg&a;d%s|4jCPG zyMi>(r-Cm_9rV1c_i+;|$p2Hr`IBEV|M71c{tLMscj|mAy66}3Ju3Ytd0;<5`m07s zzsaVr%1B=)xD0Nm)NA|&X^V^{oj2noS;wKs2=RZYgrxF<%g-?(>e z{VLMyccDYlmxrZ&7q$UYO#>=-4sv$NTD154fa#m_`=kw9V-9S`TmC0;$f=X$0qj{v zUJzXO#CG<}8_aHdjwpNh1#%7?yYGD;XMW6K`O7I!Q6HfRp6FD!Z|h3p?5vjaBo%$Y zTVrX0!9{ojXc#}1^oLenTy!Tn!Drbl))H~QCeu(LB5E>0!WS$lHKG`0FCt#ehwr6bREgu;- z@_uM>BSal#OaY%nfcQ6z5`Tw-ODXZq8iaPxcXs^cUt{rB&i2e2MB~TM$%}D3?_C?W zC?jsasn5_pYaXpuxnCNkUfIISvfm*ztEvk)GG-5qP*$tZ1%spORW>=|JX{6a|fLS(Nx?L1W00&?a} z8s|(v&IvR3tl6_R)17<(` zrJ;W0xXWG%?4;XAx$srO zyL-(22inEHXMi|y>wlZHQ+W8w-k~NljwOEflu%bpK(Wv_rSy!ug26o&FeV->K{L6y+S>x|8_dcu&?w7oT-;MmK!cMZMzeUkUF`+0#?b zY2x@@<~d;2D*_+s8)?&q_3F~+fSe!8IXdupowVj0Fm&ou?ECZf^1_O(>-8DMaq0=b zdSRKs+o5;#wO&Kgwjg~iYerccG9P-LAf8?q8d}NxqSqT)NRl@9dNAu{Jrn0$D)GCd zzM<|5yx$!>C1uE)d7-DejF2{EFGiU)kVn&t%7cRk*%z+o14jn;OW(+6X))`e!A5Zl z&khfpTyMi~ivB!jY|7Ym&Xl)t&Lrbgx6wJ*ByPLpA!F07zn$@!IX0y{jjOMtx8%Or zKDl!iTlr6s@)_`L*B`EFo`O7sHq}YnME?`>{|8^D?VPQnn~d=!YhGYBjyb24F)HJ> z9#do?1Z1sf;X>O!xL?xSv~tFpk``Gb>2YsP##P5M;vR~MG@kKVxv4lV0M-2KBuy>Z_u}eY5;6XhC}X`qcQQZ3@2g{T;*|%7`1(aR-sT zMcy`UF>#+DuJCWb37HQ?$W|IuSrX0|tBSpN6dJ@hgFo309FWgYE&PwrR?foUjfSK< zHExJ0>q{xuuHW{_c`s#LA^FQ1j56}%oEQ46?>;%}MUv{@9btKgTsq*qGq&!*boWgv z!|lm%=ViDHGThz_w=ct8nBgwUaQidd#To9B40maUJCNa?pWzN>xGOT;p$vCbhPyh$ zy)46Bli{w-aMxwHS7f-u8SeTFcg8#Nn=;;!-!%M=-1P5FElzrn04!6R1sN9j(Fim5 zmbtfLzhU*oe-fwSq51_k)Grk4{|3L=+mzNDK09Ddb`C_3_^jjB+-uEdYgSpaz?da+ zC71XmA-0;t^cwSH1J>-fCgn)@$Lg%uF@nzmj37VEb4_1pUT^NjzrGuE`_P1|GLoz}GJr`mQ;RmQ()o2gGxy)|pCe+Ad^ z?;;XhSfWy?qWQQ#!7bP`*6lO#CJ$JX_NB(3+-Kw4cW;yToBStlv++BuNq?lJYqIIk zxGCjMrXB*%$&@c}n{3Oy-j;j)aT9+1;q-j2KbW4+^#@G6>ukE~PFlBx*L9?qa;~F% zG3EW7HiOnIGUm0Xtx5YN{Mv47Myy$DP1`@$T6~yv-1tx0Z%y0&NzK+>XU&i`ORVWN z<~3)nY3qB9E&rN5)_;pNTdcXlnpM^;wWiOQzCmkRIQWiOx2>Pgw#&EC`Zrm#)|gk@ z_*dI_SKD@6ZQC)?wqs(Ui7!um1YTF!@~*P!ui9<>w-|GREq{XbpAfhH71p%*U2)pD zuh?hJh%pP!TGPU%pvk)D8*{uZN8X4@ea74T#@YVJKV$s!_gb^gn0YpSUXj7WTw6}= zDHEQ1!kR~|dC;2stZCbmyWP5j#>^Qo`Q=#u9Lh<3FPBqo-n-otG2yTz8%Xw4PYthHt^y`I_g z)9dM3X5zut>wb{;Q_>$fRrKLWI+w*0SF?48tw}v}xWzwZ z+pB1&_CK5ce$jQtykESj#lT0(O?}_!>bK$c{i5qwM)*-1Zr?Au4rPS**>L-Q(X~G# zoOa3k%A4%_N*DD_E5FBv!%+%-bkUBq@J<_U-@UpvW`xIWc%4n(k`dl)!)tALeMWfL zhS%8e+KliT8@|kjS7n5UY;TmYWmGaZ^KV!g!kL?qAluwb@{;EJ=?tbF73lU z|4J9NQtBx7JBrp0K0A*6>&9Lp`Tv=*7jOb4~J=mukdzPgA zb7L=-IH~W~cN+haF#cB>yUc;A(AeGhyJiCt0~O`^Op5)dNxK?I+Fid$v9ldAoc8_{ z`|nchOH=H>PO-n3w5t?<_jO5s*I%dD+f(e%CGGBsNxQ2l#s0$-`>iSV@21!*QtU-Z zyZYx8`_Geh*E31G+m*DtQtay86#x7b`??hSe@oicKVWx$|JSg6<-=cC*U-|uYVE2= z*C`xNKK5`!%WAPbwRTNQgILx!JhcXK0oWQIe@Kk_HESDIw`h;GYai!P_`_dV-PEvZ zZNpk?e|()z_)yc6>l!7rdF`6VT6EIpCr##Lmq8-banI7YUR3?wc32hlvLmFP}3@D zpZKq$F_5LyTZN{KFHpy_F7KZ<6-D3ub#mlM|ExY-aAjKJ2+S-Ufhm{ZM zK1*rA>b0wHy=6F46UVmVq18>go7P>FuL1o-nf?!d0hm6#29VY_(1gc<>FUOY)sL)f zq{|v~&#%<5MZSYk0PQ!wOUic$-Wm+(sNr$8`HqMOjjzAIoCl^wEh9ioEsr1O1J9#|**t%q6E|$?yUPFA^a>s6yZm|Gl z9N+No()yvx4-?r(Riq8WWn&k3azjO6dMQ~EskDQ_@PmT*)Ut$s2y5 zO5(sv+y(4p{iMe8Nju~x@#VXMk2wHVHRUPj9COT^hD*iRN=h1 z`>VX!>aIoyc9_bEf4oZN$s0)G$y>zYXw}tnZ>U7%kc#dDkv}Ts5>I4JUrxNxWyaHQ zFE3dxx~O%1mR%i*E=kHm<(#~z@_AsU-?AztcR@#j88Ai9<wev=psb-QtUgt+l_Ju(cagqR>3t}2RTdpPT~UQiXi#aej~ScLlJQ{mW0|* zsJixps9XzbE;)AM+^r6loRUK7l0_}rpeh11Acn8Z{*i%8rA3wMD8+R%Q^Qe|D z$*bsEL7F8C=I&d}IZ%H2Ty(Z>k$Z9U%YIBbZ)?Vs^ESydt2J~caPPYl4pOeX!;VDB zYdQKnbUy9{bEEl_=SJJg=Tc|4=qqnUH+Xc@Kv47r2EQ-*blj2X-K1G+(~P%iHj`!} z^2vXXGy)UOoR4j~k@Bctv~2)gM(Fk7{$H5~p;_u~4TswCc@+*UTIVd7+d5MCRn9%bsatG&e}z%hHBM6_C~8Fa@W%B<37fC&Y6pnZB|~| z9AJ!20JlemPZsws+h@wT>jchK`>WM$q15_i(i1s1PoW`c^xQcg*EGbwx#WJD(GSnP z2xzaLau|2W39+)Eg@yn(H}@Cvpm(JLL(cp~pMuDKFT_vokmkvq3Cu$DzMc|0@n*}J zE#?!rMZUG@3OJz8@F^qMBloiA-&Kw&I3srvxPMSmt#18!ycb#V#Nl2+755HGwO*RL zkeTtd1n|tO`1Y>E5czRO>DCXa*Ty@-ti~THN1lMb?;v;Nn`%S;+iMqj7hqo@av3mN zTK)I=T9>-#mW7r3CG;)ypp&6z2^Sq6pg*V5pAV?cuBj^8#T{-wsgK-qIV5$F`bz$k z`4ab6mbK1ON4sdh+@Zl+IbSKWy1pwdcNyehy~}5g3jTE`8Zq;6hxPsC?nE7?2e;fq%F|`_t9(+40nnG3d{D3Ol zI#m^IJr3>-sDRW-^D9$uXiz0a4)PZ_u*jykLbxZs3Kxq?gPZq_oV+>G>cPpm4wbCSq4D{=CW{JD=A0at?D zd&{%^F82pR78gXnjDr_@4KJy7$9q+2e1{4O?M21+{ni~KpOE!ig5NUYRN+@;{cgja zhhH9H+?ktuLwxF_Zu(4ZxF5g!nKP!UyxRP{irVqK4VvZlwMOsr1*eXSM(_64ls%xf zbxs{0Xq~l)`Err3Y-)Z7^u^n?e$wu)g_E{-JutqoYwCFJ9t{P}-QN#xqhG<9p%TFb z`JiQ`(I(ovn70`3a9=2Y=$z1DXcM|{crOJV7Fyf--~ykfw?e1weNe#}nNQ;{tLTO- z6=`3sI)#3TEU)rKuAF#*+7ey5$hY7ctbyc+% zFYvWyEoR*ldMy?ofKDflMwcw|b?_cK7C$WRzNjboTE|k_gB%s1=g@c;ZkKiUlsy8i zeG}dnKdsXzhp;wH^Ly}f<0pKv+xl(6FAKjc{IaZH1V0ac9{fDkuO7c_{Ic=OwthAE z<=~ftUyk*wz%LiST>NsaU&)pn#_b&La4iKU*H(u_cUY~;S!l!aD!-DbjpiSyiH(0F z;#V#=a8;p$L&swAxDEb=+mo%Zdp6V*`b+(f9krU;17??!XHlUh2%1 zW6>w!|KzRH<;Io#_1q3V35}6=S`M9Y-X976Y!kT{Z!mt|0T22nzevk@ZESzP6+_WvZUq@1N<7 zzM1uPaL4Dwk?=(!wXuhCgG&-aWqxqsZsaQIIzX$W4*8yi-<%CkJcDrB(&KjOXv4=5 zzC?!)+VH`&^vUpZq&+8Lq1SoWrwm-sNwyJqhsvfV63fTs_D1iU=#w&}Jd=;B#i?%^ zEO+WRPL}~oSG|+|VpzIDV}$W`#`M83EOnWxXL;V4-d5(^{~ci|<0sb5TOd1zLOTch z;K#zkZ^<3!v1H~*pTINK7;|WwF%ur^zt5Umtl4PHp~KePoj%@f{GJ(a=i_1Wl~2<< zc?0nRYZ&IqsO%qF+9&Hw**|pVO`&_ty9MQKiSu*16GPA;UwNE^x9&tj@{$j{X_?ce zSQog1j8CCaE22FUuZga>+sE3tAl4@PD6S$|heX{aGFF=ypDplRtP6N+0BwnGVh(r( zop&NjtWVZtH~g^uE%KK97P7vEXOJ=7{;u-HUi9jDIJ)v`Sz|C?BBy97cl;&4ohl;b z$6tq6xF5dZm695vaj|F7|9p@&2X)9SH>J$aeuOfQIAscr3x>(p_OISA6!>1o8xxXg z`q@c+1tzi%jc-z3d8+~61;17Nmr@RI3)l{!_)FZw<*?1bNe4ky1Zd8!#4Gw?D6_tSs!uYj(aOM~u=3SgO7e;Pk5BpRtbJ|_mvR{lmLiUZbwh26evy9#9 z4e%DxMYDavUu;4?m+%$L$1)esm%T{BLs7&$*5<+Q?(%9rqqSs#-sfzc@wvIJ3s`IK zDW9v?{5#!yNLSjrz>dL9qJy3H!S}0D~h|JL$}5&vXxJN(bSO4b|F z9(XZXFEt6BW~_&yQ^DxhCi=*yPR76C=}O?~W{=9#*>MpfAKAaxa+QW@C}Ts$L6V;N zH??0j4Ry&IFH1w+Met-APbzm@IAO-;*|(B@y!HNy&|247v+s1_z-aZ6{+xT=NMm){ zzl~KlV0GBgc8{!UZN0K0q35&ZY$hyYQRY%jYgzAUT5IQ3Iakr|`Iyt%Q_fYwz+FD* zNmhupEHqNiQ3hz2#<$AXFKnkT^ce>IYVd1L$!p-+_FB#r%G~hRbwkylF`ToarKzQUds_$d7xojfrzy&T+F^UprP6=+JSQ#UaMX6%LZIevnZ%h$X) zBzP(Oeg_&8pa=C%csf0r`s{z49=VRE(jy1{(B;#>J$;`0h_IJBgDXvC4T*%{Km2-F z#%XXDdoa)+IU^Dn#Wqd!wKje(vSA0Z26=-7uGDs{kTaKXApRC_N-qdKniz@ifF6xI zqw|q-r|7PMVAuVuhw^XHG%4zyIX8NJR%H2uxkJ%cZk-E%aK@}@AYxyGPK3gNvhk*0 z=CMAN^!m(ZPdUvBhu-JzOV zXAA_T|Mi*9!^$OjmJz0LLEXn068i_^I76cS(!SQu-!ixL!I^W*h%5DJoqel0M|w}W zHq9~Vb)6&~`!4#NhxY1r+xAMm;OQgMMk$AVyTdZx%=|xCNFM}SXFzKnob78}^gn!2 z_tDqN#X;KA4O|X(K$F=gaP~8Hvv1&Lk3@7Q zyUNxOM!4NK=)up8pBumAeg-<0@yo(5xt{^e#?OOaaz6vz%lKvEm)y@-!hXgY_A|z% z>}QBh<~8hRj7!?cujZc^`R57cJ`lG zdtyH(dlm*}zpD~FaK7~MdHpZ`zp9_8PywN!avOL zZCIJYKP2EER$Bgnx9G$CLmT`9Y0~(I3iyW(_=j%j1Y&9g56QQ=Oz<(GBE+vpwq*}~ z@z@tx!**wHBk$7I3cum=HII=U$1jD)$mw7W6c*V?W{>f`Z|XXepU4hoZf2iE6_RHM z{mPu+sbgM4AGRmdMY=g(RPafj6|pZChAO)~wL*_+XMOOOi3^$^`6c|w%1J#NrU^gd zhaU+Ve&job9|=NVf`7|cb}ts5WJq|D4bxPM=1YE&Y2SV)dA8H3#Uo?6WCOfXWga;m0S8Ys;UF@PZfJXQVz7Z zCP=v<;R~HUjncnD^E6**`!&d!jL=^>1CEBS=IyI1Vr6K=<(yvXnOX<(`oq^@ab_LV z*?XTESRb?WJGfiw!I~8~&}P9=(L>QBFc991_SbEKKGBE3p(cO~gcLZ05W58&xb(W#6;3p#~!=luC=Vp%pE%mTXB{M3EMhY)Q0HR49Ds{%5Su z^SsaVyzlq>e&6{0-F-jz+;i_e=iKq-jq7(PuW@X7!1plH?+aMv0UrWo1Hd4Zhx#1W z1#;*KkmZH70ccSooIScjUG2fd+X-hCWEj)&^yN&TRfp+IkoTn&qdmHWV)$)<$C&_c zOJIKrcL9)(ZFm{%(G%Ev^bN2_Pe6M*4g*-<*>oHs3DRvvc!YN5R{?8Ieh41*1KKPe zr!U!hUw_3z8SZF*5BY5UtGY2^j8x(N3FS9_Unm~-pXv#;W-hyq1*3K3a0Xga><_f& zpWM~rv?lxRX)L`7b%y&lvbi!k(=Ys$i|`1(t^!V>75>V$$5?B`aNA%mq(Iwn`ZEmX zDRW5T0t=T)#78;8UWSAbtYl!l2R@EqPh-F_B3iLC0cUst&hUc044m)ddlWDsJ?Jfx zNP>9|cMSNNzBNn_^9J4kbgsLV0(rq$d262=8bb4al*a1^{(=cK-oI!wY7@e>KsTUw zN&Xau&^VznLNLVIw@+?H^+NT7GY)A~msmZ3qjLa9K;OZc6E9;r2M!Cs$6&w&9Vqyl z1o-*LwFP}>tw1^kN8HeV znsWHuL4D{BbsgzPILBy3IC?C-9;Jxr^?o|O??~u7jrJYXgg&%xA^kP>!HzOOgSChS z%aCyzj6rOIdm=PughL2k&>98h+v0QtoRh(C+DQ zE(CsI===xt4&moQy3lU$A2}DAAu0xRo+O$VY?{!SWdbh{Ix8CWHwE~_*LPS)*f2>1 z94HZw_OVei0GIp#myRsBM1H|a>sb3E1e@&jZ0tIQ`V4479ct!4{2%Dbe*tR@Hf{lZ zPOLMtk-nJ}_P_QGz=Xi~e)!c6wBi^VcF_I*dm5J4`j0d$x|176!ww{&IfnN5ppOdZ z*ny*nj%C5zk9Gv}qp;B53h)SLQNLP||M16{z<-LLC8M{X5FLr`VcGmkWA*Z|`5^7l z{vAIPhq(B@eKUcK@8!qr-GluJ-$3fyH8PlCTR_z$l`#V{w8!hyd7-QfdokOIWbW&)oK_yg}NcRiTE z`^q^NOyGUxFb5NOUkU9<_XwEoVR|tCK;K(<6yPejAH#7K+yx@~m6||e-=7f+APy(s zDb9JoD?vL+vW9#h9B9rNaOMeh1iJt&8g%-c#GJt|0^tzEQ$f+!Hb;C1bQ17BVQ?Nr zHZn(N08A3##4)_Ia6X2gr_l<52MEf5GvHwzd<%h=g?laHTrh#Q<(H-%Kzu?t{{|Dv zl0;*Q*P(FG4@`(lLhBIH$1Vov&b)N0p)OrNLKm$+lnz+KV9&+iH%^1|GY%BaSV2oW zyAhj@>{iqgT?W5q8uT}Bu)c8`@Gqb{5WLU-44+dIcxzD|@bb?99>cII#5+RffVIJX zDvLL9_ztCLusHNgEk-LG%%vR|%tn0#aP$l4;VLE(zk8L0bCIing9yNbjC3YTgFoV1 zhOxpFLZcO^)B@mnN`N|FRxoG6y(A-A2JRdM&!RC$_axNAM5OD>4fWsn^t@j?{-~4R;#@eyGpU*#jC|$Wx61 z?Pd@a(Z3p7?ka4bh5WDh3v)vq3C57NZ1<&NKvG1Vfk?u0a2BW76tCPcTT6M3`-$fW!p$r7{*Gh_^-^?NRLsN6{I+8l0Um zs5FsaMH?JHsV@gNpQZ?1Uy_2}^P^*A4LBPV13qm|;M3+tFavetqO@W>lv2Dd(qXz_ z0#5{kWRa#x#d%>z{O~zKT8D5L?w5qeqm8)X9TP~WnRciF+5)_)fXhiV=noh({QQ7= zhDQ?eM6kdM<&vOJ_=5G-@i{k~CzLI~fHLs@Krjq_&Bjv{u!})Dev}@czZWn8G+)Q0 zg*L)G9-p3t=ZauWL9m^G-oNB68=iY?I9)ajr_g?BSVP!lat8w6tOSD9un^#%LHO-7 zAsgl*g=q|91AWCHTBk8cqi_m!A)`Dr9RZFZ4N4yhc!+w2z<_=jhTT#qV;KJmp!rBU z&2{K+=3Va}U^Iashsr{A12FId{Dkwe0Ixb7=xqfkk1ZQ9U<-Dn?_Ul263$!g;6coehO7ug+#`rBAULemvs8F;A}L?ht+ z=ncX7ya7kj^_z7O-l7{TEDV-0f-@9srj-nggNZt8y^~p&2E4`y4!qfAm_l3CG!bup z8^#?5{W!dqGDx&ED1#Gt_PLNh!`LG2Y$&XuV7IbIV~fKZZ?L0!+Mz+1Ye}rRhvp%! zcM;*5BG#Im6nYq!Tn>C^G+Fc*3! z>3?mb^k^IVV2ya2L{@sj$Ql5?or3C{j5D| zJKpXP7<2p%|3?LkIT~AD$OHJD0cO#;ISF8`1K_F*@Lek4K7@baOdDX82gO72Sv0`9 zw6GA2HwpY0{1!O;f=)O!29bvQL;nI@2Xq|pqm8CfPlNcpC>_G7$RE<+I3Ce?pj%QB z`2p_Y1l-Goa4(K?opG4~BBMkx4TtqI9Jlf^N-WrJ7OXQ$0H;DekjJ0kRN&hNxkHpc z!lwwYGKf>r+QI?ruRoqI!iNCg2&ckbvOT~90m3ohF|Po;Q403;ta17o$?ii$m$Tuh z2kGiWd|+E~x|_*f?~2iU) zV8zN2xGY2ge)fHOC>u;pTH(;uFgq+lkBVVye~W0X{YBQGOw%^E0+|;pW3mQX za~QU@u>XU5etkHDfq4zI0xzuBXn%v`j?g;_2*!*Mofevi_>bXiUb@y?Q%l?Y$NwJ&3Aj^)c=wBFN0hz#V5W$jVH|n6XPhR>lrv9C?F90xZe_jKf~PYc{GAxJS+_ zwVN<*a07Y3`YnO7cJI@!AJ*H)b~jCMw@z@kPjG*l;O?5>?wR18pchj6_i#9wEqG1F z6$X-*`uYWJ_Hc9GN>6@8vI6UCivnzGErt!%TD zZGvnwinrLFWiCo$o1o7G`7cain*bBYy`YO_&X;7FYJO~!K3?~X8kC20J84(3>Z=Bw zg3`}ZW0|U_*(RV0c0`)bhd1N zc0K|NS#EylCzKyQg=O-w>%|A-hSKvzj&BDa)ORd=@p-f2@tTg02U{gpyoap*=Y{gd z_6P4=cKCBvI1iOoK6mZ-`Na+G9SdLF&@NP8?j*LkpJj3tvrJBQJBbP`H_}ZtR@WWI z1UH%=!@8TcP6&toz{7`iH^I1%OK;B(?_t#&qfZD2xWLnQvBM1}gj3n!pV;BhFXQr8 zV~4l1!{sJ~liA^|>~OIO;UettCU!XIgm8=Nq?3TH-rjo3&wJw~7l33+VU>bu#+dDv%I zfsli^}20cLP^U0&Xztsb@K%GLtqucZ0En#Z``g8q11aB5fKyXaJXZtYljhbo*=S6~Q zIxum4F+5=6v*w@a{}ExQ2Pzg*?}D^)Ok`#M{$BqNN{@b%P}-3n6V7(o4y6BQg6^J) zdWcXSWQdOEL1d?!Xdr*Uiwh85fC?_4g1Hbre)!DcLq9b2(1+ST+6Zv`)1Qt#P`yqf z?!&q!=0YwwFPtav;@nmaMEfV&E>0v{1N!UX&3W2TE!wwJ6FA+ij7wFm;7$zP0RkVU zn3cZ%3@c-J9}3Q#k(nWmzWM#u-L@)-2Ng(85%9c^{X3MB89Gf1MGn~g?q!$<$ zKkDz|WA#>!T}9~L1?k3_m=?7s*kyens`Hzf4DRBq^jyuu|v?_{gDRH->9uu z-~bou%OHvd4!4sD`=8*YC@)qTh;NI>kAnMzD?@|-ApTs$GfF}2x-vB22j-vU4{vQy z(AdJzV(^alOiIMiZ;(GQr)(T*T0(~L(60;8j1qAlZa0cI{DsM3oS^fdiHYtH;5?q; zVG?MiES_hj^diqn;aFan3bYc9&-h>OVLp*%v};=lB7Xri5B!3 z@cSZNHTv@d=_|zZ=q4}n=th4`PuI7~3sZ*i*Jr0EN<&^+pbx1cwe;dXW=BYk5P!Dj$K|8~J z0m&`^ymP`mq5`}j*-Iw^Y?De=>HPXLSa(!_FZ6B17>-1-zk1swc&Rzy5ljH#1?n!I zt4JnHc{er_U{;N?>_5XSz$@_g0lcJ;&}{1OqGuAr#M6dLFPM`ts(ZEQcT>euSN<()n(M4qsrwx_|xLOKpVbKtrxq}RK zDofU47(YiYhdiNPQFA~>!VT{397O}8mcx4R9`5V(#q)xRYAl#0nLs;AbgdMjEyl8EhZw1?rZ#B!$1pG|E584ZSv!_wtfxJ#Bz!*y|?Hvd=KwklGCkNx5HoTh( zcf+W?xO>=#_g5qv4(V(-RKVd7=q$Pi zRaKK0U=iU1oW9Z$!|4uLVj$9YhiI{X5(njh>NKAA8CMsvKZDOG1$G%g-$l6tj3S+R z`T&dUy5O`P;5&Ssz^H&jZ2}=42b2f!i|9di8ROyrjQ(X9!1UNKv_4V$fRA(tr+;?K zVVw9}9~%0txr+_IL)wA(Iw1pejWWD)^soD$(EIxle8W7$X?;JCKScNq^fBQ$HCTa-+s^gMvFUtU zHl06rI30>VLg)V>-Oo?s;tkXHe~ec;k*-H|Lbw>!Npl&@vwgCG!OJXRPP6L90EIsY zXX{gcM$*pxj2J10orZE5(oBep@`Je6k-!%W@+U-y!=mB;Jf0fFBSJh5h&O=hF)=@& z+pXbFpLZD7BNN}N-Bu1lyrt;fYIHw$bk<-MZ5NTMgMH40J7I$MS%RcJ7EY!x;a)rp zOM?5mc;G=jO=p6xqFo|d^e9OReIM{uMk_3&N2<-I@1>~G_rU&Zx6xeCPXoYfu5?HM z?vqV1-q^XogX0Z+>86-itN`e@`UH2N6~Oa#6_eB454?r@+hK1wl%h$6ac;)qH3^{m z&xC^X(y?T8;axdKhc-Up5*T!0BXe#U(w@Vc_v9{Ntm zAN-3^n^D>5o6z=!W803x|5^P;+Mn&01ogYSAQ0|y<+OST= zVHyeXs!^a2pgn3CE!u&8#ZdqIP=D|rslU@`{Q(E0qr8y`Rl@>!)Z)GfIm|slvdH7v zR65nqv*%!k)5S#z&d1IRy^fq8RG)jH=|#tkkuS$-@5pR}1>6^J~4|E^D;iR{v74^2*aC>*VXyu39u;S`TY1n76AOBxYsz zb|Sa%qObxnH(?`JB=3EJy37pz4!L>0jJ?+GrjzbCOuur&Rb|QcdfFkvYk%(eYH~s6 z3lSy%jNMV(H*#hs-fq3vp8I@3AWzvjVXSXq94X~MvrxQbsHb2)@1`XxvCiJd+nj6( zUS1YG(%ue^yIs_3zd2&7yt$8kmLgo-xr?{w&UfL`wJzy(_eF1ZnC~mf{qXx%B*XE| z^hWVlD#rVtF}i;}H+5N=>0qsuWAWsC0k-vdzFLb(<3-w%+G8~ro|bNU_Oj>KQjZSL zg+6t^uen7UzOv7)GT>C%vVddyyUTp08{Y^r%FMa^b>w0WPxIZrUMg7YrkBJ0#wb%` zMXjLntLuDHrWzb3KWLmg>>KSn@20plTB-XS=rr^w3MzNV+F#%rK5e#db<%407L5vl zfMfam%Q<9-61S|lX`t0i}b*v<^)G=UpZl*82rPQ80k zB*>`myvhH%an_z^)z7~^Z_#&ulhr%(Rk%-Bk;LO4x8&FRrUx`j-dr9K$!pU#B<$(u z%B}rq5`o|Lpi9C~uVb2rgV)eA3Gd2fNqjAVHGYH94|MlHKGTs_Z3x8hb2X zsp}K)I_;^aN!?4EdTJxT>*8ANuGE4w%ZB`fd&@H`L)CJIItmNFNk7UfiMGr-q9&Jp z{!(6*2G`>n?j!VuwTiNJZnv{scc_*+nB>~IOA(cPm5*lg7cIUkaNw*BSEG~)u`>qE z|EW^ywD}s2yOdQd?>c+m;|vbyS+>R|d5;+_?!m*lXx^tK`NsX7?a^<0>dLR?moHjA(_?#N9@QAowQt|6fVX2bo zD*dlhHOf!61=!gQd3#Ggr|C65wh>A=79n?Tf1>!?28)B~dh7We+LSyUa-LN|mMfhhHIviY+by?(_75erU)U-JDL6+R7=a zv}lE8!MD{$FG@w1+#=EXgT*YjLfJVs1IZ`U8feq`;t$0i{DO}xh zUz+2g!#S2u-}Ky*DDCW7+gXx)^haIXi!`2sj+@dkDW}yNyml*fDn0TF`uxn#=xVQ> zly9@4lB#QiMsw&ro+NrZ-DzdFiwrTd`<+y3$py8DSU1JQB>C2RX}JRpiG44-E3_)x z2X-=3y$Vib+6-hSl60>`P(tTQ%cU>k5&t?v$#6c8dcYPVzvgTUud44m48t{?>@ow& z`)gKJH@6A*RpeAO)kMTxj}tYy5hKfgCduz%L_RHwL)Ol48pWGOU0knJK}cw~n_0Ym z2tAdG>^wzTFGtULgm|;I%QEDFl)oGs{PDx&AESc(&^Ide&w}+E| z#t%)(kiR6d#WYr2$3{$SP)$}M_rQ)RJ6cy#RvI>G9-LdFU3U0@7Ju(8J%cYgx_ct{ zb&9oCFCm({Xl$5bz4&yn@1j?CH5N*y64ck;j!--HB5VFLuMZ0*5#Gpoy*o5J^+1Zmz9bP$mygdUxt#?;nP4wud zEONXa%ImaAT+c!IimQFc9SfIBHP4-$3*WlRaOAl)dBhmil#`9c&rVrkIdhds?6x4Y z2B+Vvq)FwbHa8EijDK^{u=Hg7a_+9{%c!e<80?a}Lwh{mfGTXgMc=qhY3aWG)9GK` z&8-#?-PUd^&|P!$CCRe4c>ijx%lYOEu@;M>kQX*Bn(gb!mW}INKku==us6f*W9&j( z#a|p7e3#j5yf$xB^CBr`(@+1KEg6+x-fp>A*QS$Y`+l&_>s_wf{MH?UT%GbJlrODh z;ZNrh)_k__acG~{(%SJk^4Z5L8qps-Yzqe_=XU*mTK!<~xOc*k6?ba?G?BT#YIjKW zC6wy-+NN#m#yX6?m4t_OMJ$p3YPfb%4~cg4d%5!YpE1Y!f0zwDt_!rYugzP$_SNqw zq1U=^H5>fD7c^!i?tAlnR(1X274K@i1ZrQVx^_PAtiACsq_iS2PS^R9;6XGqE*z0lBLz{jF99Gs>J<_2tHSUt`>Eq7yE5~F$d^_62 zyq8$;pf@4pTIFfVm{R5NzIXuyUVA zH1o`-efmFNM{yeOio7qI6MoV;a+kHxZRU*hwy^qFPa}?0(05y0a@spZQftqP&4Q^d zRY@u2yyKT$IiFm);M14(F_3XxQFO&M->afmuic-W{54GS(t?lkE^M>fe(|OrEvZ+r z^sLs>?(>X+%jb%YpUElRQkBg;_5BTMa?#CQkE1dlzZS?6&d|;<7IsYE=VFy#BjcVY zZnQDi@(1^=*wg9-4bj`1-!GCV zrhm29zj0^rL$?RX*S2luUHbTmul%uVp?)fpB*pbE-2AmyvMOO(W&50STMp`{-zQ(? z-LbqZY5sLx$pa79^J%-~WbVbP=9yDGj(^%HuzOus%aV7;_qy!a`}B=gQ+DM+Gn;?~ z3VI(}MfR+=4tPubTr1dXaofF1x%aHm@x)Ra88xMrgtca&#=buueCIv#f|?w>>36Z@ zqQt6IF|s$66XPWB%~1+X${Scdl}IBqM0yS$PBCi#c}mQBiEN6Vwfgi!H=@q|d?vQN z((~%06yc&!o@Va5_7NMB{Hoier`+sG&0S|I-l+4m`Gxz%oQxoxv~+A8`G z^+$XB?6iH6TO<~DN^tI?_7>>QIWwzcrrZguK-#{hn(GT}(;t0acSGCi-O~-r%|p_M zK23e$s6EU3)m}r=!}%TW{SF-1rSLi7`5}wGj9sm3HfmX`Yb75fh0k2z(v@<_lcE_uQFctT^xb_f;nIWwv)mCrpZqS1t-9AFrDp*i*Km*eFf4dVo;uNprpU zGj4;lnUZFZU1Hqvcd}o9hehfh zD_t#0p-i1*$h^2+w)Vd3Hv1g}kJm> z8>B);MhK5e?)%v3w+}gs+?@W6obGAlf2+HJRumEZ{MEFNt#3A2b$v~oR$dpe;4G9c}Vur-XP*(+Dfy3vDx44+|yPLo#oFt zR}AbHtoF*`yV#$Sv&cI>Q~zaI{%dMq!PU3kwez>xHZH3ad|AJ4$AxG%QePF(OjxBXlhPvF8nO!zr$O2`vbKKWv?e-;;p1a;kY;|}d)Yq^fzN}7BCcY{?JEi8qlqFf~!UVHb zwQUP;Uh~c?CWq&KzL9nNq(I9Jj+50HTQ!%z_;5X-`i!{zYtC?q`YodTPH!W$osa5z zZW2tf@!Y{*Db#vqh;(F58pfBAz!Pk6M7XQ^JnvrjZ-g0xCEOl%YaM@in&5le1|^>r2G6oujuxBh%=WvS6*L6yNn9CL9{}J2+`~JM9~-8r@Pl5BR7D6?qu$ z&vGcA7VcV*RP8%kqs4vou>gSzj^+IMw9n4P(8t|wJew!4#kh8v+&(6@ zBex|@Ib$b9>W09n1J#EGi(b6D*;&t+)%cqKdG)hB`Yq4D_GZ0t_X&SB^RYxx*n0U} zKbiy5eFK)?lx(x%jr8*r9(ttB?P|+Um^75&a?m5qvG>`Km&3A3Z;8MbzN9bJf;IGT z&Q&E@9GVXDZpl9-?5kET_b`4P;G=8e`82KG=4G8Lea!njciBj%%N0oh* z78mhnpFJROSE`ZACZ?09g62O>U25tsM~(S+Emf2`?|C~f>j?8K@4dR5W@q;?(a=Dl!pqlVz;An+m%3)BjS_h-iHCm^ zMOw65!>}=v$L_vA-S4xSi&xLjZl(MiCFmj zxU~ET(wleFNKRv`6lwY*B~i|A1(qwaVvJV%HMj(+cZS#xcDKF1T{1Aph^>0DB&ocj zUn4p^pC|TYAiW?%(55|Uw=C7elMXqi?R#pOb6DbD&zrS9oux;UOFCb~)&1xw;7Ln~k-q8G zpne**|GPg2c|E#n1%C1*c$*{Ruqro+a=U%829016;bgz8Zok_e#*#7s$MAS5yh{j##myNmc&@bss6fHl(&`y?v z$D1;(R8L%ew~&y6e!Q6*M=Cv}xIf4$tlZIb<~>T-h924YGs!|(^>N~tr7-$C8+Eha zCmbDXYAu7FOfhRVUK7%9eoUoi=X2=_$H~z#Dy#G37RI*c&#bCT;{Mbfvf)~Z%W|Js zBky@hmfPAjM72_RNV1-EIbLNKy-BS>$#EBr3J$tT#a@`B6kXU!~r(EMNQSwir69>KA$$dFi{LgM*YQqG;ph~eBVVaAnfFN9;xN!Q%T@kvfP&6@4US9^0Lwa-R)U(Pd@yvdhOiedBrg&{eHf;_D@?kW6OyJ^_!(<9|=%4v)I1*>y)j_ zPQBO`SRWN)c4I}T1g~K5EXPX5g{{n>BQx{^A0=__7ia$hgLMG`W$> zYmBCx6*pcr({e@7wpf$jP7P+|BQC(%py)taJ;uttGv@xn_THuVwyat<^1J4D%NuMHcOvEjEpo z_Mm}1Yn!Fh=2bWN ze!g4oJ1)T;trQdaPGNHEmo*9JJ~{N*e{OA=*ZwT>b4Rqsm5+tC9v`}LCl5TRe)>DX z`}klgx7E;Gk!k%>J8FOFmnQUWOSA1Y>cF}~!%M!&FNx@ywAS$JQ5vb|ymI;X{$nve z9}k)Ru(u1WTe~=~Rw(NCE6umMuM58WH|$HyYOJ31{mr`-i|cCzylOgKQ(xYw?R*}V zsq%vJf@9T!CrM8|{o0<{O_Qq@8QgGh&e7AQAxf|A8&f48RIFKB@=NE~-E+I1-8t4i zsW|2O%JRf}2Vtbj9)6v~U$&LUpknE!J&&h7E3Q^>`jR7xk{`G&<=wnZ-uKC4ztC&P#3d)G{JMETFQH0u z@0|9^Y5E7ZoV!ZCpI)|n2e0n+`AO>^9+1p&(*~iAy_p^q^LYXrKOJxBTDN=e@pns} z?%m^(-K6!##_V9Fp2C8FJtD0i-Ue8&7OeeDb-!)Vd$w1(t2FVrk&>E>joI3SmLI;x zp+|VXKL}2yzK|^by=hfd;v(gnvN880;}VlXmF7%cK9I*C(};%;_K5s!H%eJzEq2OU zFGcpoq3P<+ex8l;tlTapobu>uGf!wyg#BIaYQLlnH>XIqt;0p|aTlYQQ*Wl35v)>`+u3w}Uzgn|$&MhGYD%Xws zo#_|OM+!(!OMe{}TH~e}8(6K}Gt=h?$4_}}*Fz`6BlYIRezrcMNVhl0R_EyzXiQl- zBd_x7rB98A2cvRT4c(@kq7(h*e9AZK@^6@DTBgSAdu{c8nbYYcJ+Hn8;m@YHYuwo^ z9351?*se9ryxEpIL|-*KzWv9R$bD%Nor@)Usk=DO%+W27o7pjo7HD5N9nc; zv~R5Yyy59PtMm}_^9PoRd@L3_F&*IR=HLbg})UCC` zNe7eLd=|{)y|YJf(PHySpsK0qp2 z+>x`R&Jc5l?SIt=^~T79Yn;>^`d-R#CU~BN?LSZL9l~u5pX_UvBwq28t2R#`Qhai8 z(w?0+w>Cczeq1MVIHl;SlHsJO6xr<;ncH0N*NPB!*bk;vZa!7E<&n(S3u~9hNp_}c zUK^;`Flib0mzCR{qP{+fkvFJsr}a8p1kLMPIO7QIRffFf?UyG%cHHmF+JAN#zoSss zR2~o0vqcuCbY5%BiCA>vaGd#|s_Kbbbot*6?Fpj(cKZV)nioD%)kwW!96f1Sn;r)_ zEIfaEY}4DxKWx_ztm`n2*R}dOi+h*1frIYz%TM;*uS{JWLZOAew3ENy3U zu6s)SU+K)Fw+Fiz63w%m-J#)9W(sAfnR=~gdQS?BZX?vK|Umtx&4W~QcB z?06!u^{B%w*RR}M4ItA9G7lVMWGe;i!3{EfBJM1iHeh}o7tRlyLSw^8r^knr;>U+0 zS;n#X^BRl~=OK>|=Kzzlqp$ThM2kt`4wSdl*$9ZYBV_~A2$Z|o1H zMc-&=j19%@ob6yhy~qECbwA*IWboD(@QLwKAPT&F;|ILx7^77?@X%R|qLT!A(C%P5 zl#4_W;Af&7a)37+9l)evMv%rHK5O`F;fdr7;5p-Dgh~aWaNrRlgPzMnNaraNz5fF| zYlyc9={ZF5M-blu;s&C)AU6QILE)`00_Yh*dCx%lM+g=uJxYt>p?v-%4;9vX2}AMP zO+&wc_vny4v;lo|$Md?3rJ`bVrz1rSeRy-#5#t}0dqUxV*M3lFJoN9{kNwN`V}H|r z>>sor`$PMoY4~r6JlpNL%!FEeeaFd7Kf7AnkvLTcLnBE05iET33Ccq)?uLj^Z z2G0=`z-5b zoD;&KNIbnHI~?XeH`E2qAKU~hZVt~WF7Oy@mtx^$B!)KzKf|16_$|Hf4dIMS6|2y<0RYj zu|-qIE(6$KtOGE1WK8+kcNkWt%mnfK%NZK z7lV3(?k?yHc&Cxk!b-=m*AheWE6RI^x@c!Ox9VU_9(#=G53;HfbZp-su3whOoPpj3 z0NDnRRgpBO>w~)q^z?&1V6ytCZf-x90vtTryl|7Owh#j|+xzz<&eNI1B?^BRB?lrReCx z`x5$?@GxwGpRVE!Q3 z=EKbKd6=YN4gzqx^oR&u#=<5Ake?n8sr6BzIXV>5fH5`$=HFNFA7ZmEE0*VMIw<{Boc{5B9T~RB(gTLvXbv4fd+Oq9Js*J=6mzx=7tiw zZ8N`TCTXJd=~$jrc{*yervKEDqCB;_l&9cr;?~Nl>DR9-dF5?7QniOvaH&Q4<1TQp z)up9mWBa!Atx`GGd+kPa1E?oCUzV-U^`l?_&2AH|t{Qur;>ugqM{Q$)Sx{K!N89RB zo!U)2f_%QE30f>X6LTrGcJh7Kv3=L^y6a|q+l!wSahqb!tR`q41N*AUBsOS_W8iiR z(AHnSQ)7JM8aT$(hB}C-T&OnY`V;knD%Mr&@gF7bE+G9IXL_83>CrknuIkw=jQ=Pi ze41pRHCuQlM=k6}>Yznp!98d7EBTccHsBZWpR)0=kAB9BY9D+1w1~1T)(@&~7k=12 z;Zs%DnHr7Dok>*43g#|MBn+&=YR?}LUkT;$*P5X4RMjfmP1`mK{6~eXhuT5>5C3_4 zU%R}FR=SKu^PI)xc<)(@<2p6~S86_W$M%=p{~%$ja37_U$x$S6lQ^z zL5}7I35qH}`At>>9zTge_!L!h(m5aBi)w#vB61>y;k>Fudod6w2^5MO8ZPmA90F23XGytw3H7>$rHbRi?m1aSLS1pKe ze6?Yqt^XKP_ON{Bq6SIm%Rz$Qr%5%+bkG6)6bb(0E5(gJ?*WkIuWJlBMMR`!_44O?O(EzgD5V0VL;%N?mTX&+` zJc^nB`d8xlZjgYOCSv(j;P?l}_`Zr7|52j#oj(i`B*EO37&CBD3i)ukAY&kDa14T)QQ7#4$fB$nq0v^6r;u=^a;KO6Ck4PyLlkm|2z*gU9qW7Bx zi3|k!R!6vjR~Wht^Jj2MxV^)*y$*gQC%Za@<%n*!6A&GMdlc{>$5H|#X^`OfrXWE< z%uE&u_~;n)2{siM{v(wx^9j@kf&_`Uf`C+tZup7NWn&);gl{0fH=F3lb3eM4x+d9~ncwjc)ZgnQ>y?y){UXs8BXojQh9nEIpC- zN)r58$V8epiVPOGxo3O-0t&^!Is)weJ;+;Bu_o|^1t>T0W$1{UhXe_z03r*RnfQM9 z7>+*01wJbwOaj4IA}ih%BuE4U2SAT#7?}HC@*ubL`TJzZ>I%N+X!*-~sRRKLMB;lO zZ#)bf2*UGh0s<-$FF{hsb2gxmJ^>h-CuqKLOjrxbGqk*flPxK7s{`Xnkl@A5-~`Iq zHvH#_3|u8)O3K(Fr7eFbKk{5#nOj2MP$(`ykjPg+-ZI|Z1A_+LYk8L9w~Q1yPQuq8 z`T7BI|Jt@C%HFt+K==^Hk!3>>fSLpeNDP3jVvRoomoI|nV13ZGQq=S#IdGH#95f{E zOOV%JgS5;>@Twde%oIKO}}L6lEzJ6?qa zll~~k8!!G7fbxhdK;Ss?7=xmLZe1>Hz(AZPAXYw__QS}=$$bd@{ju6By;a3-e>@xx z`~7~m+ikboy2TM3S4u%8)XJdIdk>SWKMp6TM^yMTD+v;jav-TZzPCS0vSTw8;1Fj0 zaR-8DiE#HT3=I)q`;#EAjxqgT2RVf=0M_EGXV*hX#^eDlnL@@>{?tdpLi}4V`XToZ z#dfb&+x>FAU9H#4<#MrD%;)pjrOa)?@%4JW*=(Q>oF;%8XdeDUFgHP0WNUh%R*9je z!np&xYSrZtCei3I~zK06qZ*5+zYv{Sf`f_4WX{KVPn<^W|hZ%O{h3oDWCC;b1rz4Euew zrlO3;<2=uy51<~P37`hx6F4={_~b)^C<^(&X@kod5hO_N2Aa^uxcz4k!y#Fo%+O=D za6nQBJ^z~f#e)Rz26@@m8f`B;Ups`O>L&pf{w`cH5%Sxj3_FOD*f@PY;>yP@`te35Ny>;5#r0F_M7il_8(@~ZUP@oAWlL>r+ z)oKN3=y*J8t()UMD(XIl;6&jT2*j8s3;2#aLlTI*$CiOBWj(ia{6~uCN}eI+4|f9m zfX}^~^c9eo^i^c|kEDuFs{>}owpmt>02G1xx*DJXBrpAo&GxWZZKkuu zD4z_5qpUyZXL*0H==Zn%?3nh-G_AVbldYAly4zLV?z-E}d%b?YKNyWh)9Dnr5W)mX zSsn0Y>E#1*9B2_LQ;cU{Juh&QKrV1(0B)GyWXkq4?lyPgNW3?|^B;1*qz(A`<}I4o zdXa4ZAZUiLD{~GwdMnQGy!ns%l!Hh%t9Z&3;1H;g{`1v(GMf)aV~FxB8xIDX;jqZE zDosyG=hR6~$+=dhUOsj@Ri{&QI-72Hlo@wm2v-1z(002~N@@LF0_5)$k%&KEASOtW zkyg->NR*cJ8rSxp6@h3-IG5&hYmNx}G0*6B^;hnf_Tl1pgSI?Azw)-9j?s?j%lp!oB=(ovAii)@-Q7|w^SCwc9rcY*tat?v; zKDhra4-#+WIbmr_z&BxQM6?Dr(3D5eEWMnpe^Ka zapr){_?Dtik1P^?9yPiIe%IUmY`z@jxdHwAlRS6Q--~tM`Ar9ikJ|YG$Pq$30I5Mr zeai_51=xvb_6NxVF}h_4&-F?I5upefm|L=vSIKV)xEV&A>Xc{H%G6`IudCAF3ez5n zW1)+4`MChnwQli?ZGCy8{ad`SgJUG_Bi{pD93jOb@y83{FsLA4960FugW4}oDH{j27iU@9&4fEU}KhpLOSpD*d z8;OuW4kQVwK>&h~8~PO|Kvx9YVW@o=BoHkJ8};w1C<(77je~*74iE&;pbK|(_?&Y5 zmCy$dTYfG!dj$Y=y+z%lu245SRI~nNgE-a(&DJ!irtB_de^uN%Nu|`$mco`du9Ytx zDc`w$2^2)~@;D04Q1oBUez~)=zrC7zH{%e6^W_@(@1|YY&SK?0E>KsS*+!{7F$LT%4J``cY{w_l?lEOB@&L z4fuRIUm*Fx)G6u=Z9bi$qCZ8MOs1|}7C@R-6j(YyJdp&wF~w^O=!U0ONK$&>Odj>i z;}qXWN>;zh>8$dtxSuaCQ}1ScGDZ61Xfz(4>j>?@_DAC!b(~KSCUq1tnJoaDAZ-Tc z0WBeY9&~lEnxLk=zvHjx(?i`RKik6@{qGNlSq2cONPEKYe^mNQAZP+7z(oSU1zMM1 ze|a1i?*D-EXzGOBL+ujc!o2npvL)J$Ev+whVxZik|QKBSV}8cGOjI>tgB^k^~8TWhH@*68{m#8r#c7S^ysC zGqYd7-nXlqF#GdyJ{^t6$ae3$8AqF8-m|oqrD-os(=J+9(CPJh8H%S6Ou17GI1du% z;U(bAI6oB3z9?1kccxqA9Yn$@0{=1LUwAf9Y?&e9#dv(`cv;U|S3~YXr?W;R089Zc z@F>vNULMC5ev(iV>8Jqg9JW)r0tmgAsx?JEdPVkX596EkweLD`e!s-gGXH!DTMv8- zfekhWTZ6T`U~yA$0Eb5?V^h2&w>5VMa2#J_3?#nO1ie6UiUA{`32ZvV4vz5qR}utr z{-W4C+~GDiX^VXGdTID$_V?!nuKC2y{=m#WrrlIKQ)a#~Pt%!m=W4%hW*t8GfH3|+ z0GLfoDke8g9ob|?8GvZ;9e%r5EjK&hLU1)c`26`w0-h?Wv@wam6nG}Mcvw8+@jmMd zd!NdE-^!7y+ciAmQJ}B_s4k^6#Ru5_8A0V%f6(?1zZ_W8fN)?{lMcoy6XL=M3#cuc zpga-WhP=m-t>NVOn)Zua)^>>_TwTa+2zjt=nxe_@5ljy11d8t#uRD@Ew}u|8>*9{! zD~tok540bsKahU}008=|R%_V%K#FoJDeSH(#;Am<5Ipc|aXfM18K{BkI$7nY|AjoR zIneW=U`WE5uiaFA84jRhbqLHaeF?otr9Ve^<|bUe7+{I3&AGR4?qkaPexN zL#dQP00>y$bTY*hJ7s`#qL1^#w}7TWbO9s3$a=-u`w697I|ZP@7XZO*_U9-cAJddz zKB2EfJ=G`>=pXE`UazDF?1-(fTUd3Jm$x$7yHe|w`lyZ= zi*tncCimyuoNyT5L*fG+=-UG0(&fVmNlMDKWu&#en7Sxc_b&edhAzO^>apF!HvFj z`8lW#iw6|ravbgK&tRro(Vs#$<5qrLDn7a`@7pKQBbMN+2ZB$2o1f$m|4S?RyZCr0`^z-PHy*8~J&0+U0U zK_YByMY50Wn09MBXkGOmFW>rVrQ!}Jf?!n23giM2VW7molA!=xLUf%w^hoD=vvsuY ztFs+@kPyhp5tzkS$3tIkb{lou%(3XsuYUr8(N2>7a!~K;5}| z5fJq-|0^dN&XU3=jym(dn|2)pbS+rXKGMNYocROMjy{e;4Cgii;ersCj%n<6j5&U2 zAnc_Bqrv_92fE=zzmxmmD4f>)x$)(+b$FwWb!S-}5kD6UsQcea3uEKL_i zB9YigBod2^M8+Z`k=RHiGBz?YG8TzMVv&)^{hq2b-8GZm+1kC|z3;ufo!*{d{(62+ zRiCP^=2plCCROIu-)Fsbdf8x0F~@IEm6pr>V)3#d^yqy1@UVG!Ksw2mCP^SMz;V>5 z5%M`j&WyDej3jVBf^S*8gPa1o{>r0k#2e{9WF#0Lxzn%Y(_JM_M5E7GQ^d|>`2eJ$F`L8I00SA<>w2sLDm8RV|GeBA>L?VlV)NiQzi#0MJ z?}|}DyNkzo7$&XZ2tsEwXd(!Z8(jJMcDdQdk0gM(lJbRs;IJH=jqBO{82s5~RH(0T zuR6&$CO^nq2E}^m7Y-WRC;E(PZe|tK&+9EdQNfvi{BLwK{DwrM79>~{JG&A~Bwyd1 z&epKLw3qD3wUR{@q8@-KqBfnekNlAh6abFWEoo^&?Qd>)~5>Q0&joJib2 zGvYh{De~99Jpo(psoAbi20AA4w&&q+L@i#J8a@Yi+->IWia)9QjE6Li!2PqUbfqm) zwvwPn2bDt=_kZ4UbXfq(jbIiko!8y#Qgz2t)$YT9Oriql@uizr^~=F17j^M1bHQeR zM&)C7K{#6id?>#VAlwJYaY;n#zyZoB$I)RWHa2bycaq9jgKiXCWs}KXk?jKjJ)I!U zq?x`*ut^9>0&z6N05S$x6(hv%D1Tfhyb)?T*U4tJQMUb#?TG^RSzjZ=?@hU^b|NVOpPbg2~Kh>2Y! zb=?ZqL8$S(TA<`na?#so69BV0o8O4`?1=w9o$RNxr`c>XvvNC|?FshjvEF`P_oqaJ zJQV?8kS)buY6lm$Tdhubp03wFmJ16zHyuPAwYtjL^oK{CJ`iq{d+RS4PrP<+hD}R? zb0o-_M-0s8k5Xm46OfDq7XQ;8cid7@>;DZS!RVzXk5A46N^0$btK+$1W}U$6@Jz^GP9iC`E4aHS+2g_f2ypQmG0_C5s>| zFE=PDNCnaPp1J7TFNYDZBlrjg@%^hiz+S~E#muBmh#wX45rmR49JwgdTx$;p_}whZ zpNgm#^E6wUHxzivw@vHlIp~_{Erj!{r8D=OkDoi?Fh{bx!HxP`rVY81zhu}jP~$|j zT|F6|K8qdtqx)Nu)_)T1Q%b!9@sz86K>DWdllonOx}|tOM4Fs{DbZC2Ph3fr-Xb@Y zi@=RkJMzNFq65tFG+9Z>X2pJ^w%&hwC>{?jLMZZZ-QvA|84&=~6g?>$M>|HN34O-}tUj3gLud}7`mcg32!%SoC{z#D(V^Yab@209>M*5cH#@UC>p2Ub9Qy)*_@vMc z0{Z*rPz`tDk z0sRf>Z|#+&r-h=YW%hO&-K_U<69WB1Fx1znA}=kK4B+_n!PQi%U$sKhoIzR%?qx1Q z+qWhZ{_5_n(EjZ~^kQ%^@PB4}n$0My2Tm&hSi>F0=q{BUvYoe;lTqgZsqHj}3+Xyo zNN&V{A@He?MfYD)L$AEQQh;`r>>#$dTAoqJ)@xJk1M5f1MkHKj)8`@sWD+<@23VWY z0Y-l~?b3*|NjhOb9;bHP2&^B{_@ZOIgd{@NKWrr6m|4)bL@>zT>f(REyXQSd zIio~?Bwd)k;iC9|7AXHo7E7RtOaeonpKpr)fD|I($N~jz@a^nMAxRcsne5NSsvOd# zX0ha;k3i&n9@s6xuexQ_KjR?ah!jB1=%3$uyMx?$modB&;*yAhMWjebvQlZ-tpV$; z?7l-0`9i!63*d#5^(OrEiMsCpB#{Pb6D-8_)=8bGs)l=Us;X{O4c%V=g~zjDrN{U@gic~bQMIJHCw*RLH_wgL7z;(0n<6dAy!^5U6FbeKnTIZ!cziS(Xg(QD z9!xDCTYLSxjRe;*^Y34s1&@Bv8u54=Bs^7W&Ft-L!g?1SaiCkU2t_7?g%HCaBXj-d~Hw*@HiHLT`J zq1ZPDBNjOVsK@t4+ZSAbeb7e=p+E4C1d>GLvuOpG6~oTWV6phX4CO(EMLRvWK~%Vm z7Tg~Z*?sg!V-=fkxdnZL_`q~31@u+%_2pMXf35L-c`RU`hUt=Z55eEKUBUR1!s^Qd z6nai)GYM~Y=O{SxLbkI#_pM?7O&6$cLOwt&1OUYR!V??QJK^m8TP?xU_blM;L0W+L zG9fJej&Wyy)YqncSUvfn>*umN^ndEmpQk*+v)$=$R*y`&0t$Y|w_|bcPBxzTa7h&{l{nwV-JyJLP&$C*KU;f+@kxhMxj6N0jMd$d`zc^GfKlO}$ZJ z;qT$8cI0sa{xYE}0Gzv!*?j~4j9+3)HCDaJX1s{_H;*e~`svz19ECvqjLy}{0KJnO z%1j8naxx*z=V%wYV<);+0sT>_`>N;R*FTeLyx;BLTs0ndnMVmIBSM^N1NY%h4f@aK zHPDT+rb2WhxBPQJQF-o{b$EFAF~a_TU`xW2w#v(C|^<1Hy@xsmD&~^Az)~M0N9cdQ>e8FhRTNs-ziiP zrbOl46jDG0g_1^Qd6M|COnvTazY zT-ly(jcfzmHW#e~2SveKOg9Hm8DRZ(wTyp^`QU=tkqdtCkz9yO4Kaf^Q$G>`z@fNo zHQ7@blT?zpX}a^g8HyQ&#z5zf9cj2;LN6tOtW;g=Ws-IFDWn&YBY4Yz{xDx1T;2=) zD>1?am%+F9-w6S7!z9p)Yki4HZz7-;G#}j1&P>zT4A7AJ2H{#c74pYz2|mJW1sjW( zC*;q=d>r3Z`CXClHJv~NExng1YcSkzi`RK4V2r8HXZ4CL$0dy_quTIf7(O#GMn@$Y znYmP^Q=K*PAdv)l_=ilu4str()%YD~TOk4PamE)NC64cC=Xy6Uw?44G#!V7j)y+>Y8s8{U!8LTM=yxGRF4s^XzJt5~%8&u-2lTJJHDHK{ zkU!`eHP*+$(Jv{^Fc+a!BLiyXo%<#Zx(YR+5^LbT*v9YGH!tK?voVvpH{_LV|Mh{JDyXdBX{??1v z_XROU9I-o|n+z>xl&lOVqGH&ELum+GsQg_S$~cz<_af2zRw=%YV-b?E=xq5n0Dn$VAO1%IMhZfaH_RZ3-f5@TH}@#DB* z?@cG*1N1LFzil03$X9_|8;0L;mVbQx_%8UX@|a~a_aQIW^RWwmlGqe;V?bgt zP6_w#?e-=Bstxdp4i#8g!1SXU z9!a4@125(~453_|f?d-B5J9rAcrnF@w!ZT_8O2$8=**$WW#F33(L}AFs9qga zYvhdgDAju~9AxL}48wH^&Zztp{ZHxv6v=n+Xlt}W4)RO?TY4s~`Bz3GyOn)QqF~85 zI=^Vn{#MLCf_}BPWKvkUpIrdZUS1obBWQ9M1OdGPJz{xbehjq!$Q6!j--}%|h>weu zFFYKDd^CmlrJ{O}IS3f`mFS9|YdoOg>2SMp^q2Q7GTx1%9s0BX5bm3xQYF~YspEer z3lT*9bop>P2xEXEEGeq4@vAOq8MM1xRsq1MvEyt;W6j*f(~xb94?$l4=J~UD_(Swh zNTCZ%llL;8Z5+uPzRrXQ93Xq1{}_B)b~>NUa2ygRKM9|i;A4~t*^-1?7+LvOjRd!Q zdd6JSza-36A~qD|{55(2SRIeWh}u*9gKX)_{-XJ%)Sf;?klMH*ZG=$1O z3~r&7K9XP~jUVXqa0`G8nZ~*S(8pDPEi#IBmf=8E9pq?O3=ih10_fSDl)h>GR)!29 zowkoYPQ)iezXg$83bhXSG>0Qy({ zM~{zf8?8S|8G+Ssg+Zpff?Qe{tKXS|X{oTjayZcg@FSc(D5j6Gu#MlopX)Qu<)h7M zEVskGm4f-{^Zpg|6>igbPEQ_GstdjbR9obw9i_6zS$a9vNzfR1s7QPYt?C|SK8$yz z0mBR+px<1Eue*o7qDwuy2*d*L^~7ugvqq^WXEI=X7i`U&>C{I~Y!OQcE%d*iO#wDu z{yM<;ZH$UY)cGl6@(-nMJmyLP z?W+KI2>}rBD!3m)s@L=rpL!bCQnV@H0@kCe@{!ByS&SrKD-r_<;rj35h99@QZUXm7 zr!Yb&lWM*Aw=~yWIx$|x8hMdAp!@YKbv;u5*;iyp1$s9AW(2OD?5+!o@L9>m4J>*_ zlQUrDt1gaJ0sR3|h07KxQ9W@sPyFOzS0^;}T@Id7e(!SX_-Dp4n^TY$&L# zU_qjQBmnwReZGZk5~Wi;mpHQ8%Q3~PfR4KO>c$iH*r7#NuACD2a)A{BY7O$hOu<+0 zj7kO!xgb^K%PUFQnu{gLWF_LR%HN-xp?Fgr`d>W&)DZVO#CImGAAIdmaX!lP^^!&J zTSbti9a2F-_sD2hCB7bJp5t^%x$^tAW*54T3QFkyqh>HLS-4!@p@7C=eY``E?6Pxz zP)^KM@!|9N2fnrWmf8by6KwpN7yy!)<%c7IN7etF&Ce~aiL#$X+R2RsRGQsW7OdSq zA3%@~#uEipZ2)jDKBo09Y!9dn-Cy-;L{*M(im|RwX1%LtogK& zA^Nc(h+ujsa;SWVMSZSspc3$;UP+v~xp+Td9F~3fwrfNPg=dgH$Z_g;*MaRfbXbEz z5J2utvVf?fItgr`<#J6a=Fq@F9UN~Kao^ZNfG32CJfK?UN1$J&9a*u}jFZtUUG>yX z`6%&lC0S*1XB)pR`5f*9PyB*nOS{e6UG!9o{v>q*Jnlm02viIn9E5GFFV?_~SdFdF zT>MIRyaq11cnx?ZI6MkA*R^oRP_}V5Fl}FUEK*a)3>ni7RxdQsYo}Xy{81;|zlBBs z{C#ZQg*9A*;l77{>PH!oZ0>qgU7CC0sgtrK-F)NPxUrf(lNxI_rSPoY0HXcp7Q(`+;Duq7`b-i9^cYqX4caPvV3 zLj|1yqu({_0Mo`)*aQNrBV#>MIj{@rDGm)dq#=}iHGE<6y%GN#oX?0Ml*6$vlnd00 zAPuFGZ2_RL4SYj?Rt^UNtlj=$=;=%dM^KkVaMP8IGmI@377TW{B(Ihgn&%`s6Qnkx z#+waB6}~7U4IKiR9|HGP>Y=C%NuW@VWuAcRV2*udYFv=|D^m9TSwCu8u4h(yAPw#w zo3Xvd05-$fR8ca}($ECO;i*IL?h>4XmXiC?qM}E&^}d&l052gh4Fmye7l(|n;$k?m z#71<&f)Q$Pzd0S3x_wsE4fFYF(VwJ{%Zj{Kf^HTQ4umDu?Q)HQ1HOuR;9not{d`=n z$SMtTj2W5X$_mb!Uk};mmQJ=H6T9fR-YU& znQ|-jd>SqmF;*Iq@?W=Pu*Nt^XL+0-Bi~^v(FW+c>Z{}3^W#)lY+d0Hx+L zC@gkc`hOCua^Y8308~N=m75BSBrZlAh(9d;C}R*q$z9zs^mZqeh#g#q48Kh;Cm0)Y zRm_3f8efk-p!#@p1(4=*nSw823XXn2|8YndG-9>h;hp!c)Lsq?_QJK(Kn?d*%V36%T|68fW(Rn#+5BZbJ9zmrpR?vj5R%36ZAq-o zHVO|BmiL(dVjOza5$eGj=^*^Vtn>-2rBn^Anl$q}TM;DY0#TsSA z!2Nb^(%&^N=Q1YQYxHd?YUwCw?qTDSK>NB}m5 zEJp8>08sc8XD8Q!6He4>{e8xt^VulYg|WIdurno}E^3sJSG@nwd>xlfk_gcdRx{YT z&c?pt-)pVRbnt3MRo>XxEl|t<;6*VO8%!s|0qC&r@dj+B6 zq;dgLhyq%Rt<}7NJxHA5I`m$!&mry)c>k~#_{k(=P`eHN8|FvoUv&Sse(K=c{YU_Tlxrzh$~M0VeXcM+0DcNIi-VQ5#OV2p8~=Ne7Ohcw>eRllaT=fojalE zlT+7=oDAl_)^Ca7B9UODoPORma^4AOdkptq&r&_;uVll)TEZ%i$rr;_K>yEcIIF1> zAbw!u5vk-s-bJtp56Ev=A3b`h|KaQ?eZS&k&;MPccpiDxO8~fy4}V4Z75yD9r$P4* zO0KOMP8IA>VbcK)7C}#9KK6_Ul$Im|`eT3cGv*9wv0==Q#GxY*LUpyS9p0ZrC0{xj*l`3tBC;+1>4#D(<49s zz6`idCu=hTuNZL5L)T@DjhD*R%5h-K?Z&r+qaI^o5C9|4oUktA*U>n}B-c6`IWD;i z#Rl+uvsCAvsrhJ&^LR_;0Q&AB@3BGA8|1z0UcPP~aA_?|5$hWbZLP_wu>#b7^U3FW zDsaFAImAE(P(>m3P|WfL0{u8A2PqDq4fNNFkB#D!Pyo@Y*>S+lMqwm^Lm$|pKcWX9 z3J94|wQmVOSs=iO2KNV!F{;SJ)x_ir1ttG$i3Ka8f?BIY<>)2(hGy`@U))~>GKedYCl7*1ld>I;F?1}R zUG3ty?VZ-`Jn@#$aWu-ljS4Q@@8x50U0wK?JMNRmjTmU+j9atMp?dcZ`vF?)JO2BT zYeg-6=lz8A5X;1U@0>m(z~@QR5@0Kj++2w>V2Pwt!Q>^%0G)BbOQ>T z>uK1!7VFa|6jOlhJn$JR28OA=$AbJ}PE<|=Jt|H-@Jq)2434>pP~4Z z6blpMv!|8+QPzZ9Y0@KE6%s|AzD7f89?UY-uzSilTA_F2i zkd-x8vj^E>F$4gEfef*8uHEs=O+yFxFg<@#cPsIgZaN<<65{BA z%6I5$nkoR6jBpXNOa^GWnZp0@tT{Mi*3P#E5}U=$m2-Tvlvn3C`DSqnz;klF4`fm9 zshV1GZwd6b+vgkC+?*mw2fc|{oV4vIvoq{l@1v!SRl#4gNE~=ZO z_{f$2qgv+4x_N4xMxsN|hp-9(VgLX}h!2oP4Xzq%i~a(*B0ORSc}=krVI)F|#JJ_* z0ALZso35|3wq{aM>`!(X;(qY^0^btGxpVm7PZCmfGKnI7Qe72oMxqo9TO2HZ`dMd(-6z+0I%H~}8Ji~(xNR!;zu{mXO^(mC+enI&Z$y$T-N>U;TI6^+i zE3R;y{r~hCuAgl@r#XOw{E$6^`C|o4f_^fUMMZs+6{?Z+8S`mr+Pt8NqcVVguYOXX zS4!7I)W}bRAM{xk<|jBGEtVK(<~U#62iNi+2L$C(qAMW{c#nu87c7vZNIwDud_)ld zpJF^}8D4Yq-pq!`xqh{K;-`T0%9xy?4r#;X?4IN zE%aX%Ide_oDF4fE#*%QO3OI%tj|mt!xk8_oCr(<`P!_BRl=rM2A^&1ru_q9`-gd+5 zksg5VKivu0Z+LwG{TEMlHb(`5Eks;cnEOOf94-7x!?l;P4oqP!r&EB9I^Vj6{^BSg z0iYfLaT1{Z0qYjZ+r?O!7zt!Ro|+lJhf3gngI+Hiz|S*?f4kEmkcrsxfVsT`+>!zG z7fn~d-mIB{$DM-C6J!6;a}>Fc?ghOH9e)Hp5=tl0`V;QDWleGpO0?bNocP@*N^uVE zc}TeNZcCE?wkc)4?qMVtwQP^K;#B5gS`EL_v5YYB!*Ln%zYO=sh;|u~5AZu@-#)R++3IJ^k;^cG zzTax!XDN)3ief}N1cJ2(zy?KVg(FkHIV8afAlTt}_4rh;b$aZMwX{zJ^e4v*h;I2#30^=z`Qi0PY6bQ}){+-n=0m0aT5Y{l@$+9sOAYOHY{nbvcV1M4%wAg&SEj;Dw{$FhXY%pC<=PwVFeFN)FML9PT>=lG_GM#lc022W3 zCs**lJm07*yW)Sf?3K@6CxF}!GsjOz5zGm4+}J|CEthf%YIXlhA%9luVujWaum*M$ zoj8qMpGMfcWtQ4;Wm@1l8R;G5N^!emv_G5nKDT8zm)q1S|LOUJbz5roA$jw$Om-k;3+D<9H$O+8iqXc zMSeYWt~=_~!~b;i!Lle}CgoAsC-iTE$|*L$lb}}N>?Hs=kpw_v&5lN?MU)!PT=|>; zYX?VZ?vj?WrNgCT0sx(@Tv1y3254cRg@F zZoVofbKWh^Kbp=LKYdDd0c#9Y#m=ifKaC%e#iJJE$Fe=^=_~^ z&zi=c7uzS_hf?pnfTpYIY&W-lz&9$6Vl!^5?i5=Z!rAcP#Z7(tJu;lx;qsjif698EM6Df=Y`7{9GZ@^oHCc@Y6 zk%x=UWhhV48%o+uovjq7Qz?s|X2&%^WKesb{|VkdbbmR3*Riji0l<49ngN)T1^V|q zTcpiNHeiqh{ptuZ=YNixM-0S_D9RDCqLM$6K>xlpag3X3yxyaM zG)MZTE&xb^xuzslyDb~Iq#VQ<=B~1tnt=3^pC6bCtwJjYUA=OL^-Op){Ik-Q?dg1* z<34zQH9XoIjQPPspMrD_NoI?d5}+&8^OoS(sol1(n;(L|-yG^(k466Z8QW7!bw~Ea z_g93>^Om-E=+7%LK>vXyImVGG04YTic;0=979 z-h)&>z__3Xf;3N=&3C#dBMHb8D_j1jWr3jkcN)7jovbD>KSF=>bY3%@Eb#Eb(t{k3 zt54zm$WM_=SfQsYBJNz{US~$jmvoqBwNn z$`WEAyc;=;JXlDNh5xZ31pt{`M@m@Wj`{gUL0Ga<;dh|3%`9dxBo88^AOIi$r7>ni z`C95U41Dp~Rev2v-hj0T%S(SY6@`T1Q*#oP;8H%N->cjpHU7uSh`g>OQxR(t+SnE_aWUw*`j|4d!C zu#Wo;D?-n^zXbHR-jd7^9KoYkeFf<+-1m}9LT1q_`aOU9@z#33 z$K1N4nt@(!Vm z$n?k8Blb2dhY|TFK(m5ArQokYe2PHKzRQ2#YIhI{bn3qxKo=+|h5xyfsmz;z2d;ji zS)=B6{Lhoz2h9OgR1Dimid5+7qf(zf1_dhrgK8vAip8}@Gy~dvv%vk=2K{SYu9%*5 zsa+}5>k;B&z~B1KmrA(a#B^-B33Zl7dHsj`zr6lc>O{>5?Qfz^w2zvjaSt_i8>j+4 zR3$+Ewce;`ucsJq6{VhRYv~QGKW62u&mCyfvy%f;js7n=2aXS>ARbmoBJLJt__q`Y z?g@L>p$}AI5;TW@bz(q3UJ~^@=!kH{{&-+Er=1XV5erDTOfO?TqfcO%z69J&B%oKT zR0YJhpB7WwY&KPdxMEW85Zv=x?p0+XVyK1YNSrrD5(NKa;XjX$W{3lHf-@Ne{u~kr z7027~kb|s8GI#iC~cGR2m6UDWiT+1f9L(K;W;`^LQW@yi>xW zaWxH=x-W4DhFMneg8R*IUs~Gm{&ny+*QZF!vRHs6q8-HSYdS64OwDQfaKk7@Y81KA z_myMrAj{khTFnjTTyA+@QrEWDV><{WOd||nYux`9Um9;}=7ppIY(#3NZ z1H=6ewlW37tsv=S3a)biu*mh&V6+Net!~(@pG7u&fLIQ%pnN}TpiDKG_hZ1ViWNr| zChk3lJRG)IvcA6HJl{N1;n5#d4)e>`*ZzEd=7p8ttY!@|;q4reMh-4LbOgf42Kri` zqdJ#iVLveDj&_x}rwwnMQrWqswwh#0d;^}7u@H3Qlj63ZoQ&t1^JsSEJGqx@~;QD zLyveV{wTi&xSYk)!etNWfQAVwQ4>SutyL?O0{SDGTdVSOQZKzS=#Fq4PAv}~Lr9%^ zy;eK}mVrrOk{HNlzP9k7P%+sI!j!(_st-0&WzV9uuQ zuadd~Y|2g5u;jy0^8xHOTZ39I9Bl7Q;*`agSBNj-o~OCRtW9Q@r)}q6>}j{(T&`gK zhl4(@u2{V3^Pzz~l2vKyY_Rn$_vFiE%dobEyPio5a9T=vW6LF3O20xpi7evtadX~% zoHrh4>N9jcw`In=v*yp$|9pf2I{1Gg$;5iTzL*2(v%Sh5 zb4CGJ#AZaamIgG3!%$T=pg-gaL>Zx>?>x?;xPEzm(~+gG%}T{_y8?R-0mFE|RH7uq zfBFcfZU%WUx^n<^Dvj8f_nrRAK|pNAo!d!jF#FFX+K?(w2Z?cWxTOO{bOt z$}%<0z|)|%KJx>73;k)eI$P1rvOiTw_6n){QjbGe9Dk`cdVdsSJWLUmCHkXe8`+9v z3dXd`N}_1T=h4gv=8{;xI&ZulXwzF41}F_oXG-PCD#cWL=)yKoBGlNvr-B( zhX$wHQf|n>6OD{pp}Il=+x3e9(ET$(=J0%z+!urt-w?Mx<$y7`0dD-;>m29<0(^ z>qzs9AVUD@X&c%Tf82`a2aV z5O`|x7EyY%hGXYefPH(jqEiaJBOK3wzOA<_>9Ntsg*tPt@$cNj$Mk*9&M055guXt* z&HjS+`E~!z34W7KK;kH$IpVkADH}kG(TN3P#J4AJQXDXeCY^+$`%k5-ImnwT{bWd| z5&v~!qd|P1nA6JBqmuovWa#?ji5g2J{ZJrp<+0kxq>2KMe21cL_<;FPW4a|JwjYdg zE%kDB0xa=AQgt;1tbdT$b{KlWD_yDh&l(rQM{9%ZT?U}XX-pP3pzKv*y6a|G3%!i{ zu~Cp8wOTFG^{e?MBCw~WTjn^g&j*6vH>X=TLsDm#Qkym8jz5m)=)CIwNGd$5rk~g< z&aM>DZ^X+^0}*_%7WW@WES~;$#u(sB(s?bZts4hor6>IhfaVTxDgyo;jKx`zx}DG|5q%K%}*lgTqH~f*<}vf z7>pWa;CMwSCDEXDvE6_lHAUXWp&zgYcRt+BP}uG8vHnR~3GbAmChX

    2qk#ZfSy# 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 JPDHLkV1g7!V`cyV literal 33020 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%0D)HObPHR@(x_@5(7C7n$O%Tmp3msszR&ET1!wd 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 diff --git a/macosx/mac-appleevent.cpp b/macosx/mac-appleevent.cpp old mode 100644 new mode 100755 index 2c8a2b18..c0fa21e5 --- a/macosx/mac-appleevent.cpp +++ b/macosx/mac-appleevent.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-appleevent.h b/macosx/mac-appleevent.h old mode 100644 new mode 100755 index e3013d9b..2c0b9464 --- a/macosx/mac-appleevent.h +++ b/macosx/mac-appleevent.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-audio.h b/macosx/mac-audio.h index e08bf9aa..f1bbace2 100644 --- a/macosx/mac-audio.h +++ b/macosx/mac-audio.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-audio.cpp b/macosx/mac-audio.mm similarity index 99% rename from macosx/mac-audio.cpp rename to macosx/mac-audio.mm index ac64dd8a..5db28d00 100644 --- a/macosx/mac-audio.cpp +++ b/macosx/mac-audio.mm @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander @@ -191,6 +191,7 @@ #include "snes9x.h" #include "apu.h" +#include #include #include #include diff --git a/macosx/mac-cart.h b/macosx/mac-cart.h index 8d07f555..fd53d5fe 100755 --- a/macosx/mac-cart.h +++ b/macosx/mac-cart.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-cart.mm b/macosx/mac-cart.mm index bd860ab7..21597734 100755 --- a/macosx/mac-cart.mm +++ b/macosx/mac-cart.mm @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-cheat.cpp b/macosx/mac-cheat.cpp old mode 100644 new mode 100755 index 18b72610..2cba1955 --- a/macosx/mac-cheat.cpp +++ b/macosx/mac-cheat.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-cheat.h b/macosx/mac-cheat.h old mode 100644 new mode 100755 index 5e1a2d29..a137b9cc --- a/macosx/mac-cheat.h +++ b/macosx/mac-cheat.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-cheatfinder.cpp b/macosx/mac-cheatfinder.cpp index 01187e81..5ead9830 100755 --- a/macosx/mac-cheatfinder.cpp +++ b/macosx/mac-cheatfinder.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-cheatfinder.h b/macosx/mac-cheatfinder.h old mode 100644 new mode 100755 index 536b530c..6814bc9c --- a/macosx/mac-cheatfinder.h +++ b/macosx/mac-cheatfinder.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-client.cpp b/macosx/mac-client.cpp index 19763eb5..75ae9345 100644 --- a/macosx/mac-client.cpp +++ b/macosx/mac-client.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-client.h b/macosx/mac-client.h index 20d2fae0..38aff0a7 100644 --- a/macosx/mac-client.h +++ b/macosx/mac-client.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-cocoatools.h b/macosx/mac-cocoatools.h index 460e85f6..ff34834b 100644 --- a/macosx/mac-cocoatools.h +++ b/macosx/mac-cocoatools.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-cocoatools.mm b/macosx/mac-cocoatools.mm index 05a60f3d..d2774cca 100644 --- a/macosx/mac-cocoatools.mm +++ b/macosx/mac-cocoatools.mm @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-controls.cpp b/macosx/mac-controls.cpp index 919fb7c9..a2291b78 100644 --- a/macosx/mac-controls.cpp +++ b/macosx/mac-controls.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-controls.h b/macosx/mac-controls.h index 10daba6a..a849852e 100644 --- a/macosx/mac-controls.h +++ b/macosx/mac-controls.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-coreimage.h b/macosx/mac-coreimage.h index fd4b436f..46588678 100644 --- a/macosx/mac-coreimage.h +++ b/macosx/mac-coreimage.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-coreimage.mm b/macosx/mac-coreimage.mm index 741c33e1..06626ed4 100644 --- a/macosx/mac-coreimage.mm +++ b/macosx/mac-coreimage.mm @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-dialog.cpp b/macosx/mac-dialog.cpp old mode 100644 new mode 100755 index 8fa3c8e7..a1655af7 --- a/macosx/mac-dialog.cpp +++ b/macosx/mac-dialog.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-dialog.h b/macosx/mac-dialog.h index 4d7b9dbc..0dd9b407 100755 --- a/macosx/mac-dialog.h +++ b/macosx/mac-dialog.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-file.cpp b/macosx/mac-file.cpp index 35a6df67..cbb4f7dd 100644 --- a/macosx/mac-file.cpp +++ b/macosx/mac-file.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-file.h b/macosx/mac-file.h index aa6773cc..a6696ad8 100644 --- a/macosx/mac-file.h +++ b/macosx/mac-file.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-global_prefix.h b/macosx/mac-global_prefix.h index 8e98e089..97cfa636 100644 --- a/macosx/mac-global_prefix.h +++ b/macosx/mac-global_prefix.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-gworld.cpp b/macosx/mac-gworld.cpp old mode 100644 new mode 100755 index cddcfb9c..6fe19423 --- a/macosx/mac-gworld.cpp +++ b/macosx/mac-gworld.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-gworld.h b/macosx/mac-gworld.h old mode 100644 new mode 100755 index 87b1e100..026c60ce --- a/macosx/mac-gworld.h +++ b/macosx/mac-gworld.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-joypad.cpp b/macosx/mac-joypad.cpp old mode 100644 new mode 100755 index c2b8f5b2..4bd6acc1 --- a/macosx/mac-joypad.cpp +++ b/macosx/mac-joypad.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-joypad.h b/macosx/mac-joypad.h old mode 100644 new mode 100755 index 4cdf19cb..71dfb499 --- a/macosx/mac-joypad.h +++ b/macosx/mac-joypad.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-keyboard.cpp b/macosx/mac-keyboard.cpp old mode 100644 new mode 100755 index b8377e07..d02e12db --- a/macosx/mac-keyboard.cpp +++ b/macosx/mac-keyboard.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-keyboard.h b/macosx/mac-keyboard.h old mode 100644 new mode 100755 index c10e76dd..57aa04f6 --- a/macosx/mac-keyboard.h +++ b/macosx/mac-keyboard.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-multicart.cpp b/macosx/mac-multicart.cpp index ff6e1ba9..0441292b 100644 --- a/macosx/mac-multicart.cpp +++ b/macosx/mac-multicart.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-multicart.h b/macosx/mac-multicart.h index a7ed7018..9e5500ce 100644 --- a/macosx/mac-multicart.h +++ b/macosx/mac-multicart.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-musicbox.cpp b/macosx/mac-musicbox.cpp deleted file mode 100755 index 644f8122..00000000 --- a/macosx/mac-musicbox.cpp +++ /dev/null @@ -1,867 +0,0 @@ -/*********************************************************************************** - Snes9x - Portable Super Nintendo Entertainment System (TM) emulator. - - (c) Copyright 1996 - 2002 Gary Henderson (gary.henderson@ntlworld.com), - Jerremy Koot (jkoot@snes9x.com) - - (c) Copyright 2002 - 2004 Matthew Kendora - - (c) Copyright 2002 - 2005 Peter Bortas (peter@bortas.org) - - (c) Copyright 2004 - 2005 Joel Yliluoma (http://iki.fi/bisqwit/) - - (c) Copyright 2001 - 2006 John Weidman (jweidman@slip.net) - - (c) Copyright 2002 - 2006 funkyass (funkyass@spam.shaw.ca), - Kris Bleakley (codeviolation@hotmail.com) - - (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), - Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) - - (c) Copyright 2006 - 2007 nitsuja - - (c) Copyright 2009 - 2010 BearOso, - OV2 - - - BS-X C emulator code - (c) Copyright 2005 - 2006 Dreamer Nom, - zones - - C4 x86 assembler and some C emulation code - (c) Copyright 2000 - 2003 _Demo_ (_demo_@zsnes.com), - Nach, - zsKnight (zsknight@zsnes.com) - - C4 C++ code - (c) Copyright 2003 - 2006 Brad Jorsch, - Nach - - DSP-1 emulator code - (c) Copyright 1998 - 2006 _Demo_, - Andreas Naive (andreasnaive@gmail.com), - Gary Henderson, - Ivar (ivar@snes9x.com), - John Weidman, - Kris Bleakley, - Matthew Kendora, - Nach, - neviksti (neviksti@hotmail.com) - - DSP-2 emulator code - (c) Copyright 2003 John Weidman, - Kris Bleakley, - Lord Nightmare (lord_nightmare@users.sourceforge.net), - Matthew Kendora, - neviksti - - DSP-3 emulator code - (c) Copyright 2003 - 2006 John Weidman, - Kris Bleakley, - Lancer, - z80 gaiden - - DSP-4 emulator code - (c) Copyright 2004 - 2006 Dreamer Nom, - John Weidman, - Kris Bleakley, - Nach, - z80 gaiden - - OBC1 emulator code - (c) Copyright 2001 - 2004 zsKnight, - pagefault (pagefault@zsnes.com), - Kris Bleakley - Ported from x86 assembler to C by sanmaiwashi - - SPC7110 and RTC C++ emulator code used in 1.39-1.51 - (c) Copyright 2002 Matthew Kendora with research by - zsKnight, - John Weidman, - Dark Force - - SPC7110 and RTC C++ emulator code used in 1.52+ - (c) Copyright 2009 byuu, - neviksti - - S-DD1 C emulator code - (c) Copyright 2003 Brad Jorsch with research by - Andreas Naive, - John Weidman - - S-RTC C emulator code - (c) Copyright 2001 - 2006 byuu, - John Weidman - - ST010 C++ emulator code - (c) Copyright 2003 Feather, - John Weidman, - Kris Bleakley, - Matthew Kendora - - Super FX x86 assembler emulator code - (c) Copyright 1998 - 2003 _Demo_, - pagefault, - zsKnight - - Super FX C emulator code - (c) Copyright 1997 - 1999 Ivar, - Gary Henderson, - John Weidman - - Sound emulator code used in 1.5-1.51 - (c) Copyright 1998 - 2003 Brad Martin - (c) Copyright 1998 - 2006 Charles Bilyue' - - Sound emulator code used in 1.52+ - (c) Copyright 2004 - 2007 Shay Green (gblargg@gmail.com) - - SH assembler code partly based on x86 assembler code - (c) Copyright 2002 - 2004 Marcus Comstedt (marcus@mc.pp.se) - - 2xSaI filter - (c) Copyright 1999 - 2001 Derek Liauw Kie Fa - - HQ2x, HQ3x, HQ4x filters - (c) Copyright 2003 Maxim Stepin (maxim@hiend3d.com) - - NTSC filter - (c) Copyright 2006 - 2007 Shay Green - - GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso - - Win32 GUI code - (c) Copyright 2003 - 2006 blip, - funkyass, - Matthew Kendora, - Nach, - nitsuja - (c) Copyright 2009 - 2010 OV2 - - Mac OS GUI code - (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones - - - Specific ports contains the works of other authors. See headers in - individual files. - - - Snes9x homepage: http://www.snes9x.com/ - - Permission to use, copy, modify and/or distribute Snes9x in both binary - and source form, for non-commercial purposes, is hereby granted without - fee, providing that this license information and copyright notice appear - with all copies and any derived work. - - This software is provided 'as-is', without any express or implied - warranty. In no event shall the authors be held liable for any damages - arising from the use of this software or it's derivatives. - - Snes9x is freeware for PERSONAL USE only. Commercial users should - seek permission of the copyright holders first. Commercial use includes, - but is not limited to, charging money for Snes9x or software derived from - Snes9x, including Snes9x or derivatives in commercial game bundles, and/or - using Snes9x as a promotion for your commercial product. - - The copyright holders request that bug fixes and improvements to the code - should be forwarded to them so everyone can benefit from the modifications - in future versions. - - Super NES and Super Nintendo Entertainment System are trademarks of - Nintendo Co., Limited and its subsidiary companies. - ***********************************************************************************/ - -/*********************************************************************************** - SNES9X for Mac OS (c) Copyright John Stiles - - Snes9x for Mac OS X - - (c) Copyright 2001 - 2010 zones - (c) Copyright 2002 - 2005 107 - (c) Copyright 2002 PB1400c - (c) Copyright 2004 Alexander and Sander - (c) Copyright 2004 - 2005 Steven Seeger - (c) Copyright 2005 Ryan Vogt - ***********************************************************************************/ - - -#include "snes9x.h" -#include "memmap.h" -#include "apu.h" -#include "snapshot.h" - -#include - -#include "mac-prefix.h" -#include "mac-audio.h" -#include "mac-dialog.h" -#include "mac-file.h" -#include "mac-os.h" -#include "mac-stringtools.h" -#include "mac-musicbox.h" - -const float mbxOffsetX = 0.0f, - mbxOffsetY = 0.0f, - mbxBarWidth = 12.0f, - mbxBarHeight = 128.0f, - mbxBarSpace = 2.0f, - mbxLRSpace = 20.0f, - mbxRightBarX = (mbxLRSpace + (mbxBarWidth * 8.0f + mbxBarSpace * 7.0f)), - yyscale = (float) (128.0 / sqrt(64.0)); - -extern char gMacRomName[ROM_NAME_LEN]; - -volatile Boolean mboxPause = false; - -static uint8 storedSoundSnapshot[SPC_SAVE_STATE_BLOCK_SIZE]; -static int32 oldCPUCycles; - -static short mbxOpenedHeight, mbxClosedHeight; -static float mbxMarginX, mbxMarginY, mbxViewWidth, mbxViewHeight; - -static short prevLMax[8], prevRMax[8]; -static short prevLVol[8], prevRVol[8]; -static long long barTimeL[8], barTimeR[8]; - -static pthread_t mbxThread; - -static uint16 stereo_switch; - -static volatile Boolean stopNow, showIndicator, mbxFinished, headPressed; - -static void SPCPlayExec (void); -static void SPCPlayFreeze (void); -static void SPCPlayDefrost (void); -static void MusicBoxForceFreeze (void); -static void MusicBoxForceDefrost (void); -static void MusicBoxInitIndicator (void); -static void MusicBoxDrawIndicator (HIViewRef, CGContextRef); -static void * SoundTask (void *); -static pascal void MusicBoxTimerHandler (EventLoopTimerRef, void *); -static pascal OSStatus MusicBoxEventHandler (EventHandlerCallRef, EventRef, void *); -static pascal OSStatus IndicatorEventHandler (EventHandlerCallRef, EventRef, void *); - - -void MusicBoxDialog (void) -{ - OSStatus err; - IBNibRef nibRef; - - if (!cartOpen) - return; - - err = CreateNibReference(kMacS9XCFString, &nibRef); - if (err == noErr) - { - CFURLRef iconURL; - FSRef iconFSRef; - IconRef actIcon; - WindowRef tWindowRef; - - actIcon = NULL; - - if (musicboxmode == kMBXSoundEmulation) - iconURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("musicbox_ledoff"), CFSTR("icns"), NULL); - else - iconURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("musicbox_ledon" ), CFSTR("icns"), NULL); - - if (iconURL) - { - if (CFURLGetFSRef(iconURL, &iconFSRef)) - err = RegisterIconRefFromFSRef('~9X~', 'micn', &iconFSRef, &actIcon); - - CFRelease(iconURL); - } - - err = CreateWindowFromNib(nibRef, CFSTR("MusicBox"), &tWindowRef); - if (err == noErr) - { - EventHandlerRef mboxRef, paneRef; - EventHandlerUPP mboxUPP, paneUPP; - EventLoopTimerRef timeRef; - EventLoopTimerUPP timeUPP; - EventTypeSpec mboxEvents[] = { { kEventClassCommand, kEventCommandProcess }, - { kEventClassCommand, kEventCommandUpdateStatus } }, - paneEvents[] = { { kEventClassControl, kEventControlDraw } }; - CFStringRef sref; - CGDataProviderRef prov; - CGImageRef ipng; - CFURLRef iurl; - ControlButtonContentInfo info; - HIViewRef ctl, root, paneView, imageView, contentView; - HIViewID cid; - HIRect bounds; - Rect windowRect, barRect; - char drive[_MAX_DRIVE + 1], dir[_MAX_DIR + 1], fname[_MAX_FNAME + 1], ext[_MAX_EXT + 1]; - - mboxPause = false; - mbxFinished = false; - showIndicator = false; - headPressed = false; - - stereo_switch = ~0; - spc_core->dsp_set_stereo_switch(stereo_switch); - - for (int i = 0; i < MAC_MAX_PLAYERS; i++) - controlPad[i] = 0; - - // 107's enhanced SPC player - - root = HIViewGetRoot(tWindowRef); - cid.id = 0; - - if (musicboxmode == kMBXSoundEmulation) - { - cid.signature = 'HEAD'; - HIViewFindByID(root, cid, &ctl); - EnableControl(ctl); - - SPCPlayFreeze(); - } - else - MusicBoxForceFreeze(); - - cid.signature = 'Kart'; - HIViewFindByID(root, cid, &ctl); - SetStaticTextTrunc(ctl, truncEnd, false); - _splitpath(Memory.ROMFilename, drive, dir, fname, ext); - sref = CFStringCreateWithCString(kCFAllocatorDefault, fname, kCFStringEncodingUTF8); - if (sref) - { - SetStaticTextCFString(ctl, sref, false); - CFRelease(sref); - } - - ipng = NULL; - - iurl = CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("musicbox_indicator"), CFSTR("png"), NULL); - if (iurl) - { - prov = CGDataProviderCreateWithURL(iurl); - if (prov) - { - ipng = CGImageCreateWithPNGDataProvider(prov, NULL, false, kCGRenderingIntentDefault); - CGDataProviderRelease(prov); - } - - CFRelease(iurl); - } - - imageView = NULL; - - if (ipng) - { - HIViewFindByID(root, kHIViewWindowContentID, &contentView); - - err = HIImageViewCreate(ipng, &imageView); - if (err == noErr) - { - bounds = CGRectMake(30, 64, CGImageGetWidth(ipng), CGImageGetHeight(ipng)); - HIViewSetFrame(imageView, &bounds); - HIImageViewSetOpaque(imageView, false); - HIViewSetVisible(imageView, true); - HIViewAddSubview(contentView, imageView); - cid.signature = 'iMaG'; - SetControlID(imageView, &cid); - } - - CGImageRelease(ipng); - } - - cid.signature = 'Pane'; - HIViewFindByID(root, cid, &paneView); - HIViewGetBounds(paneView, &bounds); - mbxViewWidth = bounds.size.width; - mbxViewHeight = bounds.size.height; - mbxMarginY = (mbxViewHeight - mbxBarHeight) / 2.0f; - mbxMarginX = (mbxViewWidth - ((mbxBarWidth * 8.0f + mbxBarSpace * 7.0f) * 2.0f + mbxLRSpace)) / 2.0f; - - if (imageView) - { - HIViewSetZOrder(imageView, kHIViewZOrderBelow, paneView); - HIViewAddSubview(imageView, paneView); - } - - if (systemVersion >= 0x1040) - { - info.contentType = kControlContentCGImageRef; - cid.signature = 'Paus'; - HIViewFindByID(root, cid, &ctl); - info.u.imageRef = macIconImage[98]; - err = SetBevelButtonContentInfo(ctl, &info); - cid.signature = 'HEAD'; - HIViewFindByID(root, cid, &ctl); - info.u.imageRef = macIconImage[99]; - err = SetBevelButtonContentInfo(ctl, &info); - cid.signature = 'S_EF'; - HIViewFindByID(root, cid, &ctl); - info.u.imageRef = macIconImage[100]; - err = SetBevelButtonContentInfo(ctl, &info); - } - #ifdef MAC_PANTHER_SUPPORT - else - { - info.contentType = kControlContentIconRef; - cid.signature = 'Paus'; - HIViewFindByID(root, cid, &ctl); - info.u.iconRef = macIconRef[98]; - err = SetBevelButtonContentInfo(ctl, &info); - cid.signature = 'HEAD'; - HIViewFindByID(root, cid, &ctl); - info.u.iconRef = macIconRef[99]; - err = SetBevelButtonContentInfo(ctl, &info); - cid.signature = 'S_EF'; - HIViewFindByID(root, cid, &ctl); - info.u.iconRef = macIconRef[100]; - err = SetBevelButtonContentInfo(ctl, &info); - } - #endif - - cid.signature = 'Tr_i'; - HIViewFindByID(root, cid, &ctl); - HIViewGetFrame(ctl, &bounds); - GetWindowBounds(tWindowRef, kWindowTitleBarRgn, &barRect); - mbxClosedHeight = (short) (bounds.origin.y + bounds.size.height + 7.0) + (barRect.bottom - barRect.top); - - GetWindowBounds(tWindowRef, kWindowStructureRgn, &windowRect); - mbxOpenedHeight = windowRect.bottom - windowRect.top; - - windowRect.bottom = windowRect.top + mbxClosedHeight; - SetWindowBounds(tWindowRef, kWindowStructureRgn, &windowRect); - - paneUPP = NewEventHandlerUPP(IndicatorEventHandler); - err = InstallControlEventHandler(paneView, paneUPP, GetEventTypeCount(paneEvents), paneEvents, (void *) paneView, &paneRef); - - mboxUPP = NewEventHandlerUPP(MusicBoxEventHandler); - err = InstallWindowEventHandler(tWindowRef, mboxUPP, GetEventTypeCount(mboxEvents), mboxEvents, (void *) tWindowRef, &mboxRef); - - timeUPP = NewEventLoopTimerUPP(MusicBoxTimerHandler); - err = InstallEventLoopTimer(GetCurrentEventLoop(), kEventDurationNoWait, kEventDurationSecond * 2.0 / (double) Memory.ROMFramesPerSecond, timeUPP, (void *) paneView, &timeRef); - - MusicBoxInitIndicator(); - - stopNow = false; - MacStartSound(); - pthread_create(&mbxThread, NULL, SoundTask, NULL); - - MoveWindowPosition(tWindowRef, kWindowMusicBox, true); - GetWindowBounds(tWindowRef, kWindowStructureRgn, &windowRect); - if (windowRect.bottom - windowRect.top > mbxClosedHeight) - { - showIndicator = true; - SetControl32BitValue(ctl, 1); // Tr_i - } - - ShowWindow(tWindowRef); - err = RunAppModalLoopForWindow(tWindowRef); - HideWindow(tWindowRef); - SaveWindowPosition(tWindowRef, kWindowMusicBox); - - stopNow = true; - pthread_join(mbxThread, NULL); - MacStopSound(); - - err = RemoveEventLoopTimer(timeRef); - DisposeEventLoopTimerUPP(timeUPP); - - err = RemoveEventHandler(mboxRef); - DisposeEventHandlerUPP(mboxUPP); - - err = RemoveEventHandler(paneRef); - DisposeEventHandlerUPP(paneUPP); - - CFRelease(tWindowRef); - - stereo_switch = ~0; - spc_core->dsp_set_stereo_switch(stereo_switch); - - mbxFinished = true; - - if (musicboxmode == kMBXSoundEmulation) - SPCPlayDefrost(); - else - MusicBoxForceDefrost(); - } - - if (actIcon) - err = UnregisterIconRef('~9X~', 'micn'); - - DisposeNibReference(nibRef); - } -} - -static pascal OSStatus MusicBoxEventHandler (EventHandlerCallRef inHandlerCallRef, EventRef inEvent, void *userData) -{ - OSStatus err, result = eventNotHandledErr; - WindowRef tWindowRef = (WindowRef) userData; - - switch (GetEventClass(inEvent)) - { - case kEventClassCommand: - { - switch (GetEventKind(inEvent)) - { - HICommand cmd; - - case kEventCommandUpdateStatus: - { - err = GetEventParameter(inEvent, kEventParamDirectObject, typeHICommand, NULL, sizeof(HICommand), NULL, &cmd); - if (err == noErr && cmd.commandID == 'clos') - { - UpdateMenuCommandStatus(false); - result = noErr; - } - - break; - } - - case kEventCommandProcess: - { - err = GetEventParameter(inEvent, kEventParamDirectObject, typeHICommand, NULL, sizeof(HICommand), NULL, &cmd); - if (err == noErr) - { - HIViewRef root, c1, c2, c3, c4; - HIViewID cid; - Rect rct; - - switch (cmd.commandID) - { - case 'bar1': stereo_switch ^= (1 << 0); result = noErr; break; - case 'bar2': stereo_switch ^= (1 << 1); result = noErr; break; - case 'bar3': stereo_switch ^= (1 << 2); result = noErr; break; - case 'bar4': stereo_switch ^= (1 << 3); result = noErr; break; - case 'bar5': stereo_switch ^= (1 << 4); result = noErr; break; - case 'bar6': stereo_switch ^= (1 << 5); result = noErr; break; - case 'bar7': stereo_switch ^= (1 << 6); result = noErr; break; - case 'bar8': stereo_switch ^= (1 << 7); result = noErr; break; - case 'bar9': stereo_switch ^= (1 << 8); result = noErr; break; - case 'bara': stereo_switch ^= (1 << 9); result = noErr; break; - case 'barb': stereo_switch ^= (1 << 10); result = noErr; break; - case 'barc': stereo_switch ^= (1 << 11); result = noErr; break; - case 'bard': stereo_switch ^= (1 << 12); result = noErr; break; - case 'bare': stereo_switch ^= (1 << 13); result = noErr; break; - case 'barf': stereo_switch ^= (1 << 14); result = noErr; break; - case 'bar0': stereo_switch ^= (1 << 15); result = noErr; break; - - case 'Paus': - { - mboxPause = !mboxPause; - S9xSetSoundMute(mboxPause); - result = noErr; - break; - } - - case 'Tr_i': - { - showIndicator = !showIndicator; - - root = HIViewGetRoot(tWindowRef); - cid.id = 0; - - cid.signature = 'Pane'; - HIViewFindByID(root, cid, &c1); - HIViewSetVisible(c1, false); - cid.signature = 'iMaG'; - HIViewFindByID(root, cid, &c2); - HIViewSetVisible(c2, false); - cid.signature = 'rCTL'; - HIViewFindByID(root, cid, &c3); - HIViewSetVisible(c3, false); - cid.signature = 'bCTL'; - HIViewFindByID(root, cid, &c4); - HIViewSetVisible(c4, false); - - GetWindowBounds(tWindowRef, kWindowStructureRgn, &rct); - rct.bottom = rct.top + (showIndicator ? mbxOpenedHeight : mbxClosedHeight); - - err = TransitionWindow(tWindowRef, kWindowSlideTransitionEffect, kWindowResizeTransitionAction, &rct); - - HIViewSetVisible(c1, true); - HIViewSetVisible(c2, true); - HIViewSetVisible(c3, true); - HIViewSetVisible(c4, true); - - result = noErr; - break; - } - - case 'DONE': - { - QuitAppModalLoopForWindow(tWindowRef); - result = noErr; - break; - } - - case 'HEAD': - { - headPressed = true; - result = noErr; - break; - } - - case 'S_EF': - { - HideWindow(tWindowRef); - showIndicator = !showIndicator; - ConfigureSoundEffects(); - showIndicator = !showIndicator; - ShowWindow(tWindowRef); - result = noErr; - } - } - - spc_core->dsp_set_stereo_switch(stereo_switch); - } - } - } - } - } - - return (result); -} - -static void * SoundTask (void *) -{ - static long long last; - long long curt; - - Microseconds((UnsignedWide *) &last); - - while (!stopNow) - { - if (!mboxPause) - { - if (musicboxmode == kMBXSoundEmulation) - SPCPlayExec(); - else - S9xMainLoop(); - } - - if (headPressed) - { - showIndicator = !showIndicator; - SPCPlayDefrost(); - showIndicator = !showIndicator; - headPressed = false; - } - - last += (1000000 / Memory.ROMFramesPerSecond); - Microseconds((UnsignedWide *) &curt); - - if (last > curt) - usleep((useconds_t) (last - curt)); - } - - return (NULL); -} - -static void SPCPlayExec (void) -{ - for (int v = 0; v < Timings.V_Max; v++) - { - CPU.Cycles = Timings.H_Max; - S9xAPUEndScanline(); - CPU.Cycles = 0; - S9xAPUSetReferenceTime(0); - } -} - -static void MusicBoxForceFreeze (void) -{ - char filename[PATH_MAX + 1]; - - strcpy(filename, S9xGetFreezeFilename(999)); - strcat(filename, ".tmp"); - - S9xFreezeGame(filename); -} - -static void MusicBoxForceDefrost (void) -{ - char filename[PATH_MAX + 1]; - - strcpy(filename, S9xGetFreezeFilename(999)); - strcat(filename, ".tmp"); - - S9xUnfreezeGame(filename); - remove(filename); -} - -static void SPCPlayFreeze (void) -{ - oldCPUCycles = CPU.Cycles; - CPU.Cycles = Timings.H_Max; - - S9xSetSoundMute(true); - S9xAPUSaveState(storedSoundSnapshot); - S9xSetSoundMute(false); -} - -static void SPCPlayDefrost (void) -{ - CPU.Cycles = oldCPUCycles; - - S9xSetSoundMute(true); - S9xAPULoadState(storedSoundSnapshot); - S9xSetSoundMute(false); -} - -static void MusicBoxInitIndicator (void) -{ - long long currentTime; - - Microseconds((UnsignedWide *) ¤tTime); - - for (int i = 0; i < 8; i++) - { - prevLMax[i] = prevRMax[i] = 0; - prevLVol[i] = prevRVol[i] = 0; - barTimeL[i] = barTimeR[i] = currentTime; - } -} - -static pascal void MusicBoxTimerHandler (EventLoopTimerRef inHandlerCallRef, void *userData) -{ - OSStatus err; - - if (showIndicator) - err = HIViewSetNeedsDisplay((HIViewRef) userData, true); -} - -static pascal OSStatus IndicatorEventHandler (EventHandlerCallRef inHandlerCallRef, EventRef inEvent, void *userData) -{ - OSStatus err, result = eventNotHandledErr; - HIViewRef view = (HIViewRef) userData; - - switch (GetEventClass(inEvent)) - { - case kEventClassControl: - switch (GetEventKind(inEvent)) - { - case kEventControlDraw: - CGContextRef ctx; - - err = GetEventParameter(inEvent, kEventParamCGContextRef, typeCGContextRef, NULL, sizeof(CGContextRef), NULL, &ctx); - if (err == noErr) - { - HIRect bounds; - - HIViewGetBounds(view, &bounds); - CGContextTranslateCTM(ctx, 0, bounds.size.height); - CGContextScaleCTM(ctx, 1.0f, -1.0f); - MusicBoxDrawIndicator(view, ctx); - - result = noErr; - } - } - } - - return (result); -} - -static void MusicBoxDrawIndicator (HIViewRef view, CGContextRef mboxctx) -{ - if (!showIndicator) - return; - - // Bar - - const float length[] = { 1.0f, 1.0f }; - - CGContextSetLineWidth(mboxctx, mbxBarWidth); - CGContextSetLineDash(mboxctx, 0, length, 2); - CGContextSetLineJoin(mboxctx, kCGLineJoinMiter); - - CGContextBeginPath(mboxctx); - - float x = mbxOffsetX + mbxMarginX + mbxBarWidth / 2.0f; - - for (int h = 0; h < 8; h++) - { - // Inactive - - CGContextSetRGBStrokeColor(mboxctx, (196.0f / 256.0f), (200.0f / 256.0f), (176.0f / 256.0f), 1.0f); - - CGContextMoveToPoint (mboxctx, x, mbxOffsetY + mbxMarginY); - CGContextAddLineToPoint(mboxctx, x, mbxOffsetY + mbxMarginY + mbxBarHeight); - - CGContextMoveToPoint (mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY); - CGContextAddLineToPoint(mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY + mbxBarHeight); - - CGContextStrokePath(mboxctx); - - // Max - - short vl = (spc_core->dsp_reg_value(h, 0x00) * spc_core->dsp_envx_value(h)) >> 11; - short vr = (spc_core->dsp_reg_value(h, 0x01) * spc_core->dsp_envx_value(h)) >> 11; - long long currentTime; - - if (vl <= 0) vl = 0; else if (vl > 64) vl = 64; else vl = (short) (yyscale * sqrt((double) vl)) & (~0 << 1); - if (vr <= 0) vr = 0; else if (vr > 64) vr = 64; else vr = (short) (yyscale * sqrt((double) vr)) & (~0 << 1); - - if (vl < prevLVol[h]) vl = ((prevLVol[h] + vl) >> 1); - if (vr < prevRVol[h]) vr = ((prevRVol[h] + vr) >> 1); - - Microseconds((UnsignedWide *) ¤tTime); - - // left - - if ((vl >= prevLMax[h]) && (vl > prevLVol[h])) - { - barTimeL[h] = currentTime; - prevLMax[h] = vl; - } - else - if ((prevLMax[h] > 0) && (barTimeL[h] + 1000000 > currentTime)) - { - CGContextSetRGBStrokeColor(mboxctx, (22.0f / 256.0f), (156.0f / 256.0f), (20.0f / 256.0f), (float) (barTimeL[h] + 1000000 - currentTime) / 1000000.0f); - - CGContextMoveToPoint (mboxctx, x, mbxOffsetY + mbxMarginY + (float) (prevLMax[h] - 2)); - CGContextAddLineToPoint(mboxctx, x, mbxOffsetY + mbxMarginY + (float) (prevLMax[h] )); - - CGContextStrokePath(mboxctx); - } - else - prevLMax[h] = 0; - - prevLVol[h] = vl; - - // right - - if ((vr >= prevRMax[h]) && (vr > prevRVol[h])) - { - barTimeR[h] = currentTime; - prevRMax[h] = vr; - } - else - if ((prevRMax[h] > 0) && (barTimeR[h] + 1000000 > currentTime)) - { - CGContextSetRGBStrokeColor(mboxctx, (22.0f / 256.0f), (156.0f / 256.0f), (20.0f / 256.0f), (float) (barTimeR[h] + 1000000 - currentTime) / 1000000.0f); - - CGContextMoveToPoint (mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY + (float) (prevRMax[h] - 2)); - CGContextAddLineToPoint(mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY + (float) (prevRMax[h] )); - - CGContextStrokePath(mboxctx); - } - else - prevRMax[h] = 0; - - prevRVol[h] = vr; - - // Active - - CGContextSetRGBStrokeColor(mboxctx, (22.0f / 256.0f), (22.0f / 256.0f), (20.0f / 256.0f), 1.0f); - - CGContextMoveToPoint (mboxctx, x, mbxOffsetY + mbxMarginY); - CGContextAddLineToPoint(mboxctx, x, mbxOffsetY + mbxMarginY + (float) vl); - CGContextStrokePath(mboxctx); - CGContextMoveToPoint (mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY); - CGContextAddLineToPoint(mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY + (float) vr); - CGContextStrokePath(mboxctx); - - x += (mbxBarWidth + mbxBarSpace); - } -} diff --git a/macosx/mac-musicbox.h b/macosx/mac-musicbox.h old mode 100644 new mode 100755 index c50879f7..83886e90 --- a/macosx/mac-musicbox.h +++ b/macosx/mac-musicbox.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander @@ -194,6 +194,65 @@ #define kMBXSoundEmulation 1 #define kMBXWholeEmulation 2 +@interface MusicBoxController : NSObject +{ + IBOutlet id window; + IBOutlet id gametitle; + IBOutlet id disclosure; + IBOutlet id rewind; + IBOutlet id indicator; + IBOutlet id led; + + float mbxClosedHeight, + mbxOpenedHeight; + + NSTimer *timer; + pthread_t mbxThread; +} + +- (id) init; +- (void) dealloc; +- (void) windowWillClose: (NSNotification *) aNotification; +- (NSWindow *) window; +- (IBAction) handlePauseButton: (id) sender; +- (IBAction) handleRewindButton: (id) sender; +- (IBAction) handleEffectButton: (id) sender; +- (IBAction) handleChannelButton: (id) sender; +- (IBAction) handleDisclosureButton: (id) sender; +- (void) updateIndicator: (NSTimer *) aTimer; + +@end + +@interface MusicBoxIndicatorView : NSView +{ + float mbxOffsetX, + mbxOffsetY, + mbxBarWidth, + mbxBarHeight, + mbxBarSpace, + mbxLRSpace, + mbxRightBarX, + yyscale; + + float mbxViewWidth, + mbxViewHeight, + mbxMarginX, + mbxMarginY; + + short prevLMax[8], + prevRMax[8], + prevLVol[8], + prevRVol[8]; + + long long barTimeL[8], + barTimeR[8]; +} + +- (id) initWithFrame: (NSRect) frame; +- (void) drawRect: (NSRect) rect; + +@end + extern volatile Boolean mboxPause; void MusicBoxDialog (void); diff --git a/macosx/mac-musicbox.mm b/macosx/mac-musicbox.mm new file mode 100755 index 00000000..0d9157e5 --- /dev/null +++ b/macosx/mac-musicbox.mm @@ -0,0 +1,646 @@ +/*********************************************************************************** + Snes9x - Portable Super Nintendo Entertainment System (TM) emulator. + + (c) Copyright 1996 - 2002 Gary Henderson (gary.henderson@ntlworld.com), + Jerremy Koot (jkoot@snes9x.com) + + (c) Copyright 2002 - 2004 Matthew Kendora + + (c) Copyright 2002 - 2005 Peter Bortas (peter@bortas.org) + + (c) Copyright 2004 - 2005 Joel Yliluoma (http://iki.fi/bisqwit/) + + (c) Copyright 2001 - 2006 John Weidman (jweidman@slip.net) + + (c) Copyright 2002 - 2006 funkyass (funkyass@spam.shaw.ca), + Kris Bleakley (codeviolation@hotmail.com) + + (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), + Nach (n-a-c-h@users.sourceforge.net), + zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2006 - 2007 nitsuja + + (c) Copyright 2009 - 2010 BearOso, + OV2 + + + BS-X C emulator code + (c) Copyright 2005 - 2006 Dreamer Nom, + zones + + C4 x86 assembler and some C emulation code + (c) Copyright 2000 - 2003 _Demo_ (_demo_@zsnes.com), + Nach, + zsKnight (zsknight@zsnes.com) + + C4 C++ code + (c) Copyright 2003 - 2006 Brad Jorsch, + Nach + + DSP-1 emulator code + (c) Copyright 1998 - 2006 _Demo_, + Andreas Naive (andreasnaive@gmail.com), + Gary Henderson, + Ivar (ivar@snes9x.com), + John Weidman, + Kris Bleakley, + Matthew Kendora, + Nach, + neviksti (neviksti@hotmail.com) + + DSP-2 emulator code + (c) Copyright 2003 John Weidman, + Kris Bleakley, + Lord Nightmare (lord_nightmare@users.sourceforge.net), + Matthew Kendora, + neviksti + + DSP-3 emulator code + (c) Copyright 2003 - 2006 John Weidman, + Kris Bleakley, + Lancer, + z80 gaiden + + DSP-4 emulator code + (c) Copyright 2004 - 2006 Dreamer Nom, + John Weidman, + Kris Bleakley, + Nach, + z80 gaiden + + OBC1 emulator code + (c) Copyright 2001 - 2004 zsKnight, + pagefault (pagefault@zsnes.com), + Kris Bleakley + Ported from x86 assembler to C by sanmaiwashi + + SPC7110 and RTC C++ emulator code used in 1.39-1.51 + (c) Copyright 2002 Matthew Kendora with research by + zsKnight, + John Weidman, + Dark Force + + SPC7110 and RTC C++ emulator code used in 1.52+ + (c) Copyright 2009 byuu, + neviksti + + S-DD1 C emulator code + (c) Copyright 2003 Brad Jorsch with research by + Andreas Naive, + John Weidman + + S-RTC C emulator code + (c) Copyright 2001 - 2006 byuu, + John Weidman + + ST010 C++ emulator code + (c) Copyright 2003 Feather, + John Weidman, + Kris Bleakley, + Matthew Kendora + + Super FX x86 assembler emulator code + (c) Copyright 1998 - 2003 _Demo_, + pagefault, + zsKnight + + Super FX C emulator code + (c) Copyright 1997 - 1999 Ivar, + Gary Henderson, + John Weidman + + Sound emulator code used in 1.5-1.51 + (c) Copyright 1998 - 2003 Brad Martin + (c) Copyright 1998 - 2006 Charles Bilyue' + + Sound emulator code used in 1.52+ + (c) Copyright 2004 - 2007 Shay Green (gblargg@gmail.com) + + SH assembler code partly based on x86 assembler code + (c) Copyright 2002 - 2004 Marcus Comstedt (marcus@mc.pp.se) + + 2xSaI filter + (c) Copyright 1999 - 2001 Derek Liauw Kie Fa + + HQ2x, HQ3x, HQ4x filters + (c) Copyright 2003 Maxim Stepin (maxim@hiend3d.com) + + NTSC filter + (c) Copyright 2006 - 2007 Shay Green + + GTK+ GUI code + (c) Copyright 2004 - 2010 BearOso + + Win32 GUI code + (c) Copyright 2003 - 2006 blip, + funkyass, + Matthew Kendora, + Nach, + nitsuja + (c) Copyright 2009 - 2010 OV2 + + Mac OS GUI code + (c) Copyright 1998 - 2001 John Stiles + (c) Copyright 2001 - 2010 zones + + + Specific ports contains the works of other authors. See headers in + individual files. + + + Snes9x homepage: http://www.snes9x.com/ + + Permission to use, copy, modify and/or distribute Snes9x in both binary + and source form, for non-commercial purposes, is hereby granted without + fee, providing that this license information and copyright notice appear + with all copies and any derived work. + + This software is provided 'as-is', without any express or implied + warranty. In no event shall the authors be held liable for any damages + arising from the use of this software or it's derivatives. + + Snes9x is freeware for PERSONAL USE only. Commercial users should + seek permission of the copyright holders first. Commercial use includes, + but is not limited to, charging money for Snes9x or software derived from + Snes9x, including Snes9x or derivatives in commercial game bundles, and/or + using Snes9x as a promotion for your commercial product. + + The copyright holders request that bug fixes and improvements to the code + should be forwarded to them so everyone can benefit from the modifications + in future versions. + + Super NES and Super Nintendo Entertainment System are trademarks of + Nintendo Co., Limited and its subsidiary companies. + ***********************************************************************************/ + +/*********************************************************************************** + SNES9X for Mac OS (c) Copyright John Stiles + + Snes9x for Mac OS X + + (c) Copyright 2001 - 2011 zones + (c) Copyright 2002 - 2005 107 + (c) Copyright 2002 PB1400c + (c) Copyright 2004 Alexander and Sander + (c) Copyright 2004 - 2005 Steven Seeger + (c) Copyright 2005 Ryan Vogt + ***********************************************************************************/ + + +#import "snes9x.h" +#import "memmap.h" +#import "apu.h" +#import "snapshot.h" + +#import +#import +#import + +#import "mac-prefix.h" +#import "mac-audio.h" +#import "mac-file.h" +#import "mac-os.h" +#import "mac-musicbox.h" + +volatile bool8 mboxPause = false; + +static volatile bool8 stopNow, showIndicator, headPressed; +static int32 oldCPUCycles; +static uint16 stereo_switch; +static uint8 storedSoundSnapshot[SPC_SAVE_STATE_BLOCK_SIZE]; + +static void SPCPlayExec (void); +static void SPCPlayFreeze (void); +static void SPCPlayDefrost (void); +static void MusicBoxForceFreeze (void); +static void MusicBoxForceDefrost (void); +static void * SoundTask (void *); + + +@implementation MusicBoxController + +- (id) init +{ + NSUserDefaults *defaults; + NSString *s; + NSRect rect; + NSSize size; + BOOL apuonly, r; + char drive[_MAX_DRIVE + 1], dir[_MAX_DIR + 1], fname[_MAX_FNAME + 1], ext[_MAX_EXT + 1]; + + self = [super init]; + if (!self) + return (self); + + r = [NSBundle loadNibNamed: @"musicbox" owner: self]; + if (!r) + return (self); + + apuonly = (musicboxmode == kMBXSoundEmulation); + + if (apuonly) + SPCPlayFreeze(); + else + MusicBoxForceFreeze(); + + _splitpath(Memory.ROMFilename, drive, dir, fname, ext); + [gametitle setStringValue: [NSString stringWithUTF8String: fname]]; + + [led setImage: [NSImage imageNamed: (apuonly ? @"musicbox_ledoff.icns" : @"musicbox_ledon.icns")]]; + + if (!apuonly) + { + [rewind setState: NSOffState]; + [rewind setEnabled: NO]; + } + + defaults = [NSUserDefaults standardUserDefaults]; + s = [defaults stringForKey: @"frame_musicbox"]; + if (s) + { + rect = NSRectFromString(s); + [window setFrame: rect display: NO]; + } + + if (!savewindowpos) + [window center]; + + size = [window minSize]; + mbxClosedHeight = size.height; + size = [window maxSize]; + mbxOpenedHeight = size.height; + + rect = [window frame]; + showIndicator = (rect.size.height > mbxClosedHeight) ? true : false; + + [disclosure setState: (showIndicator ? NSOnState : NSOffState)]; + + [window makeKeyAndOrderFront: self]; + + mboxPause = false; + headPressed = false; + + stereo_switch = ~0; + spc_core->dsp_set_stereo_switch(stereo_switch); + + for (int i = 0; i < MAC_MAX_PLAYERS; i++) + controlPad[i] = 0; + + stopNow = false; + MacStartSound(); + pthread_create(&mbxThread, NULL, SoundTask, NULL); + + timer = [[NSTimer scheduledTimerWithTimeInterval: (2.0 / (double) Memory.ROMFramesPerSecond) target: self selector: @selector(updateIndicator:) userInfo: nil repeats: YES] retain]; + + return (self); +} + +- (void) windowWillClose: (NSNotification *) aNotification +{ + NSUserDefaults *defaults; + NSString *s; + BOOL r; + + [timer invalidate]; + [timer release]; + + showIndicator = false; + + stopNow = true; + pthread_join(mbxThread, NULL); + MacStopSound(); + + defaults = [NSUserDefaults standardUserDefaults]; + s = NSStringFromRect([window frame]); + [defaults setObject: s forKey: @"frame_musicbox"]; + r = [defaults synchronize]; + + [NSApp stopModal]; +} + +- (void) dealloc +{ + stereo_switch = ~0; + spc_core->dsp_set_stereo_switch(stereo_switch); + + if (musicboxmode == kMBXSoundEmulation) + SPCPlayDefrost(); + else + MusicBoxForceDefrost(); + + [window release]; + + [super dealloc]; +} + +- (NSWindow *) window +{ + return (window); +} + +- (IBAction) handlePauseButton: (id) sender +{ + mboxPause = !mboxPause; + S9xSetSoundMute(mboxPause); +} + +- (IBAction) handleRewindButton: (id) sender +{ + headPressed = true; +} + +- (IBAction) handleEffectButton: (id) sender +{ + [window orderOut: self]; + showIndicator = false; + ConfigureSoundEffects(); + showIndicator = true; + [window makeKeyAndOrderFront: self]; +} + +- (IBAction) handleChannelButton: (id) sender +{ + stereo_switch ^= (1 << [sender tag]); + spc_core->dsp_set_stereo_switch(stereo_switch); +} + +- (IBAction) handleDisclosureButton: (id) sender +{ + NSRect rect; + float h; + + showIndicator = !showIndicator; + rect = [window frame]; + h = rect.size.height; + rect.size.height = showIndicator ? mbxOpenedHeight : mbxClosedHeight; + rect.origin.y += (h - rect.size.height); + [window setFrame: rect display: YES animate: YES]; +} + +- (void) updateIndicator: (NSTimer *) aTimer +{ + if (showIndicator) + [indicator setNeedsDisplay: YES]; +} + +@end + +@implementation MusicBoxIndicatorView + +- (id) initWithFrame: (NSRect) frame +{ + self = [super initWithFrame: frame]; + if (self) + { + NSRect rect; + long long currentTime; + struct timeval tv; + + mbxOffsetX = 0.0f; + mbxOffsetY = 0.0f; + mbxBarWidth = 12.0f; + mbxBarHeight = 128.0f; + mbxBarSpace = 2.0f; + mbxLRSpace = 20.0f; + mbxRightBarX = (mbxLRSpace + (mbxBarWidth * 8.0f + mbxBarSpace * 7.0f)); + yyscale = (float) (128.0 / sqrt(64.0)); + + rect = [self bounds]; + mbxViewWidth = rect.size.width; + mbxViewHeight = rect.size.height; + mbxMarginX = (mbxViewWidth - ((mbxBarWidth * 8.0f + mbxBarSpace * 7.0f) * 2.0f + mbxLRSpace)) / 2.0f; + mbxMarginY = (mbxViewHeight - mbxBarHeight) / 2.0f; + + gettimeofday(&tv, NULL); + currentTime = tv.tv_sec * 1000000 + tv.tv_usec; + + for (int i = 0; i < 8; i++) + { + prevLMax[i] = prevRMax[i] = 0; + prevLVol[i] = prevRVol[i] = 0; + barTimeL[i] = barTimeR[i] = currentTime; + } + } + + return (self); +} + +- (void) drawRect: (NSRect) rect +{ + CGContextRef mboxctx; + + mboxctx = (CGContextRef) [[NSGraphicsContext currentContext] graphicsPort]; + + // Bar + + const float length[] = { 1.0f, 1.0f }; + + CGContextSetLineWidth(mboxctx, mbxBarWidth); + CGContextSetLineDash(mboxctx, 0, length, 2); + CGContextSetLineJoin(mboxctx, kCGLineJoinMiter); + + CGContextBeginPath(mboxctx); + + float x = mbxOffsetX + mbxMarginX + mbxBarWidth / 2.0f; + + for (int h = 0; h < 8; h++) + { + // Inactive + + CGContextSetRGBStrokeColor(mboxctx, (196.0f / 256.0f), (200.0f / 256.0f), (176.0f / 256.0f), 1.0f); + + CGContextMoveToPoint (mboxctx, x, mbxOffsetY + mbxMarginY); + CGContextAddLineToPoint(mboxctx, x, mbxOffsetY + mbxMarginY + mbxBarHeight); + + CGContextMoveToPoint (mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY); + CGContextAddLineToPoint(mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY + mbxBarHeight); + + CGContextStrokePath(mboxctx); + + // Max + + short vl = (spc_core->dsp_reg_value(h, 0x00) * spc_core->dsp_envx_value(h)) >> 11; + short vr = (spc_core->dsp_reg_value(h, 0x01) * spc_core->dsp_envx_value(h)) >> 11; + long long currentTime; + struct timeval tv; + + if (vl <= 0) vl = 0; else if (vl > 64) vl = 64; else vl = (short) (yyscale * sqrt((double) vl)) & (~0 << 1); + if (vr <= 0) vr = 0; else if (vr > 64) vr = 64; else vr = (short) (yyscale * sqrt((double) vr)) & (~0 << 1); + + if (vl < prevLVol[h]) vl = ((prevLVol[h] + vl) >> 1); + if (vr < prevRVol[h]) vr = ((prevRVol[h] + vr) >> 1); + + gettimeofday(&tv, NULL); + currentTime = tv.tv_sec * 1000000 + tv.tv_usec; + + // left + + if ((vl >= prevLMax[h]) && (vl > prevLVol[h])) + { + barTimeL[h] = currentTime; + prevLMax[h] = vl; + } + else + if ((prevLMax[h] > 0) && (barTimeL[h] + 1000000 > currentTime)) + { + CGContextSetRGBStrokeColor(mboxctx, (22.0f / 256.0f), (156.0f / 256.0f), (20.0f / 256.0f), (float) (barTimeL[h] + 1000000 - currentTime) / 1000000.0f); + + CGContextMoveToPoint (mboxctx, x, mbxOffsetY + mbxMarginY + (float) (prevLMax[h] - 2)); + CGContextAddLineToPoint(mboxctx, x, mbxOffsetY + mbxMarginY + (float) (prevLMax[h] )); + + CGContextStrokePath(mboxctx); + } + else + prevLMax[h] = 0; + + prevLVol[h] = vl; + + // right + + if ((vr >= prevRMax[h]) && (vr > prevRVol[h])) + { + barTimeR[h] = currentTime; + prevRMax[h] = vr; + } + else + if ((prevRMax[h] > 0) && (barTimeR[h] + 1000000 > currentTime)) + { + CGContextSetRGBStrokeColor(mboxctx, (22.0f / 256.0f), (156.0f / 256.0f), (20.0f / 256.0f), (float) (barTimeR[h] + 1000000 - currentTime) / 1000000.0f); + + CGContextMoveToPoint (mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY + (float) (prevRMax[h] - 2)); + CGContextAddLineToPoint(mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY + (float) (prevRMax[h] )); + + CGContextStrokePath(mboxctx); + } + else + prevRMax[h] = 0; + + prevRVol[h] = vr; + + // Active + + CGContextSetRGBStrokeColor(mboxctx, (22.0f / 256.0f), (22.0f / 256.0f), (20.0f / 256.0f), 1.0f); + + CGContextMoveToPoint (mboxctx, x, mbxOffsetY + mbxMarginY); + CGContextAddLineToPoint(mboxctx, x, mbxOffsetY + mbxMarginY + (float) vl); + CGContextStrokePath(mboxctx); + CGContextMoveToPoint (mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY); + CGContextAddLineToPoint(mboxctx, x + mbxRightBarX, mbxOffsetY + mbxMarginY + (float) vr); + CGContextStrokePath(mboxctx); + + x += (mbxBarWidth + mbxBarSpace); + } +} + +@end + +static void * SoundTask (void *) +{ + long long last, curr; + struct timeval tv; + + gettimeofday(&tv, NULL); + last = tv.tv_sec * 1000000 + tv.tv_usec; + + while (!stopNow) + { + if (!mboxPause) + { + if (musicboxmode == kMBXSoundEmulation) + SPCPlayExec(); + else + S9xMainLoop(); + } + + if (headPressed) + { + showIndicator = false; + SPCPlayDefrost(); + showIndicator = true; + + headPressed = false; + } + + last += (1000000 / Memory.ROMFramesPerSecond); + gettimeofday(&tv, NULL); + curr = tv.tv_sec * 1000000 + tv.tv_usec; + + if (last > curr) + usleep((useconds_t) (last - curr)); + } + + return (NULL); +} + +static void SPCPlayExec (void) +{ + for (int v = 0; v < Timings.V_Max; v++) + { + CPU.Cycles = Timings.H_Max; + S9xAPUEndScanline(); + CPU.Cycles = 0; + S9xAPUSetReferenceTime(0); + } +} + +static void MusicBoxForceFreeze (void) +{ + char filename[PATH_MAX + 1]; + + strcpy(filename, S9xGetFreezeFilename(999)); + strcat(filename, ".tmp"); + + S9xFreezeGame(filename); +} + +static void MusicBoxForceDefrost (void) +{ + char filename[PATH_MAX + 1]; + + strcpy(filename, S9xGetFreezeFilename(999)); + strcat(filename, ".tmp"); + + S9xUnfreezeGame(filename); + remove(filename); +} + +static void SPCPlayFreeze (void) +{ + oldCPUCycles = CPU.Cycles; + + S9xSetSoundMute(true); + S9xAPUSaveState(storedSoundSnapshot); + S9xSetSoundMute(false); +} + +static void SPCPlayDefrost (void) +{ + CPU.Cycles = oldCPUCycles; + + S9xSetSoundMute(true); + S9xAPULoadState(storedSoundSnapshot); + S9xSetSoundMute(false); +} + +void MusicBoxDialog (void) +{ + MusicBoxController *controller; + NSAutoreleasePool *pool; + + if (!cartOpen) + return; + + pool = [[NSAutoreleasePool alloc] init]; + controller = [[MusicBoxController alloc] init]; + [pool release]; + + if (!controller) + return; + + [NSApp runModalForWindow: [controller window]]; + + pool = [[NSAutoreleasePool alloc] init]; + [controller release]; + [pool release]; +} diff --git a/macosx/mac-netplay.cpp b/macosx/mac-netplay.cpp index 0207c9f6..ba18c1f7 100644 --- a/macosx/mac-netplay.cpp +++ b/macosx/mac-netplay.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-netplay.h b/macosx/mac-netplay.h index 9b788fb8..9be29000 100644 --- a/macosx/mac-netplay.h +++ b/macosx/mac-netplay.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-os.h b/macosx/mac-os.h index f25bb334..fb13cd49 100644 --- a/macosx/mac-os.h +++ b/macosx/mac-os.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander @@ -204,7 +204,6 @@ enum kWindowPreferences, kWindowAbout, kWindowAutoFire, - kWindowMusicBox, kWindowRomInfo, kWindowCheatFinder, kWindowKeyConfig, diff --git a/macosx/mac-os.mm b/macosx/mac-os.mm index 809adcef..1b192da0 100644 --- a/macosx/mac-os.mm +++ b/macosx/mac-os.mm @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-prefix.h b/macosx/mac-prefix.h index 448cd0c3..58c591e8 100755 --- a/macosx/mac-prefix.h +++ b/macosx/mac-prefix.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander @@ -196,7 +196,7 @@ #define kMacS9XCFString CFSTR("Snes9x") -#define MAC_VERSION "102" +#define MAC_VERSION "112" #include diff --git a/macosx/mac-prefs.cpp b/macosx/mac-prefs.cpp index 1d5aa4d8..96317ddb 100755 --- a/macosx/mac-prefs.cpp +++ b/macosx/mac-prefs.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander @@ -361,9 +361,9 @@ static PrefList prefList[] = { 'chea', &applycheat, sizeof(bool8 ) }, { 'ARec', autofireRec, sizeof(autofireRec) }, - { 'WPos', windowPos, sizeof(windowPos ) }, - { 'WSiz', windowSize, sizeof(windowSize ) }, - { 'WExt', (void *) &windowExtend, sizeof(bool8 ) }, + { 'wPos', windowPos, sizeof(windowPos ) }, + { 'wSiz', windowSize, sizeof(windowSize ) }, + { 'wExt', (void *) &windowExtend, sizeof(bool8 ) }, { 'NPIP', npServerIP, sizeof(npServerIP ) }, { 'NPNM', npName, sizeof(npName ) }, diff --git a/macosx/mac-prefs.h b/macosx/mac-prefs.h old mode 100644 new mode 100755 index d3ff8d07..b2832c01 --- a/macosx/mac-prefs.h +++ b/macosx/mac-prefs.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-quicktime.cpp b/macosx/mac-quicktime.cpp index 7692a934..cdeef00a 100644 --- a/macosx/mac-quicktime.cpp +++ b/macosx/mac-quicktime.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-quicktime.h b/macosx/mac-quicktime.h index f5249856..c28edf51 100644 --- a/macosx/mac-quicktime.h +++ b/macosx/mac-quicktime.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-render.cpp b/macosx/mac-render.cpp index 60341293..fba4508d 100644 --- a/macosx/mac-render.cpp +++ b/macosx/mac-render.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-render.h b/macosx/mac-render.h index 5e0880a8..fc66f654 100644 --- a/macosx/mac-render.h +++ b/macosx/mac-render.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-screenshot.cpp b/macosx/mac-screenshot.cpp index f35bb219..991eec3b 100644 --- a/macosx/mac-screenshot.cpp +++ b/macosx/mac-screenshot.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-screenshot.h b/macosx/mac-screenshot.h index 6cba7cf8..7a22ecc9 100644 --- a/macosx/mac-screenshot.h +++ b/macosx/mac-screenshot.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-server.cpp b/macosx/mac-server.cpp index 659cb2c5..a6eb0969 100644 --- a/macosx/mac-server.cpp +++ b/macosx/mac-server.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-server.h b/macosx/mac-server.h index d94bc10b..ee251e66 100644 --- a/macosx/mac-server.h +++ b/macosx/mac-server.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-snes9x.cpp b/macosx/mac-snes9x.cpp index 388e077f..c3a6a145 100755 --- a/macosx/mac-snes9x.cpp +++ b/macosx/mac-snes9x.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-snes9x.h b/macosx/mac-snes9x.h index 3e631d12..8347b00e 100755 --- a/macosx/mac-snes9x.h +++ b/macosx/mac-snes9x.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-stringtools.cpp b/macosx/mac-stringtools.cpp old mode 100644 new mode 100755 index 7de4c273..1a1e4a0a --- a/macosx/mac-stringtools.cpp +++ b/macosx/mac-stringtools.cpp @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/mac-stringtools.h b/macosx/mac-stringtools.h old mode 100644 new mode 100755 index ec89d955..4d3d9a6d --- a/macosx/mac-stringtools.h +++ b/macosx/mac-stringtools.h @@ -179,7 +179,7 @@ Snes9x for Mac OS X - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones (c) Copyright 2002 - 2005 107 (c) Copyright 2002 PB1400c (c) Copyright 2004 Alexander and Sander diff --git a/macosx/musicbox_effect.png b/macosx/musicbox_effect.png new file mode 100644 index 0000000000000000000000000000000000000000..4ed8c771820d5661c44740408790d8643b8fea4f GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`KAtX)Ar-gY_8;VAP~dRAeM|Jt zNg(A)|pYM%Gq(Nx>9BMgcZlHa))iWaBya8 f@bOOFJ4<|;lJBT23cKhAG?&5C)z4*}Q$iB})RZtb literal 0 HcmV?d00001 diff --git a/macosx/musicbox_indicator.png b/macosx/musicbox_indicator.png index 58c232d2afe7f6cc24f9b55159ebf0b353f19f2b..3dd4206290f73363d671712050de4a9ba3277b23 100644 GIT binary patch literal 729 zcmeAS@N?(olHy`uVBq!ia0y~yU}OWb`#6|^jlGv| z?zwVv_Z1Mi@9M3+S8wgRdVAkB5ZZt3_JM164qU&p|2mMod*IH)PcN@{AV^3_ODpoq)GZnpC84h7d)UQTe|)%dfYgUP3H{r2+$-&Xza`mrv* zrf%`R`H5e9e}3HeBfI43pGU8rnH|nsr*|>zI;(Pk*-l-B-4USH1K8{HbEwa)X+p z>+4oc$qc=^&swriB4W3HzUJe5m;T;z@QK+T{A}xb^`wsrPt9Fe716UcY^JsI&0Ae_ zmu!)C7YMTIV&>44O*qiN$jrtgVL&pYnRG4qENc6oT%b3<>iH*L4o%af-OdX)%X;@q z$W2fFr2N~m#BNz~!QL}-7sklyNy5YtBe4(m4O@(ejN~&tHG^Q}gh= v?(65TPW-XDJ}a^Ky}{vcX5!1*s+i*E6_jk)`c}IG7>Nv?u6{1-oD!M<(6(eh literal 1146 zcmeAS@N?(olHy`uVBq!ia0y~yU}OWb`#3=4<%P>^85md`JzX3_D(1YozB@~VQRMhT z!`!Z~oI%wmn^$Nk#ck;B2%ENvqb#n&Mf$W0>qoI89oj;R1U5;VBsom%P`ej@AUA1Z z)tt?Nf#;ZgZqzW}7h`5#{_}rA_riq>7hTNwV`{T!Z{eFC7bg~r&+gajnHRaQm9owF=4!XU>`bMd zY%bi3IFCO0`|;ZArJ41z36r}aB3~}w)_!k)HdOz$J63yW79+S}n(hLKk5rp4FxDOgS7vYzjvhS|l0-m<0w_(E1@TO#_{K-O!tkd~)^;khoVX&!k{~h2{D#o0s47linX^ zIMHkoC>*o9xbTXsi=_oeLw=Uyt(IhQxi=eo+yANPA+ z_2jn(gWXETtj1XnniLAoJ}b*Ll08#>xcL2X#vk>!_DL-eTfrGA(RI{xyZpPn+M2uP zLV1}O*RbWr&c6QbD#KOYm~6T*Xk|)k#ER>$9YyAv?R)x$r5Yr*AI1^$zO-s~s!%K4;+DVQZ1i5jPd6ox#)9&t;uc GLK6TtHzAw= literal 0 HcmV?d00001 diff --git a/macosx/musicbox_rewind.png b/macosx/musicbox_rewind.png new file mode 100644 index 0000000000000000000000000000000000000000..4a0ce1aad326f0b1ddaf2041e383cd67af632cd0 GIT binary patch literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`{+=$5Ar-gIPTI)HV8Fp*yl?Z4 zro)mtLA8ZW2V6Ex{O#;>%|10P@^0eYzZconfig.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Snes9x $as_me 1.52, which was +It was created by Snes9x $as_me 1.53, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ @@ -4488,103 +4483,6 @@ echo "${ECHO_T}no" >&6; } fi -# Check if the CPU is x86. - -{ echo "$as_me:$LINENO: checking whether the CPU is x86" >&5 -echo $ECHO_N "checking whether the CPU is x86... $ECHO_C" >&6; } - -if test "${snes9x_cv_x86_cpu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - case "$target" in - i686-*-* | i586-*-* | i486-*-* | i386-*-*) - snes9x_cv_x86_cpu="yes" - ;; - *) - snes9x_cv_x86_cpu="no" - ;; - esac - -fi - - -{ echo "$as_me:$LINENO: result: $snes9x_cv_x86_cpu" >&5 -echo "${ECHO_T}$snes9x_cv_x86_cpu" >&6; } - -# Enable ZSNES C4 and SuperFX assembler cores if CPU is x86. - -S9XZSNESFX="#S9XZSNESFX=1" -S9XZSNESC4="#S9XZSNESC4=1" -S9XNASM="" - -# Check whether --enable-zsnes_asm was given. -if test "${enable_zsnes_asm+set}" = set; then - enableval=$enable_zsnes_asm; -else - enable_zsnes_asm="no" -fi - - -if test "x$enable_zsnes_asm" = "xyes"; then - if test "x$snes9x_cv_x86_cpu" = "xyes"; then - # Extract the first word of "nasm", so it can be a program name with args. -set dummy nasm; ac_word=$2 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_path_S9XNASM+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $S9XNASM in - [\\/]* | ?:[\\/]*) - ac_cv_path_S9XNASM="$S9XNASM" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_S9XNASM="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_S9XNASM" && ac_cv_path_S9XNASM="no" - ;; -esac -fi -S9XNASM=$ac_cv_path_S9XNASM -if test -n "$S9XNASM"; then - { echo "$as_me:$LINENO: result: $S9XNASM" >&5 -echo "${ECHO_T}$S9XNASM" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - if test "x$S9XNASM" != "xno"; then - S9XZSNESFX="S9XZSNESFX=1" - S9XZSNESC4="S9XZSNESC4=1" - S9XDEFS="$S9XDEFS -DZSNES_FX -DZSNES_C4" - else - { echo "$as_me:$LINENO: WARNING: nasm not found. Build without ZSNES assembler cores." >&5 -echo "$as_me: WARNING: nasm not found. Build without ZSNES assembler cores." >&2;} - enable_zsnes_asm="no" - fi - else - { echo "$as_me:$LINENO: WARNING: Your CPU is not x86. Build without ZSNES assembler cores." >&5 -echo "$as_me: WARNING: Your CPU is not x86. Build without ZSNES assembler cores." >&2;} - enable_zsnes_asm="no" - fi -fi - # Check if the OS is Linux. { echo "$as_me:$LINENO: checking whether the OS is Linux" >&5 @@ -8391,9 +8289,6 @@ S9XLIBS="`echo \"$S9XLIBS\" | sed -e 's/^ *//'`" - - - rm config.info 2>/dev/null cat >config.info <&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Snes9x $as_me 1.52, which was +This file was extended by Snes9x $as_me 1.53, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -8891,7 +8785,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -Snes9x config.status 1.52 +Snes9x config.status 1.53 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" @@ -9109,7 +9003,6 @@ OBJEXT!$OBJEXT$ac_delim CXX!$CXX$ac_delim CXXFLAGS!$CXXFLAGS$ac_delim ac_ct_CXX!$ac_ct_CXX$ac_delim -S9XNASM!$S9XNASM$ac_delim CXXCPP!$CXXCPP$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim @@ -9121,8 +9014,6 @@ X_EXTRA_LIBS!$X_EXTRA_LIBS$ac_delim S9XFLGS!$S9XFLGS$ac_delim S9XDEFS!$S9XDEFS$ac_delim S9XLIBS!$S9XLIBS$ac_delim -S9XZSNESFX!$S9XZSNESFX$ac_delim -S9XZSNESC4!$S9XZSNESC4$ac_delim S9XDEBUGGER!$S9XDEBUGGER$ac_delim S9XNETPLAY!$S9XNETPLAY$ac_delim S9XZIP!$S9XZIP$ac_delim @@ -9131,7 +9022,7 @@ LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 79; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 76; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 diff --git a/unix/docs/readme_unix.html b/unix/docs/readme_unix.html index 3dea24e7..20028ecf 100644 --- a/unix/docs/readme_unix.html +++ b/unix/docs/readme_unix.html @@ -48,7 +48,7 @@ Use -help option to see available options.

    - SNES ROM images come in lots of different formats. Snes9x supports zipped ROMs as long as there is only 1 per zip file. Also Snes9x can open gzip/jma compressed file. + SNES ROM images come in lots of different formats. Snes9x supports zipped ROMs as long as there is only 1 per zip file. Also Snes9x can open gzip and jma compressed files.

    Game Color System

    @@ -234,7 +234,7 @@

    Software

    - You will need access to SNES ROM images in .smc, .sfc, .fig, etc., format otherwise you will have nothing to run! Some home-brewed ROM images can be downloaded from http://www.zophar.com/.
    + You will need access to SNES ROM images otherwise you will have nothing to run! Some home-brewed ROM images can be downloaded from http://www.zophar.com/.
    Please note, it is illegal in most countries to have commercial ROM images without also owning the actual SNES ROM cartridges, and even then you may be liable under various EULAs.

    Controllers Support

    @@ -689,7 +689,7 @@
  • Sound DSP, with eight 16-bit, stereo channels, compressed samples, hardware envelope processing, echo, pitch modulation and digital FIR sound filter.
  • SRAM, a battery-backed RAM.
  • All background modes, 0 to 7.
  • -
  • All screen resolutions, 256x224, 256x239, 512x224, 512x239, 512x448 and 512x478.
  • +
  • All screen resolutions including interlace mode.
  • Pseudo hi-res mode.
  • 8x8, 16x8 and 16x16 tile sizes, flipped in either direction.
  • 32x32, 32x64, 64x32 and 64x64 screen tile sizes.
  • @@ -802,7 +802,7 @@

    Edited for Unix port by: zones (kasumitokoduck@yahoo.com)
    - Updated most recently by: 2009/12/20 zones + Updated most recently by: 2011/04/10 zones

    diff --git a/unzip/crypt.h b/unzip/crypt.h index 622f4bc2..2d69da4a 100644 --- a/unzip/crypt.h +++ b/unzip/crypt.h @@ -1,9 +1,9 @@ /* crypt.h -- base code for crypt/uncrypt ZIPfile - Version 1.01e, February 12th, 2005 + Version 1.01h, December 28th, 2009 - Copyright (C) 1998-2005 Gilles Vollant + Copyright (C) 1998-2009 Gilles Vollant This code is a modified version of crypting code in Infozip distribution diff --git a/unzip/ioapi.c b/unzip/ioapi.c index f1bee23e..51a90581 100644 --- a/unzip/ioapi.c +++ b/unzip/ioapi.c @@ -1,9 +1,9 @@ /* ioapi.c -- IO base function header for compress/uncompress .zip files using zlib + zip or unzip API - Version 1.01e, February 12th, 2005 + Version 1.01h, December 28th, 2009 - Copyright (C) 1998-2005 Gilles Vollant + Copyright (C) 1998-2009 Gilles Vollant */ #include @@ -141,7 +141,8 @@ long ZCALLBACK fseek_file_func (opaque, stream, offset, origin) default: return -1; } ret = 0; - fseek((FILE *)stream, offset, fseek_origin); + if (fseek((FILE *)stream, offset, fseek_origin) != 0) + ret = -1; return ret; } diff --git a/unzip/ioapi.h b/unzip/ioapi.h index 7d457baa..1dba776c 100644 --- a/unzip/ioapi.h +++ b/unzip/ioapi.h @@ -1,9 +1,9 @@ /* ioapi.h -- IO base function header for compress/uncompress .zip files using zlib + zip or unzip API - Version 1.01e, February 12th, 2005 + Version 1.01h, December 28th, 2009 - Copyright (C) 1998-2005 Gilles Vollant + Copyright (C) 1998-2009 Gilles Vollant */ #ifndef _ZLIBIOAPI_H diff --git a/unzip/iowin32.c b/unzip/iowin32.c index a9b5f783..e502139a 100644 --- a/unzip/iowin32.c +++ b/unzip/iowin32.c @@ -2,9 +2,9 @@ files using zlib + zip or unzip API This IO API version uses the Win32 API (for Microsoft Windows) - Version 1.01e, February 12th, 2005 + Version 1.01h, December 28th, 2009 - Copyright (C) 1998-2005 Gilles Vollant + Copyright (C) 1998-2009 Gilles Vollant */ #include diff --git a/unzip/iowin32.h b/unzip/iowin32.h index a3a437ad..c128770f 100644 --- a/unzip/iowin32.h +++ b/unzip/iowin32.h @@ -2,9 +2,9 @@ files using zlib + zip or unzip API This IO API version uses the Win32 API (for Microsoft Windows) - Version 1.01e, February 12th, 2005 + Version 1.01h, December 28th, 2009 - Copyright (C) 1998-2005 Gilles Vollant + Copyright (C) 1998-2009 Gilles Vollant */ #include diff --git a/unzip/miniunz.c b/unzip/miniunz.c index f5999388..b5bc8b54 100644 --- a/unzip/miniunz.c +++ b/unzip/miniunz.c @@ -1,8 +1,8 @@ /* miniunz.c - Version 1.01e, February 12th, 2005 + Version 1.01h, December 28th, 2009 - Copyright (C) 1998-2005 Gilles Vollant + Copyright (C) 1998-2009 Gilles Vollant */ @@ -112,6 +112,11 @@ int makedir (newdir) return 0; buffer = (char*)malloc(len+1); + if (buffer==NULL) + { + printf("Error allocating memory\n"); + return UNZ_INTERNALERROR; + } strcpy(buffer,newdir); if (buffer[len-1] == '/') { @@ -210,6 +215,11 @@ int do_list(uf) else if ((iLevel==2) || (iLevel==3)) string_method="Defl:F"; /* 2:fast , 3 : extra fast*/ } + else + if (file_info.compression_method==Z_BZIP2ED) + { + string_method="BZip2 "; + } else string_method="Unkn. "; @@ -470,6 +480,7 @@ int main(argc,argv) const char *password=NULL; char filename_try[MAXFILENAME+16] = ""; int i; + int ret_value=0; int opt_do_list=0; int opt_do_extract=1; int opt_do_extract_withoutpath=0; @@ -564,7 +575,7 @@ int main(argc,argv) printf("%s opened\n",filename_try); if (opt_do_list==1) - return do_list(uf); + ret_value = do_list(uf); else if (opt_do_extract==1) { if (opt_extractdir && chdir(dirname)) @@ -574,12 +585,13 @@ int main(argc,argv) } if (filename_to_extract == NULL) - return do_extract(uf,opt_do_extract_withoutpath,opt_overwrite,password); + ret_value = do_extract(uf,opt_do_extract_withoutpath,opt_overwrite,password); else - return do_extract_onefile(uf,filename_to_extract, + ret_value = do_extract_onefile(uf,filename_to_extract, opt_do_extract_withoutpath,opt_overwrite,password); } - unzCloseCurrentFile(uf); - return 0; + unzClose(uf); + + return ret_value ; } diff --git a/unzip/minizip.c b/unzip/minizip.c index f2dfecd8..25f83898 100644 --- a/unzip/minizip.c +++ b/unzip/minizip.c @@ -1,8 +1,12 @@ /* minizip.c - Version 1.01e, February 12th, 2005 + Version 1.01h, December 28th, 2009 - Copyright (C) 1998-2005 Gilles Vollant + Copyright (C) 1998-2009 Gilles Vollant + +Changes: + Aug 3, 2006. jg. support storing files with out paths. (-j) + Aug 3, 2006. jg. files with paths should not have leading slashes. */ #include @@ -44,9 +48,9 @@ uLong filetime(f, tmzip, dt) { FILETIME ftLocal; HANDLE hFind; - WIN32_FIND_DATA ff32; + WIN32_FIND_DATAA ff32; - hFind = FindFirstFile(f,&ff32); + hFind = FindFirstFileA(f,&ff32); if (hFind != INVALID_HANDLE_VALUE) { FileTimeToLocalFileTime(&(ff32.ftLastWriteTime),&ftLocal); @@ -129,18 +133,20 @@ int check_exist_file(filename) void do_banner() { - printf("MiniZip 1.01b, demo of zLib + Zip package written by Gilles Vollant\n"); - printf("more info at http://www.winimage.com/zLibDll/unzip.html\n\n"); + printf("MiniZip 1.01e-jg, demo of zLib + Zip package written by Gilles Vollant\n"); + printf("minor updates, jg.\n"); + printf("more info at http://www.winimage.com/zLibDll/minizip.html\n\n"); } void do_help() { - printf("Usage : minizip [-o] [-a] [-0 to -9] [-p password] file.zip [files_to_add]\n\n" \ + printf("Usage : minizip [-o] [-a] [-0 to -9] [-p password] [-j] file.zip [files_to_add]\n\n" \ " -o Overwrite existing file.zip\n" \ " -a Append to existing file.zip\n" \ " -0 Store only\n" \ " -1 Compress faster\n" \ - " -9 Compress better\n\n"); + " -9 Compress better\n" \ + " -j exclude path. store only the file name.\n\n"); } /* calculate the CRC32 of a file, @@ -179,7 +185,7 @@ int getFileCrc(const char* filenameinzip,void*buf,unsigned long size_buf,unsigne fclose(fin); *result_crc=calculate_crc; - printf("file %s crc %x\n",filenameinzip,calculate_crc); + printf("file %s crc %lx\n",filenameinzip,calculate_crc); return err; } @@ -190,6 +196,7 @@ int main(argc,argv) int i; int opt_overwrite=0; int opt_compress_level=Z_DEFAULT_COMPRESSION; + int opt_exclude_path=0; int zipfilenamearg = 0; char filename_try[MAXFILENAME+16]; int zipok; @@ -222,6 +229,8 @@ int main(argc,argv) opt_overwrite = 2; if ((c>='0') && (c<='9')) opt_compress_level = c-'0'; + if ((c=='j') || (c=='J')) + opt_exclude_path = 1; if (((c=='p') || (c=='P')) && (i+1cur_file_info.compression_method!=0) && +/* #ifdef HAVE_BZIP2 */ + (s->cur_file_info.compression_method!=Z_BZIP2ED) && +/* #endif */ (s->cur_file_info.compression_method!=Z_DEFLATED)) err=UNZ_BADZIPFILE; @@ -1121,6 +1130,9 @@ extern int ZEXPORT unzOpenCurrentFile3 (file, method, level, raw, password) } if ((s->cur_file_info.compression_method!=0) && +/* #ifdef HAVE_BZIP2 */ + (s->cur_file_info.compression_method!=Z_BZIP2ED) && +/* #endif */ (s->cur_file_info.compression_method!=Z_DEFLATED)) err=UNZ_BADZIPFILE; @@ -1134,6 +1146,34 @@ extern int ZEXPORT unzOpenCurrentFile3 (file, method, level, raw, password) pfile_in_zip_read_info->stream.total_out = 0; + if ((s->cur_file_info.compression_method==Z_BZIP2ED) && + (!raw)) + { +#ifdef HAVE_BZIP2 + pfile_in_zip_read_info->bstream.bzalloc = (void *(*) (void *, int, int))0; + pfile_in_zip_read_info->bstream.bzfree = (free_func)0; + pfile_in_zip_read_info->bstream.opaque = (voidpf)0; + pfile_in_zip_read_info->bstream.state = (voidpf)0; + + pfile_in_zip_read_info->stream.zalloc = (alloc_func)0; + pfile_in_zip_read_info->stream.zfree = (free_func)0; + pfile_in_zip_read_info->stream.opaque = (voidpf)0; + pfile_in_zip_read_info->stream.next_in = (voidpf)0; + pfile_in_zip_read_info->stream.avail_in = 0; + + err=BZ2_bzDecompressInit(&pfile_in_zip_read_info->bstream, 0, 0); + if (err == Z_OK) + pfile_in_zip_read_info->stream_initialised=Z_BZIP2ED; + else + { + TRYFREE(pfile_in_zip_read_info); + return err; + } +#else + pfile_in_zip_read_info->raw=1; +#endif + } + else if ((s->cur_file_info.compression_method==Z_DEFLATED) && (!raw)) { @@ -1145,7 +1185,7 @@ extern int ZEXPORT unzOpenCurrentFile3 (file, method, level, raw, password) err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS); if (err == Z_OK) - pfile_in_zip_read_info->stream_initialised=1; + pfile_in_zip_read_info->stream_initialised=Z_DEFLATED; else { TRYFREE(pfile_in_zip_read_info); @@ -1173,6 +1213,8 @@ extern int ZEXPORT unzOpenCurrentFile3 (file, method, level, raw, password) s->pfile_in_zip_read = pfile_in_zip_read_info; + s->encrypted = 0; + # ifndef NOUNCRYPT if (password != NULL) { @@ -1344,6 +1386,53 @@ extern int ZEXPORT unzReadCurrentFile (file, buf, len) iRead += uDoCopy; } else + if (pfile_in_zip_read_info->compression_method==Z_BZIP2ED) + { +#ifdef HAVE_BZIP2 + uLong uTotalOutBefore,uTotalOutAfter; + const Bytef *bufBefore; + uLong uOutThis; + + pfile_in_zip_read_info->bstream.next_in = pfile_in_zip_read_info->stream.next_in; + pfile_in_zip_read_info->bstream.avail_in = pfile_in_zip_read_info->stream.avail_in; + pfile_in_zip_read_info->bstream.total_in_lo32 = pfile_in_zip_read_info->stream.total_in; + pfile_in_zip_read_info->bstream.total_in_hi32 = 0; + pfile_in_zip_read_info->bstream.next_out = pfile_in_zip_read_info->stream.next_out; + pfile_in_zip_read_info->bstream.avail_out = pfile_in_zip_read_info->stream.avail_out; + pfile_in_zip_read_info->bstream.total_out_lo32 = pfile_in_zip_read_info->stream.total_out; + pfile_in_zip_read_info->bstream.total_out_hi32 = 0; + + uTotalOutBefore = pfile_in_zip_read_info->bstream.total_out_lo32; + bufBefore = pfile_in_zip_read_info->bstream.next_out; + + err=BZ2_bzDecompress(&pfile_in_zip_read_info->bstream); + + uTotalOutAfter = pfile_in_zip_read_info->bstream.total_out_lo32; + uOutThis = uTotalOutAfter-uTotalOutBefore; + + pfile_in_zip_read_info->crc32 = + crc32(pfile_in_zip_read_info->crc32,bufBefore, + (uInt)(uOutThis)); + + pfile_in_zip_read_info->rest_read_uncompressed -= + uOutThis; + + iRead += (uInt)(uTotalOutAfter - uTotalOutBefore); + + pfile_in_zip_read_info->stream.next_in = pfile_in_zip_read_info->bstream.next_in; + pfile_in_zip_read_info->stream.avail_in = pfile_in_zip_read_info->bstream.avail_in; + pfile_in_zip_read_info->stream.total_in = pfile_in_zip_read_info->bstream.total_in_lo32; + pfile_in_zip_read_info->stream.next_out = pfile_in_zip_read_info->bstream.next_out; + pfile_in_zip_read_info->stream.avail_out = pfile_in_zip_read_info->bstream.avail_out; + pfile_in_zip_read_info->stream.total_out = pfile_in_zip_read_info->bstream.total_out_lo32; + + if (err==BZ_STREAM_END) + return (iRead==0) ? UNZ_EOF : iRead; + if (err!=BZ_OK) + break; +#endif + } + else { uLong uTotalOutBefore,uTotalOutAfter; const Bytef *bufBefore; @@ -1522,8 +1611,12 @@ extern int ZEXPORT unzCloseCurrentFile (file) TRYFREE(pfile_in_zip_read_info->read_buffer); pfile_in_zip_read_info->read_buffer = NULL; - if (pfile_in_zip_read_info->stream_initialised) + if (pfile_in_zip_read_info->stream_initialised == Z_DEFLATED) inflateEnd(&pfile_in_zip_read_info->stream); +#ifdef HAVE_BZIP2 + else if (pfile_in_zip_read_info->stream_initialised == Z_BZIP2ED) + BZ2_bzDecompressEnd(&pfile_in_zip_read_info->bstream); +#endif pfile_in_zip_read_info->stream_initialised = 0; TRYFREE(pfile_in_zip_read_info); @@ -1544,7 +1637,6 @@ extern int ZEXPORT unzGetGlobalComment (file, szComment, uSizeBuf) char *szComment; uLong uSizeBuf; { - /* int err=UNZ_OK; */ unz_s* s; uLong uReadThis ; if (file==NULL) @@ -1577,7 +1669,7 @@ extern uLong ZEXPORT unzGetOffset (file) unz_s* s; if (file==NULL) - return UNZ_PARAMERROR; + return 0; s=(unz_s*)file; if (!s->current_file_ok) return 0; diff --git a/unzip/unzip.h b/unzip/unzip.h index b247937c..94c1b69b 100644 --- a/unzip/unzip.h +++ b/unzip/unzip.h @@ -1,7 +1,7 @@ /* unzip.h -- IO for uncompress .zip files using zlib - Version 1.01e, February 12th, 2005 + Version 1.01h, December 28th, 2009 - Copyright (C) 1998-2005 Gilles Vollant + Copyright (C) 1998-2009 Gilles Vollant This unzip package allow extract file from .ZIP file, compatible with PKZip 2.04g WinZip, InfoZip tools and compatible. @@ -57,6 +57,12 @@ extern "C" { #include "ioapi.h" #endif +#ifdef HAVE_BZIP2 +#include "bzlib.h" +#endif + +#define Z_BZIP2ED 12 + #if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP) /* like the STRICT of WIN32, we define a pointer that cannot be converted from (void*) without cast */ diff --git a/unzip/zip.c b/unzip/zip.c index f1948013..1451d61d 100644 --- a/unzip/zip.c +++ b/unzip/zip.c @@ -1,10 +1,10 @@ /* zip.c -- IO on .zip files using zlib - Version 1.01e, February 12th, 2005 + Version 1.01h, December 28th, 2009 27 Dec 2004 Rolf Kalbermatter Modification to zipOpen2 to support globalComment retrieval. - Copyright (C) 1998-2005 Gilles Vollant + Copyright (C) 1998-2009 Gilles Vollant Read zip.h for more info */ @@ -189,14 +189,13 @@ local void init_linkedlist(ll) ll->first_block = ll->last_block = NULL; } -/* Unused local void free_linkedlist(ll) linkedlist_data* ll; { free_datablock(ll->first_block); ll->first_block = ll->last_block = NULL; } -*/ + local int add_data_in_datablock(ll,buf,len) linkedlist_data* ll; @@ -321,9 +320,9 @@ local uLong ziplocal_TmzDateToDosDate(ptm,dosDate) uLong dosDate; { uLong year = (uLong)ptm->tm_year; - if (year>1980) + if (year>=1980) year-=1980; - else if (year>80) + else if (year>=80) year-=80; return (uLong) (((ptm->tm_mday) + (32 * (ptm->tm_mon+1)) + (512 * year)) << 16) | @@ -433,67 +432,69 @@ local int ziplocal_getLong (pzlib_filefunc_def,filestream,pX) /* Locate the Central directory of a zipfile (at the end, just before the global comment) + Fix from Riccardo Cohen */ local uLong ziplocal_SearchCentralDir OF(( const zlib_filefunc_def* pzlib_filefunc_def, voidpf filestream)); local uLong ziplocal_SearchCentralDir(pzlib_filefunc_def,filestream) - const zlib_filefunc_def* pzlib_filefunc_def; - voidpf filestream; + const zlib_filefunc_def* pzlib_filefunc_def; + voidpf filestream; { - unsigned char* buf; - uLong uSizeFile; - uLong uBackRead; - uLong uMaxBack=0xffff; /* maximum size of global comment */ - uLong uPosFound=0; + unsigned char* buf; + uLong uSizeFile; + uLong uBackRead; + uLong uMaxBack=0xffff; /* maximum size of global comment */ + uLong uPosFound=0; - if (ZSEEK(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0) - return 0; + if (ZSEEK(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0) + return 0; - uSizeFile = ZTELL(*pzlib_filefunc_def,filestream); + uSizeFile = ZTELL(*pzlib_filefunc_def,filestream); - if (uMaxBack>uSizeFile) - uMaxBack = uSizeFile; + if (uMaxBack>uSizeFile) + uMaxBack = uSizeFile; - buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); - if (buf==NULL) - return 0; + buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); + if (buf==NULL) + return 0; - uBackRead = 4; - while (uBackReaduMaxBack) - uBackRead = uMaxBack; - else - uBackRead+=BUFREADCOMMENT; - uReadPos = uSizeFile-uBackRead ; + uBackRead = 4; + while (uBackReaduMaxBack) + uBackRead = uMaxBack; + else + uBackRead+=BUFREADCOMMENT; + uReadPos = uSizeFile-uBackRead ; - uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? - (BUFREADCOMMENT+4) : (uSizeFile-uReadPos); - if (ZSEEK(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) - break; + uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? + (BUFREADCOMMENT+4) : (uSizeFile-uReadPos); + if (ZSEEK(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) + break; - if (ZREAD(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) - break; + if (ZREAD(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) + break; - for (i=(int)uReadSize-3; (i--)>0;) - if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && - ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06)) - { - uPosFound = uReadPos+i; - break; - } + for (i=(int)uReadSize-3; (i--)>0;) + if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && + ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06)) + { + uPosFound = uReadPos+i; + break; + } - if (uPosFound!=0) - break; - } - TRYFREE(buf); - return uPosFound; + if (uPosFound!=0) + break; + } + TRYFREE(buf); + return uPosFound; } + #endif /* !NO_ADDFILEINEXISTINGZIP*/ /************************************************************/ @@ -522,6 +523,8 @@ extern zipFile ZEXPORT zipOpen2 (pathname, append, globalcomment, pzlib_filefunc if (ziinit.filestream == NULL) return NULL; + if (append == APPEND_STATUS_CREATEAFTER) + ZSEEK(ziinit.z_filefunc,ziinit.filestream,0,SEEK_END); ziinit.begin_pos = ZTELL(ziinit.z_filefunc,ziinit.filestream); ziinit.in_opened_file_inzip = 0; ziinit.ci.stream_initialised = 0; @@ -559,9 +562,10 @@ extern zipFile ZEXPORT zipOpen2 (pathname, append, globalcomment, pzlib_filefunc uLong size_comment; central_pos = ziplocal_SearchCentralDir(&ziinit.z_filefunc,ziinit.filestream); +/* disable to allow appending to empty ZIP archive if (central_pos==0) err=ZIP_ERRNO; - +*/ if (ZSEEK(ziinit.z_filefunc, ziinit.filestream, central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0) err=ZIP_ERRNO; @@ -616,7 +620,7 @@ extern zipFile ZEXPORT zipOpen2 (pathname, append, globalcomment, pzlib_filefunc if (size_comment>0) { - ziinit.globalcomment = ALLOC(size_comment+1); + ziinit.globalcomment = (char*)ALLOC(size_comment+1); if (ziinit.globalcomment) { size_comment = ZREAD(ziinit.z_filefunc, ziinit.filestream,ziinit.globalcomment,size_comment); @@ -688,12 +692,12 @@ extern zipFile ZEXPORT zipOpen (pathname, append) return zipOpen2(pathname,append,NULL,NULL); } -extern int ZEXPORT zipOpenNewFileInZip3 (file, filename, zipfi, +extern int ZEXPORT zipOpenNewFileInZip4 (file, filename, zipfi, extrafield_local, size_extrafield_local, extrafield_global, size_extrafield_global, comment, method, level, raw, windowBits, memLevel, strategy, - password, crcForCrypting) + password, crcForCrypting, versionMadeBy, flagBase) zipFile file; const char* filename; const zip_fileinfo* zipfi; @@ -710,6 +714,8 @@ extern int ZEXPORT zipOpenNewFileInZip3 (file, filename, zipfi, int strategy; const char* password; uLong crcForCrypting; + uLong versionMadeBy; + uLong flagBase; { zip_internal* zi; uInt size_filename; @@ -756,7 +762,7 @@ extern int ZEXPORT zipOpenNewFileInZip3 (file, filename, zipfi, else zi->ci.dosDate = ziplocal_TmzDateToDosDate(&zipfi->tmz_date,zipfi->dosDate); } - zi->ci.flag = 0; + zi->ci.flag = flagBase; if ((level==8) || (level==9)) zi->ci.flag |= 2; if ((level==2)) @@ -779,7 +785,7 @@ extern int ZEXPORT zipOpenNewFileInZip3 (file, filename, zipfi, ziplocal_putValue_inmemory(zi->ci.central_header,(uLong)CENTRALHEADERMAGIC,4); /* version info */ - ziplocal_putValue_inmemory(zi->ci.central_header+4,(uLong)VERSIONMADEBY,2); + ziplocal_putValue_inmemory(zi->ci.central_header+4,(uLong)versionMadeBy,2); ziplocal_putValue_inmemory(zi->ci.central_header+6,(uLong)20,2); ziplocal_putValue_inmemory(zi->ci.central_header+8,(uLong)zi->ci.flag,2); ziplocal_putValue_inmemory(zi->ci.central_header+10,(uLong)zi->ci.method,2); @@ -858,6 +864,7 @@ extern int ZEXPORT zipOpenNewFileInZip3 (file, filename, zipfi, zi->ci.stream.next_out = zi->ci.buffered_data; zi->ci.stream.total_in = 0; zi->ci.stream.total_out = 0; + zi->ci.stream.data_type = Z_BINARY; if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) { @@ -913,14 +920,46 @@ extern int ZEXPORT zipOpenNewFileInZip2(file, filename, zipfi, int level; int raw; { - return zipOpenNewFileInZip3 (file, filename, zipfi, + return zipOpenNewFileInZip4 (file, filename, zipfi, extrafield_local, size_extrafield_local, extrafield_global, size_extrafield_global, comment, method, level, raw, -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, - NULL, 0); + NULL, 0, VERSIONMADEBY, 0); } +extern int ZEXPORT zipOpenNewFileInZip3 (file, filename, zipfi, + extrafield_local, size_extrafield_local, + extrafield_global, size_extrafield_global, + comment, method, level, raw, + windowBits, memLevel, strategy, + password, crcForCrypting) + zipFile file; + const char* filename; + const zip_fileinfo* zipfi; + const void* extrafield_local; + uInt size_extrafield_local; + const void* extrafield_global; + uInt size_extrafield_global; + const char* comment; + int method; + int level; + int raw; + int windowBits; + int memLevel; + int strategy; + const char* password; + uLong crcForCrypting; +{ + return zipOpenNewFileInZip4 (file, filename, zipfi, + extrafield_local, size_extrafield_local, + extrafield_global, size_extrafield_global, + comment, method, level, raw, + windowBits, memLevel, strategy, + password, crcForCrypting, VERSIONMADEBY, 0); +} + + extern int ZEXPORT zipOpenNewFileInZip (file, filename, zipfi, extrafield_local, size_extrafield_local, extrafield_global, size_extrafield_global, @@ -936,10 +975,12 @@ extern int ZEXPORT zipOpenNewFileInZip (file, filename, zipfi, int method; int level; { - return zipOpenNewFileInZip2 (file, filename, zipfi, + return zipOpenNewFileInZip4 (file, filename, zipfi, extrafield_local, size_extrafield_local, extrafield_global, size_extrafield_global, - comment, method, level, 0); + comment, method, level, 0, + -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, + NULL, 0, VERSIONMADEBY, 0); } local int zipFlushWriteBuffer(zi) @@ -979,9 +1020,9 @@ extern int ZEXPORT zipWriteInFileInZip (file, buf, len) if (zi->in_opened_file_inzip == 0) return ZIP_PARAMERROR; - zi->ci.stream.next_in = (void*)buf; + zi->ci.stream.next_in = (Bytef*)buf; zi->ci.stream.avail_in = len; - zi->ci.crc32 = crc32(zi->ci.crc32,buf,len); + zi->ci.crc32 = crc32(zi->ci.crc32,buf,(uInt)len); while ((err==ZIP_OK) && (zi->ci.stream.avail_in>0)) { @@ -1071,7 +1112,9 @@ extern int ZEXPORT zipCloseFileInZipRaw (file, uncompressed_size, crc32) if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) { - err=deflateEnd(&zi->ci.stream); + int tmp_err=deflateEnd(&zi->ci.stream); + if (err == ZIP_OK) + err = tmp_err; zi->ci.stream_initialised = 0; } @@ -1174,7 +1217,7 @@ extern int ZEXPORT zipClose (file, global_comment) ldi = ldi->next_datablock; } } - free_datablock(zi->central_dir.first_block); + free_linkedlist(&(zi->central_dir)); if (err==ZIP_OK) /* Magic End */ err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)ENDHEADERMAGIC,4); diff --git a/unzip/zip.h b/unzip/zip.h index acacce83..39215cad 100644 --- a/unzip/zip.h +++ b/unzip/zip.h @@ -1,7 +1,7 @@ /* zip.h -- IO for compress .zip files using zlib - Version 1.01e, February 12th, 2005 + Version 1.01h, December 28th, 2009 - Copyright (C) 1998-2005 Gilles Vollant + Copyright (C) 1998-2009 Gilles Vollant This unzip package allow creates .ZIP file, compatible with PKZip 2.04g WinZip, InfoZip tools and compatible. @@ -191,8 +191,7 @@ extern int ZEXPORT zipOpenNewFileInZip3 OF((zipFile file, int memLevel, int strategy, const char* password, - uLong crcForCtypting)); - + uLong crcForCrypting)); /* Same than zipOpenNewFileInZip2, except windowBits,memLevel,,strategy : see parameter strategy in deflateInit2 @@ -200,6 +199,29 @@ extern int ZEXPORT zipOpenNewFileInZip3 OF((zipFile file, crcForCtypting : crc of file to compress (needed for crypting) */ +extern int ZEXPORT zipOpenNewFileInZip4 OF((zipFile file, + const char* filename, + const zip_fileinfo* zipfi, + const void* extrafield_local, + uInt size_extrafield_local, + const void* extrafield_global, + uInt size_extrafield_global, + const char* comment, + int method, + int level, + int raw, + int windowBits, + int memLevel, + int strategy, + const char* password, + uLong crcForCrypting, + uLong versionMadeBy, + uLong flagBase)); +/* + Same than zipOpenNewFileInZip4, except + versionMadeBy : value for Version made by field + flag : value for flag field (compression level info will be added) + */ extern int ZEXPORT zipWriteInFileInZip OF((zipFile file, const void* buf, diff --git a/win32/docs/readme-windows.txt b/win32/docs/readme-windows.txt index 0127370b..193e8faa 100644 --- a/win32/docs/readme-windows.txt +++ b/win32/docs/readme-windows.txt @@ -8,7 +8,7 @@ Files included in the Snes9x archive: changes.txt snes9x-license.txt -version 1.52 January, 2010 +version 1.53 April, 2011 Home page: http://www.snes9x.com/ @@ -91,8 +91,8 @@ allows you to browse your computer to locate the directory where you have stored your SNES games. Single-click and then press Load to load and start the game. SNES ROM images come in lots of different formats. Snes9x supports zipped ROMs -as long as there is only 1 per zip file. Also Snes9x can open gzip/jma -compressed file. +as long as there is only 1 per zip file. Also Snes9x can open gzip and jma +compressed files. Game Color System ----------------- @@ -155,9 +155,8 @@ experience. Software -------- -You will need access to SNES ROM images in .smc, .sfc, .fig, etc., format -otherwise you will have nothing to run! Some home-brewed ROM images can be -downloaded from http://www.zophar.com/. +You will need access to SNES ROM images otherwise you will have nothing to run! +Some home-brewed ROM images can be downloaded from http://www.zophar.com/. Please note, it is illegal in most countries to have commercial ROM images without also owning the actual SNES ROM cartridges, and even then you may be liable under various EULAs. @@ -668,8 +667,7 @@ What's Emulated? envelope processing, echo, pitch modulation and digital FIR sound filter. - SRAM, a battery-backed RAM. - All background modes, 0 to 7. -- All screen resolutions, 256x224, 256x239, 512x224, 512x239, 512x448 and - 512x478. +- All screen resolutions including interlace mode. - Pseudo hi-res mode. - 8x8, 16x8 and 16x16 tile sizes, flipped in either direction. - 32x32, 32x64, 64x32 and 64x64 screen tile sizes. @@ -816,4 +814,4 @@ Capcom is a trademark of Capcom Co., Ltd. Gary Henderson Edited for Windows port by: zones (kasumitokoduck@yahoo.com) -Updated most recently by: 2010/01/01 zones +Updated most recently by: 2011/04/11 zones From 9f22745fa5949fba736a55f8877652f94ae11299 Mon Sep 17 00:00:00 2001 From: OV2 Date: Sun, 10 Apr 2011 16:06:24 +0200 Subject: [PATCH 05/25] Win32: fix double cg function unloading --- win32/CDirect3D.cpp | 27 ++++++++++++++++++--------- win32/COpenGL.cpp | 3 ++- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/win32/CDirect3D.cpp b/win32/CDirect3D.cpp index a68d391c..8e3fb10b 100644 --- a/win32/CDirect3D.cpp +++ b/win32/CDirect3D.cpp @@ -305,6 +305,14 @@ void CDirect3D::DeInitialize() DestroyDrawSurface(); SetShader(NULL); + if(cgContext) { + cgDestroyContext(cgContext); + cgContext = NULL; + } + + if(cgAvailable) + cgD3D9SetDevice(NULL); + if(vertexBuffer) { vertexBuffer->Release(); vertexBuffer = NULL; @@ -320,21 +328,14 @@ void CDirect3D::DeInitialize() pD3D = NULL; } - if(cgContext) { - cgDestroyContext(cgContext); - cgContext = NULL; - } - - if(cgAvailable) - cgD3D9SetDevice(NULL); - init_done = false; afterRenderWidth = 0; afterRenderHeight = 0; quadTextureSize = 0; fullscreen = false; filterScale = 0; - unloadCgLibrary(); + if(cgAvailable) + unloadCgLibrary(); cgAvailable = false; } @@ -943,6 +944,10 @@ bool CDirect3D::ResetDevice() //release prior to reset DestroyDrawSurface(); + if(cgAvailable) { + cgD3D9SetDevice(NULL); + } + if(effect) effect->OnLostDevice(); @@ -975,6 +980,10 @@ bool CDirect3D::ResetDevice() if(effect) effect->OnResetDevice(); + if(cgAvailable) { + cgD3D9SetDevice(pDevice); + } + if(GUI.BilinearFilter) { pDevice->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); pDevice->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); diff --git a/win32/COpenGL.cpp b/win32/COpenGL.cpp index 5700c2bb..57a17c3f 100644 --- a/win32/COpenGL.cpp +++ b/win32/COpenGL.cpp @@ -318,7 +318,8 @@ void COpenGL::DeInitialize() afterRenderHeight = 0; shaderFunctionsLoaded = false; shader_type = OGL_SHADER_NONE; - unloadCgLibrary(); + if(cgAvailable) + unloadCgLibrary(); cgAvailable = false; } From c47598f3cf8b4afb326f4b918911b7afb09e7c21 Mon Sep 17 00:00:00 2001 From: OV2 Date: Mon, 11 Apr 2011 21:51:20 +0200 Subject: [PATCH 06/25] Update copyright in all files --- 65c816.h | 11 ++++++----- apu/apu.cpp | 11 ++++++----- apu/apu.h | 11 ++++++----- bsx.cpp | 11 ++++++----- bsx.h | 11 ++++++----- c4.cpp | 11 ++++++----- c4.h | 11 ++++++----- c4emu.cpp | 11 ++++++----- cheats.cpp | 11 ++++++----- cheats.h | 11 ++++++----- cheats2.cpp | 11 ++++++----- clip.cpp | 11 ++++++----- conffile.cpp | 11 ++++++----- conffile.h | 11 ++++++----- controls.cpp | 11 ++++++----- controls.h | 11 ++++++----- cpu.cpp | 11 ++++++----- cpuaddr.h | 11 ++++++----- cpuexec.cpp | 11 ++++++----- cpuexec.h | 11 ++++++----- cpumacro.h | 11 ++++++----- cpuops.cpp | 11 ++++++----- cpuops.h | 11 ++++++----- crosshairs.cpp | 11 ++++++----- crosshairs.h | 11 ++++++----- debug.cpp | 11 ++++++----- debug.h | 11 ++++++----- display.h | 11 ++++++----- dma.cpp | 11 ++++++----- dma.h | 11 ++++++----- docs/snes9x-license.txt | 11 ++++++----- dsp.cpp | 11 ++++++----- dsp.h | 11 ++++++----- dsp1.cpp | 11 ++++++----- dsp2.cpp | 11 ++++++----- dsp3.cpp | 11 ++++++----- dsp4.cpp | 11 ++++++----- filter/2xsai.cpp | 11 ++++++----- filter/2xsai.h | 11 ++++++----- filter/blit.cpp | 11 ++++++----- filter/blit.h | 11 ++++++----- filter/epx.cpp | 11 ++++++----- filter/epx.h | 11 ++++++----- filter/hq2x.cpp | 11 ++++++----- filter/hq2x.h | 11 ++++++----- font.h | 11 ++++++----- fxdbg.cpp | 11 ++++++----- fxemu.cpp | 11 ++++++----- fxemu.h | 11 ++++++----- fxinst.cpp | 11 ++++++----- fxinst.h | 11 ++++++----- getset.h | 11 ++++++----- gfx.cpp | 11 ++++++----- gfx.h | 11 ++++++----- globals.cpp | 11 ++++++----- gtk/src/filter_epx_unsafe.cpp | 11 ++++++----- gtk/src/snes9x.ui | 11 ++++++----- jma/s9x-jma.cpp | 11 ++++++----- jma/s9x-jma.h | 11 ++++++----- language.h | 11 ++++++----- loadzip.cpp | 11 ++++++----- logger.cpp | 11 ++++++----- logger.h | 11 ++++++----- macosx/mac-appleevent.cpp | 11 ++++++----- macosx/mac-appleevent.h | 11 ++++++----- macosx/mac-audio.h | 11 ++++++----- macosx/mac-audio.mm | 11 ++++++----- macosx/mac-cart.h | 11 ++++++----- macosx/mac-cart.mm | 11 ++++++----- macosx/mac-cheat.cpp | 11 ++++++----- macosx/mac-cheat.h | 11 ++++++----- macosx/mac-cheatfinder.cpp | 11 ++++++----- macosx/mac-cheatfinder.h | 11 ++++++----- macosx/mac-client.cpp | 11 ++++++----- macosx/mac-client.h | 11 ++++++----- macosx/mac-cocoatools.h | 11 ++++++----- macosx/mac-cocoatools.mm | 11 ++++++----- macosx/mac-controls.cpp | 11 ++++++----- macosx/mac-controls.h | 11 ++++++----- macosx/mac-coreimage.h | 11 ++++++----- macosx/mac-coreimage.mm | 11 ++++++----- macosx/mac-dialog.cpp | 11 ++++++----- macosx/mac-dialog.h | 11 ++++++----- macosx/mac-file.cpp | 11 ++++++----- macosx/mac-file.h | 11 ++++++----- macosx/mac-global_prefix.h | 11 ++++++----- macosx/mac-gworld.cpp | 11 ++++++----- macosx/mac-gworld.h | 11 ++++++----- macosx/mac-joypad.cpp | 11 ++++++----- macosx/mac-joypad.h | 11 ++++++----- macosx/mac-keyboard.cpp | 11 ++++++----- macosx/mac-keyboard.h | 11 ++++++----- macosx/mac-multicart.cpp | 11 ++++++----- macosx/mac-multicart.h | 11 ++++++----- macosx/mac-musicbox.h | 11 ++++++----- macosx/mac-musicbox.mm | 11 ++++++----- macosx/mac-netplay.cpp | 11 ++++++----- macosx/mac-netplay.h | 11 ++++++----- macosx/mac-os.h | 11 ++++++----- macosx/mac-os.mm | 11 ++++++----- macosx/mac-prefix.h | 11 ++++++----- macosx/mac-prefs.cpp | 11 ++++++----- macosx/mac-prefs.h | 11 ++++++----- macosx/mac-quicktime.cpp | 11 ++++++----- macosx/mac-quicktime.h | 11 ++++++----- macosx/mac-render.cpp | 11 ++++++----- macosx/mac-render.h | 11 ++++++----- macosx/mac-screenshot.cpp | 11 ++++++----- macosx/mac-screenshot.h | 11 ++++++----- macosx/mac-server.cpp | 11 ++++++----- macosx/mac-server.h | 11 ++++++----- macosx/mac-snes9x.cpp | 11 ++++++----- macosx/mac-snes9x.h | 11 ++++++----- macosx/mac-stringtools.cpp | 11 ++++++----- macosx/mac-stringtools.h | 11 ++++++----- memmap.cpp | 11 ++++++----- memmap.h | 11 ++++++----- messages.h | 11 ++++++----- missing.h | 11 ++++++----- movie.cpp | 11 ++++++----- movie.h | 11 ++++++----- netplay.cpp | 11 ++++++----- netplay.h | 11 ++++++----- obc1.cpp | 11 ++++++----- obc1.h | 11 ++++++----- pixform.h | 11 ++++++----- port.h | 11 ++++++----- ppu.cpp | 11 ++++++----- ppu.h | 11 ++++++----- reader.cpp | 11 ++++++----- reader.h | 11 ++++++----- sa1.cpp | 11 ++++++----- sa1.h | 11 ++++++----- sa1cpu.cpp | 11 ++++++----- sar.h | 11 ++++++----- screenshot.cpp | 11 ++++++----- screenshot.h | 11 ++++++----- sdd1.cpp | 11 ++++++----- sdd1.h | 11 ++++++----- sdd1emu.cpp | 11 ++++++----- sdd1emu.h | 11 ++++++----- server.cpp | 11 ++++++----- seta.cpp | 11 ++++++----- seta.h | 11 ++++++----- seta010.cpp | 11 ++++++----- seta011.cpp | 11 ++++++----- seta018.cpp | 11 ++++++----- snapshot.cpp | 11 ++++++----- snapshot.h | 11 ++++++----- snes9x.cpp | 11 ++++++----- snes9x.h | 11 ++++++----- spc7110.cpp | 11 ++++++----- spc7110.h | 11 ++++++----- srtc.cpp | 11 ++++++----- srtc.h | 11 ++++++----- tile.cpp | 11 ++++++----- tile.h | 11 ++++++----- unix/unix.cpp | 11 ++++++----- unix/x11.cpp | 11 ++++++----- win32/AVIOutput.cpp | 11 ++++++----- win32/AVIOutput.h | 11 ++++++----- win32/CDirect3D.cpp | 11 ++++++----- win32/CDirect3D.h | 11 ++++++----- win32/CDirectDraw.cpp | 11 ++++++----- win32/CDirectDraw.h | 11 ++++++----- win32/CDirectSound.cpp | 11 ++++++----- win32/CDirectSound.h | 11 ++++++----- win32/CFMOD.cpp | 11 ++++++----- win32/CFMOD.h | 11 ++++++----- win32/COpenGL.cpp | 11 ++++++----- win32/COpenGL.h | 11 ++++++----- win32/CXAudio2.cpp | 11 ++++++----- win32/CXAudio2.h | 11 ++++++----- win32/IS9xDisplayOutput.h | 11 ++++++----- win32/IS9xSoundOutput.h | 11 ++++++----- win32/InputCustom.cpp | 11 ++++++----- win32/InputCustom.h | 11 ++++++----- win32/cgFunctions.cpp | 11 ++++++----- win32/cgFunctions.h | 11 ++++++----- win32/render.cpp | 11 ++++++----- win32/render.h | 11 ++++++----- win32/wconfig.cpp | 11 ++++++----- win32/win32.cpp | 11 ++++++----- win32/win32_display.cpp | 11 ++++++----- win32/win32_display.h | 11 ++++++----- win32/win32_sound.cpp | 11 ++++++----- win32/win32_sound.h | 11 ++++++----- win32/wlanguage.h | 13 +++++++------ win32/wsnes9x.cpp | 11 ++++++----- win32/wsnes9x.h | 11 ++++++----- 190 files changed, 1141 insertions(+), 951 deletions(-) diff --git a/65c816.h b/65c816.h index 995fcbbb..3c1278f7 100644 --- a/65c816.h +++ b/65c816.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/apu/apu.cpp b/apu/apu.cpp index 62d8423c..f6e24456 100644 --- a/apu/apu.cpp +++ b/apu/apu.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/apu/apu.h b/apu/apu.h index 48a0e082..358469da 100644 --- a/apu/apu.h +++ b/apu/apu.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/bsx.cpp b/bsx.cpp index c6d6b369..d55b346c 100644 --- a/bsx.cpp +++ b/bsx.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/bsx.h b/bsx.h index d88bb193..24f258af 100644 --- a/bsx.h +++ b/bsx.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/c4.cpp b/c4.cpp index d586e79e..92d843ff 100644 --- a/c4.cpp +++ b/c4.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/c4.h b/c4.h index 9b4c6070..420c9445 100644 --- a/c4.h +++ b/c4.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/c4emu.cpp b/c4emu.cpp index 65e0f553..7b61d111 100644 --- a/c4emu.cpp +++ b/c4emu.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/cheats.cpp b/cheats.cpp index e4d648d0..72ee6a5e 100644 --- a/cheats.cpp +++ b/cheats.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/cheats.h b/cheats.h index 51ed71fb..fa9a118c 100644 --- a/cheats.h +++ b/cheats.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/cheats2.cpp b/cheats2.cpp index fc076b5b..ce1d153a 100644 --- a/cheats2.cpp +++ b/cheats2.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/clip.cpp b/clip.cpp index 8e6baa35..8679a18d 100644 --- a/clip.cpp +++ b/clip.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/conffile.cpp b/conffile.cpp index 5f437ab4..2923ecc8 100644 --- a/conffile.cpp +++ b/conffile.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/conffile.h b/conffile.h index 2fd692e9..24c8c20e 100644 --- a/conffile.h +++ b/conffile.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/controls.cpp b/controls.cpp index 5985781d..08aa3e8e 100644 --- a/controls.cpp +++ b/controls.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/controls.h b/controls.h index 8772f62c..3fd059d4 100644 --- a/controls.h +++ b/controls.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/cpu.cpp b/cpu.cpp index 547a4469..575bc59b 100644 --- a/cpu.cpp +++ b/cpu.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/cpuaddr.h b/cpuaddr.h index 3ae55c41..727e6a7a 100644 --- a/cpuaddr.h +++ b/cpuaddr.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/cpuexec.cpp b/cpuexec.cpp index 5b1656e1..58d9f9fc 100644 --- a/cpuexec.cpp +++ b/cpuexec.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/cpuexec.h b/cpuexec.h index ccfadd5c..7e65b313 100644 --- a/cpuexec.h +++ b/cpuexec.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/cpumacro.h b/cpumacro.h index 73c4340b..ce360d92 100644 --- a/cpumacro.h +++ b/cpumacro.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/cpuops.cpp b/cpuops.cpp index e9c71eda..112973f0 100644 --- a/cpuops.cpp +++ b/cpuops.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/cpuops.h b/cpuops.h index d9bfcc1e..29dd68f1 100644 --- a/cpuops.h +++ b/cpuops.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/crosshairs.cpp b/crosshairs.cpp index 7c3f3851..a8aa159e 100644 --- a/crosshairs.cpp +++ b/crosshairs.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/crosshairs.h b/crosshairs.h index 16c3811d..9d08bc72 100644 --- a/crosshairs.h +++ b/crosshairs.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/debug.cpp b/debug.cpp index 18ba1a12..f3d7edb3 100644 --- a/debug.cpp +++ b/debug.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/debug.h b/debug.h index 2ff1b4d4..395304df 100644 --- a/debug.h +++ b/debug.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/display.h b/display.h index fa784088..4f261765 100644 --- a/display.h +++ b/display.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/dma.cpp b/dma.cpp index bf171090..6b133a60 100644 --- a/dma.cpp +++ b/dma.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/dma.h b/dma.h index c779a798..5b8a8161 100644 --- a/dma.h +++ b/dma.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/docs/snes9x-license.txt b/docs/snes9x-license.txt index 698be102..19d5fd68 100644 --- a/docs/snes9x-license.txt +++ b/docs/snes9x-license.txt @@ -16,11 +16,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -129,7 +130,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -137,11 +138,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/dsp.cpp b/dsp.cpp index b6e23ff1..065c62bb 100644 --- a/dsp.cpp +++ b/dsp.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/dsp.h b/dsp.h index be4d073f..97b44f08 100644 --- a/dsp.h +++ b/dsp.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/dsp1.cpp b/dsp1.cpp index 85f95123..3731578c 100644 --- a/dsp1.cpp +++ b/dsp1.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/dsp2.cpp b/dsp2.cpp index 477209b4..fb7dfaa5 100644 --- a/dsp2.cpp +++ b/dsp2.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/dsp3.cpp b/dsp3.cpp index 5c792403..a4d0c96b 100644 --- a/dsp3.cpp +++ b/dsp3.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/dsp4.cpp b/dsp4.cpp index 9d6f3fd7..3863e877 100644 --- a/dsp4.cpp +++ b/dsp4.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/filter/2xsai.cpp b/filter/2xsai.cpp index b8225d72..55ee634b 100644 --- a/filter/2xsai.cpp +++ b/filter/2xsai.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/filter/2xsai.h b/filter/2xsai.h index 86da4b3d..da98306d 100644 --- a/filter/2xsai.h +++ b/filter/2xsai.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/filter/blit.cpp b/filter/blit.cpp index 69c48b44..58e565e4 100644 --- a/filter/blit.cpp +++ b/filter/blit.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/filter/blit.h b/filter/blit.h index ebde40b1..627a47bd 100644 --- a/filter/blit.h +++ b/filter/blit.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/filter/epx.cpp b/filter/epx.cpp index 38241110..9459b1e5 100644 --- a/filter/epx.cpp +++ b/filter/epx.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/filter/epx.h b/filter/epx.h index 25782728..ce1619be 100644 --- a/filter/epx.h +++ b/filter/epx.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/filter/hq2x.cpp b/filter/hq2x.cpp index 9b41ad36..c47b411a 100644 --- a/filter/hq2x.cpp +++ b/filter/hq2x.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/filter/hq2x.h b/filter/hq2x.h index bb98097f..73364933 100644 --- a/filter/hq2x.h +++ b/filter/hq2x.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/font.h b/font.h index 27011f6b..6097167e 100644 --- a/font.h +++ b/font.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/fxdbg.cpp b/fxdbg.cpp index ed971234..bae7ae1c 100644 --- a/fxdbg.cpp +++ b/fxdbg.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/fxemu.cpp b/fxemu.cpp index ce1af63e..072a672e 100644 --- a/fxemu.cpp +++ b/fxemu.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/fxemu.h b/fxemu.h index b2ce64e7..c4b0e704 100644 --- a/fxemu.h +++ b/fxemu.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/fxinst.cpp b/fxinst.cpp index 5f7df2bf..c67bb6e4 100644 --- a/fxinst.cpp +++ b/fxinst.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/fxinst.h b/fxinst.h index dd3736ec..21475869 100644 --- a/fxinst.h +++ b/fxinst.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/getset.h b/getset.h index b7dda2b6..b52f8987 100644 --- a/getset.h +++ b/getset.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/gfx.cpp b/gfx.cpp index 579aa526..0937852e 100644 --- a/gfx.cpp +++ b/gfx.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/gfx.h b/gfx.h index 75981cc2..be680c70 100644 --- a/gfx.h +++ b/gfx.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/globals.cpp b/globals.cpp index 60d7959f..e660604a 100644 --- a/globals.cpp +++ b/globals.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/gtk/src/filter_epx_unsafe.cpp b/gtk/src/filter_epx_unsafe.cpp index 62874e29..9ea6e331 100644 --- a/gtk/src/filter_epx_unsafe.cpp +++ b/gtk/src/filter_epx_unsafe.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/gtk/src/snes9x.ui b/gtk/src/snes9x.ui index 5e9233c7..3f86e43d 100644 --- a/gtk/src/snes9x.ui +++ b/gtk/src/snes9x.ui @@ -7239,11 +7239,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -7352,7 +7353,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -7360,11 +7361,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/jma/s9x-jma.cpp b/jma/s9x-jma.cpp index 4c4c9cb6..f9914fb1 100644 --- a/jma/s9x-jma.cpp +++ b/jma/s9x-jma.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/jma/s9x-jma.h b/jma/s9x-jma.h index 97392ddc..be3639e3 100644 --- a/jma/s9x-jma.h +++ b/jma/s9x-jma.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/language.h b/language.h index 49a30ae1..09d80062 100644 --- a/language.h +++ b/language.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/loadzip.cpp b/loadzip.cpp index ac91a961..6ce8e7c8 100644 --- a/loadzip.cpp +++ b/loadzip.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/logger.cpp b/logger.cpp index 235c5335..2c0ada66 100644 --- a/logger.cpp +++ b/logger.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/logger.h b/logger.h index 63aa30b7..1f8303d4 100644 --- a/logger.h +++ b/logger.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-appleevent.cpp b/macosx/mac-appleevent.cpp index c0fa21e5..49f846b5 100755 --- a/macosx/mac-appleevent.cpp +++ b/macosx/mac-appleevent.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-appleevent.h b/macosx/mac-appleevent.h index 2c0b9464..93ed560c 100755 --- a/macosx/mac-appleevent.h +++ b/macosx/mac-appleevent.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-audio.h b/macosx/mac-audio.h index f1bbace2..5e444647 100644 --- a/macosx/mac-audio.h +++ b/macosx/mac-audio.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-audio.mm b/macosx/mac-audio.mm index 5db28d00..11fe33b9 100644 --- a/macosx/mac-audio.mm +++ b/macosx/mac-audio.mm @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-cart.h b/macosx/mac-cart.h index fd53d5fe..ade454da 100755 --- a/macosx/mac-cart.h +++ b/macosx/mac-cart.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-cart.mm b/macosx/mac-cart.mm index 21597734..059530e8 100755 --- a/macosx/mac-cart.mm +++ b/macosx/mac-cart.mm @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-cheat.cpp b/macosx/mac-cheat.cpp index 2cba1955..96db5637 100755 --- a/macosx/mac-cheat.cpp +++ b/macosx/mac-cheat.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-cheat.h b/macosx/mac-cheat.h index a137b9cc..090d8046 100755 --- a/macosx/mac-cheat.h +++ b/macosx/mac-cheat.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-cheatfinder.cpp b/macosx/mac-cheatfinder.cpp index 5ead9830..35dfab22 100755 --- a/macosx/mac-cheatfinder.cpp +++ b/macosx/mac-cheatfinder.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-cheatfinder.h b/macosx/mac-cheatfinder.h index 6814bc9c..10e3e68c 100755 --- a/macosx/mac-cheatfinder.h +++ b/macosx/mac-cheatfinder.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-client.cpp b/macosx/mac-client.cpp index 75ae9345..72bb0f76 100644 --- a/macosx/mac-client.cpp +++ b/macosx/mac-client.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-client.h b/macosx/mac-client.h index 38aff0a7..95701425 100644 --- a/macosx/mac-client.h +++ b/macosx/mac-client.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-cocoatools.h b/macosx/mac-cocoatools.h index ff34834b..4133fee1 100644 --- a/macosx/mac-cocoatools.h +++ b/macosx/mac-cocoatools.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-cocoatools.mm b/macosx/mac-cocoatools.mm index d2774cca..a5642280 100644 --- a/macosx/mac-cocoatools.mm +++ b/macosx/mac-cocoatools.mm @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-controls.cpp b/macosx/mac-controls.cpp index a2291b78..26e0d5b4 100644 --- a/macosx/mac-controls.cpp +++ b/macosx/mac-controls.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-controls.h b/macosx/mac-controls.h index a849852e..ddd1045d 100644 --- a/macosx/mac-controls.h +++ b/macosx/mac-controls.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-coreimage.h b/macosx/mac-coreimage.h index 46588678..3fa08803 100644 --- a/macosx/mac-coreimage.h +++ b/macosx/mac-coreimage.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-coreimage.mm b/macosx/mac-coreimage.mm index 06626ed4..9cf453c3 100644 --- a/macosx/mac-coreimage.mm +++ b/macosx/mac-coreimage.mm @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-dialog.cpp b/macosx/mac-dialog.cpp index a1655af7..a8919cfb 100755 --- a/macosx/mac-dialog.cpp +++ b/macosx/mac-dialog.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-dialog.h b/macosx/mac-dialog.h index 0dd9b407..9542aa82 100755 --- a/macosx/mac-dialog.h +++ b/macosx/mac-dialog.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-file.cpp b/macosx/mac-file.cpp index cbb4f7dd..0e25b66e 100644 --- a/macosx/mac-file.cpp +++ b/macosx/mac-file.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-file.h b/macosx/mac-file.h index a6696ad8..d383e1e0 100644 --- a/macosx/mac-file.h +++ b/macosx/mac-file.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-global_prefix.h b/macosx/mac-global_prefix.h index 97cfa636..e421b402 100644 --- a/macosx/mac-global_prefix.h +++ b/macosx/mac-global_prefix.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-gworld.cpp b/macosx/mac-gworld.cpp index 6fe19423..dbbac099 100755 --- a/macosx/mac-gworld.cpp +++ b/macosx/mac-gworld.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-gworld.h b/macosx/mac-gworld.h index 026c60ce..83a7fa35 100755 --- a/macosx/mac-gworld.h +++ b/macosx/mac-gworld.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-joypad.cpp b/macosx/mac-joypad.cpp index 4bd6acc1..9e6bf579 100755 --- a/macosx/mac-joypad.cpp +++ b/macosx/mac-joypad.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-joypad.h b/macosx/mac-joypad.h index 71dfb499..d9761767 100755 --- a/macosx/mac-joypad.h +++ b/macosx/mac-joypad.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-keyboard.cpp b/macosx/mac-keyboard.cpp index d02e12db..8ea5771b 100755 --- a/macosx/mac-keyboard.cpp +++ b/macosx/mac-keyboard.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-keyboard.h b/macosx/mac-keyboard.h index 57aa04f6..82a9d193 100755 --- a/macosx/mac-keyboard.h +++ b/macosx/mac-keyboard.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-multicart.cpp b/macosx/mac-multicart.cpp index 0441292b..67d4f816 100644 --- a/macosx/mac-multicart.cpp +++ b/macosx/mac-multicart.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-multicart.h b/macosx/mac-multicart.h index 9e5500ce..26436aa7 100644 --- a/macosx/mac-multicart.h +++ b/macosx/mac-multicart.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-musicbox.h b/macosx/mac-musicbox.h index 83886e90..786c051e 100755 --- a/macosx/mac-musicbox.h +++ b/macosx/mac-musicbox.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-musicbox.mm b/macosx/mac-musicbox.mm index 0d9157e5..3ad4caf3 100755 --- a/macosx/mac-musicbox.mm +++ b/macosx/mac-musicbox.mm @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-netplay.cpp b/macosx/mac-netplay.cpp index ba18c1f7..4479b259 100644 --- a/macosx/mac-netplay.cpp +++ b/macosx/mac-netplay.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-netplay.h b/macosx/mac-netplay.h index 9be29000..d063f823 100644 --- a/macosx/mac-netplay.h +++ b/macosx/mac-netplay.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-os.h b/macosx/mac-os.h index fb13cd49..e5d78b5f 100644 --- a/macosx/mac-os.h +++ b/macosx/mac-os.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-os.mm b/macosx/mac-os.mm index 1b192da0..32fb4861 100644 --- a/macosx/mac-os.mm +++ b/macosx/mac-os.mm @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-prefix.h b/macosx/mac-prefix.h index 58c591e8..23ff58f1 100755 --- a/macosx/mac-prefix.h +++ b/macosx/mac-prefix.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-prefs.cpp b/macosx/mac-prefs.cpp index 96317ddb..36ca925b 100755 --- a/macosx/mac-prefs.cpp +++ b/macosx/mac-prefs.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-prefs.h b/macosx/mac-prefs.h index b2832c01..269fc7e5 100755 --- a/macosx/mac-prefs.h +++ b/macosx/mac-prefs.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-quicktime.cpp b/macosx/mac-quicktime.cpp index cdeef00a..d90969b5 100644 --- a/macosx/mac-quicktime.cpp +++ b/macosx/mac-quicktime.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-quicktime.h b/macosx/mac-quicktime.h index c28edf51..ec6fedcc 100644 --- a/macosx/mac-quicktime.h +++ b/macosx/mac-quicktime.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-render.cpp b/macosx/mac-render.cpp index fba4508d..155401a8 100644 --- a/macosx/mac-render.cpp +++ b/macosx/mac-render.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-render.h b/macosx/mac-render.h index fc66f654..472ba4ee 100644 --- a/macosx/mac-render.h +++ b/macosx/mac-render.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-screenshot.cpp b/macosx/mac-screenshot.cpp index 991eec3b..e44bfba7 100644 --- a/macosx/mac-screenshot.cpp +++ b/macosx/mac-screenshot.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-screenshot.h b/macosx/mac-screenshot.h index 7a22ecc9..091b4aed 100644 --- a/macosx/mac-screenshot.h +++ b/macosx/mac-screenshot.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-server.cpp b/macosx/mac-server.cpp index a6eb0969..4a1502e8 100644 --- a/macosx/mac-server.cpp +++ b/macosx/mac-server.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-server.h b/macosx/mac-server.h index ee251e66..91f344c9 100644 --- a/macosx/mac-server.h +++ b/macosx/mac-server.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-snes9x.cpp b/macosx/mac-snes9x.cpp index c3a6a145..77be6ee0 100755 --- a/macosx/mac-snes9x.cpp +++ b/macosx/mac-snes9x.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-snes9x.h b/macosx/mac-snes9x.h index 8347b00e..3fd33516 100755 --- a/macosx/mac-snes9x.h +++ b/macosx/mac-snes9x.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-stringtools.cpp b/macosx/mac-stringtools.cpp index 1a1e4a0a..ef8fd7a6 100755 --- a/macosx/mac-stringtools.cpp +++ b/macosx/mac-stringtools.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/macosx/mac-stringtools.h b/macosx/mac-stringtools.h index 4d3d9a6d..667b9d0f 100755 --- a/macosx/mac-stringtools.h +++ b/macosx/mac-stringtools.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/memmap.cpp b/memmap.cpp index 4844e52c..f8755064 100644 --- a/memmap.cpp +++ b/memmap.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/memmap.h b/memmap.h index 99dd8f7e..2b05de61 100644 --- a/memmap.h +++ b/memmap.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/messages.h b/messages.h index f346a7ce..ad981b7a 100644 --- a/messages.h +++ b/messages.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/missing.h b/missing.h index 9a41fab1..d3c39d88 100644 --- a/missing.h +++ b/missing.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/movie.cpp b/movie.cpp index f4b018bd..982b9ebd 100644 --- a/movie.cpp +++ b/movie.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/movie.h b/movie.h index f1fb2bb0..508ad307 100644 --- a/movie.h +++ b/movie.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/netplay.cpp b/netplay.cpp index facacc19..dff5d0a3 100644 --- a/netplay.cpp +++ b/netplay.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/netplay.h b/netplay.h index b28bcace..805442bb 100644 --- a/netplay.h +++ b/netplay.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/obc1.cpp b/obc1.cpp index 9fe98de5..130bfc50 100644 --- a/obc1.cpp +++ b/obc1.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/obc1.h b/obc1.h index 836850b7..8b2a5547 100644 --- a/obc1.h +++ b/obc1.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/pixform.h b/pixform.h index 1760899c..ffabde4a 100644 --- a/pixform.h +++ b/pixform.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/port.h b/port.h index 9e1117c6..07c2bf2a 100644 --- a/port.h +++ b/port.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/ppu.cpp b/ppu.cpp index 95ad4b43..7733baaf 100644 --- a/ppu.cpp +++ b/ppu.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/ppu.h b/ppu.h index c5cb9d7a..a35d70ac 100644 --- a/ppu.h +++ b/ppu.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/reader.cpp b/reader.cpp index fa7ba1ec..8ad1ed44 100644 --- a/reader.cpp +++ b/reader.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/reader.h b/reader.h index 2019cc1a..80e92e4d 100644 --- a/reader.h +++ b/reader.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/sa1.cpp b/sa1.cpp index a35e5537..3852860d 100644 --- a/sa1.cpp +++ b/sa1.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/sa1.h b/sa1.h index eef38a20..112553a8 100644 --- a/sa1.h +++ b/sa1.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/sa1cpu.cpp b/sa1cpu.cpp index 994e240c..b5f82974 100644 --- a/sa1cpu.cpp +++ b/sa1cpu.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/sar.h b/sar.h index f53de57a..194245cd 100644 --- a/sar.h +++ b/sar.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/screenshot.cpp b/screenshot.cpp index ec8f7503..c3231575 100644 --- a/screenshot.cpp +++ b/screenshot.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/screenshot.h b/screenshot.h index 6839ba09..3fd96361 100644 --- a/screenshot.h +++ b/screenshot.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/sdd1.cpp b/sdd1.cpp index 40cd4c9b..0e2ebfc4 100644 --- a/sdd1.cpp +++ b/sdd1.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/sdd1.h b/sdd1.h index 7419b5ba..be3961a2 100644 --- a/sdd1.h +++ b/sdd1.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/sdd1emu.cpp b/sdd1emu.cpp index c4f4d36b..a55e63ea 100644 --- a/sdd1emu.cpp +++ b/sdd1emu.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/sdd1emu.h b/sdd1emu.h index 5722b4b6..18eae17d 100644 --- a/sdd1emu.h +++ b/sdd1emu.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/server.cpp b/server.cpp index ad505ad6..fc2f3fa4 100644 --- a/server.cpp +++ b/server.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/seta.cpp b/seta.cpp index e7fd24c9..d5f25548 100644 --- a/seta.cpp +++ b/seta.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/seta.h b/seta.h index ee49097c..9b5a6d42 100644 --- a/seta.h +++ b/seta.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/seta010.cpp b/seta010.cpp index 45cf8779..30f83986 100644 --- a/seta010.cpp +++ b/seta010.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/seta011.cpp b/seta011.cpp index b49a8b8b..80d21f7a 100644 --- a/seta011.cpp +++ b/seta011.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/seta018.cpp b/seta018.cpp index 24efb5c8..e92cef8c 100644 --- a/seta018.cpp +++ b/seta018.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/snapshot.cpp b/snapshot.cpp index b0d7791e..7b758b42 100644 --- a/snapshot.cpp +++ b/snapshot.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/snapshot.h b/snapshot.h index 55c72d7f..d55b8b7e 100644 --- a/snapshot.h +++ b/snapshot.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/snes9x.cpp b/snes9x.cpp index a4676144..148073e8 100644 --- a/snes9x.cpp +++ b/snes9x.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/snes9x.h b/snes9x.h index ccab8775..4e09c0dd 100644 --- a/snes9x.h +++ b/snes9x.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/spc7110.cpp b/spc7110.cpp index 4f9c0fc4..c44f55a0 100644 --- a/spc7110.cpp +++ b/spc7110.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/spc7110.h b/spc7110.h index 7002b509..9a605c51 100644 --- a/spc7110.h +++ b/spc7110.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/srtc.cpp b/srtc.cpp index 9c7e28ab..5971870c 100644 --- a/srtc.cpp +++ b/srtc.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/srtc.h b/srtc.h index 8bc441cb..75567244 100644 --- a/srtc.h +++ b/srtc.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/tile.cpp b/tile.cpp index f8d20827..12ad6274 100644 --- a/tile.cpp +++ b/tile.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/tile.h b/tile.h index d4bd94f9..9ef3c693 100644 --- a/tile.h +++ b/tile.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/unix/unix.cpp b/unix/unix.cpp index aaec24f7..c5f6da26 100644 --- a/unix/unix.cpp +++ b/unix/unix.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/unix/x11.cpp b/unix/x11.cpp index 8b35b1c0..cb76f82d 100644 --- a/unix/x11.cpp +++ b/unix/x11.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/AVIOutput.cpp b/win32/AVIOutput.cpp index 1f565d4b..9aead973 100644 --- a/win32/AVIOutput.cpp +++ b/win32/AVIOutput.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/AVIOutput.h b/win32/AVIOutput.h index 40a55edd..779167d4 100644 --- a/win32/AVIOutput.h +++ b/win32/AVIOutput.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/CDirect3D.cpp b/win32/CDirect3D.cpp index 8e3fb10b..335a7d08 100644 --- a/win32/CDirect3D.cpp +++ b/win32/CDirect3D.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/CDirect3D.h b/win32/CDirect3D.h index 49795dfd..92b1a9ae 100644 --- a/win32/CDirect3D.h +++ b/win32/CDirect3D.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/CDirectDraw.cpp b/win32/CDirectDraw.cpp index e890c1b0..4943a226 100644 --- a/win32/CDirectDraw.cpp +++ b/win32/CDirectDraw.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/CDirectDraw.h b/win32/CDirectDraw.h index 0b0c45c0..afb8ec7a 100644 --- a/win32/CDirectDraw.h +++ b/win32/CDirectDraw.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/CDirectSound.cpp b/win32/CDirectSound.cpp index 8cccc6e0..8dc6c948 100644 --- a/win32/CDirectSound.cpp +++ b/win32/CDirectSound.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/CDirectSound.h b/win32/CDirectSound.h index d1b80e7d..c569f1cf 100644 --- a/win32/CDirectSound.h +++ b/win32/CDirectSound.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/CFMOD.cpp b/win32/CFMOD.cpp index 13f99aed..2c2c9a14 100644 --- a/win32/CFMOD.cpp +++ b/win32/CFMOD.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/CFMOD.h b/win32/CFMOD.h index 9ecfe6a5..d67c7359 100644 --- a/win32/CFMOD.h +++ b/win32/CFMOD.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/COpenGL.cpp b/win32/COpenGL.cpp index 57a17c3f..4775cbca 100644 --- a/win32/COpenGL.cpp +++ b/win32/COpenGL.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/COpenGL.h b/win32/COpenGL.h index adb8949a..4837d9bf 100644 --- a/win32/COpenGL.h +++ b/win32/COpenGL.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/CXAudio2.cpp b/win32/CXAudio2.cpp index c6f6f48f..ba4297be 100644 --- a/win32/CXAudio2.cpp +++ b/win32/CXAudio2.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/CXAudio2.h b/win32/CXAudio2.h index 9626e0cc..4e74983e 100644 --- a/win32/CXAudio2.h +++ b/win32/CXAudio2.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/IS9xDisplayOutput.h b/win32/IS9xDisplayOutput.h index 20cfec01..449cea01 100644 --- a/win32/IS9xDisplayOutput.h +++ b/win32/IS9xDisplayOutput.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/IS9xSoundOutput.h b/win32/IS9xSoundOutput.h index b4ad2b94..7ac7c1bd 100644 --- a/win32/IS9xSoundOutput.h +++ b/win32/IS9xSoundOutput.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/InputCustom.cpp b/win32/InputCustom.cpp index 031bbdce..d86813ad 100644 --- a/win32/InputCustom.cpp +++ b/win32/InputCustom.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/InputCustom.h b/win32/InputCustom.h index 3698f3eb..d3ef0cd0 100644 --- a/win32/InputCustom.h +++ b/win32/InputCustom.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/cgFunctions.cpp b/win32/cgFunctions.cpp index 93bbb438..2c88931d 100644 --- a/win32/cgFunctions.cpp +++ b/win32/cgFunctions.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/cgFunctions.h b/win32/cgFunctions.h index 684e06cf..2d7ea3ac 100644 --- a/win32/cgFunctions.h +++ b/win32/cgFunctions.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/render.cpp b/win32/render.cpp index 57ab5530..f565de08 100644 --- a/win32/render.cpp +++ b/win32/render.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/render.h b/win32/render.h index 292562ef..dcfb0845 100644 --- a/win32/render.h +++ b/win32/render.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/wconfig.cpp b/win32/wconfig.cpp index a532e728..407e697f 100644 --- a/win32/wconfig.cpp +++ b/win32/wconfig.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/win32.cpp b/win32/win32.cpp index f444c56f..2db43056 100644 --- a/win32/win32.cpp +++ b/win32/win32.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/win32_display.cpp b/win32/win32_display.cpp index 8d166e90..5abecf61 100644 --- a/win32/win32_display.cpp +++ b/win32/win32_display.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/win32_display.h b/win32/win32_display.h index 1ee30fbb..639739b8 100644 --- a/win32/win32_display.h +++ b/win32/win32_display.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/win32_sound.cpp b/win32/win32_sound.cpp index 08e31ecb..7ef6acbc 100644 --- a/win32/win32_sound.cpp +++ b/win32/win32_sound.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/win32_sound.h b/win32/win32_sound.h index 0b991a84..7fe23d79 100644 --- a/win32/win32_sound.h +++ b/win32/win32_sound.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/wlanguage.h b/win32/wlanguage.h index f4b9d6cb..b840e6fb 100644 --- a/win32/wlanguage.h +++ b/win32/wlanguage.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in @@ -193,7 +194,7 @@ (c) Copyright 2001 - 2006 John Weidman\r\n\ (c) Copyright 2002 - 2010 Brad Jorsch, funkyass, Kris Bleakley, Nach, zones\r\n\ (c) Copyright 2006 - 2007 nitsuja\r\n\ - (c) Copyright 2009 - 2010 BearOso, OV2\r\n\r\n\ + (c) Copyright 2009 - 2011 BearOso, OV2\r\n\r\n\ Windows Port Authors: Matthew Kendora, funkyass, nitsuja, Nach, blip, OV2.\r\n\r\n\ Snes9X is a Super Nintendo Entertainment System\r\n\ emulator that allows you to play most games designed\r\n\ diff --git a/win32/wsnes9x.cpp b/win32/wsnes9x.cpp index 80a7003f..25e372a8 100644 --- a/win32/wsnes9x.cpp +++ b/win32/wsnes9x.cpp @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in diff --git a/win32/wsnes9x.h b/win32/wsnes9x.h index 19213774..e99aacb3 100644 --- a/win32/wsnes9x.h +++ b/win32/wsnes9x.h @@ -17,11 +17,12 @@ (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), Nach (n-a-c-h@users.sourceforge.net), - zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) (c) Copyright 2006 - 2007 nitsuja - (c) Copyright 2009 - 2010 BearOso, + (c) Copyright 2009 - 2011 BearOso, OV2 @@ -130,7 +131,7 @@ (c) Copyright 2006 - 2007 Shay Green GTK+ GUI code - (c) Copyright 2004 - 2010 BearOso + (c) Copyright 2004 - 2011 BearOso Win32 GUI code (c) Copyright 2003 - 2006 blip, @@ -138,11 +139,11 @@ Matthew Kendora, Nach, nitsuja - (c) Copyright 2009 - 2010 OV2 + (c) Copyright 2009 - 2011 OV2 Mac OS GUI code (c) Copyright 1998 - 2001 John Stiles - (c) Copyright 2001 - 2010 zones + (c) Copyright 2001 - 2011 zones Specific ports contains the works of other authors. See headers in From 9dc0ac6cd522771e41d7fddbe7c781a9a568c178 Mon Sep 17 00:00:00 2001 From: Brandon Wright Date: Tue, 12 Apr 2011 05:15:57 -0500 Subject: [PATCH 07/25] Fix overwritten LIBS variable. Add some libraries to it in case pkg-config doesn't include them with GTK+ for some reason. --- gtk/configure.ac | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gtk/configure.ac b/gtk/configure.ac index c03db53c..f946b695 100644 --- a/gtk/configure.ac +++ b/gtk/configure.ac @@ -146,6 +146,8 @@ else CFLAGS="$CFLAGS -fomit-frame-pointer" fi +LIBS="$LIBS -lX11 -ldl -lXext" + ZSNESFX='#ZSNESFX=yes' ZSNESC4='#ZSNESC4=yes' ASMCPU='' @@ -186,7 +188,7 @@ if test yes = "$with_opengl" ; then AC_CHECK_LIB(GL,glGetString,[ OPENGL=yes CFLAGS="$CFLAGS -DUSE_OPENGL" - LIBS="-lGL" + LIBS="$LIBS -lGL" ],[ OPENGL=0 ]) From ec534375e606bb7276c928411c376ef17ebabb67 Mon Sep 17 00:00:00 2001 From: Brandon Wright Date: Tue, 12 Apr 2011 06:06:25 -0500 Subject: [PATCH 08/25] Added GTK+ changes to changelog. --- docs/changes.txt | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/docs/changes.txt b/docs/changes.txt index d42e680a..4801dc65 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -27,7 +27,7 @@ Snes9x 1.53 - Removed remaining outdated asm code. (zones) - JMA 64 bit support. (kode54, Nach, friedrich.goepel) - GTK+, Win32, Mac: Added optional Hi-Res blending. (BearOso, OV2, zones) -- GTK+, Win32: Support for bSNES-style XML shaders. (BearOso, OV2) +- GTK+, Win32: Support for bsnes-style XML shaders. (BearOso, OV2) - Win32: Full unicode support. (OV2) - Win32: Restored OpenGL mode. (OV2) - Win32: x64 version. (OV2) @@ -53,6 +53,21 @@ Snes9x 1.53 - Mac : Fixed gliches in open/save dialogs on 10.6. (zones) - Mac : Fixed display configuration in windowed mode. (zones) - Unix : Fixed segfault and hang-up with -DNOSOUND. (zones) +- GTK+ : Added ability to set specific folders for SRAM, + patches, snapshots, etc. (BearOso) +- GTK+ : Fixed many permissions issues with config folders. (BearOso) +- GTK+ : Updated compatibility with latest GTK+ and + GtkBuilder. Added experimental support for GTK+ 3.x. (BearOso) +- GTK+ : Updated software output to use cairo and added the + ability to use bilinear-filtering with it. (BearOso) +- GTK+ : Fixed issues where cheats wouldn't stay enabled. (BearOso) +- GTK+ : Fixed focus issue when there is no window manager. (BearOso) +- GTK+ : Fixed X Visual incompatibilities and expose + problems in the Xv and OpenGL outputs. (BearOso) +- GTK+ : Fixed vsync with new X Server and NVIDIA drivers. (BearOso) +- GTK+ : Added "Reduce input lag" option to OpenGL output. (BearOso) +- GTK+ : Added a visual indication of the expected video + refresh rate for the currently selected sound input rate. (BearOso) Snes9x 1.52 - IMPORTANT NOTICE: The structure of savestates (also known From 1698a0ce33a2bf72061fb4998e58b9a9af979193 Mon Sep 17 00:00:00 2001 From: Serguey G Basalaev Date: Tue, 12 Apr 2011 23:49:11 +0700 Subject: [PATCH 09/25] Russian translation --- gtk/AUTHORS | 1 + gtk/po/LINGUAS | 1 + gtk/po/ru.po | 1666 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 1668 insertions(+) create mode 100644 gtk/po/ru.po diff --git a/gtk/AUTHORS b/gtk/AUTHORS index ec75270c..a8fb9566 100644 --- a/gtk/AUTHORS +++ b/gtk/AUTHORS @@ -4,4 +4,5 @@ Translators: Tukuyomi (fr_FR) Inukaze (es_VE) Tibério Vítor (pt_BR) +Sergey Basalaev (ru) Milan Kostić (sr@latin) diff --git a/gtk/po/LINGUAS b/gtk/po/LINGUAS index 08a368c2..6b8f52cf 100644 --- a/gtk/po/LINGUAS +++ b/gtk/po/LINGUAS @@ -3,4 +3,5 @@ es_VE fr_FR pt_BR +ru sr@latin diff --git a/gtk/po/ru.po b/gtk/po/ru.po new file mode 100644 index 00000000..a07f40dc --- /dev/null +++ b/gtk/po/ru.po @@ -0,0 +1,1666 @@ +# Перевод Snes9x на русский язык. +# Copyright (C) 2010 Brandon Wright +# This file is distributed under the same license as the snes9x package. +# Sergey Basalaev , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: snes9x 1.52\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-04-12 22:37+0700\n" +"PO-Revision-Date: 2011-04-12 22:54+0600\n" +"Last-Translator: Sergey Basalaev \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: src/snes9x.ui:7 +msgid "Snes9x" +msgstr "Snes9x" + +#: src/snes9x.ui:24 +msgid "_File" +msgstr "_Файл" + +#: src/snes9x.ui:30 +msgid "_Open ROM Image..." +msgstr "_Открыть образ ROM..." + +#: src/snes9x.ui:42 +msgid "Open Recent" +msgstr "Открыть недавние" + +#: src/snes9x.ui:53 +msgid "Open with _NetPlay..." +msgstr "Открыть с _NetPlay..." + +#: src/snes9x.ui:55 +msgid "Open a ROM to use with NetPlay" +msgstr "Открыть ROM, чтобы использовать с NetPlay" + +#: src/snes9x.ui:65 +msgid "Open _MultiCart..." +msgstr "Открыть _MultiCart..." + +#: src/snes9x.ui:78 +msgid "_Load State" +msgstr "_Загрузить состояние" + +#: src/snes9x.ui:86 +#: src/snes9x.ui:183 +msgid "Slot _0" +msgstr "Слот _0" + +#: src/snes9x.ui:94 +#: src/snes9x.ui:191 +msgid "Slot _1" +msgstr "Слот _1" + +#: src/snes9x.ui:102 +#: src/snes9x.ui:199 +msgid "Slot _2" +msgstr "Слот _2" + +#: src/snes9x.ui:110 +#: src/snes9x.ui:207 +msgid "Slot _3" +msgstr "Слот _3" + +#: src/snes9x.ui:118 +#: src/snes9x.ui:215 +msgid "Slot _4" +msgstr "Слот _4" + +#: src/snes9x.ui:126 +#: src/snes9x.ui:223 +msgid "Slot _5" +msgstr "Слот _5" + +#: src/snes9x.ui:134 +#: src/snes9x.ui:231 +msgid "Slot _6" +msgstr "Слот _6" + +#: src/snes9x.ui:142 +#: src/snes9x.ui:239 +msgid "Slot _7" +msgstr "Слот _7" + +#: src/snes9x.ui:150 +#: src/snes9x.ui:247 +msgid "Slot _8" +msgstr "Слот _8" + +#: src/snes9x.ui:163 +msgid "From _File..." +msgstr "Из _файла..." + +#: src/snes9x.ui:175 +msgid "_Save State" +msgstr "_Сохранить состояние" + +#: src/snes9x.ui:260 +msgid "To _File..." +msgstr "В _файл..." + +#: src/snes9x.ui:276 +msgid "Save SPC..." +msgstr "Сохранить SPC..." + +#: src/snes9x.ui:291 +msgid "Show ROM _Info..." +msgstr "_Информация о ROM..." + +#: src/snes9x.ui:306 +msgid "_Quit" +msgstr "В_ыход" + +#: src/snes9x.ui:321 +msgid "_Emulation" +msgstr "_Эмуляция" + +#: src/snes9x.ui:327 +msgid "Run / _Continue" +msgstr "_Старт / Продолжить" + +#: src/snes9x.ui:337 +msgid "_Pause" +msgstr "_Приостановить" + +#: src/snes9x.ui:353 +msgid "Load _Movie..." +msgstr "Загрузить _видео..." + +#: src/snes9x.ui:364 +msgid "R_ecord Movie..." +msgstr "_Запись видео..." + +#: src/snes9x.ui:375 +msgid "_Stop Recording" +msgstr "_Остановить запись" + +#: src/snes9x.ui:386 +msgid "_Jump to Frame..." +msgstr "Перейти на _кадр..." + +#: src/snes9x.ui:402 +msgid "Sy_nc Clients" +msgstr "Си_нхронизировать клиенты" + +#: src/snes9x.ui:417 +msgid "Reset" +msgstr "Питание" + +#: src/snes9x.ui:428 +msgid "Soft _Reset" +msgstr "С_брос" + +#: src/snes9x.ui:443 +msgid "_View" +msgstr "_Вид" + +#: src/snes9x.ui:450 +msgid "_Hide Menu" +msgstr "Скрыть _меню" + +#: src/snes9x.ui:461 +msgid "_Status Bar" +msgstr "_Строка состояния" + +#: src/snes9x.ui:473 +msgid "_Change Size" +msgstr "_Изменить размер" + +#: src/snes9x.ui:485 +msgid "Exact Pixels" +msgstr "Точные пикселы" + +#: src/snes9x.ui:492 +msgid "_1x" +msgstr "_1x" + +#: src/snes9x.ui:500 +msgid "_2x" +msgstr "_2x" + +#: src/snes9x.ui:508 +msgid "_3x" +msgstr "_3x" + +#: src/snes9x.ui:516 +msgid "_4x" +msgstr "_4x" + +#: src/snes9x.ui:524 +msgid "_5x" +msgstr "_5x" + +#: src/snes9x.ui:538 +msgid "Correct Aspect" +msgstr "Правильное соотношение" + +#: src/snes9x.ui:545 +msgid "1x" +msgstr "1x" + +#: src/snes9x.ui:553 +msgid "2x" +msgstr "2x" + +#: src/snes9x.ui:561 +msgid "3x" +msgstr "3x" + +#: src/snes9x.ui:569 +msgid "4x" +msgstr "4x" + +#: src/snes9x.ui:577 +msgid "5x" +msgstr "5x" + +#: src/snes9x.ui:593 +msgid "_Fullscreen" +msgstr "_Полный экран" + +#: src/snes9x.ui:608 +msgid "_Options" +msgstr "_Опции" + +#: src/snes9x.ui:615 +msgid "Controller Ports" +msgstr "Порты контроллера" + +#: src/snes9x.ui:622 +msgid "SNES Port 1" +msgstr "Порт SNES 1" + +#: src/snes9x.ui:630 +#: src/snes9x.ui:669 +msgid "Joypad" +msgstr "Джойстик" + +#: src/snes9x.ui:638 +#: src/snes9x.ui:677 +msgid "Mouse" +msgstr "Мышь" + +#: src/snes9x.ui:647 +#: src/snes9x.ui:695 +msgid "Superscope" +msgstr "Superscope" + +#: src/snes9x.ui:661 +msgid "SNES Port 2" +msgstr "Порт SNES 2" + +#: src/snes9x.ui:686 +msgid "Multitap" +msgstr "Multitap" + +#: src/snes9x.ui:719 +msgid "_Cheats..." +msgstr "_Читы..." + +#: src/snes9x.ui:732 +msgid "_Preferences..." +msgstr "_Настройки..." + +#: src/snes9x.ui:781 +msgid "Snes9x Preferences" +msgstr "Настройки Snes9x" + +#: src/snes9x.ui:838 +msgid "Use fullscreen on ROM open" +msgstr "Полный экран после открытия ROM" + +#: src/snes9x.ui:842 +msgid "Go to fullscreen mode immediately after opening a ROM" +msgstr "Переключаться на полный экран сразу после открытия ROM'а" + +#: src/snes9x.ui:854 +msgid "Show frame rate" +msgstr "Показывать частоту кадров" + +#: src/snes9x.ui:869 +msgid "Use overscanned height" +msgstr "Показывать расширенную высоту" + +#: src/snes9x.ui:873 +msgid "Use SNES extended height. Will probably cause letterboxing" +msgstr "Использовать расширенную высоту SNES. Может вызвать чёрные полосы сверху и снизу." + +#: src/snes9x.ui:889 +msgid "Change fullscreen resolution:" +msgstr "Разрешение полного экрана:" + +#: src/snes9x.ui:893 +msgid "Changes the screen resolution when running Snes9x in fullscreen mode" +msgstr "Изменяет разрешение экрана при переходе Snes9x в полноэкранный режим" + +#: src/snes9x.ui:932 +msgid "Basic Settings" +msgstr "Основные настройки" + +#: src/snes9x.ui:959 +msgid "Scale image to fit window" +msgstr "Растягивать изображение во всё окно" + +#: src/snes9x.ui:963 +msgid "Scales the image so no black bars are present" +msgstr "Растягивать изображение, чтобы не оставалось чёрных полос" + +#: src/snes9x.ui:979 +msgid "Maintain aspect-ratio:" +msgstr "Соотношение сторон:" + +#: src/snes9x.ui:983 +msgid "Scales the image as large as possible without distortion" +msgstr "Растягивает изображение насколько возможно без искажений" + +#: src/snes9x.ui:1020 +msgid "Use " +msgstr "Использовать " + +#: src/snes9x.ui:1024 +msgid "Allows scaling and filtering to use multiple processors" +msgstr "Позволяет процессам масштабирования и фильтрации использовать несколько процессоров" + +#: src/snes9x.ui:1050 +msgid "threads for filtering and scaling" +msgstr "потоков для фильтрации и масштабирования" + +#: src/snes9x.ui:1069 +msgid "High-resolution effect:" +msgstr "Эффект высокого разрешения:" + +#: src/snes9x.ui:1105 +msgid "Apply scaling filter:" +msgstr "Применять фильтр масштабирования:" + +#: src/snes9x.ui:1143 +msgid "Image Adjustments" +msgstr "Регулировка изображения" + +#: src/snes9x.ui:1179 +msgid "Video preset:" +msgstr "Предустановка видео:" + +#: src/snes9x.ui:1191 +msgid "Composite" +msgstr "Композитная" + +#: src/snes9x.ui:1204 +msgid "S-Video" +msgstr "S-Video" + +#: src/snes9x.ui:1217 +msgid "RGB" +msgstr "RGB" + +#: src/snes9x.ui:1230 +msgid "Monochrome" +msgstr "Монохромная" + +#: src/snes9x.ui:1265 +msgid "Artifacts:" +msgstr "Помехи:" + +#: src/snes9x.ui:1278 +msgid "Sharpness:" +msgstr "Резкость:" + +#: src/snes9x.ui:1291 +msgid "Brightness:" +msgstr "Яркость:" + +#: src/snes9x.ui:1304 +msgid "Contrast:" +msgstr "Контраст:" + +#: src/snes9x.ui:1317 +msgid "Saturation:" +msgstr "Насыщенность:" + +#: src/snes9x.ui:1330 +msgid "Hue:" +msgstr "Тон:" + +#: src/snes9x.ui:1519 +msgid "Gamma:" +msgstr "Гамма:" + +#: src/snes9x.ui:1532 +msgid "Fringing:" +msgstr "Окантовка:" + +#: src/snes9x.ui:1545 +msgid "Bleed:" +msgstr "Края:" + +#: src/snes9x.ui:1558 +msgid "Resolution:" +msgstr "Разрешение:" + +#: src/snes9x.ui:1583 +msgid "Merge odd and even fields" +msgstr "Совместить чётные и нечётные поля" + +#: src/snes9x.ui:1601 +#: src/snes9x.ui:1665 +msgid "Scanline intensity:" +msgstr "Плотность сканлиний:" + +#: src/snes9x.ui:1636 +msgid "NTSC Filter" +msgstr "Фильтр NTSC" + +#: src/snes9x.ui:1695 +msgid "Scanline Filter" +msgstr "Фильтр сканлиний" + +#: src/snes9x.ui:1740 +msgid "Bilinear-filter output" +msgstr "Билинейная фильтрация вывода" + +#: src/snes9x.ui:1758 +msgid "Sync to vertical blank" +msgstr "Синхронизировать с VBlank" + +#: src/snes9x.ui:1762 +msgid "Sync the image to the vertical retrace to stop tearing" +msgstr "Синхронизировать изображение с обратным ходом вертикальной развёртки, чтобы изображение не рвалось" + +#: src/snes9x.ui:1774 +msgid "Reduce input lag" +msgstr "Уменьшить лаг ввода" + +#: src/snes9x.ui:1778 +msgid "Sync the program with the video output after every displayed frame to reduce input latency" +msgstr "Синхронизировать программу с выводом видео после каждого кадра для уменьшения задержки ввода" + +#: src/snes9x.ui:1787 +msgid "Allow non-power-of-two textures" +msgstr "Позволить текстуры не-степени-двойки" + +#: src/snes9x.ui:1791 +msgid "Prevents edge artifacts, but can slow performance" +msgstr "Предотвращает помехи по краям, но может снизить производительность" + +#: src/snes9x.ui:1800 +msgid "Use pixel-buffer objects" +msgstr "Использовать объекты буферов пикселей" + +#: src/snes9x.ui:1805 +msgid "Can be faster or slower depending on drivers" +msgstr "Может быть быстрее или медленнее в зависимости от драйверов" + +#: src/snes9x.ui:1821 +msgid "Different formats can yield highly different performance" +msgstr "Разные форматы могут дать очень разную производительность" + +#: src/snes9x.ui:1827 +msgid "Pixel-buffer format:" +msgstr "Формат буфера пикселей:" + +#: src/snes9x.ui:1864 +msgid "Use GLSL shader:" +msgstr "Использовать шейдер GLSL:" + +#: src/snes9x.ui:1889 +#: src/snes9x.ui:2679 +#: src/snes9x.ui:2694 +#: src/snes9x.ui:2711 +#: src/snes9x.ui:2728 +#: src/snes9x.ui:2745 +#: src/snes9x.ui:6552 +msgid "Browse..." +msgstr "Обзор..." + +#: src/snes9x.ui:1915 +msgid "Force an inverted byte-ordering" +msgstr "Требовать обратный порядок байтов" + +#: src/snes9x.ui:1919 +msgid "Forces a swapped byte-ordering for cases where the system's endian is used instead of the video card" +msgstr "Устанавливает обратный порядок байтов в случае, когда используется порядок байтов системы, а не видеокарты" + +#: src/snes9x.ui:1938 +msgid "Hardware Acceleration" +msgstr "Аппаратное ускорение" + +#: src/snes9x.ui:1969 +msgid "Display" +msgstr "Видео" + +#: src/snes9x.ui:2016 +msgid "Sound driver:" +msgstr "Звуковой драйвер:" + +#: src/snes9x.ui:2050 +msgid "Synchronize with sound" +msgstr "Синхронизировать со звуком" + +#: src/snes9x.ui:2054 +msgid "Base emulation speed on the rate sound is output" +msgstr "Корректировать скорость эмуляции по частоте звука" + +#: src/snes9x.ui:2065 +msgid "Mute sound output" +msgstr "Отключить звук" + +#: src/snes9x.ui:2069 +msgid "Disables output of sound" +msgstr "Запрещает вывод звука" + +#: src/snes9x.ui:2081 +msgid "Stereo" +msgstr "Стерео" + +#: src/snes9x.ui:2085 +msgid "Output two channels, left and right" +msgstr "Вывод на два канала, левый и правый" + +#: src/snes9x.ui:2106 +msgid "Playback rate:" +msgstr "Частота воспроизведения:" + +#: src/snes9x.ui:2133 +msgid "milliseconds" +msgstr "миллисекунд" + +#: src/snes9x.ui:2154 +msgid "Buffer size:" +msgstr "Размер буфера:" + +#: src/snes9x.ui:2167 +msgid "Input rate:" +msgstr "Частота входа:" + +#: src/snes9x.ui:2179 +msgid "Adjust to produce more or less data. Decrease the rate if experiencing crackling. Increase the rate if experiencing frame-rate stuttering. Best used with the \"Synchronize with sound\" option" +msgstr "Измените для увеличения или уменьшения потока данных. Уменьшите частоту, если наблюдается треск. Увеличьте частоту, если наблюдается заикание. Лучше всего использовать с опцией «Синхронизировать со звуком»" + +#: src/snes9x.ui:2223 +msgid "Video rate:" +msgstr "Частота видео:" + +#: src/snes9x.ui:2234 +msgid "label" +msgstr "label" + +#: src/snes9x.ui:2256 +msgid "Sound Settings" +msgstr "Настройки звука" + +#: src/snes9x.ui:2284 +#: src/snes9x.ui:5553 +msgid "Sound" +msgstr "Звук" + +#: src/snes9x.ui:2335 +msgid "Frameskip:" +msgstr "Пропуск кадров:" + +#: src/snes9x.ui:2368 +msgid "Block invalid VRAM access" +msgstr "Блокировать некорректный доступ к VRAM" + +#: src/snes9x.ui:2380 +msgid "Allow opposing dpad directions" +msgstr "Разрешать противоположные направления" + +#: src/snes9x.ui:2384 +msgid "Let left and right or up and down be pressed at the same time" +msgstr "Позволять влево и вправо или вверх и вниз быть нажатыми одновременно" + +#: src/snes9x.ui:2398 +msgid "Accuracy" +msgstr "Точность" + +#: src/snes9x.ui:2425 +msgid "Pause emulation when switching away from Snes9x" +msgstr "Приостанавливать эмуляцию при переключении на другое окно" + +#: src/snes9x.ui:2442 +msgid "The ESC key should:" +msgstr "Клавиша ESC должна:" + +#: src/snes9x.ui:2477 +msgid "Window Switching" +msgstr "Смена окон" + +#: src/snes9x.ui:2503 +msgid "Prevent the screensaver from activating" +msgstr "Предотвращать запуск хранителя экрана" + +#: src/snes9x.ui:2520 +msgid "Screensaver" +msgstr "Хранитель экрана" + +#: src/snes9x.ui:2554 +#: src/snes9x.ui:4439 +msgid "Emulation" +msgstr "Эмуляция" + +#: src/snes9x.ui:2764 +msgid "SRAM:" +msgstr "SRAM:" + +#: src/snes9x.ui:2774 +msgid "Save states:" +msgstr "Состояния:" + +#: src/snes9x.ui:2786 +msgid "Cheats:" +msgstr "Читы:" + +#: src/snes9x.ui:2798 +msgid "Patches:" +msgstr "Патчи:" + +#: src/snes9x.ui:2810 +msgid "Exports:" +msgstr "Экспорты:" + +#: src/snes9x.ui:2831 +msgid "Game Data Locations" +msgstr "данных игры" + +#: src/snes9x.ui:2858 +msgid "Save SRAM:" +msgstr "Сохранять SRAM:" + +#: src/snes9x.ui:2869 +msgid "Automatically save the game's SRAM at this interval. Setting this to 0 will only save when quitting or changing ROMs" +msgstr "Автоматически сохранять память игры через указанный интервал времени. Когда установлено в 0, сохранение будет производиться при выходе или смене ROM'а" + +#: src/snes9x.ui:2882 +msgid "seconds after change" +msgstr "секунд после изменения" + +#: src/snes9x.ui:2896 +msgid "Automatic Saving" +msgstr "Автоматическое сохранение" + +#: src/snes9x.ui:2926 +msgid "Files" +msgstr "Файлы" + +#: src/snes9x.ui:2954 +msgid "Joypad:" +msgstr "Джойстик:" + +#: src/snes9x.ui:2991 +msgid "_Reset" +msgstr "_Сбросить" + +#: src/snes9x.ui:3016 +msgid "Swap with:" +msgstr "Поменять с:" + +#: src/snes9x.ui:3041 +msgid "_Swap" +msgstr "_Поменять" + +#: src/snes9x.ui:3061 +msgid "Use modifier keys (CTRL, SHIFT, ALT) directly" +msgstr "Использовать клавиши-модификаторы (CTRL, SHIFT, ALT) напрямую" + +#: src/snes9x.ui:3065 +msgid "Allow using modifier keys as independent keys instead of modifiers" +msgstr "Позволить использование клавиш-модификаторов, как независимых клавиш" + +#: src/snes9x.ui:3096 +msgid "Up" +msgstr "Вверх" + +#: src/snes9x.ui:3107 +msgid "Down" +msgstr "Вниз" + +#: src/snes9x.ui:3120 +msgid "Left" +msgstr "Налево" + +#: src/snes9x.ui:3133 +msgid "Right" +msgstr "Направо" + +#: src/snes9x.ui:3146 +msgid "Start" +msgstr "Start" + +#: src/snes9x.ui:3159 +msgid "Select" +msgstr "Select" + +#: src/snes9x.ui:3272 +#: src/snes9x.ui:3467 +#: src/snes9x.ui:3648 +msgid "A" +msgstr "A" + +#: src/snes9x.ui:3283 +#: src/snes9x.ui:3478 +#: src/snes9x.ui:3659 +msgid "B" +msgstr "B" + +#: src/snes9x.ui:3296 +#: src/snes9x.ui:3491 +#: src/snes9x.ui:3672 +msgid "X" +msgstr "X" + +#: src/snes9x.ui:3309 +#: src/snes9x.ui:3504 +#: src/snes9x.ui:3685 +msgid "Y" +msgstr "Y" + +#: src/snes9x.ui:3322 +#: src/snes9x.ui:3517 +#: src/snes9x.ui:3698 +msgid "L" +msgstr "L" + +#: src/snes9x.ui:3335 +#: src/snes9x.ui:3530 +#: src/snes9x.ui:3711 +msgid "R" +msgstr "R" + +#: src/snes9x.ui:3442 +msgid "Buttons" +msgstr "Кнопки" + +#: src/snes9x.ui:3819 +msgid "Sticky" +msgstr "Залипающие" + +#: src/snes9x.ui:3834 +msgid "Turbo" +msgstr "Турбо" + +#: src/snes9x.ui:3852 +msgid "Turbo / Sticky Buttons" +msgstr "Турбо и залипающие кнопки" + +#: src/snes9x.ui:3884 +msgid "Set new axis bindings at:" +msgstr "Установить новый привязки осей на:" + +#: src/snes9x.ui:3896 +msgid "Changes the amount a joystick should be tilted to register a button press" +msgstr "Изменяет величину отклонения джойстика, чтобы зафиксировать нажатие кнопки" + +#: src/snes9x.ui:3910 +msgid "percent" +msgstr "процентах" + +#: src/snes9x.ui:3926 +msgid "Joystick Axis Threshold" +msgstr "Порог осей джойстика" + +#: src/snes9x.ui:3958 +msgid "Center all axes on all joysticks and press Calibrate." +msgstr "Установите все оси на всех джойстиках по центру и нажмите Калибровать." + +#: src/snes9x.ui:3972 +msgid "Cali_brate" +msgstr "Кали_бровать" + +#: src/snes9x.ui:4004 +msgid "Calibration" +msgstr "Калибровка" + +#: src/snes9x.ui:4022 +msgid "Joystick Options" +msgstr "Настройки джойстика" + +#: src/snes9x.ui:4037 +#: src/snes9x.ui:5755 +msgid "" +"Click an entry and then press the desired keys or joystick button\n" +"Escape: Move to next Shift-Escape: Clear selected" +msgstr "" +"Щёлкните в поле и нажмите желаемые клавиши на клавиатуре или джойстике\n" +"Escape: Перейти к следующему Shift-Escape: Очистить выбранное" + +#: src/snes9x.ui:4068 +msgid "Joypads" +msgstr "Джойстики" + +#: src/snes9x.ui:4093 +msgid "Snes9x Emulator Shortcut Keys" +msgstr "Привязки клавиш эмулятора Snes9x" + +#: src/snes9x.ui:4140 +msgid "Soft reset" +msgstr "Сброс" + +#: src/snes9x.ui:4153 +msgid "Hardware reset" +msgstr "Питание" + +#: src/snes9x.ui:4166 +msgid "Increase frame time" +msgstr "Увеличить время кадра" + +#: src/snes9x.ui:4179 +msgid "Decrease frame time" +msgstr "Уменьшить время кадра" + +#: src/snes9x.ui:4192 +msgid "Increase frame rate" +msgstr "Увеличить частоту кадров" + +#: src/snes9x.ui:4205 +msgid "Decrease frame rate" +msgstr "Уменьшить частоту кадров" + +#: src/snes9x.ui:4218 +msgid "Pause" +msgstr "Приостановить" + +#: src/snes9x.ui:4231 +msgid "Toggle turbo" +msgstr "Переключить турбо" + +#: src/snes9x.ui:4244 +msgid "Enable turbo" +msgstr "Включить турбо" + +#: src/snes9x.ui:4258 +msgid "Open ROM" +msgstr "Открыть ROM" + +#: src/snes9x.ui:4269 +msgid "Quit Snes9x" +msgstr "Выйти из Snes9x" + +#: src/snes9x.ui:4468 +msgid "Toggle BG layer 0" +msgstr "Переключить задний слой 1" + +#: src/snes9x.ui:4479 +msgid "Toggle BG layer 1" +msgstr "Переключить задний слой 1" + +#: src/snes9x.ui:4492 +msgid "Toggle BG layer 2" +msgstr "Переключить задний слой 2" + +#: src/snes9x.ui:4505 +msgid "Toggle BG layer 3" +msgstr "Переключить задний слой 3" + +#: src/snes9x.ui:4518 +msgid "Toggle sprites" +msgstr "Переключить спрайты" + +#: src/snes9x.ui:4531 +msgid "BG layering hack" +msgstr "Хак слоёв заднего фона" + +#: src/snes9x.ui:4544 +msgid "Screenshot" +msgstr "Снимок экрана" + +#: src/snes9x.ui:4557 +msgid "Toggle fullscreen" +msgstr "Переключить полный экран" + +#: src/snes9x.ui:4688 +msgid "Graphics" +msgstr "Графика" + +#: src/snes9x.ui:4718 +msgid "Quick save state" +msgstr "Быстрое сохранение" + +#: src/snes9x.ui:4732 +msgid "Quick load state" +msgstr "Быстрая загрузка" + +#: src/snes9x.ui:4746 +#: src/snes9x.ui:4865 +msgid "Slot 1" +msgstr "Слот 1" + +#: src/snes9x.ui:4759 +#: src/snes9x.ui:4850 +msgid "Slot 0" +msgstr "Слот 0" + +#: src/snes9x.ui:4772 +#: src/snes9x.ui:4880 +msgid "Slot 2" +msgstr "Слот 2" + +#: src/snes9x.ui:4785 +#: src/snes9x.ui:4895 +msgid "Slot 3" +msgstr "Слот 3" + +#: src/snes9x.ui:4798 +#: src/snes9x.ui:4910 +msgid "Slot 4" +msgstr "Слот 4" + +#: src/snes9x.ui:4811 +#: src/snes9x.ui:4925 +msgid "Slot 5" +msgstr "Слот 5" + +#: src/snes9x.ui:4824 +#: src/snes9x.ui:4940 +msgid "Slot 6" +msgstr "Слот 6" + +#: src/snes9x.ui:4837 +#: src/snes9x.ui:4955 +msgid "Slot 7" +msgstr "Слот 7" + +#: src/snes9x.ui:4970 +#: src/snes9x.ui:4985 +msgid "Slot 8" +msgstr "Слот 8" + +#: src/snes9x.ui:5276 +msgid "Save States" +msgstr "Состояния" + +#: src/snes9x.ui:5306 +msgid "Toggle sound channel 0" +msgstr "Переключить звуковой канал 0" + +#: src/snes9x.ui:5317 +msgid "Toggle sound channel 1" +msgstr "Переключить звуковой канал 1" + +#: src/snes9x.ui:5330 +msgid "Toggle sound channel 2" +msgstr "Переключить звуковой канал 2" + +#: src/snes9x.ui:5343 +msgid "Toggle sound channel 3" +msgstr "Переключить звуковой канал 3" + +#: src/snes9x.ui:5356 +msgid "Toggle sound channel 4" +msgstr "Переключить звуковой канал 4" + +#: src/snes9x.ui:5369 +msgid "Toggle sound channel 5" +msgstr "Переключить звуковой канал 5" + +#: src/snes9x.ui:5382 +msgid "Toggle sound channel 6" +msgstr "Переключить звуковой канал 6" + +#: src/snes9x.ui:5395 +msgid "Toggle sound channel 7" +msgstr "Переключить звуковой канал 7" + +#: src/snes9x.ui:5408 +msgid "Toggle all sound channels" +msgstr "Переключить все звуковые каналы" + +#: src/snes9x.ui:5574 +msgid "Seek to frame" +msgstr "Перейти на фрейм" + +#: src/snes9x.ui:5588 +msgid "Load Movie" +msgstr "Загрузить видео" + +#: src/snes9x.ui:5602 +msgid "Stop movie recording" +msgstr "Остановить запись видео" + +#: src/snes9x.ui:5616 +msgid "Begin movie recording" +msgstr "Начать запись видео" + +#: src/snes9x.ui:5630 +msgid "Save SPC" +msgstr "Сохранить SPC" + +#: src/snes9x.ui:5709 +msgid "Swap controllers 1 & 2" +msgstr "Поменять местами контроллеры 1 и 2" + +#: src/snes9x.ui:5740 +msgid "Misc" +msgstr "Ещё" + +#: src/snes9x.ui:5787 +msgid "Shortcuts" +msgstr "Клавиши" + +#: src/snes9x.ui:5894 +msgid "Advance to Frame" +msgstr "Перейти на кадр" + +#: src/snes9x.ui:5914 +msgid "The current frame in the movie is" +msgstr "Текущий кадр видео" + +#: src/snes9x.ui:5931 +msgid "Fast-forward to frame" +msgstr "Перемотать на кадр" + +#: src/snes9x.ui:6348 +msgid "Snes9x Cheats" +msgstr "Читы Snes9x" + +#: src/snes9x.ui:6389 +msgid "Code:" +msgstr "Код:" + +#: src/snes9x.ui:6413 +msgid "Description:" +msgstr "Описание:" + +#: src/snes9x.ui:6513 +msgid "Snes9x NetPlay" +msgstr "Snes9x NetPlay" + +#: src/snes9x.ui:6543 +msgid "The game chosen will be loaded before connecting. This field can be blank if the server will send the ROM image" +msgstr "Выбранная игра будет загружена перед соединением. Это поле может быть пустым, если сервер посылает образ ROM" + +#: src/snes9x.ui:6572 +msgid "Clear entry" +msgstr "Очистить запись" + +#: src/snes9x.ui:6590 +msgid "ROM Image" +msgstr "Образ ROM" + +#: src/snes9x.ui:6615 +msgid "Connect to another computer" +msgstr "Соединиться с другим копьютером" + +#: src/snes9x.ui:6619 +msgid "Connect to another computer that is running Snes9x NetPlay as a server" +msgstr "Соединиться с другим компьютером, на котором запущен сервер Snes9x NetPlay" + +#: src/snes9x.ui:6635 +msgid "Name or IP address:" +msgstr "Имя или адрес IP:" + +#: src/snes9x.ui:6646 +msgid "Domain name or internet protocol address of a remote computer" +msgstr "Доменное имя или адрес IP удалённого компьютера" + +#: src/snes9x.ui:6655 +msgid "Port:" +msgstr "Порт:" + +#: src/snes9x.ui:6666 +msgid "Connect to specified TCP port on remote computer" +msgstr "Соединиться с указанным портом TCP на удалённом компьютере" + +#: src/snes9x.ui:6683 +msgid "Act as a server" +msgstr "Быть сервером" + +#: src/snes9x.ui:6687 +msgid "Host a game on this computer as Player 1, requiring extra throughput to support multitple users" +msgstr "Запускать игру на этом компьютере как Игрок 1, требует дополнительной настройки для поддержки нескольких пользователей" + +#: src/snes9x.ui:6704 +msgid "Server" +msgstr "Сервер" + +#: src/snes9x.ui:6730 +msgid "Sync using reset" +msgstr "Синхронизировать через сброс" + +#: src/snes9x.ui:6734 +msgid "Reset the game when players join instead of transferring potentially unreliable freeze states" +msgstr "Сбрасывать игру, когда игроки присоединяются вместо того, чтобы отсылать потенциально ненадёжные состояния" + +#: src/snes9x.ui:6744 +msgid "Send ROM image to clients" +msgstr "Посылать образы ROM клиентам" + +#: src/snes9x.ui:6748 +msgid "Send the running game image to players instead of requiring them to have their own copies" +msgstr "Посылать образы игры игрокам, вместо того чтобы требовать от них иметь собственные копии" + +#: src/snes9x.ui:6763 +msgid "Default port:" +msgstr "Порт по умолчанию:" + +#: src/snes9x.ui:6774 +msgid "TCP port used as a connection point for remote clients" +msgstr "Порт TCP, используемый для соединения с удалёнными клиентами" + +#: src/snes9x.ui:6797 +msgid "Ask server to pause when" +msgstr "Просить сервер приостановиться при отставании на" + +#: src/snes9x.ui:6820 +msgid "frames behind" +msgstr "фреймов" + +#: src/snes9x.ui:6840 +msgid "Settings" +msgstr "Настройки" + +#: src/snes9x.ui:6903 +msgid "Open Multiple ROM Images (MultiCart)" +msgstr "Открыть несколько образов ROM (MultiCart)" + +#: src/snes9x.ui:6921 +msgid "Slot A:" +msgstr "Слот A:" + +#: src/snes9x.ui:6931 +msgid "Select an Image for Slot A" +msgstr "Выберите образ для слота A" + +#: src/snes9x.ui:6950 +msgid "Slot B:" +msgstr "Слот B:" + +#: src/snes9x.ui:6960 +msgid "Select an Image for Slot B" +msgstr "Выберите образ для слота B" + +#: src/snes9x.ui:7224 +msgid "" +" Snes9x - Portable Super Nintendo Entertainment System (TM) emulator.\n" +"\n" +" (c) Copyright 1996 - 2002 Gary Henderson (gary.henderson@ntlworld.com),\n" +" Jerremy Koot (jkoot@snes9x.com)\n" +"\n" +" (c) Copyright 2002 - 2004 Matthew Kendora\n" +"\n" +" (c) Copyright 2002 - 2005 Peter Bortas (peter@bortas.org)\n" +"\n" +" (c) Copyright 2004 - 2005 Joel Yliluoma (http://iki.fi/bisqwit/)\n" +"\n" +" (c) Copyright 2001 - 2006 John Weidman (jweidman@slip.net)\n" +"\n" +" (c) Copyright 2002 - 2006 funkyass (funkyass@spam.shaw.ca),\n" +" Kris Bleakley (codeviolation@hotmail.com)\n" +"\n" +" (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net),\n" +" Nach (n-a-c-h@users.sourceforge.net),\n" +"\n" +" (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com)\n" +"\n" +" (c) Copyright 2006 - 2007 nitsuja\n" +"\n" +" (c) Copyright 2009 - 2011 BearOso,\n" +" OV2\n" +"\n" +"\n" +" BS-X C emulator code\n" +" (c) Copyright 2005 - 2006 Dreamer Nom,\n" +" zones\n" +"\n" +" C4 x86 assembler and some C emulation code\n" +" (c) Copyright 2000 - 2003 _Demo_ (_demo_@zsnes.com),\n" +" Nach,\n" +" zsKnight (zsknight@zsnes.com)\n" +"\n" +" C4 C++ code\n" +" (c) Copyright 2003 - 2006 Brad Jorsch,\n" +" Nach\n" +"\n" +" DSP-1 emulator code\n" +" (c) Copyright 1998 - 2006 _Demo_,\n" +" Andreas Naive (andreasnaive@gmail.com),\n" +" Gary Henderson,\n" +" Ivar (ivar@snes9x.com),\n" +" John Weidman,\n" +" Kris Bleakley,\n" +" Matthew Kendora,\n" +" Nach,\n" +" neviksti (neviksti@hotmail.com)\n" +"\n" +" DSP-2 emulator code\n" +" (c) Copyright 2003 John Weidman,\n" +" Kris Bleakley,\n" +" Lord Nightmare (lord_nightmare@users.sourceforge.net),\n" +" Matthew Kendora,\n" +" neviksti\n" +"\n" +" DSP-3 emulator code\n" +" (c) Copyright 2003 - 2006 John Weidman,\n" +" Kris Bleakley,\n" +" Lancer,\n" +" z80 gaiden\n" +"\n" +" DSP-4 emulator code\n" +" (c) Copyright 2004 - 2006 Dreamer Nom,\n" +" John Weidman,\n" +" Kris Bleakley,\n" +" Nach,\n" +" z80 gaiden\n" +"\n" +" OBC1 emulator code\n" +" (c) Copyright 2001 - 2004 zsKnight,\n" +" pagefault (pagefault@zsnes.com),\n" +" Kris Bleakley\n" +" Ported from x86 assembler to C by sanmaiwashi\n" +"\n" +" SPC7110 and RTC C++ emulator code used in 1.39-1.51\n" +" (c) Copyright 2002 Matthew Kendora with research by\n" +" zsKnight,\n" +" John Weidman,\n" +" Dark Force\n" +"\n" +" SPC7110 and RTC C++ emulator code used in 1.52+\n" +" (c) Copyright 2009 byuu,\n" +" neviksti\n" +"\n" +" S-DD1 C emulator code\n" +" (c) Copyright 2003 Brad Jorsch with research by\n" +" Andreas Naive,\n" +" John Weidman\n" +"\n" +" S-RTC C emulator code\n" +" (c) Copyright 2001 - 2006 byuu,\n" +" John Weidman\n" +"\n" +" ST010 C++ emulator code\n" +" (c) Copyright 2003 Feather,\n" +" John Weidman,\n" +" Kris Bleakley,\n" +" Matthew Kendora\n" +"\n" +" Super FX x86 assembler emulator code\n" +" (c) Copyright 1998 - 2003 _Demo_,\n" +" pagefault,\n" +" zsKnight\n" +"\n" +" Super FX C emulator code\n" +" (c) Copyright 1997 - 1999 Ivar,\n" +" Gary Henderson,\n" +" John Weidman\n" +"\n" +" Sound emulator code used in 1.5-1.51\n" +" (c) Copyright 1998 - 2003 Brad Martin\n" +" (c) Copyright 1998 - 2006 Charles Bilyue'\n" +"\n" +" Sound emulator code used in 1.52+\n" +" (c) Copyright 2004 - 2007 Shay Green (gblargg@gmail.com)\n" +"\n" +" SH assembler code partly based on x86 assembler code\n" +" (c) Copyright 2002 - 2004 Marcus Comstedt (marcus@mc.pp.se)\n" +"\n" +" 2xSaI filter\n" +" (c) Copyright 1999 - 2001 Derek Liauw Kie Fa\n" +"\n" +" HQ2x, HQ3x, HQ4x filters\n" +" (c) Copyright 2003 Maxim Stepin (maxim@hiend3d.com)\n" +"\n" +" NTSC filter\n" +" (c) Copyright 2006 - 2007 Shay Green\n" +"\n" +" GTK+ GUI code\n" +" (c) Copyright 2004 - 2011 BearOso\n" +"\n" +" Win32 GUI code\n" +" (c) Copyright 2003 - 2006 blip,\n" +" funkyass,\n" +" Matthew Kendora,\n" +" Nach,\n" +" nitsuja\n" +" (c) Copyright 2009 - 2011 OV2\n" +"\n" +" Mac OS GUI code\n" +" (c) Copyright 1998 - 2001 John Stiles\n" +" (c) Copyright 2001 - 2011 zones\n" +"\n" +"\n" +" Specific ports contains the works of other authors. See headers in\n" +" individual files.\n" +"\n" +"\n" +" Snes9x homepage: http://www.snes9x.com/\n" +"\n" +" Permission to use, copy, modify and/or distribute Snes9x in both binary\n" +" and source form, for non-commercial purposes, is hereby granted without\n" +" fee, providing that this license information and copyright notice appear\n" +" with all copies and any derived work.\n" +"\n" +" This software is provided 'as-is', without any express or implied\n" +" warranty. In no event shall the authors be held liable for any damages\n" +" arising from the use of this software or it's derivatives.\n" +"\n" +" Snes9x is freeware for PERSONAL USE only. Commercial users should\n" +" seek permission of the copyright holders first. Commercial use includes,\n" +" but is not limited to, charging money for Snes9x or software derived from\n" +" Snes9x, including Snes9x or derivatives in commercial game bundles, and/or\n" +" using Snes9x as a promotion for your commercial product.\n" +"\n" +" The copyright holders request that bug fixes and improvements to the code\n" +" should be forwarded to them so everyone can benefit from the modifications\n" +" in future versions.\n" +"\n" +" Super NES and Super Nintendo Entertainment System are trademarks of\n" +" Nintendo Co., Limited and its subsidiary companies." +msgstr "" +" Snes9x - Портативный эмулятор Super Nintendo Entertainment System (TM).\n" +"\n" +" (c) Copyright 1996 - 2002 Gary Henderson (gary.henderson@ntlworld.com),\n" +" Jerremy Koot (jkoot@snes9x.com)\n" +"\n" +" (c) Copyright 2002 - 2004 Matthew Kendora\n" +"\n" +" (c) Copyright 2002 - 2005 Peter Bortas (peter@bortas.org)\n" +"\n" +" (c) Copyright 2004 - 2005 Joel Yliluoma (http://iki.fi/bisqwit/)\n" +"\n" +" (c) Copyright 2001 - 2006 John Weidman (jweidman@slip.net)\n" +"\n" +" (c) Copyright 2002 - 2006 funkyass (funkyass@spam.shaw.ca),\n" +" Kris Bleakley (codeviolation@hotmail.com)\n" +"\n" +" (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net),\n" +" Nach (n-a-c-h@users.sourceforge.net),\n" +"\n" +" (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com)\n" +"\n" +" (c) Copyright 2006 - 2007 nitsuja\n" +"\n" +" (c) Copyright 2009 - 2011 BearOso,\n" +" OV2\n" +"\n" +"\n" +" BS-X C emulator code\n" +" (c) Copyright 2005 - 2006 Dreamer Nom,\n" +" zones\n" +"\n" +" C4 x86 assembler and some C emulation code\n" +" (c) Copyright 2000 - 2003 _Demo_ (_demo_@zsnes.com),\n" +" Nach,\n" +" zsKnight (zsknight@zsnes.com)\n" +"\n" +" C4 C++ code\n" +" (c) Copyright 2003 - 2006 Brad Jorsch,\n" +" Nach\n" +"\n" +" DSP-1 emulator code\n" +" (c) Copyright 1998 - 2006 _Demo_,\n" +" Andreas Naive (andreasnaive@gmail.com),\n" +" Gary Henderson,\n" +" Ivar (ivar@snes9x.com),\n" +" John Weidman,\n" +" Kris Bleakley,\n" +" Matthew Kendora,\n" +" Nach,\n" +" neviksti (neviksti@hotmail.com)\n" +"\n" +" DSP-2 emulator code\n" +" (c) Copyright 2003 John Weidman,\n" +" Kris Bleakley,\n" +" Lord Nightmare (lord_nightmare@users.sourceforge.net),\n" +" Matthew Kendora,\n" +" neviksti\n" +"\n" +" DSP-3 emulator code\n" +" (c) Copyright 2003 - 2006 John Weidman,\n" +" Kris Bleakley,\n" +" Lancer,\n" +" z80 gaiden\n" +"\n" +" DSP-4 emulator code\n" +" (c) Copyright 2004 - 2006 Dreamer Nom,\n" +" John Weidman,\n" +" Kris Bleakley,\n" +" Nach,\n" +" z80 gaiden\n" +"\n" +" OBC1 emulator code\n" +" (c) Copyright 2001 - 2004 zsKnight,\n" +" pagefault (pagefault@zsnes.com),\n" +" Kris Bleakley\n" +" Ported from x86 assembler to C by sanmaiwashi\n" +"\n" +" SPC7110 and RTC C++ emulator code used in 1.39-1.51\n" +" (c) Copyright 2002 Matthew Kendora with research by\n" +" zsKnight,\n" +" John Weidman,\n" +" Dark Force\n" +"\n" +" SPC7110 and RTC C++ emulator code used in 1.52+\n" +" (c) Copyright 2009 byuu,\n" +" neviksti\n" +"\n" +" S-DD1 C emulator code\n" +" (c) Copyright 2003 Brad Jorsch with research by\n" +" Andreas Naive,\n" +" John Weidman\n" +"\n" +" S-RTC C emulator code\n" +" (c) Copyright 2001 - 2006 byuu,\n" +" John Weidman\n" +"\n" +" ST010 C++ emulator code\n" +" (c) Copyright 2003 Feather,\n" +" John Weidman,\n" +" Kris Bleakley,\n" +" Matthew Kendora\n" +"\n" +" Super FX x86 assembler emulator code\n" +" (c) Copyright 1998 - 2003 _Demo_,\n" +" pagefault,\n" +" zsKnight\n" +"\n" +" Super FX C emulator code\n" +" (c) Copyright 1997 - 1999 Ivar,\n" +" Gary Henderson,\n" +" John Weidman\n" +"\n" +" Sound emulator code used in 1.5-1.51\n" +" (c) Copyright 1998 - 2003 Brad Martin\n" +" (c) Copyright 1998 - 2006 Charles Bilyue'\n" +"\n" +" Sound emulator code used in 1.52+\n" +" (c) Copyright 2004 - 2007 Shay Green (gblargg@gmail.com)\n" +"\n" +" SH assembler code partly based on x86 assembler code\n" +" (c) Copyright 2002 - 2004 Marcus Comstedt (marcus@mc.pp.se)\n" +"\n" +" 2xSaI filter\n" +" (c) Copyright 1999 - 2001 Derek Liauw Kie Fa\n" +"\n" +" HQ2x, HQ3x, HQ4x filters\n" +" (c) Copyright 2003 Maxim Stepin (maxim@hiend3d.com)\n" +"\n" +" NTSC filter\n" +" (c) Copyright 2006 - 2007 Shay Green\n" +"\n" +" GTK+ GUI code\n" +" (c) Copyright 2004 - 2011 BearOso\n" +"\n" +" Win32 GUI code\n" +" (c) Copyright 2003 - 2006 blip,\n" +" funkyass,\n" +" Matthew Kendora,\n" +" Nach,\n" +" nitsuja\n" +" (c) Copyright 2009 - 2011 OV2\n" +"\n" +" Mac OS GUI code\n" +" (c) Copyright 1998 - 2001 John Stiles\n" +" (c) Copyright 2001 - 2011 zones\n" +"\n" +"\n" +" Specific ports contains the works of other authors. See headers in\n" +" individual files.\n" +"\n" +"\n" +" Snes9x homepage: http://www.snes9x.com/\n" +"\n" +" Permission to use, copy, modify and/or distribute Snes9x in both binary\n" +" and source form, for non-commercial purposes, is hereby granted without\n" +" fee, providing that this license information and copyright notice appear\n" +" with all copies and any derived work.\n" +"\n" +" This software is provided 'as-is', without any express or implied\n" +" warranty. In no event shall the authors be held liable for any damages\n" +" arising from the use of this software or it's derivatives.\n" +"\n" +" Snes9x is freeware for PERSONAL USE only. Commercial users should\n" +" seek permission of the copyright holders first. Commercial use includes,\n" +" but is not limited to, charging money for Snes9x or software derived from\n" +" Snes9x, including Snes9x or derivatives in commercial game bundles, and/or\n" +" using Snes9x as a promotion for your commercial product.\n" +"\n" +" The copyright holders request that bug fixes and improvements to the code\n" +" should be forwarded to them so everyone can benefit from the modifications\n" +" in future versions.\n" +"\n" +" Super NES and Super Nintendo Entertainment System are trademarks of\n" +" Nintendo Co., Limited and its subsidiary companies." + +#: src/snes9x.ui:7402 +msgid "About Snes9x" +msgstr "О программе Snes9x" + +#: src/snes9x.ui:7435 +msgid "label106" +msgstr "label106" + +#~ msgid "" +#~ "8:7 Square pixels\n" +#~ "4:3 SNES correct aspect" +#~ msgstr "" +#~ "8:7 Квадратные пикселы\n" +#~ "4:3 правильное соотношение SNES" + +#~ msgid "Force SNES-hires output" +#~ msgstr "Вывод при высоком разрешении" + +#~ msgid "" +#~ "Detects frames that are not output by Snes9x in hires, and scales them" +#~ msgstr "" +#~ "Определяет кадры, не выводимые Snes9x при высоком разрешении, и " +#~ "масштабирует их" + +#~ msgid "" +#~ "None\n" +#~ "SuperEagle\n" +#~ "2xSaI\n" +#~ "Super2xSaI\n" +#~ "hq2x\n" +#~ "hq3x\n" +#~ "hq4x\n" +#~ "EPX\n" +#~ "EPX Smooth\n" +#~ "Blargg's NTSC\n" +#~ "Scanlines" +#~ msgstr "" +#~ "Нет\n" +#~ "SuperEagle\n" +#~ "2xSaI\n" +#~ "Super2xSaI\n" +#~ "hq2x\n" +#~ "hq3x\n" +#~ "hq4x\n" +#~ "EPX\n" +#~ "EPX Smooth\n" +#~ "Blargg's NTSC\n" +#~ "Сканлинии" + +#~ msgid "" +#~ "0%\n" +#~ "12.5%\n" +#~ "25%\n" +#~ "50%\n" +#~ "100%" +#~ msgstr "" +#~ "0%\n" +#~ "12.5%\n" +#~ "25%\n" +#~ "50%\n" +#~ "100%" + +#~ msgid "" +#~ "12.5%\n" +#~ "25%\n" +#~ "50%\n" +#~ "100%" +#~ msgstr "" +#~ "12.5%\n" +#~ "25%\n" +#~ "50%\n" +#~ "100%" + +#~ msgid "Smoothens (blurs) the image" +#~ msgstr "Сглаживает изображение" + +#~ msgid "" +#~ "16-bit (GL_BGRA)\n" +#~ "24-bit (GL_RGB)\n" +#~ "32-bit (GL_BGRA)" +#~ msgstr "" +#~ "16-bit (GL_BGRA)\n" +#~ "24-bit (GL_RGB)\n" +#~ "32-bit (GL_BGRA)" + +#~ msgid "" +#~ "48000 hz\n" +#~ "44100 hz\n" +#~ "32000 hz (SNES Default)\n" +#~ "22050 hz\n" +#~ "16000 hz\n" +#~ "11025 hz\n" +#~ "8000 hz\n" +#~ "0 hz" +#~ msgstr "" +#~ "48000 гц\n" +#~ "44100 гц\n" +#~ "32000 гц (SNES по умолчанию)\n" +#~ "22050 гц\n" +#~ "16000 гц\n" +#~ "11025 гц\n" +#~ "8000 гц\n" +#~ "0 гц" + +#~ msgid "" +#~ "Automatic\n" +#~ "0\n" +#~ "1\n" +#~ "2\n" +#~ "3\n" +#~ "4\n" +#~ "5\n" +#~ "6\n" +#~ "7\n" +#~ "8\n" +#~ "9" +#~ msgstr "" +#~ "Автоматически\n" +#~ "0\n" +#~ "1\n" +#~ "2\n" +#~ "3\n" +#~ "4\n" +#~ "5\n" +#~ "6\n" +#~ "7\n" +#~ "8\n" +#~ "9" + +#~ msgid "Enable HDMA" +#~ msgstr "Разрешить HDMA" + +#~ msgid "Enable HDMA. Required feature for compatibility with some games" +#~ msgstr "" +#~ "Разрешить HDMA. Требуемая опция для совместимости с некоторыми играми" + +#~ msgid "" +#~ "Toggle the menu bar\n" +#~ "Exit fullscreen mode\n" +#~ "Quit Snes9x" +#~ msgstr "" +#~ "Переключать строку меню\n" +#~ "Выключать полноэкранный режим\n" +#~ "Закрывать Snes9x" + +#~ msgid "ROM folder" +#~ msgstr "Папке ROM'a" + +#~ msgid "Store data in the same folder as the ROM file used" +#~ msgstr "Сохранять данные в той же папке, что и используемый ROM" + +#~ msgid "Snes9x configuration folder" +#~ msgstr "Папке настроек Snes9x" + +#~ msgid "Store data in $HOME/.snes9x/sram" +#~ msgstr "Сохранять данные в $HOME/.snes9x/sram" + +#~ msgid "Custom folder:" +#~ msgstr "Своей папке:" + +#~ msgid "Save data in:" +#~ msgstr "Сохранять данные в:" + +#~ msgid "Version Info" +#~ msgstr "Информация" + +#~ msgid "Type:" +#~ msgstr "Тип:" + +#~ msgid "" +#~ "Game Genie\n" +#~ "Pro Action Replay\n" +#~ "Goldfinger" +#~ msgstr "" +#~ "Game Genie\n" +#~ "Pro Action Replay\n" +#~ "Goldfinger" From fc7a79b2bbf0e606fc880dfa070fd5bd14cb73d7 Mon Sep 17 00:00:00 2001 From: zones Date: Tue, 19 Apr 2011 23:02:08 +0900 Subject: [PATCH 10/25] Add ports list doc (adventure_of_link) / Add APU debugger / Fix the issue that echo breaks the boot ROM --- apu/SNES_SPC.cpp | 2 +- apu/SNES_SPC.h | 20 ++ apu/SNES_SPC_misc.cpp | 442 ++++++++++++++++++++++++++++++++++++++++- apu/SPC_CPU.h | 8 +- apu/SPC_DSP.cpp | 10 + apu/SPC_DSP.h | 8 +- debug.cpp | 24 +-- debug.h | 1 + docs/portsofsnes9x.txt | 57 ++++++ 9 files changed, 548 insertions(+), 24 deletions(-) create mode 100644 docs/portsofsnes9x.txt diff --git a/apu/SNES_SPC.cpp b/apu/SNES_SPC.cpp index d6f6c927..567b7ddc 100644 --- a/apu/SNES_SPC.cpp +++ b/apu/SNES_SPC.cpp @@ -82,7 +82,7 @@ void SNES_SPC::enable_rom( int enable ) { if ( m.rom_enabled != enable ) { - m.rom_enabled = enable; + m.rom_enabled = dsp.rom_enabled = enable; if ( enable ) memcpy( m.hi_ram, &RAM [rom_addr], sizeof m.hi_ram ); memcpy( &RAM [rom_addr], (enable ? m.rom : m.hi_ram), rom_size ); diff --git a/apu/SNES_SPC.h b/apu/SNES_SPC.h index bc69e94d..4b4bd47e 100644 --- a/apu/SNES_SPC.h +++ b/apu/SNES_SPC.h @@ -7,6 +7,12 @@ #include "SPC_DSP.h" #include "blargg_endian.h" +#ifdef DEBUGGER +#include "snes9x.h" +#include "display.h" +#include "debug.h" +#endif + struct SNES_SPC { public: typedef BOOST::uint8_t uint8_t; @@ -114,6 +120,15 @@ public: uint8_t dsp_reg_value( int, int ); int dsp_envx_value( int ); +//// Snes9x Debugger + +#ifdef DEBUGGER + void debug_toggle_trace( void ); + void debug_do_trace( int, int, int, uint8_t const *, uint8_t *, int, int, int, int ); + void debug_op_print( char *, int, int, int, uint8_t const *, uint8_t *, int, int, int, int ); + void debug_io_print( char * ); +#endif + public: BLARGG_DISABLE_NOTHROW @@ -263,6 +278,11 @@ private: // Snes9x timing hack bool allow_time_overflow; +// Snes9x debugger +#ifdef DEBUGGER + FILE *apu_trace; + bool debug_trace; +#endif }; #include diff --git a/apu/SNES_SPC_misc.cpp b/apu/SNES_SPC_misc.cpp index 52899157..50b61a8f 100644 --- a/apu/SNES_SPC_misc.cpp +++ b/apu/SNES_SPC_misc.cpp @@ -70,7 +70,15 @@ blargg_err_t SNES_SPC::init() } allow_time_overflow = false; - + + dsp.rom = m.rom; + dsp.hi_ram = m.hi_ram; + +#ifdef DEBUGGER + apu_trace = NULL; + debug_trace = false; +#endif + #if SPC_LESS_ACCURATE memcpy( reg_times, reg_times_, sizeof reg_times ); #endif @@ -141,7 +149,7 @@ void SNES_SPC::load_regs( uint8_t const in [reg_count] ) // and timer counts. Copies these to proper registers. void SNES_SPC::ram_loaded() { - m.rom_enabled = 0; + m.rom_enabled = dsp.rom_enabled = 0; load_regs( &RAM [0xF0] ); // Put STOP instruction around memory to catch PC underflow/overflow @@ -413,3 +421,433 @@ int SNES_SPC::dsp_envx_value( int ch ) { return dsp.envx_value( ch ); } + +//// Snes9x debugger + +#ifdef DEBUGGER + +void SNES_SPC::debug_toggle_trace( void ) +{ + debug_trace = !debug_trace; + + if (debug_trace) + { + printf("APU tracing enabled.\n"); + ENSURE_TRACE_OPEN(apu_trace, "apu_trace.log", "wb") + } + else + { + printf("APU tracing disabled.\n"); + fclose(apu_trace); + apu_trace = NULL; + } +} + +void SNES_SPC::debug_do_trace( int a, int x, int y, uint8_t const *pc, uint8_t *sp, int psw, int c, int nz, int dp ) +{ + char msg[512]; + + ENSURE_TRACE_OPEN(apu_trace, "apu_trace.log", "a") + + debug_op_print(msg, a, x, y, pc, sp, psw, c, nz, dp); + fprintf(apu_trace, "%s ", msg); + debug_io_print(msg); + fprintf(apu_trace, "%s ", msg); + S9xPrintHVPosition(msg); + fprintf(apu_trace, "%s\n", msg); +} + +void SNES_SPC::debug_op_print( char *buffer, int a, int x, int y, uint8_t const *pc, uint8_t *sp, int psw, int c, int nz, int dp ) +{ + static char mnemonics[256][20] = + { + "NOP", + "TCALL 0", + "SET1 $%02X.0", + "BBS $%02X.0,$%04X", + "OR A,$%02X", + "OR A,!$%04X", + "OR A,(X)", + "OR A,[$%02X+X]", + "OR A,#$%02X", + "OR $%02X,$%02X", + "OR1 C,$%04X.%d", + "ASL $%02X", + "MOV !$%04X,Y", + "PUSH PSW", + "TSET1 !$%04X", + "BRK", + "BPL $%04X", + "TCALL 1", + "CLR1 $%02X.0", + "BBC $%02X.0,$%04X", + "OR A,$%02X+X", + "OR A,!$%04X+X", + "OR A,!$%04X+Y", + "OR A,[$%02X]+Y", + "OR $%02X,#$%02X", + "OR (X),(Y)", + "DECW $%02X", + "ASL $%02X+X", + "ASL A", + "DEC X", + "CMP X,!$%04X", + "JMP [!$%04X+X]", + "CLRP", + "TCALL 2", + "SET1 $%02X.1", + "BBS $%02X.1,$%04X", + "AND A,$%02X", + "AND A,!$%04X", + "AND A,(X)", + "AND A,[$%02X+X]", + "AND A,#$%02X", + "AND $%02X,$%02X", + "OR1 C,/$%04X.%d", + "ROL $%02X", + "ROL !$%04X", + "PUSH A", + "CBNE $%02X,$%04X", + "BRA $%04X", + "BMI $%04X", + "TCALL 3", + "CLR1 $%02X.1", + "BBC $%02X.1,$%04X", + "AND A,$%02X+X", + "AND A,!$%04X+X", + "AND A,!$%04X+Y", + "AND A,[$%02X]+Y", + "AND $%02X,#$%02X", + "AND (X),(Y)", + "INCW $%02X", + "ROL $%02X+X", + "ROL A", + "INC X", + "CMP X,$%02X", + "CALL !$%04X", + "SETP", + "TCALL 4", + "SET1 $%02X.2", + "BBS $%02X.2,$%04X", + "EOR A,$%02X", + "EOR A,!$%04X", + "EOR A,(X)", + "EOR A,[$%02X+X]", + "EOR A,#$%02X", + "EOR $%02X,$%02X", + "AND1 C,$%04X.%d", + "LSR $%02X", + "LSR !$%04X", + "PUSH X", + "TCLR1 !$%04X", + "PCALL $%02X", + "BVC $%04X", + "TCALL 5", + "CLR1 $%02X.2", + "BBC $%02X.2,$%04X", + "EOR A,$%02X+X", + "EOR A,!$%04X+X", + "EOR A,!$%04X+Y", + "EOR A,[$%02X]+Y", + "EOR $%02X,#$%02X", + "EOR (X),(Y)", + "CMPW YA,$%02X", + "LSR $%02X+X", + "LSR A", + "MOV X,A", + "CMP Y,!$%04X", + "JMP !$%04X", + "CLRC", + "TCALL 6", + "SET1 $%02X.3", + "BBS $%02X.3,$%04X", + "CMP A,$%02X", + "CMP A,!$%04X", + "CMP A,(X)", + "CMP A,[$%02X+X]", + "CMP A,#$%02X", + "CMP $%02X,$%02X", + "AND1 C,/$%04X.%d", + "ROR $%02X", + "ROR !$%04X", + "PUSH Y", + "DBNZ $%02X,$%04X", + "RET", + "BVS $%04X", + "TCALL 7", + "CLR1 $%02X.3", + "BBC $%02X.3,$%04X", + "CMP A,$%02X+X", + "CMP A,!$%04X+X", + "CMP A,!$%04X+Y", + "CMP A,[$%02X]+Y", + "CMP $%02X,#$%02X", + "CMP (X),(Y)", + "ADDW YA,$%02X", + "ROR $%02X+X", + "ROR A", + "MOV A,X", + "CMP Y,$%02X", + "RET1", + "SETC", + "TCALL 8", + "SET1 $%02X.4", + "BBS $%02X.4,$%04X", + "ADC A,$%02X", + "ADC A,!$%04X", + "ADC A,(X)", + "ADC A,[$%02X+X]", + "ADC A,#$%02X", + "ADC $%02X,$%02X", + "EOR1 C,$%04X.%d", + "DEC $%02X", + "DEC !$%04X", + "MOV Y,#$%02X", + "POP PSW", + "MOV $%02X,#$%02X", + "BCC $%04X", + "TCALL 9", + "CLR1 $%02X.4", + "BBC $%02X.4,$%04X", + "ADC A,$%02X+X", + "ADC A,!$%04X+X", + "ADC A,!$%04X+Y", + "ADC A,[$%02X]+Y", + "ADC $%02X,#$%02X", + "ADC (X),(Y)", + "SUBW YA,$%02X", + "DEC $%02X+X", + "DEC A", + "MOV X,SP", + "DIV YA,X", + "XCN A", + "EI", + "TCALL 10", + "SET1 $%02X.5", + "BBS $%02X.5,$%04X", + "SBC A,$%02X", + "SBC A,!$%04X", + "SBC A,(X)", + "SBC A,[$%02X+X]", + "SBC A,#$%02X", + "SBC $%02X,$%02X", + "MOV1 C,$%04X.%d", + "INC $%02X", + "INC !$%04X", + "CMP Y,#$%02X", + "POP A", + "MOV (X)+,A", + "BCS $%04X", + "TCALL 11", + "CLR1 $%02X.5", + "BBC $%02X.5,$%04X", + "SBC A,$%02X+X", + "SBC A,!$%04X+X", + "SBC A,!$%04X+Y", + "SBC A,[$%02X]+Y", + "SBC $%02X,#$%02X", + "SBC (X),(Y)", + "MOVW YA,$%02X", + "INC $%02X+X", + "INC A", + "MOV SP,X", + "DAS A", + "MOV A,(X)+", + "DI", + "TCALL 12", + "SET1 $%02X.6", + "BBS $%02X.6,$%04X", + "MOV $%02X,A", + "MOV !$%04X,A", + "MOV (X),A", + "MOV [$%02X+X],A", + "CMP X,#$%02X", + "MOV !$%04X,X", + "MOV1 $%04X.%d,C", + "MOV $%02X,Y", + "ASL !$%04X", + "MOV X,#$%02X", + "POP X", + "MUL YA", + "BNE $%04X", + "TCALL 13", + "CLR1 $%02X.6", + "BBC $%02X.6,$%04X", + "MOV $%02X+X,A", + "MOV !$%04X+X,A", + "MOV !$%04X+Y,A", + "MOV [$%02X]+Y,A", + "MOV $%02X,X", + "MOV $%02X+Y,X", + "MOVW $%02X,YA", + "MOV $%02X+X,Y", + "DEC Y", + "MOV A,Y", + "CBNE $%02X+X,$%04X", + "DAA A", + "CLRV", + "TCALL 14", + "SET1 $%02X.7", + "BBS $%02X.7,$%04X", + "MOV A,$%02X", + "MOV A,!$%04X", + "MOV A,(X)", + "MOV A,[$%02X+X]", + "MOV A,#$%02X", + "MOV X,!$%04X", + "NOT1 $%04X.%d", + "MOV Y,$%02X", + "MOV Y,!$%04X", + "NOTC", + "POP Y", + "SLEEP", + "BEQ $%04X", + "TCALL 15", + "CLR1 $%02X.7", + "BBC $%02X.7,$%04X", + "MOV A,$%02X+X", + "MOV A,!$%04X+X", + "MOV A,!$%04X+Y", + "MOV A,[$%02X]+Y", + "MOV X,$%02X", + "MOV X,$%02X+Y", + "MOV $%02X,$%02X", + "MOV Y,$%02X+X", + "INC Y", + "MOV Y,A", + "DBNZ Y,$%04X", + "STOP" + }; + + static int modes[256] = + { + 2, 2, 0, 5, 0, 1, 2, 0, 0, 3, 6, 0, 1, 2, 1, 2, + 7, 2, 0, 5, 0, 1, 1, 0, 4, 2, 0, 0, 2, 2, 1, 1, + 2, 2, 0, 5, 0, 1, 2, 0, 0, 3, 6, 0, 1, 2, 5, 7, + 7, 2, 0, 5, 0, 1, 1, 0, 4, 2, 0, 0, 2, 2, 0, 1, + 2, 2, 0, 5, 0, 1, 2, 0, 0, 3, 6, 0, 1, 2, 1, 0, + 7, 2, 0, 5, 0, 1, 1, 0, 4, 2, 0, 0, 2, 2, 1, 1, + 2, 2, 0, 5, 0, 1, 2, 0, 0, 3, 6, 0, 1, 2, 5, 2, + 7, 2, 0, 5, 0, 1, 1, 0, 4, 2, 0, 0, 2, 2, 0, 2, + 2, 2, 0, 5, 0, 1, 2, 0, 0, 3, 6, 0, 1, 0, 2, 4, + 7, 2, 0, 5, 0, 1, 1, 0, 4, 2, 0, 0, 2, 2, 2, 2, + 2, 2, 0, 5, 0, 1, 2, 0, 0, 3, 6, 0, 1, 0, 2, 2, + 7, 2, 0, 5, 0, 1, 1, 0, 4, 2, 0, 0, 2, 2, 2, 2, + 2, 2, 0, 5, 0, 1, 2, 0, 0, 1, 6, 0, 1, 0, 2, 2, + 7, 2, 0, 5, 0, 1, 1, 0, 0, 0, 0, 0, 2, 2, 5, 2, + 2, 2, 0, 5, 0, 1, 2, 0, 0, 1, 6, 0, 1, 2, 2, 2, + 7, 2, 0, 5, 0, 1, 1, 0, 0, 0, 3, 0, 2, 2, 7, 2 + }; + + static int modesToBytes[] = + { + 2, 3, 1, 3, 3, 3, 3, 2 + }; + + int const n80 = 0x80; // nz + int const p20 = 0x20; // dp + int const z02 = 0x02; // nz + int const c01 = 0x01; // c + + #define GET_PC() (pc - ram) + #define GET_SP() (sp - 0x101 - ram) + #define GET_PSW( out )\ + {\ + out = psw & ~(n80 | p20 | z02 | c01);\ + out |= c >> 8 & c01;\ + out |= dp >> 3 & p20;\ + out |= ((nz >> 4) | nz) & n80;\ + if ( !(uint8_t) nz ) out |= z02;\ + } + + uint8_t const *ram = RAM; + + int addr; + int tsp, tpsw; + uint8_t d0, d1, d2; + + addr = GET_PC(); + tsp = GET_SP(); + GET_PSW(tpsw); + + d0 = *pc; + d1 = (addr < 0xffff) ? *(pc + 1) : 0; + d2 = (addr < 0xfffe) ? *(pc + 2) : 0; + + int mode = modes[d0]; + int bytes = modesToBytes[mode]; + char mnem[100]; + + switch (bytes) + { + case 1: + sprintf(buffer, "%04X %02X ", addr, d0); + break; + + case 2: + sprintf(buffer, "%04X %02X %02X ", addr, d0, d1); + break; + + case 3: + sprintf(buffer, "%04X %02X %02X %02X ", addr, d0, d1, d2); + break; + } + + switch (mode) + { + case 0: + sprintf(mnem, mnemonics[d0], d1); + break; + + case 1: + sprintf(mnem, mnemonics[d0], d1 + (d2 << 8)); + break; + + case 2: + strcpy (mnem, mnemonics[d0]); + break; + + case 3: + sprintf(mnem, mnemonics[d0], d2, d1); + break; + + case 4: + sprintf(mnem, mnemonics[d0], d2, d1); + break; + + case 5: + sprintf(mnem, mnemonics[d0], d1, addr + 3 + (int8_t) d2); + break; + + case 6: + sprintf(mnem, mnemonics[d0], (d1 + (d2 << 8)) & 0x1fff, d2 >> 5); + break; + + case 7: + sprintf(mnem, mnemonics[d0], addr + 2 + (int8_t) d1); + break; + } + + sprintf(buffer, "%s %-20s A:%02X X:%02X Y:%02X S:%02X P:%c%c%c%c%c%c%c%c ROM:%d", + buffer, mnem, a, x, y, tsp, + (tpsw & 0x80) ? 'N' : 'n', + (tpsw & 0x40) ? 'V' : 'v', + (tpsw & 0x20) ? 'P' : 'p', + (tpsw & 0x10) ? 'B' : 'b', + (tpsw & 0x08) ? 'H' : 'h', + (tpsw & 0x04) ? 'I' : 'i', + (tpsw & 0x02) ? 'Z' : 'z', + (tpsw & 0x01) ? 'C' : 'c', + m.rom_enabled ? 1 : 0); +} + +void SNES_SPC::debug_io_print( char *buffer ) +{ + sprintf(buffer, "i/o %02X/%02X %02X/%02X %02X/%02X %02X/%02X", + m.smp_regs[1][r_cpuio0], m.smp_regs[0][r_cpuio0], + m.smp_regs[1][r_cpuio1], m.smp_regs[0][r_cpuio1], + m.smp_regs[1][r_cpuio2], m.smp_regs[0][r_cpuio2], + m.smp_regs[1][r_cpuio3], m.smp_regs[0][r_cpuio3]); +} + +#endif diff --git a/apu/SPC_CPU.h b/apu/SPC_CPU.h index 0bd56fcd..67fee8da 100644 --- a/apu/SPC_CPU.h +++ b/apu/SPC_CPU.h @@ -218,7 +218,13 @@ loop: PROFILE_TIMER_LOOP( 0xEB, pc [1], 2 ); PROFILE_TIMER_LOOP( 0xE4, pc [1], 2 ); */ - + +#ifdef DEBUGGER + if (debug_trace) + debug_do_trace(a, x, y, pc, sp, psw, c, nz, dp); +#endif + + // TODO: if PC is at end of memory, this will get wrong operand (very obscure) data = *++pc; switch ( opcode ) diff --git a/apu/SPC_DSP.cpp b/apu/SPC_DSP.cpp index 8779feba..a05e825e 100644 --- a/apu/SPC_DSP.cpp +++ b/apu/SPC_DSP.cpp @@ -716,7 +716,17 @@ ECHO_CLOCK( 28 ) inline void SPC_DSP::echo_write( int ch ) { if ( !(m.t_echo_enabled & 0x20) ) + { SET_LE16A( ECHO_PTR( ch ), m.t_echo_out [ch] ); + + if ( m.t_echo_ptr >= 0xffc0 ) + { + SET_LE16A( &hi_ram [m.t_echo_ptr + ch * 2 - 0xffc0], m.t_echo_out [ch] ); + if ( rom_enabled ) + SET_LE16A( ECHO_PTR( ch ), GET_LE16A( &rom [m.t_echo_ptr + ch * 2 - 0xffc0] ) ); + } + } + m.t_echo_out [ch] = 0; } ECHO_CLOCK( 29 ) diff --git a/apu/SPC_DSP.h b/apu/SPC_DSP.h index 6705a490..61d05ab5 100644 --- a/apu/SPC_DSP.h +++ b/apu/SPC_DSP.h @@ -67,9 +67,11 @@ public: // Snes9x Accessor - int stereo_switch; - int take_spc_snapshot; - void (*spc_snapshot_callback) (void); + int stereo_switch; + int take_spc_snapshot; + int rom_enabled; // mirror + uint8_t *rom, *hi_ram; // mirror + void (*spc_snapshot_callback) (void); void set_spc_snapshot_callback( void (*callback) (void) ); void dump_spc_snapshot( void ); diff --git a/debug.cpp b/debug.cpp index f3d7edb3..3cd97b1c 100644 --- a/debug.cpp +++ b/debug.cpp @@ -1566,25 +1566,10 @@ static void debug_process_command (char *Line) printf("HC event tracing %s.\n", Settings.TraceHCEvent ? "enabled" : "disabled"); } -/* if (*Line == 'A') - { - APU.Flags ^= TRACE_FLAG; - - if (APU.Flags & TRACE_FLAG) - { - printf("APU tracing enabled.\n"); - if (apu_trace == NULL) - apu_trace = fopen("aputrace.log", "wb"); - } - else - { - printf("APU tracing disabled.\n"); - fclose(apu_trace); - apu_trace = NULL; - } - } + spc_core->debug_toggle_trace(); +/* if (*Line == 'B') { Settings.TraceSoundDSP = !Settings.TraceSoundDSP; @@ -2623,4 +2608,9 @@ void S9xTraceFormattedMessage (const char *s, ...) } } +void S9xPrintHVPosition (char *s) +{ + sprintf(s, "HC:%04ld VC:%03ld FC:%02d", (long) CPU.Cycles, (long) CPU.V_Counter, IPPU.FrameCount); +} + #endif diff --git a/debug.h b/debug.h index 395304df..cc26133e 100644 --- a/debug.h +++ b/debug.h @@ -205,6 +205,7 @@ void S9xTrace (void); void S9xSA1Trace (void); void S9xTraceMessage (const char *); void S9xTraceFormattedMessage (const char *, ...); +void S9xPrintHVPosition (char *); #endif diff --git a/docs/portsofsnes9x.txt b/docs/portsofsnes9x.txt new file mode 100644 index 00000000..edd775dd --- /dev/null +++ b/docs/portsofsnes9x.txt @@ -0,0 +1,57 @@ +*PSP Version of Snes9X* +Name: Snes9X Euphoria +Latest version: R5 Beta +Homepage/forum: http://www.retroemu.com/forum/ +Maintainer: Zack + +HOW TO GET IT RUNNING: +1. Make sure your PSP is hackable in some way. This means: +* PSP-1000 series and certain PSP-2000 series (Google for compatibility) can use Pandora Battery +* PSP-2000 series that can't be Pandoraized (Google for compatibility), most PSP-3000 series, and PSP Gos are hackable via other means (DaveeFTW Downgrader, etc) + +2. Make sure your PSP has custom firmware or a HEN that's useable (you'll have to upgrade/downgrade the firmware as necessary). Google for these CFWs, HENs, and installations. (Hint: I personally prefer 5.50 GEN-D3 on the Pandora-able PSPs; 6.20 or 6.35 PRO-B4 or better on the non-Pandora-able PSPs.) + +3. When that's done, be sure to put the Snes9X Euphoria in /PSP/GAME on your PSP's memory stick or internal memory (PSP Go only). + +*Wii/Gamecube version of Snes9X* +Name: Snes9X GX +Latest Version: 4.2.7 +Homepage/forum: http://code.google.com/p/snes9x-gx +Maintainer: Tantric + +HOW TO GET IT RUNNING: +Wii: You will need the latest Homebrew Channel installed on your Wii. Use Google for installation instructions and to find the HBC. +In addition, there appears to be a channel for Snes9X GX; again, use Google for installation instructions. +Gamecube: You might need a modchip; search Google. + +*Android and iOS (Apple iPhone/iPod touch) version of Snes9X* +Name: Snes9X EX +Latest Version: 1.3.22 +Homepage/forum: http://www.explusalpha.com/home/snes9x-ex +Maintainer: Rakashazi (on the Snes9X forums) + +HOW TO GET IT RUNNING: +Android: It appears you can just download from the Android app-store thingy and run it from there :) +iOS: You'll have to jailbreak your firmware (use Google) and install the Cydia app installer. Then you'll have to install the BigBoss repository within Cydia and search for Snes9X EX; you may also want to search for the sshd and all needed stuff for that, as it's the only way you can put the ROMs onto your iPhone/iPod Touch. After that you should be able to download and run from there :) + +*Second Android version of Snes9X* +Name: Snesoid +Latest Version: unknown +Homepage/forum: www.snes9x.com/phpbb2 +Maintainer: SparroHawc + +HOW TO GET IT RUNNING: +See this thread: http://www.snes9x.com/phpbb2/viewtopic.php?t=4823 + +*PS3 version of Snes9X* +Name: Snes9X PS3 +Latest Version: 4.4.9 +Homepage/forum: https://code.google.com/p/snes9x-ps3/ (although for some reason, you may have to Google for the latest version) +Maintainer: Squarepusher + +HOW TO GET IT RUNNING: +You'll have to install a HEN/Jailbreaker/CFW/etc on your PS3 (use Google for more information). +After that, it should be as simple as copy the emulator/ROMs over to the PS3 and it should work :) + + +Updated most recently by: 2011/4/19 adventure_of_link From 1dc12afab15624a17c0d3a844bed434d1265492f Mon Sep 17 00:00:00 2001 From: adventureoflink Date: Tue, 19 Apr 2011 09:45:57 -0700 Subject: [PATCH 11/25] Removed SparroHawc's Android port of Snes9X, and converted the file to the standard 80 characters per line format --- docs/portsofsnes9x.txt | 50 ++++++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/docs/portsofsnes9x.txt b/docs/portsofsnes9x.txt index edd775dd..5517c6e2 100644 --- a/docs/portsofsnes9x.txt +++ b/docs/portsofsnes9x.txt @@ -6,12 +6,19 @@ Maintainer: Zack HOW TO GET IT RUNNING: 1. Make sure your PSP is hackable in some way. This means: -* PSP-1000 series and certain PSP-2000 series (Google for compatibility) can use Pandora Battery -* PSP-2000 series that can't be Pandoraized (Google for compatibility), most PSP-3000 series, and PSP Gos are hackable via other means (DaveeFTW Downgrader, etc) +* PSP-1000 series and certain PSP-2000 series (Google for compatibility) can +use Pandora Battery +* PSP-2000 series that can't be Pandoraized (Google for compatibility), most +PSP-3000 series, and PSP Gos are hackable via other means (DaveeFTW Downgrader, +etc) -2. Make sure your PSP has custom firmware or a HEN that's useable (you'll have to upgrade/downgrade the firmware as necessary). Google for these CFWs, HENs, and installations. (Hint: I personally prefer 5.50 GEN-D3 on the Pandora-able PSPs; 6.20 or 6.35 PRO-B4 or better on the non-Pandora-able PSPs.) +2. Make sure your PSP has custom firmware or a HEN that's useable (you'll have +to upgrade/downgrade the firmware as necessary). Google for these CFWs, HENs, +and installations. (Hint: I personally prefer 5.50 GEN-D3 on the Pandora-able +PSPs; 6.20 or 6.35 PRO-B4 or better on the non-Pandora-able PSPs.) -3. When that's done, be sure to put the Snes9X Euphoria in /PSP/GAME on your PSP's memory stick or internal memory (PSP Go only). +3. When that's done, be sure to put the Snes9X Euphoria in /PSP/GAME on your +PSP's memory stick or internal memory (PSP Go only). *Wii/Gamecube version of Snes9X* Name: Snes9X GX @@ -20,8 +27,10 @@ Homepage/forum: http://code.google.com/p/snes9x-gx Maintainer: Tantric HOW TO GET IT RUNNING: -Wii: You will need the latest Homebrew Channel installed on your Wii. Use Google for installation instructions and to find the HBC. -In addition, there appears to be a channel for Snes9X GX; again, use Google for installation instructions. +Wii: You will need the latest Homebrew Channel installed on your Wii. Use +Google for installation instructions and to find the HBC. +In addition, there appears to be a channel for Snes9X GX; again, use Google for +installation instructions. Gamecube: You might need a modchip; search Google. *Android and iOS (Apple iPhone/iPod touch) version of Snes9X* @@ -31,27 +40,26 @@ Homepage/forum: http://www.explusalpha.com/home/snes9x-ex Maintainer: Rakashazi (on the Snes9X forums) HOW TO GET IT RUNNING: -Android: It appears you can just download from the Android app-store thingy and run it from there :) -iOS: You'll have to jailbreak your firmware (use Google) and install the Cydia app installer. Then you'll have to install the BigBoss repository within Cydia and search for Snes9X EX; you may also want to search for the sshd and all needed stuff for that, as it's the only way you can put the ROMs onto your iPhone/iPod Touch. After that you should be able to download and run from there :) - -*Second Android version of Snes9X* -Name: Snesoid -Latest Version: unknown -Homepage/forum: www.snes9x.com/phpbb2 -Maintainer: SparroHawc - -HOW TO GET IT RUNNING: -See this thread: http://www.snes9x.com/phpbb2/viewtopic.php?t=4823 +Android: It appears you can just download from the Android app-store thingy and +run it from there :) +iOS: You'll have to jailbreak your firmware (use Google) and install the Cydia +app installer. Then you'll have to install the BigBoss repository within Cydia +and search for Snes9X EX; you may also want to search for the sshd and all +needed stuff for that, as it's the only way you can put the ROMs onto your +iPhone/iPod Touch. After that you should be able to download and run from there +:) *PS3 version of Snes9X* Name: Snes9X PS3 Latest Version: 4.4.9 -Homepage/forum: https://code.google.com/p/snes9x-ps3/ (although for some reason, you may have to Google for the latest version) +Homepage/forum: https://code.google.com/p/snes9x-ps3/ (although for some +reason, you may have to Google for the latest version) Maintainer: Squarepusher HOW TO GET IT RUNNING: -You'll have to install a HEN/Jailbreaker/CFW/etc on your PS3 (use Google for more information). -After that, it should be as simple as copy the emulator/ROMs over to the PS3 and it should work :) +You'll have to install a HEN/Jailbreaker/CFW/etc on your PS3 (use Google for +more information). After that, it should be as simple as copy the emulator/ROMs +over to the PS3 and it should work :) -Updated most recently by: 2011/4/19 adventure_of_link +Updated most recently by: 2011/4/19 adventure_of_link \ No newline at end of file From 5330bed74e13e7179dddbc185a4607a5ab3d3741 Mon Sep 17 00:00:00 2001 From: adventureoflink Date: Tue, 19 Apr 2011 09:55:30 -0700 Subject: [PATCH 12/25] Condensed all the Googling into a disclaimer for each port; hopefully this'll make it easier to read. --- docs/portsofsnes9x.txt | 47 +++++++++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/docs/portsofsnes9x.txt b/docs/portsofsnes9x.txt index 5517c6e2..d78a6f76 100644 --- a/docs/portsofsnes9x.txt +++ b/docs/portsofsnes9x.txt @@ -5,17 +5,22 @@ Homepage/forum: http://www.retroemu.com/forum/ Maintainer: Zack HOW TO GET IT RUNNING: +*DISCLAIMER* You will have to do some Googling, including but not limited to: +* Downgrading/upgrading your firmware +* Checking if your PSP-2000 series can use Pandora's Battery +* Checking if your PSP-3000 series can use the DaveeFTW Downgrader +* Creating Pandora's Battery +* Finding the hacks, HENs, CFWs, etc and how to use/install them + 1. Make sure your PSP is hackable in some way. This means: -* PSP-1000 series and certain PSP-2000 series (Google for compatibility) can -use Pandora Battery -* PSP-2000 series that can't be Pandoraized (Google for compatibility), most -PSP-3000 series, and PSP Gos are hackable via other means (DaveeFTW Downgrader, -etc) +* PSP-1000 series and certain PSP-2000 series can use Pandora Battery +* PSP-2000 series that can't use Pandora Battery, most PSP-3000 series, and PSP +Gos are hackable via other means (DaveeFTW Downgrader, etc) 2. Make sure your PSP has custom firmware or a HEN that's useable (you'll have -to upgrade/downgrade the firmware as necessary). Google for these CFWs, HENs, -and installations. (Hint: I personally prefer 5.50 GEN-D3 on the Pandora-able -PSPs; 6.20 or 6.35 PRO-B4 or better on the non-Pandora-able PSPs.) +to upgrade/downgrade the firmware as necessary). (Hint: I personally prefer +5.50 GEN-D3 on the Pandora-able PSPs; 6.20 or 6.35 PRO-B4 or better on the +non-Pandora-able PSPs.) 3. When that's done, be sure to put the Snes9X Euphoria in /PSP/GAME on your PSP's memory stick or internal memory (PSP Go only). @@ -27,11 +32,13 @@ Homepage/forum: http://code.google.com/p/snes9x-gx Maintainer: Tantric HOW TO GET IT RUNNING: -Wii: You will need the latest Homebrew Channel installed on your Wii. Use -Google for installation instructions and to find the HBC. -In addition, there appears to be a channel for Snes9X GX; again, use Google for -installation instructions. -Gamecube: You might need a modchip; search Google. +*DISCLAIMER* You will have to do some Googling, including but not limited to: +* Finding the latest Homebrew Channel installer +* Finding a modchip for your GameCube and installing it + +Wii: You will need the latest Homebrew Channel installed on your Wii. +In addition, there appears to be a channel for Snes9X GX. +Gamecube: You might need a modchip. *Android and iOS (Apple iPhone/iPod touch) version of Snes9X* Name: Snes9X EX @@ -40,14 +47,16 @@ Homepage/forum: http://www.explusalpha.com/home/snes9x-ex Maintainer: Rakashazi (on the Snes9X forums) HOW TO GET IT RUNNING: +*DISCLAIMER* You will have to do some Googling, including but not limited to: +* iOS (iPhone/iPod Touch) ONLY!!!: Jailbreaking your firmware + Android: It appears you can just download from the Android app-store thingy and run it from there :) -iOS: You'll have to jailbreak your firmware (use Google) and install the Cydia -app installer. Then you'll have to install the BigBoss repository within Cydia -and search for Snes9X EX; you may also want to search for the sshd and all -needed stuff for that, as it's the only way you can put the ROMs onto your -iPhone/iPod Touch. After that you should be able to download and run from there -:) +iOS: You'll have to jailbreak your firmware and install the Cydia app +installer. Then you'll have to install the BigBoss repository within Cydia and +search for Snes9X EX; you may also want to search for the sshd and all needed +stuff for that, as it's the only way you can put the ROMs onto your iPhone/iPod +Touch. After that you should be able to download and run from there :) *PS3 version of Snes9X* Name: Snes9X PS3 From 786aa469daee0692ae451f552af156355893bc50 Mon Sep 17 00:00:00 2001 From: adventureoflink Date: Tue, 19 Apr 2011 11:25:01 -0700 Subject: [PATCH 13/25] Forgot to add the disclaimer to the PS3 section, my bad! Added some more detailed instructions on how to get each port going.Added a nice intro to the file as well. --- docs/portsofsnes9x.txt | 44 +++++++++++++++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/docs/portsofsnes9x.txt b/docs/portsofsnes9x.txt index d78a6f76..468c1615 100644 --- a/docs/portsofsnes9x.txt +++ b/docs/portsofsnes9x.txt @@ -1,3 +1,14 @@ +These are all the known ports of Snes9X to other consoles/handhelds/etc as of +2011/04/19. They are all supported and welcomed on the official Snes9X site. + +**If you know of anyone who is currently working on a port of Snes9X, please +have them go to the Snes9X forums (http://www.snes9x.com/phpbb2/) and have +them register an account there. After that, speak to Ryan and/or Jerremy so +you can be let into the devs area and the git so you can have access to the +most current code, collaborate with the other developers, etc.** + +Ports and how to get them running are as follows: + *PSP Version of Snes9X* Name: Snes9X Euphoria Latest version: R5 Beta @@ -22,8 +33,10 @@ to upgrade/downgrade the firmware as necessary). (Hint: I personally prefer 5.50 GEN-D3 on the Pandora-able PSPs; 6.20 or 6.35 PRO-B4 or better on the non-Pandora-able PSPs.) -3. When that's done, be sure to put the Snes9X Euphoria in /PSP/GAME on your -PSP's memory stick or internal memory (PSP Go only). +3. When that's done, be sure to put the Snes9X Euphoria folder in /PSP/GAME on +your PSP's memory stick (PSP-1000/2000/3000 series) or internal memory (PSP Go +only). Be sure to copy the ROMs into the ROMs folder, saves into the saves +folder, and cheats into the cheats folder. *Wii/Gamecube version of Snes9X* Name: Snes9X GX @@ -33,11 +46,21 @@ Maintainer: Tantric HOW TO GET IT RUNNING: *DISCLAIMER* You will have to do some Googling, including but not limited to: -* Finding the latest Homebrew Channel installer +* Finding the latest Homebrew Channel, Snes9X GX Channel, and/or IOS58 +installers and installing them * Finding a modchip for your GameCube and installing it -Wii: You will need the latest Homebrew Channel installed on your Wii. -In addition, there appears to be a channel for Snes9X GX. +Wii: You will need the latest Homebrew Channel installed on your Wii. After +that, copy and paste the apps folder onto the root of your SD card; same goes +for the snes9xgx folder. After that, copy over any ROMs you have to the +\snes9xgx\roms folder, save files (*.srm, etc) to the \snes9xgx\saves folder, +and cheats to the \snes9xgx\cheats folder. + +In addition, there appears to be a channel for Snes9X GX; you will need the +Homebrew Channel installed and you MUST be on System Menu 4.3 so you can be on +IOS58 (or use the IOS58 installer). After that, you should be able to run the +installer from the Homebrew Channel, and you'll be good to go! + Gamecube: You might need a modchip. *Android and iOS (Apple iPhone/iPod touch) version of Snes9X* @@ -51,7 +74,8 @@ HOW TO GET IT RUNNING: * iOS (iPhone/iPod Touch) ONLY!!!: Jailbreaking your firmware Android: It appears you can just download from the Android app-store thingy and -run it from there :) +run it from there :) Be sure to copy over your ROMs/saves/etc though. + iOS: You'll have to jailbreak your firmware and install the Cydia app installer. Then you'll have to install the BigBoss repository within Cydia and search for Snes9X EX; you may also want to search for the sshd and all needed @@ -66,9 +90,11 @@ reason, you may have to Google for the latest version) Maintainer: Squarepusher HOW TO GET IT RUNNING: -You'll have to install a HEN/Jailbreaker/CFW/etc on your PS3 (use Google for -more information). After that, it should be as simple as copy the emulator/ROMs -over to the PS3 and it should work :) +*DISCLAIMER* You will have to do some Googling, including but not limited to: +* Finding a HEN/Jailbreaker/CFW/etc onto your PS3 and installing it +You'll have to install a HEN/Jailbreaker/CFW/etc on your PS3. After that, it +should be as simple as copy the emulator/ROMs over to the PS3 and it should +work :) Updated most recently by: 2011/4/19 adventure_of_link \ No newline at end of file From aa8b1bf2a555b5bd9743676905f45256fc2a2fd7 Mon Sep 17 00:00:00 2001 From: adventureoflink Date: Tue, 19 Apr 2011 11:54:58 -0700 Subject: [PATCH 14/25] fixed a few inconsistencies and added a possible extra step to the PS3 running instructions. --- docs/portsofsnes9x.txt | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/docs/portsofsnes9x.txt b/docs/portsofsnes9x.txt index 468c1615..12a826bd 100644 --- a/docs/portsofsnes9x.txt +++ b/docs/portsofsnes9x.txt @@ -33,10 +33,10 @@ to upgrade/downgrade the firmware as necessary). (Hint: I personally prefer 5.50 GEN-D3 on the Pandora-able PSPs; 6.20 or 6.35 PRO-B4 or better on the non-Pandora-able PSPs.) -3. When that's done, be sure to put the Snes9X Euphoria folder in /PSP/GAME on -your PSP's memory stick (PSP-1000/2000/3000 series) or internal memory (PSP Go -only). Be sure to copy the ROMs into the ROMs folder, saves into the saves -folder, and cheats into the cheats folder. +3. When that’s done, be sure to put the Snes9X Euphoria folder in /PSP/GAME on +your PSP’s memory stick (PSP-1000/2000/3000 series) or internal memory +(PSP Go). Be sure to copy the ROMs into the roms folder, saves (*.srm, etc) +into the saves folder, and cheats into the cheats folder. *Wii/Gamecube version of Snes9X* Name: Snes9X GX @@ -63,7 +63,7 @@ installer from the Homebrew Channel, and you'll be good to go! Gamecube: You might need a modchip. -*Android and iOS (Apple iPhone/iPod touch) version of Snes9X* +*Android and iOS (Apple iPhone/iPod Touch) version of Snes9X* Name: Snes9X EX Latest Version: 1.3.22 Homepage/forum: http://www.explusalpha.com/home/snes9x-ex @@ -76,11 +76,12 @@ HOW TO GET IT RUNNING: Android: It appears you can just download from the Android app-store thingy and run it from there :) Be sure to copy over your ROMs/saves/etc though. -iOS: You'll have to jailbreak your firmware and install the Cydia app -installer. Then you'll have to install the BigBoss repository within Cydia and -search for Snes9X EX; you may also want to search for the sshd and all needed -stuff for that, as it's the only way you can put the ROMs onto your iPhone/iPod -Touch. After that you should be able to download and run from there :) +iOS: You’ll have to jailbreak your firmware and install the Cydia app +installer. Then you’ll have to install the BigBoss repository within Cydia and +search for Snes9X EX; you may also want to search for the sshd and all needed +stuff for that, as it’s the only way you can put the ROMs/saves/etc onto your +iPhone/iPod Touch. After that you should be able to download and run from there +:) *PS3 version of Snes9X* Name: Snes9X PS3 @@ -92,9 +93,10 @@ Maintainer: Squarepusher HOW TO GET IT RUNNING: *DISCLAIMER* You will have to do some Googling, including but not limited to: * Finding a HEN/Jailbreaker/CFW/etc onto your PS3 and installing it +* (if necessary) Downgrading/Upgrading your PS3's firmware -You'll have to install a HEN/Jailbreaker/CFW/etc on your PS3. After that, it -should be as simple as copy the emulator/ROMs over to the PS3 and it should -work :) +You’ll have to install a HEN/Jailbreaker/CFW/etc on your PS3 (you might have to +upgrade or downgrade your PS3’s firmware as needed). After that, it should be +as simple as copy the emulator/ROMs over to the PS3 and it should work :) Updated most recently by: 2011/4/19 adventure_of_link \ No newline at end of file From 37f4a9d59417a1a0f1b3225326037e1eff345b45 Mon Sep 17 00:00:00 2001 From: adventureoflink Date: Tue, 19 Apr 2011 12:11:17 -0700 Subject: [PATCH 15/25] Fixed a couple more inconsistencies --- docs/portsofsnes9x.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/portsofsnes9x.txt b/docs/portsofsnes9x.txt index 12a826bd..cc502fa2 100644 --- a/docs/portsofsnes9x.txt +++ b/docs/portsofsnes9x.txt @@ -79,7 +79,7 @@ run it from there :) Be sure to copy over your ROMs/saves/etc though. iOS: You’ll have to jailbreak your firmware and install the Cydia app installer. Then you’ll have to install the BigBoss repository within Cydia and search for Snes9X EX; you may also want to search for the sshd and all needed -stuff for that, as it’s the only way you can put the ROMs/saves/etc onto your +stuff for that, as it’s the only way you can put the ROMs, saves, etc onto your iPhone/iPod Touch. After that you should be able to download and run from there :) From cac3256b621e9a1667f47d8f9fdb32b981318381 Mon Sep 17 00:00:00 2001 From: adventureoflink Date: Tue, 19 Apr 2011 12:12:38 -0700 Subject: [PATCH 16/25] fixed a couple more inconsistencies that I missed the first time, whoops --- docs/portsofsnes9x.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/portsofsnes9x.txt b/docs/portsofsnes9x.txt index cc502fa2..5276cfb5 100644 --- a/docs/portsofsnes9x.txt +++ b/docs/portsofsnes9x.txt @@ -97,6 +97,7 @@ HOW TO GET IT RUNNING: You’ll have to install a HEN/Jailbreaker/CFW/etc on your PS3 (you might have to upgrade or downgrade your PS3’s firmware as needed). After that, it should be -as simple as copy the emulator/ROMs over to the PS3 and it should work :) +as simple as copy the emulator, ROMs, saves, etc over to the PS3 and it should +work :) Updated most recently by: 2011/4/19 adventure_of_link \ No newline at end of file From 5141d2c65e3a9139ccc88fea7cc2cf726c7b5a37 Mon Sep 17 00:00:00 2001 From: adventureoflink Date: Tue, 19 Apr 2011 12:15:56 -0700 Subject: [PATCH 17/25] fixed some inconsistencies that I forgot to fix in the Android section as well, oops --- docs/portsofsnes9x.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/portsofsnes9x.txt b/docs/portsofsnes9x.txt index 5276cfb5..f97b40cf 100644 --- a/docs/portsofsnes9x.txt +++ b/docs/portsofsnes9x.txt @@ -74,7 +74,7 @@ HOW TO GET IT RUNNING: * iOS (iPhone/iPod Touch) ONLY!!!: Jailbreaking your firmware Android: It appears you can just download from the Android app-store thingy and -run it from there :) Be sure to copy over your ROMs/saves/etc though. +run it from there :) Be sure to copy over your ROMs, saves, etc though. iOS: You’ll have to jailbreak your firmware and install the Cydia app installer. Then you’ll have to install the BigBoss repository within Cydia and From 5a23307804f10f036f420aacb51225481c143128 Mon Sep 17 00:00:00 2001 From: adventureoflink Date: Tue, 19 Apr 2011 12:24:46 -0700 Subject: [PATCH 18/25] slightly re-made the intro --- docs/portsofsnes9x.txt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/portsofsnes9x.txt b/docs/portsofsnes9x.txt index f97b40cf..d267dc07 100644 --- a/docs/portsofsnes9x.txt +++ b/docs/portsofsnes9x.txt @@ -1,11 +1,12 @@ These are all the known ports of Snes9X to other consoles/handhelds/etc as of 2011/04/19. They are all supported and welcomed on the official Snes9X site. -**If you know of anyone who is currently working on a port of Snes9X, please -have them go to the Snes9X forums (http://www.snes9x.com/phpbb2/) and have -them register an account there. After that, speak to Ryan and/or Jerremy so -you can be let into the devs area and the git so you can have access to the -most current code, collaborate with the other developers, etc.** +**If you know of anyone who is currently working on a port of Snes9X, or if you +have some interest in making a port, please have them go to the Snes9X forums +(http://www.snes9x.com/phpbb2/) and have them register an account there. After +that, speak to Ryan and/or Jerremy so you can be let into the devs area and the +git so you can have access to the most current code, collaborate with the other +developers, etc.** Ports and how to get them running are as follows: From a2bd5acf773ad45f2ddc81179c6e0e4d4aed5af7 Mon Sep 17 00:00:00 2001 From: adventureoflink Date: Tue, 19 Apr 2011 12:31:25 -0700 Subject: [PATCH 19/25] added a new part to the intro --- docs/portsofsnes9x.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/portsofsnes9x.txt b/docs/portsofsnes9x.txt index d267dc07..a9e90524 100644 --- a/docs/portsofsnes9x.txt +++ b/docs/portsofsnes9x.txt @@ -6,7 +6,7 @@ have some interest in making a port, please have them go to the Snes9X forums (http://www.snes9x.com/phpbb2/) and have them register an account there. After that, speak to Ryan and/or Jerremy so you can be let into the devs area and the git so you can have access to the most current code, collaborate with the other -developers, etc.** +developers, make the port officialized, etc.** Ports and how to get them running are as follows: From c9cb2724d9a878b12e60209835b5029f7ee05483 Mon Sep 17 00:00:00 2001 From: zones Date: Wed, 20 Apr 2011 22:33:12 +0900 Subject: [PATCH 20/25] Simpler echo buffer fix --- apu/SPC_DSP.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/apu/SPC_DSP.cpp b/apu/SPC_DSP.cpp index a05e825e..6007c2bb 100644 --- a/apu/SPC_DSP.cpp +++ b/apu/SPC_DSP.cpp @@ -717,14 +717,10 @@ inline void SPC_DSP::echo_write( int ch ) { if ( !(m.t_echo_enabled & 0x20) ) { - SET_LE16A( ECHO_PTR( ch ), m.t_echo_out [ch] ); - - if ( m.t_echo_ptr >= 0xffc0 ) - { + if ( m.t_echo_ptr >= 0xffc0 && rom_enabled ) SET_LE16A( &hi_ram [m.t_echo_ptr + ch * 2 - 0xffc0], m.t_echo_out [ch] ); - if ( rom_enabled ) - SET_LE16A( ECHO_PTR( ch ), GET_LE16A( &rom [m.t_echo_ptr + ch * 2 - 0xffc0] ) ); - } + else + SET_LE16A( ECHO_PTR( ch ), m.t_echo_out [ch] ); } m.t_echo_out [ch] = 0; From 2644641713e6c71734f4b658ac2ec95356a90808 Mon Sep 17 00:00:00 2001 From: OV2 Date: Wed, 20 Apr 2011 19:23:39 +0200 Subject: [PATCH 21/25] Expose apu debugger status; win32: expose apu debugger, add missing type --- apu/SNES_SPC.h | 1 + apu/SNES_SPC_misc.cpp | 2 ++ port.h | 1 + win32/rsrc/resource.h | 3 ++- win32/wsnes9x.cpp | 6 ++++++ 5 files changed, 12 insertions(+), 1 deletion(-) diff --git a/apu/SNES_SPC.h b/apu/SNES_SPC.h index 4b4bd47e..baf90063 100644 --- a/apu/SNES_SPC.h +++ b/apu/SNES_SPC.h @@ -124,6 +124,7 @@ public: #ifdef DEBUGGER void debug_toggle_trace( void ); + bool debug_is_enabled( void ); void debug_do_trace( int, int, int, uint8_t const *, uint8_t *, int, int, int, int ); void debug_op_print( char *, int, int, int, uint8_t const *, uint8_t *, int, int, int, int ); void debug_io_print( char * ); diff --git a/apu/SNES_SPC_misc.cpp b/apu/SNES_SPC_misc.cpp index 50b61a8f..078120d2 100644 --- a/apu/SNES_SPC_misc.cpp +++ b/apu/SNES_SPC_misc.cpp @@ -443,6 +443,8 @@ void SNES_SPC::debug_toggle_trace( void ) } } +bool SNES_SPC::debug_is_enabled( void ) { return debug_trace; } + void SNES_SPC::debug_do_trace( int a, int x, int y, uint8_t const *pc, uint8_t *sp, int psw, int c, int nz, int dp ) { char msg[512]; diff --git a/port.h b/port.h index 07c2bf2a..0e8192e5 100644 --- a/port.h +++ b/port.h @@ -249,6 +249,7 @@ typedef signed int int32; typedef unsigned int uint32; #endif typedef unsigned char uint8_t; +typedef signed char int8_t; typedef signed __int64 int64; typedef unsigned __int64 uint64; typedef int socklen_t; diff --git a/win32/rsrc/resource.h b/win32/rsrc/resource.h index 6f62d8ec..ca767abd 100644 --- a/win32/rsrc/resource.h +++ b/win32/rsrc/resource.h @@ -484,13 +484,14 @@ #define ID_WINDOW_SIZE_2X 40170 #define ID_WINDOW_SIZE_3X 40171 #define ID_WINDOW_SIZE_4X 40172 +#define ID_DEBUG_APU_TRACE 40173 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 151 -#define _APS_NEXT_COMMAND_VALUE 40173 +#define _APS_NEXT_COMMAND_VALUE 40174 #define _APS_NEXT_CONTROL_VALUE 3018 #define _APS_NEXT_SYMED_VALUE 101 #endif diff --git a/win32/wsnes9x.cpp b/win32/wsnes9x.cpp index 25e372a8..34463255 100644 --- a/win32/wsnes9x.cpp +++ b/win32/wsnes9x.cpp @@ -2232,6 +2232,9 @@ LRESULT CALLBACK WinProc( ICPU.FrameAdvanceCount = 1; Settings.Paused = FALSE; break; + case ID_DEBUG_APU_TRACE: + spc_core->debug_toggle_trace(); + break; #endif case IDM_ROM_INFO: RestoreGUIDisplay (); @@ -2579,6 +2582,7 @@ BOOL WinInit( HINSTANCE hInstance) if(GUI.hMenu) { InsertMenu(GUI.hMenu,ID_OPTIONS_SETTINGS,MF_BYCOMMAND | MF_STRING | MF_ENABLED,ID_DEBUG_FRAME_ADVANCE,TEXT("&Debug Frame Advance")); InsertMenu(GUI.hMenu,ID_OPTIONS_SETTINGS,MF_BYCOMMAND | MF_STRING | MF_ENABLED,ID_DEBUG_TRACE,TEXT("&Trace")); + InsertMenu(GUI.hMenu,ID_OPTIONS_SETTINGS,MF_BYCOMMAND | MF_STRING | MF_ENABLED,ID_DEBUG_APU_TRACE,TEXT("&APU Trace")); InsertMenu(GUI.hMenu,ID_OPTIONS_SETTINGS,MF_BYCOMMAND | MF_SEPARATOR | MF_ENABLED,NULL,NULL); } #endif @@ -3756,6 +3760,8 @@ static void CheckMenuStates () #ifdef DEBUGGER mii.fState = (CPU.Flags & TRACE_FLAG) ? MFS_CHECKED : MFS_UNCHECKED; SetMenuItemInfo (GUI.hMenu, ID_DEBUG_TRACE, FALSE, &mii); + mii.fState = (spc_core->debug_is_enabled()) ? MFS_CHECKED : MFS_UNCHECKED; + SetMenuItemInfo (GUI.hMenu, ID_DEBUG_APU_TRACE, FALSE, &mii); #endif mii.fState = (!Settings.StopEmulation) ? MFS_ENABLED : MFS_DISABLED; From df376d7041d16f674e4f314956b2b5a7477c92ec Mon Sep 17 00:00:00 2001 From: adventureoflink Date: Sat, 23 Apr 2011 22:56:15 -0700 Subject: [PATCH 22/25] Added in the newest contender to the Snes9X X-box scene: Snes9xbox! --- docs/portsofsnes9x.txt | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/docs/portsofsnes9x.txt b/docs/portsofsnes9x.txt index a9e90524..0b3d09d4 100644 --- a/docs/portsofsnes9x.txt +++ b/docs/portsofsnes9x.txt @@ -1,5 +1,5 @@ These are all the known ports of Snes9X to other consoles/handhelds/etc as of -2011/04/19. They are all supported and welcomed on the official Snes9X site. +2011/04/24. They are all supported and welcomed on the official Snes9X site. **If you know of anyone who is currently working on a port of Snes9X, or if you have some interest in making a port, please have them go to the Snes9X forums @@ -101,4 +101,18 @@ upgrade or downgrade your PS3’s firmware as needed). After that, it should be as simple as copy the emulator, ROMs, saves, etc over to the PS3 and it should work :) -Updated most recently by: 2011/4/19 adventure_of_link \ No newline at end of file +*X-Box Version of Snes9X* +Name: Snes9xbox +Latest Version: V2 (V3 should be out soon) +Homepage/forum: http://forums.xbox-scene.com/index.php?showforum=96 + +HOW TO GET IT RUNNING: +*DISCLAIMER* You will need to do some Googling, including but not limited to: +* Finding a softmod (hack) or a modchip and installing/using it +* Finding a replacement dashboard such as XBMC + +Really, it's not hard. Read the readme, and use a softmod or modchip and a +replacement dashboard. After that's installed, it should be as simple as +copying over the emulator, ROMs, saves, etc to the X-Box and it should work. + +Updated most recently by: 2011/4/24 adventure_of_link \ No newline at end of file From f51dca7a794f0f7ab421001e3e375a3539536208 Mon Sep 17 00:00:00 2001 From: zones Date: Sun, 24 Apr 2011 15:15:13 +0900 Subject: [PATCH 23/25] Update changes.txt --- docs/changes.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/changes.txt b/docs/changes.txt index 4801dc65..0f1027f6 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -13,6 +13,7 @@ Snes9x 1.53 - Fixed Dual Orb 2 sound glitch. (byuu) - New APU timing hack, fixes various games that exhibit problems with Blargg's SNES_SPC library. (OV2) +- Fixed the problem that echo buffer breaks IPL ROM. (zones, OV2) - Fixed movie snapshot unfreeze inconsistency. (gocha) - Faster config file saving. (OV2) - Fixed BlockInvalidVRAMAccess config file option. From 3410479bff128da1d358234eb450a8d93be69739 Mon Sep 17 00:00:00 2001 From: adventureoflink Date: Sun, 24 Apr 2011 05:55:45 -0700 Subject: [PATCH 24/25] Forgot to mention Rakashazi's update of Snes9X EX, my bad! --- docs/portsofsnes9x.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/portsofsnes9x.txt b/docs/portsofsnes9x.txt index 0b3d09d4..d05365cb 100644 --- a/docs/portsofsnes9x.txt +++ b/docs/portsofsnes9x.txt @@ -66,7 +66,7 @@ Gamecube: You might need a modchip. *Android and iOS (Apple iPhone/iPod Touch) version of Snes9X* Name: Snes9X EX -Latest Version: 1.3.22 +Latest Version: 1.3.23 Homepage/forum: http://www.explusalpha.com/home/snes9x-ex Maintainer: Rakashazi (on the Snes9X forums) From 3cd9a46f0084048953a632ca4e6180f47daadb81 Mon Sep 17 00:00:00 2001 From: OV2 Date: Sun, 24 Apr 2011 15:36:44 +0200 Subject: [PATCH 25/25] Apply APUAllowTimeOverflow to Mutant Chronicles - Doom Troopers (danieldematteis) --- memmap.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/memmap.cpp b/memmap.cpp index f8755064..bc5feba3 100644 --- a/memmap.cpp +++ b/memmap.cpp @@ -3546,7 +3546,8 @@ void CMemory::ApplyROMFixes (void) match_na ("NBA Hangtime") || // NBA Hang Time match_na ("MSPACMAN") || // Ms Pacman match_na ("THE MASK") || // The Mask - match_na ("PRIMAL RAGE")) // Primal Rage + match_na ("PRIMAL RAGE") || // Primal Rage + match_na ("DOOM TROOPERS")) // Doom Troopers Timings.APUAllowTimeOverflow = TRUE; }