MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / SIEnablePollingInterrupt

Function SIEnablePollingInterrupt

src/dolphin/src/si/SIBios.c:247–273  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

245}
246
247static BOOL SIEnablePollingInterrupt(BOOL enable)
248{
249 BOOL enabled;
250 BOOL rc;
251 u32 reg;
252 int i;
253
254 enabled = OSDisableInterrupts();
255 reg = __SIRegs[13];
256 rc = (reg & 0x08000000) ? TRUE : FALSE;
257 if (enable)
258 {
259 reg |= 0x08000000;
260 for (i = 0; i < SI_MAX_CHAN; ++i)
261 {
262 InputBufferVcount[i] = 0;
263 }
264 }
265 else
266 {
267 reg &= ~0x08000000;
268 }
269 reg &= ~0x80000001;
270 __SIRegs[13] = reg;
271 OSRestoreInterrupts(enabled);
272 return rc;
273}
274
275BOOL SIRegisterPollingHandler(__OSInterruptHandler handler)
276{

Callers 2

SIRegisterPollingHandlerFunction · 0.85

Calls 1

OSDisableInterruptsFunction · 0.85

Tested by

no test coverage detected