diff --git a/source/snes9xGX.cpp b/source/snes9xGX.cpp deleted file mode 100644 index 51f3ec4..0000000 --- a/source/snes9xGX.cpp +++ /dev/null @@ -1,463 +0,0 @@ -/**************************************************************************** - * Snes9x Nintendo Wii/Gamecube Port - * - * softdev July 2006 - * crunchy2 May 2007-July 2007 - * Michniewski 2008 - * Tantric 2008-2010 - * - * snes9xgx.cpp - * - * This file controls overall program flow. Most things start and end here! - ***************************************************************************/ - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#ifdef HW_RVL -#include -#endif - -#include "snes9xgx.h" -#include "networkop.h" -#include "video.h" -#include "audio.h" -#include "menu.h" -#include "sram.h" -#include "freeze.h" -#include "preferences.h" -#include "button_mapping.h" -#include "fileop.h" -#include "filebrowser.h" -#include "input.h" -#include "utils/usb2storage.h" -#include "utils/mload.h" -#include "utils/FreeTypeGX.h" - -#include "snes9x/snes9x.h" -#include "snes9x/memmap.h" -#include "snes9x/apu/apu.h" -#include "snes9x/controls.h" - -int ScreenshotRequested = 0; -int ConfigRequested = 0; -int ShutdownRequested = 0; -int ResetRequested = 0; -int ExitRequested = 0; -char appPath[1024] = { 0 }; -char loadedFile[1024] = { 0 }; - -extern "C" { -extern void __exception_setreload(int t); -} - -/**************************************************************************** - * Shutdown / Reboot / Exit - ***************************************************************************/ - -void ExitCleanup() -{ - ShutdownAudio(); - StopGX(); - - HaltDeviceThread(); - UnmountAllFAT(); - -#ifdef HW_RVL - DI_Close(); -#endif -} - -#ifdef HW_DOL - #define PSOSDLOADID 0x7c6000a6 - int *psoid = (int *) 0x80001800; - void (*PSOReload) () = (void (*)()) 0x80001800; -#endif - -void ExitApp() -{ -#ifdef HW_RVL - ShutoffRumble(); -#endif - - SavePrefs(SILENT); - - if (SNESROMSize > 0 && !ConfigRequested && GCSettings.AutoSave == 1) - SaveSRAMAuto(SILENT); - - ExitCleanup(); - - if(ShutdownRequested) - SYS_ResetSystem(SYS_POWEROFF, 0, 0); - - #ifdef HW_RVL - if(GCSettings.ExitAction == 0) // Auto - { - char * sig = (char *)0x80001804; - if( - sig[0] == 'S' && - sig[1] == 'T' && - sig[2] == 'U' && - sig[3] == 'B' && - sig[4] == 'H' && - sig[5] == 'A' && - sig[6] == 'X' && - sig[7] == 'X') - GCSettings.ExitAction = 3; // Exit to HBC - else - GCSettings.ExitAction = 1; // HBC not found - } - #endif - - if(GCSettings.ExitAction == 1) // Exit to Menu - { - #ifdef HW_RVL - SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0); - #else - #define SOFTRESET_ADR ((volatile u32*)0xCC003024) - *SOFTRESET_ADR = 0x00000000; - #endif - } - else if(GCSettings.ExitAction == 2) // Shutdown Wii - { - SYS_ResetSystem(SYS_POWEROFF, 0, 0); - } - else // Exit to Loader - { - #ifdef HW_RVL - exit(0); - #else - if (psoid[0] == PSOSDLOADID) - PSOReload(); - #endif - } -} - -#ifdef HW_RVL -void ShutdownCB() -{ - ShutdownRequested = 1; -} -void ResetCB() -{ - ResetRequested = 1; -} -#endif - -#ifdef HW_DOL -/**************************************************************************** - * ipl_set_config - * lowlevel Qoob Modchip disable - ***************************************************************************/ - -void ipl_set_config(unsigned char c) -{ - volatile unsigned long* exi = (volatile unsigned long*)0xCC006800; - unsigned long val,addr; - addr=0xc0000000; - val = c << 24; - exi[0] = ((((exi[0]) & 0x405) | 256) | 48); //select IPL - //write addr of IPL - exi[0 * 5 + 4] = addr; - exi[0 * 5 + 3] = ((4 - 1) << 4) | (1 << 2) | 1; - while (exi[0 * 5 + 3] & 1); - //write the ipl we want to send - exi[0 * 5 + 4] = val; - exi[0 * 5 + 3] = ((4 - 1) << 4) | (1 << 2) | 1; - while (exi[0 * 5 + 3] & 1); - - exi[0] &= 0x405; //deselect IPL -} -#endif - -/**************************************************************************** - * setFrameTimerMethod() - * change frametimer method depending on whether ROM is NTSC or PAL - ***************************************************************************/ - -void setFrameTimerMethod() -{ - /* - Set frametimer method - (timerstyle: 0=NTSC vblank, 1=PAL int timer) - */ - if ( Settings.PAL ) { - if(vmode_60hz == 1) - timerstyle = 1; - else - timerstyle = 0; - } else { - if(vmode_60hz == 1) - timerstyle = 0; - else - timerstyle = 1; - } - return; -} - -/**************************************************************************** - * Emulation loop - ***************************************************************************/ -extern void S9xInitSync(); -extern uint32 prevRenderedFrameCount; -static int videoReset; -static int currentMode; - -void -emulate () -{ - while (1) // main loop - { - // go back to checking if devices were inserted/removed - // since we're entering the menu - ResumeDeviceThread(); - - SwitchAudioMode(1); - - if(SNESROMSize == 0) - MainMenu(MENU_GAMESELECTION); - else - MainMenu(MENU_GAME); - - AllocGfxMem(); - SelectFilterMethod(); - - ConfigRequested = 0; - ScreenshotRequested = 0; - SwitchAudioMode(0); - - Settings.MultiPlayer5Master = (GCSettings.Controller == CTRL_PAD4 ? true : false); - Settings.SuperScopeMaster = (GCSettings.Controller == CTRL_SCOPE ? true : false); - Settings.MouseMaster = (GCSettings.Controller == CTRL_MOUSE ? true : false); - Settings.JustifierMaster = (GCSettings.Controller == CTRL_JUST ? true : false); - SetControllers (); - - // stop checking if devices were removed/inserted - // since we're starting emulation again - HaltDeviceThread(); - - AudioStart (); - - FrameTimer = 0; - setFrameTimerMethod (); // set frametimer method every time a ROM is loaded - - CheckVideo = 1; // force video update - prevRenderedFrameCount = IPPU.RenderedFramesCount; - - videoReset = -1; - currentMode = GCSettings.render; - - while(1) // emulation loop - { - S9xMainLoop (); - NGCReportButtons (); - - if(ResetRequested) - { - S9xSoftReset (); // reset game - ResetRequested = 0; - } - if (ConfigRequested) - { - ConfigRequested = 0; - FreeGfxMem(); - ResetVideo_Menu(); - break; - } - #ifdef HW_RVL - if(ShutdownRequested) - ExitApp(); - #endif - } // emulation loop - } // main loop -} - -/**************************************************************************** - * IOS 202 - ***************************************************************************/ -#ifdef HW_RVL -static bool FindIOS(u32 ios) -{ - s32 ret; - u32 n; - - u64 *titles = NULL; - u32 num_titles=0; - - ret = ES_GetNumTitles(&num_titles); - if (ret < 0) - return false; - - if(num_titles < 1) - return false; - - titles = (u64 *)memalign(32, num_titles * sizeof(u64) + 32); - if (!titles) - return false; - - ret = ES_GetTitles(titles, num_titles); - if (ret < 0) - { - free(titles); - return false; - } - - for(n=0; n < num_titles; n++) - { - if((titles[n] & 0xFFFFFFFF)==ios) - { - free(titles); - return true; - } - } - free(titles); - return false; -} -#endif -/**************************************************************************** - * USB Gecko Debugging - ***************************************************************************/ - -static bool gecko = false; -static mutex_t gecko_mutex = 0; - -static ssize_t __out_write(struct _reent *r, int fd, const char *ptr, size_t len) -{ - u32 level; - - if (!ptr || len <= 0 || !gecko) - return -1; - - LWP_MutexLock(gecko_mutex); - level = IRQ_Disable(); - usb_sendbuffer(1, ptr, len); - IRQ_Restore(level); - LWP_MutexUnlock(gecko_mutex); - return len; -} - -const devoptab_t gecko_out = { - "stdout", // device name - 0, // size of file structure - NULL, // device open - NULL, // device close - __out_write,// device write - NULL, // device read - NULL, // device seek - NULL, // device fstat - NULL, // device stat - NULL, // device link - NULL, // device unlink - NULL, // device chdir - NULL, // device rename - NULL, // device mkdir - 0, // dirStateSize - NULL, // device diropen_r - NULL, // device dirreset_r - NULL, // device dirnext_r - NULL, // device dirclose_r - NULL // device statvfs_r -}; - -void USBGeckoOutput() -{ - LWP_MutexInit(&gecko_mutex, false); - gecko = usb_isgeckoalive(1); - - devoptab_list[STD_OUT] = &gecko_out; - devoptab_list[STD_ERR] = &gecko_out; -} - -int -main(int argc, char *argv[]) -{ - //USBGeckoOutput(); // uncomment to enable USB gecko output - __exception_setreload(8); - - #ifdef HW_DOL - ipl_set_config(6); // disable Qoob modchip - #endif - - #ifdef HW_RVL - // try to load IOS 202 - if(IOS_GetVersion() != 202 && FindIOS(202)) - IOS_ReloadIOS(202); - - if(IOS_GetVersion() == 202) - { - DI_LoadDVDX(false); - DI_Init(); - - // load usb2 driver - if(mload_init() >= 0 && load_ehci_module()) - USB2Enable(true); - } - #endif - - InitDeviceThread(); - InitGCVideo(); // Initialise video - ResetVideo_Menu (); // change to menu video mode - SetupPads(); - - // Initialize DVD subsystem (GameCube only) - #ifdef HW_DOL - DVD_Init (); - #endif - - #ifdef HW_RVL - // Wii Power/Reset buttons - WPAD_SetPowerButtonCallback((WPADShutdownCallback)ShutdownCB); - SYS_SetPowerCallback(ShutdownCB); - SYS_SetResetCallback(ResetCB); - - // store path app was loaded from - if(argc > 0 && argv[0] != NULL) - CreateAppPath(argv[0]); - #endif - - // Initialize libFAT for SD and USB - MountAllFAT(); - - // Set defaults - DefaultSettings (); - - S9xUnmapAllControls (); - SetDefaultButtonMap (); - - // Allocate SNES Memory - if (!Memory.Init ()) - ExitApp(); - - // Allocate APU - if (!S9xInitAPU ()) - ExitApp(); - - // Set Pixel Renderer to match 565 - S9xSetRenderPixelFormat (RGB565); - - // Initialise Sound System - S9xInitSound (64, 0); - - // Initialise Graphics - setGFX (); - if (!S9xGraphicsInit ()) - ExitApp(); - - S9xInitSync(); // initialize frame sync - - // Initialize font system - InitFreeType((u8*)font_ttf, font_ttf_size); - - InitGUIThreads(); - - emulate(); // main loop -} diff --git a/source/snes9xGX.h b/source/snes9xGX.h deleted file mode 100644 index 31065d9..0000000 --- a/source/snes9xGX.h +++ /dev/null @@ -1,120 +0,0 @@ -/**************************************************************************** - * Snes9x Nintendo Wii/Gamecube Port - * - * softdev July 2006 - * crunchy2 May 2007-July 2007 - * Michniewski 2008 - * Tantric 2008-2010 - * - * snes9xGX.h - * - * This file controls overall program flow. Most things start and end here! - ***************************************************************************/ - -#ifndef _SNES9XGX_H_ -#define _SNES9XGX_H_ - -#include "utils/FreeTypeGX.h" -#include "snes9x.h" -#include "filter.h" -#include "filelist.h" - -#define APPNAME "Snes9x GX" -#define APPVERSION "4.1.5" -#define APPFOLDER "snes9xgx" -#define PREF_FILE_NAME "settings.xml" - -#define NOTSILENT 0 -#define SILENT 1 - -const char pathPrefix[9][8] = -{ "", "sd:/", "usb:/", "dvd:/", "smb:/", "carda:/", "cardb:/" }; - -enum { - DEVICE_AUTO, - DEVICE_SD, - DEVICE_USB, - DEVICE_DVD, - DEVICE_SMB, - DEVICE_SD_SLOTA, - DEVICE_SD_SLOTB -}; - -enum { - FILE_SRAM, - FILE_SNAPSHOT, - FILE_ROM, - FILE_CHEAT -}; - -enum -{ - CTRL_PAD, - CTRL_MOUSE, - CTRL_SCOPE, - CTRL_JUST, - CTRL_PAD2, - CTRL_PAD4, - CTRL_LENGTH -}; - -const char ctrlName[6][24] = -{ "SNES Controller", "SNES Mouse", "Superscope", "Justifier", "SNES Controllers (2)", "SNES Controllers (4)" }; - -enum { - LANG_JAPANESE = 0, - LANG_ENGLISH, - LANG_GERMAN, - LANG_FRENCH, - LANG_SPANISH, - LANG_ITALIAN, - LANG_DUTCH, - LANG_SIMP_CHINESE, - LANG_TRAD_CHINESE, - LANG_KOREAN -}; - -struct SGCSettings{ - int AutoLoad; - int AutoSave; - int LoadMethod; // For ROMS: Auto, SD, DVD, USB, Network (SMB) - int SaveMethod; // For SRAM, Freeze, Prefs: Auto, SD, USB, SMB - char LoadFolder[MAXPATHLEN]; // Path to game files - char SaveFolder[MAXPATHLEN]; // Path to save files - char CheatFolder[MAXPATHLEN]; // Path to cheat files - - char smbip[80]; - char smbuser[20]; - char smbpwd[20]; - char smbshare[20]; - - float zoomHor; // horizontal zoom amount - float zoomVert; // vertical zoom amount - int videomode; // 0 - automatic, 1 - NTSC (480i), 2 - Progressive (480p), 3 - PAL (50Hz), 4 - PAL (60Hz) - int render; // 0 - original, 1 - filtered, 2 - unfiltered - int FilterMethod; // convert to RenderFilter - int Controller; - int crosshair; - int widescreen; // 0 - 4:3 aspect, 1 - 16:9 aspect - int xshift; // video output shift - int yshift; - int WiimoteOrientation; - int ExitAction; - int MusicVolume; - int SFXVolume; - int Rumble; - int language; -}; - -void ExitApp(); -void ShutdownWii(); -extern struct SGCSettings GCSettings; -extern int ScreenshotRequested; -extern int ConfigRequested; -extern int ShutdownRequested; -extern int ExitRequested; -extern char appPath[]; -extern char loadedFile[]; -extern FreeTypeGX *fontSystem[]; - -#endif diff --git a/source/snes9xgx2.cpp b/source/snes9xgx2.cpp deleted file mode 100644 index 51f3ec4..0000000 --- a/source/snes9xgx2.cpp +++ /dev/null @@ -1,463 +0,0 @@ -/**************************************************************************** - * Snes9x Nintendo Wii/Gamecube Port - * - * softdev July 2006 - * crunchy2 May 2007-July 2007 - * Michniewski 2008 - * Tantric 2008-2010 - * - * snes9xgx.cpp - * - * This file controls overall program flow. Most things start and end here! - ***************************************************************************/ - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#ifdef HW_RVL -#include -#endif - -#include "snes9xgx.h" -#include "networkop.h" -#include "video.h" -#include "audio.h" -#include "menu.h" -#include "sram.h" -#include "freeze.h" -#include "preferences.h" -#include "button_mapping.h" -#include "fileop.h" -#include "filebrowser.h" -#include "input.h" -#include "utils/usb2storage.h" -#include "utils/mload.h" -#include "utils/FreeTypeGX.h" - -#include "snes9x/snes9x.h" -#include "snes9x/memmap.h" -#include "snes9x/apu/apu.h" -#include "snes9x/controls.h" - -int ScreenshotRequested = 0; -int ConfigRequested = 0; -int ShutdownRequested = 0; -int ResetRequested = 0; -int ExitRequested = 0; -char appPath[1024] = { 0 }; -char loadedFile[1024] = { 0 }; - -extern "C" { -extern void __exception_setreload(int t); -} - -/**************************************************************************** - * Shutdown / Reboot / Exit - ***************************************************************************/ - -void ExitCleanup() -{ - ShutdownAudio(); - StopGX(); - - HaltDeviceThread(); - UnmountAllFAT(); - -#ifdef HW_RVL - DI_Close(); -#endif -} - -#ifdef HW_DOL - #define PSOSDLOADID 0x7c6000a6 - int *psoid = (int *) 0x80001800; - void (*PSOReload) () = (void (*)()) 0x80001800; -#endif - -void ExitApp() -{ -#ifdef HW_RVL - ShutoffRumble(); -#endif - - SavePrefs(SILENT); - - if (SNESROMSize > 0 && !ConfigRequested && GCSettings.AutoSave == 1) - SaveSRAMAuto(SILENT); - - ExitCleanup(); - - if(ShutdownRequested) - SYS_ResetSystem(SYS_POWEROFF, 0, 0); - - #ifdef HW_RVL - if(GCSettings.ExitAction == 0) // Auto - { - char * sig = (char *)0x80001804; - if( - sig[0] == 'S' && - sig[1] == 'T' && - sig[2] == 'U' && - sig[3] == 'B' && - sig[4] == 'H' && - sig[5] == 'A' && - sig[6] == 'X' && - sig[7] == 'X') - GCSettings.ExitAction = 3; // Exit to HBC - else - GCSettings.ExitAction = 1; // HBC not found - } - #endif - - if(GCSettings.ExitAction == 1) // Exit to Menu - { - #ifdef HW_RVL - SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0); - #else - #define SOFTRESET_ADR ((volatile u32*)0xCC003024) - *SOFTRESET_ADR = 0x00000000; - #endif - } - else if(GCSettings.ExitAction == 2) // Shutdown Wii - { - SYS_ResetSystem(SYS_POWEROFF, 0, 0); - } - else // Exit to Loader - { - #ifdef HW_RVL - exit(0); - #else - if (psoid[0] == PSOSDLOADID) - PSOReload(); - #endif - } -} - -#ifdef HW_RVL -void ShutdownCB() -{ - ShutdownRequested = 1; -} -void ResetCB() -{ - ResetRequested = 1; -} -#endif - -#ifdef HW_DOL -/**************************************************************************** - * ipl_set_config - * lowlevel Qoob Modchip disable - ***************************************************************************/ - -void ipl_set_config(unsigned char c) -{ - volatile unsigned long* exi = (volatile unsigned long*)0xCC006800; - unsigned long val,addr; - addr=0xc0000000; - val = c << 24; - exi[0] = ((((exi[0]) & 0x405) | 256) | 48); //select IPL - //write addr of IPL - exi[0 * 5 + 4] = addr; - exi[0 * 5 + 3] = ((4 - 1) << 4) | (1 << 2) | 1; - while (exi[0 * 5 + 3] & 1); - //write the ipl we want to send - exi[0 * 5 + 4] = val; - exi[0 * 5 + 3] = ((4 - 1) << 4) | (1 << 2) | 1; - while (exi[0 * 5 + 3] & 1); - - exi[0] &= 0x405; //deselect IPL -} -#endif - -/**************************************************************************** - * setFrameTimerMethod() - * change frametimer method depending on whether ROM is NTSC or PAL - ***************************************************************************/ - -void setFrameTimerMethod() -{ - /* - Set frametimer method - (timerstyle: 0=NTSC vblank, 1=PAL int timer) - */ - if ( Settings.PAL ) { - if(vmode_60hz == 1) - timerstyle = 1; - else - timerstyle = 0; - } else { - if(vmode_60hz == 1) - timerstyle = 0; - else - timerstyle = 1; - } - return; -} - -/**************************************************************************** - * Emulation loop - ***************************************************************************/ -extern void S9xInitSync(); -extern uint32 prevRenderedFrameCount; -static int videoReset; -static int currentMode; - -void -emulate () -{ - while (1) // main loop - { - // go back to checking if devices were inserted/removed - // since we're entering the menu - ResumeDeviceThread(); - - SwitchAudioMode(1); - - if(SNESROMSize == 0) - MainMenu(MENU_GAMESELECTION); - else - MainMenu(MENU_GAME); - - AllocGfxMem(); - SelectFilterMethod(); - - ConfigRequested = 0; - ScreenshotRequested = 0; - SwitchAudioMode(0); - - Settings.MultiPlayer5Master = (GCSettings.Controller == CTRL_PAD4 ? true : false); - Settings.SuperScopeMaster = (GCSettings.Controller == CTRL_SCOPE ? true : false); - Settings.MouseMaster = (GCSettings.Controller == CTRL_MOUSE ? true : false); - Settings.JustifierMaster = (GCSettings.Controller == CTRL_JUST ? true : false); - SetControllers (); - - // stop checking if devices were removed/inserted - // since we're starting emulation again - HaltDeviceThread(); - - AudioStart (); - - FrameTimer = 0; - setFrameTimerMethod (); // set frametimer method every time a ROM is loaded - - CheckVideo = 1; // force video update - prevRenderedFrameCount = IPPU.RenderedFramesCount; - - videoReset = -1; - currentMode = GCSettings.render; - - while(1) // emulation loop - { - S9xMainLoop (); - NGCReportButtons (); - - if(ResetRequested) - { - S9xSoftReset (); // reset game - ResetRequested = 0; - } - if (ConfigRequested) - { - ConfigRequested = 0; - FreeGfxMem(); - ResetVideo_Menu(); - break; - } - #ifdef HW_RVL - if(ShutdownRequested) - ExitApp(); - #endif - } // emulation loop - } // main loop -} - -/**************************************************************************** - * IOS 202 - ***************************************************************************/ -#ifdef HW_RVL -static bool FindIOS(u32 ios) -{ - s32 ret; - u32 n; - - u64 *titles = NULL; - u32 num_titles=0; - - ret = ES_GetNumTitles(&num_titles); - if (ret < 0) - return false; - - if(num_titles < 1) - return false; - - titles = (u64 *)memalign(32, num_titles * sizeof(u64) + 32); - if (!titles) - return false; - - ret = ES_GetTitles(titles, num_titles); - if (ret < 0) - { - free(titles); - return false; - } - - for(n=0; n < num_titles; n++) - { - if((titles[n] & 0xFFFFFFFF)==ios) - { - free(titles); - return true; - } - } - free(titles); - return false; -} -#endif -/**************************************************************************** - * USB Gecko Debugging - ***************************************************************************/ - -static bool gecko = false; -static mutex_t gecko_mutex = 0; - -static ssize_t __out_write(struct _reent *r, int fd, const char *ptr, size_t len) -{ - u32 level; - - if (!ptr || len <= 0 || !gecko) - return -1; - - LWP_MutexLock(gecko_mutex); - level = IRQ_Disable(); - usb_sendbuffer(1, ptr, len); - IRQ_Restore(level); - LWP_MutexUnlock(gecko_mutex); - return len; -} - -const devoptab_t gecko_out = { - "stdout", // device name - 0, // size of file structure - NULL, // device open - NULL, // device close - __out_write,// device write - NULL, // device read - NULL, // device seek - NULL, // device fstat - NULL, // device stat - NULL, // device link - NULL, // device unlink - NULL, // device chdir - NULL, // device rename - NULL, // device mkdir - 0, // dirStateSize - NULL, // device diropen_r - NULL, // device dirreset_r - NULL, // device dirnext_r - NULL, // device dirclose_r - NULL // device statvfs_r -}; - -void USBGeckoOutput() -{ - LWP_MutexInit(&gecko_mutex, false); - gecko = usb_isgeckoalive(1); - - devoptab_list[STD_OUT] = &gecko_out; - devoptab_list[STD_ERR] = &gecko_out; -} - -int -main(int argc, char *argv[]) -{ - //USBGeckoOutput(); // uncomment to enable USB gecko output - __exception_setreload(8); - - #ifdef HW_DOL - ipl_set_config(6); // disable Qoob modchip - #endif - - #ifdef HW_RVL - // try to load IOS 202 - if(IOS_GetVersion() != 202 && FindIOS(202)) - IOS_ReloadIOS(202); - - if(IOS_GetVersion() == 202) - { - DI_LoadDVDX(false); - DI_Init(); - - // load usb2 driver - if(mload_init() >= 0 && load_ehci_module()) - USB2Enable(true); - } - #endif - - InitDeviceThread(); - InitGCVideo(); // Initialise video - ResetVideo_Menu (); // change to menu video mode - SetupPads(); - - // Initialize DVD subsystem (GameCube only) - #ifdef HW_DOL - DVD_Init (); - #endif - - #ifdef HW_RVL - // Wii Power/Reset buttons - WPAD_SetPowerButtonCallback((WPADShutdownCallback)ShutdownCB); - SYS_SetPowerCallback(ShutdownCB); - SYS_SetResetCallback(ResetCB); - - // store path app was loaded from - if(argc > 0 && argv[0] != NULL) - CreateAppPath(argv[0]); - #endif - - // Initialize libFAT for SD and USB - MountAllFAT(); - - // Set defaults - DefaultSettings (); - - S9xUnmapAllControls (); - SetDefaultButtonMap (); - - // Allocate SNES Memory - if (!Memory.Init ()) - ExitApp(); - - // Allocate APU - if (!S9xInitAPU ()) - ExitApp(); - - // Set Pixel Renderer to match 565 - S9xSetRenderPixelFormat (RGB565); - - // Initialise Sound System - S9xInitSound (64, 0); - - // Initialise Graphics - setGFX (); - if (!S9xGraphicsInit ()) - ExitApp(); - - S9xInitSync(); // initialize frame sync - - // Initialize font system - InitFreeType((u8*)font_ttf, font_ttf_size); - - InitGUIThreads(); - - emulate(); // main loop -} diff --git a/source/snes9xgx2.h b/source/snes9xgx2.h deleted file mode 100644 index 31065d9..0000000 --- a/source/snes9xgx2.h +++ /dev/null @@ -1,120 +0,0 @@ -/**************************************************************************** - * Snes9x Nintendo Wii/Gamecube Port - * - * softdev July 2006 - * crunchy2 May 2007-July 2007 - * Michniewski 2008 - * Tantric 2008-2010 - * - * snes9xGX.h - * - * This file controls overall program flow. Most things start and end here! - ***************************************************************************/ - -#ifndef _SNES9XGX_H_ -#define _SNES9XGX_H_ - -#include "utils/FreeTypeGX.h" -#include "snes9x.h" -#include "filter.h" -#include "filelist.h" - -#define APPNAME "Snes9x GX" -#define APPVERSION "4.1.5" -#define APPFOLDER "snes9xgx" -#define PREF_FILE_NAME "settings.xml" - -#define NOTSILENT 0 -#define SILENT 1 - -const char pathPrefix[9][8] = -{ "", "sd:/", "usb:/", "dvd:/", "smb:/", "carda:/", "cardb:/" }; - -enum { - DEVICE_AUTO, - DEVICE_SD, - DEVICE_USB, - DEVICE_DVD, - DEVICE_SMB, - DEVICE_SD_SLOTA, - DEVICE_SD_SLOTB -}; - -enum { - FILE_SRAM, - FILE_SNAPSHOT, - FILE_ROM, - FILE_CHEAT -}; - -enum -{ - CTRL_PAD, - CTRL_MOUSE, - CTRL_SCOPE, - CTRL_JUST, - CTRL_PAD2, - CTRL_PAD4, - CTRL_LENGTH -}; - -const char ctrlName[6][24] = -{ "SNES Controller", "SNES Mouse", "Superscope", "Justifier", "SNES Controllers (2)", "SNES Controllers (4)" }; - -enum { - LANG_JAPANESE = 0, - LANG_ENGLISH, - LANG_GERMAN, - LANG_FRENCH, - LANG_SPANISH, - LANG_ITALIAN, - LANG_DUTCH, - LANG_SIMP_CHINESE, - LANG_TRAD_CHINESE, - LANG_KOREAN -}; - -struct SGCSettings{ - int AutoLoad; - int AutoSave; - int LoadMethod; // For ROMS: Auto, SD, DVD, USB, Network (SMB) - int SaveMethod; // For SRAM, Freeze, Prefs: Auto, SD, USB, SMB - char LoadFolder[MAXPATHLEN]; // Path to game files - char SaveFolder[MAXPATHLEN]; // Path to save files - char CheatFolder[MAXPATHLEN]; // Path to cheat files - - char smbip[80]; - char smbuser[20]; - char smbpwd[20]; - char smbshare[20]; - - float zoomHor; // horizontal zoom amount - float zoomVert; // vertical zoom amount - int videomode; // 0 - automatic, 1 - NTSC (480i), 2 - Progressive (480p), 3 - PAL (50Hz), 4 - PAL (60Hz) - int render; // 0 - original, 1 - filtered, 2 - unfiltered - int FilterMethod; // convert to RenderFilter - int Controller; - int crosshair; - int widescreen; // 0 - 4:3 aspect, 1 - 16:9 aspect - int xshift; // video output shift - int yshift; - int WiimoteOrientation; - int ExitAction; - int MusicVolume; - int SFXVolume; - int Rumble; - int language; -}; - -void ExitApp(); -void ShutdownWii(); -extern struct SGCSettings GCSettings; -extern int ScreenshotRequested; -extern int ConfigRequested; -extern int ShutdownRequested; -extern int ExitRequested; -extern char appPath[]; -extern char loadedFile[]; -extern FreeTypeGX *fontSystem[]; - -#endif