From fb06e4a3c94ae17b73df6d3aecf2d18213aa183e Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Wed, 26 Jun 2019 08:13:38 -0400 Subject: Modernize code Can compile with arm-none-eabi-gcc 8.3.0 gbafix correctly handles ELF input --- src/link_rfu.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/link_rfu.c') diff --git a/src/link_rfu.c b/src/link_rfu.c index 9732e9889..ae36493a2 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -24,10 +24,10 @@ extern u16 gHeldKeyCodeToSend; struct UnkRfuStruct_1 gUnknown_03004140; struct UnkRfuStruct_2 gUnknown_03005000; -IWRAM_DATA u8 gUnknown_03000D74; -ALIGNED(4) IWRAM_DATA u8 gUnknown_03000D78[8]; -IWRAM_DATA u8 gUnknown_03000D80[16]; -IWRAM_DATA u16 gUnknown_03000D90[8]; +BSS_DATA u8 gUnknown_03000D74; +ALIGNED(4) BSS_DATA u8 gUnknown_03000D78[8]; +BSS_DATA u8 gUnknown_03000D80[16]; +BSS_DATA u16 gUnknown_03000D90[8]; EWRAM_DATA u8 gWirelessStatusIndicatorSpriteId = 0; EWRAM_DATA ALIGNED(4) struct UnkLinkRfuStruct_02022B14 gUnknown_02022B14 = {}; @@ -2021,6 +2021,8 @@ void sub_800DBF8(u8 *q1, u8 mode) } } +// File boundary here maybe? + void PkmnStrToASCII(u8 *q1, const u8 *q2) { s32 i; @@ -5191,4 +5193,3 @@ u32 GetRfuRecvQueueLength(void) { return gUnknown_03005000.unk_124.unk_8c2; } - -- cgit v1.2.3 From 42462b673013d6a14da33864cbb99b528e1d4a6f Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 30 Jun 2019 21:07:25 +0200 Subject: Match sub_800EFB0 --- src/link_rfu.c | 57 ++++----------------------------------------------------- 1 file changed, 4 insertions(+), 53 deletions(-) (limited to 'src/link_rfu.c') diff --git a/src/link_rfu.c b/src/link_rfu.c index 9732e9889..3728b1219 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -2914,70 +2914,21 @@ void sub_800EF88(u8 a0) } } -#ifdef NONMATCHING -// FIXME: gUnknown_03005000.unk_c87 should be in r5 -// FIXME: gRecvCmds should be in r6 and r7 void sub_800EFB0(void) { s32 i, j; + for (i = 0; i < 5; i++) { + struct UnkRfuStruct_2 *ptr = &gUnknown_03005000; for (j = 0; j < 7; j++) { - gUnknown_03005000.unk_c87[i][j][1] = gRecvCmds[i][j] >> 8; - gUnknown_03005000.unk_c87[i][j][0] = gRecvCmds[i][j]; + ptr->unk_c87[i][j][1] = gRecvCmds[i][j] >> 8; + ptr->unk_c87[i][j][0] = gRecvCmds[i][j]; } } CpuFill16(0, gRecvCmds, sizeof gRecvCmds); } -#else -NAKED void sub_800EFB0(void) -{ - asm_unified("\tpush {r4-r7,lr}\n" - "\tsub sp, 0x4\n" - "\tmovs r2, 0\n" - "\tldr r7, =gRecvCmds\n" - "\tldr r0, =gUnknown_03005000\n" - "\tadds r6, r7, 0\n" - "\tldr r1, =0x00000c87\n" - "\tadds r5, r0, r1\n" - "_0800EFC0:\n" - "\tmovs r3, 0\n" - "\tlsls r0, r2, 3\n" - "\tlsls r1, r2, 4\n" - "\tadds r4, r2, 0x1\n" - "\tsubs r0, r2\n" - "\tlsls r0, 1\n" - "\tadds r2, r0, r5\n" - "\tadds r1, r6\n" - "_0800EFD0:\n" - "\tldrh r0, [r1]\n" - "\tlsrs r0, 8\n" - "\tstrb r0, [r2, 0x1]\n" - "\tldrh r0, [r1]\n" - "\tstrb r0, [r2]\n" - "\tadds r2, 0x2\n" - "\tadds r1, 0x2\n" - "\tadds r3, 0x1\n" - "\tcmp r3, 0x6\n" - "\tble _0800EFD0\n" - "\tadds r2, r4, 0\n" - "\tcmp r2, 0x4\n" - "\tble _0800EFC0\n" - "\tmovs r0, 0\n" - "\tmov r1, sp\n" - "\tstrh r0, [r1]\n" - "\tldr r2, =0x01000028\n" - "\tmov r0, sp\n" - "\tadds r1, r7, 0\n" - "\tbl CpuSet\n" - "\tadd sp, 0x4\n" - "\tpop {r4-r7}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.pool"); -} -#endif void sub_800F014(void) { -- cgit v1.2.3 From 02cadbee60c7b1a4806f790416a21619391fef15 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 1 Aug 2019 19:01:50 +0200 Subject: MORE DODRIO BERRY PICKINGgit status! --- src/link_rfu.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/link_rfu.c') diff --git a/src/link_rfu.c b/src/link_rfu.c index f7ffa4aca..1f3ae4f3c 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -2415,7 +2415,7 @@ void RecordMixTrainerNames(void) } } } - + // Save the connected trainers first, at the top of the list. nextSpace = 0; for (i = 0; i < GetLinkPlayerCount(); i++) @@ -2446,7 +2446,7 @@ void RecordMixTrainerNames(void) } } } - + // Finalize the new list, and clean up. memcpy(gSaveBlock1Ptr->trainerNameRecords, newRecords, 20 * sizeof(struct TrainerNameRecord)); free(newRecords); @@ -3495,7 +3495,7 @@ void sub_800FD14(u16 command) } } -void sub_800FE50(u16 *a0) +void sub_800FE50(void *a0) { if (gSendCmd[0] == 0 && !sub_8011A80()) { -- cgit v1.2.3