From bfc0117237cfabed6065a437516eff2b62b8c45b Mon Sep 17 00:00:00 2001 From: pjgat09 Date: Tue, 30 Apr 2013 00:08:21 +0000 Subject: [PATCH] m64p: Hard coded an ini file location until I can be bothered to work out the config handling in m64p N64: Loads roms and pops up an SDL window to display them --- .../Consoles/Nintendo/N64/N64.cs | 142 ++ BizHawk.MultiClient/output/RiceVideoLinux.ini | 1552 +++++++++++++++++ .../output/dll/mupen64plus-video-rice.dll | Bin 509952 -> 509952 bytes .../mupen64plus-video-rice/src/Config.cpp | 3 +- 4 files changed, 1696 insertions(+), 1 deletion(-) create mode 100644 BizHawk.MultiClient/output/RiceVideoLinux.ini diff --git a/BizHawk.Emulation/Consoles/Nintendo/N64/N64.cs b/BizHawk.Emulation/Consoles/Nintendo/N64/N64.cs index 9a2f67efac..47e5fc3ce7 100644 --- a/BizHawk.Emulation/Consoles/Nintendo/N64/N64.cs +++ b/BizHawk.Emulation/Consoles/Nintendo/N64/N64.cs @@ -81,11 +81,153 @@ namespace BizHawk.Emulation.Consoles.Nintendo.N64 public void Dispose() { } + [DllImport("kernel32.dll")] + public static extern IntPtr LoadLibrary(string dllToLoad); + + [DllImport("kernel32.dll")] + public static extern IntPtr GetProcAddress(IntPtr hModule, string procedureName); + + [DllImport("kernel32.dll")] + public static extern bool FreeLibrary(IntPtr hModule); + + enum m64p_error + { + M64ERR_SUCCESS = 0, + M64ERR_NOT_INIT, /* Function is disallowed before InitMupen64Plus() is called */ + M64ERR_ALREADY_INIT, /* InitMupen64Plus() was called twice */ + M64ERR_INCOMPATIBLE, /* API versions between components are incompatible */ + M64ERR_INPUT_ASSERT, /* Invalid parameters for function call, such as ParamValue=NULL for GetCoreParameter() */ + M64ERR_INPUT_INVALID, /* Invalid input data, such as ParamValue="maybe" for SetCoreParameter() to set a BOOL-type value */ + M64ERR_INPUT_NOT_FOUND, /* The input parameter(s) specified a particular item which was not found */ + M64ERR_NO_MEMORY, /* Memory allocation failed */ + M64ERR_FILES, /* Error opening, creating, reading, or writing to a file */ + M64ERR_INTERNAL, /* Internal error (bug) */ + M64ERR_INVALID_STATE, /* Current program state does not allow operation */ + M64ERR_PLUGIN_FAIL, /* A plugin function returned a fatal error */ + M64ERR_SYSTEM_FAIL, /* A system function call, such as an SDL or file operation, failed */ + M64ERR_UNSUPPORTED, /* Function call is not supported (ie, core not built with debugger) */ + M64ERR_WRONG_TYPE /* A given input type parameter cannot be used for desired operation */ + }; + + enum m64p_plugin_type + { + M64PLUGIN_NULL = 0, + M64PLUGIN_RSP = 1, + M64PLUGIN_GFX, + M64PLUGIN_AUDIO, + M64PLUGIN_INPUT, + M64PLUGIN_CORE + }; + + enum m64p_command + { + M64CMD_NOP = 0, + M64CMD_ROM_OPEN, + M64CMD_ROM_CLOSE, + M64CMD_ROM_GET_HEADER, + M64CMD_ROM_GET_SETTINGS, + M64CMD_EXECUTE, + M64CMD_STOP, + M64CMD_PAUSE, + M64CMD_RESUME, + M64CMD_CORE_STATE_QUERY, + M64CMD_STATE_LOAD, + M64CMD_STATE_SAVE, + M64CMD_STATE_SET_SLOT, + M64CMD_SEND_SDL_KEYDOWN, + M64CMD_SEND_SDL_KEYUP, + M64CMD_SET_FRAME_CALLBACK, + M64CMD_TAKE_NEXT_SCREENSHOT, + M64CMD_CORE_STATE_SET, + M64CMD_READ_SCREEN, + M64CMD_RESET, + M64CMD_ADVANCE_FRAME + }; + + //[DllImport(@"..\..\libmupen64plus\mupen64plus-ui-console\projects\msvc11\Release\mupen64plus.dll", CallingConvention = CallingConvention.Cdecl)] + //static extern m64p_error CoreStartup(int APIVersion, string ConfigPath, string DataPath, string context, DebugCallback DebugCallback, string context2, IntPtr bar); + + // Core Specifc functions + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + delegate m64p_error CoreStartup(int APIVersion, string ConfigPath, string DataPath, string Context, DebugCallback DebugCallback, string context2, IntPtr dummy); + CoreStartup m64pCoreStartup; + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + delegate m64p_error CoreAttachPlugin(m64p_plugin_type PluginType, IntPtr PluginLibHandle); + CoreAttachPlugin m64pCoreAttachPlugin; + + // The last parameter is a void pointer, so make a few delegates for the versions we want to use + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + delegate m64p_error CoreDoCommandByteArray(m64p_command Command, int ParamInt, byte[] ParamPtr); + CoreDoCommandByteArray m64pCoreDoCommandByteArray; + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + delegate m64p_error CoreDoCommandPtr(m64p_command Command, int ParamInt, IntPtr ParamPtr); + CoreDoCommandPtr m64pCoreDoCommandPtr; + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + delegate m64p_error CoreDoCommandRefInt(m64p_command Command, int ParamInt, ref int ParamPtr); + CoreDoCommandRefInt m64pCoreDoCommandRefInt; + + // This has the same calling pattern for all the plugins + [UnmanagedFunctionPointer(CallingConvention.Cdecl)] + private delegate m64p_error PluginStartup(IntPtr CoreHandle, string Context, DebugCallback DebugCallback); + + PluginStartup GfxPluginStartup; + PluginStartup RspPluginStartup; + + public delegate void DebugCallback(IntPtr Context, int level, string Message); + + IntPtr CoreDll; + IntPtr GfxDll; + IntPtr RspDll; + + Thread m64pEmulator; + public N64(CoreComm comm, GameInfo game, byte[] rom) { CoreComm = comm; this.rom = rom; this.game = game; + + // Load the core DLL and retrieve some function pointers + CoreDll = LoadLibrary("mupen64plus.dll"); + GfxDll = LoadLibrary("mupen64plus-video-rice.dll"); + RspDll = LoadLibrary("mupen64plus-rsp-hle.dll"); + + m64pCoreStartup = (CoreStartup)Marshal.GetDelegateForFunctionPointer(GetProcAddress(CoreDll, "CoreStartup"), typeof(CoreStartup)); + m64pCoreDoCommandByteArray = (CoreDoCommandByteArray)Marshal.GetDelegateForFunctionPointer(GetProcAddress(CoreDll, "CoreDoCommand"), typeof(CoreDoCommandByteArray)); + m64pCoreDoCommandPtr = (CoreDoCommandPtr)Marshal.GetDelegateForFunctionPointer(GetProcAddress(CoreDll, "CoreDoCommand"), typeof(CoreDoCommandPtr)); + m64pCoreDoCommandRefInt = (CoreDoCommandRefInt)Marshal.GetDelegateForFunctionPointer(GetProcAddress(CoreDll, "CoreDoCommand"), typeof(CoreDoCommandRefInt)); + m64pCoreAttachPlugin = (CoreAttachPlugin)Marshal.GetDelegateForFunctionPointer(GetProcAddress(CoreDll, "CoreAttachPlugin"), typeof(CoreAttachPlugin)); + + GfxPluginStartup = (PluginStartup)Marshal.GetDelegateForFunctionPointer(GetProcAddress(GfxDll, "PluginStartup"), typeof(PluginStartup)); + + RspPluginStartup = (PluginStartup)Marshal.GetDelegateForFunctionPointer(GetProcAddress(RspDll, "PluginStartup"), typeof(PluginStartup)); + + // Set up the core + m64p_error result = m64pCoreStartup(0x20001, "", "", "Core", (IntPtr foo, int level, string Message) => { Console.WriteLine(Message); }, "", IntPtr.Zero); + result = m64pCoreDoCommandByteArray(m64p_command.M64CMD_ROM_OPEN, rom.Length, rom); + + // Set up and connect the graphics plugin + result = GfxPluginStartup(CoreDll, "Video", (IntPtr foo, int level, string Message) => { Console.WriteLine(Message); }); + result = m64pCoreAttachPlugin(m64p_plugin_type.M64PLUGIN_GFX, GfxDll); + + // Set up a null audio plugin + result = m64pCoreAttachPlugin(m64p_plugin_type.M64PLUGIN_AUDIO, IntPtr.Zero); + + // Set up a null input plugin + result = m64pCoreAttachPlugin(m64p_plugin_type.M64PLUGIN_INPUT, IntPtr.Zero); + + // Set up and connect the graphics plugin + result = RspPluginStartup(CoreDll, "RSP", (IntPtr foo, int level, string Message) => { Console.WriteLine(Message); }); + result = m64pCoreAttachPlugin(m64p_plugin_type.M64PLUGIN_RSP, RspDll); + + m64pEmulator = new Thread(ExecuteEmulator); + m64pEmulator.Start(); + } + + public void ExecuteEmulator() + { + byte[] blah = new byte[1]; + m64pCoreDoCommandPtr(m64p_command.M64CMD_EXECUTE, 0, IntPtr.Zero); } } } diff --git a/BizHawk.MultiClient/output/RiceVideoLinux.ini b/BizHawk.MultiClient/output/RiceVideoLinux.ini new file mode 100644 index 0000000000..adc671fcbb --- /dev/null +++ b/BizHawk.MultiClient/output/RiceVideoLinux.ini @@ -0,0 +1,1552 @@ +{e2f35d53f1899760-4a} +Name=Wave Race 64 SE +FastTextureCRC=2 +FrameBufferEmulation=4 + +{b09d00f82318296b-4a} +Name=CITY TOUR GP +IncTexRectEdge + +{542540b304c04073-45} +Name=Cruis'n USA + +{faf1b9fb8986f86b-45} +Name=LT DUCK DODGERS + +{231f2836cf569700-45} +Name=KEN GRIFFEY SLUGFEST + +{5b05a00a65df3776-50} +Name=DAFFY DUCK STARRING + +{ec939031ef09c20f-45} +Name=OFFROAD + +{378f8f658dd21318-44} +Name=RTL WLS2000 + +{a2eca9b98ee4aa17-45} +Name=Rush 2049 + +{54ddbcae4a83ff15-50} +Name=Taz Express + +{e07359beb8edb089-45} +Name=TOP GEAR RALLY 2 + +{aaccfabcefd814b8-45} +Name=BASSMASTERS2000 + +{696b64f4951075c5-4a} +Name=BattlePhoenix64 +FastLoadTile + +{cec4d4558ac75377-45} +Name=BATTLEZONE +ForceScreenClear=2 + +{45f48871680a4184-4a} +Name=DDR DISNEY D MUSEUM +FastLoadTile + +{181a33df44e0d45f-45} +Name=NASCAR 2000 +PrimaryDepthHack + +{437f1c551c834991-4a} +Name=TOUKON ROAD2 + +{4707dec0d372dfa2-4a} +Name=PUZZLEBOBBLE64 + +{421886079fbc2ea1-45} +Name=EXCITEBIKE64 +FastTextureCRC=1 +RenderToTexture=3 + +{9803f7728ba95665-45} +Name=STAR WARS EP1 RACER +ZHack + +{afe66a73c7e91741-4a} +Name=MICKEY USA +FastTextureCRC=1 +AlternativeTxtSizeMethod=1 +FrameBufferEmulation=3 +RenderToTexture=3 + +{955f5df3693dfe8a-45} +Name=CASTLEVANIA +FrameBufferEmulation=1 + +{9aaae9c2aa705d47-45} +Name=BANJO TOOIE + +{0693bfa4d1df0cbf-45} +Name=Banjo-Kazooie +FrameBufferEmulation=8 +RenderToTexture=4 +ScreenUpdateSetting=4 + +{ff2b5a632623028b-45} +Name=SUPER MARIO 64 +AlternativeTxtSizeMethod=1 + +{b655503e52da922e-45} +Name=Mario Kart 64 +FastTextureCRC=1 +FrameBufferEmulation=3 +RenderToTexture=3 + +{ec4ba2664fd9ad2e-45} +Name=Rogue Squadron +FrameBufferEmulation=2 + +{3863c01c26893887-45} +Name=CASTLEVANIA2 + +{5cb6f92ad7a2e285-45} +Name=MULTI RACING +ForceScreenClear=2 + +{9c33b2d5edcabcca-50} +Name=BUCK BUMBLE + +{9b98023de281a3d4-45} +Name=Battle for Naboo + +{15cc9daf883d721a-45} +Name=Indiana Jones + +{452fefaef1307ef9-45} +Name=FIGHTER DESTINY2 + +{c33022a6884483f0-45} +Name=Dual heroes USA + +{fc06d8d3a8a23ab4-50} +Name=MTM64 + +{71d10ea66ed0853d-45} +Name=SPIDERMAN + +{9deaf4dbc0823e33-45} +Name=SNOWBOARD KIDS + +{b71170ec2bd71676-45} +Name=THE LEGEND OF ZELDA +FrameBufferEmulation=3 +RenderToTexture=3 + +{b49f03462c823703-45} +Name=Kirby64 + +{0aff1ce6710d1cce-50} +Name=NEWTETRIS +IncTexRectEdge + +{1c9651c8faaafc78-45} +Name=Pilot Wings64 + +{3afc8a4ff22d91f7-50} +Name=South Park Rally + +{7ebc10dd51b300f9-50} +Name=V8: SECOND OFFENSE +FrameBufferEmulation=3 +RenderToTexture=3 + +{a819f4edcc0419bf-45} +Name=Beetle Adventure Rac +Texture1Hack + +{fc9ddf9889c10666-45} +Name=HARVESTMOON64 + +{73f0868a4be545cd-45} +Name=Bust A Move 2 +FastLoadTile +TexRectScaleHack + +{2ecf221e13c8aa42-45} +Name=BRUNSWICKBOWLING + +{21cbbcfc6b3c9072-45} +Name=Mystical Ninja +FastLoadTile +FrameBufferEmulation=1 + +{80205766e148e328-4a} +Name=SUPERROBOTSPIRITS + +{4f5aa9e623ead2ba-45} +Name=AIDYN_CHRONICLES + +{0b15d45cf1c20c47-45} +Name=Extreme G 2 +PrimaryDepthHack + +{0be1d56046eded8b-50} +Name=Rayman 2 +FastTextureCRC=1 + +{1c635453f0dea203-45} +Name=ZELDA MAJORA'S MASK +FrameBufferEmulation=3 +RenderToTexture=3 + +{67cf7503aa3fa956-4a} +Name=OgreBattle64 +FrameBufferEmulation=3 +RenderToTexture=3 + +{3ae5ee653c737ded-45} +Name=PAPER MARIO +FrameBufferEmulation=3 +RenderToTexture=3 +ScreenUpdateSetting=4 + +{7e260025cec37e2a-45} +Name=RIDGE RACER 64 + +{4fcf0150bdb30cf3-45} +Name=MarioTennis +AccurateTextureMapping=1 +FastTextureCRC=1 +AlternativeTxtSizeMethod=1 +FrameBufferEmulation=4 +RenderToTexture=4 + +{5c52381956966e58-45} +Name=MS. PAC-MAN MM + +{d0b4b8cd2d353288-45} +Name=JET FORCE GEMINI +FrameBufferEmulation=1 + +{db0e7e142cb1c536-4a} +Name=EVANGELION +AccurateTextureMapping=1 +FastTextureCRC=1 + +{cc60f4ddc034a63c-45} +Name=Perfect Dark + +{85e05e0c3edd67a1-45} +Name=ROCKETROBOTONWHEELS +FastTextureCRC=1 + +{8438e2bfafea48ef-45} +Name=Silicon Valley +AlternativeTxtSizeMethod=1 +RenderToTexture=3 + +{0c28d5b12abca74b-4a} +Name=SIM CITY 2000 + +{325e9b7280d928b7-45} +Name=GAUNTLET LEGENDS +FrameBufferEmulation=1 + +{0d4302e49dfcfcd2-45} +Name=Diddy Kong Racing + +{22c04e2085d119b1-45} +Name=TONY HAWK PRO SKATER + +{b2bb524c6b0fabce-45} +Name=ARMYMENAIRCOMBAT +IncTexRectEdge + +{b6ce09347a51c8ce-45} +Name=SMASH BROTHERS + +{50acc7302d070477-45} +Name=CONKER BFD +FrameBufferEmulation=3 +RenderToTexture=4 + +{a5b118aaeb6adb07-45} +Name=Resident Evil II +ForceScreenClear=1 + +{d150bcdca31afd09-45} +Name=GOLDENEYE +ZHack +FrameBufferEmulation=1 +ScreenUpdateSetting=4 + +{e8d83723ec7c8e6b-45} +Name=YOSHI STORY +FrameBufferEmulation=3 +RenderToTexture=3 + +{78d90eb3f9c90330-45} +Name=F-ZERO X + +{3603165ab0377bbc-50} +Name=BOMBERMAN64E + +{0390a59064980831-45} +Name=WRESTLEMANIA 2000 + +{6d208ebd1c5ec398-4a} +Name=DOUBUTSUNOMORI + +{96fa0e65a7f9dd30-50} +Name=WAVE RACE 64 +VIWidth=320 +VIHeight=240 + +{72e270fcaae7ff08-50} +Name=Silicon Valley + +{bbe8e07eaa11e449-50} +Name=Rogue Squadron + +{38a59bd089541a1c-50} +Name=Top Gear Overdrive + +{f4791f15e5c8ed8e-50} +Name=VIGILANTE 8 + +{7b5bf45be8ee6b59-50} +Name=WWF: Attitude + +{485f9493302e0f5c-50} +Name=SMASH BROTHERS + +{36f03ca0d2c5c1bc-50} +Name=SUPER MARIO 64 +FastTextureCRC=1 + +{8616b80c815ad85f-45} +Name=Madden NFL 2000 + +{a475a233594450b8-50} +Name=WWF War Zone +RenderToTexture=3 + +{a526899f09b48705-50} +Name=TONY HAWK SKATEBOARD + +{84ea4ed8b4f1b245-50} +Name=SHADOWGATE64 + +{bfe514d6c1bc6da7-50} +Name=TARZAN + +{4a831839290cb515-45} +Name=RAZOR FREESTYLE + +{4d675728da3743cc-45} +Name=NIGHTMARE CREATURES + +{9940307f7652cf52-4a} +Name=LASTLEGION UX + +{782706acb8fcaddf-50} +Name=WORLD DRIVER CHAMP +FullTMEM=1 + +{f336411da9ee63af-45} +Name=ZELDA MASTER QUEST + +{614b2f496a14e504-45} +Name=WAVE RACE 64 + +{b1cc3f73f9924844-50} +Name=Banjo-Kazooie + +{e74bc5a2b2cb1967-50} +Name=CASTLEVANIA2 +FastTextureCRC=1 + +{b609608a50e1ac94-45} +Name=JET FORCE GEMINI +AccurateTextureMapping=1 +FastTextureCRC=1 +RenderToTexture=3 + +{b3d9f590f0dc0e9d-45} +Name=POKEMON STADIUM +FrameBufferEmulation=3 +RenderToTexture=3 + +{a059e913b0ca930e-45} +Name=WORMS ARMAGEDDON + +{d7d81095d20d1035-45} +Name=Stunt Racer 64 +FullTMEM=1 + +{bfea58ec69717cad-45} +Name=DONKEY KONG 64 +EmulateClear=2 + +{40064b4efbbc491b-45} +Name=WWF No Mercy + +{d68cbe33126918ec-45} +Name=WCW MAYHEM + +{bd193e2c5eee1351-45} +Name=WCWvs.NWO:World Tour +FrameBufferEmulation=4 +ScreenUpdateSetting=4 + +{b960be713cfbdb1d-45} +Name=WCWvs.NWO:World Tour +FrameBufferEmulation=1 +ScreenUpdateSetting=4 + +{ab96e5dee77a3baf-45} +Name=WCW / nWo REVENGE +ScreenUpdateSetting=4 + +{253ffd588daa2ed9-50} +Name=1080 SNOWBOARDING + +{47cfa352fc3bc14e-50} +Name=NFL QBC '99 + +{497df9d35b132469-50} +Name=YOSHI STORY +FrameBufferEmulation=3 +RenderToTexture=3 + +{af29ab1928cd1bc7-50} +Name=PAPER MARIO + +{7d1d6172d2bd1999-58} +Name=HSV ADVENTURE RACING +Texture1Hack + +{ad84d7df036642ae-50} +Name=ALL STAR TENNIS '99 + +{b4fb88b01d4b1e44-50} +Name=BASS HUNTER 64 + +{d3dd3f71efa0d672-20} +Name=Bike Race by NaN +ForceScreenClear=2 + +{16d3794d331b50e8-45} +Name=BEAST WARS US + +{d0483cfb9ff6288d-50} +Name=CHARLIE BLAST'S + +{e89d2b491cc8ccc6-50} +Name=EARTHWORM JIM 3D + +{3421cfdc7835d69d-50} +Name=Centre Court Tennis +UseCIWidthAndRatio=1 + +{9531740f95dba6d8-50} +Name=DAIKATANA + +{b3c83ccca405c40e-50} +Name=F1 WORLD GRAND PRIX + +{9d127b27ff7938dd-50} +Name=Holy Magic Century + +{98da8b41580f8a24-50} +Name=MISCHIEF MAKERS + +{f10bfd20871dcff5-50} +Name=RAT ATTACK + +{7bc5212d8cc5e48f-50} +Name=WORMS N64 + +{9bbfc5f3e2330f16-45} +Name=Rayman 2 +FastTextureCRC=1 + +{118a08497e959464-45} +Name=Turok 2: Seeds of Ev +AccurateTextureMapping=1 + +{4e2d0ff0f4aa0f34-45} +Name=CARMAGEDDON64 +FastTextureCRC=1 + +{ababd40d1ea9a2b5-45} +Name=D K DISPLAY + +{32d9b51f1b48a93b-45} +Name=Armorines Project S. + +{b46e28958fd56ab7-45} +Name=Command&Conquer + +{9addd0dea72582e7-50} +Name=MICKEY USA PAL + +{75d474fcab78029a-45} +Name=PPG CHEMICAL X + +{b5707f1afdb9b700-45} +Name=THPS3 + +{6a0571ea474821e4-45} +Name=VIGILANTE 8 +FullTMEM=2 +RenderToTexture=3 + +{e7dda46ae7f4e2e3-45} +Name=BATTLETANX + +{47e2a4753d960860-45} +Name=BATTLETANXGA + +{ca243cf0cc7b23c5-45} +Name=CLAYFIGHTER 63 + +{cbc7ef32203feac3-45} +Name=Fighting Force + +{1a103ea89db637e9-45} +Name=Doom64 + +{ff016e8e48f9b4cc-45} +Name=Glover +AccurateTextureMapping=1 + +{3f14532151632d99-45} +Name=NEWTETRIS +VIWidth=400 +VIHeight=300 + +{a35ecf42df34139a-50} +Name=STARCRAFT 64 +NormalAlphaBlender=2 +UseCIWidthAndRatio=1 +RenderToTexture=3 + +{ac47477a23ecee44-44} +Name=PUZZLE LEAGUE N64 +VIWidth=320 +VIHeight=240 +FrameBufferEmulation=4 +RenderToTexture=3 + +{fd04dc82f4822dcf-45} +Name=A Bug's Life + +{f628fef7c3acf2c3-45} +Name=WAR GODS + +{3f22456b565c0ef0-45} +Name=W.G. 3DHOCKEY + +{59389d5a10e7aa97-45} +Name=W.G 3D Hockey 98 + +{329dc9bb80aa7d11-45} +Name=TWISTED EDGE + +{3e7450a1cd2225cf-45} +Name=Toy Story 2 +FrameBufferEmulation=2 + +{3d9b2662e8b111fe-45} +Name=TOP GEAR RALLY +ScreenUpdateSetting=2 + +{beda1f3cbae0a402-45} +Name=TETRISPHERE +IncTexRectEdge + +{5bf3e8a2d987dcc9-45} +Name=SUPERMAN + +{c8615eab9675faa2-45} +Name=PENNY RACERS + +{669464dcd9f02f57-4a} +Name=ONEGAI MONSTER + +{1a5ac4d45eb225f4-45} +Name=NITRO64 + +{eeb0255fdbc12762-45} +Name=NBA LIVE 2000 + +{ada552424ebf6fae-45} +Name=GOEMONS GREAT ADV + +{c59b41e6e31d0169-45} +Name=OgreBattle64 + +{e5522da955b6261d-45} +Name=FLYING DRAGON +FastLoadTile + +{d6fd4644088278e3-45} +Name=BOMBERMAN HERO + +{b42f2fff9a1461d1-45} +Name=Cruis'n USA + +{5c7e4d2622468718-45} +Name=Shadow of the Empire +DisableObjBG=1 +ScreenUpdateSetting=4 + +{63cff584dc7eee08-45} +Name=KNIFE EDGE + +{9fd8224237b6e0af-45} +Name=Bust A Move '99 +FastLoadTile + +{a43c70efc99a4a4d-4a} +Name=TOUKON ROAD + +{b3c83ccca405c40e-45} +Name=F1 WORLD GRAND PRIX + +{8e8fc9c7de5d1442-45} +Name=HOT WHEELS TURBO + +{36cee20de6291dd4-4a} +Name=HYBRID HEAVEN JP + +{374cff6dfd63b7b1-4a} +Name=̧н?64 + +{180e1599a5e66612-45} +Name=THPS2 + +{7ff0da0488e6180d-45} +Name=DUKE NUKEM ZERO HOUR + +{7a6882ae8d383f9a-45} +Name=F1 POLE POSITION 64 + +{6e86c107decc7557-50} +Name=F1 WORLD GRAND PRIX2 + +{5858a99e18b672af-45} +Name=MarioParty2 + +{d929387cce47826e-45} +Name=MarioParty3 +FastTextureCRC=1 +TexRectScaleHack + +{9207384145e067a1-45} +Name=POLARISSNOCROSS +TexRectScaleHack +DisableAlphaBlender=1 + +{31e0d6ed13601368-45} +Name=RUSH 2 + +{0d7ddff78f0152ed-00} +Name=Shufflepuck 64 + +{ac3363d79d21b60c-4a} +Name=Bass Rush + +{fab428e3e1284a00-50} +Name=Bust A Move 3 DX + +{20186b2a66f4bc6a-45} +Name=S.F. RUSH +IncTexRectEdge + +{4d7a545e9507e690-45} +Name=All-Star Baseball '0 + +{30a61376f396d63e-45} +Name=FIFA 99 +FastTextureCRC=1 + +{996e30b6b2d23eb6-4a} +Name=ÄÞ×´ÓÝ2 ˶ØÉ¼ÝÃÞ + +{049805d8119b7392-4a} +Name=ÄÞ×´ÓÝ3 ÉËÞÀÉÏÁSOS! + +{4cca08f927434636-45} +Name=Killer Instinct Gold +ForceScreenClear=1 + +{ac0443c321c0792d-45} +Name=MK_MYTHOLOGIES + +{b9019507ab3202ab-4a} +Name=CUSTOMROBOV2 + +{582ba5a441987523-45} +Name=DARK RIFT +EmulateClear=1 + +{c18944202bcf8612-45} +Name=BATMAN BEYOND RETURN + +{b4737e23376b3bd6-45} +Name=BOMBERMAN64U2 +AccurateTextureMapping=1 +FastTextureCRC=1 + +{bf2ff236f2128931-4a} +Name=64ÊÅÌÀ?~ÃݼÉÔ¸¿¸~ + +{ec7c7fc26f80e085-50} +Name=MYSTICAL NINJA2 SG + +{33ddbf4e849d4c66-45} +Name=Tigger's Honey Hunt + +{dd5a6f39a7ec9366-45} +Name=WCW BACKSTAGE + +{8c1168f44ee42ee3-4a} +Name=Ultraman Battle JAPA + +{aff7a346d091750f-45} +Name=CruisnExotica +ForceScreenClear=1 +FrameBufferEmulation=2 + +{e1a49e51e88475eb-4a} +Name=KING HILL 64 + +{f002cc8e81de8b7f-45} +Name=Top Gear Hyper Bike + +{54edd74d7d28f974-45} +Name=Shadow of the Empire +FrameBufferEmulation=3 +ScreenUpdateSetting=3 + +{6c7450f00b827b24-45} +Name=ROAD RASH 64 +AccurateTextureMapping=1 + +{6a6d63bdba541f5d-45} +Name=World Cup 98 + +{9516943beb5e0af9-50} +Name=TWINE +UseCIWidthAndRatio=1 + +{95351208def11005-45} +Name=BIOFREAKS + +{abd8f7d146043b29-45} +Name=Asteroids Hyper 64 + +{0588f752b7ca8f8b-45} +Name=Fighter's Destiny + +{a2dc9ac4621b50f1-45} +Name=GT64 +IncTexRectEdge + +{ea406a09100abe8a-45} +Name=LEGORacers +FrameBufferEmulation=2 + +{87b4694e90e218fe-45} +Name=NBA HANGTIME +FastLoadTile +FullTMEM=1 + +{47b512cae44efa71-45} +Name=POKEMON SNAP +FastTextureCRC=1 +RenderToTexture=3 + +{1a1d75c2ff9bc1f8-50} +Name=SNOWBOARD KIDS2 + +{f85c032635912b80-45} +Name=Mission Impossible + +{f18b591b459ba2ec-45} +Name=AERO FIGHTERS ASSAUL + +{20d568510dcd5fca-4a} +Name=Banjo-Kazooie + +{eeea74f73eb1d8f0-4a} +Name=F3 ̳ײɼÚÝ2 +AccurateTextureMapping=1 +FastTextureCRC=1 + +{6d8d76286c9779b3-45} +Name=Monaco Grand Prix + +{821157036dd02f89-45} +Name=POKEMON STADIUM 2 +FrameBufferEmulation=3 + +{b8a5ed9403e97386-45} +Name=Starshot + +{127edc3ec91c6ce2-45} +Name=Gex 3 Deep Cover Gec + +{98ae2b8dbf2537d7-45} +Name=NAGANO OLYMPICS + +{6b7e8094e462cc60-4a} +Name=PUYO PUYO SUN 64 + +{f34791760ec13320-45} +Name=SCARS +VIWidth=320 +VIHeight=240 +FullTMEM=1 + +{2d16e69f37407ee9-4a} +Name=TROUBLE MAKERS + +{8ad56680c1cadec3-45} +Name=Waialae Country Club + +{20f9b837efb38ba5-45} +Name=Twintris + +{9dae5305c1e0d8ea-45} +Name=XENAWARRIORPRINCESS + +{f179a589ef977e66-45} +Name=Turok 3: Shadow of O + +{3d8ea87371c5c53a-45} +Name=RALLY CHALLENGE +RenderToTexture=3 + +{9cf75b9fa008fed2-45} +Name=Quake +ForceScreenClear=1 + +{a7233ec41a68b140-45} +Name=All Star Baseball 99 + +{d025c427c1992d8c-50} +Name=AIR BOARDER 64 + +{941a95b6af49c863-4a} +Name=DRACULA MOKUSHIROKU + +{2907d2674c7796f6-4a} +Name=SMASH BROTHERS + +{c73b072011013b5e-45} +Name=ITF 2000 + +{4fd5ea30f60b6231-45} +Name=NFL BLITZ SPECIAL ED + +{80cd41d712b9a9ac-45} +Name=Top Gear Overdrive + +{2b0996e84e4d24dc-45} +Name=WHEEL OF FORTUNE + +{3e46beae4b4671cc-45} +Name=AEROGAUGE + +{ec620158f18b10e3-58} +Name=CARMAGEDDON64 + +{d245a2fd473d4aa7-45} +Name=extremeg + +{74d7fe891be2afca-45} +Name=GEX: ENTER THE GECKO + +{6064256986f5a3b9-45} +Name=JEOPARDY! + +{bcb516e6888b65c9-45} +Name=Iggy's Reckin' Balls + +{32272d1318910ec7-45} +Name=Wipeout 64 + +{14979eef7d2c3bc0-45} +Name=Tonic Trouble + +{163ed509b968b23a-45} +Name=PIAZZA STRIKEZONE + +{f4d47d41e22f481b-45} +Name=MORTAL KOMBAT 4 + +{4f47294f7a70cb30-4a} +Name=KAKUTOU DENSHOU + +{6910969c8d48eaf5-4a} +Name=64 OHZUMOU +FastLoadTile + +{1462a21e0f9090e7-50} +Name=Turok: Rage Wars + +{f6290781c1cf3fe0-45} +Name=NBA JAM 99 + +{cab7f1645537a271-50} +Name=CASTLEVANIA + +{5991f1c35abcd265-45} +Name=FIFA Soccer 64 + +{dce23ae1e85cb64f-4a} +Name=Eltail + +{514423656f34d3eb-4a} +Name=Blastdozer + +{e48c53cdf9fc8a61-45} +Name=Chameleon Twist2 +ScreenUpdateSetting=4 + +{56ab73a29adb33da-45} +Name=DUKE NUKEM + +{657e647c05d34819-45} +Name=Blast Corps + +{e167f6a51fbd1fda-4a} +Name=DERBYSTALLION 64 + +{92f738eb46a20e19-45} +Name=Madden NFL 2001 +ScreenUpdateSetting=4 + +{d4a34b66b7808a67-45} +Name=MarioGolf64 +FrameBufferEmulation=4 +RenderToTexture=4 + +{83c871d5cf3f2d82-50} +Name=BLUES BROTHERS 2000 + +{134d9d76fe3f23da-45} +Name=DR.MARIO 64 +FastTextureCRC=2 +TexRectScaleHack +FrameBufferEmulation=7 +RenderToTexture=3 + +{f815d0a743aa8922-45} +Name=STARFOX64 + +{a284e5de8711160f-45} +Name=DESTRUCT DERBY + +{7e652928771862a0-45} +Name=MarioParty +FastTextureCRC=1 +ScreenUpdateSetting=4 + +{c8fe8d30f6b52ece-45} +Name=WORLD DRIVER CHAMP + +{d94dbbc80b435fcc-45} +Name=Quest 64 + +{4fb5a8ce03d5217f-45} +Name=Wetrix +AccurateTextureMapping=1 +FastTextureCRC=1 + +{436b4bfea7291d08-45} +Name=TRIPLE PLAY 2000 + +{77eb3c7f0a038189-45} +Name=HERCULES + +{b7a4ff08b653f401-45} +Name=Big Mountain 2000 + +{d66abc75c92b5578-4a} +Name=·×¯Ä¶²¹Â 64ÀÝòÀÞ + +{65973ce4bec1b105-4a} +Name=Wonder Project J2 + +{78957423fd58dc80-45} +Name=NASCAR 99 +PrimaryDepthHack + +{b6730fb234fc7529-45} +Name=ARMYMEN SARGE 2 + +{1cfb9046446dd54c-45} +Name=GOLDEN NUGGET 64 + +{8074f13d5aed3d19-50} +Name=Donald Duck Quack At +FastTextureCRC=1 + +{cdb8580bd291b2b7-50} +Name=Body Harvest +ScreenUpdateSetting=2 + +{4dd12fd7c432ed1f-45} +Name=Bottom of the 9th +VIWidth=320 +VIHeight=240 + +{c2b1f7bf8e14bfae-4a} +Name=ÄÞ×´ÓÝ Ð¯Âɾ²Ú²¾· + +{405127a8e856b0b9-4a} +Name=ÄÞ×´ÓÝ3 ÉËÞÀÉÏÁSOS! + +{26f7fc68bc8c6549-50} +Name=G.A.S.P!!Fighters'NE + +{978d9fab66a7ea95-00} +Name=Kings of Porn Vol 01 + +{4c5eb3e4c95cc41a-45} +Name=MGAH VOL1 + +{2f96deac7ff8cbb2-50} +Name=NBA PRO 98 + +{a55f70280e6909b5-50} +Name=Monaco GP Racing 2 + +{420c2a397de790b7-45} +Name=RAINBOW SIX + +{5d0ef1d379a52e05-45} +Name=hey you, pikachu + +{d44a7da4f981fa8b-45} +Name=Manic Miner 64 + +{231b1c14259ef43e-00} +Name=(C) DATEL D&D NU10:0 + +{0cf10110c1d8513d-45} +Name=Mia Hamm Soccer 64 + +{bbdd9849bcaeb7f7-45} +Name=NUCLEARSTRIKE64 + +{25d625395ec7838c-50} +Name=MADDEN NFL 99 + +{bf882810ca884843-45} +Name=HYBRID HEAVEN USA + +{7a4636e49b8fde82-45} +Name=INDY RACING 2000 + +{d04eabe3d20d0483-45} +Name=NFL QBC 2000 + +{6960bfac62e1beea-45} +Name=CHOPPER_ATTACK + +{707ae874d4ae9362-50} +Name=ROADSTERS TROPHY + +{c463275fe52a4162-45} +Name=I S S 64 +ScreenUpdateSetting=3 + +{43f1a8bd622dafb1-45} +Name=QUAKE II +ForceScreenClear=2 + +{127341ec5fde31eb-4a} +Name=THE MASK OF MUJURA +DisableObjBG=1 + +{c26661e3e5a21386-58} +Name=MO WORLD LEAGUE SOCC + +{5a211daa9abecb91-45} +Name=SUPER BOWLING + +{e2a2bb4bb2bbf38b-00} +Name=Puzzle Master 64 + +{9e5abd88bfdf1fe8-50} +Name=NFL QBC 2000 + +{48a90cc04bd3608e-45} +Name=South Park: Chef's L +TexRectScaleHack +FullTMEM=1 +AlternativeTxtSizeMethod=1 + +{4b45d50895ccaaff-4a} +Name=TETRIS64 + +{5a53206462800250-45} +Name=Chameleon Twist + +{493336f51bd2f9db-45} +Name=DeadlyArts + +{c7c4eb0c32e99c0c-4a} +Name=WILD CHOPPERS + +{57062c866d89fd8d-45} +Name=Army Men Sarge + +{a18efce89183739f-45} +Name=CyberTiger + +{010c339eba14038c-45} +Name=Forsaken + +{36fecce375bc8f39-45} +Name=YOSHI STORY + +{1d5bce9c83e25163-00} +Name= + +{e98889b5e84bfcb1-50} +Name=Hydro Thunder + +{6e84e4bab0fe8ebb-45} +Name=PAPERBOY + +{ec4716df47a9a2be-50} +Name=MYSTICAL NINJA2 SG + +{532a11638fa89fa2-4a} +Name=PERFECT STRIKER2 + +{2d56d52850aed5e4-4a} +Name=ÃÞÝØ­³²×²×ÎÞ +ScreenUpdateSetting=2 + +{fbabf721e8a78a6a-50} +Name=Jeremy McGrath Super + +{0df1702fff87415c-45} +Name=TUROK_DINOSAUR_HUNTE + +{efc64654bb478ee1-45} +Name=All-Star Baseball 20 + +{e8603e5e95d4b54a-4a} +Name=»²·®³ÊÌÞ¼®³· + +{cd0d702fc9c56c17-50} +Name=TUROK_DINOSAUR_HUNTE + +{db4d6b0b82e67196-45} +Name=ROADSTERS TROPHY + +{aea23b699f4ef1b7-45} +Name=THE LEGEND OF ZELDA + +{3890053c8221bfc8-45} +Name=V-RALLY + +{5b8b6b91a4850b78-45} +Name=SMASH BROTHERS + +{89638313763c5b26-45} +Name=MADDEN 64 + +{a93af3830dd401a9-45} +Name=MortalKombatTrilogy + +{29b4b7ea572cc9ba-45} +Name=READY 2 RUMBLE + +{5e6c6384fa4a9e94-4a} +Name=TETRIS64 + +{c45db2418667721b-45} +Name=Lamborghini 64 + +{5007706bfe21d629-45} +Name=MACE + +{865877637b0eb85f-4a} +Name=POKEMON STADIUM 2 +FrameBufferEmulation=3 +RenderToTexture=3 + +{d0f2f9989cf0d903-50} +Name=Virtual Pool 64 +ScreenUpdateSetting=3 + +{f311e83524277999-4a} +Name=½½?À²¾ÝÊß½ÞÙÀÞÏ +TexRectScaleHack + +{2dac77289a13dcc3-44} +Name=Racing Simulation 2 +FastLoadTile + +{d8526891efeadb73-45} +Name=NBA Courtside 2 + +{3754838eb44857cd-45} +Name=I.S.S.2000 + +{f336411da9ee63af-50} +Name=THE LEGEND OF ZELDA +FrameBufferEmulation=7 + +{0000000000000000-00} +Name= + +{decd1acbf21d29cf-45} +Name=FIFA: RTWC 98 +ScreenUpdateSetting=2 + +{6930669c804af280-50} +Name=MarioParty + +{79c712671d78723b-50} +Name=IT&F SUMMERGAMES + +{f49e624b9b1db299-50} +Name=quarterback_club_98 + +{8725c27e23e31aef-45} +Name=OLYMPIC HOCKEY + +{f0ed310ed54972c3-50} +Name=FIFA: RTWC 98 + +{51a69801849d21fc-50} +Name=FIFA 99 + +{dbe5388cd7277cb3-50} +Name=ECW Hardcore Revolut + +{2ce9cbf412ed92b3-50} +Name=STARFOX64 + +{796690e4053f249f-50} +Name=MAGICAL TETRIS + +{7e9598edacdc4282-45} +Name=WIN BACK + +{ba8bb7de9dbdf652-45} +Name=MADDEN NFL 99 + +{604167c53c455f0f-50} +Name=MarioParty3 +TexRectScaleHack + +{d057e9625d5ac17f-50} +Name=MarioGolf64 +FrameBufferEmulation=3 +RenderToTexture=3 + +{396d17c9d17947ea-50} +Name=BANJO TOOIE + +{185bf98d7b49daec-45} +Name=NBA IN THE ZONE 2000 + +{9c9094082dd8d4da-45} +Name=Knockout Kings 2000 +UseCIWidthAndRatio=1 +RenderToTexture=3 + +{fb4e4f2bfe11c543-50} +Name=TOM AND JERRY + +{dadf3a4daefc9875-50} +Name=RUGRATSTREASUREHUNT + +{02c608eea6d5c26b-50} +Name=PGA European Tour Go + +{94ad4c21243b1abe-45} +Name=CHOPPER_ATTACK + +{4716b67578bfda7a-45} +Name=MAGICAL TETRIS + +{350c85f11279e0ac-45} +Name=MICROMACHINES64TURBO + +{e183c35a87e312d7-45} +Name=monopoly + +{168bc185af2296df-4a} +Name=64 µµ½ÞÓ³ 2 + +{fbb1ab739360ca9c-45} +Name=PENNY RACERS + +{e4f99fc27dfe4b26-45} +Name=RAMPAGE + +{99d7e0fc546c3165-45} +Name=KNIFE EDGE + +{0ca3d88317c15285-00} +Name=YOSHI BOOT EMU + +{8d3bda777c0d2b16-4a} +Name=²ÃÞÖ³½¹Éϰ¼Þ¬Ý¼Þ­¸ + +{986c006081a30526-4a} +Name=VIOLENCEKILLER + +{cd0c011cfab7d322-4a} +Name=½Þ°Ù ϼޭ³Â¶²ÃÞݾ + +{222ee09cb0f16e20-4a} +Name=SUPER SPEED RACE 64 + +{dccda73ba0524e46-4a} +Name=MARIO STORY + +{1e82cccc838ae896-4a} +Name=ϰ¼Þ¬Ýγ۳·CLASSIC + +{20b93bd8166440cc-4a} +Name=ǼÂÞØ64 + +{3b4b5574b5bcaef4-4a} +Name=PACHINKO365NICHI + +{ad5b4934269d2e50-4a} +Name=PAWAFURU PUROYAKYU4 + +{da4329d2c0772bac-4a} +Name=PAWAFURU PUROYAKYU5 + +{b7205eb7fdfdfeb3-4a} +Name=PAWAFURU PUROYAKYU6 + +{547fd2f3f9ac11c1-50} +Name=Premier Manager 64 + +{3b5966d6075ca2d7-4a} +Name=RockMan Dash + +{ff04fc84e93c25b1-4a} +Name=½ÉÎÞ·¯½Þ +ScreenUpdateSetting=4 + +{c1a7caff37858568-4a} +Name=STARFOX64 + +{87a91f0fa6afc1bf-45} +Name=Re-Volt + +{5db998df78098458-4a} +Name=BANGAIOH +IncTexRectEdge + +{8824ae7e5aa3409d-4a} +Name=BioHazard II + +{c4085c048b79fd4a-4a} +Name=ÊÞ°Á¬Ù ÌßÛÚ½ØÝ¸Þ 64 +FrameBufferEmulation=2 +ScreenUpdateSetting=3 + +{9c167989a0f689f1-4a} +Name=DEZAEMON3D + +{819b9b3911ad33d5-4a} +Name=´¸½ÄذÑG2 +PrimaryDepthHack + +{66e8703ee8ba3844-4a} +Name=HEIWA ÊßÁݺ ܰÙÄÞ64 +RenderToTexture=3 + +{f5d919afcc2302b7-4a} +Name=G1STABLE + +{ac90989adf13c3f0-4a} +Name=ÏØµÉÌ«ÄËß° + +{0f692b27777a0aad-4a} +Name=Robopon64 +FrameBufferEmulation=3 +RenderToTexture=3 + +{339521e9bdaffb13-45} +Name=Ready to Rumble + +{f480fe3f7e5fc1a7-45} +Name=NBA SHOWTIME + +{56a48bb9af762b5b-4a} +Name=ÐÝÅÃÞÀϺޯÁܰÙÄÞ +FastLoadTile +FullTMEM=1 + +{69025b840295de57-4a} +Name=Top Gear Hyper Bike + +{e6849c48f9496e4c-4a} +Name=Getter Love!! + +{b157ae0937562a18-4a} +Name=MASTERS'98 + +{f127177deb836b6c-00} +Name=Test Program + +{93b8a075b521a34c-00} +Name= + +{321536813f64eb2a-00} +Name= + +{e04dda1e8d69bf22-00} +Name=Test Program + +{0ab5b39a056166bc-44} +Name=HEXEN + +{6805ed0d5e510215-4a} +Name=´²º³É¾ÝıÝÄÞØ­°½ + +{c851318f45f53a4f-44} +Name=WWF: Attitude + +{8ef08d6dcfc308d0-50} +Name=WWF No Mercy + +{dbe6647cdb24b955-50} +Name=Blast Corps + +{ce97680354fad4e0-45} +Name=SHADOWGATE64 + +{324b8eac2673b4e7-45} +Name=ROBOTRON-64 + +{424a5554fb5f98e4-4a} +Name=J LEAGUE LIVE 64 + +{d218739cc10dae24-4a} +Name=BEETLE ADVENTURE JP +Texture1Hack + +{614ab6a10b9414d0-50} +Name=Beetle Adventure Rac +Texture1Hack + +{5cc0c180f45e06ea-45} +Name=MLB FEATURING K G JR +FastLoadTile + +{be98b9cdc8a52410-50} +Name=MLB FEATURING K G JR +FastLoadTile +AlternativeTxtSizeMethod=1 + +{1e93f3833d2272cb-50} +Name=CRUIS'N WORLD +UseCIWidthAndRatio=2 + +{80064660720e5f30-50} +Name=Lode Runner 3D +ScreenUpdateSetting=1 + +{140efa7505d1b3c9-44} +Name=Holy Magic Century + +{3e269b97040047f8-50} +Name=Killer Instinct Gold + +{2bc6673d5031d031-4a} +Name=LET'S SMASH + +{87a9c3c94c341058-4a} +Name=MARIOKART64 + +{b8a588e6183f4bb1-50} +Name=TWISTED EDGE + +{30dcef8261246a80-45} +Name=BLADES OF STEEL '99 + +{b01a15d04ba15cfe-45} +Name=DAIKATANA + +{bae28f9e7007278b-45} +Name=KILLER INSTINCT GOLD +ForceScreenClear=1 + +{61f1ba1ff1541c2c-41} +Name=1080 SNOWBOARDING +FastTextureCRC=2 +ScreenUpdateSetting=2 + +{e08b138c460e7095-45} +Name=BASS HUNTER 64 + +{8b24b3824d243ee7-45} +Name=VIRTUALCHESS + +{9369a7da7cf7acd8-00} +Name= + +{4986248e52de1c2e-00} +Name= + +{74ab4cb4299a0207-50} +Name=SUPERMAN + +{1ed568f51eba497e-45} +Name=BOMBERMAN64U + +{f558c10e96683efb-45} +Name=Mega Man 64 + +{dab629518c3cef9d-45} +Name=NAMCOMUSEUM64 + +{60a73e50960e30e1-50} +Name=Cruis'n USA + +{9723feeb34da74ff-45} +Name=SPACE INVADERS + +{0e4016ac1a075dcf-45} +Name=CAL SPEED + +{e8960e1e6b82284e-45} +Name=CHARLIE BLAST'S + +{a00b78ba34db210f-45} +Name=STARFOX64 + +{e740d45311b01975-45} +Name=Diddy Kong Racing + +{134c3f03a7e79e31-45} +Name=TWINE + +{ccffc42d215affc8-50} +Name=AIDYN_CHRONICLES + +{91e285e16d76504e-45} +Name=ALL STAR TENNIS '99 + +{df1850253aaed657-45} +Name=Lode Runner 3D + +{71458cfac0f9e7bb-45} +Name=MICKEY USA + diff --git a/BizHawk.MultiClient/output/dll/mupen64plus-video-rice.dll b/BizHawk.MultiClient/output/dll/mupen64plus-video-rice.dll index 568f5530e8ac4b4b8c4b7f5a67b1785b822936fb..7cec269e09bede8bc807f92b1a0b6fd9a172531c 100644 GIT binary patch delta 23605 zcmeHveOOdQ-~Z0pJ%?36kGUu+2mPA*hbr26aZ8d~eX2m64+&Htv&)8C@0vDgyw*!5Tev1;OR3ruoCS~y=<&|1 zgT=ZV{kK%AAu8K4TV~xeEtEWEZJIVw?rZ7UK3(m|hw15=N8>oH#3 za6-AUZcst^!5P!N2$^6_o)JZItXpQ}l6-4!LXb5yK9H1JPa>C#T%~na{A_Z>YR7jy zzJsjG5&}sxBxhTf&KzKEOo%1jR&nNRPSIxF9Y5as?94z*A&&JRT$^XCU} zigs(({7RM#y>l%mUa@Ytb33QHa&VX_n^XB*;l;&0Us=5CN< zDy&fpNBGvb#FV{ahn!+3tPex1$!dXE`+tg+JH@)J#}*Ffl;2oe7Y>gUzmeL3ado;| zFtiqO8|&7?W3`Lv>F~HfsO#lvtW#5bF%C)iUShpJWn`4OSK8twHLze{qa@B6U)aZ# zy3A5Aw6vF5Zv7}_B&o4pfUSCKSBkG+Yp=Mg=8|6NTh@?8!#U5Z)}%!~K|xoY{ySYf zB;+%}U$Z?^&Bk7yImKGMC=PypzNm!cA6$_-iV*X`rx!O9PT6i`X zco$-NoJ{EEEMJ@wPFQy>y+lqNe0tdlj#M6;zI?MB$>-@8X??dD;sR zD^dn+d>>V>iCaUYiQD5{2}71HL_*Y`g9>(mXZhmfOcNV{Y>lli|wxfTH#4qV*|7Gn0x|#P@g?Gi&ul%e(FU1eofweA(lD z0-&KPw?-WEQpuBZ%I&IQ0~UcyV>n;LYA6kSR>&3NAb`YD;3z=43Lh;Ox4t)fR7Gm&7QC z#IMH#vi~6x;1U^qu>VPKLevKXPQ5Zn+0=nmC)u24{o>p(tS;Bi`I9QE@by@aTF9Hs z4c1WPPavOaZaBE&>&*g|lIs_>q|WMh>5QuTdtSW3Y3ugoZu1nQPOVEfi*_q_dEDqs zm<8ikb9JmBZb|4omC%i)uE$iguG5}qQ^?GA>zvEmNSn3w@&yh$@3l?r-=|~!p=}bD znc-K~4-B&N;u>NfxEnf<+kZvxF4ul#CNWwkeY1es$ou9t8wbD9k$qPCH^)ej^}y9& z*!%iw?C>VoOYZTm#!z53npqLcLzLNIo!TB5k@hEQnvNTqYHesAY5nTjG%sfJ`fT{5tutp>1HTLQif0tjL5a66`)>Rl1D?We(+QWZ ze~sA!!A`3cg8594%^y(mtqtFeAN0fn5KM>Q4KrxzR?e;-^hye7l@Pt52d&bow@)73 zflhR`8SRCPo#iB$d>#(9(7=(56nBdy$ z?t^%6_w}bal5^0nBcDgG?7BGu-|yXgX?zGz^_-7S8d*gzQl zR~Nk~L6UPCAJu(6O442gFO(b4x}>1}w6bNV1_96LJubTCOp&{!Rr}Wqq~ze~zg`eX ziEX8VoaeQYmnVxhmi-D{>D$>7wod%6z0k6gaW3+vDT0XQH=$)?8PyEHVWy21^e0P( zN%|WLC2jWY)TY1mCn==OmN9H*IwaoA_7e4MGn%OF{z+{eN>qO7j8%_kIu8~DuA^t=sg_1;Kq}ib)p4y|y6gpH(#&BRnX~|TWTdO6DXrq=) z%qxRUQ_ojy!C+a$s?O|OD!xv_)O|h<6`5`L+(26GP>MWq9ZTLNw96afh3UO zKhGc{!~A$6b|amFl;yYDHb#(-3E4*zqX;E$(6%VDl$@ZEMly-m=xQUGh0>cwGMSt9 zD^0(fXsA~-(Re*S7Hh!;^w%jt)k)_>lMM9MThXMLLoqsrq(N&(44I%hNykn;%Q>Rpfs~A+N5^1=>(k+OMD}pU05*OhWIhpl)Gs8_e$&V#WsX$ZXr{(#BwSf4m9`Yp zr>2o{${L4cC4Frgd9q)FL$Yo@4W3TY6B?3;*x`hXI6oZ65n|~P<`How&;x!9QYW7y za=D!GUk0s~fu5O8hV;uswtzt@_Wu#t-z3ofGsp$5A=&ob3^JArd+kml9tM5{z61uC zh&TzD4}1qa2^f?6upi|wOmzB8@;S+}iL*!r3HxdR5ibG#783Cnr2a?^KnidH$OZm# z!*1k1S!lbKh@nyjr?Rfw;!FRWO~!bz)uUD4Ovlb4lZWwaSiW8Uu|jrq5j21XfVbU0 zhct0Y^HNDMohHm9ckxP;f^GZfky&!G*7k#m-~p?Ij$cUbA_uGw`S_5Vw0t3XLSdV( zkXcv74YM|iJRO@t41)vM`CwjW@~MQ*=2N_AzmqK4 zu8;WlBCKXcx-gaKS2PV|n{#&ho|R4eIkfr%F+eW8xRR)cezv@)r=jn&Fm*BNJV%G6ljR8Rb?KyxkYYOU zZZgi%1rz9syUFvOgTCzPaZbz=^!K|-4r!&2+(Sa>)lj0PuiQh%4X(oijV&3=pUg5} zaY``Ki}#RZPWCg^WRUq}AkE7lQHtW9d6BM+CO-6B2GJ2;I^bRsMP|}j_Y(Ep?9k#| z^jKEfpq(>z+{oTVuT+|`(xS(*kQ(oru`)=RO*f^Eyfp$EGj*8QD{(-$OX_k1{rp~{ z^VUGZx%ROv)`>u~feu|w0!SJSUri2?w{0D($xnk^oooB%F*01yTjHJ~Dh{(@*wZA8 zU~8Dap4>}J^w4@Tmj1dPP5o{?85ErV3orI~*I+~6a6+-q@Vp>K9bYFD`V}K;%%!(6 zjWjk7eG!vK29Y{CKaY$IuY-WO5npRKdpMCIr$`?UBWBqxce{xWyCWpBxsg`n5tX0n zHjyNk2qQz}3`FvRZWA%NL>SpsZKcdvE#sPvw<)B!6d2j1@Tg0Ham}XN6qdLY7}?yI z=V;kgSt6UnAg4w0O$S#HTE(OLl*WIR&=~7^1m%_Xrx$W*}h(+++eZF^IRny;} zBdbU~y{nMqlWN*pNOoclK3PQ6?1WHJM8@NUP+vqI(XdAd+}r%)iK2I*S@^5ejOntYITyl#gA@r}UpkLZTrt_Y^VoRlsTghaHaLg9W z3(Hm#M}ld?R&tmm*)}{+IO0_ZL5p_*`}QiP+e^sQ(Irx$6yHT)m9aEYvD)HQ&T=N@ zX763}Y6%%Xv4Y8YS2C*7;#DPa6&CMmmPrJqMxx-V<`C6wBjbh~aZ1)o0?c9^ePA02 zq&K#aL9Ez7_iQ5pd5uoFCWoBGt69n@vqO#~<|@U+&50zg;PkpKi&v{tvdtyg?vUK< zWk;qk(es}Q9ZrQ#m%=TF0xIu9Zgo+j=jK4KKaed<99VER+wUV*$=_> zfR*)VH(j-z1dIy)jTe8}zj}Y=KV)#=lpRf@ySHP|^65|8$w*~6L{UYB?G7tBNL*_e zZ73xMSHU*m1@Zw$Otw>$;A{~p^z56L}Ex6t$&Fe z#cK834)Q6s#04*tc_f2Yyo|N5lz#m((I9G-9!p@a9iDLgc010 zyyb3$_OBqmL9#!3dz)q5rPtmjJ->ns&GUf>+#J_i10%TWjCa>@G*#v9COTIG6?i$m z*9IfF+qio9KbqR;AknK8B#A7cnmxonj~&zh-=zG#Z>UB&F74&gPuVakhZezB)4VtwV<03uB6>ie@>Nua~dS?#rt^<3xZ2I}4 zbLJFo(m~I%$?f>c9y#xFJwExkre7U2Y6u!zxJeI<-otAZ<@b@$A5i) zK9VXeFc1(8fZlPpq`Dp-d)?6WLJ?;e-Rm;NmTK}@oDZgxN^l^W>&)RjKb*GR}nvwX1i8Jwi4&E znnj;FKpKgeCcRG9OLs-dRIJA8`qS$~>|J_=YCQSlE+y;@GFru+hFVsLmOI4@xSw*| z4cRi^Aop;j(bo7Dd7A6((Uf<{qa2LaAHp%gY+L;<(Q~BPR&FClIn0y0-X{x5y6vs^ zNh$GXW}Cf=pY#x0>g<_lH?Ep+$z*cgGSRzh$$N0Y_d~Ry%@+9~iRS{D4n_{&xIt?D zz2$U^U&Z!*xSMj_I?>%9kzvCn(>IIeDO>!ioNR~N^vjRPxA5TIIos;XP>eBDHyR$SFE%Izx;d3Fuv+r)plB&2cQ{gPr&=X`c?0k5F zgmb=Q=;gKCNZa5~$YQyw>@S?K6bP0r8*gE=F=3}Dr@8eclT^~{_1F*_Y!Ro)M+igP z@1K%`3Z!p*i4zi@wN{)VuXC!u>439jKge&NC4qA6pI`k8w-)(y@;P*|j(&CyTbFDq zMkqD@l#oe-z9yxda;oj<*JM6NGO5>joZIqkThAlZ`zQX53;fgT_#-CUs8(`Djv?v1 zOy-ajTT~m_%8^3)={F=CTP}AM55;(R5ZlQ;gB_jDZrWN;<2D`>r=Xp*v+%h88aC86 zTg5f(;iSfvV#nSKvj6uu6}H)CeNVQ^Q9Sp9RQ&q~Qla2vJ+_LUiFZF7w+{bF8dxP8 z{vw+=#Z=pXzlkqil-PoLSVN2H9F7~^uegUDrZ#(*&~+U5FH&loE9b^@u=*&^sZmK8 z&)va{ye@E;aZI&%aG|7w9`)d+$VHhzfAZj_qL=)YToIb}nvyd^*mg&ME>ezko)`BM zK_^5H;=aT&!As=g@T@god)7n}WYh?58Msf3;5>*& zBci$0%Vc|QBv(v^m7$xr`2Hn3>xtgpqWT;QkL)7fWt-^7UFALM*dTZvp{g-lju)E- z&1WvRU2JLLHMW<=aQCsfM#ga&gf!CC<2iq?M#$fYX|cB+!&Rwm`*`k_0te)}X`G6_ z9L&vu*tKA8%s<42PUe1tB|1>U#iOGaYPjdf5!(d~H<*C>LkKt4qXu?ikq!^#G*~(3 zgmTjcdvbzkPuquE*?6_-A}>y%<)K{TARWl-`1g!Rl1;d|d`ipR2`6lyg>&b7oq6BL z&6>=dZSnm#YkCWRsKHaTKe|*dYe`e9TjJH~R=w1i>CVQ`FK2MWYzfialgt=e^cib( z@eFPZlA0OZDD*l+-s!F4#YAp5ZuG)tb8TV}YSNzF5UtoQi2W||0k&~-xUC+DrgxJ$ zgB%aLKc;YNa2v365$DH=Q*1elxQi^XQx{|S+H3`jF{(4zw6G+o;GgFfPY*0MY!&Lg zIWJnS1V^Iv-paGv@HDle?=IYyx|CBARJ3v#7YO^$EaR}&(cR0q@u4DoWb>_MdGm#Y z`b$V#nPTtK)cje|qI&7xzuvhD*}9f-CLY#ir*q5THr=0&-l(&kPUk8a`N7p(Fe8_* z=6peZZ#DOX!Y>!&a=iEI1*hs?6O=?cS%X7=3MJ#Yph}vv7L%=n?p%url1neG4u52j!q|@T@nha0G>-Y~UP=24SIv{W$yl+DOy(&;aARxSV z2>H}OwmQ?o1fK<^P z4`D{t({m4TzmO)|r&*i_=U;^`d%vegCUf*#_jzmp7zTa`3oO2Zc0R)WJYD7^h`$~q zSOk^GSb zeI$t%XLCzP7X3Dx8%xUQfOTAiZzrp1IkqunOG0-`-K9^Zx0lSuxrcSyAG zZBj;wR-d3d*Kr1{TIberKMZ7@1Ls)3n9M%(%wya`ctV}_I2S)6b2MDLdqqzVPDAsH z^s23bxN^nv<0i9-?tYxxixq5o4%b4CP~RuG)WPg`6fo2_9EKLBE;M)8Hax-kU=^~J zKZ!+>WZS-ciu;)36eDcb_1q756KZ=VpF75$duBX~z$viZ_beAq(AT>+a48t!TN}7E zxRPApa%DmCf4b62-zwnBIN3-#dm}fV1kr~#a@zmBU;6j;3;ksy_XJKY4{U-H*t)ho zhyEQ=HBt~aT+7?=UEYSPc}0sl?PKR5FcvQ~*VD#A&YN`Dt`#B<$BVw`qwKkOEtAll zy4Yl{hn_uymFIO?7TvNWbSC2kO^0pAW^Ney-y+7=Xu-fZLxyvPjLCBBm|eM{jfIS< zFJwMS{GUQ*&K7Q*iVba*!Ws0*gAUgxn>DtAE!-+%U=yc`Wb+>+!GCGSRH44U>C&r~ zin_0|E(wQ&D<#|zEL8t4;a()ex>%Q_&0u5Yx#1^S z_MLaGdpy+~NB3^$<`Q4qkK4JuIJ4Qdy}&)nu334?y^X|1xnD8e-YnxbA<@6YZH-hS zWSdW8ULdkRW-Ak-953u;AUkFpmbWwRNC#65t?%qmLbUt zQq4Xf+RuTqCx!iFCrRUJNzo`boK!NVhEA=*_LE7MS8;_%u2peWScRT{jhiq`vi6hG z9vlp7^F1x8&{&Ms3ALFF@T4wqzFl{)c zT#PF3I>1E_D|Bim{X_FDXik@{>tNzr`Iu^7&g* zpa1z5mxJ-luEAWv7Al_S@Y4^P^fosM*0RoX^Ktq=^){wr8~y%mtb1*={{?Ik74*q> zIQ+bWdLHB^BAMFCJz{(9Ah(ah20ZUD1_$XqHm(3Ku5I=&V4PD1+KSI`?{YY`PH*Cj za3QY=TU{mnpb0b4$2R?6>>TDpQ_f-deQbZ7!(Q*55rEc~bpPFB8N?z95tC}ppqVZI zgSQ`@|EIUg3TEZ8KmMlAyu)qob=n4}|KOC4rvS7)B~9&f zK1r=Xs@c%RtrKx#^J(?+p#_(@(IZ*|VRzcE@a~IApA{vk<1fUk=v&SI`=wf7Sm9c-p1qfls(#f{76fStG5GiNK`NI$vBMnMWq|bCoB2`^DuC~!rU0gI0{&$HO{JW&L=y#@Pd+c{?)V@vd z+5S*7I#RXM2fM#T@nK398iyUtZY%wZdyDVaZ;T)gI($Sq#+D?PUuL^~FfX6LBd$~X z%O8YypY)gChoGB0K>iSi`_i3W^07#cd&$pYp?Yzkd;(mk8z_GQl|~Md2L|B0mo`-% zh~;bjRQVU2Oikx&t%sRj08@ZCE(+;NCE#8k7%CJ&Lq{Mi(gR;8F zq}c3rjh@rV!y!3PFW39onG2l#?zzkb&+F;ogE>cj_a7> z2sy5{ZLJY<4}xNQB&spcZBd{a=#?n>4yV1*X31VAvj9t3y_T|Bj=f2EjMf_EGodAq zmYblJ5-op>W{4KK!H z0L=6(OUmfL1o>UK1YeUNA5ZLbdxCr-ryOrPnjoLUjYuCajpj}R>q^zi6`^%^;g$FC zRCADRbRyyf>YHcFS0IY6&z2v;+PiCx{89EGJy(w3Hs;tulH_CXOA>xa$F0| zPex_9!#J=&K9U64PA-sN;(RkEpcekrCcNU2v3COY-zG{!cVmz_pVlpsCz8tN`lZTk z{ZbV>|0X^3)fB!NKWL-REaJy2*{|X(znQCTHH-Mi1F$* zA++#5xCt?<>4Q1^IKN8t(;B&bFsj0V*?#}=zj`A4RJd=-R+-!B+d2HJu(I?Cevx>B zIfl2~_@yKJnMRxK=o9?=1je6uipS>OMk{jpkHeV)g&@bJs${mAfJs4R6~95(nOuXud-e2uHU{$}Mw zy6_o(0ZF86mCg{ zLPxDQ`6x8(NXZbJlvKS4H=SsXX2d_{nlsgKQQlY|8I3g7)9fby|P~|AJONDAj zL55X1bsu}74bwhS;gF-CkqSqo!iMNFDi-kTm5CtU;LS$*VgdgKQPcR1{56$`sKKM% z8h*_^_&F_mHDu1EF`M`UVlLv!lHl3mm&NWW`5fA{iJwKvY;n)=Kgh8QPqFaJFX;D=Dp<*YJHy9$%W=Fa1IrkhGk=%yYD}v!FY%MeA$sRaJUg%DzQm84V3@&FesemDpVnSiKL5w< zzAm^4(;4)$mw2}RdF*e7csI!z_*uhW5PBq|V zeuR&W{@HW9SLGI()%FuqI%xFE{A7f|+Luv93Vrouel}{l$%rSYe>n_v(mTtsT;$S6 z%h8}Jx*x<@O*7$z9={gD#Y?Z%4p^P|Bdi9`0(Y2$3x0yqWIwfw)xQpp0!yxc_B%$J z5kICQck-if0};8CA4#60sXO_=L6uB-J4RCynMF5&IJ}t=?{*P~NyeB3KU%kwA3D-A z5o|5kj>^8<$tq*~A4=)XoxHag#{}fP0ya8y7auq-n^DhV`0!9|veQ!cE@F+T>p){F z=<;3sBK$_+;4ZXZq~GqsifW{uyZI$JGT*zKpMaz7^Sk+#7}uY6^J7$oIk5U021L4) zlH7Qej;r7UQ!^RoV{jzm<1f3qB<1>_$IvD2QM&(oRyC8~?vkG+$-9KQ;9ouyYM?tS zc%K2oBraMA z{Jj#D0PVne;C-MRcoujJ$OJNgB|suz0EPm;qDRgHH9#Aj%zFiyUBHV#G4L#q3akbm z1abiOnX*8T#Q;e_8n6b~4CExEB}n%I)xc4p3HS!M1^f*RTnOiZ(SQz!0TO{_3)%Q1 zlLh1hTY+-m0B{I62{ZwA;8#GABFKDzAix032UY-u%n6_pI1HQs&H`#wJ`@muE|k9q zE&)%X%sxj`^3WA9uoox+asl=^hx8iI1@vEppaK$sG++&|9@q-(0^R`(2*w~l1Z2R^ zspwwdBybq007`&dAOlzcOb3Eg_!<#^p%M*WxQBoyYdEq-!Rpbv<3Iyb8qVX8TUSvbpM0v za;Dt>;QhAvPxuT4r_|B|r}-GXLArjL|3JXfxWAG2muvI_eXEi8<|}T<#CCe6ksmp> zOb5%~%ft#%CYln6m<5yobwDG)yeqc_p26nhRj3ujET}Rs>TJu;@*cQg2&1c;u+bUm z=_Yj3X5WIaU0wzYKGzxerq&EW!e3x_q$!~ew^J^e3!>VyJ_Rm^sXRm|xVGc89u(qImd zA)iG9&+)^Ej7FT}p9?V>V0@KB%XD|2mb<7-~aGtU$0x5!RlS=Mv6BL24qOl#(+1|~tQ<^hK*>8SEQdW~*_*nnc-uNVZwX*;0s9H~)jwXOcnc$moZjm# zSiMyUN!CR6!9h@_Mmd;z4Hf(+xU(2L2)7Dp{}9haIh!tG;_fUaZg|i`to(=gA(U(B zPKZx&XEE_55btmkXLG3=Wn+jSDnsb^LxoX8)yOkh_F>NI9K2D(gi#4DU9-fM$&3$q zh?#EkJm|S7cZ3RJDN;|Qok*KpGLVFe zt`8HB12X8%VZuniAc(kF>|xD-awCuk|XXNu%${|7Fb2qU>|a- zl+c?)g<<`eANBBqlf1{hj!zQ?kG4dg(#ydq=nK_rj)M)fb!9T>E#n?>{FaC#kIm(qz zS`!UnwYZBgHJ^t)#HN3!wWHiYKSwQ--C0aL1>(L~rdghSq_Ic25Wv{`vaxq#OJk36 zCY=Ws9$_Bv6-Mga4KO3wFnYvIiy5s)xe3U2PULL*u&*#|vbz{lErqHAt3AuJ4^vg4 z8~~Up@xyB3&SoNqpki`UVLqly;^R9S#_-=_8h)Vy6H_>({B6YvNeq=BP^A!ALbfYF$bY}rXixfJNF7}j#=(oupx z&sM=O@zC!Cg8nRQYV%56Y4JqB$&PF_KMej@fACc!?;+W?d`fHV?x zu)p9R;V#0&s$e|bspfJs3*~0O-OWOJKh(V|ouW*Yi6254>o{0=Q2Wpy(cv=2B-p0` z6(}S7{9*&(gK{v?TLJY7zyP?5G1X3}rn#xICS{_W3)BPIbUD-}yNfV2)uWi_ZfdN* zYI{{)gNojr%~Xs~>2gzHPAa1W(HH1*@-OD3yBJe7Lp2FvEYCj7$uyKR0mrnO7l@8? z7hz&-5$vST1PVij*SKjjU+Y-eD2NU84W?;#W3w*rLb-un0Sou$WVA43w)+~$YzM=( z`?ASs4RCV_jIuoYu!_tmX9KlPdINns0Bel97!&P)YNea1H114|?i?-nPjhE6@iK_J zd_KL4m;Jt%mj&(PWlMl!pa%%5|&6ru$H2U{AVfxTCH(nC*jF&0#rUV~f={S&r zB+Wy{JLD!`>6AZ#ls0MvZ%;P|y6KtmfM<0xRkVb3I?FeNvWA41S?Lsv%A42O8W3r zR1`E7d7UGlGF9-!&v-zeM9LkcT1G-#GEu~(4;3|n%14DOGME1f&q-ZWVw z3{j+^$ehccEcBxr8KuNYseuK>31>lax1CWsofI)dD8UJJPl%(>LRg=Lus*{bn5)jN zxxIZBD$E#~?#419&)msMV$nH;;v}r{KH?@&x`)}NLLD!Qn=jD3aA7s0EJQvsN*05)BsgL_839T0MdX&z-W7Ez99GZ&Kc@h z^4R|M(D>3x3_0}edxRm;E*4vr+DF`%%-~L2RQ>LK4DK|=Gp!j6Ih17l!^GnC?{+h| zi!b{n;1Gj5?eej44}N^TEH{THGZRak4l*xlum1flgNw#~6wtivgZ6~7JMvvLCUXbXd5O$=T1iezF)pNVzps=W+3pt($(-@EKE zgTYPi^op&X3|%y2HEYNnFadd{^7Q$mZ!+Y#(OlvNMss?Wdz?ST&_$nNCb|aqv0UOu zoHS3U9GGx#H-n4Ds(SJF%>4{G^b9j$fVj))it$CCGIWW3o~{V%ZN_g)IffFz~;bW>E! z%J~eQhD17T4ZM(n#m1XGX|S$)??S}MBYYq2(Qk@67_!`G z=WG*78G`6GX2Qi{C(f?ypVlxao#Kqv{QdkS2D`#xmW|$yQPY25sHaz$i7F?H{oVF= z8wMO@D0I>WgZAaKcJ7%+&P+7B(R{W&?f>%dcg`o$khL%oW*KEq5@xv`E_pT3r$?7FwmjmDPRioyYpnEyfB z^}hXPB0U2W$w5vQ+oYedCa-P&^8LR>Crt&~+hpPc49(aqQIxT}fF|S{fd-%+xNTFV z`b(Hy=*B-? zVCZn76)A&w;x^c(J|JA-@;vdsq!d8+HD0_0bO3gs6=(ozfhwRBC;)PSEFcpw117)# zr~wh^{ucT`18@ka0!o2wzzn1SiGUGMf6Ir9DrCCbd9fX60BV3TAQwmn5&;bm1Oxy+ zfY@$3nI(LG9X}C#dznWdH}NxLqfrs<6K#lI75zx`)@V&kcuZ<+TI~ARg4p8NZLu_V zXKX|4zhnQ5J-pl_UOreKx+wIn(8oi!g}xU0Vd$CAZ|TBxk5b$9bdTc#?n2+V&trey zwU}Em{bDD_M#fs9{eJ8xv0uct#oma$6)TG)GWI{OIL%1SIL%Z|qUJ$Ok)~4fk><3f zNz<+g3`q!iFr+A?GUU^c^C8_KBSK?BmxgACz7zU+s6BLucB(d3drkX+?ql6oxOI58hs_CF5cXJDQP?+OLbxh? zTzElvQTVy=_VC}sJq92 zBdpvd6;mBk7jq(}K4yQc%tU0Bm;p5XO%Gr0%TQWt z^YG2PPk&JVzWyWqN&Of4CjBLSyPkykh6RMF!-B##g?$iqBg`27T=>!OAH!n}n+53U1>mR#0_H?W) zoygdK0rk=ZX(nq7nino zv@mpc=$oOtv-uu?gibu;jc!17}*keGqNl4uSi9dXVe{0zUZyE zsF_iwsMM(PsEVk{sH&*ysKe1Gqc29^h*rd`iFpy-Q6Hm-ofexLyD|2a*n_dHu{UFF zb!$A17zS<9?$Z9Q9juGg-K~38x7YUEK98q~g8d&_y6i0vHEn*!!$^l7^myMZHzq%( zz}dg0wC9M&Z2aAN0k&ra-}?3zfU&?u?pU61j!^IeZ%n)arLfj;t{$2fZQO?-78 zhNby$djxqEL={FAN0mgCMwLb3cIKeROCz$QbE0#j^P>x*3!{spOQK7oWitF=f(=?t zl}9<9^QMOTC54`bK>l!n;GS2vddmAiRUaG+~A?Q&@Uf zMp$N8L0Dl}MOaPPp|BHS^{h_r~zh^&b0h@6Pri2R7ch>D1s zh(i&z5ls=z5uFjT$UH@)D$*y?H!>hn9T^-MADI%lB+?w28JQKC9hnWo%XKk=Qy+ z#tyb(%Vcr**%IcR3}G9rNkYixX!13Mni5SJLbe*KMzcl?$x|av4T#WO#AXSivMHo3 z#2z9;I0hpavqB3(OAvxJp|zo{2)_W#j5uu~f-X~AjF789ur+8EIv=bm!Mb=|k}gG; zrprKpmFUV5SM@qOVoIeCKrAI9l5!DA#rjfxg}x4P)S>Un)5jrjGQx5YHpO9;2%E;R z)-Y9gP`EDK7@mSK$q3I3&j~LJuRw$}AUfI*7fOQ)QDH<>m=O!PhH^udp&oI-qM*az z8Q~LQh=|9knu(Fm$Cy_~G+@MABkU0Yk-EsZ$i&EW401Mx*Q*@kTOZkkaqW&&()-@< z@S9kUMXx5RF{(96g+bF{&@zqr#$scs@r1D%W7J{vjn+gPqvNA()o*yDjM%2}{C|Z{ B%69+& delta 23753 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 GsQ(ASg2!F} diff --git a/libmupen64plus/mupen64plus-video-rice/src/Config.cpp b/libmupen64plus/mupen64plus-video-rice/src/Config.cpp index 125be0b19d..81c414243a 100644 --- a/libmupen64plus/mupen64plus-video-rice/src/Config.cpp +++ b/libmupen64plus/mupen64plus-video-rice/src/Config.cpp @@ -941,7 +941,8 @@ BOOL ReadIniFile() { std::ifstream inifile; char readinfo[100]; - const char *ini_filepath = ConfigGetSharedDataFilepath(szIniFileName); + //const char *ini_filepath = ConfigGetSharedDataFilepath(szIniFileName); + const char *ini_filepath = ".\\RiceVideoLinux.ini"; DebugMessage(M64MSG_VERBOSE, "Reading .ini file: %s", ini_filepath); inifile.open(ini_filepath);