aboutsummaryrefslogtreecommitdiff
path: root/src/DSi.cpp
diff options
context:
space:
mode:
authorJesse Talavera-Greenberg <jesse@jesse.tg>2023-10-02 11:54:17 -0400
committerGitHub <noreply@github.com>2023-10-02 17:54:17 +0200
commitb2fcff97c186cc9db263089acd4810ea7d58517d (patch)
tree698ba48c059afbfce7371aa8516ccfc1f47092b4 /src/DSi.cpp
parentbb09ce7d708c3272f63077222fe6f728c637ebc2 (diff)
Add some structs for files that DSi_NAND reads (#1842)
* Add DSiFirmwareSystemSettings * Replace DSiFirmwareSystemSettings::TouchCalibration fields with std::arrays - So assignment can be done in one line * Make DSiFirmwareSystemSettings a union - So its bytes can be accessed * Add a comment * Use DSiFirmwareSystemSettings instead of raw byte offsets * Add definitions for DSiSerialData and DSiHardwareInfoN * Move DSiFirmwareSystemSettings's hash update logic into its own method
Diffstat (limited to 'src/DSi.cpp')
-rw-r--r--src/DSi.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/DSi.cpp b/src/DSi.cpp
index 64bc6d2..cdec819 100644
--- a/src/DSi.cpp
+++ b/src/DSi.cpp
@@ -530,20 +530,20 @@ void SetupDirectBoot()
if (DSi_NAND::Init(&DSi::ARM7iBIOS[0x8308]))
{
- u8 userdata[0x1B0];
+ DSi_NAND::DSiFirmwareSystemSettings userdata {};
DSi_NAND::ReadUserData(userdata);
for (u32 i = 0; i < 0x128; i+=4)
- ARM9Write32(0x02000400+i, *(u32*)&userdata[0x88+i]);
+ ARM9Write32(0x02000400+i, *(u32*)&userdata.Bytes[0x88+i]);
- u8 hwinfoS[0xA4];
- u8 hwinfoN[0x9C];
+ DSi_NAND::DSiSerialData hwinfoS {};
+ DSi_NAND::DSiHardwareInfoN hwinfoN;
DSi_NAND::ReadHardwareInfo(hwinfoS, hwinfoN);
for (u32 i = 0; i < 0x14; i+=4)
ARM9Write32(0x02000600+i, *(u32*)&hwinfoN[0x88+i]);
for (u32 i = 0; i < 0x18; i+=4)
- ARM9Write32(0x02FFFD68+i, *(u32*)&hwinfoS[0x88+i]);
+ ARM9Write32(0x02FFFD68+i, *(u32*)&hwinfoS.Bytes[0x88+i]);
DSi_NAND::DeInit();
}