From dd13e33401fce05bbd025078d12d2a9f57e2784c Mon Sep 17 00:00:00 2001 From: zeromus Date: Tue, 16 Sep 2014 03:53:58 +0000 Subject: [PATCH] fix obvious crashy bug in NAND cards when booting from firmware, but for some reason the card isn't detected still. --- desmume/src/addons/slot1_retail_nand.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/desmume/src/addons/slot1_retail_nand.cpp b/desmume/src/addons/slot1_retail_nand.cpp index 701e8d7b5..0c81daa36 100644 --- a/desmume/src/addons/slot1_retail_nand.cpp +++ b/desmume/src/addons/slot1_retail_nand.cpp @@ -83,8 +83,6 @@ public: virtual void slot1client_startOperation(eSlot1Operation operation) { - protocol.address = (protocol.command.bytes[1] << 24) | (protocol.command.bytes[2] << 16) | (protocol.command.bytes[3] << 8) | protocol.command.bytes[4]; - //INFO("Start command: %02X%02X%02X%02X%02X%02X%02X%02X\t", // protocol.command.bytes[0], protocol.command.bytes[1], protocol.command.bytes[2], protocol.command.bytes[3], // protocol.command.bytes[4], protocol.command.bytes[5], protocol.command.bytes[6], protocol.command.bytes[7]); @@ -94,8 +92,14 @@ public: switch(operation) { case eSlot1Operation_00_ReadHeader_Unencrypted: + protocol.address = (protocol.command.bytes[1] << 24) | (protocol.command.bytes[2] << 16) | (protocol.command.bytes[3] << 8) | protocol.command.bytes[4]; + break; + + //case eSlot1Operation_B7_Read: + //??? + case eSlot1Operation_2x_SecureAreaLoad: - //case eSlot1Operation_B7_Read: + //don't re-generate address here. it was already done, according to different rules, for this operation rom.start(operation,protocol.address); return; }