From e879431606535007f35081f54dbe68f76dbdf8df Mon Sep 17 00:00:00 2001 From: Emmet Young Date: Thu, 28 Jan 2016 21:58:14 +1100 Subject: [PATCH 01/24] Prepare the emulator for easier implementation of the transferpak, pass Command[5] directly into the Pak functions, and also generate the address beforehand. --- Source/Project64-core/N64System/Mips/Mempak.H | 4 +- .../Project64-core/N64System/Mips/Mempak.cpp | 14 +++---- .../Project64-core/N64System/Mips/PifRam.cpp | 41 +++++++------------ .../N64System/Mips/Rumblepak.cpp | 14 +++---- .../Project64-core/N64System/Mips/Rumblepak.h | 4 +- 5 files changed, 29 insertions(+), 48 deletions(-) diff --git a/Source/Project64-core/N64System/Mips/Mempak.H b/Source/Project64-core/N64System/Mips/Mempak.H index e394a217c..d344dc6f2 100644 --- a/Source/Project64-core/N64System/Mips/Mempak.H +++ b/Source/Project64-core/N64System/Mips/Mempak.H @@ -16,6 +16,6 @@ public: static uint8_t CalculateCrc(uint8_t * DataToCrc); static void Load(); static void Format(int32_t Control); - static void ReadFrom(int32_t Control, uint8_t * command); - static void WriteTo(int32_t Control, uint8_t * command); + static void ReadFrom(int32_t Control, uint32_t address, uint8_t * data); + static void WriteTo(int32_t Control, uint32_t address, uint8_t * data); }; \ No newline at end of file diff --git a/Source/Project64-core/N64System/Mips/Mempak.cpp b/Source/Project64-core/N64System/Mips/Mempak.cpp index 6e6df87b4..d66928c81 100644 --- a/Source/Project64-core/N64System/Mips/Mempak.cpp +++ b/Source/Project64-core/N64System/Mips/Mempak.cpp @@ -109,28 +109,24 @@ uint8_t Mempak::CalculateCrc(uint8_t * DataToCrc) return CRC; } -void Mempak::ReadFrom(int32_t Control, uint8_t * command) +void Mempak::ReadFrom(int32_t Control, uint32_t address, uint8_t * data) { - uint32_t address = (command[3] << 8) | (command[4] & 0xE0); - if (address < 0x8000) { - memcpy(&command[5], &Mempaks[Control][address], 0x20); + memcpy(&data, &Mempaks[Control][address], 0x20); } else { - memset(&command[5], 0x00, 0x20); + memset(&data, 0x00, 0x20); /* Rumble pack area */ } } -void Mempak::WriteTo(int32_t Control, uint8_t * command) +void Mempak::WriteTo(int32_t Control, uint32_t address, uint8_t * data) { - uint32_t address = (command[3] << 8) | (command[4] & 0xE0); - if (address < 0x8000) { - memcpy(&Mempaks[Control][address], &command[5], 0x20); + memcpy(&Mempaks[Control][address], &data, 0x20); FILE* mempak = fopen(MempakNames[Control], "wb"); fwrite(Mempaks[Control], 1, 0x8000, mempak); diff --git a/Source/Project64-core/N64System/Mips/PifRam.cpp b/Source/Project64-core/N64System/Mips/PifRam.cpp index bb0f493c2..4257f0935 100644 --- a/Source/Project64-core/N64System/Mips/PifRam.cpp +++ b/Source/Project64-core/N64System/Mips/PifRam.cpp @@ -468,11 +468,7 @@ void CPifRam::ProcessControllerCommand(int32_t Control, uint8_t * Command) } if (bShowPifRamErrors()) { - if (Command[0] != 1) - { - g_Notify->DisplayError("What am I meant to do with this Controller Command"); - } - if (Command[1] != 3) + if (Command[0] != 1 || Command[1] != 3) { g_Notify->DisplayError("What am I meant to do with this Controller Command"); } @@ -499,11 +495,7 @@ void CPifRam::ProcessControllerCommand(int32_t Control, uint8_t * Command) case 0x01: // read controller if (bShowPifRamErrors()) { - if (Command[0] != 1) - { - g_Notify->DisplayError("What am I meant to do with this Controller Command"); - } - if (Command[1] != 4) + if (Command[0] != 1 || Command[1] != 4) { g_Notify->DisplayError("What am I meant to do with this Controller Command"); } @@ -520,21 +512,20 @@ void CPifRam::ProcessControllerCommand(int32_t Control, uint8_t * Command) } if (bShowPifRamErrors()) { - if (Command[0] != 3) - { - g_Notify->DisplayError("What am I meant to do with this Controller Command"); - } - if (Command[1] != 33) + if (Command[0] != 3 || Command[1] != 33) { g_Notify->DisplayError("What am I meant to do with this Controller Command"); } } if (Controllers[Control].Present == true) { + uint32_t address = (Command[3] << 8) | (Command[4] & 0xE0); + uint8_t* data = &Command[5]; + switch (Controllers[Control].Plugin) { - case PLUGIN_RUMBLE_PAK: Rumblepak::ReadFrom(Command); break; - case PLUGIN_MEMPAK: Mempak::ReadFrom(Control, Command); break; + case PLUGIN_RUMBLE_PAK: Rumblepak::ReadFrom(address, data); break; + case PLUGIN_MEMPAK: Mempak::ReadFrom(Control, address, data); break; case PLUGIN_TANSFER_PAK: /* TODO */; break; case PLUGIN_RAW: if (g_Plugins->Control()->ControllerCommand) { g_Plugins->Control()->ControllerCommand(Control, Command); } break; default: @@ -562,21 +553,20 @@ void CPifRam::ProcessControllerCommand(int32_t Control, uint8_t * Command) } if (bShowPifRamErrors()) { - if (Command[0] != 35) - { - g_Notify->DisplayError("What am I meant to do with this Controller Command"); - } - if (Command[1] != 1) + if (Command[0] != 35 || Command[1] != 1) { g_Notify->DisplayError("What am I meant to do with this Controller Command"); } } if (Controllers[Control].Present == true) { + uint32_t address = (Command[3] << 8) | (Command[4] & 0xE0); + uint8_t* data = &Command[5]; + switch (Controllers[Control].Plugin) { - case PLUGIN_MEMPAK: Mempak::WriteTo(Control, Command); break; - case PLUGIN_RUMBLE_PAK: Rumblepak::WriteTo(Control, Command); break; + case PLUGIN_MEMPAK: Mempak::WriteTo(Control, address, data); break; + case PLUGIN_RUMBLE_PAK: Rumblepak::WriteTo(Control, address, data); break; case PLUGIN_TANSFER_PAK: /* TODO */; break; case PLUGIN_RAW: if (g_Plugins->Control()->ControllerCommand) { g_Plugins->Control()->ControllerCommand(Control, Command); } break; } @@ -614,8 +604,7 @@ void CPifRam::ReadControllerCommand(int32_t Control, uint8_t * Command) { if (bShowPifRamErrors()) { - if (Command[0] != 1) { g_Notify->DisplayError("What am I meant to do with this Controller Command"); } - if (Command[1] != 4) { g_Notify->DisplayError("What am I meant to do with this Controller Command"); } + if (Command[0] != 1 || Command[1] != 4) { g_Notify->DisplayError("What am I meant to do with this Controller Command"); } } const uint32_t buttons = g_BaseSystem->GetButtons(Control); diff --git a/Source/Project64-core/N64System/Mips/Rumblepak.cpp b/Source/Project64-core/N64System/Mips/Rumblepak.cpp index fd1607613..9d88576d6 100644 --- a/Source/Project64-core/N64System/Mips/Rumblepak.cpp +++ b/Source/Project64-core/N64System/Mips/Rumblepak.cpp @@ -15,29 +15,25 @@ #include #include -void Rumblepak::ReadFrom(uint8_t * command) +void Rumblepak::ReadFrom(uint32_t address, uint8_t * data) { - uint32_t address = (command[3] << 8) | (command[4] & 0xE0); - if ((address >= 0x8000) && (address < 0x9000)) { - memset(&command[5], 0x80, 0x20); + memset(&data, 0x80, 0x20); } else { - memset(&command[5], 0x00, 0x20); + memset(&data, 0x00, 0x20); } } -void Rumblepak::WriteTo(int32_t Control, uint8_t * command) +void Rumblepak::WriteTo(int32_t Control, uint32_t address, uint8_t * data) { - uint32_t address = (command[3] << 8) | (command[4] & 0xE0); - if ((address) == 0xC000) { if (g_Plugins->Control()->RumbleCommand != NULL) { - g_Plugins->Control()->RumbleCommand(Control, *(int *)(&command[5])); + g_Plugins->Control()->RumbleCommand(Control, *(int *)(&data)); } } } \ No newline at end of file diff --git a/Source/Project64-core/N64System/Mips/Rumblepak.h b/Source/Project64-core/N64System/Mips/Rumblepak.h index 3e76eacce..7a16af175 100644 --- a/Source/Project64-core/N64System/Mips/Rumblepak.h +++ b/Source/Project64-core/N64System/Mips/Rumblepak.h @@ -13,6 +13,6 @@ class Rumblepak { public: - static void ReadFrom(uint8_t * command); - static void WriteTo(int32_t Control, uint8_t * command); + static void ReadFrom(uint32_t address, uint8_t * data); + static void WriteTo(int32_t Control, uint32_t address, uint8_t * data); }; From c6fa59ac3aa7edffbf6269cfb281bcdefb594e15 Mon Sep 17 00:00:00 2001 From: Emmet Young Date: Thu, 28 Jan 2016 22:51:48 +1100 Subject: [PATCH 02/24] Made a slight mistake when porting over from my old branch. Mempak and Rumblepak will work fine again. --- Source/Project64-core/N64System/Mips/Mempak.cpp | 6 +++--- Source/Project64-core/N64System/Mips/Rumblepak.cpp | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Source/Project64-core/N64System/Mips/Mempak.cpp b/Source/Project64-core/N64System/Mips/Mempak.cpp index d66928c81..6a29211f7 100644 --- a/Source/Project64-core/N64System/Mips/Mempak.cpp +++ b/Source/Project64-core/N64System/Mips/Mempak.cpp @@ -113,11 +113,11 @@ void Mempak::ReadFrom(int32_t Control, uint32_t address, uint8_t * data) { if (address < 0x8000) { - memcpy(&data, &Mempaks[Control][address], 0x20); + memcpy(data, &Mempaks[Control][address], 0x20); } else { - memset(&data, 0x00, 0x20); + memset(data, 0x00, 0x20); /* Rumble pack area */ } } @@ -126,7 +126,7 @@ void Mempak::WriteTo(int32_t Control, uint32_t address, uint8_t * data) { if (address < 0x8000) { - memcpy(&Mempaks[Control][address], &data, 0x20); + memcpy(&Mempaks[Control][address], data, 0x20); FILE* mempak = fopen(MempakNames[Control], "wb"); fwrite(Mempaks[Control], 1, 0x8000, mempak); diff --git a/Source/Project64-core/N64System/Mips/Rumblepak.cpp b/Source/Project64-core/N64System/Mips/Rumblepak.cpp index 9d88576d6..811dc4747 100644 --- a/Source/Project64-core/N64System/Mips/Rumblepak.cpp +++ b/Source/Project64-core/N64System/Mips/Rumblepak.cpp @@ -19,11 +19,11 @@ void Rumblepak::ReadFrom(uint32_t address, uint8_t * data) { if ((address >= 0x8000) && (address < 0x9000)) { - memset(&data, 0x80, 0x20); + memset(data, 0x80, 0x20); } else { - memset(&data, 0x00, 0x20); + memset(data, 0x00, 0x20); } } @@ -33,7 +33,7 @@ void Rumblepak::WriteTo(int32_t Control, uint32_t address, uint8_t * data) { if (g_Plugins->Control()->RumbleCommand != NULL) { - g_Plugins->Control()->RumbleCommand(Control, *(int *)(&data)); + g_Plugins->Control()->RumbleCommand(Control, *(int *)data); } } } \ No newline at end of file From fa90c2a4725d2eb68789919349296267f4e9f3cb Mon Sep 17 00:00:00 2001 From: Date: Thu, 28 Jan 2016 14:37:37 -0500 Subject: [PATCH 03/24] s/config.h/Config.h --- Source/Glide64/Gfx_1.3.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Glide64/Gfx_1.3.h b/Source/Glide64/Gfx_1.3.h index e4b975f35..23e5c8cda 100644 --- a/Source/Glide64/Gfx_1.3.h +++ b/Source/Glide64/Gfx_1.3.h @@ -74,7 +74,7 @@ the plugin #include "GlideExtensions.h" #include "rdp.h" #include "Keys.h" -#include "config.h" +#include "Config.h" #if defined __VISUALC__ typedef unsigned char boolean; From b759a6041711fa29d00e7053cd607fd10b050960 Mon Sep 17 00:00:00 2001 From: Date: Thu, 28 Jan 2016 15:00:13 -0500 Subject: [PATCH 04/24] Include string.h where needed. --- Source/Glide64/Combine.cpp | 1 + Source/Glide64/Debugger.cpp | 1 + Source/Glide64/Main.cpp | 1 + Source/Glide64/MiClWr32b.h | 2 ++ Source/Glide64/TexBuffer.cpp | 1 + Source/Glide64/TexLoad.h | 2 ++ Source/Glide64/Util.cpp | 2 ++ Source/Glide64/rdp.cpp | 2 ++ 8 files changed, 12 insertions(+) diff --git a/Source/Glide64/Combine.cpp b/Source/Glide64/Combine.cpp index 589fc6dc7..4ebb48c0a 100644 --- a/Source/Glide64/Combine.cpp +++ b/Source/Glide64/Combine.cpp @@ -37,6 +37,7 @@ // //**************************************************************** +#include #include "Gfx_1.3.h" #include "Util.h" #include "Combine.h" diff --git a/Source/Glide64/Debugger.cpp b/Source/Glide64/Debugger.cpp index de762f18b..c6bc21189 100644 --- a/Source/Glide64/Debugger.cpp +++ b/Source/Glide64/Debugger.cpp @@ -37,6 +37,7 @@ // //**************************************************************** +#include #include "Gfx_1.3.h" #include "Util.h" #include "Debugger.h" diff --git a/Source/Glide64/Main.cpp b/Source/Glide64/Main.cpp index a9fcfd5c2..cb5373de7 100644 --- a/Source/Glide64/Main.cpp +++ b/Source/Glide64/Main.cpp @@ -37,6 +37,7 @@ // //**************************************************************** +#include #include #include "Gfx_1.3.h" #include "Version.h" diff --git a/Source/Glide64/MiClWr32b.h b/Source/Glide64/MiClWr32b.h index ee4307b3b..94224e714 100644 --- a/Source/Glide64/MiClWr32b.h +++ b/Source/Glide64/MiClWr32b.h @@ -41,6 +41,8 @@ // //**************************************************************** +#include + static inline void mirror32bS(uint8_t *tex, uint8_t *start, int width, int height, int mask, int line, int full, int count) { uint32_t *v8; diff --git a/Source/Glide64/TexBuffer.cpp b/Source/Glide64/TexBuffer.cpp index e47aa1db2..0f025e24f 100644 --- a/Source/Glide64/TexBuffer.cpp +++ b/Source/Glide64/TexBuffer.cpp @@ -42,6 +42,7 @@ // //**************************************************************** +#include #include "Gfx_1.3.h" #include "TexBuffer.h" #include "CRC.h" diff --git a/Source/Glide64/TexLoad.h b/Source/Glide64/TexLoad.h index 2985e1f9a..568b574e5 100644 --- a/Source/Glide64/TexLoad.h +++ b/Source/Glide64/TexLoad.h @@ -42,6 +42,8 @@ #include "TexLoad16b.h" #include "TexLoad32b.h" +#include + uint32_t LoadNone(uintptr_t /*dst*/, uintptr_t /*src*/, int /*wid_64*/, int /*height*/, int /*line*/, int /*real_width*/, int /*tile*/) { memset(texture, 0, 4096 * 4); diff --git a/Source/Glide64/Util.cpp b/Source/Glide64/Util.cpp index 013342959..6621a1455 100644 --- a/Source/Glide64/Util.cpp +++ b/Source/Glide64/Util.cpp @@ -38,6 +38,8 @@ //**************************************************************** #include +#include + #include "Gfx_1.3.h" #include "Util.h" #include "Combine.h" diff --git a/Source/Glide64/rdp.cpp b/Source/Glide64/rdp.cpp index ada376522..71983f9cd 100644 --- a/Source/Glide64/rdp.cpp +++ b/Source/Glide64/rdp.cpp @@ -38,6 +38,8 @@ //**************************************************************** #include +#include + #include "Gfx_1.3.h" #include "3dmath.h" #include "Util.h" From d267a1b8957c5f33d8319f6d84e63baa5cf852a6 Mon Sep 17 00:00:00 2001 From: Date: Thu, 28 Jan 2016 15:07:00 -0500 Subject: [PATCH 05/24] Include stdarg.h for va_start and va_end. --- Source/Glide64/Debugger.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Source/Glide64/Debugger.cpp b/Source/Glide64/Debugger.cpp index c6bc21189..325c88caa 100644 --- a/Source/Glide64/Debugger.cpp +++ b/Source/Glide64/Debugger.cpp @@ -37,7 +37,9 @@ // //**************************************************************** +#include #include + #include "Gfx_1.3.h" #include "Util.h" #include "Debugger.h" From a591fefccbb348c4f027a8b537757c2ee858a122 Mon Sep 17 00:00:00 2001 From: Date: Thu, 28 Jan 2016 15:21:23 -0500 Subject: [PATCH 06/24] [Settings] InitializeSettings() can return bool. --- Source/Settings/Settings.cpp | 2 +- Source/Settings/Settings.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Settings/Settings.cpp b/Source/Settings/Settings.cpp index f8353f9ee..89e419245 100644 --- a/Source/Settings/Settings.cpp +++ b/Source/Settings/Settings.cpp @@ -77,7 +77,7 @@ __declspec(dllexport) void SetSettingInfo3 (PLUGIN_SETTINGS3 * info) g_PluginSettings3 = *info; } -BOOL SettingsInitilized ( void ) +bool SettingsInitilized(void) { return g_PluginInitilized; } diff --git a/Source/Settings/Settings.h b/Source/Settings/Settings.h index 9a8344703..6b0177981 100644 --- a/Source/Settings/Settings.h +++ b/Source/Settings/Settings.h @@ -29,7 +29,7 @@ enum SETTING_DATA_TYPE { }; // set other information about different settings -BOOL SettingsInitilized ( void ); +bool SettingsInitilized ( void ); void SetModuleName ( const char * Name ); void RegisterSetting ( short SettingID, SETTING_DATA_TYPE Type, const char * Name, const char * Category, unsigned int DefaultDW, const char * DefaultStr ); From 03bd97c46b8a289ead687308366be61ace9bc0d6 Mon Sep 17 00:00:00 2001 From: luigiblood Date: Thu, 28 Jan 2016 23:59:53 +0100 Subject: [PATCH 07/24] [Recompiler] Fix COP0_MT() Cause case Results in 64DD IPL ROM fully working in Recompiler. Thanks zilmar! --- Source/Project64-core/N64System/Recompiler/RecompilerOps.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Project64-core/N64System/Recompiler/RecompilerOps.cpp b/Source/Project64-core/N64System/Recompiler/RecompilerOps.cpp index ca08d6083..c7dd1f425 100644 --- a/Source/Project64-core/N64System/Recompiler/RecompilerOps.cpp +++ b/Source/Project64-core/N64System/Recompiler/RecompilerOps.cpp @@ -5474,12 +5474,12 @@ void CRecompilerOps::COP0_MT() } break; case 13: //cause + AndConstToVariable(0xFFFFCFF, &_CP0[m_Opcode.rd], CRegName::Cop0[m_Opcode.rd]); if (IsConst(m_Opcode.rt)) { - AndConstToVariable(0xFFFFCFF, &_CP0[m_Opcode.rd], CRegName::Cop0[m_Opcode.rd]); if ((GetMipsRegLo(m_Opcode.rt) & 0x300) != 0 && bHaveDebugger()){ g_Notify->DisplayError("Set IP0 or IP1"); } } - else + else if (bHaveDebugger()) { UnknownOpcode(); return; From 6e1ea7cba7922a45c2e70c775498dce305249d6e Mon Sep 17 00:00:00 2001 From: luigiblood Date: Fri, 29 Jan 2016 00:03:53 +0100 Subject: [PATCH 08/24] [RDB] 64DD IPL ROM works on Recompiler (Compatible) --- Config/Project64.rdb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Config/Project64.rdb b/Config/Project64.rdb index d49fcde75..24e40f1b4 100644 --- a/Config/Project64.rdb +++ b/Config/Project64.rdb @@ -8113,8 +8113,7 @@ Status=Unsupported [00000000-00000000-C:4A] 32bit=No -Core Note=Recompiler isn't working properly -CPU Type=Interpreter +Fixed Audio=0 Good Name=64DD IPL (JPN) RDRAM Size=8 -Status=Issues (core) +Status=Compatible From 6e19e484480bdf7fd47098f9235f31079b30c860 Mon Sep 17 00:00:00 2001 From: dsx- Date: Fri, 29 Jan 2016 20:24:13 +0800 Subject: [PATCH 09/24] 64 de hakken plugin note --- Config/Project64.rdb | 1 + 1 file changed, 1 insertion(+) diff --git a/Config/Project64.rdb b/Config/Project64.rdb index 24e40f1b4..d37e25398 100644 --- a/Config/Project64.rdb +++ b/Config/Project64.rdb @@ -193,6 +193,7 @@ RDRAM Size=8 Good Name=64 de Hakken!! Tamagotchi - Minna de Tamagotchi World (J) Internal Name=ÐÝÅÃÞÀϺޯÁÜ°ÙÄÞ Status=Issues (plugin) +Plugin Note=[Glide64] incorrect sprites Counter Factor=1 Save Type=FlashRam From 17beb79c95ddc2904315e6615bc4a0e8f264126d Mon Sep 17 00:00:00 2001 From: dsx- Date: Fri, 29 Jan 2016 20:25:28 +0800 Subject: [PATCH 10/24] nba hangtime plugin note --- Config/Project64.rdb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Config/Project64.rdb b/Config/Project64.rdb index d37e25398..09c47cb23 100644 --- a/Config/Project64.rdb +++ b/Config/Project64.rdb @@ -3674,11 +3674,13 @@ Save Type=FlashRam Good Name=NBA Hangtime (E) Internal Name=NBA HANGTIME Status=Issues (plugin) +Plugin Note=[video] slow [4E69B487-FE18E290-C:45] Good Name=NBA Hangtime (U) Internal Name=NBA HANGTIME Status=Issues (plugin) +Plugin Note=[video] slow [36ACBA9B-F28D4D94-C:4A] Good Name=NBA In the Zone '98 (J) From 7ca5b919983720f47e6358771fb89bf2feea1bf3 Mon Sep 17 00:00:00 2001 From: dsx- Date: Fri, 29 Jan 2016 20:26:17 +0800 Subject: [PATCH 11/24] rat attack minor rdb edit --- Config/Project64.rdb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Config/Project64.rdb b/Config/Project64.rdb index 09c47cb23..7c808b6e7 100644 --- a/Config/Project64.rdb +++ b/Config/Project64.rdb @@ -4680,7 +4680,7 @@ Status=Compatible Good Name=Rat Attack (E) (M6) Internal Name=RAT ATTACK Status=Issues (core) -Core Note=Interpreter only for multi +Core Note=Interpreter only for multiplayer SMM-FUNC=0 Use TLB=No @@ -4688,7 +4688,7 @@ Use TLB=No Good Name=Rat Attack (U) (M6) Internal Name=RAT ATTACK Status=Issues (core) -Core Note=Interpreter only for multi +Core Note=Interpreter only for multiplayer SMM-FUNC=0 Use TLB=No From 5da6e445e6f38fc655e5fbed77de2cbc953820f6 Mon Sep 17 00:00:00 2001 From: dsx- Date: Fri, 29 Jan 2016 20:27:27 +0800 Subject: [PATCH 12/24] winback rdb remove period --- Config/Project64.rdb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Config/Project64.rdb b/Config/Project64.rdb index 7c808b6e7..06cd35b47 100644 --- a/Config/Project64.rdb +++ b/Config/Project64.rdb @@ -6732,7 +6732,7 @@ Plugin Note=[video] HLE square bug Good Name=WinBack - Covert Operations (U) Internal Name=WIN BACK Status=Compatible -Plugin Note=[video] HLE square bug. +Plugin Note=[video] HLE square bug [54310E7D-6B5430D8-C:50] Good Name=Wipeout 64 (E) From a9e01ec074b5bb7d1a5e6db262736cc7485786d1 Mon Sep 17 00:00:00 2001 From: dsx- Date: Fri, 29 Jan 2016 20:28:03 +0800 Subject: [PATCH 13/24] tetrisphere remove plugin note --- Config/Project64.rdb | 2 -- 1 file changed, 2 deletions(-) diff --git a/Config/Project64.rdb b/Config/Project64.rdb index 06cd35b47..fee69f670 100644 --- a/Config/Project64.rdb +++ b/Config/Project64.rdb @@ -5654,13 +5654,11 @@ RDRAM Size=8 Good Name=Tetrisphere (E) Internal Name=TETRISPHERE Status=Compatible -Plugin Note=[video] slow in menus [3C1FDABE-02A4E0BA-C:45] Good Name=Tetrisphere (U) Internal Name=TETRISPHERE Status=Compatible -Plugin Note=[video] slow in menus [F82DD377-8C3FB347-C:58] Good Name=TG Rally 2 (E) From 6c2ba343c4b4ebf770ac0eba2ce7c08932f844cf Mon Sep 17 00:00:00 2001 From: dsx- Date: Fri, 29 Jan 2016 20:34:08 +0800 Subject: [PATCH 14/24] conker rdb remove period --- Config/Project64.rdb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Config/Project64.rdb b/Config/Project64.rdb index fee69f670..b8782496c 100644 --- a/Config/Project64.rdb +++ b/Config/Project64.rdb @@ -1134,7 +1134,7 @@ RDRAM Size=8 Good Name=Conker's Bad Fur Day (E) Internal Name=CONKER BFD Status=Compatible -Plugin Note=[Glide64] broken mipmapping, certain FB effects missing. +Plugin Note=[Glide64] broken mipmapping, certain FB effects missing 32bit=No Clear Frame=2 Culling=1 @@ -1151,7 +1151,7 @@ ViRefresh=2200 Good Name=Conker's Bad Fur Day (U) (Debug Version) Internal Name=CONKER BFD DEBUG Status=Compatible -Plugin Note=[Glide64] broken mipmapping, certain FB effects missing. +Plugin Note=[Glide64] broken mipmapping, certain FB effects missing 32bit=No Clear Frame=2 Culling=1 @@ -1168,7 +1168,7 @@ ViRefresh=2200 Good Name=Conker's Bad Fur Day (U) (ECTS Demo) Internal Name=CBFD ECTS Status=Compatible -Plugin Note=[Glide64] broken mipmapping, certain FB effects missing. +Plugin Note=[Glide64] broken mipmapping, certain FB effects missing 32bit=No Clear Frame=2 Culling=1 @@ -1186,7 +1186,7 @@ ViRefresh=2200 Good Name=Conker's Bad Fur Day (U) Internal Name=CONKER BFD Status=Compatible -Plugin Note=[Glide64] broken mipmapping, certain FB effects missing. +Plugin Note=[Glide64] broken mipmapping, certain FB effects missing 32bit=No Clear Frame=2 Culling=1 From 11f4bb91750c94bebc28cd6e99f5d52e064d6635 Mon Sep 17 00:00:00 2001 From: dsx- Date: Fri, 29 Jan 2016 21:31:36 +0800 Subject: [PATCH 15/24] revert twisted edge change --- Config/Project64.cht | 6 ------ Config/Project64.rdb | 9 ++++++--- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/Config/Project64.cht b/Config/Project64.cht index 167ce0010..e122558c1 100644 --- a/Config/Project64.cht +++ b/Config/Project64.cht @@ -720,7 +720,6 @@ Cheat3="Have\All Difficulties",E95E2008 585A Cheat4="Have\All Tracks",E95E2014 1050 Cheat5="Have\All Boards",E95E201C 595B,E95E201A 504F Cheat1="Low Timer",E85E1FFC 595A,E85E1FFA 595A -Cheat6="exhalatio audio hack",81052760 AD99 //---- @@ -9419,10 +9418,6 @@ Cheat12="Have Shotgun",E8878B88 5959 //---- -[E688A5B8-B14B3F18-C:50] -Good Name=Twisted Edge Extreme Snowboarding (E) -Cheat0="exhalatio audio hack",81051960 AD99 - [BBC99D32-117DAA80-C:45] Name=Twisted Edge Extreme Snowboarding (U) Cheat0="Max\50000 Stunt Points",E95E8010 1CAA @@ -9431,7 +9426,6 @@ Cheat3="Have\All Difficulties",E95E8048 585A Cheat4="Have\All Tracks",E95E8054 1050 Cheat5="Have\All Boards",E95E7D5C 595B,E95E7D5A 504F Cheat1="Low Timer",E86AEC51 595A,E86AE957 595A -Cheat6="exhalatio audio hack",81051840 AD99 //---- diff --git a/Config/Project64.rdb b/Config/Project64.rdb index b8782496c..950df6432 100644 --- a/Config/Project64.rdb +++ b/Config/Project64.rdb @@ -2875,8 +2875,9 @@ Good Name=King Hill 64 - Extreme Snowboarding (J) Internal Name=KING HILL 64 Status=Issues (mixed) Core Note=Bad sound -Plugin Note=[Glide64] no fog +Plugin Note=[video] no fog [audio] needs audio plugin 32bit=No +Cheat0=81052760 AD99 //exhalatio's no sound fix Culling=1 RDRAM Size=8 @@ -6369,8 +6370,9 @@ Good Name=Twisted Edge Extreme Snowboarding (E) Internal Name=TWISTED EDGE Status=Issues (mixed) Core Note=Bad sound -Plugin Note=[video] no fog +Plugin Note=[video] no fog [audio] needs audio plugin 32bit=No +Cheat0=81051960 AD99 //exhalatio's no sound fix Culling=1 RDRAM Size=8 @@ -6379,8 +6381,9 @@ Good Name=Twisted Edge Extreme Snowboarding (U) Internal Name=TWISTED EDGE Status=Issues (mixed) Core Note=Bad sound -Plugin Note=[video] no fog +Plugin Note=[video] no fog [audio] needs audio plugin 32bit=No +Cheat0=81051840 AD99 //exhalatio's no sound fix Culling=1 RDRAM Size=8 From 6e8c0a5ddc9d9d92edec35779027236553a084d5 Mon Sep 17 00:00:00 2001 From: dsx- Date: Fri, 29 Jan 2016 21:48:26 +0800 Subject: [PATCH 16/24] Revert "64 de hakken plugin note" This reverts commit 6e19e484480bdf7fd47098f9235f31079b30c860. --- Config/Project64.rdb | 1 - 1 file changed, 1 deletion(-) diff --git a/Config/Project64.rdb b/Config/Project64.rdb index 950df6432..b2452693c 100644 --- a/Config/Project64.rdb +++ b/Config/Project64.rdb @@ -193,7 +193,6 @@ RDRAM Size=8 Good Name=64 de Hakken!! Tamagotchi - Minna de Tamagotchi World (J) Internal Name=ÐÝÅÃÞÀϺޯÁÜ°ÙÄÞ Status=Issues (plugin) -Plugin Note=[Glide64] incorrect sprites Counter Factor=1 Save Type=FlashRam From 8585c37fd6b4a2a4fdb1f268d107b58d469cd00e Mon Sep 17 00:00:00 2001 From: dsx- Date: Fri, 29 Jan 2016 21:48:50 +0800 Subject: [PATCH 17/24] Revert "revert twisted edge change" This reverts commit 11f4bb91750c94bebc28cd6e99f5d52e064d6635. --- Config/Project64.cht | 6 ++++++ Config/Project64.rdb | 9 +++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Config/Project64.cht b/Config/Project64.cht index e122558c1..167ce0010 100644 --- a/Config/Project64.cht +++ b/Config/Project64.cht @@ -720,6 +720,7 @@ Cheat3="Have\All Difficulties",E95E2008 585A Cheat4="Have\All Tracks",E95E2014 1050 Cheat5="Have\All Boards",E95E201C 595B,E95E201A 504F Cheat1="Low Timer",E85E1FFC 595A,E85E1FFA 595A +Cheat6="exhalatio audio hack",81052760 AD99 //---- @@ -9418,6 +9419,10 @@ Cheat12="Have Shotgun",E8878B88 5959 //---- +[E688A5B8-B14B3F18-C:50] +Good Name=Twisted Edge Extreme Snowboarding (E) +Cheat0="exhalatio audio hack",81051960 AD99 + [BBC99D32-117DAA80-C:45] Name=Twisted Edge Extreme Snowboarding (U) Cheat0="Max\50000 Stunt Points",E95E8010 1CAA @@ -9426,6 +9431,7 @@ Cheat3="Have\All Difficulties",E95E8048 585A Cheat4="Have\All Tracks",E95E8054 1050 Cheat5="Have\All Boards",E95E7D5C 595B,E95E7D5A 504F Cheat1="Low Timer",E86AEC51 595A,E86AE957 595A +Cheat6="exhalatio audio hack",81051840 AD99 //---- diff --git a/Config/Project64.rdb b/Config/Project64.rdb index b2452693c..a5514f304 100644 --- a/Config/Project64.rdb +++ b/Config/Project64.rdb @@ -2874,9 +2874,8 @@ Good Name=King Hill 64 - Extreme Snowboarding (J) Internal Name=KING HILL 64 Status=Issues (mixed) Core Note=Bad sound -Plugin Note=[video] no fog [audio] needs audio plugin +Plugin Note=[Glide64] no fog 32bit=No -Cheat0=81052760 AD99 //exhalatio's no sound fix Culling=1 RDRAM Size=8 @@ -6369,9 +6368,8 @@ Good Name=Twisted Edge Extreme Snowboarding (E) Internal Name=TWISTED EDGE Status=Issues (mixed) Core Note=Bad sound -Plugin Note=[video] no fog [audio] needs audio plugin +Plugin Note=[video] no fog 32bit=No -Cheat0=81051960 AD99 //exhalatio's no sound fix Culling=1 RDRAM Size=8 @@ -6380,9 +6378,8 @@ Good Name=Twisted Edge Extreme Snowboarding (U) Internal Name=TWISTED EDGE Status=Issues (mixed) Core Note=Bad sound -Plugin Note=[video] no fog [audio] needs audio plugin +Plugin Note=[video] no fog 32bit=No -Cheat0=81051840 AD99 //exhalatio's no sound fix Culling=1 RDRAM Size=8 From f2080165990d9284da39fa863c85ca792ced64b8 Mon Sep 17 00:00:00 2001 From: dsx- Date: Fri, 29 Jan 2016 21:51:42 +0800 Subject: [PATCH 18/24] king hill minor correction --- Config/Project64.rdb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Config/Project64.rdb b/Config/Project64.rdb index a5514f304..2d4f1e28f 100644 --- a/Config/Project64.rdb +++ b/Config/Project64.rdb @@ -2874,7 +2874,7 @@ Good Name=King Hill 64 - Extreme Snowboarding (J) Internal Name=KING HILL 64 Status=Issues (mixed) Core Note=Bad sound -Plugin Note=[Glide64] no fog +Plugin Note=[video] no fog 32bit=No Culling=1 RDRAM Size=8 From 0ce0c9347971bd31c738e471196555c42bf70854 Mon Sep 17 00:00:00 2001 From: dsx- Date: Fri, 29 Jan 2016 21:52:30 +0800 Subject: [PATCH 19/24] 64 de hakken plugin note --- Config/Project64.rdb | 1 + 1 file changed, 1 insertion(+) diff --git a/Config/Project64.rdb b/Config/Project64.rdb index 2d4f1e28f..7dbe65cd8 100644 --- a/Config/Project64.rdb +++ b/Config/Project64.rdb @@ -193,6 +193,7 @@ RDRAM Size=8 Good Name=64 de Hakken!! Tamagotchi - Minna de Tamagotchi World (J) Internal Name=ÐÝÅÃÞÀϺޯÁÜ°ÙÄÞ Status=Issues (plugin) +Plugin Note=[video] HLE incorrect sprites Counter Factor=1 Save Type=FlashRam From 4b195a694363b81e2389299718daee4b4df96187 Mon Sep 17 00:00:00 2001 From: dsx- Date: Fri, 29 Jan 2016 22:06:52 +0800 Subject: [PATCH 20/24] king hill/twisted edge plugin note --- Config/Project64.rdb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Config/Project64.rdb b/Config/Project64.rdb index 7dbe65cd8..6d44b8ce6 100644 --- a/Config/Project64.rdb +++ b/Config/Project64.rdb @@ -2875,7 +2875,7 @@ Good Name=King Hill 64 - Extreme Snowboarding (J) Internal Name=KING HILL 64 Status=Issues (mixed) Core Note=Bad sound -Plugin Note=[video] no fog +Plugin Note=[Glide64] no fog 32bit=No Culling=1 RDRAM Size=8 @@ -6369,7 +6369,7 @@ Good Name=Twisted Edge Extreme Snowboarding (E) Internal Name=TWISTED EDGE Status=Issues (mixed) Core Note=Bad sound -Plugin Note=[video] no fog +Plugin Note=[Glide64] no fog 32bit=No Culling=1 RDRAM Size=8 @@ -6379,7 +6379,7 @@ Good Name=Twisted Edge Extreme Snowboarding (U) Internal Name=TWISTED EDGE Status=Issues (mixed) Core Note=Bad sound -Plugin Note=[video] no fog +Plugin Note=[Glide64] no fog 32bit=No Culling=1 RDRAM Size=8 From f252ba8c8e990acadc1abbb0df209bd6566de356 Mon Sep 17 00:00:00 2001 From: AmbientMalice Date: Sat, 30 Jan 2016 17:59:55 +1000 Subject: [PATCH 21/24] R6 software depth buffer enable Fixes lens flares. Game still has some depth issues, possibly caused by swap modes. --- Config/Glide64.rdb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Config/Glide64.rdb b/Config/Glide64.rdb index 5ce7c52f4..f1aac62bc 100644 --- a/Config/Glide64.rdb +++ b/Config/Glide64.rdb @@ -3546,6 +3546,7 @@ filtering=1 Good Name=Tom Clancy's Rainbow Six (E) Internal Name=RAINBOW SIX depthmode=1 +fb_render=1 increase_texrect_edge=1 swapmode=0 @@ -3553,6 +3554,7 @@ swapmode=0 Good Name=Tom Clancy's Rainbow Six (F) Internal Name=RAINBOW SIX depthmode=1 +fb_render=1 increase_texrect_edge=1 swapmode=0 @@ -3560,6 +3562,7 @@ swapmode=0 Good Name=Tom Clancy's Rainbow Six (G) Internal Name=RAINBOW SIX depthmode=1 +fb_render=1 increase_texrect_edge=1 swapmode=0 @@ -3567,6 +3570,7 @@ swapmode=0 Good Name=Tom Clancy's Rainbow Six (U) Internal Name=RAINBOW SIX depthmode=1 +fb_render=1 increase_texrect_edge=1 swapmode=0 From d2d611c13762060f72ff5415d9224dfb25e3b065 Mon Sep 17 00:00:00 2001 From: luigiblood Date: Sat, 30 Jan 2016 22:23:27 +0100 Subject: [PATCH 22/24] [64DD] Only Head 0 Track 6 is supposed to fail. --- Source/Project64-core/N64System/Mips/Disk.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Project64-core/N64System/Mips/Disk.cpp b/Source/Project64-core/N64System/Mips/Disk.cpp index f41b4698a..783a6f992 100644 --- a/Source/Project64-core/N64System/Mips/Disk.cpp +++ b/Source/Project64-core/N64System/Mips/Disk.cpp @@ -201,7 +201,7 @@ void DiskBMUpdate() else { //Read Data - if (((g_Reg->ASIC_CUR_TK >> 16) & 0xFFF) == 6 && g_Reg->ASIC_CUR_SECTOR == 0) + if (((g_Reg->ASIC_CUR_TK >> 16) & 0x1FFF) == 6 && g_Reg->ASIC_CUR_SECTOR == 0) { g_Reg->ASIC_STATUS &= ~DD_STATUS_DATA_RQ; g_Reg->ASIC_BM_STATUS |= DD_BM_STATUS_MICRO; From f63b746c739819c15d0a9bc337fae3b176229514 Mon Sep 17 00:00:00 2001 From: luigiblood Date: Mon, 1 Feb 2016 01:31:14 +0100 Subject: [PATCH 23/24] [64DD] Load 64DD IPL on g_DDRom seperately Fixes double g_Rom delete which makes Windows not happy. --- Source/Project64-core/N64System/N64Class.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/Project64-core/N64System/N64Class.cpp b/Source/Project64-core/N64System/N64Class.cpp index 9b49a8fb2..448d7732f 100644 --- a/Source/Project64-core/N64System/N64Class.cpp +++ b/Source/Project64-core/N64System/N64Class.cpp @@ -219,7 +219,9 @@ bool CN64System::RunFileImage(const char * FileLoc) if (g_Rom->CicChipID() == CIC_NUS_8303) { //64DD IPL - g_DDRom = g_Rom; + if (g_DDRom == NULL) + g_DDRom = new CN64Rom(); + g_DDRom->LoadN64ImageIPL(FileLoc); g_Settings->SaveString(File_DiskIPLPath, FileLoc); } From 6469b523b4480578145a609e7db3fcaae2d0c349 Mon Sep 17 00:00:00 2001 From: luigiblood Date: Mon, 1 Feb 2016 01:38:27 +0100 Subject: [PATCH 24/24] [64DD] Add brackets for if g_DDRom == NULL --- Source/Project64-core/N64System/N64Class.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Source/Project64-core/N64System/N64Class.cpp b/Source/Project64-core/N64System/N64Class.cpp index 448d7732f..0771eb977 100644 --- a/Source/Project64-core/N64System/N64Class.cpp +++ b/Source/Project64-core/N64System/N64Class.cpp @@ -220,7 +220,9 @@ bool CN64System::RunFileImage(const char * FileLoc) { //64DD IPL if (g_DDRom == NULL) + { g_DDRom = new CN64Rom(); + } g_DDRom->LoadN64ImageIPL(FileLoc); g_Settings->SaveString(File_DiskIPLPath, FileLoc); }