diff --git a/plugins/GSnull/GS.cpp b/plugins/GSnull/GS.cpp
index b524ce8349..5a159f87c0 100644
--- a/plugins/GSnull/GS.cpp
+++ b/plugins/GSnull/GS.cpp
@@ -1,259 +1,259 @@
-/*  GSnull
- *  Copyright (C) 2004-2009 PCSX2 Team
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <string>
-
-#include <stdio.h>
-#include <assert.h>
-
-using namespace std;
-
-#include "GS.h"
-#include "null/GSnull.h"
-
-const unsigned char version  = PS2E_GS_VERSION;
-const unsigned char revision = 0;
-const unsigned char build    = 1;    // increase that with each version
-
-static char *libraryName = "GSnull Driver";
-FILE *gsLog;
-Config conf;
-u32 GSKeyEvent = 0;
-bool GSShift = false, GSAlt = false;
-
-string s_strIniPath="inis/GSnull.ini";
-void (*GSirq)();
-
-EXPORT_C_(u32) PS2EgetLibType() 
-{
-	return PS2E_LT_GS;
-}
-
-EXPORT_C_(char*) PS2EgetLibName() 
-{
-	return libraryName;
-}
-
-EXPORT_C_(u32) PS2EgetLibVersion2(u32 type) 
-{
-	return (version<<16) | (revision<<8) | build;
-}
-
-void __Log(char *fmt, ...) 
-{
-	va_list list;
-
-	if (!conf.Log || gsLog == NULL) return;
-
-	va_start(list, fmt);
-	vfprintf(gsLog, fmt, list);
-	va_end(list);
-}
-
-EXPORT_C_(void) GSprintf(int timeout, char *fmt, ...)
-{
-	va_list list;
-	char msg[512];
-
-	va_start(list, fmt);
-	vsprintf(msg, fmt, list);
-	va_end(list);
-
-	GS_LOG("GSprintf:%s", msg);
-	printf("GSprintf:%s", msg);
-}
-
-void SysPrintf(const char *fmt, ...)
-{
-	va_list list;
-	char msg[512];
-
-	va_start(list, fmt);
-	vsprintf(msg, fmt, list);
-	va_end(list);
-
-	GS_LOG(msg);
-	printf("GSnull:%s", msg);
-}
-
-// basic funcs
-
-EXPORT_C_(s32) GSinit()
-{
-	LoadConfig();
-	
-#ifdef GS_LOG
-	gsLog = fopen("logs/gsLog.txt", "w");
-	if (gsLog) setvbuf(gsLog, NULL,  _IONBF, 0);
-	GS_LOG("GSnull plugin version %d,%d\n",revision,build);
-	GS_LOG("GS init\n");
-#endif
-
-	SysPrintf("Initializing GSnull\n");
-	return 0;
-}
-
-EXPORT_C_(void) GSshutdown()
-{
-#ifdef GS_LOG
-	if (gsLog) fclose(gsLog);
-#endif
-	
-	SysPrintf("Shutting down GSnull\n");
-}
-
-EXPORT_C_(s32) GSopen(void *pDsp, char *Title, int multithread)
-{
-	int err = 0;
-#ifdef GS_LOG
-	GS_LOG("GS open\n");
-#endif
-	//assert( GSirq != NULL );
-	
-	err = GSOpenWindow(pDsp, Title);
-
-	SysPrintf("Opening GSnull\n");
-	return err;
-}
-
-EXPORT_C_(void) GSclose()
-{
-	SysPrintf("Closing GSnull\n");
-	GSCloseWindow();
-}
-
-EXPORT_C_(void) GSirqCallback(void (*callback)()) 
-{
-        GSirq = callback;
-}
-
-EXPORT_C_(s32) GSfreeze(int mode, freezeData *data) 
-{
-	return 0;
-}
-
-EXPORT_C_(s32) GStest() 
-{
-	SysPrintf("Testing GSnull\n");
-	return 0;
-}
-
-EXPORT_C_(void) GSvsync(int field)
-{
-	GSProcessMessages();
-}
-
-EXPORT_C_(void) GSgifTransfer1(u32 *pMem, u32 addr)
-{
-	_GSgifTransfer1(pMem, addr);
-}
-
-EXPORT_C_(void) GSgifTransfer2(u32 *pMem, u32 size)
-{
-	_GSgifTransfer2(pMem, size);
-}
-
-EXPORT_C_(void) GSgifTransfer3(u32 *pMem, u32 size)
-{
-	_GSgifTransfer3(pMem, size);
-}
-
- // returns the last tag processed (64 bits)
-EXPORT_C_(void) GSgetLastTag(u64* ptag)
-{
-}
-
-EXPORT_C_(void) GSgifSoftReset(u32 mask)
-{
-	SysPrintf("Doing a soft reset of the GS plugin.\n");
-}
-
-EXPORT_C_(void) GSreadFIFO(u64 *mem)
-{
-}
-
-EXPORT_C_(void) GSreadFIFO2(u64 *mem, int qwc)
-{
-}
-
-// extended funcs
-
-// GSkeyEvent gets called when there is a keyEvent from the PAD plugin
-EXPORT_C_(void) GSkeyEvent(keyEvent *ev)
-{
-	HandleKeyEvent(ev);
-}
-
-EXPORT_C_(void) GSchangeSaveState(int, const char* filename)
-{
-}
-
-EXPORT_C_(void) GSmakeSnapshot(char *path)
-{
-	
-	SysPrintf("Taking a snapshot.\n");
-}
-
-EXPORT_C_(void) GSmakeSnapshot2(char *pathname, int* snapdone, int savejpg)
-{
-	SysPrintf("Taking a snapshot to %s.\n", pathname);
-}
-
-EXPORT_C_(void) GSsetBaseMem(void*)
-{
-}
-
-EXPORT_C_(void) GSsetGameCRC(int crc, int gameoptions)
-{
-	SysPrintf("Setting the crc to '%x' with 0x%x for options.\n", crc, gameoptions);
-}
-
-// controls frame skipping in the GS, if this routine isn't present, frame skipping won't be done
-EXPORT_C_(void) GSsetFrameSkip(int frameskip)
-{
-	SysPrintf("Frameskip set to %d.\n", frameskip);
-}
-
-// if start is 1, starts recording spu2 data, else stops
-// returns a non zero value if successful
-// for now, pData is not used
-EXPORT_C_(int) GSsetupRecording(int start, void* pData)
-{
-	if (start)
-		SysPrintf("Pretending to record.\n");
-	else 
-		SysPrintf("Pretending to stop recording.\n");
-	
-	return 1;
-}
-
-EXPORT_C_(void) GSreset()
-{
-	SysPrintf("Doing a reset of the GS plugin.");
-}
-
-EXPORT_C_(void) GSwriteCSR(u32 value)
-{
-}
-
-EXPORT_C_(void) GSgetDriverInfo(GSdriverInfo *info)
-{
-}
+/*  GSnull
+ *  Copyright (C) 2004-2009 PCSX2 Team
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <string>
+
+#include <stdio.h>
+#include <assert.h>
+
+using namespace std;
+
+#include "GS.h"
+#include "null/GSnull.h"
+
+const unsigned char version  = PS2E_GS_VERSION;
+const unsigned char revision = 0;
+const unsigned char build    = 1;    // increase that with each version
+
+static char *libraryName = "GSnull Driver";
+FILE *gsLog;
+Config conf;
+u32 GSKeyEvent = 0;
+bool GSShift = false, GSAlt = false;
+
+string s_strIniPath="inis/GSnull.ini";
+void (*GSirq)();
+
+EXPORT_C_(u32) PS2EgetLibType() 
+{
+	return PS2E_LT_GS;
+}
+
+EXPORT_C_(char*) PS2EgetLibName() 
+{
+	return libraryName;
+}
+
+EXPORT_C_(u32) PS2EgetLibVersion2(u32 type) 
+{
+	return (version<<16) | (revision<<8) | build;
+}
+
+void __Log(char *fmt, ...) 
+{
+	va_list list;
+
+	if (!conf.Log || gsLog == NULL) return;
+
+	va_start(list, fmt);
+	vfprintf(gsLog, fmt, list);
+	va_end(list);
+}
+
+EXPORT_C_(void) GSprintf(int timeout, char *fmt, ...)
+{
+	va_list list;
+	char msg[512];
+
+	va_start(list, fmt);
+	vsprintf(msg, fmt, list);
+	va_end(list);
+
+	GS_LOG("GSprintf:%s", msg);
+	printf("GSprintf:%s", msg);
+}
+
+void SysPrintf(const char *fmt, ...)
+{
+	va_list list;
+	char msg[512];
+
+	va_start(list, fmt);
+	vsprintf(msg, fmt, list);
+	va_end(list);
+
+	GS_LOG(msg);
+	printf("GSnull:%s", msg);
+}
+
+// basic funcs
+
+EXPORT_C_(s32) GSinit()
+{
+	LoadConfig();
+	
+#ifdef GS_LOG
+	gsLog = fopen("logs/gsLog.txt", "w");
+	if (gsLog) setvbuf(gsLog, NULL,  _IONBF, 0);
+	GS_LOG("GSnull plugin version %d,%d\n",revision,build);
+	GS_LOG("GS init\n");
+#endif
+
+	SysPrintf("Initializing GSnull\n");
+	return 0;
+}
+
+EXPORT_C_(void) GSshutdown()
+{
+#ifdef GS_LOG
+	if (gsLog) fclose(gsLog);
+#endif
+	
+	SysPrintf("Shutting down GSnull\n");
+}
+
+EXPORT_C_(s32) GSopen(void *pDsp, char *Title, int multithread)
+{
+	int err = 0;
+#ifdef GS_LOG
+	GS_LOG("GS open\n");
+#endif
+	//assert( GSirq != NULL );
+	
+	err = GSOpenWindow(pDsp, Title);
+
+	SysPrintf("Opening GSnull\n");
+	return err;
+}
+
+EXPORT_C_(void) GSclose()
+{
+	SysPrintf("Closing GSnull\n");
+	GSCloseWindow();
+}
+
+EXPORT_C_(void) GSirqCallback(void (*callback)()) 
+{
+        GSirq = callback;
+}
+
+EXPORT_C_(s32) GSfreeze(int mode, freezeData *data) 
+{
+	return 0;
+}
+
+EXPORT_C_(s32) GStest() 
+{
+	SysPrintf("Testing GSnull\n");
+	return 0;
+}
+
+EXPORT_C_(void) GSvsync(int field)
+{
+	GSProcessMessages();
+}
+
+EXPORT_C_(void) GSgifTransfer1(u32 *pMem, u32 addr)
+{
+	_GSgifTransfer1(pMem, addr);
+}
+
+EXPORT_C_(void) GSgifTransfer2(u32 *pMem, u32 size)
+{
+	_GSgifTransfer2(pMem, size);
+}
+
+EXPORT_C_(void) GSgifTransfer3(u32 *pMem, u32 size)
+{
+	_GSgifTransfer3(pMem, size);
+}
+
+ // returns the last tag processed (64 bits)
+EXPORT_C_(void) GSgetLastTag(u64* ptag)
+{
+}
+
+EXPORT_C_(void) GSgifSoftReset(u32 mask)
+{
+	SysPrintf("Doing a soft reset of the GS plugin.\n");
+}
+
+EXPORT_C_(void) GSreadFIFO(u64 *mem)
+{
+}
+
+EXPORT_C_(void) GSreadFIFO2(u64 *mem, int qwc)
+{
+}
+
+// extended funcs
+
+// GSkeyEvent gets called when there is a keyEvent from the PAD plugin
+EXPORT_C_(void) GSkeyEvent(keyEvent *ev)
+{
+	HandleKeyEvent(ev);
+}
+
+EXPORT_C_(void) GSchangeSaveState(int, const char* filename)
+{
+}
+
+EXPORT_C_(void) GSmakeSnapshot(char *path)
+{
+	
+	SysPrintf("Taking a snapshot.\n");
+}
+
+EXPORT_C_(void) GSmakeSnapshot2(char *pathname, int* snapdone, int savejpg)
+{
+	SysPrintf("Taking a snapshot to %s.\n", pathname);
+}
+
+EXPORT_C_(void) GSsetBaseMem(void*)
+{
+}
+
+EXPORT_C_(void) GSsetGameCRC(int crc, int gameoptions)
+{
+	SysPrintf("Setting the crc to '%x' with 0x%x for options.\n", crc, gameoptions);
+}
+
+// controls frame skipping in the GS, if this routine isn't present, frame skipping won't be done
+EXPORT_C_(void) GSsetFrameSkip(int frameskip)
+{
+	SysPrintf("Frameskip set to %d.\n", frameskip);
+}
+
+// if start is 1, starts recording spu2 data, else stops
+// returns a non zero value if successful
+// for now, pData is not used
+EXPORT_C_(int) GSsetupRecording(int start, void* pData)
+{
+	if (start)
+		SysPrintf("Pretending to record.\n");
+	else 
+		SysPrintf("Pretending to stop recording.\n");
+	
+	return 1;
+}
+
+EXPORT_C_(void) GSreset()
+{
+	SysPrintf("Doing a reset of the GS plugin.");
+}
+
+EXPORT_C_(void) GSwriteCSR(u32 value)
+{
+}
+
+EXPORT_C_(void) GSgetDriverInfo(GSdriverInfo *info)
+{
+}
diff --git a/plugins/GSnull/GS.h b/plugins/GSnull/GS.h
index 6c1c46e088..286aba1899 100644
--- a/plugins/GSnull/GS.h
+++ b/plugins/GSnull/GS.h
@@ -1,74 +1,74 @@
-/*  GSnull
- *  Copyright (C) 2004-2009 PCSX2 Team
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#ifndef __GS_H__
-#define __GS_H__
-
-struct _keyEvent;
-typedef struct _keyEvent keyEvent;
-
-#include <stdio.h>
+/*  GSnull
+ *  Copyright (C) 2004-2009 PCSX2 Team
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef __GS_H__
+#define __GS_H__
+
+struct _keyEvent;
+typedef struct _keyEvent keyEvent;
+
+#include <stdio.h>
 #include "Pcsx2Defs.h"
-
-#ifdef _WIN32
-#	include "Windows/GSwin.h"
-#endif
-
-#ifdef __LINUX__
-#	include "Linux/GSLinux.h"
-#endif
-
-#define GSdefs
-#include "PS2Edefs.h"
-
-#include "Registers.h"
-#include "null/GSnull.h"
-
-/*#ifdef _MSC_VER
-#define EXPORT_C_(type) extern "C" __declspec(dllexport) type CALLBACK
-#else
-#define EXPORT_C_(type) extern "C" type
-#endif*/
-
-#ifdef _MSC_VER
-#define EXPORT_C_(type) extern "C" type CALLBACK
-#else
-#define EXPORT_C_(type) extern "C" type
-#endif
-
-#define GS_LOG __Log
-
-typedef struct
-{
-	int Log;
-} Config;
-
-extern Config conf;
-extern FILE *gsLog;
-extern u32 GSKeyEvent;
-extern bool GSShift, GSAlt;
-
-extern void (*GSirq)();
-
-extern void __Log(char *fmt, ...);
-extern void SysMessage(char *fmt, ...);
-extern void SysPrintf(const char *fmt, ...);
-extern void SaveConfig();
-extern void LoadConfig();
-
+
+#ifdef _WIN32
+#	include "Windows/GSwin.h"
+#endif
+
+#ifdef __LINUX__
+#	include "Linux/GSLinux.h"
+#endif
+
+#define GSdefs
+#include "PS2Edefs.h"
+
+#include "Registers.h"
+#include "null/GSnull.h"
+
+/*#ifdef _MSC_VER
+#define EXPORT_C_(type) extern "C" __declspec(dllexport) type CALLBACK
+#else
+#define EXPORT_C_(type) extern "C" type
+#endif*/
+
+#ifdef _MSC_VER
+#define EXPORT_C_(type) extern "C" type CALLBACK
+#else
+#define EXPORT_C_(type) extern "C" type
+#endif
+
+#define GS_LOG __Log
+
+typedef struct
+{
+	int Log;
+} Config;
+
+extern Config conf;
+extern FILE *gsLog;
+extern u32 GSKeyEvent;
+extern bool GSShift, GSAlt;
+
+extern void (*GSirq)();
+
+extern void __Log(char *fmt, ...);
+extern void SysMessage(char *fmt, ...);
+extern void SysPrintf(const char *fmt, ...);
+extern void SaveConfig();
+extern void LoadConfig();
+
 #endif
diff --git a/plugins/GSnull/GifTransfer.cpp b/plugins/GSnull/GifTransfer.cpp
index 1bde837c73..8fb494daac 100644
--- a/plugins/GSnull/GifTransfer.cpp
+++ b/plugins/GSnull/GifTransfer.cpp
@@ -1,259 +1,259 @@
-/*  GSnull
- *  Copyright (C) 2004-2009 PCSX2 Team
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
- // Processes a GIFtag & packet, and throws out some gsIRQs as needed.
-// Used to keep interrupts in sync with the EE, while the GS itself
-// runs potentially several frames behind.
-// size - size of the packet in simd128's
-
-#include "GS.h"
-#include "GifTransfer.h"
-
-using namespace std;
-
-u32 CSRw;
-GIFPath m_path[3];
-bool Path3transfer;
-
-PCSX2_ALIGNED16( u8 g_RealGSMem[0x2000] );
-#define GSCSRr *((u64*)(g_RealGSMem+0x1000))
-#define GSIMR *((u32*)(g_RealGSMem+0x1010))
-#define GSSIGLBLID ((GSRegSIGBLID*)(g_RealGSMem+0x1080))
-
-static void RegHandlerSIGNAL(const u32* data)
-{
-	GSSIGLBLID->SIGID = (GSSIGLBLID->SIGID&~data[1])|(data[0]&data[1]);
-
-	if ((CSRw & 0x1))  GSCSRr |= 1; // signal
-
-	if (!(GSIMR & 0x100) ) GSirq();
-}
-
-static void RegHandlerFINISH(const u32* data)
-{
-	if ((CSRw & 0x2))  GSCSRr |= 2; // finish
-
-	if (!(GSIMR & 0x200) ) GSirq();
-
-}
-
-static void RegHandlerLABEL(const u32* data)
-{
-	GSSIGLBLID->LBLID = (GSSIGLBLID->LBLID&~data[1])|(data[0]&data[1]);
-}
-
-typedef void (*GIFRegHandler)(const u32* data);
-static GIFRegHandler s_GSHandlers[3] =
-{
-	RegHandlerSIGNAL, RegHandlerFINISH, RegHandlerLABEL
-};
-
-__forceinline void GIFPath::PrepRegs()
-{
-	if( tag.nreg == 0 )
-	{
-		u32 tempreg = tag.regs[0];
-		for(u32 i=0; i<16; ++i, tempreg >>= 4)
-		{
-			if( i == 8 ) tempreg = tag.regs[1];
-			assert( (tempreg&0xf) < 0x64 );
-			regs[i] = tempreg & 0xf;
-		}
-	}
-	else
-	{
-		u32 tempreg = tag.regs[0];
-		for(u32 i=0; i<tag.nreg; ++i, tempreg >>= 4)
-		{
-			assert( (tempreg&0xf) < 0x64 );
-			regs[i] = tempreg & 0xf;
-		}
-	}
-}
-
-void GIFPath::SetTag(const void* mem)
-{
-	tag = *((GIFTAG*)mem);
-	curreg = 0;
-
-	PrepRegs();
-}
-
-u32 GIFPath::GetReg()
-{
-	return regs[curreg];
-}
-
-bool GIFPath::StepReg()
-{
-	if ((++curreg & 0xf) == tag.nreg) {
-		curreg = 0;
-		if (--tag.nloop == 0) {
-			return false;
-		}
-	}
-	return true;
-}
-
-__forceinline u32 _gifTransfer( GIF_PATH pathidx, const u8* pMem, u32 size )
-{	GIFPath& path = m_path[pathidx];
-
-	while(size > 0)
-	{
-		if(path.tag.nloop == 0)
-		{
-			path.SetTag( pMem );
-
-			pMem += sizeof(GIFTAG);
-			--size;
-
-			if(pathidx == 2 && path.tag.eop)
-			{
-				Path3transfer = FALSE;
-			}
-
-			if( pathidx == 0 )
-			{
-				// hack: if too much data for VU1, just ignore.
-
-				// The GIF is evil : if nreg is 0, it's really 16.  Otherwise it's the value in nreg.
-				const int numregs = ((path.tag.nreg-1)&15)+1;
-
-				if((path.tag.nloop * numregs) > (size * ((path.tag.flg == 1) ? 2 : 1)))
-				{
-					path.tag.nloop = 0;
-					return ++size;
-				}
-			}
-		}
-		else
-		{
-			// NOTE: size > 0 => do {} while(size > 0); should be faster than while(size > 0) {}
-
-			switch(path.tag.flg)
-			{
-			case GIF_FLG_PACKED:
-
-				do
-				{
-					if( path.GetReg() == 0xe )
-					{
-						const int handler = pMem[8];
-						if(handler >= 0x60 && handler < 0x63)
-							s_GSHandlers[handler&0x3]((const u32*)pMem);
-					}
-
-					size--;
-					pMem += 16; // 128 bits! //sizeof(GIFPackedReg);
-				}
-				while(path.StepReg() && size > 0);
-
-			break;
-
-			case GIF_FLG_REGLIST:
-
-				size *= 2;
-
-				do
-				{
-					const int handler = path.GetReg();
-					if(handler >= 0x60 && handler < 0x63)
-						s_GSHandlers[handler&0x3]((const u32*)pMem);
-
-					size--;
-					pMem += 8; //sizeof(GIFReg); -- 64 bits!
-				}
-				while(path.StepReg() && size > 0);
-
-				if(size & 1) pMem += 8; //sizeof(GIFReg);
-
-				size /= 2;
-
-			break;
-
-			case GIF_FLG_IMAGE2: // hmmm
-				assert(0);
-				path.tag.nloop = 0;
-
-			break;
-
-			case GIF_FLG_IMAGE:
-			{
-				int len = (int)min(size, path.tag.nloop);
-
-				pMem += len * 16;
-				path.tag.nloop -= len;
-				size -= len;
-			}
-			break;
-
-			jNO_DEFAULT;
-
-			}
-		}
-
-		if(pathidx == 0)
-		{
-			if(path.tag.eop && path.tag.nloop == 0)
-			{
-				break;
-			}
-		}
-	}
-
-	if(pathidx == 0)
-	{
-		if(size == 0 && path.tag.nloop > 0)
-		{
-			path.tag.nloop = 0;
-			SysPrintf( "path1 hack! \n" );
-
-			// This means that the giftag data got screwly somewhere
-			// along the way (often means curreg was in a bad state or something)
-		}
-	}
-
-	return size;
-}
-
-// This currently segfaults in the beginning of KH1 if defined.
-//#define DO_GIF_TRANSFERS
-
-void _GSgifTransfer1(u32 *pMem, u32 addr)
-{
-#ifdef DO_GIF_TRANSFERS
-	/* This needs looking at, since I quickly grabbed it from ZeroGS. */
-	addr &= 0x3fff;
-	_gifTransfer( GIF_PATH_1, ((u8*)pMem+(u8)addr), (0x4000-addr)/16);
-#endif
-}
-
-void _GSgifTransfer2(u32 *pMem, u32 size)
-{
-#ifdef DO_GIF_TRANSFERS
-	_gifTransfer( GIF_PATH_2, (u8*)pMem, size);
-#endif
-}
-
-void _GSgifTransfer3(u32 *pMem, u32 size)
-{
-#ifdef DO_GIF_TRANSFERS
-	_gifTransfer( GIF_PATH_3, (u8*)pMem, size);
-#endif
-}
-
+/*  GSnull
+ *  Copyright (C) 2004-2009 PCSX2 Team
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+ // Processes a GIFtag & packet, and throws out some gsIRQs as needed.
+// Used to keep interrupts in sync with the EE, while the GS itself
+// runs potentially several frames behind.
+// size - size of the packet in simd128's
+
+#include "GS.h"
+#include "GifTransfer.h"
+
+using namespace std;
+
+u32 CSRw;
+GIFPath m_path[3];
+bool Path3transfer;
+
+PCSX2_ALIGNED16( u8 g_RealGSMem[0x2000] );
+#define GSCSRr *((u64*)(g_RealGSMem+0x1000))
+#define GSIMR *((u32*)(g_RealGSMem+0x1010))
+#define GSSIGLBLID ((GSRegSIGBLID*)(g_RealGSMem+0x1080))
+
+static void RegHandlerSIGNAL(const u32* data)
+{
+	GSSIGLBLID->SIGID = (GSSIGLBLID->SIGID&~data[1])|(data[0]&data[1]);
+
+	if ((CSRw & 0x1))  GSCSRr |= 1; // signal
+
+	if (!(GSIMR & 0x100) ) GSirq();
+}
+
+static void RegHandlerFINISH(const u32* data)
+{
+	if ((CSRw & 0x2))  GSCSRr |= 2; // finish
+
+	if (!(GSIMR & 0x200) ) GSirq();
+
+}
+
+static void RegHandlerLABEL(const u32* data)
+{
+	GSSIGLBLID->LBLID = (GSSIGLBLID->LBLID&~data[1])|(data[0]&data[1]);
+}
+
+typedef void (*GIFRegHandler)(const u32* data);
+static GIFRegHandler s_GSHandlers[3] =
+{
+	RegHandlerSIGNAL, RegHandlerFINISH, RegHandlerLABEL
+};
+
+__forceinline void GIFPath::PrepRegs()
+{
+	if( tag.nreg == 0 )
+	{
+		u32 tempreg = tag.regs[0];
+		for(u32 i=0; i<16; ++i, tempreg >>= 4)
+		{
+			if( i == 8 ) tempreg = tag.regs[1];
+			assert( (tempreg&0xf) < 0x64 );
+			regs[i] = tempreg & 0xf;
+		}
+	}
+	else
+	{
+		u32 tempreg = tag.regs[0];
+		for(u32 i=0; i<tag.nreg; ++i, tempreg >>= 4)
+		{
+			assert( (tempreg&0xf) < 0x64 );
+			regs[i] = tempreg & 0xf;
+		}
+	}
+}
+
+void GIFPath::SetTag(const void* mem)
+{
+	tag = *((GIFTAG*)mem);
+	curreg = 0;
+
+	PrepRegs();
+}
+
+u32 GIFPath::GetReg()
+{
+	return regs[curreg];
+}
+
+bool GIFPath::StepReg()
+{
+	if ((++curreg & 0xf) == tag.nreg) {
+		curreg = 0;
+		if (--tag.nloop == 0) {
+			return false;
+		}
+	}
+	return true;
+}
+
+__forceinline u32 _gifTransfer( GIF_PATH pathidx, const u8* pMem, u32 size )
+{	GIFPath& path = m_path[pathidx];
+
+	while(size > 0)
+	{
+		if(path.tag.nloop == 0)
+		{
+			path.SetTag( pMem );
+
+			pMem += sizeof(GIFTAG);
+			--size;
+
+			if(pathidx == 2 && path.tag.eop)
+			{
+				Path3transfer = FALSE;
+			}
+
+			if( pathidx == 0 )
+			{
+				// hack: if too much data for VU1, just ignore.
+
+				// The GIF is evil : if nreg is 0, it's really 16.  Otherwise it's the value in nreg.
+				const int numregs = ((path.tag.nreg-1)&15)+1;
+
+				if((path.tag.nloop * numregs) > (size * ((path.tag.flg == 1) ? 2 : 1)))
+				{
+					path.tag.nloop = 0;
+					return ++size;
+				}
+			}
+		}
+		else
+		{
+			// NOTE: size > 0 => do {} while(size > 0); should be faster than while(size > 0) {}
+
+			switch(path.tag.flg)
+			{
+			case GIF_FLG_PACKED:
+
+				do
+				{
+					if( path.GetReg() == 0xe )
+					{
+						const int handler = pMem[8];
+						if(handler >= 0x60 && handler < 0x63)
+							s_GSHandlers[handler&0x3]((const u32*)pMem);
+					}
+
+					size--;
+					pMem += 16; // 128 bits! //sizeof(GIFPackedReg);
+				}
+				while(path.StepReg() && size > 0);
+
+			break;
+
+			case GIF_FLG_REGLIST:
+
+				size *= 2;
+
+				do
+				{
+					const int handler = path.GetReg();
+					if(handler >= 0x60 && handler < 0x63)
+						s_GSHandlers[handler&0x3]((const u32*)pMem);
+
+					size--;
+					pMem += 8; //sizeof(GIFReg); -- 64 bits!
+				}
+				while(path.StepReg() && size > 0);
+
+				if(size & 1) pMem += 8; //sizeof(GIFReg);
+
+				size /= 2;
+
+			break;
+
+			case GIF_FLG_IMAGE2: // hmmm
+				assert(0);
+				path.tag.nloop = 0;
+
+			break;
+
+			case GIF_FLG_IMAGE:
+			{
+				int len = (int)min(size, path.tag.nloop);
+
+				pMem += len * 16;
+				path.tag.nloop -= len;
+				size -= len;
+			}
+			break;
+
+			jNO_DEFAULT;
+
+			}
+		}
+
+		if(pathidx == 0)
+		{
+			if(path.tag.eop && path.tag.nloop == 0)
+			{
+				break;
+			}
+		}
+	}
+
+	if(pathidx == 0)
+	{
+		if(size == 0 && path.tag.nloop > 0)
+		{
+			path.tag.nloop = 0;
+			SysPrintf( "path1 hack! \n" );
+
+			// This means that the giftag data got screwly somewhere
+			// along the way (often means curreg was in a bad state or something)
+		}
+	}
+
+	return size;
+}
+
+// This currently segfaults in the beginning of KH1 if defined.
+//#define DO_GIF_TRANSFERS
+
+void _GSgifTransfer1(u32 *pMem, u32 addr)
+{
+#ifdef DO_GIF_TRANSFERS
+	/* This needs looking at, since I quickly grabbed it from ZeroGS. */
+	addr &= 0x3fff;
+	_gifTransfer( GIF_PATH_1, ((u8*)pMem+(u8)addr), (0x4000-addr)/16);
+#endif
+}
+
+void _GSgifTransfer2(u32 *pMem, u32 size)
+{
+#ifdef DO_GIF_TRANSFERS
+	_gifTransfer( GIF_PATH_2, (u8*)pMem, size);
+#endif
+}
+
+void _GSgifTransfer3(u32 *pMem, u32 size)
+{
+#ifdef DO_GIF_TRANSFERS
+	_gifTransfer( GIF_PATH_3, (u8*)pMem, size);
+#endif
+}
+
diff --git a/plugins/GSnull/License.txt b/plugins/GSnull/License.txt
index 7d1f8605f8..1bcc46f53a 100644
--- a/plugins/GSnull/License.txt
+++ b/plugins/GSnull/License.txt
@@ -1,342 +1,342 @@
-		    GNU GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-		    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-			    NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-	    How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) year name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
-
-
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
+
+
diff --git a/plugins/GSnull/Linux/GSLinux.cpp b/plugins/GSnull/Linux/GSLinux.cpp
index 67385d2bc3..8f920403b5 100644
--- a/plugins/GSnull/Linux/GSLinux.cpp
+++ b/plugins/GSnull/Linux/GSLinux.cpp
@@ -1,23 +1,23 @@
-/*  GSnull
- *  Copyright (C) 2004-2009 PCSX2 Team
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+/*  GSnull
+ *  Copyright (C) 2004-2009 PCSX2 Team
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
-#include "GS.h"
-#include "GSLinux.h"
+#include "GS.h"
+#include "GSLinux.h"
 
 Display *display;
 int screen;
diff --git a/plugins/GSnull/Linux/GSLinux.h b/plugins/GSnull/Linux/GSLinux.h
index 707658087c..5f8329c1f0 100644
--- a/plugins/GSnull/Linux/GSLinux.h
+++ b/plugins/GSnull/Linux/GSLinux.h
@@ -1,31 +1,31 @@
-/*  GSnull
- *  Copyright (C) 2004-2009 PCSX2 Team
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#ifndef __GSLINUX_H__
-#define __GSLINUX_H__
-
-#include <gtk/gtk.h>
-#include <X11/Xlib.h>
-#include <X11/keysym.h>
-
-extern int GSOpenWindow(void *pDsp, char *Title);
-extern void GSCloseWindow();
-extern void GSProcessMessages();
-extern void HandleKeyEvent(keyEvent *ev);
-
-#endif
+/*  GSnull
+ *  Copyright (C) 2004-2009 PCSX2 Team
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef __GSLINUX_H__
+#define __GSLINUX_H__
+
+#include <gtk/gtk.h>
+#include <X11/Xlib.h>
+#include <X11/keysym.h>
+
+extern int GSOpenWindow(void *pDsp, char *Title);
+extern void GSCloseWindow();
+extern void GSProcessMessages();
+extern void HandleKeyEvent(keyEvent *ev);
+
+#endif
diff --git a/plugins/GSnull/Makefile.am b/plugins/GSnull/Makefile.am
deleted file mode 100644
index 1e86125335..0000000000
--- a/plugins/GSnull/Makefile.am
+++ /dev/null
@@ -1,35 +0,0 @@
-# Create a shared library libGSnull
-AUTOMAKE_OPTIONS = foreign
-noinst_LIBRARIES = libGSnull.a
-INCLUDES = -I@srcdir@/../../common/include -I@srcdir@/../../3rdparty -I@srcdir@/Linux  -I@srcdir@/null
-
-libGSnull_a_CXXFLAGS = $(shell pkg-config --cflags gtk+-2.0)
-libGSnull_a_CFLAGS = $(shell pkg-config --cflags gtk+-2.0)
-
-# Create a shared object by faking an exe (thanks to ODE makefiles)
-traplibdir=$(prefix)
-
-if DEBUGBUILD
-preext=d
-endif
-
-EXEEXT=$(preext)@so_ext@
-
-traplib_PROGRAMS=libGSnull
-libGSnull_SOURCES=
-libGSnull_DEPENDENCIES = libGSnull.a
-libGSnull_LDFLAGS= @SHARED_LDFLAGS@
-libGSnull_LDFLAGS+=-Wl,-soname,@libGSnull_SONAME@
-libGSnull_LDADD=$(libGSnull_a_OBJECTS)
-
-libGSnull_a_SOURCES = \
-GS.cpp \
-Linux/Config.cpp Linux/Linux.cpp Linux/GSLinux.cpp \
-Linux/GSLinux.h Linux/Config.h Linux/Linux.h \
-GifTransfer.cpp GifTransfer.h \
-null/GSnull.cpp null/GSnull.h 
-
-libGSnull_a_SOURCES += \
-Linux/interface.h Linux/support.c  \
-Linux/interface.c Linux/support.h \
-Linux/callbacks.h
\ No newline at end of file
diff --git a/plugins/GSnull/ReadMe.txt b/plugins/GSnull/ReadMe.txt
index 28bf61f48a..481b219cc0 100644
--- a/plugins/GSnull/ReadMe.txt
+++ b/plugins/GSnull/ReadMe.txt
@@ -1,28 +1,27 @@
-GSnull v0.1
--------------
-
- This is an extension to use with play station2 emulators 
- as PCSX2 (only one right now).
- The plugin is free open source code.
-
- Usage:
- -----
- Place the file "GSnull.so.x.x.x" (linux) or "GSnull.dll" (win32)
-  at the Plugin directory of the Emulator to use it.
- 
- Changes:
- -------
-
-  v0.1:
-* First Release
-* Tested with Pcsx2
-* Based off of FWnull.
-* Currently Linux only. This may change.
- 
- Authors:
- -------
-arcum42    <arcum42@gmail.com>
-
-based off work by:
-  shadow    <shadow@pcsx2.net>
-  linuzappz <linuzappz@hotmail.com>
+GSnull v0.1
+-------------
+
+ This is an extension to use with play station2 emulators 
+ as PCSX2 (only one right now).
+ The plugin is free open source code.
+
+ Usage:
+ -----
+ Place the file "GSnull.so.x.x.x" (linux) or "GSnull.dll" (win32)
+  at the Plugin directory of the Emulator to use it.
+ 
+ Changes:
+ -------
+
+  v0.1:
+* First Release
+* Tested with Pcsx2
+* Based off of FWnull.
+ 
+ Authors:
+ -------
+arcum42    <arcum42@gmail.com>
+
+based off work by:
+  shadow    <shadow@pcsx2.net>
+  linuzappz <linuzappz@hotmail.com>
diff --git a/plugins/GSnull/Windows/Config.cpp b/plugins/GSnull/Windows/Config.cpp
index 593766f613..106ec33ee1 100644
--- a/plugins/GSnull/Windows/Config.cpp
+++ b/plugins/GSnull/Windows/Config.cpp
@@ -1,51 +1,51 @@
-#include <stdlib.h>
-
-#include "../GS.h"
-
-extern HINSTANCE hInst;
-void SaveConfig() 
-{
-
-    Config *Conf1 = &conf;
-	char *szTemp;
-	char szIniFile[256], szValue[256];
-
-	GetModuleFileName(GetModuleHandle((LPCSTR)hInst), szIniFile, 256);
-	szTemp = strrchr(szIniFile, '\\');
-
-	if(!szTemp) return;
-	strcpy(szTemp, "\\inis\\gsnull.ini");
-	sprintf(szValue,"%u",Conf1->Log);
-    WritePrivateProfileString("Interface", "Logging",szValue,szIniFile);
-
-}
-
-void LoadConfig() {
-   FILE *fp;
-
-
-    Config *Conf1 = &conf;
-	char *szTemp;
-	char szIniFile[256], szValue[256];
-  
-	GetModuleFileName(GetModuleHandle((LPCSTR)hInst), szIniFile, 256);
-	szTemp = strrchr(szIniFile, '\\');
-
-	if(!szTemp) return ;
-	strcpy(szTemp, "\\inis\\gsnull.ini");
-    fp=fopen("inis\\gsnull.ini","rt");//check if gsnull.ini really exists
-	if (!fp)
-	{
-		CreateDirectory("inis",NULL); 
-        memset(&conf, 0, sizeof(conf));
-        conf.Log = 0;//default value
-		SaveConfig();//save and return
-		return ;
-	}
-	fclose(fp);
-	GetPrivateProfileString("Interface", "Logging", NULL, szValue, 20, szIniFile);
-	Conf1->Log = strtoul(szValue, NULL, 10);
-	return ;
-
-}
-
+#include <stdlib.h>
+
+#include "../GS.h"
+
+extern HINSTANCE hInst;
+void SaveConfig() 
+{
+
+    Config *Conf1 = &conf;
+	char *szTemp;
+	char szIniFile[256], szValue[256];
+
+	GetModuleFileName(GetModuleHandle((LPCSTR)hInst), szIniFile, 256);
+	szTemp = strrchr(szIniFile, '\\');
+
+	if(!szTemp) return;
+	strcpy(szTemp, "\\inis\\gsnull.ini");
+	sprintf(szValue,"%u",Conf1->Log);
+    WritePrivateProfileString("Interface", "Logging",szValue,szIniFile);
+
+}
+
+void LoadConfig() {
+   FILE *fp;
+
+
+    Config *Conf1 = &conf;
+	char *szTemp;
+	char szIniFile[256], szValue[256];
+  
+	GetModuleFileName(GetModuleHandle((LPCSTR)hInst), szIniFile, 256);
+	szTemp = strrchr(szIniFile, '\\');
+
+	if(!szTemp) return ;
+	strcpy(szTemp, "\\inis\\gsnull.ini");
+    fp=fopen("inis\\gsnull.ini","rt");//check if gsnull.ini really exists
+	if (!fp)
+	{
+		CreateDirectory("inis",NULL); 
+        memset(&conf, 0, sizeof(conf));
+        conf.Log = 0;//default value
+		SaveConfig();//save and return
+		return ;
+	}
+	fclose(fp);
+	GetPrivateProfileString("Interface", "Logging", NULL, szValue, 20, szIniFile);
+	Conf1->Log = strtoul(szValue, NULL, 10);
+	return ;
+
+}
+
diff --git a/plugins/GSnull/Windows/GS.def b/plugins/GSnull/Windows/GS.def
index d71a22d69d..f498fe8e25 100644
--- a/plugins/GSnull/Windows/GS.def
+++ b/plugins/GSnull/Windows/GS.def
@@ -1,41 +1,41 @@
-; FireWire.def : Declares the module parameters for the DLL.
-
-LIBRARY      "FWnull"
-
-EXPORTS
-    ; Explicit exports can go here
-	PS2EgetLibType		@2
-	PS2EgetLibName		@3
-	PS2EgetLibVersion2	@4
-	GSinit		@5
-	GSopen		@6
-	GSclose		@7
-	GSshutdown		@8
-	GSvsync		@9
-	GSgifTransfer1		@10
-	GSgifTransfer2		@11
-	GSgifTransfer3		@12
-	GSgetLastTag		@13
-	GSgifSoftReset				@14
-	GSreadFIFO		@15
-	GSreadFIFO2		@16
-	GSkeyEvent		@17
-	GSchangeSaveState		@18
-	GSmakeSnapshot		@19
-	GSmakeSnapshot2		@20
-	GSirqCallback		@21
-	GSprintf		@22
-	GSsetBaseMem		@23
-	GSsetGameCRC		@24
-	GSsetFrameSkip		@25
-	GSsetupRecording		@26
-	GSreset		@27
-	GSwriteCSR		@28
-	GSgetDriverInfo		@29
-	GSsetWindowInfo		@30
-	GSfreeze		@31
-	GSconfigure		@32
-	GSabout		@33
-	GStest		@34
-
-
+; FireWire.def : Declares the module parameters for the DLL.
+
+LIBRARY      "FWnull"
+
+EXPORTS
+    ; Explicit exports can go here
+	PS2EgetLibType		@2
+	PS2EgetLibName		@3
+	PS2EgetLibVersion2	@4
+	GSinit		@5
+	GSopen		@6
+	GSclose		@7
+	GSshutdown		@8
+	GSvsync		@9
+	GSgifTransfer1		@10
+	GSgifTransfer2		@11
+	GSgifTransfer3		@12
+	GSgetLastTag		@13
+	GSgifSoftReset				@14
+	GSreadFIFO		@15
+	GSreadFIFO2		@16
+	GSkeyEvent		@17
+	GSchangeSaveState		@18
+	GSmakeSnapshot		@19
+	GSmakeSnapshot2		@20
+	GSirqCallback		@21
+	GSprintf		@22
+	GSsetBaseMem		@23
+	GSsetGameCRC		@24
+	GSsetFrameSkip		@25
+	GSsetupRecording		@26
+	GSreset		@27
+	GSwriteCSR		@28
+	GSgetDriverInfo		@29
+	GSsetWindowInfo		@30
+	GSfreeze		@31
+	GSconfigure		@32
+	GSabout		@33
+	GStest		@34
+
+
diff --git a/plugins/GSnull/Windows/GS.rc b/plugins/GSnull/Windows/GS.rc
index a505f6108d..2720315fad 100644
--- a/plugins/GSnull/Windows/GS.rc
+++ b/plugins/GSnull/Windows/GS.rc
@@ -1,116 +1,116 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxresmw.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Spanish (Argentina) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ESS)
-#ifdef _WIN32
-LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_ARGENTINA
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE 
-BEGIN
-    "resource.h\0"
-END
-
-2 TEXTINCLUDE 
-BEGIN
-    "#include ""afxresmw.h""\r\0"
-END
-
-3 TEXTINCLUDE 
-BEGIN
-    "\r\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_CONFIG DIALOGEX 0, 0, 212, 121
-STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Firewireconfigure"
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
-    DEFPUSHBUTTON   "OK",IDOK,48,100,50,14
-    PUSHBUTTON      "Cancel",IDCANCEL,113,100,50,14
-    CONTROL         "Enable Logging (for develop use only)",IDC_LOGGING,
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,187,13
-END
-
-IDD_ABOUT DIALOGEX 0, 0, 177, 106
-STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "FireWire About"
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
-    DEFPUSHBUTTON   "OK",IDOK,65,85,50,14
-    LTEXT           "FireWire Driver",IDC_NAME,70,10,48,8
-    GROUPBOX        "",IDC_STATIC,5,35,170,40
-    LTEXT           "Author: Shadow and  linuzappz",IDC_STATIC,29,19,141,10
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO 
-BEGIN
-    IDD_CONFIG, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 205
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 114
-    END
-
-    IDD_ABOUT, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 170
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 99
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-#endif    // Spanish (Argentina) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif    // not APSTUDIO_INVOKED
-
+// Microsoft Visual C++ generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "afxresmw.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// Spanish (Argentina) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ESS)
+#ifdef _WIN32
+LANGUAGE LANG_SPANISH, SUBLANG_SPANISH_ARGENTINA
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE 
+BEGIN
+    "resource.h\0"
+END
+
+2 TEXTINCLUDE 
+BEGIN
+    "#include ""afxresmw.h""\r\0"
+END
+
+3 TEXTINCLUDE 
+BEGIN
+    "\r\0"
+END
+
+#endif    // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_CONFIG DIALOGEX 0, 0, 212, 121
+STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Firewireconfigure"
+FONT 8, "MS Sans Serif", 0, 0, 0x0
+BEGIN
+    DEFPUSHBUTTON   "OK",IDOK,48,100,50,14
+    PUSHBUTTON      "Cancel",IDCANCEL,113,100,50,14
+    CONTROL         "Enable Logging (for develop use only)",IDC_LOGGING,
+                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,187,13
+END
+
+IDD_ABOUT DIALOGEX 0, 0, 177, 106
+STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "FireWire About"
+FONT 8, "MS Sans Serif", 0, 0, 0x0
+BEGIN
+    DEFPUSHBUTTON   "OK",IDOK,65,85,50,14
+    LTEXT           "FireWire Driver",IDC_NAME,70,10,48,8
+    GROUPBOX        "",IDC_STATIC,5,35,170,40
+    LTEXT           "Author: Shadow and  linuzappz",IDC_STATIC,29,19,141,10
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO 
+BEGIN
+    IDD_CONFIG, DIALOG
+    BEGIN
+        LEFTMARGIN, 7
+        RIGHTMARGIN, 205
+        TOPMARGIN, 7
+        BOTTOMMARGIN, 114
+    END
+
+    IDD_ABOUT, DIALOG
+    BEGIN
+        LEFTMARGIN, 7
+        RIGHTMARGIN, 170
+        TOPMARGIN, 7
+        BOTTOMMARGIN, 99
+    END
+END
+#endif    // APSTUDIO_INVOKED
+
+#endif    // Spanish (Argentina) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif    // not APSTUDIO_INVOKED
+
diff --git a/plugins/GSnull/Windows/GSnull_vc2008.sln b/plugins/GSnull/Windows/GSnull_vc2008.sln
index cbdf517657..7585d366d7 100644
--- a/plugins/GSnull/Windows/GSnull_vc2008.sln
+++ b/plugins/GSnull/Windows/GSnull_vc2008.sln
@@ -1,20 +1,20 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual C++ Express 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GSnull", "GSnull_vc2008.vcproj", "{3D0EB14D-32F3-4D82-9C6D-B806ADBB859C}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Win32 = Debug|Win32
-		Release|Win32 = Release|Win32
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{3D0EB14D-32F3-4D82-9C6D-B806ADBB859C}.Debug|Win32.ActiveCfg = Debug|Win32
-		{3D0EB14D-32F3-4D82-9C6D-B806ADBB859C}.Debug|Win32.Build.0 = Debug|Win32
-		{3D0EB14D-32F3-4D82-9C6D-B806ADBB859C}.Release|Win32.ActiveCfg = Release|Win32
-		{3D0EB14D-32F3-4D82-9C6D-B806ADBB859C}.Release|Win32.Build.0 = Release|Win32
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual C++ Express 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GSnull", "GSnull_vc2008.vcproj", "{3D0EB14D-32F3-4D82-9C6D-B806ADBB859C}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Release|Win32 = Release|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{3D0EB14D-32F3-4D82-9C6D-B806ADBB859C}.Debug|Win32.ActiveCfg = Debug|Win32
+		{3D0EB14D-32F3-4D82-9C6D-B806ADBB859C}.Debug|Win32.Build.0 = Debug|Win32
+		{3D0EB14D-32F3-4D82-9C6D-B806ADBB859C}.Release|Win32.ActiveCfg = Release|Win32
+		{3D0EB14D-32F3-4D82-9C6D-B806ADBB859C}.Release|Win32.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/plugins/GSnull/Windows/GSnull_vc2008.vcproj b/plugins/GSnull/Windows/GSnull_vc2008.vcproj
index c55ab5291b..651d5a0658 100644
--- a/plugins/GSnull/Windows/GSnull_vc2008.vcproj
+++ b/plugins/GSnull/Windows/GSnull_vc2008.vcproj
@@ -1,256 +1,256 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="GSnull"
-	ProjectGUID="{5FCBD521-5A0B-4D97-A823-A97E6BAB9101}"
-	RootNamespace="GSnull"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="131072"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			ConfigurationType="2"
-			InheritedPropertySheets="..\..\..\common\vsprops\plugin_svnroot.vsprops;.\ProjectRootDir.vsprops;..\..\..\common\vsprops\BaseProperties.vsprops;..\..\..\common\vsprops\IncrementalLinking.vsprops"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				UsePrecompiledHeader="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				ModuleDefinitionFile="GS.def"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			ConfigurationType="2"
-			InheritedPropertySheets="..\..\..\common\vsprops\plugin_svnroot.vsprops;.\ProjectRootDir.vsprops;..\..\..\common\vsprops\BaseProperties.vsprops;..\..\..\common\vsprops\CodeGen_Release.vsprops"
-			CharacterSet="2"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				UsePrecompiledHeader="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				ModuleDefinitionFile="GS.def"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
-			>
-			<File
-				RelativePath=".\Config.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\GifTransfer.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\GS.cpp"
-				>
-			</File>
-			<File
-				RelativePath="..\Linux\GSLinux.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\null\GSnull.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\GSwin.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\Win32.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc"
-			>
-			<File
-				RelativePath="..\GifTransfer.h"
-				>
-			</File>
-			<File
-				RelativePath="..\GS.h"
-				>
-			</File>
-			<File
-				RelativePath="..\Linux\GSLinux.h"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-					>
-					<Tool
-						Name="VCCustomBuildTool"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath="..\null\GSnull.h"
-				>
-			</File>
-			<File
-				RelativePath=".\GSwin.h"
-				>
-			</File>
-			<File
-				RelativePath=".\resource.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-			>
-			<File
-				RelativePath=".\GS.def"
-				>
-			</File>
-			<File
-				RelativePath=".\GS.rc"
-				>
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="GSnull"
+	ProjectGUID="{5FCBD521-5A0B-4D97-A823-A97E6BAB9101}"
+	RootNamespace="GSnull"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="131072"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			ConfigurationType="2"
+			InheritedPropertySheets="..\..\..\common\vsprops\plugin_svnroot.vsprops;.\ProjectRootDir.vsprops;..\..\..\common\vsprops\BaseProperties.vsprops;..\..\..\common\vsprops\IncrementalLinking.vsprops"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				UsePrecompiledHeader="0"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				ModuleDefinitionFile="GS.def"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			ConfigurationType="2"
+			InheritedPropertySheets="..\..\..\common\vsprops\plugin_svnroot.vsprops;.\ProjectRootDir.vsprops;..\..\..\common\vsprops\BaseProperties.vsprops;..\..\..\common\vsprops\CodeGen_Release.vsprops"
+			CharacterSet="2"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				UsePrecompiledHeader="0"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				ModuleDefinitionFile="GS.def"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"
+			>
+			<File
+				RelativePath=".\Config.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\GifTransfer.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\GS.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\Linux\GSLinux.cpp"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					ExcludedFromBuild="true"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					ExcludedFromBuild="true"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="..\null\GSnull.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\GSwin.cpp"
+				>
+			</File>
+			<File
+				RelativePath=".\Win32.cpp"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc"
+			>
+			<File
+				RelativePath="..\GifTransfer.h"
+				>
+			</File>
+			<File
+				RelativePath="..\GS.h"
+				>
+			</File>
+			<File
+				RelativePath="..\Linux\GSLinux.h"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					ExcludedFromBuild="true"
+					>
+					<Tool
+						Name="VCCustomBuildTool"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					ExcludedFromBuild="true"
+					>
+					<Tool
+						Name="VCCustomBuildTool"
+					/>
+				</FileConfiguration>
+			</File>
+			<File
+				RelativePath="..\null\GSnull.h"
+				>
+			</File>
+			<File
+				RelativePath=".\GSwin.h"
+				>
+			</File>
+			<File
+				RelativePath=".\resource.h"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+			>
+			<File
+				RelativePath=".\GS.def"
+				>
+			</File>
+			<File
+				RelativePath=".\GS.rc"
+				>
+			</File>
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
diff --git a/plugins/GSnull/Windows/GSwin.cpp b/plugins/GSnull/Windows/GSwin.cpp
index 1232c9f08e..cd03c38c48 100644
--- a/plugins/GSnull/Windows/GSwin.cpp
+++ b/plugins/GSnull/Windows/GSwin.cpp
@@ -1,77 +1,77 @@
-/*  GSnull
- *  Copyright (C) 2004-2009 PCSX2 Team
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#include "../GS.h"
-
-HINSTANCE HInst;
-HWND GShwnd;
-
-LRESULT CALLBACK MsgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
-{
-    switch(msg)
-    {
-        case WM_CLOSE:
-            DestroyWindow(hwnd);
-        break;
-        case WM_DESTROY:
-            PostQuitMessage(0);
-        break;
-        default:
-            return DefWindowProc(hwnd, msg, wParam, lParam);
-    }
-    return 0;
-}
-
-int GSOpenWindow(void *pDsp, char *Title)
-{
-	WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, MsgProc, 0L, 0L, 
-					GetModuleHandle(NULL), NULL, NULL, NULL, NULL,
-					"PS2EMU_GSNULL", NULL };
-	RegisterClassEx( &wc );
-
-	GShwnd = CreateWindowEx( WS_EX_CLIENTEDGE, "PS2EMU_GSNULL", Title,
-        WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 240, 120, NULL, NULL, wc.hInstance, NULL);
-
-	if(GShwnd == NULL) 
-	{
-		GS_LOG("Failed to create window. Exiting...");
-		return -1;
-	}
-
-	if( pDsp != NULL ) *(int*)pDsp = (int)GShwnd;
-
-	return 0;
-}
-
-void GSCloseWindow()
-{
-}
-
-void GSProcessMessages()
-{
-}
-
-// GSkeyEvent gets called when there is a keyEvent from the PAD plugin
-void HandleKeyEvent(keyEvent *ev)
-{
-}
-
-EXPORT_C_(s32) GSsetWindowInfo(winInfo *info)
-{
-	return 0;
+/*  GSnull
+ *  Copyright (C) 2004-2009 PCSX2 Team
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include "../GS.h"
+
+HINSTANCE HInst;
+HWND GShwnd;
+
+LRESULT CALLBACK MsgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
+{
+    switch(msg)
+    {
+        case WM_CLOSE:
+            DestroyWindow(hwnd);
+        break;
+        case WM_DESTROY:
+            PostQuitMessage(0);
+        break;
+        default:
+            return DefWindowProc(hwnd, msg, wParam, lParam);
+    }
+    return 0;
+}
+
+int GSOpenWindow(void *pDsp, char *Title)
+{
+	WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, MsgProc, 0L, 0L, 
+					GetModuleHandle(NULL), NULL, NULL, NULL, NULL,
+					"PS2EMU_GSNULL", NULL };
+	RegisterClassEx( &wc );
+
+	GShwnd = CreateWindowEx( WS_EX_CLIENTEDGE, "PS2EMU_GSNULL", Title,
+        WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 240, 120, NULL, NULL, wc.hInstance, NULL);
+
+	if(GShwnd == NULL) 
+	{
+		GS_LOG("Failed to create window. Exiting...");
+		return -1;
+	}
+
+	if( pDsp != NULL ) *(int*)pDsp = (int)GShwnd;
+
+	return 0;
+}
+
+void GSCloseWindow()
+{
+}
+
+void GSProcessMessages()
+{
+}
+
+// GSkeyEvent gets called when there is a keyEvent from the PAD plugin
+void HandleKeyEvent(keyEvent *ev)
+{
+}
+
+EXPORT_C_(s32) GSsetWindowInfo(winInfo *info)
+{
+	return 0;
 }
\ No newline at end of file
diff --git a/plugins/GSnull/Windows/Makefile b/plugins/GSnull/Windows/Makefile
deleted file mode 100644
index afa9da3337..0000000000
--- a/plugins/GSnull/Windows/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-
-RC = windres
-STRIP = strip
-
-PLUGIN = FWnull.dll
-CFLAGS = -Wall -O2 -fomit-frame-pointer -I.. -D__WIN32__ -D__MINGW32__
-LIBS   = -lcomctl32 -lwsock32 -lwinmm -lgdi32 -lcomdlg32
-RESOBJ = FireWireNull.o
-OBJS   = ../FW.o Config.o Win32.o ${RESOBJ}
-
-DEPS:= $(OBJS:.o=.d)
-
-all: plugin
-
-plugin: ${OBJS}
-	dllwrap --def plugin.def -o ${PLUGIN} ${OBJS} ${LIBS}
-#	${CC} -shared -Wl,--kill-at,--output-def,plugin.def ${CFLAGS} ${OBJS} -o ${PLUGIN} ${LIBS}
-	${STRIP} ${PLUGIN}
-
-.PHONY: clear plugin
-
-clean: 
-	rm -f ${OBJS} ${DEPS} ${PLUGIN}
-
-${RESOBJ}: FireWireNull.rc
-	${RC} -D__MINGW32__ -I rc -O coff -o $@ -i $<
-
--include ${DEPS}
-
diff --git a/plugins/GSnull/Windows/ProjectRootDir.vsprops b/plugins/GSnull/Windows/ProjectRootDir.vsprops
index b8400f4c9c..0a243612ef 100644
--- a/plugins/GSnull/Windows/ProjectRootDir.vsprops
+++ b/plugins/GSnull/Windows/ProjectRootDir.vsprops
@@ -1,11 +1,11 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="ProjectRootDir"
-	>
-	<UserMacro
-		Name="SvnRootDir"
-		Value="$(ProjectRootDir)\..\.."
-	/>
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="ProjectRootDir"
+	>
+	<UserMacro
+		Name="SvnRootDir"
+		Value="$(ProjectRootDir)\..\.."
+	/>
+</VisualStudioPropertySheet>
diff --git a/plugins/GSnull/Windows/Win32.cpp b/plugins/GSnull/Windows/Win32.cpp
index 0071924a65..fa8268e5a0 100644
--- a/plugins/GSnull/Windows/Win32.cpp
+++ b/plugins/GSnull/Windows/Win32.cpp
@@ -1,81 +1,81 @@
-#include <stdio.h>
-#include <windows.h>
-#include <windowsx.h>
-
-
-#include "resource.h"
-#include "../GS.h"
-
-HINSTANCE hInst;
-
-void SysMessage(char *fmt, ...) {
-	va_list list;
-	char tmp[512];
-
-	va_start(list,fmt);
-	vsprintf(tmp,fmt,list);
-	va_end(list);
-	MessageBox(0, tmp, "GS Plugin Msg", 0);
-}
-
-BOOL CALLBACK ConfigureDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam) {
-    
-	switch(uMsg) {
-		case WM_INITDIALOG:
-			LoadConfig();
-			if (conf.Log) CheckDlgButton(hW, IDC_LOGGING, TRUE);
-			return TRUE;
-
-		case WM_COMMAND:
-			switch(LOWORD(wParam)) {
-				case IDCANCEL:
-					EndDialog(hW, TRUE);
-					return TRUE;
-				case IDOK:
-					if (IsDlgButtonChecked(hW, IDC_LOGGING))
-						 conf.Log = 1;
-					else conf.Log = 0;
-					SaveConfig();
-					EndDialog(hW, FALSE);
-					return TRUE;
-			}
-	}
-	return FALSE;
-}
-
-BOOL CALLBACK AboutDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam) {
-	switch(uMsg) {
-		case WM_INITDIALOG:
-			return TRUE;
-
-		case WM_COMMAND:
-			switch(LOWORD(wParam)) {
-				case IDOK:
-					EndDialog(hW, FALSE);
-					return TRUE;
-			}
-	}
-	return FALSE;
-}
-
-EXPORT_C_(void) GSconfigure() {
-    DialogBox(hInst,
-              MAKEINTRESOURCE(IDD_CONFIG),
-              GetActiveWindow(),  
-              (DLGPROC)ConfigureDlgProc); 
-}
-
-EXPORT_C_(void) GSabout() {
-    DialogBox(hInst,
-              MAKEINTRESOURCE(IDD_ABOUT),
-              GetActiveWindow(),  
-              (DLGPROC)AboutDlgProc);
-}
-
-BOOL APIENTRY DllMain(HANDLE hModule,                  // DLL INIT
-                      DWORD  dwReason, 
-                      LPVOID lpReserved) {
-	hInst = (HINSTANCE)hModule;
-	return TRUE;                                          // very quick :)
-}
-
+#include <stdio.h>
+#include <windows.h>
+#include <windowsx.h>
+
+
+#include "resource.h"
+#include "../GS.h"
+
+HINSTANCE hInst;
+
+void SysMessage(char *fmt, ...) {
+	va_list list;
+	char tmp[512];
+
+	va_start(list,fmt);
+	vsprintf(tmp,fmt,list);
+	va_end(list);
+	MessageBox(0, tmp, "GS Plugin Msg", 0);
+}
+
+BOOL CALLBACK ConfigureDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam) {
+    
+	switch(uMsg) {
+		case WM_INITDIALOG:
+			LoadConfig();
+			if (conf.Log) CheckDlgButton(hW, IDC_LOGGING, TRUE);
+			return TRUE;
+
+		case WM_COMMAND:
+			switch(LOWORD(wParam)) {
+				case IDCANCEL:
+					EndDialog(hW, TRUE);
+					return TRUE;
+				case IDOK:
+					if (IsDlgButtonChecked(hW, IDC_LOGGING))
+						 conf.Log = 1;
+					else conf.Log = 0;
+					SaveConfig();
+					EndDialog(hW, FALSE);
+					return TRUE;
+			}
+	}
+	return FALSE;
+}
+
+BOOL CALLBACK AboutDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam) {
+	switch(uMsg) {
+		case WM_INITDIALOG:
+			return TRUE;
+
+		case WM_COMMAND:
+			switch(LOWORD(wParam)) {
+				case IDOK:
+					EndDialog(hW, FALSE);
+					return TRUE;
+			}
+	}
+	return FALSE;
+}
+
+EXPORT_C_(void) GSconfigure() {
+    DialogBox(hInst,
+              MAKEINTRESOURCE(IDD_CONFIG),
+              GetActiveWindow(),  
+              (DLGPROC)ConfigureDlgProc); 
+}
+
+EXPORT_C_(void) GSabout() {
+    DialogBox(hInst,
+              MAKEINTRESOURCE(IDD_ABOUT),
+              GetActiveWindow(),  
+              (DLGPROC)AboutDlgProc);
+}
+
+BOOL APIENTRY DllMain(HANDLE hModule,                  // DLL INIT
+                      DWORD  dwReason, 
+                      LPVOID lpReserved) {
+	hInst = (HINSTANCE)hModule;
+	return TRUE;                                          // very quick :)
+}
+
diff --git a/plugins/GSnull/build.sh b/plugins/GSnull/build.sh
deleted file mode 100644
index e4118a87d9..0000000000
--- a/plugins/GSnull/build.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-
-echo ---------------
-echo Building GSnull
-echo ---------------
-
-curdir=`pwd`
-
-
-if test "${GSnullOPTIONS+set}" != set ; then
-export GSnullOPTIONS=""
-fi
-
-if [ $# -gt 0 ] && [ $1 = "all" ]
-then
-
-aclocal
-automake -a
-autoconf
-
-./configure ${GSnullOPTIONS} --prefix=${PCSX2PLUGINS}
-make clean
-make install
-
-else
-make $@
-fi
-
-if [ $? -ne 0 ]
-then
-exit 1
-fi
\ No newline at end of file
diff --git a/plugins/GSnull/configure.ac b/plugins/GSnull/configure.ac
deleted file mode 100644
index 888e08b98e..0000000000
--- a/plugins/GSnull/configure.ac
+++ /dev/null
@@ -1,83 +0,0 @@
-AC_INIT(GSnull, 0.1,arcum42@gmail.com)
-
-AM_INIT_AUTOMAKE(GSnull,0.1)
-
-AC_PROG_CC([gcc g++ cl KCC CC cxx cc++ xlC aCC c++])
-AC_PROG_CXX([gcc g++ cl KCC CC cxx cc++ xlC aCC c++])
-AC_PROG_CPP([gcc g++ cl KCC CC cxx cc++ xlC aCC c++])
-
-AC_PROG_INSTALL
-AC_PROG_RANLIB
-
-dnl necessary for compiling assembly
-AM_PROG_AS
-
-AC_SUBST(GSnull_CURRENT, 0)
-AC_SUBST(GSnull_REVISION, 1)
-AC_SUBST(GSnull_AGE, 0)
-AC_SUBST(GSnull_RELEASE,[$GSnull_CURRENT].[$GSnull_REVISION].[$GSnull_AGE])
-AC_SUBST(GSnull_SONAME,libGSnull.so.[$GSnull_CURRENT].[$GSnull_REVISION].[$GSnull_AGE])
-
-CFLAGS=
-CPPFLAGS=
-CXXFLAGS=
-CCASFLAGS=
-
-dnl Check for debug build
-AC_MSG_CHECKING(debug build)
-AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], [debug build]),
-debug=$enableval,debug=no)
-if test "x$debug" == xyes
-then
- AC_DEFINE(PCSX2_DEBUG,1,[PCSX2_DEBUG])
- CFLAGS+="-g -fPIC -Wall  -Wno-unused-value -m32 "
- CPPFLAGS+="-g -fPIC -Wall  -Wno-unused-value -m32 "
- CXXFLAGS+="-g -fPIC -Wall  -Wno-unused-value -m32 "
- CCASFLAGS+=" -m32 "
-else
- AC_DEFINE(NDEBUG,1,[NDEBUG])
- CFLAGS+="-O3 -fomit-frame-pointer -msse -msse2 -fPIC -Wall  -Wno-unused-value -m32 "
- CPPFLAGS+="-O3 -fomit-frame-pointer -msse -msse2 -fPIC -Wall  -Wno-unused-value -m32 "
- CXXFLAGS+="-O3 -fomit-frame-pointer -msse -msse2 -fPIC -Wall  -Wno-unused-value -m32 "
- CCASFLAGS+=" -m32 "
-fi
-AM_CONDITIONAL(DEBUGBUILD, test x$debug = xyes)
-AC_MSG_RESULT($debug)
-
-AC_DEFINE(__LINUX__,1,[__LINUX__])
-
-dnl Check for dev build
-AC_MSG_CHECKING(for development build...)
-AC_ARG_ENABLE(devbuild, AC_HELP_STRING([--enable-devbuild], [Special Build for developers that simplifies testing and adds extra checks]),
- devbuild=$enableval,devbuild=no)
-if test "x$devbuild" == xyes
-then
- AC_DEFINE(GSnull_DEVBUILD,1,[GSnull_DEVBUILD])
-fi
-AC_MSG_RESULT($devbuild)
-AM_CONDITIONAL(RELEASE_TO_PUBLIC, test x$devbuild = xno)
-
-AC_CHECK_FUNCS([ _aligned_malloc _aligned_free ], AC_DEFINE(HAVE_ALIGNED_MALLOC))
-
-dnl gtk
-AC_MSG_CHECKING(gtk2+)
-AC_CHECK_PROG(GTK_CONFIG, pkg-config, pkg-config)
-LIBS+=$(pkg-config --libs gtk+-2.0)
-
-dnl bindir = pcsx2exe
-
-dnl assuming linux environment
-so_ext=".so.$GSnull_RELEASE"
-SHARED_LDFLAGS="-shared"
-AC_SUBST(so_ext)
-AC_SUBST(SHARED_LDFLAGS)
-
-AC_CHECK_LIB(stdc++,main,[LIBS="$LIBS -lstdc++"])
-
-AC_OUTPUT([
- Makefile
- ])
-
-echo "Configuration:"
-echo "  Debug build?	       $debug"
-echo "  Dev build?	       $devbuild"
\ No newline at end of file
diff --git a/plugins/GSnull/missing b/plugins/GSnull/missing
deleted file mode 120000
index 1f0fe88e65..0000000000
--- a/plugins/GSnull/missing
+++ /dev/null
@@ -1 +0,0 @@
-/usr/share/automake-1.10/missing
\ No newline at end of file