DSi_SD: implement command 17, 24 (#1877)
This commit is contained in:
parent
ad7b1a8c61
commit
c84cb17462
|
@ -951,6 +951,7 @@ void DSi_MMCStorage::SendCMD(u8 cmd, u32 param)
|
||||||
Host->SendResponse(CSR, true);
|
Host->SendResponse(CSR, true);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
case 17: // read single block
|
||||||
case 18: // read multiple blocks
|
case 18: // read multiple blocks
|
||||||
//printf("READ_MULTIPLE_BLOCKS addr=%08X size=%08X\n", param, BlockSize);
|
//printf("READ_MULTIPLE_BLOCKS addr=%08X size=%08X\n", param, BlockSize);
|
||||||
RWAddress = param;
|
RWAddress = param;
|
||||||
|
@ -959,12 +960,14 @@ void DSi_MMCStorage::SendCMD(u8 cmd, u32 param)
|
||||||
RWAddress <<= 9;
|
RWAddress <<= 9;
|
||||||
BlockSize = 512;
|
BlockSize = 512;
|
||||||
}
|
}
|
||||||
|
if (cmd == 18)
|
||||||
RWCommand = 18;
|
RWCommand = 18;
|
||||||
Host->SendResponse(CSR, true);
|
Host->SendResponse(CSR, true);
|
||||||
RWAddress += ReadBlock(RWAddress);
|
RWAddress += ReadBlock(RWAddress);
|
||||||
SetState(0x05);
|
SetState(0x05);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
case 24: // write single block
|
||||||
case 25: // write multiple blocks
|
case 25: // write multiple blocks
|
||||||
//printf("WRITE_MULTIPLE_BLOCKS addr=%08X size=%08X\n", param, BlockSize);
|
//printf("WRITE_MULTIPLE_BLOCKS addr=%08X size=%08X\n", param, BlockSize);
|
||||||
RWAddress = param;
|
RWAddress = param;
|
||||||
|
@ -973,6 +976,7 @@ void DSi_MMCStorage::SendCMD(u8 cmd, u32 param)
|
||||||
RWAddress <<= 9;
|
RWAddress <<= 9;
|
||||||
BlockSize = 512;
|
BlockSize = 512;
|
||||||
}
|
}
|
||||||
|
if (cmd == 25)
|
||||||
RWCommand = 25;
|
RWCommand = 25;
|
||||||
Host->SendResponse(CSR, true);
|
Host->SendResponse(CSR, true);
|
||||||
RWAddress += WriteBlock(RWAddress);
|
RWAddress += WriteBlock(RWAddress);
|
||||||
|
|
Loading…
Reference in New Issue