mirror of
https://github.com/d0k3/GodMode9.git
synced 2025-06-26 13:42:47 +00:00
Remove delays on I2C reads
... strangely seems to fix NDS cart inits
This commit is contained in:
parent
b9eea8e92b
commit
102ad45905
@ -88,7 +88,6 @@ u8 i2cReadRegister(u8 dev_id, u8 reg) {
|
|||||||
i2cWaitBusy(bus_id);
|
i2cWaitBusy(bus_id);
|
||||||
i2cStop(bus_id, 1);
|
i2cStop(bus_id, 1);
|
||||||
i2cWaitBusy(bus_id);
|
i2cWaitBusy(bus_id);
|
||||||
wait_msec(3ULL);
|
|
||||||
return *i2cGetDataReg(bus_id);
|
return *i2cGetDataReg(bus_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -96,7 +95,6 @@ u8 i2cReadRegister(u8 dev_id, u8 reg) {
|
|||||||
i2cWaitBusy(bus_id);
|
i2cWaitBusy(bus_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
wait_msec(3ULL);
|
|
||||||
return 0xff;
|
return 0xff;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -112,11 +110,9 @@ bool i2cReadRegisterBuffer(unsigned int dev_id, int reg, u8* buffer, size_t buf_
|
|||||||
i2cWaitBusy(bus_id);
|
i2cWaitBusy(bus_id);
|
||||||
*i2cGetCntReg(bus_id) = 0xC5;
|
*i2cGetCntReg(bus_id) = 0xC5;
|
||||||
i2cWaitBusy(bus_id);
|
i2cWaitBusy(bus_id);
|
||||||
if (++j >= 8) {
|
if (++j >= 8)
|
||||||
wait_msec(3ULL);
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (buf_size != 1) {
|
if (buf_size != 1) {
|
||||||
for (size_t i = 0; i < buf_size - 1; i++) {
|
for (size_t i = 0; i < buf_size - 1; i++) {
|
||||||
@ -132,7 +128,6 @@ bool i2cReadRegisterBuffer(unsigned int dev_id, int reg, u8* buffer, size_t buf_
|
|||||||
i2cWaitBusy(bus_id);
|
i2cWaitBusy(bus_id);
|
||||||
buffer[buf_size - 1] = *i2cGetDataReg(bus_id);
|
buffer[buf_size - 1] = *i2cGetDataReg(bus_id);
|
||||||
|
|
||||||
wait_msec(3ULL);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -140,6 +135,7 @@ bool i2cWriteRegister(u8 dev_id, u8 reg, u8 data) {
|
|||||||
u8 bus_id = i2cGetDeviceBusId(dev_id);
|
u8 bus_id = i2cGetDeviceBusId(dev_id);
|
||||||
u8 dev_addr = i2cGetDeviceRegAddr(dev_id);
|
u8 dev_addr = i2cGetDeviceRegAddr(dev_id);
|
||||||
|
|
||||||
|
wait_msec(3ULL);
|
||||||
for (int i = 0; i < 8; i++) {
|
for (int i = 0; i < 8; i++) {
|
||||||
if (i2cSelectDevice(bus_id, dev_addr) && i2cSelectRegister(bus_id, reg)) {
|
if (i2cSelectDevice(bus_id, dev_addr) && i2cSelectRegister(bus_id, reg)) {
|
||||||
i2cWaitBusy(bus_id);
|
i2cWaitBusy(bus_id);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user