Compare commits

...

5 Commits

Author SHA1 Message Date
Florin9doi
a714582c1c Memcard: Support for MemCardPro2/.mc2 files. (#12157) 2025-01-06 13:31:04 +01:00
chaoticgd
0e7da0f1a8 Debugger: Fix AST node ownership confusion bug 2025-01-06 13:28:21 +01:00
TheTechnician27
4f7c8a77f6 Tools: Fix typo in compression tool 2025-01-04 17:17:39 -05:00
Ty Lamontagne
1842fe6db8 EE Cache: Make the SIMD path x86 only to support ARM interpreters 2025-01-03 14:17:24 -05:00
Mrlinkwii
1feb31498d GameDB: fix some names 2025-01-02 21:19:35 +01:00
5 changed files with 30 additions and 18 deletions

View File

@@ -17545,10 +17545,12 @@ SLES-51654:
gsHWFixes:
recommendedBlendingLevel: 3 # Improves lighting.
SLES-51658:
name: "Piglet's Big Game"
name: "Disney's ferkels grosses abenteuer-spiel"
name-en: "Piglet's Big Game"
region: "PAL-G"
SLES-51659:
name: "Piglet's Big Game"
name: "Disney's les aventures de porcinet"
name-en: "Piglet's Big Game"
region: "PAL-F"
SLES-51660:
name: "Risk - Global Domination"
@@ -17570,12 +17572,15 @@ SLES-51665:
region: "PAL-S"
SLES-51666:
name: "Piglet - El Gran Juego de Disney"
name-en: "Piglet's Big Game"
region: "PAL-S"
SLES-51667:
name: "Piglet's Big Game"
name: "Disney's Pimpi Piccolo Grande Eroe"
name-en: "Piglet's Big Game"
region: "PAL-I"
SLES-51668:
name: "Piglet's Big Game"
name: "Disney's Knorretje Kleine Grote Held"
name-en: "Piglet's Big Game"
region: "PAL-NL"
SLES-51670:
name: "Alter Echo"

View File

@@ -169,7 +169,9 @@ def checkDuplicates(source_files, target_extensions, crash_protection_type=0):
print("")
print("║ You may choose to OVERWRITE or SKIP all of these.")
if (crash_protection_type == 2):
print("║ NOTE: chdman cannot overwrite .cso files. These will be skipped regardless.")
# chdman CLI just crashes trying to overwrite a .iso file
print("║ NOTE: chdman cannot overwrite .iso files, which are used as an intermediate format.")
print("║ These will be skipped regardless.")
choice = input("║ Press 'O' to overwrite or 'S' to skip and press ENTER: ").lower()
if (choice in dupe_options):

View File

@@ -460,8 +460,8 @@ std::vector<std::unique_ptr<SymbolTreeNode>> SymbolTreeModel::populateChildren(
for (const ccc::ast::StructOrUnion::FlatField& field : fields)
{
if (symbol)
parent_handle = ccc::NodeHandle(*symbol, nullptr);
if (field.symbol)
parent_handle = ccc::NodeHandle(*field.symbol, nullptr);
SymbolTreeLocation field_location = location.addOffset(field.base_offset + field.node->offset_bytes);
if (field_location.type == SymbolTreeLocation::NONE)

View File

@@ -285,7 +285,7 @@ void FileMemoryCard::Open()
}
}
if (fname.ends_with(".bin"))
if (fname.ends_with(".bin") || fname.ends_with(".mc2"))
{
std::string newname(fname + "x");
if (!ConvertNoECCtoRAW(fname.c_str(), newname.c_str()))
@@ -346,7 +346,7 @@ void FileMemoryCard::Close()
std::fclose(m_file[slot]);
m_file[slot] = nullptr;
if (m_filenames[slot].ends_with(".bin"))
if (m_filenames[slot].ends_with(".bin") || m_filenames[slot].ends_with(".mc2"))
{
const std::string name_in(m_filenames[slot] + 'x');
if (ConvertRAWtoNoECC(name_in.c_str(), m_filenames[slot].c_str()))
@@ -786,13 +786,14 @@ int FileMcd_ReIndex(uint port, uint slot, const std::string& filter)
static MemoryCardFileType GetMemoryCardFileTypeFromSize(s64 size)
{
if (size == (8 * MC2_MBSIZE))
// Handle both ecc and non ecc versions
if (size == (8 * MC2_MBSIZE) || size == _8mb)
return MemoryCardFileType::PS2_8MB;
else if (size == (16 * MC2_MBSIZE))
else if (size == (16 * MC2_MBSIZE) || size == _16mb)
return MemoryCardFileType::PS2_16MB;
else if (size == (32 * MC2_MBSIZE))
else if (size == (32 * MC2_MBSIZE) || size == _32mb)
return MemoryCardFileType::PS2_32MB;
else if (size == (64 * MC2_MBSIZE))
else if (size == (64 * MC2_MBSIZE) || size == _64mb)
return MemoryCardFileType::PS2_64MB;
else if (size == MCD_SIZE)
return MemoryCardFileType::PS1;
@@ -862,7 +863,8 @@ std::vector<AvailableMcdInfo> FileMcd_GetAvailableCards(bool include_in_use_card
// We only want relevant file types.
if (!(fd.FileName.ends_with(".ps2") || fd.FileName.ends_with(".mcr") ||
fd.FileName.ends_with(".mcd") || fd.FileName.ends_with(".bin")))
fd.FileName.ends_with(".mcd") || fd.FileName.ends_with(".bin") ||
fd.FileName.ends_with(".mc2")))
continue;
if (fd.Attributes & FILESYSTEM_FILE_ATTRIBUTE_DIRECTORY)

View File

@@ -30,7 +30,9 @@
#include "fmt/core.h"
#include <bit>
#ifdef _M_X86
#include <immintrin.h>
#endif
#include <map>
#include <unordered_set>
#include <unordered_map>
@@ -118,12 +120,13 @@ __inline int CheckCache(u32 addr)
return false;
}
size_t i = 0;
const size_t size = cachedTlbs.count;
#ifdef _M_X86
const int stride = 4;
__m128i addr_vec = _mm_set1_epi32(addr);
size_t i = 0;
const __m128i addr_vec = _mm_set1_epi32(addr);
for (; i + stride <= size; i += stride)
{
@@ -170,7 +173,7 @@ __inline int CheckCache(u32 addr)
return true;
}
}
#endif
for (; i < size; i++)
{
const u32 mask = cachedTlbs.PageMasks[i];