From 9468b04713224f1d28b770ae6e0c2c4ca592973f Mon Sep 17 00:00:00 2001 From: TheLastRar Date: Tue, 5 Jan 2021 23:26:57 +0000 Subject: [PATCH] DEV9: adjusted logic for loading default MAC Now a little less confusing --- pcsx2/DEV9/net.cpp | 8 +++++--- pcsx2/DEV9/net.h | 6 ++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/pcsx2/DEV9/net.cpp b/pcsx2/DEV9/net.cpp index 5ca4eb725d..d295a8cc76 100644 --- a/pcsx2/DEV9/net.cpp +++ b/pcsx2/DEV9/net.cpp @@ -86,16 +86,18 @@ void TermNet() NetAdapter::NetAdapter() { //Ensure eeprom matches our default - SetMACAddress(ps2MAC); + SetMACAddress(nullptr); } void NetAdapter::SetMACAddress(u8* mac) { - if (ps2MAC != mac) + if (mac == nullptr) + memcpy(ps2MAC, defaultMAC, 6); + else memcpy(ps2MAC, mac, 6); for (int i = 0; i < 3; i++) - dev9.eeprom[i] = ((u16*)mac)[i]; + dev9.eeprom[i] = ((u16*)ps2MAC)[i]; //The checksum seems to be all the values of the mac added up in 16bit chunks dev9.eeprom[3] = (dev9.eeprom[0] + dev9.eeprom[1] + dev9.eeprom[2]) & 0xffff; diff --git a/pcsx2/DEV9/net.h b/pcsx2/DEV9/net.h index 62507d18d5..f5cd3f69d9 100644 --- a/pcsx2/DEV9/net.h +++ b/pcsx2/DEV9/net.h @@ -17,6 +17,9 @@ #include #include //uh isnt memcpy @ stdlib ? +// first three recognized by Xlink as Sony PS2 +const u8 defaultMAC[6] = {0x00, 0x04, 0x1F, 0x82, 0x30, 0x31}; + struct NetPacket { NetPacket() { size = 0; } @@ -37,8 +40,7 @@ extern mtfifo tx_fifo; class NetAdapter { protected: - // first three recognized by Xlink as Sony PS2 - u8 ps2MAC[6] = {0x00, 0x04, 0x1F, 0x82, 0x30, 0x31}; + u8 ps2MAC[6]; public: NetAdapter();