Finish porting link_rfu_2
This commit is contained in:
-4661
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -5722,7 +5722,7 @@ sub_8057910: @ 8057910
|
|||||||
lsrs r0, 24
|
lsrs r0, 24
|
||||||
cmp r0, 0x3C
|
cmp r0, 0x3C
|
||||||
bls _0805792E
|
bls _0805792E
|
||||||
bl sub_80FA190
|
bl LinkRfu_FatalError
|
||||||
_0805792E:
|
_0805792E:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
bx r0
|
bx r0
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
gUnknown_3005440
|
||||||
|
Rfu
|
||||||
|
gUnknown_3005E00
|
||||||
@@ -6,48 +6,3 @@
|
|||||||
.section .rodata
|
.section .rodata
|
||||||
.align 2
|
.align 2
|
||||||
|
|
||||||
.align 2
|
|
||||||
gUnknown_843EDE4:: @ 843EDE4
|
|
||||||
.asciz "PokemonSioInfo"
|
|
||||||
|
|
||||||
.byte 0, 1, 7, 0x14, 0xFF
|
|
||||||
|
|
||||||
.align 2
|
|
||||||
gUnknown_843EDF8:: @ 843EDF8
|
|
||||||
.asciz "LINK LOSS DISCONNECT!"
|
|
||||||
|
|
||||||
.align 2
|
|
||||||
gUnknown_843EE10:: @ 843EE10
|
|
||||||
.asciz "LINK LOSS RECOVERY NOW"
|
|
||||||
|
|
||||||
.align 2
|
|
||||||
gUnknown_843EE28:: @ 843EE28
|
|
||||||
.asciz " "
|
|
||||||
|
|
||||||
gUnknown_843EE47:: @ 843EE47
|
|
||||||
.asciz " "
|
|
||||||
|
|
||||||
gUnknown_843EE57:: @ 843EE57
|
|
||||||
.asciz " "
|
|
||||||
.asciz " "
|
|
||||||
.asciz "*"
|
|
||||||
|
|
||||||
.align 2
|
|
||||||
gUnknown_843EE64:: @ 843EE64
|
|
||||||
.asciz "NOWSLOT"
|
|
||||||
.align 2
|
|
||||||
.asciz " "
|
|
||||||
.align 2
|
|
||||||
.asciz "CLOCK DRIFT"
|
|
||||||
.align 2
|
|
||||||
.asciz "BUSY SEND "
|
|
||||||
.align 2
|
|
||||||
.asciz "CMD REJECT "
|
|
||||||
.align 2
|
|
||||||
.asciz "CLOCK SLAVE"
|
|
||||||
.align 2
|
|
||||||
.asciz "CHILD "
|
|
||||||
.align 2
|
|
||||||
.asciz "PARENT"
|
|
||||||
.align 2
|
|
||||||
.asciz "SEARCH"
|
|
||||||
|
|||||||
@@ -65,6 +65,19 @@
|
|||||||
#define LINKCMD_SEND_HELD_KEYS_2 0xCAFE
|
#define LINKCMD_SEND_HELD_KEYS_2 0xCAFE
|
||||||
#define LINKCMD_0xCCCC 0xCCCC
|
#define LINKCMD_0xCCCC 0xCCCC
|
||||||
|
|
||||||
|
#define LINKTYPE_0x1111 0x1111 // trade
|
||||||
|
#define LINKTYPE_0x1122 0x1122 // trade
|
||||||
|
#define LINKTYPE_0x1133 0x1133 // trade
|
||||||
|
#define LINKTYPE_0x1144 0x1144 // trade
|
||||||
|
#define LINKTYPE_BATTLE 0x2211
|
||||||
|
#define LINKTYPE_0x2222 0x2222 // unused battle?
|
||||||
|
#define LINKTYPE_SINGLE_BATTLE 0x2233
|
||||||
|
#define LINKTYPE_DOUBLE_BATTLE 0x2244
|
||||||
|
#define LINKTYPE_MULTI_BATTLE 0x2255
|
||||||
|
#define LINKTYPE_BATTLE_TOWER_50 0x2266
|
||||||
|
#define LINKTYPE_BATTLE_TOWER_OPEN 0x2277
|
||||||
|
#define LINKTYPE_BATTLE_TOWER 0x2288
|
||||||
|
|
||||||
#define MASTER_HANDSHAKE 0x8FFF
|
#define MASTER_HANDSHAKE 0x8FFF
|
||||||
#define SLAVE_HANDSHAKE 0xB9A0
|
#define SLAVE_HANDSHAKE 0xB9A0
|
||||||
|
|
||||||
@@ -262,5 +275,8 @@ bool8 IsWirelessAdapterConnected(void);
|
|||||||
bool8 sub_800A474(u8 a0);
|
bool8 sub_800A474(u8 a0);
|
||||||
void LinkVSync(void);
|
void LinkVSync(void);
|
||||||
bool8 HandleLinkConnection(void);
|
bool8 HandleLinkConnection(void);
|
||||||
|
void sub_800B0B4(void);
|
||||||
|
void sub_800B110(u32 who);
|
||||||
|
void sub_800ACBC(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, u8 unk_06);
|
||||||
|
|
||||||
#endif // GUARD_LINK_H
|
#endif // GUARD_LINK_H
|
||||||
|
|||||||
+8
-1
@@ -109,7 +109,7 @@ extern struct UnkRfuStruct_1 gUnknown_3005E10;
|
|||||||
|
|
||||||
void AddTextPrinterToWindow1(const u8 *str);
|
void AddTextPrinterToWindow1(const u8 *str);
|
||||||
bool32 MG_PrintTextOnWindow1AndWaitButton(u8 * cmdPtr, const u8 * src);
|
bool32 MG_PrintTextOnWindow1AndWaitButton(u8 * cmdPtr, const u8 * src);
|
||||||
void sub_80FA190(void);
|
void LinkRfu_FatalError(void);
|
||||||
void MG_DrawCheckerboardPattern(void);
|
void MG_DrawCheckerboardPattern(void);
|
||||||
void task_add_05_task_del_08FA224_when_no_RfuFunc(void);
|
void task_add_05_task_del_08FA224_when_no_RfuFunc(void);
|
||||||
bool8 IsLinkRfuTaskFinished(void);
|
bool8 IsLinkRfuTaskFinished(void);
|
||||||
@@ -167,6 +167,13 @@ bool8 sub_80FC888(struct UnkRfuStruct_2_Sub_c1c *q1, u8 *q2);
|
|||||||
bool8 sub_80FC828(struct UnkRfuStruct_2_Sub_c1c *q1, const u8 *q2);
|
bool8 sub_80FC828(struct UnkRfuStruct_2_Sub_c1c *q1, const u8 *q2);
|
||||||
bool8 sub_80FC6E8(struct UnkRfuStruct_2_Sub_124 * a0, u8 *a1);
|
bool8 sub_80FC6E8(struct UnkRfuStruct_2_Sub_124 * a0, u8 *a1);
|
||||||
bool8 sub_80FC63C(struct UnkRfuStruct_2_Sub_9e8 * a0, u8 *a1);
|
bool8 sub_80FC63C(struct UnkRfuStruct_2_Sub_9e8 * a0, u8 *a1);
|
||||||
|
u8 sub_80FEA34(u8 a0, u16 a1);
|
||||||
|
void sub_80FDA30(u32 a0);
|
||||||
|
void sub_80FCB54(struct UnkLinkRfuStruct_02022B14 *data, u8 r9, bool32 r2, s32 r3);
|
||||||
|
void rfu_syncVBlank_(void);
|
||||||
|
s32 sub_80FD430(void (*func1)(u8, u8), void (*func2)(u16));
|
||||||
|
void sub_80FEB3C(void);
|
||||||
|
void sub_80FAFE0(u8 a0);
|
||||||
|
|
||||||
#include "mevent_server.h"
|
#include "mevent_server.h"
|
||||||
extern const struct mevent_server_cmd gMEventSrvScript_OtherTrainerCanceled[];
|
extern const struct mevent_server_cmd gMEventSrvScript_OtherTrainerCanceled[];
|
||||||
|
|||||||
@@ -6,5 +6,6 @@ extern bool8 gGiftIsFromEReader;
|
|||||||
void MainCB_FreeAllBuffersAndReturnToInitTitleScreen(void);
|
void MainCB_FreeAllBuffersAndReturnToInitTitleScreen(void);
|
||||||
void PrintMysteryGiftOrEReaderTopMenu(bool8, bool32);
|
void PrintMysteryGiftOrEReaderTopMenu(bool8, bool32);
|
||||||
void c2_mystery_gift(void);
|
void c2_mystery_gift(void);
|
||||||
|
void c2_mystery_gift_e_reader_run(void);
|
||||||
|
|
||||||
#endif //GUARD_MYSTERY_GIFT_MENU_H
|
#endif //GUARD_MYSTERY_GIFT_MENU_H
|
||||||
|
|||||||
@@ -226,7 +226,6 @@ SECTIONS {
|
|||||||
src/save_menu_util.o(.text);
|
src/save_menu_util.o(.text);
|
||||||
src/map_preview_screen.o(.text);
|
src/map_preview_screen.o(.text);
|
||||||
src/link_rfu_2.o(.text);
|
src/link_rfu_2.o(.text);
|
||||||
asm/link_rfu_2.o(.text);
|
|
||||||
asm/link_rfu_4.o(.text);
|
asm/link_rfu_4.o(.text);
|
||||||
src/link_rfu.o(.text);
|
src/link_rfu.o(.text);
|
||||||
asm/easy_chat_2.o(.text);
|
asm/easy_chat_2.o(.text);
|
||||||
@@ -512,7 +511,6 @@ SECTIONS {
|
|||||||
data/box_party_pokemon_dropdown.o(.rodata);
|
data/box_party_pokemon_dropdown.o(.rodata);
|
||||||
src/map_preview_screen.o(.rodata);
|
src/map_preview_screen.o(.rodata);
|
||||||
src/link_rfu_2.o(.rodata);
|
src/link_rfu_2.o(.rodata);
|
||||||
data/link_rfu_2.o(.rodata);
|
|
||||||
data/link_rfu_4.o(.rodata);
|
data/link_rfu_4.o(.rodata);
|
||||||
data/link_rfu.o(.rodata);
|
data/link_rfu.o(.rodata);
|
||||||
src/pokedex_screen.o(.rodata);
|
src/pokedex_screen.o(.rodata);
|
||||||
|
|||||||
+1666
-79
File diff suppressed because it is too large
Load Diff
@@ -96,12 +96,12 @@ static bool32 mevent_receive_func(struct mevent_srv_sub * svr)
|
|||||||
svr->recvCRC = header.crc;
|
svr->recvCRC = header.crc;
|
||||||
if (svr->recvSize > ME_SEND_BUF_SIZE)
|
if (svr->recvSize > ME_SEND_BUF_SIZE)
|
||||||
{
|
{
|
||||||
sub_80FA190();
|
LinkRfu_FatalError();
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
else if (svr->recvIdent != header.ident)
|
else if (svr->recvIdent != header.ident)
|
||||||
{
|
{
|
||||||
sub_80FA190();
|
LinkRfu_FatalError();
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -133,7 +133,7 @@ static bool32 mevent_receive_func(struct mevent_srv_sub * svr)
|
|||||||
case 2:
|
case 2:
|
||||||
if (CalcCRC16WithTable(svr->recvBfr, svr->recvSize) != svr->recvCRC)
|
if (CalcCRC16WithTable(svr->recvBfr, svr->recvSize) != svr->recvCRC)
|
||||||
{
|
{
|
||||||
sub_80FA190();
|
LinkRfu_FatalError();
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -192,7 +192,7 @@ static bool32 mevent_send_func(struct mevent_srv_sub * svr)
|
|||||||
if (IsLinkTaskFinished())
|
if (IsLinkTaskFinished())
|
||||||
{
|
{
|
||||||
if (CalcCRC16WithTable(svr->sendBfr, svr->sendSize) != svr->sendCRC)
|
if (CalcCRC16WithTable(svr->sendBfr, svr->sendSize) != svr->sendCRC)
|
||||||
sub_80FA190();
|
LinkRfu_FatalError();
|
||||||
else
|
else
|
||||||
++svr->seqno;
|
++svr->seqno;
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-10
@@ -75,17 +75,8 @@ gUnknown_3005078: @ 3005078
|
|||||||
gUnknown_3005430: @ 3005430
|
gUnknown_3005430: @ 3005430
|
||||||
.space 0x10
|
.space 0x10
|
||||||
|
|
||||||
gUnknown_3005440: @ 3005440
|
|
||||||
.space 0x10
|
|
||||||
|
|
||||||
@ This name is necessary to match assert statements in link_rfu_2
|
|
||||||
Rfu: @ 3005450
|
|
||||||
.space 0x9AC
|
|
||||||
|
|
||||||
.align 4
|
.align 4
|
||||||
gUnknown_3005E00: @ 3005E00
|
.include "link_rfu_2.o"
|
||||||
.space 0x10
|
|
||||||
|
|
||||||
.align 4
|
.align 4
|
||||||
.include "link_rfu.o"
|
.include "link_rfu.o"
|
||||||
.align 4
|
.align 4
|
||||||
|
|||||||
+2
-6
@@ -330,14 +330,10 @@ gUnknown_203ABE8: @ 203ABE8
|
|||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
.include "src/map_preview_screen.o"
|
.include "src/map_preview_screen.o"
|
||||||
|
.align 2
|
||||||
|
.include "src/link_rfu_2.o"
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
gUnknown_203ABF0: @ 203ABF0
|
|
||||||
.space 0x18
|
|
||||||
|
|
||||||
gUnknown_203AC08: @ 203AC08
|
|
||||||
.space 0xDC
|
|
||||||
|
|
||||||
gUnknown_203ACE4: @ 203ACE4
|
gUnknown_203ACE4: @ 203ACE4
|
||||||
.space 0x4
|
.space 0x4
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user