link through ResetSerial

This commit is contained in:
PikalaxALT
2019-10-06 21:08:53 -04:00
parent 23d011b04b
commit e73e1172aa
11 changed files with 413 additions and 859 deletions
-831
View File
@@ -5,837 +5,6 @@
.text
thumb_func_start sub_800ACBC
sub_800ACBC: @ 800ACBC
push {r4,lr}
ldr r4, _0800ACD0 @ =sLinkErrorBuffer
str r0, [r4]
strb r1, [r4, 0x5]
strb r2, [r4, 0x4]
strb r3, [r4, 0x6]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0800ACD0: .4byte sLinkErrorBuffer
thumb_func_end sub_800ACBC
thumb_func_start CB2_LinkError
CB2_LinkError: @ 800ACD4
push {r4,lr}
movs r0, 0
movs r1, 0
bl SetGpuReg
ldr r0, _0800ADE0 @ =gMPlayInfo_SE1
bl m4aMPlayStop
ldr r0, _0800ADE4 @ =gMPlayInfo_SE2
bl m4aMPlayStop
ldr r0, _0800ADE8 @ =gMPlayInfo_SE3
bl m4aMPlayStop
ldr r0, _0800ADEC @ =gHeap
movs r1, 0xE0
lsls r1, 9
bl InitHeap
bl ResetSpriteData
bl FreeAllSpritePalettes
bl ResetPaletteFadeControl
movs r0, 0
movs r1, 0
movs r2, 0x2
bl FillPalette
bl ResetTasks
bl ScanlineEffect_Stop
ldr r1, _0800ADF0 @ =gWirelessCommType
ldrb r0, [r1]
cmp r0, 0
beq _0800AD30
ldr r0, _0800ADF4 @ =sLinkErrorBuffer
ldrb r0, [r0, 0x6]
cmp r0, 0
bne _0800AD2C
movs r0, 0x3
strb r0, [r1]
_0800AD2C:
bl sub_80F85F8
_0800AD30:
ldr r0, _0800ADF8 @ =sub_800978C
bl SetVBlankCallback
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, _0800ADFC @ =gUnknown_82345E8
movs r0, 0
movs r2, 0x2
bl InitBgsFromTemplates
ldr r4, _0800AE00 @ =gUnknown_2022860
movs r0, 0x80
lsls r0, 4
bl Alloc
adds r1, r0, 0
str r1, [r4]
movs r0, 0x1
bl SetBgTilemapBuffer
ldr r0, _0800AE04 @ =gUnknown_82345F0
bl InitWindows
lsls r0, 16
cmp r0, 0
beq _0800ADD8
bl DeactivateAllTextPrinters
bl ResetTempTileDataBuffers
movs r0, 0x52
movs r1, 0
bl SetGpuReg
movs r0, 0x10
movs r1, 0
bl SetGpuReg
movs r0, 0x12
movs r1, 0
bl SetGpuReg
movs r0, 0x14
movs r1, 0
bl SetGpuReg
movs r0, 0x16
movs r1, 0
bl SetGpuReg
movs r1, 0xE0
lsls r1, 8
movs r0, 0
bl ClearGpuRegBits
ldr r0, _0800AE08 @ =gTMCaseMainWindowPalette
movs r1, 0xF0
movs r2, 0x20
bl LoadPalette
ldr r1, _0800AE0C @ =gSoftResetDisabled
movs r0, 0
strb r0, [r1]
ldr r0, _0800AE10 @ =Task_DestroySelf
movs r1, 0
bl CreateTask
bl StopMapMusic
ldr r1, _0800AE14 @ =gMain
movs r0, 0
str r0, [r1]
bl RunTasks
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
ldr r0, _0800AE18 @ =sub_800AF2C
bl SetMainCallback2
_0800ADD8:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0800ADE0: .4byte gMPlayInfo_SE1
_0800ADE4: .4byte gMPlayInfo_SE2
_0800ADE8: .4byte gMPlayInfo_SE3
_0800ADEC: .4byte gHeap
_0800ADF0: .4byte gWirelessCommType
_0800ADF4: .4byte sLinkErrorBuffer
_0800ADF8: .4byte sub_800978C
_0800ADFC: .4byte gUnknown_82345E8
_0800AE00: .4byte gUnknown_2022860
_0800AE04: .4byte gUnknown_82345F0
_0800AE08: .4byte gTMCaseMainWindowPalette
_0800AE0C: .4byte gSoftResetDisabled
_0800AE10: .4byte Task_DestroySelf
_0800AE14: .4byte gMain
_0800AE18: .4byte sub_800AF2C
thumb_func_end CB2_LinkError
thumb_func_start sub_800AE1C
sub_800AE1C: @ 800AE1C
push {r4,r5,lr}
sub sp, 0xC
ldr r1, _0800AEB8 @ =gWirelessLinkDisplay4bpp
movs r5, 0
str r5, [sp]
movs r0, 0x1
movs r2, 0
movs r3, 0
bl DecompressAndLoadBgGfxUsingHeap
ldr r1, _0800AEBC @ =gWirelessLinkDisplayBin
movs r0, 0x1
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBuffer
movs r0, 0x1
bl CopyBgTilemapBufferToVram
ldr r0, _0800AEC0 @ =gWirelessLinkDisplayPal
movs r1, 0
movs r2, 0x20
bl LoadPalette
movs r0, 0
movs r1, 0
bl FillWindowPixelBuffer
movs r0, 0x2
movs r1, 0
bl FillWindowPixelBuffer
ldr r4, _0800AEC4 @ =gUnknown_8234610
str r4, [sp]
str r5, [sp, 0x4]
ldr r0, _0800AEC8 @ =gUnknown_841DEF0
str r0, [sp, 0x8]
movs r0, 0
movs r1, 0x3
movs r2, 0x2
movs r3, 0x5
bl AddTextPrinterParameterized3
str r4, [sp]
str r5, [sp, 0x4]
ldr r0, _0800AECC @ =gUnknown_841DF05
str r0, [sp, 0x8]
movs r0, 0x2
movs r1, 0x3
movs r2, 0x2
movs r3, 0x2
bl AddTextPrinterParameterized3
movs r0, 0
bl PutWindowTilemap
movs r0, 0x2
bl PutWindowTilemap
movs r0, 0
movs r1, 0
bl CopyWindowToVram
movs r0, 0x2
movs r1, 0x3
bl CopyWindowToVram
movs r0, 0
bl ShowBg
movs r0, 0x1
bl ShowBg
add sp, 0xC
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0800AEB8: .4byte gWirelessLinkDisplay4bpp
_0800AEBC: .4byte gWirelessLinkDisplayBin
_0800AEC0: .4byte gWirelessLinkDisplayPal
_0800AEC4: .4byte gUnknown_8234610
_0800AEC8: .4byte gUnknown_841DEF0
_0800AECC: .4byte gUnknown_841DF05
thumb_func_end sub_800AE1C
thumb_func_start sub_800AED0
sub_800AED0: @ 800AED0
push {lr}
sub sp, 0xC
movs r0, 0x1
movs r1, 0
bl FillWindowPixelBuffer
movs r0, 0x2
movs r1, 0
bl FillWindowPixelBuffer
ldr r0, _0800AF24 @ =gUnknown_8234610
str r0, [sp]
movs r0, 0
str r0, [sp, 0x4]
ldr r0, _0800AF28 @ =gUnknown_841DE9D
str r0, [sp, 0x8]
movs r0, 0x1
movs r1, 0x3
movs r2, 0x2
movs r3, 0
bl AddTextPrinterParameterized3
movs r0, 0x1
bl PutWindowTilemap
movs r0, 0x2
bl PutWindowTilemap
movs r0, 0x1
movs r1, 0
bl CopyWindowToVram
movs r0, 0x2
movs r1, 0x3
bl CopyWindowToVram
movs r0, 0
bl ShowBg
add sp, 0xC
pop {r0}
bx r0
.align 2, 0
_0800AF24: .4byte gUnknown_8234610
_0800AF28: .4byte gUnknown_841DE9D
thumb_func_end sub_800AED0
thumb_func_start sub_800AF2C
sub_800AF2C: @ 800AF2C
push {r4,lr}
sub sp, 0xC
ldr r0, _0800AF4C @ =gMain
movs r1, 0x87
lsls r1, 3
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x3C
beq _0800AF72
cmp r0, 0x3C
bgt _0800AF50
cmp r0, 0
beq _0800AF5A
cmp r0, 0x1E
beq _0800AF72
b _0800AFC4
.align 2, 0
_0800AF4C: .4byte gMain
_0800AF50:
cmp r0, 0x5A
beq _0800AF72
cmp r0, 0x82
beq _0800AF7A
b _0800AFC4
_0800AF5A:
ldr r0, _0800AF68 @ =sLinkErrorBuffer
ldrb r0, [r0, 0x6]
cmp r0, 0
beq _0800AF6C
bl sub_800AE1C
b _0800AFC4
.align 2, 0
_0800AF68: .4byte sLinkErrorBuffer
_0800AF6C:
bl sub_800AED0
b _0800AFC4
_0800AF72:
movs r0, 0x16
bl PlaySE
b _0800AFC4
_0800AF7A:
ldr r0, _0800AF9C @ =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0x2
bne _0800AFA8
ldr r0, _0800AFA0 @ =gUnknown_8234610
str r0, [sp]
movs r0, 0
str r0, [sp, 0x4]
ldr r0, _0800AFA4 @ =gUnknown_841DF6B
str r0, [sp, 0x8]
movs r0, 0
movs r1, 0x3
movs r2, 0x2
movs r3, 0x14
bl AddTextPrinterParameterized3
b _0800AFC4
.align 2, 0
_0800AF9C: .4byte gWirelessCommType
_0800AFA0: .4byte gUnknown_8234610
_0800AFA4: .4byte gUnknown_841DF6B
_0800AFA8:
cmp r0, 0x1
bne _0800AFC4
ldr r0, _0800AFFC @ =gUnknown_8234610
str r0, [sp]
movs r0, 0
str r0, [sp, 0x4]
ldr r0, _0800B000 @ =gUnknown_841DF4C
str r0, [sp, 0x8]
movs r0, 0
movs r1, 0x3
movs r2, 0x2
movs r3, 0x14
bl AddTextPrinterParameterized3
_0800AFC4:
ldr r0, _0800B004 @ =gMain
movs r2, 0x87
lsls r2, 3
adds r1, r0, r2
ldrb r1, [r1]
cmp r1, 0xA0
bne _0800B03C
ldr r4, _0800B008 @ =gWirelessCommType
ldrb r2, [r4]
cmp r2, 0x1
bne _0800B010
ldrh r0, [r0, 0x2E]
ands r2, r0
cmp r2, 0
beq _0800B02E
bl sub_812B484
movs r0, 0x15
bl PlaySE
movs r0, 0
strb r0, [r4]
ldr r1, _0800B00C @ =sLinkErrorBuffer
movs r0, 0
strb r0, [r1, 0x6]
bl sub_8079B7C
b _0800B02E
.align 2, 0
_0800AFFC: .4byte gUnknown_8234610
_0800B000: .4byte gUnknown_841DF4C
_0800B004: .4byte gMain
_0800B008: .4byte gWirelessCommType
_0800B00C: .4byte sLinkErrorBuffer
_0800B010:
cmp r2, 0x2
bne _0800B02E
ldrh r1, [r0, 0x2E]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _0800B02E
bl sub_812B484
bl rfu_REQ_stopMode
bl rfu_waitREQComplete
bl DoSoftReset
_0800B02E:
ldr r0, _0800B050 @ =gMain
movs r2, 0x87
lsls r2, 3
adds r1, r0, r2
ldrb r1, [r1]
cmp r1, 0xA0
beq _0800B048
_0800B03C:
movs r2, 0x87
lsls r2, 3
adds r1, r0, r2
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
_0800B048:
add sp, 0xC
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0800B050: .4byte gMain
thumb_func_end sub_800AF2C
thumb_func_start GetSioMultiSI
GetSioMultiSI: @ 800B054
ldr r0, _0800B060 @ =0x04000128
ldrh r0, [r0]
lsrs r0, 2
movs r1, 0x1
ands r0, r1
bx lr
.align 2, 0
_0800B060: .4byte 0x04000128
thumb_func_end GetSioMultiSI
thumb_func_start IsSioMultiMaster
IsSioMultiMaster: @ 800B064
push {lr}
movs r3, 0
ldr r2, _0800B088 @ =0x04000128
ldrh r1, [r2]
movs r0, 0x8
ands r0, r1
cmp r0, 0
beq _0800B080
ldrh r1, [r2]
movs r0, 0x4
ands r0, r1
cmp r0, 0
bne _0800B080
movs r3, 0x1
_0800B080:
adds r0, r3, 0
pop {r1}
bx r1
.align 2, 0
_0800B088: .4byte 0x04000128
thumb_func_end IsSioMultiMaster
thumb_func_start IsLinkConnectionEstablished
IsLinkConnectionEstablished: @ 800B08C
ldr r0, _0800B098 @ =gLinkStatus
ldr r0, [r0]
lsrs r0, 6
movs r1, 0x1
ands r0, r1
bx lr
.align 2, 0
_0800B098: .4byte gLinkStatus
thumb_func_end IsLinkConnectionEstablished
thumb_func_start SetSuppressLinkErrorMessage
SetSuppressLinkErrorMessage: @ 800B09C
ldr r1, _0800B0A4 @ =gSuppressLinkErrorMessage
strb r0, [r1]
bx lr
.align 2, 0
_0800B0A4: .4byte gSuppressLinkErrorMessage
thumb_func_end SetSuppressLinkErrorMessage
thumb_func_start HasLinkErrorOccurred
HasLinkErrorOccurred: @ 800B0A8
ldr r0, _0800B0B0 @ =gLinkErrorOccurred
ldrb r0, [r0]
bx lr
.align 2, 0
_0800B0B0: .4byte gLinkErrorOccurred
thumb_func_end HasLinkErrorOccurred
thumb_func_start sub_800B0B4
sub_800B0B4: @ 800B0B4
push {r4-r6,lr}
bl InitLocalLinkPlayer
ldr r1, _0800B100 @ =gLocalLinkPlayerBlock
adds r2, r1, 0
adds r2, 0x10
ldr r0, _0800B104 @ =gLocalLinkPlayer
ldm r0!, {r3-r5}
stm r2!, {r3-r5}
ldm r0!, {r3,r4,r6}
stm r2!, {r3,r4,r6}
ldr r0, [r0]
str r0, [r2]
ldr r3, _0800B108 @ =gASCIIGameFreakInc
adds r2, r1, 0
adds r0, r3, 0
ldm r0!, {r4-r6}
stm r2!, {r4-r6}
ldrh r4, [r0]
strh r4, [r2]
ldrb r0, [r0, 0x2]
strb r0, [r2, 0x2]
adds r0, r1, 0
adds r0, 0x2C
ldm r3!, {r2,r5,r6}
stm r0!, {r2,r5,r6}
ldrh r2, [r3]
strh r2, [r0]
ldrb r2, [r3, 0x2]
strb r2, [r0, 0x2]
ldr r0, _0800B10C @ =gBlockSendBuffer
movs r2, 0x3C
bl memcpy
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0800B100: .4byte gLocalLinkPlayerBlock
_0800B104: .4byte gLocalLinkPlayer
_0800B108: .4byte gASCIIGameFreakInc
_0800B10C: .4byte gBlockSendBuffer
thumb_func_end sub_800B0B4
thumb_func_start sub_800B110
sub_800B110: @ 800B110
push {r4-r6,lr}
lsls r0, 24
lsrs r0, 24
lsls r2, r0, 8
ldr r1, _0800B168 @ =gBlockRecvBuffer
adds r4, r2, r1
lsls r2, r0, 3
subs r2, r0
lsls r2, 2
ldr r0, _0800B16C @ =gLinkPlayers
adds r2, r0
adds r1, r2, 0
adds r0, r4, 0
adds r0, 0x10
ldm r0!, {r3,r5,r6}
stm r1!, {r3,r5,r6}
ldm r0!, {r3,r5,r6}
stm r1!, {r3,r5,r6}
ldr r0, [r0]
str r0, [r1]
adds r0, r2, 0
bl sub_800B284
ldr r5, _0800B170 @ =gASCIIGameFreakInc
adds r0, r4, 0
adds r1, r5, 0
bl strcmp
cmp r0, 0
bne _0800B15A
adds r0, r4, 0
adds r0, 0x2C
adds r1, r5, 0
bl strcmp
cmp r0, 0
beq _0800B160
_0800B15A:
ldr r0, _0800B174 @ =CB2_LinkError
bl SetMainCallback2
_0800B160:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0800B168: .4byte gBlockRecvBuffer
_0800B16C: .4byte gLinkPlayers
_0800B170: .4byte gASCIIGameFreakInc
_0800B174: .4byte CB2_LinkError
thumb_func_end sub_800B110
thumb_func_start HandleLinkConnection
HandleLinkConnection: @ 800B178
push {r4,r5,lr}
ldr r0, _0800B1B0 @ =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _0800B1C8
ldr r0, _0800B1B4 @ =gShouldAdvanceLinkState
ldr r1, _0800B1B8 @ =gSendCmd
ldr r2, _0800B1BC @ =gRecvCmds
bl LinkMain1
ldr r4, _0800B1C0 @ =gLinkStatus
str r0, [r4]
ldr r0, _0800B1C4 @ =gMain + 0x2C
bl LinkMain2
ldr r0, [r4]
movs r1, 0x80
lsls r1, 1
ands r0, r1
cmp r0, 0
beq _0800B1EC
bl sub_8058318
cmp r0, 0x1
bne _0800B1EC
_0800B1AA:
movs r0, 0x1
b _0800B1EE
.align 2, 0
_0800B1B0: .4byte gWirelessCommType
_0800B1B4: .4byte gShouldAdvanceLinkState
_0800B1B8: .4byte gSendCmd
_0800B1BC: .4byte gRecvCmds
_0800B1C0: .4byte gLinkStatus
_0800B1C4: .4byte gMain + 0x2C
_0800B1C8:
bl sub_80FAE94
adds r4, r0, 0
bl sub_80FAEF0
adds r5, r0, 0
bl sub_8058318
cmp r0, 0x1
bne _0800B1EC
cmp r4, 0x1
beq _0800B1AA
bl sub_80F90DC
cmp r0, 0
bne _0800B1AA
cmp r5, 0
bne _0800B1AA
_0800B1EC:
movs r0, 0
_0800B1EE:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end HandleLinkConnection
thumb_func_start sub_800B1F4
sub_800B1F4: @ 800B1F4
push {lr}
ldr r0, _0800B208 @ =gReceivedRemoteLinkPlayers
ldrb r0, [r0]
cmp r0, 0
bne _0800B204
ldr r1, _0800B20C @ =gWirelessCommType
movs r0, 0x1
strb r0, [r1]
_0800B204:
pop {r0}
bx r0
.align 2, 0
_0800B208: .4byte gReceivedRemoteLinkPlayers
_0800B20C: .4byte gWirelessCommType
thumb_func_end sub_800B1F4
thumb_func_start sub_800B210
sub_800B210: @ 800B210
push {lr}
ldr r0, _0800B224 @ =gReceivedRemoteLinkPlayers
ldrb r1, [r0]
cmp r1, 0
bne _0800B21E
ldr r0, _0800B228 @ =gWirelessCommType
strb r1, [r0]
_0800B21E:
pop {r0}
bx r0
.align 2, 0
_0800B224: .4byte gReceivedRemoteLinkPlayers
_0800B228: .4byte gWirelessCommType
thumb_func_end sub_800B210
thumb_func_start sub_800B22C
sub_800B22C: @ 800B22C
push {lr}
ldr r0, _0800B240 @ =gReceivedRemoteLinkPlayers
ldrb r1, [r0]
cmp r1, 0
bne _0800B23A
ldr r0, _0800B244 @ =gWirelessCommType
strb r1, [r0]
_0800B23A:
pop {r0}
bx r0
.align 2, 0
_0800B240: .4byte gReceivedRemoteLinkPlayers
_0800B244: .4byte gWirelessCommType
thumb_func_end sub_800B22C
thumb_func_start sub_800B248
sub_800B248: @ 800B248
push {lr}
ldr r0, _0800B25C @ =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _0800B268
ldr r0, _0800B260 @ =gLink
ldr r1, _0800B264 @ =0x00000fbd
adds r0, r1
ldrb r0, [r0]
b _0800B26C
.align 2, 0
_0800B25C: .4byte gWirelessCommType
_0800B260: .4byte gLink
_0800B264: .4byte 0x00000fbd
_0800B268:
bl sub_80FC460
_0800B26C:
pop {r1}
bx r1
thumb_func_end sub_800B248
thumb_func_start sub_800B270
sub_800B270: @ 800B270
push {lr}
bl sub_800B248
cmp r0, 0x2
bhi _0800B27E
movs r0, 0
b _0800B280
_0800B27E:
movs r0, 0x1
_0800B280:
pop {r1}
bx r1
thumb_func_end sub_800B270
thumb_func_start sub_800B284
sub_800B284: @ 800B284
push {lr}
ldrb r1, [r0, 0x10]
strb r1, [r0, 0x12]
adds r2, r0, 0
adds r2, 0x8
ldrb r1, [r0, 0x1A]
adds r0, r2, 0
bl ConvertInternationalString
pop {r0}
bx r0
thumb_func_end sub_800B284
thumb_func_start DisableSerial
DisableSerial: @ 800B29C
push {lr}
sub sp, 0x4
movs r0, 0xC0
bl DisableInterrupts
ldr r1, _0800B2DC @ =0x04000128
movs r2, 0x80
lsls r2, 6
adds r0, r2, 0
strh r0, [r1]
ldr r0, _0800B2E0 @ =0x0400010e
movs r2, 0
strh r2, [r0]
adds r1, 0xDA
movs r0, 0xC0
strh r0, [r1]
ldr r0, _0800B2E4 @ =0x0400012a
strh r2, [r0]
ldr r2, _0800B2E8 @ =0x04000120
movs r0, 0
movs r1, 0
str r0, [r2]
str r1, [r2, 0x4]
str r0, [sp]
ldr r1, _0800B2EC @ =gLink
ldr r2, _0800B2F0 @ =0x050003f0
mov r0, sp
bl CpuSet
add sp, 0x4
pop {r0}
bx r0
.align 2, 0
_0800B2DC: .4byte 0x04000128
_0800B2E0: .4byte 0x0400010e
_0800B2E4: .4byte 0x0400012a
_0800B2E8: .4byte 0x04000120
_0800B2EC: .4byte gLink
_0800B2F0: .4byte 0x050003f0
thumb_func_end DisableSerial
thumb_func_start EnableSerial
EnableSerial: @ 800B2F4
push {r4,r5,lr}
sub sp, 0x4
movs r0, 0xC0
bl DisableInterrupts
ldr r0, _0800B354 @ =0x04000134
movs r4, 0
strh r4, [r0]
ldr r2, _0800B358 @ =0x04000128
movs r1, 0x80
lsls r1, 6
adds r0, r1, 0
strh r0, [r2]
ldrh r0, [r2]
ldr r3, _0800B35C @ =0x00004003
adds r1, r3, 0
orrs r0, r1
strh r0, [r2]
movs r0, 0x80
bl EnableInterrupts
ldr r0, _0800B360 @ =0x0400012a
strh r4, [r0]
movs r5, 0
str r5, [sp]
ldr r1, _0800B364 @ =gLink
ldr r2, _0800B368 @ =0x050003f0
mov r0, sp
bl CpuSet
ldr r0, _0800B36C @ =sNumVBlanksWithoutSerialIntr
strb r4, [r0]
ldr r0, _0800B370 @ =sSendNonzeroCheck
strh r5, [r0]
ldr r0, _0800B374 @ =sRecvNonzeroCheck
strh r5, [r0]
ldr r0, _0800B378 @ =sChecksumAvailable
strb r4, [r0]
ldr r0, _0800B37C @ =sHandshakePlayerCount
strb r4, [r0]
ldr r0, _0800B380 @ =gLastSendQueueCount
strb r4, [r0]
ldr r0, _0800B384 @ =gLastRecvQueueCount
strb r4, [r0]
add sp, 0x4
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0800B354: .4byte 0x04000134
_0800B358: .4byte 0x04000128
_0800B35C: .4byte 0x00004003
_0800B360: .4byte 0x0400012a
_0800B364: .4byte gLink
_0800B368: .4byte 0x050003f0
_0800B36C: .4byte sNumVBlanksWithoutSerialIntr
_0800B370: .4byte sSendNonzeroCheck
_0800B374: .4byte sRecvNonzeroCheck
_0800B378: .4byte sChecksumAvailable
_0800B37C: .4byte sHandshakePlayerCount
_0800B380: .4byte gLastSendQueueCount
_0800B384: .4byte gLastRecvQueueCount
thumb_func_end EnableSerial
thumb_func_start ResetSerial
ResetSerial: @ 800B388
push {lr}
bl EnableSerial
bl DisableSerial
pop {r0}
bx r0
thumb_func_end ResetSerial
thumb_func_start LinkMain1
LinkMain1: @ 800B398
push {r4-r7,lr}
+7 -7
View File
@@ -1360,8 +1360,8 @@ _080F90D4: .4byte 0x000008d4
_080F90D8: .4byte 0x000008f2
thumb_func_end sub_80F906C
thumb_func_start sub_80F90DC
sub_80F90DC: @ 80F90DC
thumb_func_start IsRfuRecvQueueEmpty
IsRfuRecvQueueEmpty: @ 80F90DC
push {r4,lr}
ldr r0, _080F90EC @ =gUnknown_3007460
ldr r0, [r0]
@@ -1398,7 +1398,7 @@ _080F9110:
bx r1
.align 2, 0
_080F9118: .4byte gRecvCmds
thumb_func_end sub_80F90DC
thumb_func_end IsRfuRecvQueueEmpty
thumb_func_start sub_80F911C
sub_80F911C: @ 80F911C
@@ -2029,7 +2029,7 @@ _080F9618:
cmp r1, 0x6
bls _080F9618
_080F9628:
bl sub_80F90DC
bl IsRfuRecvQueueEmpty
add sp, 0x58
pop {r3}
mov r8, r3
@@ -8105,8 +8105,8 @@ _080FC458: .4byte gUnknown_3005450
_080FC45C: .4byte 0x000008d2
thumb_func_end sub_80FC44C
thumb_func_start sub_80FC460
sub_80FC460: @ 80FC460
thumb_func_start GetRfuRecvQueueLength
GetRfuRecvQueueLength: @ 80FC460
ldr r0, _080FC46C @ =gUnknown_3005450
ldr r1, _080FC470 @ =0x0000069e
adds r0, r1
@@ -8115,7 +8115,7 @@ sub_80FC460: @ 80FC460
.align 2, 0
_080FC46C: .4byte gUnknown_3005450
_080FC470: .4byte 0x0000069e
thumb_func_end sub_80FC460
thumb_func_end GetRfuRecvQueueLength
thumb_func_start nullsub_89
nullsub_89: @ 80FC474
+5 -5
View File
@@ -5640,7 +5640,7 @@ c1_link_related: @ 8057884
ldrb r0, [r0]
cmp r0, 0
beq _0805789E
bl sub_80F90DC
bl IsRfuRecvQueueEmpty
cmp r0, 0
beq _0805789E
bl IsSendingKeysToLink
@@ -6289,7 +6289,7 @@ sub_8057D5C: @ 8057D5C
movs r0, 0x11
b _08057D92
_08057D70:
bl sub_800B248
bl GetLinkRecvQueueLength
cmp r0, 0x4
bls _08057D7C
movs r0, 0x1B
@@ -6344,7 +6344,7 @@ _08057DC4: .4byte sub_8057D98
thumb_func_start sub_8057DC8
sub_8057DC8: @ 8057DC8
push {r4,lr}
bl sub_800B248
bl GetLinkRecvQueueLength
movs r4, 0x11
cmp r0, 0x2
bhi _08057DE0
@@ -6982,7 +6982,7 @@ sub_8058244: @ 8058244
movs r0, 0
b _0805826C
_08058252:
bl sub_800B248
bl GetLinkRecvQueueLength
cmp r0, 0x2
bls _08058264
ldr r1, _08058260 @ =gUnknown_3000E88
@@ -7006,7 +7006,7 @@ _08058270: .4byte gUnknown_3000E88
thumb_func_start sub_8058274
sub_8058274: @ 8058274
push {lr}
bl sub_800B248
bl GetLinkRecvQueueLength
cmp r0, 0x1
bls _080582D8
bl IsUpdateLinkStateCBActive