aboutsummaryrefslogtreecommitdiff
path: root/src/SPI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/SPI.cpp')
-rw-r--r--src/SPI.cpp26
1 files changed, 14 insertions, 12 deletions
diff --git a/src/SPI.cpp b/src/SPI.cpp
index eff0a05..2ba5e66 100644
--- a/src/SPI.cpp
+++ b/src/SPI.cpp
@@ -179,24 +179,25 @@ void Reset()
//Firmware[userdata+0x64] &= 0xBF;
*(u16*)&Firmware[userdata+0x72] = CRC16(&Firmware[userdata], 0x70, 0xFFFF);
+
+ if (Config::RandomizeMAC)
+ {
+ // replace MAC address with random address
+ Firmware[0x36] = 0x00;
+ Firmware[0x37] = 0x09;
+ Firmware[0x38] = 0xBF;
+ Firmware[0x39] = rand()&0xFF;
+ Firmware[0x3A] = rand()&0xFF;
+ Firmware[0x3B] = rand()&0xFF;
+
+ *(u16*)&Firmware[0x2A] = CRC16(&Firmware[0x2C], *(u16*)&Firmware[0x2C], 0x0000);
+ }
}
-#if 0
- // replace MAC address with random address
- // TODO: make optional?
- Firmware[0x36] = 0x00;
- Firmware[0x37] = 0x09;
- Firmware[0x38] = 0xBF;
- Firmware[0x39] = rand()&0xFF;
- Firmware[0x3A] = rand()&0xFF;
- Firmware[0x3B] = rand()&0xFF;
-#endif
printf("MAC: %02X:%02X:%02X:%02X:%02X:%02X\n",
Firmware[0x36], Firmware[0x37], Firmware[0x38],
Firmware[0x39], Firmware[0x3A], Firmware[0x3B]);
- //*(u16*)&Firmware[0x2A] = CRC16(&Firmware[0x2C], *(u16*)&Firmware[0x2C], 0x0000);
-
// verify shit
printf("FW: WIFI CRC16 = %s\n", VerifyCRC16(0x0000, 0x2C, *(u16*)&Firmware[0x2C], 0x2A)?"GOOD":"BAD");
printf("FW: AP1 CRC16 = %s\n", VerifyCRC16(0x0000, 0x7FA00&FirmwareMask, 0xFE, 0x7FAFE&FirmwareMask)?"GOOD":"BAD");
@@ -241,6 +242,7 @@ void SetupDirectBoot()
u8 GetConsoleType() { return Firmware[0x1D]; }
u8 GetWifiVersion() { return Firmware[0x2F]; }
+u8 GetNWifiVersion() { return Firmware[0x1FD]; } // for DSi; will return 0xFF on a DS
u8 GetRFVersion() { return Firmware[0x40]; }
u8* GetWifiMAC() { return &Firmware[0x36]; }