From ba2e5ba9e6eb590b9e4940e13850ab4e5bcf6631 Mon Sep 17 00:00:00 2001 From: Nekokabu Date: Fri, 30 Oct 2015 22:08:27 +0900 Subject: [PATCH 1/4] Support Dezaemon 3D saves (SRAM 96KB) Support Dezaemon 3D saves (SRAM 96KB) --- Source/Project64/N64 System/Mips/Dma.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Project64/N64 System/Mips/Dma.cpp b/Source/Project64/N64 System/Mips/Dma.cpp index 2ecf4e835..d1a4e71af 100644 --- a/Source/Project64/N64 System/Mips/Dma.cpp +++ b/Source/Project64/N64 System/Mips/Dma.cpp @@ -101,7 +101,7 @@ void CDMA::PI_DMA_READ() return; } - if ( g_Reg->PI_CART_ADDR_REG >= 0x08000000 && g_Reg->PI_CART_ADDR_REG <= 0x08010000) + if ( g_Reg->PI_CART_ADDR_REG >= 0x08000000 && g_Reg->PI_CART_ADDR_REG <= 0x08088000) { if (g_System->m_SaveUsing == SaveChip_Auto) { @@ -169,7 +169,7 @@ void CDMA::PI_DMA_WRITE() return; } - if ( g_Reg->PI_CART_ADDR_REG >= 0x08000000 && g_Reg->PI_CART_ADDR_REG <= 0x08010000) + if ( g_Reg->PI_CART_ADDR_REG >= 0x08000000 && g_Reg->PI_CART_ADDR_REG <= 0x08088000) { if (g_System->m_SaveUsing == SaveChip_Auto) { From cd2f3cf173e88c8c1e18108f9f21405c077352e8 Mon Sep 17 00:00:00 2001 From: Nekokabu Date: Fri, 30 Oct 2015 22:09:56 +0900 Subject: [PATCH 2/4] Support Dezaemon 3D saves (SRAM 96KB) Support Dezaemon 3D saves (SRAM 96KB) --- Source/Project64/N64 System/Mips/Sram.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Source/Project64/N64 System/Mips/Sram.cpp b/Source/Project64/N64 System/Mips/Sram.cpp index fc70b7f96..d1f588691 100644 --- a/Source/Project64/N64 System/Mips/Sram.cpp +++ b/Source/Project64/N64 System/Mips/Sram.cpp @@ -63,6 +63,10 @@ void CSram::DmaFromSram(BYTE * dest, int StartOffset, int len) return; } } + + // Fix Dezaemon 3D saves + StartOffset = ((StartOffset >> 3) & 0xFFFF8000) | (StartOffset & 0x7FFF); + DWORD Offset = StartOffset & 3; if (Offset == 0) @@ -145,7 +149,12 @@ void CSram::DmaToSram(BYTE * Source, int StartOffset, int len) return; } } + + // Fix Dezaemon 3D saves + StartOffset = ((StartOffset >> 3) & 0xFFFF8000) | (StartOffset & 0x7FFF); + DWORD Offset = StartOffset & 3; + if (Offset == 0) { SetFilePointer(m_hFile, StartOffset, NULL, FILE_BEGIN); From dd587cccea856fb85daac692913702ccf224651b Mon Sep 17 00:00:00 2001 From: Nekokabu Date: Fri, 30 Oct 2015 22:11:12 +0900 Subject: [PATCH 3/4] Remove sram size Remove sram size --- Source/Project64/Multilanguage/Language Class.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Project64/Multilanguage/Language Class.cpp b/Source/Project64/Multilanguage/Language Class.cpp index d9ba7ca31..dab71accb 100644 --- a/Source/Project64/Multilanguage/Language Class.cpp +++ b/Source/Project64/Multilanguage/Language Class.cpp @@ -315,7 +315,7 @@ void CLanguage::LoadDefaultStrings (void) DEF_STR(SAVE_FIRST_USED, L"Use first-used save type"); DEF_STR(SAVE_4K_EEPROM, L"4-kbit EEPROM"); DEF_STR(SAVE_16K_EEPROM, L"16-kbit EEPROM"); - DEF_STR(SAVE_SRAM, L"32-kbyte SRAM"); + DEF_STR(SAVE_SRAM, L"SRAM"); DEF_STR(SAVE_FLASHRAM, L"Flash RAM"); //Shell Integration Tab From 9d562abab9661188ece6e2f7a9b51c62d9b7dd8f Mon Sep 17 00:00:00 2001 From: Nekokabu Date: Fri, 30 Oct 2015 22:11:57 +0900 Subject: [PATCH 4/4] Update Project64.rdb --- Config/Project64.rdb | 1 + 1 file changed, 1 insertion(+) diff --git a/Config/Project64.rdb b/Config/Project64.rdb index ce2dbb1d9..5966b07e6 100644 --- a/Config/Project64.rdb +++ b/Config/Project64.rdb @@ -1430,6 +1430,7 @@ Plugin Note=[video] unsupported Good Name=Dezaemon 3D (J) Internal Name=DEZAEMON3D Status=Compatible +Save Type=Sram [FD73F775-9724755A-C:50] Good Name=Diddy Kong Racing (E) (M3) (V1.0)