aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArisotura <thetotalworm@gmail.com>2019-06-19 16:56:58 +0200
committerArisotura <thetotalworm@gmail.com>2019-06-19 16:56:58 +0200
commitb03e81edc84e191d9bda87555e9ae190de60b032 (patch)
treecd936ed51fe7f2462090ffb646d8298435694aba
parentd5a7c0bab8b700477e36932ca62fae28d2518ee9 (diff)
add consoleID registers
-rw-r--r--src/DSi.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/DSi.cpp b/src/DSi.cpp
index fd58872..b0c1ceb 100644
--- a/src/DSi.cpp
+++ b/src/DSi.cpp
@@ -1053,6 +1053,16 @@ u8 ARM7IORead8(u32 addr)
case 0x04004500: return DSi_I2C::ReadData();
case 0x04004501: printf("read I2C CNT %02X\n", DSi_I2C::Cnt); return DSi_I2C::Cnt;
+
+ case 0x04004D00: return ConsoleID & 0xFF;
+ case 0x04004D01: return (ConsoleID >> 8) & 0xFF;
+ case 0x04004D02: return (ConsoleID >> 16) & 0xFF;
+ case 0x04004D03: return (ConsoleID >> 24) & 0xFF;
+ case 0x04004D04: return (ConsoleID >> 32) & 0xFF;
+ case 0x04004D05: return (ConsoleID >> 40) & 0xFF;
+ case 0x04004D06: return (ConsoleID >> 48) & 0xFF;
+ case 0x04004D07: return ConsoleID >> 56;
+ case 0x04004D08: return 0;
}
return NDS::ARM7IORead8(addr);
@@ -1067,6 +1077,12 @@ u16 ARM7IORead16(u32 addr)
case 0x04004004: return 0x0187;
case 0x04004006: return 0; // JTAG register
+
+ case 0x04004D00: return ConsoleID & 0xFFFF;
+ case 0x04004D02: return (ConsoleID >> 16) & 0xFFFF;
+ case 0x04004D04: return (ConsoleID >> 32) & 0xFFFF;
+ case 0x04004D06: return ConsoleID >> 48;
+ case 0x04004D08: return 0;
}
if (addr >= 0x04004800 && addr < 0x04004A00)
@@ -1122,6 +1138,10 @@ u32 ARM7IORead32(u32 addr)
case 0x04004400: return DSi_AES::ReadCnt();
case 0x0400440C: return DSi_AES::ReadOutputFIFO();
+
+ case 0x04004D00: return ConsoleID & 0xFFFFFFFF;
+ case 0x04004D04: return ConsoleID >> 32;
+ case 0x04004D08: return 0;
}
if (addr >= 0x04004800 && addr < 0x04004A00)