resolve a fake match

This commit is contained in:
jiangzhengwenjz
2020-01-07 12:09:18 +08:00
parent 1fda78fd0a
commit a7ec7175f1
3 changed files with 7 additions and 10 deletions
+1 -1
View File
@@ -347,7 +347,7 @@ void STWI_set_Callback_M(void *callbackM);
void STWI_set_Callback_S(void (*callbackS)(u16));
void STWI_init_timer(IntrFunc *interrupt, s32 timerSelect);
void AgbRFU_SoftReset(void);
void STWI_set_CallbackUnk(void (*func)(void));
void STWI_set_Callback_ID(void (*func)(void));
u16 STWI_read_status(u8 index);
u16 STWI_poll_CommandEnd(void);
void STWI_send_DataRxREQ(void);
+5 -8
View File
@@ -1455,17 +1455,14 @@ s32 rfu_changeSendTarget(u8 r3, u8 r7, u8 r6)
s32 rfu_NI_stopReceivingData(u8 who)
{
#ifndef NONMATCHING // r4, r5 register swap
register struct NIComm *r5 asm("r5");
#else
struct NIComm *r5;
#endif
u16 r4, r1;
if (who > 3)
return 0x400;
r5 = &gRfuSlotStatusNI[who]->sub.recv;
r4 = REG_IME;
++r4; --r4; // fix r4, r5 register swap
REG_IME = 0;
if (gRfuSlotStatusNI[who]->sub.recv.state & 0x8000)
{
@@ -2227,7 +2224,7 @@ static s32 sub_81E349C(u8 r5)
return -1;
r8 = REG_IE;
gRfuState->state = 10;
STWI_set_CallbackUnk(sub_81E36B8);
STWI_set_Callback_ID(sub_81E36B8);
sub_81E3550();
r4 = &REG_TMCNT_L(gRfuState->timerSelect);
r5 *= 8;
@@ -2248,7 +2245,7 @@ static s32 sub_81E349C(u8 r5)
REG_IE = r8;
REG_IME = 1;
gRfuState->state = 0;
STWI_set_CallbackUnk(NULL);
STWI_set_Callback_ID(NULL);
return r6;
}
@@ -2322,8 +2319,8 @@ static void sub_81E36B8(void)
u32 r5;
u16 r0;
#ifndef NONMATCHING
register u32 r1 asm("a2");
register u16 r0_ asm("a1");
register u32 r1 asm("r1");
register u16 r0_ asm("r0");
#else
u32 r1;
u16 r0_;
+1 -1
View File
@@ -128,7 +128,7 @@ void STWI_set_Callback_S(void (*callbackS)(u16))
gRfuState->callbackS = callbackS;
}
void STWI_set_CallbackUnk(void (*func)(void))
void STWI_set_Callback_ID(void (*func)(void)) // name in SDK, but is actually setting a function pointer
{
gRfuState->unk_20 = func;
}