diff options
Diffstat (limited to 'src/DSi_I2C.cpp')
-rw-r--r-- | src/DSi_I2C.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/DSi_I2C.cpp b/src/DSi_I2C.cpp index faa3d16..76664e5 100644 --- a/src/DSi_I2C.cpp +++ b/src/DSi_I2C.cpp @@ -50,7 +50,7 @@ void Reset() Registers[0x10] = 0x00; // power btn Registers[0x11] = 0x00; // reset Registers[0x12] = 0x00; // power btn tap - Registers[0x20] = 0x83; // battery + Registers[0x20] = 0x8F; // battery Registers[0x21] = 0x07; Registers[0x30] = 0x13; Registers[0x31] = 0x00; // camera power @@ -189,6 +189,8 @@ void WriteCnt(u8 val) case 0x4A: Data = DSi_BPTWL::Read(islast); break; case 0x78: Data = DSi_Camera0->I2C_Read(islast); break; case 0x7A: Data = DSi_Camera1->I2C_Read(islast); break; + case 0xA0: + case 0xE0: Data = 0xFF; break; default: printf("I2C: read on unknown device %02X, cnt=%02X, data=%02X, last=%d\n", Device, val, 0, islast); Data = 0xFF; @@ -213,6 +215,8 @@ void WriteCnt(u8 val) case 0x4A: DSi_BPTWL::Start(); break; case 0x78: DSi_Camera0->I2C_Start(); break; case 0x7A: DSi_Camera1->I2C_Start(); break; + case 0xA0: + case 0xE0: ack = false; break; default: printf("I2C: %s start on unknown device %02X\n", (Data&0x01)?"read":"write", Device); ack = false; @@ -228,6 +232,8 @@ void WriteCnt(u8 val) case 0x4A: DSi_BPTWL::Write(Data, islast); break; case 0x78: DSi_Camera0->I2C_Write(Data, islast); break; case 0x7A: DSi_Camera1->I2C_Write(Data, islast); break; + case 0xA0: + case 0xE0: ack = false; break; default: printf("I2C: write on unknown device %02X, cnt=%02X, data=%02X, last=%d\n", Device, val, Data, islast); ack = false; |