summaryrefslogtreecommitdiff
path: root/src/librfu_intr.c
diff options
context:
space:
mode:
authorluckytyphlosion <10688458+luckytyphlosion@users.noreply.github.com>2021-06-01 20:40:27 -0400
committerluckytyphlosion <10688458+luckytyphlosion@users.noreply.github.com>2021-06-01 20:40:27 -0400
commitf0b41debc35c2084aad6d369eab11a2d2df4ab44 (patch)
tree9b720ab0b617fa207051efc7ff9373669f7dc47b /src/librfu_intr.c
parenta839463c849679974c986bf9c9c260eff0e94cb7 (diff)
parent9f5bf65fb336cf7a3ba68d32267bf993f0f6a494 (diff)
Merge branch 'master' of https://github.com/pret/pokeemerald into remove-temps
Diffstat (limited to 'src/librfu_intr.c')
-rw-r--r--src/librfu_intr.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/librfu_intr.c b/src/librfu_intr.c
index 1361be40e..19ea60b06 100644
--- a/src/librfu_intr.c
+++ b/src/librfu_intr.c
@@ -148,11 +148,7 @@ static void sio32intr_clock_slave(void)
{
u32 regSIODATA32;
u32 r0;
- #ifndef NONMATCHING
- register u32 reqLen asm("r2");
- #else
- u32 reqLen;
- #endif
+ u32 reqLen;
gSTWIStatus->timerActive = 0;
STWI_set_timer_in_RAM(100);
@@ -165,10 +161,14 @@ static void sio32intr_clock_slave(void)
((u32*)gSTWIStatus->rxPacket)[0] = regSIODATA32;
gSTWIStatus->reqNext = 1;
r0 = 0x99660000;
- if ((regSIODATA32 >> 16) == (r0 >> 16))
+ // variable reuse required
+ reqLen = (regSIODATA32 >> 16);
+ if (reqLen == (r0 >> 16))
{
- gSTWIStatus->reqLength = reqLen = regSIODATA32 >> 8;
- gSTWIStatus->reqActiveCommand = regSIODATA32;
+ // only reqLen = regSIODATA32 >> 8 is needed to match, but it looks a bit
+ // more consistent when both lines update the variables. Might have been a macro?
+ gSTWIStatus->reqLength = reqLen = (regSIODATA32 >> 8);
+ gSTWIStatus->reqActiveCommand = reqLen = (regSIODATA32 >> 0);
if (gSTWIStatus->reqLength == 0)
{
if (