summaryrefslogtreecommitdiff
path: root/asm/link.s
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2019-10-06 21:08:53 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2019-10-06 21:08:53 -0400
commite73e1172aa2bfa52b5fd5bcf89cd7b12decf5676 (patch)
tree066cc182661833df786c64fd386be934ebd00233 /asm/link.s
parent23d011b04b641a4b3dc7cf92898fc60d6377e82f (diff)
link through ResetSerial
Diffstat (limited to 'asm/link.s')
-rw-r--r--asm/link.s831
1 files changed, 0 insertions, 831 deletions
diff --git a/asm/link.s b/asm/link.s
index b0de10227..4b5b0e6b5 100644
--- a/asm/link.s
+++ b/asm/link.s
@@ -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}