From 1cc9d0eea9a8ca4ff03ff30c2eadacb35557e1d3 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 29 Jan 2020 12:39:54 -0500 Subject: Document link_rfu.c as official SDK linkManager.c --- src/link.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/link.c') diff --git a/src/link.c b/src/link.c index dfb21f126..7ff518297 100644 --- a/src/link.c +++ b/src/link.c @@ -235,7 +235,7 @@ bool8 IsWirelessAdapterConnected(void) sub_800B1F4(); sub_80F86F4(); sub_80FB128(TRUE); - if (sub_80FD3A4() == RFU_ID) + if (rfu_LMAN_REQBN_softReset_and_checkID() == RFU_ID) { rfu_REQ_stopMode(); rfu_waitREQComplete(); -- cgit v1.2.3 From 664fa0130a5381c5f647565a71f8fe248a0ebafa Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 29 Jan 2020 16:10:52 -0500 Subject: More doccing of linkManager --- src/link.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/link.c') diff --git a/src/link.c b/src/link.c index 7ff518297..c5fffcc26 100644 --- a/src/link.c +++ b/src/link.c @@ -721,7 +721,7 @@ void sub_8009FE8(void) { if (gWirelessCommType) { - sub_80F9828(); + StartSendingKeysToRfu(); } gLinkCallback = sub_800A040; } -- cgit v1.2.3 From 8a3eb95ed4c67031efc641fad632782dbe7b46bf Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 29 Jan 2020 16:54:03 -0500 Subject: Yet more documentation of rfu fields and functions --- src/link.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/link.c') diff --git a/src/link.c b/src/link.c index c5fffcc26..f5c850d63 100644 --- a/src/link.c +++ b/src/link.c @@ -1448,7 +1448,7 @@ static void CheckErrorStatus(void) } } -void sub_800ACBC(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, u8 unk_06) +void SetLinkErrorFromRfu(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, u8 unk_06) { sLinkErrorBuffer.status = status; sLinkErrorBuffer.lastSendQueueCount = lastSendQueueCount; @@ -1670,8 +1670,8 @@ bool8 HandleLinkConnection(void) } else { - r4 = sub_80FAE94(); - r5 = sub_80FAEF0(); + r4 = LinkRfuMain1(); + r5 = LinkRfuMain2(); if (sub_8058318() == TRUE) { if (r4 == TRUE || IsRfuRecvQueueEmpty() || r5) -- cgit v1.2.3 From e0d25c32898b1284297159a5d1c1c6422a040150 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 3 Feb 2020 20:09:14 -0500 Subject: Document wireless_communication_status_screen --- src/link.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/link.c') diff --git a/src/link.c b/src/link.c index f5c850d63..69ad29076 100644 --- a/src/link.c +++ b/src/link.c @@ -401,7 +401,7 @@ void CloseLink(void) gReceivedRemoteLinkPlayers = FALSE; if (gWirelessCommType) { - sub_80F8DC0(); + LinkRfu_Shutdown(); } gLinkOpen = FALSE; DisableSerial(); -- cgit v1.2.3 From 4770fac9eb9696236fa998554a353f1f140a1ed4 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 4 Feb 2020 14:16:45 -0500 Subject: More mevent documentation --- src/link.c | 76 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 38 insertions(+), 38 deletions(-) (limited to 'src/link.c') diff --git a/src/link.c b/src/link.c index 69ad29076..2f6d03372 100644 --- a/src/link.c +++ b/src/link.c @@ -82,11 +82,11 @@ u32 gFiller_3003EC0; u16 gLinkHeldKeys; u16 gRecvCmds[MAX_RFU_PLAYERS][CMD_LENGTH]; u32 gLinkStatus; -bool8 gUnknown_3003F24; +bool8 gLinkAllAcked5FFF; bool8 gUnknown_3003F28; -bool8 gUnknown_3003F2C[MAX_LINK_PLAYERS]; -bool8 gUnknown_3003F30[MAX_LINK_PLAYERS]; -u16 gUnknown_3003F34; +bool8 gLinkCommand2FFEAck[MAX_LINK_PLAYERS]; +bool8 gLinkCommand5FFFAck[MAX_LINK_PLAYERS]; +u16 gLinkCmd5FFFparam; u8 gSuppressLinkErrorMessage; bool8 gWirelessCommType; bool8 gSavedLinkPlayerCount; @@ -123,8 +123,8 @@ EWRAM_DATA struct { u8 lastSendQueueCount; u8 unk_06; } sLinkErrorBuffer = {}; -EWRAM_DATA u16 gUnknown_202285C = 0; -EWRAM_DATA void *gUnknown_2022860 = NULL; +static EWRAM_DATA u16 sStartSend5FFFfailures = 0; +static EWRAM_DATA void *sLinkErrorBgTilemapBuffer = NULL; static void InitLocalLinkPlayer(void); static void sub_800978C(void); @@ -142,8 +142,8 @@ static u16 LinkTestCalcBlockChecksum(const u16 *src, u16 size); static void LinkTest_prnthex(u32 pos, u8 a0, u8 a1, u8 a2); static void LinkCB_RequestPlayerDataExchange(void); static void Task_PrintTestData(u8 taskId); -static void sub_800AB0C(void); -static void sub_800AB38(void); +static void LinkCB_BuildCommand5FFF(void); +static void LinkCB_WaitAckCommand5FFF(void); static void sub_800ABD4(void); static void sub_800AC00(void); static void CheckErrorStatus(void); @@ -379,8 +379,8 @@ void OpenLink(void) ResetBlockSend(); gUnknown_3000E4C = 0; gUnknown_3003F28 = FALSE; - gUnknown_3003F24 = FALSE; - gUnknown_3003F34 = 0; + gLinkAllAcked5FFF = FALSE; + gLinkCmd5FFFparam = 0; CreateTask(Task_TriggerHandshake, 2); } else @@ -391,8 +391,8 @@ void OpenLink(void) for (i = 0; i < MAX_LINK_PLAYERS; i++) { gRemoteLinkPlayersNotReceived[i] = TRUE; - gUnknown_3003F30[i] = FALSE; - gUnknown_3003F2C[i] = FALSE; + gLinkCommand5FFFAck[i] = FALSE; + gLinkCommand2FFEAck[i] = FALSE; } } @@ -468,7 +468,7 @@ void LinkTestProcessKeyInput(void) } if (JOY_NEW(SELECT_BUTTON)) { - sub_800AAC0(); + Link_TryStartSend5FFF(); } if (gLinkTestDebugValuesEnabled) { @@ -632,10 +632,10 @@ void ProcessRecvCmds(u8 unused) } break; case LINKCMD_0x5FFF: - gUnknown_3003F30[i] = TRUE; + gLinkCommand5FFFAck[i] = TRUE; break; case LINKCMD_0x2FFE: - gUnknown_3003F2C[i] = TRUE; + gLinkCommand2FFEAck[i] = TRUE; break; case LINKCMD_0xAAAA: sub_800A3CC(); @@ -701,7 +701,7 @@ void BuildSendCmd(u16 command) break; case LINKCMD_0x5FFF: gSendCmd[0] = LINKCMD_0x5FFF; - gSendCmd[1] = gUnknown_3003F34; + gSendCmd[1] = gLinkCmd5FFFparam; break; case LINKCMD_0x5566: gSendCmd[0] = LINKCMD_0x5566; @@ -1312,54 +1312,54 @@ u8 sub_800AA74(void) return gUnknown_3000E50; } -void sub_800AA80(u16 a0) +void Link_StartSend5FFFwithParam(u16 a0) { if (gWirelessCommType == 1) { - task_add_05_task_del_08FA224_when_no_RfuFunc(); + Rfu_BeginBuildAndSendCommand5F(); } else { if (gLinkCallback == NULL) { - gLinkCallback = sub_800AB0C; - gUnknown_3003F24 = FALSE; - gUnknown_3003F34 = a0; + gLinkCallback = LinkCB_BuildCommand5FFF; + gLinkAllAcked5FFF = FALSE; + gLinkCmd5FFFparam = a0; } } } -void sub_800AAC0(void) +void Link_TryStartSend5FFF(void) { if (gWirelessCommType == 1) { - task_add_05_task_del_08FA224_when_no_RfuFunc(); + Rfu_BeginBuildAndSendCommand5F(); } else { if (gLinkCallback != NULL) { - gUnknown_202285C++; + sStartSend5FFFfailures++; } else { - gLinkCallback = sub_800AB0C; - gUnknown_3003F24 = FALSE; - gUnknown_3003F34 = 0; + gLinkCallback = LinkCB_BuildCommand5FFF; + gLinkAllAcked5FFF = FALSE; + gLinkCmd5FFFparam = 0; } } } -static void sub_800AB0C(void) +static void LinkCB_BuildCommand5FFF(void) { if (gLastRecvQueueCount == 0) { BuildSendCmd(LINKCMD_0x5FFF); - gLinkCallback = sub_800AB38; + gLinkCallback = LinkCB_WaitAckCommand5FFF; } } -static void sub_800AB38(void) +static void LinkCB_WaitAckCommand5FFF(void) { int i; unsigned count; @@ -1369,7 +1369,7 @@ static void sub_800AB38(void) count = 0; for (i = 0; i < linkPlayerCount; i++) { - if (gUnknown_3003F30[i]) + if (gLinkCommand5FFFAck[i]) { count++; } @@ -1380,7 +1380,7 @@ static void sub_800AB38(void) gLinkVSyncDisabled = TRUE; CloseLink(); gLinkCallback = NULL; - gUnknown_3003F24 = TRUE; + gLinkAllAcked5FFF = TRUE; } } @@ -1396,7 +1396,7 @@ void sub_800AB9C(void) { gLinkCallback = sub_800ABD4; } - gUnknown_3003F24 = FALSE; + gLinkAllAcked5FFF = FALSE; } } @@ -1417,7 +1417,7 @@ static void sub_800AC00(void) linkPlayerCount = GetLinkPlayerCount(); for (i = 0; i < linkPlayerCount; i++) { - if (!gUnknown_3003F2C[i]) + if (!gLinkCommand2FFEAck[i]) { break; } @@ -1426,7 +1426,7 @@ static void sub_800AC00(void) { for (i = 0; i < MAX_LINK_PLAYERS; i++) { - gUnknown_3003F2C[i] = FALSE; + gLinkCommand2FFEAck[i] = FALSE; } gLinkCallback = NULL; } @@ -1482,7 +1482,7 @@ void CB2_LinkError(void) SetVBlankCallback(sub_800978C); ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, sLinkErrorBgTemplates, 2); - gUnknown_2022860 = tilemapBuffer = malloc(0x800); + sLinkErrorBgTilemapBuffer = tilemapBuffer = malloc(0x800); SetBgTilemapBuffer(1, tilemapBuffer); if (InitWindows(sLinkErrorWindowTemplates)) { @@ -1603,12 +1603,12 @@ static void CB2_PrintErrorMessage(void) bool8 GetSioMultiSI(void) { - return (REG_SIOCNT & 0x04) != 0; + return (REG_SIOCNT & SIO_MULTI_SI) != 0; } static bool8 IsSioMultiMaster(void) { - return (REG_SIOCNT & 0x8) && !(REG_SIOCNT & 0x04); + return (REG_SIOCNT & SIO_MULTI_SD) && !(REG_SIOCNT & SIO_MULTI_SI); } bool8 IsLinkConnectionEstablished(void) -- cgit v1.2.3 From aa4a979334036eb647cef5cd6a4ecd0bcad4b235 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 12 Feb 2020 15:32:14 -0500 Subject: More function documentation in union_room, link, link_rfu_2 --- src/link.c | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'src/link.c') diff --git a/src/link.c b/src/link.c index 2f6d03372..0ff16634d 100644 --- a/src/link.c +++ b/src/link.c @@ -144,11 +144,11 @@ static void LinkCB_RequestPlayerDataExchange(void); static void Task_PrintTestData(u8 taskId); static void LinkCB_BuildCommand5FFF(void); static void LinkCB_WaitAckCommand5FFF(void); -static void sub_800ABD4(void); -static void sub_800AC00(void); +static void LinkFunc_Send2FFE_1(void); +static void LinkFunc_Send2FFE_2(void); static void CheckErrorStatus(void); static void CB2_PrintErrorMessage(void); -static void sub_800B210(void); +static void SetWirelessCommType0(void); static void DisableSerial(void); static void EnableSerial(void); static bool8 IsSioMultiMaster(void); @@ -232,7 +232,7 @@ bool8 IsWirelessAdapterConnected(void) if (gQuestLogState == 2 || gQuestLogState == 3) return FALSE; - sub_800B1F4(); + SetWirelessCommType1(); sub_80F86F4(); sub_80FB128(TRUE); if (rfu_LMAN_REQBN_softReset_and_checkID() == RFU_ID) @@ -241,7 +241,7 @@ bool8 IsWirelessAdapterConnected(void) rfu_waitREQComplete(); return TRUE; } - sub_800B210(); + SetWirelessCommType0(); CloseLink(); RestoreSerialTimer3IntrHandlers(); return FALSE; @@ -613,7 +613,7 @@ void ProcessRecvCmds(u8 unused) linkPlayer->name[9] = 0; linkPlayer->name[8] = 0; } - sub_800B284(linkPlayer); + IntlConvertLinkPlayerName(linkPlayer); if (strcmp(block->magic1, sASCIIGameFreakInc) != 0 || strcmp(block->magic2, sASCIIGameFreakInc) != 0) { @@ -1384,32 +1384,32 @@ static void LinkCB_WaitAckCommand5FFF(void) } } -void sub_800AB9C(void) +void PrepareSendLinkCmd2FFE_or_RfuCmd6600(void) { if (gWirelessCommType == 1) { - sub_80FA42C(); + LinkRfu_SetRfuFuncToSend6600(); } else { if (gLinkCallback == NULL) { - gLinkCallback = sub_800ABD4; + gLinkCallback = LinkFunc_Send2FFE_1; } gLinkAllAcked5FFF = FALSE; } } -static void sub_800ABD4(void) +static void LinkFunc_Send2FFE_1(void) { if (gLastRecvQueueCount == 0) { BuildSendCmd(LINKCMD_0x2FFE); - gLinkCallback = sub_800AC00; + gLinkCallback = LinkFunc_Send2FFE_2; } } -static void sub_800AC00(void) +static void LinkFunc_Send2FFE_2(void) { u8 i; u8 linkPlayerCount; @@ -1477,7 +1477,7 @@ void CB2_LinkError(void) { gWirelessCommType = 3; } - sub_80F85F8(); + ResetLinkRfuGFLayer(); } SetVBlankCallback(sub_800978C); ResetBgsAndClearDma3BusyFlags(0); @@ -1626,7 +1626,7 @@ bool8 HasLinkErrorOccurred(void) return gLinkErrorOccurred; } -void sub_800B0B4(void) +void PrepareLocalLinkPlayerBlock(void) { struct LinkPlayerBlock * block; @@ -1638,7 +1638,7 @@ void sub_800B0B4(void) memcpy(gBlockSendBuffer, block, sizeof(*block)); } -void sub_800B110(u32 who) +void LinkPlayerFromBlock(u32 who) { u8 who_ = who; struct LinkPlayerBlock * block; @@ -1647,7 +1647,7 @@ void sub_800B110(u32 who) block = (struct LinkPlayerBlock *)gBlockRecvBuffer[who_]; player = &gLinkPlayers[who_]; *player = block->linkPlayer; - sub_800B284(player); + IntlConvertLinkPlayerName(player); if (strcmp(block->magic1, sASCIIGameFreakInc) != 0 || strcmp(block->magic2, sASCIIGameFreakInc) != 0) { SetMainCallback2(CB2_LinkError); @@ -1683,7 +1683,7 @@ bool8 HandleLinkConnection(void) return FALSE; } -void sub_800B1F4(void) +void SetWirelessCommType1(void) { if (gReceivedRemoteLinkPlayers == 0) { @@ -1691,7 +1691,7 @@ void sub_800B1F4(void) } } -static void sub_800B210(void) +static void SetWirelessCommType0(void) { if (gReceivedRemoteLinkPlayers == 0) { @@ -1699,7 +1699,7 @@ static void sub_800B210(void) } } -void sub_800B22C(void) +void SetWirelessCommType0_UnusedCopy(void) { if (gReceivedRemoteLinkPlayers == 0) { @@ -1725,7 +1725,7 @@ bool32 sub_800B270(void) return FALSE; } -void sub_800B284(struct LinkPlayer * player) +void IntlConvertLinkPlayerName(struct LinkPlayer * player) { player->name[10] = player->name[8]; ConvertInternationalString(player->name, player->language); -- cgit v1.2.3 From 57c2ea74a81a627aebc700ddf3f04469e3f392fe Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 12 Feb 2020 17:02:45 -0500 Subject: Address review comments --- src/link.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/link.c') diff --git a/src/link.c b/src/link.c index 0ff16634d..26e223153 100644 --- a/src/link.c +++ b/src/link.c @@ -88,8 +88,8 @@ bool8 gLinkCommand2FFEAck[MAX_LINK_PLAYERS]; bool8 gLinkCommand5FFFAck[MAX_LINK_PLAYERS]; u16 gLinkCmd5FFFparam; u8 gSuppressLinkErrorMessage; -bool8 gWirelessCommType; -bool8 gSavedLinkPlayerCount; +u8 gWirelessCommType; +u8 gSavedLinkPlayerCount; u16 gSendCmd[CMD_LENGTH]; u8 gSavedMultiplayerId; bool8 gReceivedRemoteLinkPlayers; @@ -1480,7 +1480,7 @@ void CB2_LinkError(void) ResetLinkRfuGFLayer(); } SetVBlankCallback(sub_800978C); - ResetBgsAndClearDma3BusyFlags(0); + ResetBgsAndClearDma3BusyFlags(FALSE); InitBgsFromTemplates(0, sLinkErrorBgTemplates, 2); sLinkErrorBgTilemapBuffer = tilemapBuffer = malloc(0x800); SetBgTilemapBuffer(1, tilemapBuffer); -- cgit v1.2.3 From 9b9ae3d3374dd61870d47f025ffc0346a0b6839c Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 29 Feb 2020 14:30:01 -0500 Subject: through sub_8080E6C --- src/link.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/link.c') diff --git a/src/link.c b/src/link.c index 26e223153..cb46a50ff 100644 --- a/src/link.c +++ b/src/link.c @@ -796,7 +796,7 @@ u8 GetLinkPlayerDataExchangeStatusTimed(int lower, int upper) if (lower > cmpVal || cmpVal > upper) { sPlayerDataExchangeStatus = EXCHANGE_STAT_6; - return 6; + return EXCHANGE_STAT_6; } else { @@ -1006,15 +1006,15 @@ bool8 SendBlock(u8 unused, const void *src, u16 size) return InitBlockSend(src, size); } -bool8 sub_800A474(u8 a0) +bool8 sub_800A474(u8 blockRequestType) { if (gWirelessCommType == 1) { - return sub_80FA0F8(a0); + return sub_80FA0F8(blockRequestType); } if (gLinkCallback == NULL) { - gBlockRequestType = a0; + gBlockRequestType = blockRequestType; BuildSendCmd(LINKCMD_0xCCCC); return TRUE; } -- cgit v1.2.3