summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Vandaƫle <joshua@vandaele.software>2026-06-23 22:48:35 +0200
committerJoshua Vandaƫle <joshua@vandaele.software>2026-06-23 22:48:35 +0200
commitd170a27cc6f9a09dad177df46a007d5b3399556e (patch)
tree16bbc68918e3b10f617d040bcb5efd5517f21b7b
parent8328469f5e48ba455d97ad15ebb9289170a662aa (diff)
ICCardReader: Fix macro collision
On Alpine Linux, Dolphin fails to build due to PAGE_SIZE being already defined somewhere in the system includes.
-rw-r--r--Source/Core/Core/HW/Triforce/ICCardReader.cpp28
-rw-r--r--Source/Core/Core/HW/Triforce/ICCardReader.h10
2 files changed, 19 insertions, 19 deletions
diff --git a/Source/Core/Core/HW/Triforce/ICCardReader.cpp b/Source/Core/Core/HW/Triforce/ICCardReader.cpp
index b438992fb4..c5d5beaf97 100644
--- a/Source/Core/Core/HW/Triforce/ICCardReader.cpp
+++ b/Source/Core/Core/HW/Triforce/ICCardReader.cpp
@@ -431,7 +431,7 @@ void ICCardReader::Update()
break;
const u16 card_session = Common::swap16(input_payload.data() + 0);
- const u16 page = Common::swap16(input_payload.data() + 2) & PAGE_INDEX_MASK;
+ const u16 page = Common::swap16(input_payload.data() + 2) & IC_PAGE_INDEX_MASK;
INFO_LOG_FMT(SERIALINTERFACE_CARD, "ReadPage: session:{:04x} page:{}", card_session, page);
@@ -459,7 +459,7 @@ void ICCardReader::Update()
const u16 card_session = Common::swap16(input_payload.data() + 0);
// Avalon specifically puts a zero here.
const u16 unknown = Common::swap16(input_payload.data() + 2);
- const u16 page = Common::swap16(input_payload.data() + 4) & PAGE_INDEX_MASK;
+ const u16 page = Common::swap16(input_payload.data() + 4) & IC_PAGE_INDEX_MASK;
INFO_LOG_FMT(SERIALINTERFACE_CARD, "WritePage: session:{:04x} unk:{} page:{}", card_session,
unknown, page);
@@ -468,7 +468,7 @@ void ICCardReader::Update()
if (!ic_card)
break;
- if (!ic_card->WriteData(page, input_payload.subspan(6, PAGE_SIZE)))
+ if (!ic_card->WriteData(page, input_payload.subspan(6, IC_PAGE_SIZE)))
{
status_code = HardwareUntestedErrorCode;
}
@@ -482,7 +482,7 @@ void ICCardReader::Update()
const u16 card_session = Common::swap16(input_payload.data() + 0);
// Avalon seems to always sends 5 and 1. Guessing on the meaning and behavior.
- const u16 page = Common::swap16(input_payload.data() + 2) & PAGE_INDEX_MASK;
+ const u16 page = Common::swap16(input_payload.data() + 2) & IC_PAGE_INDEX_MASK;
const u16 amount = Common::swap16(input_payload.data() + 4);
INFO_LOG_FMT(SERIALINTERFACE_CARD, "DecreaseUseCount: session:{:04x}, page:{} amount:{}",
@@ -522,7 +522,7 @@ void ICCardReader::Update()
break;
const u16 card_session = Common::swap16(input_payload.data() + 0);
- const u16 page = Common::swap16(input_payload.data() + 2) & PAGE_INDEX_MASK;
+ const u16 page = Common::swap16(input_payload.data() + 2) & IC_PAGE_INDEX_MASK;
const u16 page_count = Common::swap16(input_payload.data() + 4);
INFO_LOG_FMT(SERIALINTERFACE_CARD, "ReadPages: session:{:04x} page:{} page_count:{}",
@@ -554,7 +554,7 @@ void ICCardReader::Update()
}
const u16 card_session = Common::swap16(input_payload.data() + 0);
- const u32 page = Common::swap16(input_payload.data() + 2) & PAGE_INDEX_MASK;
+ const u32 page = Common::swap16(input_payload.data() + 2) & IC_PAGE_INDEX_MASK;
const u32 page_count = Common::swap16(input_payload.data() + 4);
INFO_LOG_FMT(SERIALINTERFACE_CARD, "WritePages: session:{:04x} page:{} page_count:{}",
@@ -564,7 +564,7 @@ void ICCardReader::Update()
if (!ic_card)
break;
- const u32 byte_count = page_count * PAGE_SIZE;
+ const u32 byte_count = page_count * IC_PAGE_SIZE;
if (!validate_input_payload_size(8 + byte_count))
break;
@@ -611,8 +611,8 @@ void ICCardReader::SendReply(u8 command, u16 status_code, std::span<const u8> pa
std::span<const u8> ICCardReader::ICCard::ReadData(u16 page, u16 page_count)
{
- const u32 byte_offset = page * PAGE_SIZE;
- const u32 byte_count = page_count * PAGE_SIZE;
+ const u32 byte_offset = page * IC_PAGE_SIZE;
+ const u32 byte_count = page_count * IC_PAGE_SIZE;
if (byte_count + byte_offset > m_data.size())
{
@@ -629,10 +629,10 @@ std::span<const u8> ICCardReader::ICCard::ReadData(u16 page, u16 page_count)
bool ICCardReader::ICCard::WriteData(u16 page, std::span<const u8> write_span)
{
- constexpr u32 read_only_area_begin = READ_ONLY_PAGE_INDEX * PAGE_SIZE;
- constexpr u32 read_only_area_end = read_only_area_begin + PAGE_SIZE;
+ constexpr u32 read_only_area_begin = READ_ONLY_PAGE_INDEX * IC_PAGE_SIZE;
+ constexpr u32 read_only_area_end = read_only_area_begin + IC_PAGE_SIZE;
- const u32 byte_offset = page * PAGE_SIZE;
+ const u32 byte_offset = page * IC_PAGE_SIZE;
if ((byte_offset < read_only_area_end) &&
(byte_offset + write_span.size() > read_only_area_begin))
@@ -659,7 +659,7 @@ bool ICCardReader::ICCard::WriteData(u16 page, std::span<const u8> write_span)
u16 ICCardReader::ICCard::DecreaseUseCount(u16 page, u16 amount)
{
- const u32 byte_offset = page * PAGE_SIZE;
+ const u32 byte_offset = page * IC_PAGE_SIZE;
auto* const addr = m_data.data() + byte_offset;
const u16 previous_use_count = Common::swap16(addr);
@@ -728,7 +728,7 @@ void ICCardReader::ICCard::Initialize()
{
NOTICE_LOG_FMT(SERIALINTERFACE_CARD, "Creating new IC Card data.");
InitializeCardData(m_data);
- FlushData(READ_ONLY_PAGE_INDEX * PAGE_SIZE, PAGE_SIZE * 2);
+ FlushData(READ_ONLY_PAGE_INDEX * IC_PAGE_SIZE, IC_PAGE_SIZE * 2);
}
}
diff --git a/Source/Core/Core/HW/Triforce/ICCardReader.h b/Source/Core/Core/HW/Triforce/ICCardReader.h
index 7f4911c85d..98f89066a6 100644
--- a/Source/Core/Core/HW/Triforce/ICCardReader.h
+++ b/Source/Core/Core/HW/Triforce/ICCardReader.h
@@ -41,16 +41,16 @@ private:
void SendReply(u8 command, u16 status_code, std::span<const u8> payload);
- static constexpr std::size_t PAGE_SIZE = 8;
- static constexpr u32 PAGE_COUNT = 256;
+ static constexpr std::size_t IC_PAGE_SIZE = 8;
+ static constexpr u32 IC_PAGE_COUNT = 256;
// TODO: Maybe we're supposed to error for out-of-bound pages instead?
- static constexpr u32 PAGE_INDEX_MASK = 0xff;
+ static constexpr u32 IC_PAGE_INDEX_MASK = 0xff;
class ICCard
{
public:
- using UID = std::array<u8, PAGE_SIZE>;
+ using UID = std::array<u8, IC_PAGE_SIZE>;
ICCard(std::string filename, const UID& uid);
@@ -76,7 +76,7 @@ private:
private:
void FlushData(u32 byte_offset, u32 byte_count);
- std::array<u8, PAGE_SIZE * PAGE_COUNT> m_data{};
+ std::array<u8, IC_PAGE_SIZE * IC_PAGE_COUNT> m_data{};
const std::string m_filename;