From 6bac9984c5dc2445a075eeb252d356bf968f8ca5 Mon Sep 17 00:00:00 2001 From: Sunguk Lee Date: Sat, 26 Aug 2017 00:07:36 +0900 Subject: [PATCH] Update flashcart_core - support variant of r4i gold 3ds; A5, A6 --- external/flashcart_core | 2 +- source/platform.cpp | 33 ++++++++------------------------- 2 files changed, 9 insertions(+), 26 deletions(-) diff --git a/external/flashcart_core b/external/flashcart_core index a7a3bf0..9d84cef 160000 --- a/external/flashcart_core +++ b/external/flashcart_core @@ -1 +1 @@ -Subproject commit a7a3bf0f025f65a8e77088c78a6a92d2af6edea0 +Subproject commit 9d84cef3ad4a4e333f554ae0fc99060202e791ed diff --git a/source/platform.cpp b/source/platform.cpp index 7ff30a4..bd1c0c4 100644 --- a/source/platform.cpp +++ b/source/platform.cpp @@ -8,48 +8,31 @@ void Flashcart::platformInit() { // TODO } -void Flashcart::sendCommand(const uint8_t *cmdbuf, uint16_t response_len, uint8_t *resp) { +void Flashcart::sendCommand(const uint8_t *cmdbuf, uint16_t response_len, uint8_t *resp, uint32_t flags) { u8 reversed[8]; for (int i = 0; i < 8; i++) { reversed[7 - i] = cmdbuf[i]; } - u32 defaultFlags; + u32 defaultFlags = flags; switch (response_len & 0xfffffffc) { case 0: - defaultFlags = 0; + defaultFlags |= 0; break; case 4: - defaultFlags = CARD_BLK_SIZE(7); + defaultFlags |= CARD_BLK_SIZE(7); break; case 512: - defaultFlags = CARD_BLK_SIZE(1); + defaultFlags |= CARD_BLK_SIZE(1); break; case 8192: - defaultFlags = CARD_BLK_SIZE(5); + defaultFlags |= CARD_BLK_SIZE(5); break; case 16384: - defaultFlags = CARD_BLK_SIZE(6); + defaultFlags |= CARD_BLK_SIZE(6); break; default: - defaultFlags = CARD_BLK_SIZE(4); - break; - } - - switch (cmdbuf[0]) { - case 0xA5: - defaultFlags |= CARD_DELAY1(20); - break; - case 0xB7: - defaultFlags |= CARD_DELAY1(2); - break; - case 0xC0: - defaultFlags |= CARD_DELAY1(4); - break; - case 0xC8: - case 0xD4: - case 0xD8: - defaultFlags |= CARD_DELAY1(20); + defaultFlags |= CARD_BLK_SIZE(4); break; }