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