Reduce code stink (#1818)

CRC32.cpp:
Make table initialization compile time

DSi_NAND.cpp:
Fix file close / unmount / disk close on error
~L427: Remove redundant calls, as they are immediately rendered useless by `rem` being overwritten

NDS.cpp / FreeBIOS.h:
Remove unneeded size values in header
Remove unneeded memset's as they are initialized anyway

sha1.c / sha1.h:
Fix useless warning

Wifi.cpp:
Remove unneeded includes

DSi.cpp:
Reduce ugly casts
Deduplicate code

qt_sdl/main.cpp:
silence clang switch statement warning

qt_sdl/main.h:
fix override warnings

dolphin/BitSet.h:
use msvc extensions only when appropriate, fix broken bit set count under _WIN32
This commit is contained in:
jdp_
2023-08-28 14:01:15 -04:00
committed by GitHub
parent b4aa7fafc9
commit 2a3a071216
18 changed files with 177 additions and 173 deletions

View File

@ -55,8 +55,8 @@ u32 SCFG_EXT[2];
u32 SCFG_MC;
u16 SCFG_RST;
u8 ARM9iBIOS[0x10000];
u8 ARM7iBIOS[0x10000];
u8 ARM9iBIOS[0x10000] = { 0 };
u8 ARM7iBIOS[0x10000] = { 0 };
u32 MBK[2][9];
@ -324,8 +324,8 @@ void DecryptModcryptArea(u32 offset, u32 size, u8* iv)
DSi_AES::DeriveNormalKey(keyX, keyY, tmp);
}
DSi_AES::Swap16(key, tmp);
DSi_AES::Swap16(tmp, iv);
Bswap128(key, tmp);
Bswap128(tmp, iv);
AES_init_ctx_iv(&ctx, key, tmp);
// find a matching binary area
@ -367,21 +367,21 @@ void DecryptModcryptArea(u32 offset, u32 size, u8* iv)
for (u32 i = 0; i < size; i+=16)
{
u8 data[16];
u32 data[4];
*(u32*)&data[0] = ARM9Read32(binaryaddr+i);
*(u32*)&data[4] = ARM9Read32(binaryaddr+i+4);
*(u32*)&data[8] = ARM9Read32(binaryaddr+i+8);
*(u32*)&data[12] = ARM9Read32(binaryaddr+i+12);
data[0] = ARM9Read32(binaryaddr+i);
data[1] = ARM9Read32(binaryaddr+i+4);
data[2] = ARM9Read32(binaryaddr+i+8);
data[3] = ARM9Read32(binaryaddr+i+12);
DSi_AES::Swap16(tmp, data);
AES_CTR_xcrypt_buffer(&ctx, tmp, 16);
DSi_AES::Swap16(data, tmp);
Bswap128(tmp, data);
AES_CTR_xcrypt_buffer(&ctx, tmp, sizeof(tmp));
Bswap128(data, tmp);
ARM9Write32(binaryaddr+i, *(u32*)&data[0]);
ARM9Write32(binaryaddr+i+4, *(u32*)&data[4]);
ARM9Write32(binaryaddr+i+8, *(u32*)&data[8]);
ARM9Write32(binaryaddr+i+12, *(u32*)&data[12]);
ARM9Write32(binaryaddr+i, data[0]);
ARM9Write32(binaryaddr+i+4, data[1]);
ARM9Write32(binaryaddr+i+8, data[2]);
ARM9Write32(binaryaddr+i+12, data[3]);
}
}
@ -893,7 +893,7 @@ bool LoadNAND()
*(u32*)&tmp[4] = -bootparams[3];
*(u32*)&tmp[8] = ~bootparams[3];
*(u32*)&tmp[12] = 0;
for (int i = 0; i < 16; i++) boot2iv[i] = tmp[15-i];
Bswap128(boot2iv, tmp);
AES_init_ctx_iv(&ctx, boot2key, boot2iv);
@ -901,24 +901,24 @@ bool LoadNAND()
dstaddr = bootparams[2];
for (u32 i = 0; i < bootparams[3]; i += 16)
{
u8 data[16];
u32 data[4];
FileRead(data, 16, 1, nand);
for (int j = 0; j < 16; j++) tmp[j] = data[15-j];
Bswap128(tmp, data);
AES_CTR_xcrypt_buffer(&ctx, tmp, 16);
for (int j = 0; j < 16; j++) data[j] = tmp[15-j];
Bswap128(data, tmp);
ARM9Write32(dstaddr, *(u32*)&data[0]); dstaddr += 4;
ARM9Write32(dstaddr, *(u32*)&data[4]); dstaddr += 4;
ARM9Write32(dstaddr, *(u32*)&data[8]); dstaddr += 4;
ARM9Write32(dstaddr, *(u32*)&data[12]); dstaddr += 4;
ARM9Write32(dstaddr, data[0]); dstaddr += 4;
ARM9Write32(dstaddr, data[1]); dstaddr += 4;
ARM9Write32(dstaddr, data[2]); dstaddr += 4;
ARM9Write32(dstaddr, data[3]); dstaddr += 4;
}
*(u32*)&tmp[0] = bootparams[7];
*(u32*)&tmp[4] = -bootparams[7];
*(u32*)&tmp[8] = ~bootparams[7];
*(u32*)&tmp[12] = 0;
for (int i = 0; i < 16; i++) boot2iv[i] = tmp[15-i];
Bswap128(boot2iv, tmp);
AES_init_ctx_iv(&ctx, boot2key, boot2iv);
@ -926,17 +926,17 @@ bool LoadNAND()
dstaddr = bootparams[6];
for (u32 i = 0; i < bootparams[7]; i += 16)
{
u8 data[16];
u32 data[4];
FileRead(data, 16, 1, nand);
for (int j = 0; j < 16; j++) tmp[j] = data[15-j];
Bswap128(tmp, data);
AES_CTR_xcrypt_buffer(&ctx, tmp, 16);
for (int j = 0; j < 16; j++) data[j] = tmp[15-j];
Bswap128(data, tmp);
ARM7Write32(dstaddr, *(u32*)&data[0]); dstaddr += 4;
ARM7Write32(dstaddr, *(u32*)&data[4]); dstaddr += 4;
ARM7Write32(dstaddr, *(u32*)&data[8]); dstaddr += 4;
ARM7Write32(dstaddr, *(u32*)&data[12]); dstaddr += 4;
ARM7Write32(dstaddr, data[0]); dstaddr += 4;
ARM7Write32(dstaddr, data[1]); dstaddr += 4;
ARM7Write32(dstaddr, data[2]); dstaddr += 4;
ARM7Write32(dstaddr, data[3]); dstaddr += 4;
}
}