fix another AES bug

This commit is contained in:
Arisotura
2019-06-20 22:42:28 +02:00
parent d943a51b96
commit 6c60e97a63

View File

@ -180,9 +180,10 @@ void WriteCnt(u32 val)
Update(); Update();
}*/ }*/
u32 dmasize[4] = {4, 8, 12, 16}; u32 dmasize_in[4] = {0, 4, 8, 12};
InputDMASize = dmasize[3 - ((val >> 12) & 0x3)]; u32 dmasize_out[4] = {4, 8, 12, 16};
OutputDMASize = dmasize[(val >> 14) & 0x3]; InputDMASize = dmasize_in[(val >> 12) & 0x3];
OutputDMASize = dmasize_out[(val >> 14) & 0x3];
AESMode = (val >> 28) & 0x3; AESMode = (val >> 28) & 0x3;
if (AESMode < 2) printf("AES-CCM TODO\n"); if (AESMode < 2) printf("AES-CCM TODO\n");
@ -251,7 +252,7 @@ void CheckInputDMA()
{ {
if (RemBlocks == 0) return; if (RemBlocks == 0) return;
if (InputFIFO->Level() < InputDMASize) if (InputFIFO->Level() <= InputDMASize)
{ {
// trigger input DMA // trigger input DMA
DSi::CheckNDMAs(1, 0x2A); DSi::CheckNDMAs(1, 0x2A);