diff options
author | Arisotura <thetotalworm@gmail.com> | 2019-06-19 16:56:58 +0200 |
---|---|---|
committer | Arisotura <thetotalworm@gmail.com> | 2019-06-19 16:56:58 +0200 |
commit | b03e81edc84e191d9bda87555e9ae190de60b032 (patch) | |
tree | cd936ed51fe7f2462090ffb646d8298435694aba | |
parent | d5a7c0bab8b700477e36932ca62fae28d2518ee9 (diff) |
add consoleID registers
-rw-r--r-- | src/DSi.cpp | 20 |
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) |