diff --git a/msu1.cpp b/msu1.cpp index f447a5f9..e86b3bbc 100644 --- a/msu1.cpp +++ b/msu1.cpp @@ -1,3 +1,195 @@ +/*********************************************************************************** + 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), + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2006 - 2007 nitsuja + + (c) Copyright 2009 - 2016 BearOso, + OV2 + + (c) Copyright 2011 - 2016 Hans-Kristian Arntzen, + Daniel De Matteis + (Under no circumstances will commercial rights be given) + + + 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) + + S-SMP emulator code used in 1.54+ + (c) Copyright 2016 byuu + + 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 - 2016 BearOso + + Win32 GUI code + (c) Copyright 2003 - 2006 blip, + funkyass, + Matthew Kendora, + Nach, + nitsuja + (c) Copyright 2009 - 2016 OV2 + + Mac OS GUI code + (c) Copyright 1998 - 2001 John Stiles + (c) Copyright 2001 - 2011 zones + + Libretro port + (c) Copyright 2011 - 2016 Hans-Kristian Arntzen, + Daniel De Matteis + (Under no circumstances will commercial rights be given) + + MSU-1 code + (c) Copyright 2016 qwertymodo + + + 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 "snes9x.h" #include "display.h" #include "msu1.h" diff --git a/msu1.h b/msu1.h index a846a415..acfde1c9 100644 --- a/msu1.h +++ b/msu1.h @@ -1,3 +1,195 @@ +/*********************************************************************************** + 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), + + (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) + + (c) Copyright 2006 - 2007 nitsuja + + (c) Copyright 2009 - 2016 BearOso, + OV2 + + (c) Copyright 2011 - 2016 Hans-Kristian Arntzen, + Daniel De Matteis + (Under no circumstances will commercial rights be given) + + + 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) + + S-SMP emulator code used in 1.54+ + (c) Copyright 2016 byuu + + 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 - 2016 BearOso + + Win32 GUI code + (c) Copyright 2003 - 2006 blip, + funkyass, + Matthew Kendora, + Nach, + nitsuja + (c) Copyright 2009 - 2016 OV2 + + Mac OS GUI code + (c) Copyright 1998 - 2001 John Stiles + (c) Copyright 2001 - 2011 zones + + Libretro port + (c) Copyright 2011 - 2016 Hans-Kristian Arntzen, + Daniel De Matteis + (Under no circumstances will commercial rights be given) + + MSU-1 code + (c) Copyright 2016 qwertymodo + + + 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 _MSU1_H_ #define _MSU1_H_ #include "snes9x.h" diff --git a/win32/CD3DCG.cpp b/win32/CD3DCG.cpp index d5458cb6..9a4cf435 100644 --- a/win32/CD3DCG.cpp +++ b/win32/CD3DCG.cpp @@ -383,7 +383,7 @@ bool CD3DCG::LoadShader(const TCHAR *shaderFile) hr = pDevice->CreateVertexBuffer(sizeof(VERTEX)*4,D3DUSAGE_WRITEONLY,0,D3DPOOL_MANAGED,&pass.vertexBuffer,NULL); if(FAILED(hr)) { pass.vertexBuffer = NULL; - DXTRACE_ERR_MSGBOX(TEXT("Error creating vertex buffer"), hr); + DXTRACE_ERR_MSGBOX(TEXT(L"Error creating vertex buffer"), hr); return false; } @@ -449,7 +449,7 @@ void CD3DCG::ensureTextureSize(LPDIRECT3DTEXTURE9 &tex, D3DXVECTOR2 &texSize, texSize = wantedSize; if(FAILED(hr)) { - DXTRACE_ERR_MSGBOX(TEXT("Error while creating texture"), hr); + DXTRACE_ERR_MSGBOX(TEXT(L"Error while creating texture"), hr); return; } } @@ -860,7 +860,7 @@ void CD3DCG::setupVertexDeclaration(shaderPass &pass) LPDIRECT3DVERTEXDECLARATION9 vertexDeclaration; HRESULT hr = pDevice->CreateVertexDeclaration(vElems,&vertexDeclaration); if(FAILED(hr)) { - DXTRACE_ERR_MSGBOX(TEXT("Error creating vertex declaration"), hr); + DXTRACE_ERR_MSGBOX(TEXT(L"Error creating vertex declaration"), hr); } if(pass.vertexDeclaration) pass.vertexDeclaration->Release(); diff --git a/win32/CDirect3D.cpp b/win32/CDirect3D.cpp index 1c69d49d..7bcd0852 100644 --- a/win32/CDirect3D.cpp +++ b/win32/CDirect3D.cpp @@ -272,7 +272,7 @@ bool CDirect3D::Initialize(HWND hWnd) pD3D = Direct3DCreate9(D3D_SDK_VERSION); if(pD3D == NULL) { - DXTRACE_ERR_MSGBOX(TEXT("Error creating initial D3D9 object"), 0); + DXTRACE_ERR_MSGBOX(TEXT(L"Error creating initial D3D9 object"), 0); return false; } @@ -290,19 +290,19 @@ bool CDirect3D::Initialize(HWND hWnd) &dPresentParams, &pDevice); if(FAILED(hr)) { - DXTRACE_ERR_MSGBOX(TEXT("Error creating D3D9 device"), hr); + DXTRACE_ERR_MSGBOX(TEXT(L"Error creating D3D9 device"), hr); return false; } hr = pDevice->CreateVertexBuffer(sizeof(vertexStream),D3DUSAGE_WRITEONLY,0,D3DPOOL_MANAGED,&vertexBuffer,NULL); if(FAILED(hr)) { - DXTRACE_ERR_MSGBOX(TEXT("Error creating vertex buffer"), hr); + DXTRACE_ERR_MSGBOX(TEXT(L"Error creating vertex buffer"), hr); return false; } hr = pDevice->CreateVertexDeclaration(vertexElems,&vertexDeclaration); if(FAILED(hr)) { - DXTRACE_ERR_MSGBOX(TEXT("Error creating vertex declaration"), hr); + DXTRACE_ERR_MSGBOX(TEXT(L"Error creating vertex declaration"), hr); return false; } @@ -312,7 +312,7 @@ bool CDirect3D::Initialize(HWND hWnd) cgContext = cgCreateContext(); hr = cgD3D9SetDevice(pDevice); if(FAILED(hr)) { - DXTRACE_ERR_MSGBOX(TEXT("Error setting cg device"), hr); + DXTRACE_ERR_MSGBOX(TEXT(L"Error setting cg device"), hr); } cgShader = new CD3DCG(cgContext,pDevice); } @@ -650,14 +650,14 @@ void CDirect3D::Render(SSurface Src) ResetDevice(); return; default: - DXTRACE_ERR_MSGBOX( TEXT("Internal driver error"), hr); + DXTRACE_ERR_MSGBOX( TEXT(L"Internal driver error"), hr); return; } } //BlankTexture(drawSurface); if(FAILED(hr = drawSurface->LockRect(0, &lr, NULL, 0))) { - DXTRACE_ERR_MSGBOX( TEXT("Unable to lock texture"), hr); + DXTRACE_ERR_MSGBOX( TEXT(L"Unable to lock texture"), hr); return; } else { Dst.Surface = (unsigned char *)lr.pBits; @@ -757,7 +757,7 @@ void CDirect3D::CreateDrawSurface() NULL ); if(FAILED(hr)) { - DXTRACE_ERR_MSGBOX(TEXT("Error while creating texture"), hr); + DXTRACE_ERR_MSGBOX(TEXT(L"Error while creating texture"), hr); return; } } @@ -787,7 +787,7 @@ bool CDirect3D::BlankTexture(LPDIRECT3DTEXTURE9 texture) HRESULT hr; if(FAILED(hr = texture->LockRect(0, &lr, NULL, 0))) { - DXTRACE_ERR_MSGBOX( TEXT("Unable to lock texture"), hr); + DXTRACE_ERR_MSGBOX( TEXT(L"Unable to lock texture"), hr); return false; } else { memset(lr.pBits, 0, lr.Pitch * quadTextureSize); @@ -938,7 +938,7 @@ bool CDirect3D::ResetDevice() } if(FAILED(hr = pDevice->Reset(&dPresentParams))) { - DXTRACE_ERR(TEXT("Unable to reset device"), hr); + DXTRACE_ERR(TEXT(L"Unable to reset device"), hr); return false; } diff --git a/win32/CXAudio2.cpp b/win32/CXAudio2.cpp index fa54ae00..5f07a0ef 100644 --- a/win32/CXAudio2.cpp +++ b/win32/CXAudio2.cpp @@ -234,7 +234,7 @@ bool CXAudio2::InitXAudio2(void) HRESULT hr; if ( FAILED(hr = XAudio2Create( &pXAudio2, 0 , XAUDIO2_DEFAULT_PROCESSOR ) ) ) { - DXTRACE_ERR_MSGBOX(TEXT("Unable to create XAudio2 object."),hr); + DXTRACE_ERR_MSGBOX(TEXT(L"Unable to create XAudio2 object."),hr); MessageBox (GUI.hWnd, TEXT("\ Unable to initialize XAudio2. You will not be able to hear any\n\ sound effects or music while playing.\n\n\ @@ -257,7 +257,7 @@ bool CXAudio2::InitVoices(void) HRESULT hr; if ( FAILED(hr = pXAudio2->CreateMasteringVoice( &pMasterVoice, (Settings.Stereo?2:1), Settings.SoundPlaybackRate, 0, 0 , NULL ) ) ) { - DXTRACE_ERR_MSGBOX(TEXT("Unable to create mastering voice."),hr); + DXTRACE_ERR_MSGBOX(TEXT(L"Unable to create mastering voice."),hr); return false; } @@ -272,7 +272,7 @@ bool CXAudio2::InitVoices(void) if( FAILED(hr = pXAudio2->CreateSourceVoice(&pSourceVoice, (WAVEFORMATEX*)&wfx, XAUDIO2_VOICE_NOSRC , XAUDIO2_DEFAULT_FREQ_RATIO, this, NULL, NULL ) ) ) { - DXTRACE_ERR_MSGBOX(TEXT("Unable to create source voice."),hr); + DXTRACE_ERR_MSGBOX(TEXT(L"Unable to create source voice."),hr); return false; }